linters:
  # Disable all linters, the defaults don't pass on our code yet
  disable-all: true

  # Enable these for now
  enable:
    - depguard
    - govet
    - errorlint
    - exportloopref
linters-settings:
  depguard:
    list-type: denylist
    include-go-root: true
    packages:
      - github.com/sirupsen/logrus
      - golang.org/x/exp
    packages-with-error-message:
      - github.com/sirupsen/logrus: 'logging is allowed only by github.com/rs/zerolog'
    ignore-file-rules:
      - '**/*_test.go'
      - '**/base.go'
      - '**/base_tx.go'

# errorlint is causing a typecheck error for some reason. The go compiler will report these
# anyway, so ignore them from the linter
issues:
  exclude-rules:
    - path: ./
      linters:
        - typecheck
