Lint: Update linter config

Signed-off-by: Knut Ahlers <knut@ahlers.me>
This commit is contained in:
Knut Ahlers 2024-09-22 13:10:07 +02:00
parent 4c2b5441d8
commit 28c8eda61e
Signed by: luzifer
SSH key fingerprint: SHA256:/xtE5lCgiRDQr8SLxHMS92ZBlACmATUmF1crK16Ks4E
6 changed files with 12 additions and 14 deletions

View file

@ -9,7 +9,9 @@ run:
modules-download-mode: readonly modules-download-mode: readonly
output: output:
format: tab formats:
- format: tab
path: stdout
issues: issues:
# This disables the included exclude-list in golangci-lint as that # This disables the included exclude-list in golangci-lint as that
@ -29,11 +31,11 @@ linters:
- bodyclose # checks whether HTTP response body is closed successfully [fast: true, auto-fix: false] - bodyclose # checks whether HTTP response body is closed successfully [fast: true, auto-fix: false]
- containedctx # containedctx is a linter that detects struct contained context.Context field [fast: true, auto-fix: false] - containedctx # containedctx is a linter that detects struct contained context.Context field [fast: true, auto-fix: false]
- contextcheck # check the function whether use a non-inherited context [fast: false, auto-fix: false] - contextcheck # check the function whether use a non-inherited context [fast: false, auto-fix: false]
- copyloopvar # copyloopvar is a linter detects places where loop variables are copied [fast: true, auto-fix: false]
- dogsled # Checks assignments with too many blank identifiers (e.g. x, _, _, _, := f()) [fast: true, auto-fix: false] - dogsled # Checks assignments with too many blank identifiers (e.g. x, _, _, _, := f()) [fast: true, auto-fix: false]
- durationcheck # check for two durations multiplied together [fast: false, auto-fix: false] - durationcheck # check for two durations multiplied together [fast: false, auto-fix: false]
- errcheck # Errcheck is a program for checking for unchecked errors in go programs. These unchecked errors can be critical bugs in some cases [fast: false, auto-fix: false] - errcheck # Errcheck is a program for checking for unchecked errors in go programs. These unchecked errors can be critical bugs in some cases [fast: false, auto-fix: false]
- 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. [fast: false, auto-fix: false] - 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. [fast: false, auto-fix: false]
- exportloopref # checks for pointers to enclosing loop variables [fast: true, auto-fix: false]
- forbidigo # Forbids identifiers [fast: true, auto-fix: false] - forbidigo # Forbids identifiers [fast: true, auto-fix: false]
- funlen # Tool for detection of long functions [fast: true, auto-fix: false] - funlen # Tool for detection of long functions [fast: true, auto-fix: false]
- gocognit # Computes and checks the cognitive complexity of functions [fast: true, auto-fix: false] - gocognit # Computes and checks the cognitive complexity of functions [fast: true, auto-fix: false]
@ -44,12 +46,12 @@ linters:
- gofmt # Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification [fast: true, auto-fix: true] - gofmt # Gofmt checks whether code was gofmt-ed. By default this tool runs with -s option to check for code simplification [fast: true, auto-fix: true]
- gofumpt # Gofumpt checks whether code was gofumpt-ed. [fast: true, auto-fix: true] - gofumpt # Gofumpt checks whether code was gofumpt-ed. [fast: true, auto-fix: true]
- goimports # Goimports does everything that gofmt does. Additionally it checks unused imports [fast: true, auto-fix: true] - goimports # Goimports does everything that gofmt does. Additionally it checks unused imports [fast: true, auto-fix: true]
- gomnd # An analyzer to detect magic numbers. [fast: true, auto-fix: false]
- gosec # Inspects source code for security problems [fast: true, auto-fix: false] - gosec # Inspects source code for security problems [fast: true, auto-fix: false]
- gosimple # Linter for Go source code that specializes in simplifying a code [fast: true, auto-fix: false] - gosimple # Linter for Go source code that specializes in simplifying a code [fast: true, auto-fix: false]
- govet # Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string [fast: true, auto-fix: false] - govet # Vet examines Go source code and reports suspicious constructs, such as Printf calls whose arguments do not align with the format string [fast: true, auto-fix: false]
- ineffassign # Detects when assignments to existing variables are not used [fast: true, auto-fix: false] - ineffassign # Detects when assignments to existing variables are not used [fast: true, auto-fix: false]
- misspell # Finds commonly misspelled English words in comments [fast: true, auto-fix: true] - misspell # Finds commonly misspelled English words in comments [fast: true, auto-fix: true]
- mnd # An analyzer to detect magic numbers. [fast: true, auto-fix: false]
- nakedret # Finds naked returns in functions greater than a specified function length [fast: true, auto-fix: false] - nakedret # Finds naked returns in functions greater than a specified function length [fast: true, auto-fix: false]
- nilerr # Finds the code that returns nil even if it checks that the error is not nil. [fast: false, auto-fix: false] - nilerr # Finds the code that returns nil even if it checks that the error is not nil. [fast: false, auto-fix: false]
- nilnil # Checks that there is no simultaneous return of `nil` error and an invalid value. [fast: false, auto-fix: false] - nilnil # Checks that there is no simultaneous return of `nil` error and an invalid value. [fast: false, auto-fix: false]
@ -75,9 +77,7 @@ linters-settings:
min-complexity: 15 min-complexity: 15
gomnd: gomnd:
settings: ignored-functions: 'strconv.(?:Format|Parse)\B+'
mnd:
ignored-functions: 'strconv.(?:Format|Parse)\B+'
revive: revive:
rules: rules:

