🏡 index : quine-global/quintodrome.git

version: "2"
run:
  build-tags:
    - netgo
    - sqlite_fts5
linters:
  enable:
    - asasalint
    - asciicheck
    - bidichk
    - bodyclose
    - containedctx
    - copyloopvar
    - dogsled
    - durationcheck
    - errorlint
    - forbidigo
    - gocritic
    - gocyclo
    - goprintffuncname
    - gosec
    - misspell
    - nakedret
    - nilerr
    - rowserrcheck
    - unconvert
    - whitespace
  disable:
    - staticcheck
  settings:
    errcheck:
      exclude-functions:
        - (*github.com/zeebo/xxh3.Hasher).Write
    gocritic:
      disable-all: true
      enabled-checks:
        - deprecatedComment
    gosec:
      excludes:
        - G501
        - G401
        - G505
        - G115
    forbidigo:
      forbid:
        - pattern: 'tx\.Exec$'
          msg: "use tx.ExecContext(ctx, ...) in migrations to propagate context"
        - pattern: 'tx\.Query$'
          msg: "use tx.QueryContext(ctx, ...) in migrations to propagate context"
        - pattern: 'tx\.QueryRow$'
          msg: "use tx.QueryRowContext(ctx, ...) in migrations to propagate context"
    govet:
      enable:
        - nilness
  exclusions:
    rules:
      - linters:
          - gosec
        path: _test\.go
        text: "G703"
      - path: _test\.go
        linters:
          - containedctx
      - path-except: 'db/migrations/'
        linters:
          - forbidigo
    generated: lax
    presets:
      - comments
      - common-false-positives
      - legacy
      - std-error-handling
    paths:
      - third_party$
      - builtin$
      - examples$
      - node_modules
      - _gen\.go$
      - .worktrees
formatters:
  exclusions:
    generated: lax
    paths:
      - third_party$
      - builtin$
      - examples$
      - node_modules