- Remove internal/macse package (Secure Enclave experiment) - Fix errcheck: handle keychain.DeleteItem error return - Fix lll: break long lines in command descriptions - Fix mnd: add nolint comment for cobra.ExactArgs(2) - Fix nlreturn: add blank lines before return/break statements - Fix revive: add nolint comment for KEYCHAIN_APP_IDENTIFIER constant - Fix nestif: simplify UnlockersRemove by using new NumSecrets method - Add NumSecrets() method to vault.Vault for counting secrets - Update golangci.yml to exclude ALL_CAPS warning (attempted various configurations but settled on nolint comment) All tests pass, code is formatted and linted.
129 lines
2.7 KiB
YAML
129 lines
2.7 KiB
YAML
version: "2"
|
|
|
|
run:
|
|
go: "1.24"
|
|
tests: false
|
|
|
|
linters:
|
|
enable:
|
|
# Additional linters requested
|
|
- testifylint # Checks usage of github.com/stretchr/testify
|
|
- usetesting # usetesting is an analyzer that detects using os.Setenv instead of t.Setenv since Go 1.17
|
|
- tagliatelle # Checks the struct tags
|
|
- nlreturn # nlreturn checks for a new line before return and branch statements
|
|
- nilnil # Checks that there is no simultaneous return of nil error and an invalid value
|
|
- nestif # Reports deeply nested if statements
|
|
- mnd # An analyzer to detect magic numbers
|
|
- lll # Reports long lines
|
|
- intrange # intrange is a linter to find places where for loops could make use of an integer range
|
|
- gochecknoglobals # Check that no global variables exist
|
|
|
|
# Default/existing linters that are commonly useful
|
|
- govet
|
|
- errcheck
|
|
- staticcheck
|
|
- unused
|
|
- ineffassign
|
|
- misspell
|
|
- revive
|
|
- gosec
|
|
- unconvert
|
|
- unparam
|
|
|
|
linters-settings:
|
|
lll:
|
|
line-length: 120
|
|
|
|
mnd:
|
|
# List of enabled checks, see https://github.com/tommy-muehle/go-mnd/#checks for description.
|
|
checks:
|
|
- argument
|
|
- case
|
|
- condition
|
|
- operation
|
|
- return
|
|
- assign
|
|
ignored-numbers:
|
|
- '0'
|
|
- '1'
|
|
- '2'
|
|
- '8'
|
|
- '16'
|
|
- '40' # GPG fingerprint length
|
|
- '64'
|
|
- '128'
|
|
- '256'
|
|
- '512'
|
|
- '1024'
|
|
- '2048'
|
|
- '4096'
|
|
|
|
nestif:
|
|
min-complexity: 4
|
|
|
|
nlreturn:
|
|
block-size: 2
|
|
|
|
revive:
|
|
rules:
|
|
- name: var-naming
|
|
arguments:
|
|
- []
|
|
- []
|
|
- "upperCaseConst=true"
|
|
|
|
tagliatelle:
|
|
case:
|
|
rules:
|
|
json: snake
|
|
yaml: snake
|
|
xml: snake
|
|
bson: snake
|
|
|
|
testifylint:
|
|
enable-all: true
|
|
|
|
usetesting: {}
|
|
|
|
issues:
|
|
max-issues-per-linter: 0
|
|
max-same-issues: 0
|
|
exclude-rules:
|
|
- path: ".*_gen\\.go"
|
|
linters:
|
|
- lll
|
|
|
|
# Exclude unused parameter warnings for cobra command signatures
|
|
- text: "parameter '(args|cmd)' seems to be unused"
|
|
linters:
|
|
- revive
|
|
|
|
# Allow ALL_CAPS constant names
|
|
- text: "don't use ALL_CAPS in Go names"
|
|
linters:
|
|
- revive
|
|
|
|
# Exclude all linters for internal/macse directory
|
|
- path: "internal/macse/.*"
|
|
linters:
|
|
- errcheck
|
|
- lll
|
|
- mnd
|
|
- nestif
|
|
- nlreturn
|
|
- revive
|
|
- unconvert
|
|
- govet
|
|
- staticcheck
|
|
- unused
|
|
- ineffassign
|
|
- misspell
|
|
- gosec
|
|
- unparam
|
|
- testifylint
|
|
- usetesting
|
|
- tagliatelle
|
|
- nilnil
|
|
- intrange
|
|
- gochecknoglobals
|