Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update to
golangci-lint
version 1.43.0
The currently latest `golangci-lint` version 1.43.0 [1] introduced new linters and updated supported ones: 1. tagliatelle [2] (v1.40.0 [3]) - Handles `struct` tags name casing. This linter is disabled by default, but will be enabled for this template to improve consistency across tag names. 2. errorlint [4] (v1.40.0 [3]) - This linter has been disabled in GH-39 [22] due to prevent false-positive errors, but will be enabled again with the newly introduced `errorf` option [5] being disabled to prevent this from happening again while still taking advantage of the `assert` and `comparison` checks. 3. wrapcheck [6] (v1.40.0 [3]) - This linter is known to cause false-positive errors for the main module (`go list -m`) of the repository where `golangic-lint` is being run, but in version `2.3.0` [7] the `ignorePackageGlobs` option was added that allows to ignore packages by pattern. Therefore in each project the main module should be added as wildcard. Also see tomarrell/wrapcheck#2 [8] for details and discussions about this known problem. 4. golint [9] (v1.40.1 [10]) - Remove deprecated linter. 4.1 The recommended drop-in replacement is revive [21] which is disabled by default, but will be enabled for this template. 5. gofumpt [17] (v1.42.0 [16]) - Add the `lang-version` with value set to `1.17` to target the (currently) latest Go version. 6. bidichk [11] (v1.43.0 [12]) - Checks for dangerous unicode character sequences. This linter is disabled by default, but will be enabled for this template to prevent "trojan source" bugs. 7. nilnil [13] (v1.43.0 [12]) - Checks that there is no simultaneous return of `nil` error and an invalid value. This linter is disabled by default, but will be enabled for this template to prevent ambiguous returns. 8. tenv [14] (v1.43.0 [12]) - Detects using `os.Setenv` instead of `t.Setenv` since Go 1.17. This linter is disabled by default, but will be enabled for this template to prevent errors in tests. 9. contextcheck [15] (v1.43.0 [12]) - Checks if functions whether use a non-inherited context. This linter is disabled by default, but will be enabled for this template to broken call chains and loss of context information. 10. lll [18] - Add the `tab-width` option with value set to `2` to use two spaces for the width of one tab. 11. gci [19] - Add the comma-separated [list of prefixes for local package imports][20] to be put after 3rd-party packages. [1]: https://github.com/golangci/golangci-lint/releases/tag/v1.43.0 [2]: https://github.com/ldez/tagliatelle [3]: https://github.com/golangci/golangci-lint/releases/tag/v1.40.0 [4]: https://github.com/polyfloyd/go-errorlint [5]: https://golangci-lint.run/usage/linters/#errorlint [6]: https://github.com/tomarrell/wrapcheck [7]: https://github.com/tomarrell/wrapcheck/releases/tag/v2.3.0 [8]: tomarrell/wrapcheck#2 [9]: https://github.com/golang/lint [10]: https://github.com/golangci/golangci-lint/releases/tag/v1.40.1 [11]: https://github.com/breml/bidichk [12]: https://github.com/golangci/golangci-lint/releases/tag/v1.43.0 [13]: https://github.com/Antonboom/nilnil [14]: https://github.com/sivchari/tenv [15]: https://github.com/sylvia7788/contextcheck [16]: https://github.com/golangci/golangci-lint/releases/tag/v1.42.0 [17]: https://github.com/mvdan/gofumpt [18]: https://github.com/walle/lll [19]: https://github.com/daixiang0/gci [20]: https://golangci-lint.run/usage/linters/#gci [21]: https://github.com/mgechev/revive [22]: #39 GH-64
- Loading branch information