github.com/metasources/buildx@v0.0.0-20230418141019-7aa1459cedea/.golangci.yaml (about)

     1  issues:
     2    max-same-issues: 25
     3  
     4    # TODO: enable this when we have coverage on docstring comments
     5  #  # The list of ids of default excludes to include or disable.
     6  #  include:
     7  #    - EXC0002 # disable excluding of issues about comments from golint
     8  
     9  linters:
    10    # inverted configuration with `enable-all` and `disable` is not scalable during updates of golangci-lint
    11    disable-all: true
    12    enable:
    13      - asciicheck
    14      - bodyclose
    15      - depguard
    16      - dogsled
    17      - dupl
    18      - errcheck
    19      - exportloopref
    20      - funlen
    21      - gocognit
    22      - goconst
    23      - gocritic
    24      - gocyclo
    25      - gofmt
    26      - goimports
    27      - goprintffuncname
    28      - gosec
    29      - gosimple
    30      - govet
    31      - ineffassign
    32      - misspell
    33      - nakedret
    34      - revive
    35      - staticcheck
    36      - stylecheck
    37      - typecheck
    38      - unconvert
    39      - unparam
    40      - unused
    41      - whitespace
    42  
    43  linters-settings:
    44    funlen:
    45      # Checks the number of lines in a function.
    46      # If lower than 0, disable the check.
    47      # Default: 60
    48      lines: 70
    49      # Checks the number of statements in a function.
    50      # If lower than 0, disable the check.
    51      # Default: 40
    52      statements: 50
    53  output:
    54    uniq-by-line: false
    55  run:
    56    timeout: 10m
    57  
    58  # do not enable...
    59  #    - deadcode          # The owner seems to have abandoned the linter. Replaced by "unused".
    60  #    - goprintffuncname  # does not catch all cases and there are exceptions
    61  #    - nakedret          # does not catch all cases and should not fail a build
    62  #    - gochecknoglobals
    63  #    - gochecknoinits    # this is too aggressive
    64  #    - rowserrcheck disabled per generics https://github.com/golangci/golangci-lint/issues/2649
    65  #    - godot
    66  #    - godox
    67  #    - goerr113
    68  #    - goimports   # we're using gosimports now instead to account for extra whitespaces (see https://github.com/golang/go/issues/20818)
    69  #    - golint      # deprecated
    70  #    - gomnd       # this is too aggressive
    71  #    - interfacer  # this is a good idea, but is no longer supported and is prone to false positives
    72  #    - lll         # without a way to specify per-line exception cases, this is not usable
    73  #    - maligned    # this is an excellent linter, but tricky to optimize and we are not sensitive to memory layout optimizations
    74  #    - nestif
    75  #    - nolintlint   # as of go1.19 this conflicts with the behavior of gofmt, which is a deal-breaker (lint-fix will still fail when running lint)
    76  #    - prealloc     # following this rule isn't consistently a good idea, as it sometimes forces unnecessary allocations that result in less idiomatic code
    77  #    - rowserrcheck # not in a repo with sql, so this is not useful
    78  #    - scopelint    # deprecated
    79  #    - structcheck  # The owner seems to have abandoned the linter. Replaced by "unused".
    80  #    - testpackage
    81  #    - varcheck     # The owner seems to have abandoned the linter. Replaced by "unused".
    82  #    - wsl          # this doens't have an auto-fixer yet and is pretty noisy (https://github.com/bombsimon/wsl/issues/90)