1507 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			1507 lines
		
	
	
		
			36 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| [
 | |
|   {
 | |
|     "name": "asasalint",
 | |
|     "desc": "check for pass []any as any in variadic func(...any)",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/alingse/asasalint",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "1.47.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "asciicheck",
 | |
|     "desc": "checks that all code identifiers does not have non-ASCII symbols in the name",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "bugs",
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/tdakkota/asciicheck",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.26.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "bidichk",
 | |
|     "desc": "Checks for dangerous unicode character sequences",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/breml/bidichk",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "1.43.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "bodyclose",
 | |
|     "desc": "checks whether HTTP response body is closed successfully",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "performance",
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/timakin/bodyclose",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.18.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "containedctx",
 | |
|     "desc": "containedctx is a linter that detects struct contained context.Context field",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/sivchari/containedctx",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "1.44.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "contextcheck",
 | |
|     "desc": "check whether the function uses a non-inherited context",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/kkHAIKE/contextcheck",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.43.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "copyloopvar",
 | |
|     "desc": "copyloopvar is a linter detects places where loop variables are copied",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/karamaru-alpha/copyloopvar",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.57.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "cyclop",
 | |
|     "desc": "checks function and package cyclomatic complexity",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "complexity"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/bkielbasa/cyclop",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.37.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "decorder",
 | |
|     "desc": "check declaration order and count of types, constants, variables and functions",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "format",
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://gitlab.com/bosi/decorder",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.44.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "deadcode",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "unused"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/remyoudompheng/go-misc/tree/master/deadcode",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.49.0",
 | |
|       "message": "The owner seems to have abandoned the linter.",
 | |
|       "replacement": "unused"
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "depguard",
 | |
|     "desc": "Go linter that checks if package imports are in a list of acceptable packages",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "import",
 | |
|       "module"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/OpenPeeDeeP/depguard",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.4.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "dogsled",
 | |
|     "desc": "Checks assignments with too many blank identifiers (e.g. x, _, _, _, := f())",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/alexkohler/dogsled",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.19.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "dupl",
 | |
|     "desc": "Tool for code clone detection",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/mibk/dupl",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "dupword",
 | |
|     "desc": "checks for duplicate words in the source code",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "comment"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/Abirdcfly/dupword",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "1.50.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "durationcheck",
 | |
|     "desc": "check for two durations multiplied together",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/charithe/durationcheck",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.37.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "errcheck",
 | |
|     "desc": "errcheck is a program for checking for unchecked errors in Go code. These unchecked errors can be critical bugs in some cases",
 | |
|     "enabledByDefault": true,
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs",
 | |
|       "error"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/kisielk/errcheck",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "errchkjson",
 | |
|     "desc": "Checks types passed to the json encoding functions. Reports unsupported types and reports occations, where the check for the returned error can be omitted.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/breml/errchkjson",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "1.44.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "errname",
 | |
|     "desc": "Checks that sentinel errors are prefixed with the `Err` and error types are suffixed with the `Error`.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/Antonboom/errname",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.42.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "errorlint",
 | |
|     "desc": "errorlint is a linter for that can be used to find code that will cause problems with the error wrapping scheme introduced in Go 1.13.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs",
 | |
|       "error"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/polyfloyd/go-errorlint",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.32.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "execinquery",
 | |
|     "desc": "execinquery is a linter about query string checker in Query function which reads your Go src files and warning it finds",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "sql"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/lufeee/execinquery",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.46.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "exhaustive",
 | |
|     "desc": "check exhaustiveness of enum switch statements",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/nishanths/exhaustive",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": " v1.28.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "exhaustivestruct",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "test"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/mbilski/exhaustivestruct",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.32.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.46.0",
 | |
|       "message": "The repository of the linter has been deprecated by the owner.",
 | |
|       "replacement": "exhaustruct"
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "exhaustruct",
 | |
|     "desc": "Checks if all structure fields are initialized",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "test"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/GaijinEntertainment/go-exhaustruct",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.46.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "exportloopref",
 | |
|     "desc": "checks for pointers to enclosing loop variables",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/kyoh86/exportloopref",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.28.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "forbidigo",
 | |
|     "desc": "Forbids identifiers",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ashanbrown/forbidigo",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.34.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "forcetypeassert",
 | |
|     "desc": "finds forced type assertions",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/gostaticanalysis/forcetypeassert",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.38.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "funlen",
 | |
|     "desc": "Tool for detection of long functions",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "complexity"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ultraware/funlen",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.18.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gci",
 | |
|     "desc": "Gci controls Go package import order and makes it always deterministic.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "format",
 | |
|       "import"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/daixiang0/gci",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.30.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "ginkgolinter",
 | |
|     "desc": "enforces standards of using ginkgo and gomega",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/nunnatsa/ginkgolinter",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.51.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gocheckcompilerdirectives",
 | |
|     "desc": "Checks that go compiler directive comments (//go:) are valid.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/leighmcculloch/gocheckcompilerdirectives",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.51.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gochecknoglobals",
 | |
|     "desc": "Check that no global variables exist.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/leighmcculloch/gochecknoglobals",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.12.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gochecknoinits",
 | |
|     "desc": "Checks that no init functions are present in Go code",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.12.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gochecksumtype",
 | |
|     "desc": "Run exhaustiveness checks on Go \"sum types\"",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/alecthomas/go-check-sumtype",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.55.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gocognit",
 | |
|     "desc": "Computes and checks the cognitive complexity of functions",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "complexity"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/uudashr/gocognit",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.20.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "goconst",
 | |
|     "desc": "Finds repeated strings that could be replaced by a constant",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/jgautheron/goconst",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gocritic",
 | |
|     "desc": "Provides diagnostics that check for bugs, performance and style issues.\nExtensible without recompilation through dynamic rules.\nDynamic rules are written declaratively with AST patterns, filters, report message and optional suggestion.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "metalinter"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/go-critic/go-critic",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.12.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gocyclo",
 | |
|     "desc": "Computes and checks the cyclomatic complexity of functions",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "complexity"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/fzipp/gocyclo",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "godot",
 | |
|     "desc": "Check if comments end in a period",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "comment"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/tetafro/godot",
 | |
|     "internal": false,
 | |
|     "canAutoFix": true,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.25.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "godox",
 | |
|     "desc": "Tool for detection of FIXME, TODO and other comment keywords",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "comment"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/matoous/godox",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.19.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "goerr113",
 | |
|     "desc": "Go linter to check the errors handling expressions",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "error"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/Djarvur/go-err113",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.26.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gofmt",
 | |
|     "desc": "Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "format"
 | |
|     ],
 | |
|     "originalURL": "https://pkg.go.dev/cmd/gofmt",
 | |
|     "internal": false,
 | |
|     "canAutoFix": true,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gofumpt",
 | |
|     "desc": "Gofumpt checks whether code was gofumpt-ed.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "format"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/mvdan/gofumpt",
 | |
|     "internal": false,
 | |
|     "canAutoFix": true,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.28.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "goheader",
 | |
|     "desc": "Checks is file header matches to pattern",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/denis-tingaikin/go-header",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.28.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "goimports",
 | |
|     "desc": "Check import statements are formatted according to the 'goimport' command. Reformat imports in autofix mode.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "format",
 | |
|       "import"
 | |
|     ],
 | |
