mirror of
https://github.com/tailscale/tailscale.git
synced 2024-12-01 22:15:51 +00:00
f85dc6f97c
This is a follow-up to #7905 that adds two more linters and fixes the corresponding findings. As per the previous PR, this only flags things that are "obviously" wrong, and fixes the issues found. Signed-off-by: Andrew Dunham <andrew@du.nham.ca> Change-Id: I8739bdb7bc4f75666a7385a7a26d56ec13741b7c
62 lines
1.7 KiB
YAML
62 lines
1.7 KiB
YAML
linters:
|
|
# Don't enable any linters by default; just the ones that we explicitly
|
|
# enable in the list below.
|
|
disable-all: true
|
|
enable:
|
|
- bidichk
|
|
- gofmt
|
|
- goimports
|
|
- misspell
|
|
- revive
|
|
|
|
# Configuration for how we run golangci-lint
|
|
run:
|
|
timeout: 5m
|
|
|
|
issues:
|
|
# Excluding configuration per-path, per-linter, per-text and per-source
|
|
exclude-rules:
|
|
# These are forks of an upstream package and thus are exempt from stylistic
|
|
# changes that would make pulling in upstream changes harder.
|
|
- path: tempfork/.*\.go
|
|
text: "File is not `gofmt`-ed with `-s` `-r 'interface{} -> any'`"
|
|
- path: util/singleflight/.*\.go
|
|
text: "File is not `gofmt`-ed with `-s` `-r 'interface{} -> any'`"
|
|
|
|
# Per-linter settings are contained in this top-level key
|
|
linters-settings:
|
|
# Enable all rules by default; we don't use invisible unicode runes.
|
|
bidichk:
|
|
|
|
gofmt:
|
|
rewrite-rules:
|
|
- pattern: 'interface{}'
|
|
replacement: 'any'
|
|
|
|
goimports:
|
|
|
|
misspell:
|
|
|
|
revive:
|
|
enable-all-rules: false
|
|
ignore-generated-header: true
|
|
rules:
|
|
- name: atomic
|
|
- name: context-keys-type
|
|
- name: defer
|
|
arguments: [[
|
|
# Calling 'recover' at the time a defer is registered (i.e. "defer recover()") has no effect.
|
|
"immediate-recover",
|
|
# Calling 'recover' outside of a deferred function has no effect
|
|
"recover",
|
|
# Returning values from a deferred function has no effect
|
|
"return",
|
|
]]
|
|
- name: duplicated-imports
|
|
- name: errorf
|
|
- name: string-of-int
|
|
- name: time-equal
|
|
- name: unconditional-recursion
|
|
- name: useless-break
|
|
- name: waitgroup-by-value
|