Various changes in this new major version, including a new config file
format:
- "gofmt" and "goimports" are now categorized as formatters
(instead of linters) and are moved to their own section.
- The functionality of "gosimple" has been bundled into "staticcheck".
- "typecheck" is now always on and cannot be independently
enabled/disabled.
* ci: Update linter to 1.59.1.
Also remove deprecated linter "vetshadow", its functionality is now
included in the "govet" linter.
* ci: Add new linters.
- fatcontext - Detects nested contexts in loops.
- mirror - Reports wrong mirror patterns of bytes/strings usage.
- nilnil - Checks that there is no simultaneous return of nil error and
an invalid value.
- usestdlibvars - detect the possibility to use variables/constants from
the Go standard library.
Some of these cover points which have recently been highlighted in
reviews, such as contexts contained in structs, slices initialized with
zero length, and periods missing from the end of comments.
Adding the autoclient to vspd created a circular dependency between vspd
and dcrwallet which is cumbersome and not worth the maintence burden.
At this point there are no known consumers of the vspd version of
autoclient, so removing it is not expected to cause problems for
anybody.
The autoclient will continue to live in the dcrwallet repo.
* Update linter to 1.49.0
* Move vspd into cmd directory.
This is standard practise in Decred golang repos. Especially useful when multiple executables are built from a single repo.
* Ignore bins in new dir.
- Rather than manually downloading and invoking golangci-lint, use the GitHub
action provided by the developers.
- Configure golangci with a config file rather than passing command line args.
This enables the same config to be used locally and on CI without introducing
duplication. It also allows much more flexibililty in configuration than using
CLI args alone.