# This file contains all available configuration options # with their default values (in comments). # # This file is not a configuration example, # it contains the exhaustive configuration with explanations of the options. issues: # Which files to exclude: they will be analyzed, but issues from them won't be reported. # There is no need to include all autogenerated files, # we confidently recognize autogenerated files. # If it's not, please let us know. # "/" will be replaced by current OS file path separator to properly work on Windows. # Default: [] exclude-files: - ".*_ssz\\.go$" # Options for analysis running. run: # The default concurrency value is the number of available CPU. # concurrency: 4 # Timeout for analysis, e.g. 30s, 5m. # Default: 1m timeout: 10m # Exit code when at least one issue was found. # Default: 1 # issues-exit-code: 2 # Include test files or not. # Default: true tests: false # List of build tags, all linters use it. # Default: []. # build-tags: # - mytag # Which dirs to skip: issues from them won't be reported. # Can use regexp here: `generated.*`, regexp is applied on full path. # Default value is empty list, # but default dirs are skipped independently of this option's value (see skip-dirs-use-default). # "/" will be replaced by current OS file path separator to properly work on Windows. # skip-dirs: # - autogenerated_by_my_lib # Enables skipping of directories: # - vendor$, third_party$, testdata$, examples$, Godeps$, builtin$ # Default: true # skip-dirs-use-default: false # If set we pass it to "go list -mod={option}". From "go help modules": # If invoked with -mod=readonly, the go command is disallowed from the implicit # automatic updating of go.mod described above. Instead, it fails when any changes # to go.mod are needed. This setting is most useful to check that go.mod does # not need updates, such as in a continuous integration and testing system. # If invoked with -mod=vendor, the go command assumes that the vendor # directory holds the correct copies of dependencies and ignores # the dependency descriptions in go.mod. # # Allowed values: readonly|vendor|mod # By default, it isn't set. modules-download-mode: readonly # Allow multiple parallel golangci-lint instances running. # If false (default) - golangci-lint acquires file lock on start. allow-parallel-runners: true # Define the Go version limit. # Mainly related to generics support since go1.18. # Default: use Go version from the go.mod file, fallback on the env var `GOVERSION`, fallback on 1.18 # go: '1.19' # output configuration options output: formats: - format: colored-line-number path: stderr # All available settings of specific linters. linters-settings: gosec: excludes: # Flags for potentially-unsafe casting of ints, but generates a lot of false positives. - 'G115' lll: line-length: 132 stylecheck: checks: [ "all", "-ST1000" ] tagliatelle: case: # use-field-name: true rules: json: snake yaml: snake linters: # Enable all available linters. # Default: false enable-all: true # Disable specific linter # https://golangci-lint.run/usage/linters/#disabled-by-default disable: - contextcheck - cyclop - depguard - dupl - err113 - errorlint - exhaustive - exhaustruct - forbidigo - forcetypeassert - funlen - gci - gochecknoglobals - gochecknoinits - gocognit - goconst - goheader - ireturn - lll - maintidx - mnd - musttag - nestif - nilnil - nlreturn - nolintlint - perfsprint - promlinter - rowserrcheck - sqlclosecheck - tenv - unparam - varnamelen - wastedassign - wrapcheck - wsl