fix: resolve pnpm-related Docker build failures#26
Merged
sundancekid73 merged 2 commits intoMay 12, 2026
Conversation
pnpm enforces strict dependency isolation and does not hoist transitive packages, so lodash (used directly in 4 components) and regenerator-runtime (injected by the @vue/app Babel preset) must be declared explicitly. These were phantom dependencies under npm that worked by accident. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
pnpm v10 introduced ERR_PNPM_IGNORED_BUILDS which requires explicit lockfile-level approval of build scripts via `pnpm approve-builds`. Without a pinned version, `npm install -g pnpm` now installs v10. Pinning to pnpm@9 restores the previous onlyBuiltDependencies behavior. Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
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.
What changed
Two commits fixing GitHub Actions build failures introduced by the pnpm migration.
Why
1. Declare lodash and regenerator-runtime as explicit dependencies
The build failed with "These dependencies were not found: lodash, regenerator-runtime".
pnpm enforces strict dependency isolation and does not hoist transitive packages,
so both had to be declared explicitly in package.json. Under npm they worked as
phantom (hoisted) dependencies. lodash is imported directly in ComicList.vue,
ComicForm.vue, CommentField.vue, and PredicateList.vue. regenerator-runtime is
injected by the @vue/app Babel preset.
2. Pin pnpm to v9 in Dockerfiles
After the first fix, the build failed with ERR_PNPM_IGNORED_BUILDS. pnpm v10
(now installed by
npm install -g pnpm) introduced a new interactivepnpm approve-buildsworkflow that requires lockfile-level approval for anypackage with build scripts — incompatible with CI. Pinning to pnpm@9 restores
the working onlyBuiltDependencies behavior without further changes.
Reviewer notes
No logic or feature changes — all fixes are in package.json, pnpm-lock.yaml,
and both Dockerfiles.