golangci-lint: Upgrade, fix issues (#397)

The golangci-lint being used was quite dated.
This change upgrades to the latest version.
Adds and updates exclusions based on new failures.

Note on revive:
I've included an opt-out for unused parameters for revive
because turning `newThing(required bool)` to `newThing(_ bool)`
is a loss of useful information.

The changes to the Go files are to fix the following issues:

```
camelcase.go:16: File is not `gofmt`-ed with `-s` (gofmt)
config_test.go:50:18: directive `//nolint: gosec` is unused for linter "gosec" (nolintlint)
defaults_test.go:28:25: G601: Implicit memory aliasing in for loop. (gosec)
doc.go:5: File is not `gofmt`-ed with `-s` (gofmt)
kong.go:446:18: directive `//nolint: gosec` is unused for linter "gosec" (nolintlint)
kong_test.go:503:20: G601: Implicit memory aliasing in for loop. (gosec)
model.go:493:10: composites: reflect.ValueError struct literal uses unkeyed fields (govet)
scanner.go:112: File is not `gofmt`-ed with `-s` (gofmt)
```

And to address broken nolint directives reported as follows by
golangci-lint.

```
[.. skipped .. ]
tag.go:65:1: directive `// nolint:gocyclo` should be written without leading space as `//nolint:gocyclo` (nolintlint)
tag.go:206:51: directive `// nolint: gocyclo` should be written without leading space as `//nolint: gocyclo` (nolintlint)
util_test.go:23:43: directive `// nolint: errcheck` should be written without leading space as `//nolint: errcheck` (nolintlint)
util_test.go:51:22: directive `// nolint: errcheck` should be written without leading space as `//nolint: errcheck` (nolintlint)
```
This commit is contained in:
Abhinav Gupta
2023-12-10 14:37:07 -08:00
committed by GitHub
parent 4ca2606342
commit a86bda490b
25 changed files with 129 additions and 101 deletions
+2 -2
View File
@@ -20,7 +20,7 @@ func TestConfigFlag(t *testing.T) {
w, err := ioutil.TempFile("", "")
assert.NoError(t, err)
defer os.Remove(w.Name())
w.WriteString(`{"flag": "hello world"}`) // nolint: errcheck
w.WriteString(`{"flag": "hello world"}`) //nolint: errcheck
w.Close()
p := Must(&cli, Configuration(JSON))
@@ -48,7 +48,7 @@ func TestVersionFlag(t *testing.T) {
func TestChangeDirFlag(t *testing.T) {
cwd, err := os.Getwd()
assert.NoError(t, err)
defer os.Chdir(cwd) // nolint: errcheck
defer os.Chdir(cwd) //nolint: errcheck
dir := t.TempDir()
file := filepath.Join(dir, "out.txt")