|     "originalURL": "https://pkg.go.dev/golang.org/x/tools/cmd/goimports",
 | |
|     "internal": false,
 | |
|     "canAutoFix": true,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.20.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "golint",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/golang/lint",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.41.0",
 | |
|       "message": "The repository of the linter has been archived by the owner.",
 | |
|       "replacement": "revive"
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "gomnd",
 | |
|     "desc": "An analyzer to detect magic numbers.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/tommy-muehle/go-mnd",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.22.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gomoddirectives",
 | |
|     "desc": "Manage the use of 'replace', 'retract', and 'excludes' directives in go.mod.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "module"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ldez/gomoddirectives",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.39.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gomodguard",
 | |
|     "desc": "Allow and block list linter for direct Go module dependencies. This is different from depguard where there are different block types for example version constraints and module recommendations.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "import",
 | |
|       "module"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ryancurrah/gomodguard",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.25.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "goprintffuncname",
 | |
|     "desc": "Checks that printf-like functions are named with `f` at the end.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/jirfag/go-printf-func-name",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.23.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gosec",
 | |
|     "desc": "Inspects source code for security problems",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "alternativeNames": [
 | |
|       "gas"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/securego/gosec",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gosimple",
 | |
|     "desc": "Linter for Go source code that specializes in simplifying code",
 | |
|     "enabledByDefault": true,
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "alternativeNames": [
 | |
|       "megacheck"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/dominikh/go-tools/tree/master/simple",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.20.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "gosmopolitan",
 | |
|     "desc": "Report certain i18n/l10n anti-patterns in your Go codebase",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/xen0n/gosmopolitan",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.53.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "govet",
 | |
|     "desc": "Vet examines Go source code and reports suspicious constructs. It is roughly the same as 'go vet' and uses its passes.",
 | |
|     "enabledByDefault": true,
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs",
 | |
|       "metalinter"
 | |
|     ],
 | |
|     "alternativeNames": [
 | |
|       "vet",
 | |
|       "vetshadow"
 | |
|     ],
 | |
|     "originalURL": "https://pkg.go.dev/cmd/vet",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "grouper",
 | |
|     "desc": "Analyze expression groups.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/leonklingele/grouper",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.44.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "ifshort",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/esimonov/ifshort",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.36.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.48.0",
 | |
|       "message": "The repository of the linter has been deprecated by the owner."
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "importas",
 | |
|     "desc": "Enforces consistent import aliases",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/julz/importas",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.38.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "inamedparam",
 | |
|     "desc": "reports interfaces with unnamed method parameters",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/macabu/inamedparam",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.55.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "ineffassign",
 | |
|     "desc": "Detects when assignments to existing variables are not used",
 | |
|     "enabledByDefault": true,
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "unused"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/gordonklaus/ineffassign",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "interfacebloat",
 | |
|     "desc": "A linter that checks the number of methods inside an interface.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/sashamelentyev/interfacebloat",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.49.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "interfacer",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/mvdan/interfacer",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.38.0",
 | |
|       "message": "The repository of the linter has been archived by the owner."
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "intrange",
 | |
|     "desc": "intrange is a linter to find places where for loops could make use of an integer range.",
 | |
|     "loadMode": 7,
 | |
|     "originalURL": "https://github.com/ckaznocha/intrange",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.57.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "ireturn",
 | |
|     "desc": "Accept Interfaces, Return Concrete Types",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/butuzov/ireturn",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.43.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "lll",
 | |
|     "desc": "Reports long lines",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.8.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "loggercheck",
 | |
|     "desc": "Checks key value pairs for common logger libraries (kitlog,klog,logr,zap).",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "bugs"
 | |
|     ],
 | |
