web: put playwright in the lockfile so npm ci can run at all - #65
Merged
Conversation
`playwright` was added to web/package.json in 85a08f0 (#37) without regenerating web/package-lock.json. `npm ci` refuses to install from a lock that disagrees with the manifest, so a clean install of the frontend has been impossible since: npm error `npm ci` can only install packages when your package.json and npm error package-lock.json ... are in sync. npm error Missing: playwright@1.62.1 from lock file npm error Missing: playwright-core@1.62.1 from lock file npm error Missing: fsevents@2.3.2 from lock file Regenerated with `npm install --package-lock-only`, so this adds the three missing entries and changes nothing else — no version of any existing dependency moves. After this, `npm ci` exits 0, `tsc --noEmit` reports zero errors, and all five web suites pass. Co-Authored-By: Claude Opus 5 (1M context) <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 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.
npm cihas been impossible inweb/since #37. This makes it work again.The bug
85a08f0(#37) addedplaywrighttoweb/package.jsonwithout regeneratingweb/package-lock.json.npm ciinstalls only from the lock and refuses to run when the two disagree:So anyone doing a clean frontend install gets nothing, and falls back to borrowing a
node_modulesfrom elsewhere on the box — which is how two machine-localnode_modulessymlinks ended up committed tomainand needed #64 to remove.The fix
npm install --package-lock-only: adds the three missing entries, moves no existing dependency version. Diff is the lock and nothing else.Verified after the change
npm ci→ exit 0npm run typecheck(tsc --noEmit) → 0 errors. Worth noting: the 32 "cannot find module" errors people have been seeing were entirely an artefact of incomplete borrowed dependency trees, not the source.exchanges,sessionTitle,overviewSort,drafts,traceWindows.Related, NOT fixed here
traceWindowsneeds a Chromium that the image doesn't have.Dockerfile:82installs browsers withnpx -y playwright install --with-deps chromium— unpinned, so it fetches whatever is newest at build time instead of the versionpackage.jsonpins, and|| echo "playwright chromium install failed"swallows the failure silently. The running image haschromium-1208; playwright 1.62.1 wants build1234, so any browser test fails until someone installs it by hand.I installed the matching build into
/opt/pw-browserson the live box so tests run now, but that is a patch on one machine and it will drift again on the next rebuild. The real fix is to install browsers using the project's own pinned playwright and to stop swallowing the error — deliberately left out of this PR, since changing the image build wants its own review.🤖 Generated with Claude Code