Skip to content
Snippets Groups Projects
.golangci.yml 9.13 KiB
# See https://github.com/golangci/golangci-lint#config-file
run:
  issues-exit-code: 1 #Default
  tests: true #Default

linters:
  # Disable everything by default so upgrades to not include new "default
  # enabled" linters.
  disable-all: true
  # Specifically enable linters we want to use.
  enable:
    - deadcode
    - depguard
    - errcheck
    - godot
    - gofmt
    - goimports
    - gosimple
    - govet
    - ineffassign
    - misspell
    - revive
    - staticcheck
    - structcheck
    - typecheck
    - unused
    - varcheck

issues:
  # Maximum issues count per one linter.
  # Set to 0 to disable.
  # Default: 50
  # Setting to unlimited so the linter only is run once to debug all issues.
  max-issues-per-linter: 0
  # Maximum count of issues with the same text.
  # Set to 0 to disable.
  # Default: 3
  # Setting to unlimited so the linter only is run once to debug all issues.
  max-same-issues: 0
  # Excluding configuration per-path, per-linter, per-text and per-source.
  exclude-rules:
    # TODO: Having appropriate comments for exported objects helps development,
    # even for objects in internal packages. Appropriate comments for all
    # exported objects should be added and this exclusion removed.
    - path: '.*internal/.*'
      text: "exported (method|function|type|const) (.+) should have comment or be unexported"
      linters:
        - revive
    # Yes, they are, but it's okay in a test.
    - path: _test\.go
      text: "exported func.*returns unexported type.*which can be annoying to use"
      linters:
        - revive
    # Example test functions should be treated like main.
    - path: example.*_test\.go
      text: "calls to (.+) only in main[(][)] or init[(][)] functions"
      linters:
        - revive
  include:
    # revive exported should have comment or be unexported.
    - EXC0012
    # revive package comment should be of the form ...
    - EXC0013

linters-settings:
  depguard:
    # Check the list against standard lib.
    # Default: false
    include-go-root: true
    # A list of packages for the list type specified.