Skip to content

Commit

Permalink
feat: golangci-lint configuration
Browse files Browse the repository at this point in the history
Oversight on my part, this was never added originally. This gives us
much stronger linter rules by default.
  • Loading branch information
jaredallard committed Aug 31, 2024
1 parent 1a85f9a commit 8766993
Showing 1 changed file with 69 additions and 0 deletions.
69 changes: 69 additions & 0 deletions templates/.golangci.yml.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# yaml-language-server: $schema=https://json.schemastore.org/golangci-lint

# Linter settings
linters-settings:
errcheck:
check-blank: true
gocyclo:
min-complexity: 25
gocritic:
enabled-tags:
- diagnostic
- experimental
- opinionated
- performance
- style
lll:
line-length: 140

linters:
# Inverted configuration with enable-all and disable is not scalable
# during updates of golangci-lint.
disable-all: true
enable:
- bodyclose
- dogsled
- errcheck
- errorlint
- exhaustive
- exportloopref
- gochecknoinits
- gocritic
- gocyclo
- gofmt
- goheader
- goimports
- gosec
- gosimple
- govet
- ineffassign
- lll
- misspell
- nakedret
- staticcheck
- revive
- typecheck
- unconvert
- unparam
- unused
- whitespace

issues:
exclude:
# We allow error shadowing
- 'declaration of "err" shadows declaration at'

# Excluding configuration per-path, per-linter, per-text and per-source
exclude-rules:
# Exclude some linters from running on tests files.
- path: _test\.go
linters:
- errcheck
- funlen
- gochecknoglobals # Globals in test files are tolerated.
- gocyclo
- goheader # Don't require license headers in test files.
- gosec

output:
sort-results: true

0 comments on commit 8766993

Please # to comment.