run:
  timeout: 5m
  modules-download-mode: readonly

linters-settings:
  gofmt:
    simplify: true
  goimports:
    local-prefixes: github.com/mattermost/mattermost-starter-template
  golint:
    min-confidence: 0
  govet:
    check-shadowing: true
    enable-all: true
    disable:
      - fieldalignment
  misspell:
    locale: US
  lll:
    line-length: 150
  revive:
    enableAllRules: true
    rules:
      - name: exported
        disabled: true

linters:
  disable-all: true
  enable:
    - gofmt
    - goimports
    - deadcode
    - ineffassign
    - structcheck
    - varcheck
    - unparam
    - errcheck
    - govet
    - bodyclose
    - durationcheck
    - errorlint
    - exhaustive
    - exportloopref
    - gosec
    - makezero
    - staticcheck
    - prealloc
    - asciicheck
    - depguard
    - dogsled
    - dupl
    - goconst
    - gocritic
    - godot
    - goerr113
    - goheader
    - revive
    - nakedret
    - gomodguard
    - goprintffuncname
    - gosimple
    - lll
    - misspell
    - nolintlint
    - stylecheck
    - typecheck
    - unconvert
    - unused
    - whitespace
    - gocyclo

issues:
  exclude-rules:
    - path: server/manifest.go
      linters:
        - deadcode
        - unused
        - varcheck
    - path: server/configuration.go
      linters:
        - unused
    - path: _test\.go
      linters:
        - bodyclose
        - scopelint # https://github.com/kyoh86/scopelint/issues/4
