Skip to content
Snippets Groups Projects
.golangci.yml 10.75 KiB
run:
  timeout: 2m
  sort-results: true
  allow-parallel-runners: true
linters:
  disable-all: true
  enable:
    # enable by default linters
    - errcheck
    - gosimple
    - govet
    - ineffassign
    - staticcheck
    - typecheck
    - unused

    # extra linters
    - asasalint # ⚙️	Check for pass []any as any in variadic func(...any).	bugs		1.47.0
    - asciicheck  # Simple linter to check that your code does not contain non-ASCII identifiers
    - bidichk  # Checks for dangerous unicode character sequences
    - bodyclose  # checks whether HTTP response body is closed successfully
    # - canonicalheader # Canonicalheader checks whether net/http.Header uses canonical header.	style		v1.58.0
    # - containedctx  # containedctx is a linter that detects struct contained context.Context field	style		1.44.0
    - contextcheck  # check the function whether use a non-inherited context	bugs		v1.43.0
    - copyloopvar # Copyloopvar is a linter detects places where loop variables are copied.	style		v1.57.0
    # - cyclop  # checks function and package cyclomatic complexity	complexity		v1.37.0
    # - decorder  # check declaration order and count of types, constants, variables and functions	format, style		v1.44.0
    # - depguard  # Go linter that checks if package imports are in a list of acceptable packages	style, import, module		v1.4.0
    - dogsled  # Checks assignments with too many blank identifiers (e.g. x, , , _, := f())	style		v1.19.0
    - dupl  # Tool for code clone detection	style		v1.0.0
    - dupword # ⚙️	Checks for duplicate words in the source code.	comment	✔	1.50.0
    - durationcheck  # check for two durations multiplied together	bugs		v1.37.0
    # - err113 # Go linter to check the errors handling expressions.	style, error		v1.26.0
    - errchkjson  # Checks types passed to the json encoding functions. Reports unsupported types and optionally reports occations, where the check for the returned error can be omitted.	bugs		1.44.0
    # - errname  # Checks that sentinel errors are prefixed with the Err and error types are suffixed with the Error.	style		v1.42.0
    - errorlint  # 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.	bugs, error		v1.32.0
    - exhaustive  # check exhaustiveness of enum switch statements	bugs		v1.28.0
    # - exhaustruct  # Checks if all struct's fields are initialized	style, test		v1.32.0
    - fatcontext # Detects nested contexts in loops.	performance		1.58.0
    # - forbidigo  # Forbids identifiers	style		v1.34.0
    - forcetypeassert  # finds forced type assertions	style		v1.38.0
    # - funlen  # Tool for detection of long functions	complexity		v1.18.0
    - gci  # Gci control golang package import order and make it always deterministic.	format, import	✔	v1.30.0
    - ginkgolinter # Enforces standards of using ginkgo and gomega.	style		v1.51.0
    - gocheckcompilerdirectives # Checks that go compiler directive comments (//go:) are valid.	bugs		v1.51.0
    # - gochecknoglobals  # check that no global variables exist. style		v1.12.0
    # - gochecknoinits  # Checks that no init functions are present in Go code	style		v1.12.0
    - gochecksumtype # Run exhaustiveness checks on Go "sum types".	bugs		v1.55.0
    # - gocognit  # Computes and checks the cognitive complexity of functions	complexity		v1.20.0
    - goconst  # Finds repeated strings that could be replaced by a constant	style		v1.0.0
    - gocritic  # Provides diagnostics that check for bugs, performance and style issues. style, metalinter		v1.12.0
    # - gocyclo  # Computes and checks the cyclomatic complexity of functions	complexity		v1.0.0
    - godot  # Check if comments end in a period	style, comment	✔	v1.25.0
    # - godox  # Tool for detection of FIXME, TODO and other comment keywords	style, comment		v1.19.0
    - gofmt  # Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification	format	✔	v1.0.0
    - gofumpt  # Gofumpt checks whether code was gofumpt-ed.	format	✔	v1.28.0
    - goheader  # Checks is file header matches to pattern	style		v1.28.0
    - goimports  # In addition to fixing imports, goimports also formats your code in the same style as gofmt.	format, import	✔	v1.20.0
    # - gomoddirectives  # Manage the use of 'replace', 'retract', and 'excludes' directives in go.mod.	style, module		v1.39.0
    - gomodguard  # 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.	style, import, module		v1.25.0
    - goprintffuncname  # Checks that printf-like functions are named with f at the end	style		v1.23.0
    - gosec  # Inspects source code for security problems	bugs		v1.0.0
    # - gosmopolitan # Report certain i18n/l10n anti-patterns in your Go codebase.	bugs		v1.53.0
    - grouper # Analyze expression groups.	style		v1.44.0
    - importas  # Enforces consistent import aliases	style		v1.38.0
    # - inamedparam # Reports interfaces with unnamed method parameters.	style		v1.55.0
    - interfacebloat # checks the number of methods inside an interface.	style		v1.49.0
    - intrange # Intrange is a linter to find places where for loops could make use of an integer range.			v1.57.0
    # - ireturn  # Accept Interfaces, Return Concrete Types	style		v1.43.0
    - lll  # Reports long lines	style		v1.8.0