mirror of
https://github.com/lightningnetwork/lnd.git
synced 2024-11-19 01:43:16 +01:00
da75619245
A new linter rule was added in the latest version that wants all fields in a struct to be declared, even if the default value is used. Because that would mean a large diff for us, we disable the rule for now.
173 lines
3.7 KiB
YAML
173 lines
3.7 KiB
YAML
run:
|
|
# timeout for analysis
|
|
deadline: 10m
|
|
|
|
# Skip autogenerated files for mobile and gRPC.
|
|
skip-files:
|
|
- "mobile\\/.*generated\\.go"
|
|
- "\\.pb\\.go$"
|
|
- "\\.pb\\.gw\\.go$"
|
|
|
|
skip-dirs:
|
|
- channeldb/migration_01_to_11
|
|
- channeldb/migration/lnwire21
|
|
|
|
build-tags:
|
|
- autopilotrpc
|
|
- chainrpc
|
|
- dev
|
|
- invoicesrpc
|
|
- neutrinorpc
|
|
- peersrpc
|
|
- signrpc
|
|
- walletrpc
|
|
- watchtowerrpc
|
|
- kvdb_etcd
|
|
- kvdb_postgres
|
|
|
|
linters-settings:
|
|
govet:
|
|
# Don't report about shadowed variables
|
|
check-shadowing: false
|
|
gofmt:
|
|
# simplify code: gofmt with `-s` option, true by default
|
|
simplify: true
|
|
tagliatelle:
|
|
case:
|
|
rules:
|
|
json: snake
|
|
whitespace:
|
|
multi-func: true
|
|
multi-if: true
|
|
gosec:
|
|
excludes:
|
|
- G402 # Look for bad TLS connection settings.
|
|
- G306 # Poor file permissions used when writing to a new file.
|
|
staticcheck:
|
|
go: "1.18"
|
|
checks: ["-SA1019"]
|
|
|
|
linters:
|
|
enable-all: true
|
|
disable:
|
|
# Global variables are used in many places throughout the code base.
|
|
- gochecknoglobals
|
|
|
|
# Some lines are over 80 characters on purpose and we don't want to make them
|
|
# even longer by marking them as 'nolint'.
|
|
- lll
|
|
|
|
# We want to allow short variable names.
|
|
- varnamelen
|
|
|
|
# We want to allow TODOs.
|
|
- godox
|
|
|
|
# We have long functions, especially in tests. Moving or renaming those would
|
|
# trigger funlen problems that we may not want to solve at that time.
|
|
- funlen
|
|
|
|
# Disable for now as we haven't yet tuned the sensitivity to our codebase
|
|
# yet. Enabling by default for example, would also force new contributors to
|
|
# potentially extensively refactor code, when they want to smaller change to
|
|
# land.
|
|
- gocyclo
|
|
- gocognit
|
|
- cyclop
|
|
|
|
# Instances of table driven tests that don't pre-allocate shouldn't trigger
|
|
# the linter.
|
|
- prealloc
|
|
|
|
# Init functions are used by loggers throughout the codebase.
|
|
- gochecknoinits
|
|
|
|
# Causes stack overflow, see https://github.com/polyfloyd/go-errorlint/issues/19.
|
|
- errorlint
|
|
|
|
# Deprecated linters. See https://golangci-lint.run/usage/linters/.
|
|
- interfacer
|
|
- golint
|
|
- maligned
|
|
- scopelint
|
|
|
|
# New linters that need a code adjustment first.
|
|
- wrapcheck
|
|
- nolintlint
|
|
- paralleltest
|
|
- tparallel
|
|
- testpackage
|
|
- gofumpt
|
|
- gomoddirectives
|
|
- ireturn
|
|
- maintidx
|
|
- nlreturn
|
|
- dogsled
|
|
- gci
|
|
- containedctx
|
|
- contextcheck
|
|
- errname
|
|
- exhaustivestruct
|
|
- exhaustruct
|
|
- goerr113
|
|
- gomnd
|
|
- ifshort
|
|
- noctx
|
|
- nestif
|
|
- wsl
|
|
- exhaustive
|
|
- forcetypeassert
|
|
- nilerr
|
|
- nilnil
|
|
- stylecheck
|
|
- thelper
|
|
|
|
issues:
|
|
# Only show newly introduced problems.
|
|
new-from-rev: 01f696afce2f9c0d4ed854edefa3846891d01d8a
|
|
|
|
exclude-rules:
|
|
# Exclude gosec from running for tests so that tests with weak randomness
|
|
# (math/rand) will pass the linter.
|
|
- path: _test\.go
|
|
linters:
|
|
- gosec
|
|
- path: test*
|
|
linters:
|
|
- gosec
|
|
|
|
# Allow duplicated code and fmt.Printf() in DB migrations.
|
|
- path: channeldb/migration*
|
|
linters:
|
|
- dupl
|
|
- forbidigo
|
|
- godot
|
|
|
|
# Allow duplicated code and fmt.Printf() in DB migration tests.
|
|
- path: channeldb/migtest
|
|
linters:
|
|
- dupl
|
|
- forbidigo
|
|
- godot
|
|
|
|
# Allow fmt.Printf() in lncli.
|
|
- path: cmd/lncli/*
|
|
linters:
|
|
- forbidigo
|
|
|
|
# Allow fmt.Printf() in config parsing.
|
|
- path: config\.go
|
|
linters:
|
|
- forbidigo
|
|
- path: lnd\.go
|
|
linters:
|
|
- forbidigo
|
|
|
|
# Fix false positives because of build flags in itest directory.
|
|
- path: lntest/itest/.*
|
|
linters:
|
|
- unused
|
|
- deadcode
|
|
- unparam
|
|
- govet
|