deps(dashboard): settle the transitive advisory tail in one pass - #94
Merged
Conversation
Four packages had open advisories and no clean path. Dependabot opened one PR each; every merge invalidated the others' lockfile, so the three that remained went BLOCKED, rebased, went CLEAN, and went BLOCKED again as soon as one landed. Three more rebases would have raced the same way. @hono/node-server, brace-expansion and fast-uri are all transitive with no parent release available, so they are pinned forward with overrides, once, together. Resolved and checked: 1.19.17, 5.0.9, 3.1.5. postcss took a different route. It is a direct devDependency and could not be overridden while the manifest said ^8, so it moves to ^8.5.23 there instead. postcss is also the one advisory that stays open, and the reason is worth writing down rather than leaving as an unexplained red row. next 15.5.21 pins postcss to exactly 8.4.31 and bundles its own copy. Forcing a version past a framework's exact pin is how a build breaks in a way nobody traces back to a dependency file, and this is build-time tooling in a static export. Dependabot's own answer was to take Next 16 along with it, which is the migration that keeps arriving attached to unrelated advisories and keeps being declined. Both decisions are recorded in overridesNote so the next person finds the reasoning and the removal condition in the file. tsc clean, lint clean, 99 tests, static export builds. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces #93, #89 and #72, which could not converge.
Why not just merge the Dependabot PRs
Four packages, four PRs, one lockfile. Every merge invalidated the others: the remaining three went BLOCKED, rebased to CLEAN, then went BLOCKED again the moment one landed. Three more rebases would have raced identically.
What this does
@hono/node-server,brace-expansionandfast-uriare all transitive with no parent release available, so they are pinned forward withoverridesonce, together:@hono/node-serverbrace-expansionfast-uripostcssis a direct devDependency and could not be overridden while the manifest said^8, so it moves to^8.5.23there instead.The one that stays open, and why
postcss keeps an alert, and the reason belongs in the file rather than as an unexplained red row.
next@15.5.21pins postcss to exactly 8.4.31 and bundles its own copy:Forcing a version past a framework's exact pin is how a build breaks in a way nobody traces back to a dependency file. Dependabot's own answer was #91, which took Next 16 along with it: the third time today a major framework migration has arrived attached to an unrelated advisory, and the third time it has been declined.
This is build-time tooling in a static export. It goes when Next 16 goes, deliberately.
Recorded in the file
overridesNotenow carries both decisions and the removal condition for each, so the next person finds the reasoning without going through git log.Verified
npm cifrom a clean slate: lockfile in synctsc --noEmitclean, lint clean🤖 Generated with Claude Code