run:
  skip-dirs:
    - helpers/
  go: 1.18

linters-settings:
  gocyclo:
    min-complexity: 22
  cyclop:
    max-complexity: 22
    skip-tests: true
  staticcheck:
    go: "1.18"
    # https://staticcheck.io/docs/options#checks
    checks: ["all","-SA1019"]
  funlen:
    lines: -1
    statements: 100

linters:
  enable-all: true
  disable:
  - bodyclose
  - contextcheck
  - durationcheck
  - dupl
  - exhaustruct
  - exhaustivestruct
  - forbidigo
  - gochecknoglobals
  - gochecknoinits
  - gocognit
  - goconst
  - gocritic
  - gocyclo
  - godox
  - goerr113
  - golint
  - gomnd
  - gosec
  - gosimple
  - govet
  - interfacer
  - ireturn
  - lll
  - maintidx
  - maligned
  - nilerr
  - noctx
  - revive
  - rowserrcheck
  - scopelint
  - sqlclosecheck
  - staticcheck
  - structcheck
  - stylecheck
  - tagliatelle
  - testpackage
  - tparallel
  - typecheck
  - unparam
  - unused
  - varnamelen
  - wastedassign
  - wrapcheck
  - wsl

issues:
  exclude-use-default: false # disable filtering of defaults for better zero-issue policy
  max-per-linter: 0 # disable limit; report all issues of a linter
  max-same-issues: 0 # disable limit; report all issues of the same issue
