Pin two eslint transitives to clear the last audit advisories (#81) #102
No reviewers
Labels
No labels
area/ai
area/backend
area/frontend
area/infra
area/scheduler
area/wled
good-first-issue
priority/high
priority/low
priority/medium
type/bug
type/chore
type/ci-cd
type/docs
type/feature
type/qa
v1.0.0
v1.1.0
v1.2.0
v2.0.0
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
rbrooks/Iris-WLED!102
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/audit-overrides"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes the remaining checkbox on #81.
npm audit --audit-level=highnow reportsfound 0 vulnerabilities.Why a pin rather than a bump
Four of the six original advisories cleared through ordinary Renovate work (
react-router-domv7 for both moderates, plusnanoid,postcss, and — via #35 — thetypescript-estreeroute tobrace-expansion).The last two were reachable only inside eslint's own dependency tree, at the latest published eslint (9.39.5):
There is no newer eslint, so no dependency PR could ever have fixed these — waiting on Renovate meant waiting indefinitely on upstream.
Scoping and verification
The selectors are scoped by major so the healthy
brace-expansion@5.0.9used by@typescript-eslint/typescript-estreeis left alone — a blanket"brace-expansion"key would have downgraded it and brokenminimatch@10. Confirmed after the change:npm ci— what CI actually runs — accepts the regenerated lockfile (checked separately fromnpm install, since a package.json/lock mismatch would have broken every CI run).npm audit --audit-level=high→ 0 vulnerabilities, both afternpm installand after a cleannpm ci.tsc -b,eslint,vitest(70 passed) andnpm run buildall clean.Keeping the pins from rotting
Renovate does not manage
overrides. These generate no update PRs and are never flagged stale, so the failure mode is a pin that looks protective while actually holding a package back.CONTRIBUTING.mdgains a Dependency overrides subsection under Frontend setup pointing at #101 —package.jsoncan't carry the comment itself, so the note goes where someone editing it would look.🤖 Generated with Claude Code