2
api.go
View file

@ -59,7 +59,7 @@ func (a apiServer) handleCreate(res http.ResponseWriter, r *http.Request) {
// As a safeguard against HUGE payloads behind a misconfigured // As a safeguard against HUGE payloads behind a misconfigured
// proxy we take double the maximum secret size after which we // proxy we take double the maximum secret size after which we
// just close the read and cut the connection to the sender. // just close the read and cut the connection to the sender.
r.Body = http.MaxBytesReader(res, r.Body, cust.MaxSecretSize*2) //nolint:gomnd r.Body = http.MaxBytesReader(res, r.Body, cust.MaxSecretSize*2) //nolint:mnd
} }
var ( var (

View file

@ -276,7 +276,7 @@ func saveTranslationFile(tf translationFile) error {
} }
encoder := yaml.NewEncoder(f) encoder := yaml.NewEncoder(f)
encoder.SetIndent(2) //nolint:gomnd encoder.SetIndent(2) //nolint:mnd
if err = encoder.Encode(tf); err != nil { if err = encoder.Encode(tf); err != nil {
f.Close() //nolint:errcheck,gosec,revive // Short-lived fd-leak f.Close() //nolint:errcheck,gosec,revive // Short-lived fd-leak

View file

@ -11,8 +11,6 @@ import (
var langKeyFormat = regexp.MustCompile(`^[a-z]{2}(-[A-Z]{2})?$`) var langKeyFormat = regexp.MustCompile(`^[a-z]{2}(-[A-Z]{2})?$`)
func verify(tf translationFile) error { func verify(tf translationFile) error {
var err error
if !langKeyFormat.MatchString(tf.Reference.LanguageKey) { if !langKeyFormat.MatchString(tf.Reference.LanguageKey) {
return errors.New("reference contains invalid languageKey") return errors.New("reference contains invalid languageKey")
} }
@ -29,7 +27,7 @@ func verify(tf translationFile) error {
tf.Reference.FormalTranslations, tf.Reference.FormalTranslations,
tf.Reference.Translations, tf.Reference.Translations,
false, false,
); err != nil { ) {
return errors.New("reference contains error in formalTranslations") return errors.New("reference contains error in formalTranslations")
} }
} }

View file

@ -72,7 +72,7 @@ func fetchRunE(cmd *cobra.Command, args []string) error {
func storeAttachment(dir string, f client.SecretAttachment) error { func storeAttachment(dir string, f client.SecretAttachment) error {
// First lets find a free file name to save the file as // First lets find a free file name to save the file as
var ( var (
fileNameFragments = strings.SplitN(f.Name, ".", 2) //nolint:gomnd fileNameFragments = strings.SplitN(f.Name, ".", 2) //nolint:mnd
i int i int
storeName = path.Join(dir, f.Name) storeName = path.Join(dir, f.Name)
storeNameTpl string storeNameTpl string

View file

@ -40,7 +40,7 @@ var HTTPClient HTTPClientIntf = http.DefaultClient
// //
// The corresponding settings are found in `/src/crypto.js` in the OTS // The corresponding settings are found in `/src/crypto.js` in the OTS
// source code. // source code.
var KeyDerivationFunc = openssl.NewPBKDF2Generator(sha512.New, 300000) //nolint:gomnd // that's the definition var KeyDerivationFunc = openssl.NewPBKDF2Generator(sha512.New, 300000) //nolint:mnd // that's the definition
// Logger can be set to enable logging from the library. By default // Logger can be set to enable logging from the library. By default
// all log-messages will be discarded. // all log-messages will be discarded.
@ -158,7 +158,7 @@ func Fetch(secretURL string) (s Secret, err error) {
if err != nil { if err != nil {
return s, fmt.Errorf("unescaping fragment: %w", err) return s, fmt.Errorf("unescaping fragment: %w", err)
} }
fragmentParts := strings.SplitN(fragment, "|", 2) //nolint:gomnd fragmentParts := strings.SplitN(fragment, "|", 2) //nolint:mnd
fetchURL := u.JoinPath(strings.Join([]string{".", "api", "get", fragmentParts[0]}, "/")).String() fetchURL := u.JoinPath(strings.Join([]string{".", "api", "get", fragmentParts[0]}, "/")).String()
ctx, cancel := context.WithTimeout(context.Background(), RequestTimeout) ctx, cancel := context.WithTimeout(context.Background(), RequestTimeout)