# GolangCI-Lint Configuration
# See https://golangci-lint.run/usage/configuration/

run:
  timeout: 5m
  tests: true
  skip-dirs:
    - vendor
    - bin
    - .git

linters-settings:
  govet:
    check-shadowing: true
  gocyclo:
    min-complexity: 15
  dupl:
    threshold: 100
  goconst:
    min-len: 2
    min-occurrences: 2
  misspell:
    locale: US
  lll:
    line-length: 120
  errcheck:
    check-type-assertions: true
    check-blank: true
  funlen:
    lines: 100
    statements: 50

linters:
  enable:
    - errcheck
    - gosimple
    - govet
    - ineffassign
    - staticcheck
    - unused
    - gofmt
    - goimports
    - misspell
    - unconvert
    - goconst
    - gocyclo
    - dupl
    - funlen
    - lll

issues:
  exclude-rules:
    - path: _test.go
      linters:
        - errcheck
        - funlen
        - gocyclo
  max-issues-per-linter: 0
  max-same-issues: 0

