Repository navigation
chore(deps): combine dependency updates - #16
Merged
Merged
Conversation
Member
Author
|
@codex review |
Member
Author
|
@codex security review |
Member
Author
|
Validation evidence for head
Recording: gates.mp4Generated with |
This was referenced Sep 24, 2026
Closed
This was referenced Oct 30, 2026
Merged
ThomasK33
added a commit
that referenced
this pull request
Oct 30, 2026
## Why The goal is to fix every open issue on this repo. #16 showed that a manual `npm update` adopts releases that are only 1 to 5 days old. This PR makes npm wait 7 days before it picks a new version, so a compromised or broken release has time to be found and pulled first. Closes #18 ## What changed - New `.npmrc` with `min-release-age=7`. It needs npm 11.10 or later, and the pinned Node 26.12.1 ships npm 11.20. - `devEngines` in `package.json` stops npm 10.9 to 11.9 in this checkout with `EBADDEVENGINES`, because those versions ignore the setting without an error. - README: a "Dependency Updates" section with the rule, the one-command override (`--min-release-age=0`), and two caveats. `npm audit fix` can be blocked, and a bare `npm update` moves lockfile entries younger than 7 days back to older versions. ## Scope - Covers every manual `npm install` and `npm update` in this checkout. npm 10.8 and older (Node 20, end of life) ignore both the setting and `devEngines`. - Does not add `.github/dependabot.yml`. Its `cooldown` applies only to version updates, and adding the file would turn on version-update PRs. This repo bundles dependency updates by hand (#16) because Dependabot's lockfile-only PRs conflict with each other. Dependabot also reads `min-release-age` from `.npmrc` as the cooldown if version updates are added later ([dependabot-core#15132](dependabot/dependabot-core#15132)). ## Blast Radius Only contributors who run npm in this repo see it. `npm ci` (CI, release) installs the lockfile as pinned and ignores release age. Dependabot security updates pass `--min-release-age=0` and are not delayed ([dependabot-core#15139](dependabot/dependabot-core#15139), [#15386](dependabot/dependabot-core#15386)). npm never packs `.npmrc` and checks `devEngines` only for the root project, so consumers are unaffected (a consumer on npm 10.9.8 installs a dependency that has this `devEngines` with exit 0). ## Verification - Repo copy, `npm update --package-lock-only`: without `.npmrc` rolldown goes to 1.2.16 (0.86 days old). With it rolldown stays at 1.2.15, and the youngest lockfile entry is 8.73 days old. - Scratch project: `rolldown@^1.2.14` resolves to 1.2.15, not 1.2.16. `rolldown@1.2.16` fails with `ETARGET`. Adding `--min-release-age=0` installs it. A lockfile that already pins 1.2.16 still passes `npm ci` and `npm install`. - npm 10.9.8 with only the `.npmrc` resolves rolldown 1.2.16 and exits 0. With `devEngines`, `npm ci`, `npm install` and `npm run` stop with `EBADDEVENGINES`. npm 11.12.1 and 11.20.0 pass. - Full gate on the final head with `.npmrc` and `devEngines` in place: `npm ci`, build:libghostty, build:native, build, typecheck, test (85 passed), smoke, and `npm pack --dry-run` all exit 0. The tarball has no `.npmrc`. --- _Generated with [`xum`](https://github.com/coder/xum) • Model: `anthropic:claude-opus-5-5` • Thinking: `high`_
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 join this conversation on GitHub.
Already have an account?
Sign in to comment
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.


Combines every open Dependabot update into one lockfile refresh, and also applies the other in-range updates that
npm outdatedreported.Supersedes #5, #6, #9, #10, #11, #13, #14.
What changed
package-lock.jsonwas regenerated withnpm update(Node 25.9.0, npm 11.12.1). It was not edited by hand.package.jsonis unchanged. Every new version fits the existing semver ranges.Dependabot targets
Other direct dependencies (in range)
All other transitive changes
Skipped major bumps
typescript5.9.3 → 7.0.2: major (the TypeScript 7 native compiler). Not proposed by Dependabot.@types/node25.x → 26.x: major, and the repo pins Node 25.9 inmise.toml. Not proposed by Dependabot.Validation
Run locally on Linux x64 with the
mise.tomltoolchain (Node 25.9.0, Zig 0.15.2), matchingmise run ci:npm ci✅npm run build:libghostty✅npm run build:native(node-gyp) ✅npm run build✅npm run typecheck✅npm test: 2 files, 6 tests ✅npm run smoke✅npm run build:prebuild && npm run verify:prebuilds && npm pack --dry-run✅The repo has no lint script.
npm audit: before, 8 (1 critical, 4 high, 2 moderate, 1 low); after, 0.Generated with
xum• Model:anthropic:claude-opus-5-5• Thinking:high