Skip to content

chore(deps): update all non-major dependencies - #149

Merged
dawsontoth merged 1 commit into
mainfrom
renovate/all-minor-patch
Aug 17, 2026
Merged

chore(deps): update all non-major dependencies#149
dawsontoth merged 1 commit into
mainfrom
renovate/all-minor-patch

Conversation

@renovate

@renovate renovate Bot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Taken over from Renovate and rebuilt on top of current main (the original branch's lockfile conflicted after main advanced). Lockfile-only, non-major bumps — package.json is unchanged since every target is already in-range.

Package From To
@commitlint/cli 21.2.1 21.2.2
@commitlint/config-conventional 21.2.0 21.2.2
harper 5.2.1 5.2.2
hono 4.13.1 4.13.2
puppeteer 25.5.0 25.8.0

puppeteer lands on 25.8.0 rather than the 25.7.0 Renovate originally proposed — a newer non-major patch published since the PR was opened, and the latest in-range.

Verification

Regenerated the lockfile with npm update (the five packages above) against current main, then ran the full gate on Node 24:

  • npm run build (tsup ESM + --dts) → success
  • npm run lint (oxlint) → clean
  • npm run format (dprint) → clean
  • npm test (vitest) → 53 files, 345 tests passed

Review coverage

Authored by Claude (Opus 4.8). Mechanical lockfile-only dependency bump, validated by the full CI gate (lint, format, build, test, commitlint); no cross-model review run.

@dawsontoth dawsontoth left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The bumps are fine — the lockfile is regenerated wrong

All three red checks (Lint, Format, Test) are the same failure: npm ci dies before any of them runs. This is the --package-lock-only landmine, not a problem with any dependency in this PR.

What's wrong

This branch touches only package-lock.json (package.json is untouched), and it is a net deletion: 836 insertions, 4657 deletions. It drops 249 lockfile entries — the entire react-native subtree that hangs off harperalasql:

node_modules/harper/node_modules/alasql  --[optionalDependencies]-->  react-native-fs

main has 8 node_modules/react-native* entries; this branch has 0. So npm ci refuses the tree:

npm error code EUSAGE
npm error `npm ci` can only install packages when your package.json and package-lock.json are in sync.
npm error Missing: react-native-fs@2.20.0 from lock file
npm error Missing: react-native@0.84.1 from lock file
npm error Missing: @react-native/codegen@0.84.1 from lock file
... (~148 more from the same subtree)

Reproduced locally on Node 24.19.0 / npm 11.17.0 — identical output to CI.

The trigger is the harper 5.2.1 → 5.2.2 bump in this PR. Renovate regenerates the lockfile with --package-lock-only, which resolves harper's subtree without ever installing it, and alasql's optional react-native-fs dependency is dropped on the floor.

The intended changes are all fine

Filtering out the erroneous deletions, this PR means to bump 22 packages, all routine:

package change
@commitlint/* 21.2.0/21.2.1 → 21.2.2
harper 5.2.1 → 5.2.2
puppeteer, puppeteer-core 25.5.0 → 25.7.0
modern-tar 0.7.6 → 0.8.4
hono 4.13.1 → 4.13.2
devtools-protocol 0.0.1653615 → 0.0.1666840
argon2 (under harper) 0.44.0 → 0.45.1
node-addon-api (under harper) 8.6.0 → 8.9.1

I verified these are good by regenerating the lockfile properly and running the full suite:

npm install          # restores the 8 react-native entries
npm ci               # exit 0
npm run lint         # exit 0
npm run format       # exit 0
npm run build        # exit 0   (note: CI has no build job — checked manually)
npm run test         # exit 0   53 files, 345 tests passing

So there is nothing to fix in the dependency set — only in how the lockfile was produced.

The fix

Regenerate this lockfile with a full install rather than --package-lock-only. In renovate.json:

"postUpdateOptions": ["npmDedupe"],
"skipInstalls": false

skipInstalls: false is the operative setting — it forces a real npm install, which walks optional dependencies and keeps the react-native-fs subtree.

This is the same root cause as the harper bump that blocked agent#141, and it is hitting HarperFast/vite#39 right now for the identical reason (also an npm repo bumping harper to 5.2.2). Worth fixing at the Renovate-config level in both repos rather than per-PR — studio bumps harper too and is unaffected only because pnpm resolves optional deps differently.

Requesting changes so this doesn't land a lockfile that npm ci rejects. Not pushing to the branch, so Renovate keeps its normal rebase loop.

🤖 Verified locally by Claude Opus 5 via scheduled Renovate triage

@dawsontoth

Copy link
Copy Markdown
Contributor

Correction: skipInstalls: false is already set here — my suggested fix was wrong

Following up on my own comment above. The diagnosis of the symptom holds (the lockfile is missing the harperalasqlreact-native-fs optional subtree, and npm ci rejects it), but the remedy I gave was already in place, so please don't act on it as written.

renovate.json on this branch and on the base already contains:

"skipInstalls": false

It was added in e636c85 (ci(renovate): do a full install when updating lockfiles) back on 2026-08-13, precisely to stop this. So skipInstalls: false is necessary but not sufficient — Renovate produced a pruned lockfile anyway.

I also can't reproduce the pruning locally with npm, which means my attribution of it to --package-lock-only was a guess I should not have stated as the cause. Starting from the base lockfile (subtree present, harper at 5.2.1) and re-resolving harper to 5.2.2 every way I could:

how react-native entries after
npm update harper --package-lock-only (npm 11.17.0) 6 — kept
npm update harper full install (npm 11.17.0) 6 — kept
npm update harper --package-lock-only (npm 10.9.3) 6 — kept
npm install --omit=optional --package-lock-only 6 — kept
npm install --omit=optional full 6 — kept

All exit 0, all preserve the subtree, and the npm-10-generated lockfile is even accepted by npm ci under npm 11. So plain npm does not prune this on its own, under either major, in either mode.

What is still solid

Everything I measured directly stands:

  • The branch lockfile is missing the subtree that the base has, and npm ci fails with EUSAGE under npm 11 (Node 24/26) while npm 10 (Node 22) accepts it — which is the whole of the matrix split.
  • A full npm install on the branch restores the subtree, after which npm ci, lint, format, build, and the test suite all pass. The dependency bumps themselves are fine.

What changes about the ask

The immediate unblock is unchanged: commit a full-install regeneration of the lockfile (same remedy that fixed agent#141 / vite#37 on 08-13). What I got wrong is implying a config change would prevent a recurrence — that config is already there and didn't.

So the real follow-up is a genuine root-cause hunt on the Renovate side, not another config toggle. Worth checking:

  • which npm version Renovate's runner actually uses, and whether its lockfile write path differs from the CLI equivalents above
  • whether the optional subtree fails to fetch/build in Renovate's container (react-native-fs and the argon2 / node-addon-api bumps in this same PR are native), leaving it recorded as absent
  • Renovate's repository cache — a stale cached tree from before the 08-13 regen would explain the subtree being dropped again on every re-resolve, and would explain why I can't reproduce it from the committed base

I'd start with Renovate's debug log for this branch's lockfile step; that names the command and npm version and would settle it quickly.

Requesting-changes state is unchanged — the branch still can't be installed with npm ci. Apologies for the misdirection on the fix.

🤖 Verified locally by Claude Opus 5 via scheduled Renovate triage

@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch from cf4df6e to b87aeff Compare August 17, 2026 16:40
Regenerates package-lock.json on top of current main, taking over
Renovate PR #149 (its lockfile conflicted after main advanced). Updates:

- @commitlint/cli            21.2.1 -> 21.2.2
- @commitlint/config-conventional 21.2.0 -> 21.2.2
- harper                     5.2.1  -> 5.2.2
- hono                       4.13.1 -> 4.13.2
- puppeteer                  25.5.0 -> 25.8.0

All in-range (package.json unchanged). puppeteer lands on 25.8.0 rather
than the 25.7.0 Renovate originally proposed, as a newer non-major patch
released since; build, lint, format, and the 345 unit tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@dawsontoth
dawsontoth force-pushed the renovate/all-minor-patch branch from b87aeff to 9d5060e Compare August 17, 2026 18:20
@dawsontoth
dawsontoth merged commit 5dd8e0e into main Aug 17, 2026
6 checks passed
@dawsontoth
dawsontoth deleted the renovate/all-minor-patch branch August 17, 2026 18:22
github-actions Bot pushed a commit that referenced this pull request Aug 17, 2026
## [0.16.42](v0.16.41...v0.16.42) (2026-08-17)

### Dependency Updates

* **deps:** update all non-major dependencies ([5dd8e0e](5dd8e0e)), closes [#149](#149)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant