chore: migrate from npm to pnpm#25
Merged
Merged
Conversation
- Replace package-lock.json with pnpm-lock.yaml (generated via pnpm import) - Update Dockerfiles to use node:lts-alpine (was pinned to 3.14) with corepack pnpm - Add pnpm.onlyBuiltDependencies to package.json for native/postinstall packages - Switch npm install → pnpm install --frozen-lockfile in Docker builds Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
node-sass@9 has no prebuilt binaries for Node 22 (node:lts-alpine) and requires python3/make/g++ to compile from source on Alpine. Switching to sass (Dart Sass) avoids the native compilation entirely. Also replace `corepack prepare pnpm@latest --activate` with `npm install -g pnpm` which is more reliable in CI Docker builds. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
deasync (pulled in by @vue/cli-service) is a native addon that requires node-gyp to compile. Alpine has no build tools by default, causing the install to fail with "Could not find any Python installation". Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Webpack 4 uses MD4 hashing which relies on OpenSSL legacy algorithms. Node 17+ (OpenSSL 3) disables these by default, causing ERR_OSSL_EVP_UNSUPPORTED at build time. Setting --openssl-legacy-provider restores the required behaviour. Also fix legacy ENV key value syntax to ENV key=value. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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 <noreply@anthropic.com>
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 <noreply@anthropic.com>
fix: resolve pnpm-related Docker build failures
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.
No description provided.