|     "alternativeNames": [
 | |
|       "logrlint"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/timonwong/loggercheck",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.49.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "maintidx",
 | |
|     "desc": "maintidx measures the maintainability index of each function.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "complexity"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/yagipy/maintidx",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.44.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "makezero",
 | |
|     "desc": "Finds slice declarations with non-zero initial length",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ashanbrown/makezero",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.34.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "maligned",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "performance"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/mdempsky/maligned",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.38.0",
 | |
|       "message": "The repository of the linter has been archived by the owner.",
 | |
|       "replacement": "govet 'fieldalignment'"
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "mirror",
 | |
|     "desc": "reports wrong mirror patterns of bytes/strings usage",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/butuzov/mirror",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.53.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "misspell",
 | |
|     "desc": "Finds commonly misspelled English words",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "comment"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/client9/misspell",
 | |
|     "internal": false,
 | |
|     "canAutoFix": true,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.8.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "musttag",
 | |
|     "desc": "enforce field tags in (un)marshaled structs",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/go-simpler/musttag",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.51.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "nakedret",
 | |
|     "desc": "Checks that functions with naked returns are not longer than a maximum size (can be zero).",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/alexkohler/nakedret",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.19.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "nestif",
 | |
|     "desc": "Reports deeply nested if statements",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "complexity"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/nakabonne/nestif",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.25.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "nilerr",
 | |
|     "desc": "Finds the code that returns nil even if it checks that the error is not nil.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/gostaticanalysis/nilerr",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.38.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "nilnil",
 | |
|     "desc": "Checks that there is no simultaneous return of `nil` error and an invalid value.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/Antonboom/nilnil",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.43.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "nlreturn",
 | |
|     "desc": "nlreturn checks for a new line before return and branch statements to increase code clarity",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ssgreg/nlreturn",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.30.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "noctx",
 | |
|     "desc": "Finds sending http request without context.Context",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "performance",
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/sonatard/noctx",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.28.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "nonamedreturns",
 | |
|     "desc": "Reports all named returns",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/firefart/nonamedreturns",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.46.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "nosnakecase",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/sivchari/nosnakecase",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.47.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.48.1",
 | |
|       "message": "The repository of the linter has been deprecated by the owner.",
 | |
|       "replacement": "revive 'var-naming'"
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "nosprintfhostport",
 | |
|     "desc": "Checks for misuse of Sprintf to construct a host with port in a URL.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/stbenjam/no-sprintf-host-port",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.46.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "paralleltest",
 | |
|     "desc": "Detects missing usage of t.Parallel() method in your Go test",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "test"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/kunwardeep/paralleltest",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.33.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "perfsprint",
 | |
|     "desc": "Checks that fmt.Sprintf can be replaced with a faster alternative.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "performance"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/catenacyber/perfsprint",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.55.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "prealloc",
 | |
|     "desc": "Finds slice declarations that could potentially be pre-allocated",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "performance"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/alexkohler/prealloc",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.19.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "predeclared",
 | |
|     "desc": "find code that shadows one of Go's predeclared identifiers",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/nishanths/predeclared",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.35.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "promlinter",
 | |
|     "desc": "Check Prometheus metrics naming via promlint",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/yeya24/promlinter",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.40.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "protogetter",
 | |
|     "desc": "Reports direct reads from proto message fields when getters should be used",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ghostiam/protogetter",
 | |
|     "internal": false,
 | |
|     "canAutoFix": true,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.55.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "reassign",
 | |
|     "desc": "Checks that package variables are not reassigned",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/curioswitch/go-reassign",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "1.49.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "revive",
 | |
|     "desc": "Fast, configurable, extensible, flexible, and beautiful linter for Go. Drop-in replacement of golint.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "metalinter"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/mgechev/revive",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.37.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "rowserrcheck",
 | |
|     "desc": "checks whether Rows.Err of rows is checked successfully",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs",
 | |
|       "sql"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/jingyugao/rowserrcheck",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.23.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "sloglint",
 | |
|     "desc": "ensure consistent code style when using log/slog",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "format"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/go-simpler/sloglint",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.55.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "scopelint",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/kyoh86/scopelint",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.12.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.39.0",
 | |
|       "message": "The repository of the linter has been deprecated by the owner.",
 | |
|       "replacement": "exportloopref"
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "sqlclosecheck",
 | |
|     "desc": "Checks that sql.Rows, sql.Stmt, sqlx.NamedStmt, pgx.Query are closed.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs",
 | |
|       "sql"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ryanrolds/sqlclosecheck",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.28.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "spancheck",
 | |
|     "desc": "Checks for mistakes with OpenTelemetry/Census spans.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/jjti/go-spancheck",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.56.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "staticcheck",
 | |
|     "desc": "It's a set of rules from staticcheck. It's not the same thing as the staticcheck binary. The author of staticcheck doesn't support or approve the use of staticcheck as a library inside golangci-lint.",
 | |
|     "enabledByDefault": true,
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs",
 | |
|       "metalinter"
 | |
|     ],
 | |
