Suppress the revive package-name findings with no fix (closes #61)
All checks were successful
check / check (pull_request) Successful in 3m11s
All checks were successful
check / check (pull_request) Successful in 3m11s
Three findings remain that cannot be fixed without making a repo-wide naming decision, so each carries a per-site //nolint directive with its justification. revive var-naming (internal/log, internal/crypto, internal/types): fixing these means renaming packages across the whole codebase, which is the repo owner's call, not a lint fix. Neither stdlib log nor stdlib crypto is imported anywhere in the repo, so nothing is actually shadowed today. The rename decision is tracked in issue #76. revive reports a package-name failure only once per package directory, on whichever file it happens to lint first, so every file of the affected packages carries the directive and lists nolintlint alongside revive so the ones that lose the race are not reported as unused. No gosec directives are needed: the pinned golangci-lint v2.12.2 that CI and the Dockerfile use reports nothing at the term.IsTerminal conversions in internal/log and internal/ui or at the os.Remove calls in internal/vaultik/verify.go, so suppressing there would itself fail nolintlint as an unused directive. Verification is script/cibuild, which builds the hash-pinned lint image: it exits 0, with make lint reporting "0 issues" under the canonical .golangci.yml (sha256 021cc83f4e6fc7c31b95b34b846723dfcf20b66b7baeea1dc40406e643346bcb, unmodified), plus make fmt-check, make test and the release build. That also unblocks issue #59. make check is not a valid gate here: script/lint runs whatever golangci-lint is on PATH rather than the pinned version, which is tracked in issue #78. Also corrects the capacity comment in collectBatchFlushData: an empty file contributes no chunk mappings, so the pending-file count is a rough starting capacity, not a lower bound. TODO.md: record this work, note that the previous next step (reconciling uncommitted ARCHITECTURE.md edits) needed no work because the tree is clean, and move the next step on to the stale-branch triage.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
// Package crypto provides thread-safe age encryption and decryption
|
||||
// helpers used to protect blob and metadata content.
|
||||
package crypto
|
||||
package crypto //nolint:revive,nolintlint // stdlib crypto unused; see #76
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Package log provides the application-wide structured logger: slog
|
||||
// with a colorized TTY handler on terminals and JSON output otherwise.
|
||||
package log
|
||||
package log //nolint:revive,nolintlint // stdlib log unused here; see #76
|
||||
|
||||
import (
|
||||
"context"
|
||||
@@ -69,7 +69,7 @@ func Initialize(cfg Config) {
|
||||
Level: level,
|
||||
}
|
||||
|
||||
// Check if stdout is a TTY
|
||||
// Check if stdout is a TTY.
|
||||
if term.IsTerminal(int(os.Stdout.Fd())) {
|
||||
// Use colorized TTY handler
|
||||
logger = slog.New(NewTTYHandler(os.Stdout, opts))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package log
|
||||
package log //nolint:revive,nolintlint // stdlib log unused here; see #76
|
||||
|
||||
import (
|
||||
"go.uber.org/fx"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
package log
|
||||
package log //nolint:revive,nolintlint // stdlib log unused here; see #76
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
@@ -624,9 +624,10 @@ func (s *Scanner) collectBatchFlushData(
|
||||
|
||||
collectStart := time.Now()
|
||||
|
||||
// Every pending file contributes at least one file-chunk and one
|
||||
// chunk-file mapping, so the file count is a safe lower bound for the
|
||||
// initial capacity of both slices.
|
||||
// A pending file contributes one mapping of each kind per chunk, and
|
||||
// an empty file contributes none, so the file count is only a rough
|
||||
// starting capacity for the mapping slices; append grows them as
|
||||
// needed. It is exact for the file and file-ID slices.
|
||||
allFileChunks := make([]database.FileChunk, 0, len(canFlush))
|
||||
allChunkFiles := make([]database.ChunkFile, 0, len(canFlush))
|
||||
allFileIDs := make([]types.FileID, 0, len(canFlush))
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
// vaultik codebase. Using distinct types for IDs, hashes, paths, and
|
||||
// credentials prevents accidental mixing of semantically different values
|
||||
// that happen to share the same underlying type.
|
||||
package types
|
||||
package types //nolint:revive,nolintlint // rename decision tracked in #76
|
||||
|
||||
import (
|
||||
"database/sql/driver"
|
||||
|
||||
Reference in New Issue
Block a user