275 Commits

Author SHA1 Message Date
Andrew Shannon Brown
9e0c9f3929
Expose more config options for forbidigo (#1677) 2021-02-01 21:16:28 +01:00
Sebastien Rosset
443e5b6c73
Print error message and exit with non-zero status when ruleguard parse error occurs (#1666) 2021-02-01 12:50:25 +01:00
Denis Krivak
89367aee22
Add "exclude" option for godot linter (#1669) 2021-01-29 15:23:12 +01:00
Ludovic Fernandez
6c25d06830
fix: bump github.com/tommy-muehle/go-mnd/v2 to v2.3.1 (#1667)
Some checks failed
Extra / Vulnerability scanner (push) Failing after 1m43s
CI / golangci-lint (push) Failing after 2m38s
CI / tests-on-windows (push) Has been skipped
CI / tests-on-macos (push) Has been skipped
CI / tests-on-unix (1.13) (push) Has been skipped
CI / tests-on-unix (1.14) (push) Has been skipped
CI / tests-on-unix (1.15) (push) Has been skipped
CI / check_generated (push) Has been skipped
CI / go-mod (push) Failing after 17m1s
Release a tag / release (push) Failing after 15m25s
Release a tag / docker-release (map[Dockerfile:build/Dockerfile.alpine]) (push) Has been cancelled
Release a tag / docker-release (map[Dockerfile:build/Dockerfile]) (push) Has been cancelled
2021-01-26 11:43:15 +01:00
Eugene Simonov
750309d157
Add ifshort linter (#1587) 2021-01-20 23:07:43 +01:00
Nishanth Shanmugham
76c452197b
add 'predeclared' linter (#1606) 2021-01-07 17:58:04 +01:00
dependabot[bot]
122193999a
build(deps): bump github.com/kulti/thelper from 0.1.0 to 0.2.0 (#1630) 2021-01-05 05:09:01 +01:00
Andrew Shannon Brown
750b4babc7
Fix forbidigo linter name in reports (#1590)
Fix cut-and-paste error with linter name.

Fixes #1589
2020-12-28 10:55:38 -08:00
Andrew Shannon Brown
306816ec85
Revert "Update nolintlint to fix nolint formatting and remove unused nolint statements (#1573)" (#1584)
This reverts commit aeb98303293570ba682ea933a4e9501a11a3aa99.

There are some cases that nolinter fixer wasn't handling properly or expectedly (#1579, #1580, #1581) so we'll fix those in a new attempt.
2020-12-27 11:49:58 -08:00
Denis Tingaikin
85049e5ea0
Bump go-header to v0.4.1 (#1578) 2020-12-27 20:32:33 +01:00
Andrew Shannon Brown
aeb9830329
Update nolintlint to fix nolint formatting and remove unused nolint statements (#1573)
Also allow multiple ranges to satisfy a nolint statement as having been used.
2020-12-27 06:18:02 -08:00
Andrew Shannon Brown
222076fdc6
Add forbidigo linter (#1569) 2020-12-24 17:19:32 +01:00
Ludovic Fernandez
be0297933a
fix: nolintlint comment analysis. (#1571) 2020-12-22 01:24:28 +01:00
Ryan Currah
a893212f02
gomodguard: updated for new features and fixes (#1567) 2020-12-20 11:27:55 +01:00
Aleksey Bakin
0370d3adea
Add thelper linter (#1541) 2020-12-13 14:54:26 +01:00
Andrew Shannon Brown
cf32a7b706
Add makezero linter (#1520)
makezero ensures that objects recognized as slices are initialized with length 0.  By default, this is only required when we find a subsequent append to the object, but can also be enabled at all times as a way of discouraging the use of integer variables (i.e. "i") to index slices.
2020-12-05 07:37:37 -08:00
Kunwardeep
b90551cdf9
add new paralleltest linter (#1503)
Some checks failed
Extra / Vulnerability scanner (push) Failing after 15m24s
CI / go-mod (push) Failing after 15m22s
CI / golangci-lint (push) Failing after 15m20s
Release a tag / release (push) Failing after 15m18s
CI / tests-on-windows (push) Has been cancelled
CI / tests-on-macos (push) Has been cancelled
CI / tests-on-unix (1.13) (push) Has been cancelled
CI / tests-on-unix (1.14) (push) Has been cancelled
CI / tests-on-unix (1.15) (push) Has been cancelled
CI / check_generated (push) Has been cancelled
Release a tag / docker-release (map[Dockerfile:build/Dockerfile.alpine]) (push) Has been cancelled
Release a tag / docker-release (map[Dockerfile:build/Dockerfile]) (push) Has been cancelled
2020-11-22 22:28:38 +03:00
iwankgb
993337baa2
Using upstrem goconst (#1500)
github.com/golangci/goconst is now obsolete :)
2020-11-17 19:07:37 +00:00
ZhangYunHao
9948153575
DefaultExcludePatterns should only be used for specified linter (#1494)
Co-authored-by: zhangyunhao <zhangyunhao@bytedance.com>
2020-11-12 15:21:19 +01:00
Denis Krivak
df2e9e2ebd
Update godot to 1.3.0 (#1498) 2020-11-10 20:11:26 +03:00
Simon Sawert
a8b7b0037a
Update gochecknoglobals, use source analyzer (#1422) 2020-10-16 08:38:04 +11:00
nishanths
58234f055c
update exhaustive to latest; use version in go.mod (#1449)
* update exhaustive to latest

* wip

* update dep

* update flag name

* use versioned dep

* add tests

* unused file

* no need config file

* add vars to test

* test comment

* remove default settings
2020-10-14 08:19:06 +02:00
Mateusz Bilski
c57627b18c
Add exhaustivestruct linter (#1411)
* Add exhaustivestruct linter

* CHange load mode to types info

* Fix go.mod
2020-10-12 08:35:02 +02:00
Vladimir Evgrafov
796a958805
Add go-errorlint (#1420)
* Add errorlint

* Add errorlint config example
2020-10-09 15:42:48 +03:00
Tom Arrell
247b6c2796
Add wrapcheck linter (#1407)
* Add failing test

* Add wrapcheck linter
2020-10-06 13:40:00 +02:00
Melvin
926e76dcf2
Add tparallel linter (#1380) 2020-10-02 13:00:46 -07:00
Xiang Dai
913e57fcda
Gci: update the way to call Run() (#1337)
Signed-off-by: Xiang Dai <long0dai@foxmail.com>
2020-08-31 08:38:05 +08:00
Grigory Zubankov
6b60cb8a30
new nlreturn linter (#1267)
* new nlreturn linter

* fix: import order

Co-authored-by: Sergey Vilgelm <sergey.vilgelm@ibm.com>
2020-08-02 15:16:45 -05:00
Xiang Dai
60613dc3eb
Introduce gci as new linter (#1266)
* Introduce gci as new linter

Signed-off-by: Xiang Dai <long0dai@foxmail.com>

* use goimports setting if not specified

Signed-off-by: Xiang Dai <long0dai@foxmail.com>
2020-07-28 13:55:02 +03:00
Sergey Vilgelm
c8bd9549a5
Support --fix for gofumpt (#1239) 2020-07-18 21:33:47 -05:00
dependabot-preview[bot]
65e1b30ebd
build(deps): bump github.com/kyoh86/exportloopref from 0.1.4 to 0.1.7 (#1214)
* build(deps): bump github.com/kyoh86/exportloopref from 0.1.4 to 0.1.7

Bumps [github.com/kyoh86/exportloopref](https://github.com/kyoh86/exportloopref) from 0.1.4 to 0.1.7.
- [Release notes](https://github.com/kyoh86/exportloopref/releases)
- [Changelog](https://github.com/kyoh86/exportloopref/blob/master/.goreleaser.yml)
- [Commits](https://github.com/kyoh86/exportloopref/compare/v0.1.4...v0.1.7)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

* Fix exportloopref linter

Change the WithLoadMode to use LoadModeTypesInfo isntead of LoadModeSyntax

Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: Sergey Vilgelm <sergey.vilgelm@ibm.com>
2020-07-12 21:41:06 +02:00
Melvin
ee86e0e893
gofumpt: Add extra-rules option + update linter (#1228)
Co-authored-by: Sergey Vilgelm <sergey.vilgelm@ibm.com>
2020-07-12 11:38:07 -05:00
Denis Tingaikin
dfa0013583
Fix: goheader linter can throw nil pointer exception in case of a source file has not issues (#1209)
* fix potential nil pointer exception

Signed-off-by: denis-tingajkin <denis.tingajkin@xored.com>

* add test to cover

Signed-off-by: denis-tingajkin <denis.tingajkin@xored.com>
2020-07-05 15:32:00 +07:00
iwankgb
306cbb0e6e
Upgrading to go-critic v0.5.0 (#1205)
Some checks failed
CI / golangci-lint (push) Failing after 3m54s
CI / tests-on-windows (push) Has been skipped
CI / tests-on-unix (1.13, ubuntu-latest) (push) Has been skipped
CI / tests-on-unix (1.14, ubuntu-latest) (push) Has been skipped
CI / check_generated (push) Has been skipped
Release a tag / release (push) Failing after 4m22s
2020-07-04 20:07:26 +00:00
Denis Tingaikin
01b566a646
Add go-header linter (#1181)
* add go-header linter
* apply review comments: add goheader example into .golangci.example.yml
* apply review comments: correctly handle multiline comments
2020-07-04 19:03:37 +00:00
Ryan Olds
b22e3f1874
Added sqlclosecheck to linters (#1203)
* Added sqlclosecheck to linters
* Addressed feedback
* Updated sqlclosecheck and tools
2020-07-04 14:30:16 +00:00
Teiva Harsanyi
38d298c2c8
Adding gofumpt (#1177) 2020-06-16 13:05:28 +03:00
sonata
f1a46f9861
Add Noctx (#1179)
Support for linter that enforces using context on each `http.Request`
https://github.com/sonatard/noctx
2020-06-08 20:21:58 +00:00
Nishanth Shanmugham
f3376cab71
add exhaustive linter (#1166)
* wip

more

add new files

run command fixes

more

* go.mod

* order

* same package

* review comment

* enable linter in .golangci.yml

* add testcase for default-signifies-exhaustive: true

* adjust runGoErrchk instead

* disable the linter

* cleanup

* more cleanup

* cleanup
2020-05-29 16:31:46 +03:00
Tam Mach
dc260be693
Add exportloopref linter (#1163) 2020-05-24 10:31:32 +03:00
Denis Krivak
7c2871c596
godot: add autofix mode 2020-05-18 15:49:58 +03:00
Ryan Currah
778e08fda4
bump gomodguard version (#1140)
* bump gomodguard version which adds a new feature to allow blocking modules based on version constraints

* add description why you may want to use gomodguard over depguard, updated example config and add a section the contributor doc page to remind people to update the example config
2020-05-17 22:35:13 +03:00
Denis Krivak
d7648bf202 godot: fix issue with --fix flag 2020-05-13 11:39:08 +03:00
Soichiro Kashima
7f48cc88b8
Fix lint errors on files with //line directive (#1065)
If the target files contains `//line` directive and it indicates
a non-go file, the linter is going to handle it as a go file,
which results in failure.
The cause of this issue is that the linters (`Analyzer`s) are using
`pass.Fset.Position()`. This func returns the adjusted position using
`//line` directive.
The example project reported in #998 has `//line` directive that
indicates other non-go file.
According to the description of "Compiler Directives”
(https://golang.org/cmd/compile/#hdr-Compiler_Directives),
line directives is mainly used for reporting original positions to
the generators or something.
On linters of golangci-lint, `pass.Fset.Position()` is used just to
aggregate file names; we don't have to adjust positions.
This changes `Analyzer`s that use `pass.Fset.Position()` to aggregate
file names to use `pass.Fset.PositionFor()` with `adjusted == false`.

Relates: #998
2020-05-05 18:49:34 +03:00
Isaev Denis
52c9b88c25
reduce mem. usage of unused and update staticcheck (#1063)
The primary improvement is in early clearing of
analyzed package's TypeInfo, facts, etc for
whole program analyzers (`unused`). Clear it when it
becomes unused and GC collects them early. Initially this
clearing was performed for all analyzers except `unused`.

Update staticcheck from v0.0.1-2019.2.3 to v0.0.1-2020.1.4

Also in this commit:
  * speed up loading packages from export data (2.5s -> 2.1s for std)
    by not using mutex for export data since it was allowed in
    x/tools#07722704da13
  * make an order of execution of linters stable
  * update renameio and robustio
  * use robustio in caching

Relates: #987, #994, #995, #1011
2020-05-03 15:20:17 +03:00
Tim Heckman
60fd647987
Update gosec linter to v2; add .test files to .gitignore (#1062)
This change updates the `gosec` linter to its v2 version. It seems like v2
maintained API compatibility for the functionality we use, so we only needed to
update the dependency and imports.

Please note, this does not use a tagged version of `gosec` and instead is the
latest `master` commit due to this issue: https://github.com/securego/gosec/issues/470.
Once this issue is resolved we should update `gosec` to a tagged release.

This also adds a line to the `.gitignore` file, to ignore the `.test` output
files that get generated by `go test`. This could accidentally get left behind,
so no use committing binary files.

Fixes #1052
2020-05-03 14:05:00 +03:00
Andrew Shannon Brown
ef44e11e17
Merge branch 'master' into asb/nolintlint-internal 2020-04-29 15:27:35 -07:00
tdakkota
0d95fafefc feat: add go-err113 linter support 2020-04-27 21:37:34 +03:00
Aleksandr Razumov
3deb9d80ab
unused: check line range before suggesting fix
Fix #1048
2020-04-27 19:59:38 +03:00
Andrew Shannon Brown
909f628d75 Add linter for nolint
Linter can check that nolint statements are properly formatted and also that all
nolint statements are used.
2020-04-26 20:20:17 -07:00