Skip to content

fix: regenerate package-lock.json for packages/browser-pool workspace - #11784

Merged
diegosouzapw merged 1 commit into
cheaper-inference:release/v3.8.51from
geekyNads:fix/browser-pool-lockfile-sync
Aug 30, 2026
Merged

diegosouzapw merged 1 commit into
cheaper-inference:release/v3.8.51from
geekyNads:fix/browser-pool-lockfile-sync

Conversation

@geekyNads

Copy link
Copy Markdown
Contributor

Fixes #11747

Problem

packages/browser-pool/package.json requires playwright@1.62.1 and @types/node@^26, but package-lock.json retained stale nested overrides from before that manifest was bumped: playwright@1.61.1 and @types/node@22.20.1. These don't satisfy the workspace's own specs, so Arborist treats the locked placement as invalid.

Online npm install masks this by silently re-resolving the mismatched subtree. Cache-only/offline installs (npm ci --offline, Docker builds with a pre-warmed lock cache, Nix's buildNpmPackage) correctly refuse to trust the stale lock and try to hit the registry for the real versions — failing with ENOTCACHED when no network is available.

Fix

Removed the stale packages/browser-pool/node_modules/{playwright,@types/node,undici-types} entries from package-lock.json and regenerated with npm install --package-lock-only. No nested override is needed at all — root already resolves playwright@1.62.1 / @types/node@26.2.0, and browser-pool's ranges are compatible, so it now hoists cleanly to those.

Scanned both workspaces (open-sse, packages/browser-pool) for any other manifest/lockfile drift — none found; this was isolated to the one workspace.

Diff

package-lock.json: 13 insertions, 98 deletions. No production code changed.

Testing

  • npm ci --ignore-scripts --cache <cache> --offline against a cache warmed exclusively from the corrected lockfile: exit 0, full monorepo (2,434 packages), no registry hits — this is the exact cache-only reproduction from the issue
  • playwright resolves to 1.62.1, @types/node resolves to 26.2.0, both hoisted to root with no nested overrides under packages/browser-pool/node_modules
  • npm run lint: exit 0, clean

Checklist

  • Tests pass (no production code changed, no new tests needed)
  • Linting passes
  • Changelog fragment added: changelog.d/fixes/11747-browser-pool-lockfile-sync.md
  • No hardcoded secrets or fallback values
  • SonarQube (pending CI)

The packages/browser-pool workspace manifest (playwright@1.62.1,
@types/node@^26) was bumped without regenerating package-lock.json,
leaving stale nested overrides (playwright@1.61.1, @types/node@22.20.1)
that don't satisfy the workspace's own package.json specs.

Online installs masked this by silently re-resolving the mismatched
subtree, but cache-only/offline installs (npm ci --offline, Nix
buildNpmPackage, Docker builds with a pre-warmed lock cache) fail with
ENOTCACHED because Arborist correctly refuses the invalid locked
placement and tries to hit the registry for the real versions.

Removed the stale packages/browser-pool/node_modules/{playwright,
@types/node,undici-types} lock entries and regenerated via
'npm install --package-lock-only'. Both packages now hoist cleanly to
the already-correct root-level versions (playwright@1.62.1,
@types/node@26.2.0), so no nested override is needed at all.

Verified:
- npm install --ignore-scripts --cache /tmp/omniroute-cache (cache
  warm-up): exit 0
- npm ci --ignore-scripts --cache /tmp/omniroute-cache --offline (full
  monorepo, 2,434 packages): exit 0, no registry hits — this is the
  exact cache-only reproduction from the issue
- playwright resolves to 1.62.1, @types/node resolves to 26.2.0, both
  hoisted to root with no nested overrides under
  packages/browser-pool/node_modules

Fixes cheaper-inference#11747
@diegosouzapw
diegosouzapw merged commit dfc84ba into cheaper-inference:release/v3.8.51 Aug 30, 2026
3 checks passed
muhamadgalihsaputra pushed a commit to niyatna/NiyatnaRoute that referenced this pull request Sep 27, 2026
…cheaper-inference#11784)

Regeneração legítima do `package-lock.json` do workspace `packages/browser-pool`. Sem alteração de código, validado no worktree combinado. Obrigado!
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.

fix(dependencies): v3.8.50 package-lock.json out of sync with new packages/browser-pool workspace — offline installs fail with ENOTCACHED

2 participants