|     "alternativeNames": [
 | |
|       "megacheck"
 | |
|     ],
 | |
|     "originalURL": "https://staticcheck.io/",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "structcheck",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "unused"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/opennota/check",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.49.0",
 | |
|       "message": "The owner seems to have abandoned the linter.",
 | |
|       "replacement": "unused"
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "stylecheck",
 | |
|     "desc": "Stylecheck is a replacement for golint",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/dominikh/go-tools/tree/master/stylecheck",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.20.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "tagalign",
 | |
|     "desc": "check that struct tags are well aligned",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "format"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/4meepo/tagalign",
 | |
|     "internal": false,
 | |
|     "canAutoFix": true,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.53.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "tagliatelle",
 | |
|     "desc": "Checks the struct tags.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ldez/tagliatelle",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.40.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "tenv",
 | |
|     "desc": "tenv is analyzer that detects using os.Setenv instead of t.Setenv since Go1.17",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/sivchari/tenv",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.43.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "testableexamples",
 | |
|     "desc": "linter checks if examples are testable (have an expected output)",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "test"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/maratori/testableexamples",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.50.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "testifylint",
 | |
|     "desc": "Checks usage of github.com/stretchr/testify.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "test",
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/Antonboom/testifylint",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.55.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "testpackage",
 | |
