version: "2"
linters:
  enable:
    - contextcheck
    - copyloopvar
    - depguard
    - dupl
    - gocritic
    - gocyclo
    - gosec
    - importas
    - misspell
    - nakedret
    - nolintlint
    - prealloc
    - revive
    - unconvert
    - whitespace
  settings:
    depguard:
      rules:
        main:
          deny:
            - pkg: github.com/pkg/errors
              desc: Please use "errors" package from standard library
            - pkg: gotest.tools/v3
              desc: Please keep tests unified using only github.com/stretchr/testify
            - pkg: log
              desc: Please keep logging unified using only github.com/sirupsen/logrus
    gocritic:
      disabled-checks:
        - ifElseChain
    gocyclo:
      min-complexity: 20
    importas:
      alias:
        - pkg: github.com/sirupsen/logrus
          alias: log
        - pkg: github.com/stretchr/testify/assert
          alias: assert
  exclusions:
    generated: lax
    presets:
      - comments
      - common-false-positives
      - legacy
      - std-error-handling
    paths:
      - report
      - third_party$
      - builtin$
      - examples$
issues:
  max-issues-per-linter: 0
  max-same-issues: 0
formatters:
  enable:
    - goimports
  exclusions:
    generated: lax
    paths:
      - report
      - third_party$
      - builtin$
      - examples$