|     "desc": "linter that makes you use a separate _test package",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "test"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/maratori/testpackage",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.25.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "thelper",
 | |
|     "desc": "thelper detects tests helpers which is not start with t.Helper() method.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/kulti/thelper",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.34.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "tparallel",
 | |
|     "desc": "tparallel detects inappropriate usage of t.Parallel() method in your Go test codes.",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "test"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/moricho/tparallel",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.32.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "typecheck",
 | |
|     "desc": "Like the front-end of a Go compiler, parses and type-checks Go code",
 | |
|     "enabledByDefault": true,
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "internal": true,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.3.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "unconvert",
 | |
|     "desc": "Remove unnecessary type conversions",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/mdempsky/unconvert",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "unparam",
 | |
|     "desc": "Reports unused function parameters",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "unused"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/mvdan/unparam",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.9.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "unused",
 | |
|     "desc": "Checks Go code for unused constants, variables, functions and types",
 | |
|     "enabledByDefault": true,
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "unused"
 | |
|     ],
 | |
|     "alternativeNames": [
 | |
|       "megacheck"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/dominikh/go-tools/tree/master/unused",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "doesChangeTypes": true,
 | |
|     "since": "v1.20.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "usestdlibvars",
 | |
|     "desc": "A linter that detect the possibility to use variables/constants from the Go standard library.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/sashamelentyev/usestdlibvars",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.48.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "varcheck",
 | |
|     "desc": "Deprecated",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "unused"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/opennota/check",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.0.0",
 | |
|     "deprecation": {
 | |
|       "since": "v1.49.0",
 | |
|       "message": "The owner seems to have abandoned the linter.",
 | |
|       "replacement": "unused"
 | |
|     }
 | |
|   },
 | |
|   {
 | |
|     "name": "varnamelen",
 | |
|     "desc": "checks that the length of a variable's name matches its scope",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/blizzy78/varnamelen",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.43.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "wastedassign",
 | |
|     "desc": "Finds wasted assignment statements",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/sanposhiho/wastedassign",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.38.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "whitespace",
 | |
|     "desc": "Whitespace is a linter that checks for unnecessary newlines at the start and end of functions, if, for, etc.",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ultraware/whitespace",
 | |
|     "internal": false,
 | |
|     "canAutoFix": true,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.19.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "wrapcheck",
 | |
|     "desc": "Checks that errors returned from external packages are wrapped",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "style",
 | |
|       "error"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/tomarrell/wrapcheck",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.32.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "wsl",
 | |
|     "desc": "add or remove empty lines",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/bombsimon/wsl",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.20.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "zerologlint",
 | |
|     "desc": "Detects the wrong usage of `zerolog` that a user forgets to dispatch with `Send` or `Msg`",
 | |
|     "loadMode": 575,
 | |
|     "inPresets": [
 | |
|       "bugs"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/ykadowak/zerologlint",
 | |
|     "internal": false,
 | |
|     "isSlow": true,
 | |
|     "since": "v1.53.0"
 | |
|   },
 | |
|   {
 | |
|     "name": "nolintlint",
 | |
|     "desc": "Reports ill-formed or insufficient nolint directives",
 | |
|     "loadMode": 7,
 | |
|     "inPresets": [
 | |
|       "style"
 | |
|     ],
 | |
|     "originalURL": "https://github.com/golangci/golangci-lint/blob/master/pkg/golinters/nolintlint/README.md",
 | |
|     "internal": false,
 | |
|     "isSlow": false,
 | |
|     "since": "v1.26.0"
 | |
|   }
 | |
| ]
 | 
