chore: migrate to pnpm#1730
Conversation
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Pull request overview
Migrates the workspace from Yarn Classic to pnpm (Corepack-managed). Updates root package.json (engines, packageManager, scripts), introduces pnpm-workspace.yaml and a preinstall package-manager guard, switches CI workflows, Dockerfiles, release configs and docs from yarn/npx to pnpm/corepack pnpm, removes obsolete library package.json shims and Yarn resolutions, and tweaks the Electron build pipeline to stage a pnpm-compatible target package.json. Also bundles a couple of unrelated runtime fallbacks for missing IP addresses.
Changes:
- Replace Yarn with pnpm everywhere (root scripts, CI, Docker, docs, release hooks, Electron build) and add a
preinstallguard. - Add
pnpm-workspace.yamlwith pnpmoverrides(migrated from Yarnresolutions) and a planning doc. - Promote previously-implicit transitive deps to direct dependencies in root
package.json, and remove now-unused per-libpackage.jsonshims.
Reviewed changes
Copilot reviewed 38 out of 43 changed files in this pull request and generated 15 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Switch packageManager, engines, scripts; add several direct deps |
| pnpm-workspace.yaml | New workspace + overrides + allowBuilds config |
| PNPM_MIGRATION_PLAN.md | Temporary migration planning doc |
| scripts/check-package-manager.mjs | New preinstall guard enforcing pnpm |
| scripts/build-electron.mjs | Convert yarn add/remove to pnpm; new prepareTargetPackageJson |
| scripts/create-hotfix.mjs | Update help text to pnpm |
| Dockerfile / Dockerfile.e2e / docker-compose.yml | Use Corepack + pnpm install/run |
| .github/workflows/{ci,release,docs}.yml | Add pnpm/action-setup, switch cache and commands |
| .release-it-web-ext.json / .release-it-desktop.json | Switch release hooks to pnpm |
| electron-builder.config.js | Exclude pnpm-lock.yaml instead of yarn.lock |
| apps/jetstream-e2e/project.json, apps/jetstream-desktop-client-e2e/playwright.config.ts, apps/jetstream-web-extension-e2e/playwright.config.ts | pnpm command updates |
| apps/jetstream/vite.config.ts, apps/cron-tasks/src/cloudflare-analytics-archiver.ts, apps/api/Dockerfile, mock-idp/docker-compose.yml | Comment/docs updates from yarn to pnpm |
| apps/docs/{README.md,package.json,.gitignore} | pnpm docs commands; drop redundant resolutions |
| apps-sfdx/{package.json,.gitignore} | Drop redundant resolutions; add pnpm log ignore |
| README.md, CLAUDE.md, .claude/settings.json | Doc/tooling updates for pnpm |
| .dockerignore, .gitignore | Track pnpm lockfile/store, ignore pnpm logs |
| libs/{salesforce-api,connected/connected-ui,shared/ui-db,shared/ui-record-form}/package.json | Remove obsolete per-lib package.json stubs |
| libs/shared/data/src/lib/client-socket-data.ts | Convert to import type (pnpm strictness) |
| libs/auth/server/src/lib/auth.utils.ts | Behavior change: fall back IP to unknown-<ts> |
| apps/api/src/app/utils/route.utils.ts | Behavior change: default req.ip to 'unknown' |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
953e4c1 to
7c6b0dd
Compare
7c6b0dd to
3c6b87d
Compare
| "unzipper": "^0.12.3", | ||
| "update-electron-app": "^3.1.2", | ||
| "uuid": "^9.0.1", | ||
| "uuid": "^14.0.0", |
| COPY --link package.json pnpm-lock.yaml pnpm-workspace.yaml ./ | ||
| RUN pnpm install --frozen-lockfile --prod=false |
| COPY ./pnpm-lock.yaml . | ||
| COPY ./pnpm-workspace.yaml . | ||
| COPY ./.env . | ||
| COPY ./ecosystem.config.js . | ||
| COPY ./prisma ./prisma/ | ||
|
|
||
| # Install core dependencies | ||
| RUN yarn | ||
| RUN pnpm install --prod --no-frozen-lockfile |
3c6b87d to
f176737
Compare
| "icons:build:action": "pnpm dlx @svgr/cli@5.5.0 --config-file .svgo-config.json -d ./libs/icon-factory/src/lib/icons/action ./node_modules/@salesforce-ux/design-system/assets/icons/action", | ||
| "icons:build:custom": "pnpm dlx @svgr/cli@5.5.0 --config-file .svgo-config.json -d ./libs/icon-factory/src/lib/icons/custom ./node_modules/@salesforce-ux/design-system/assets/icons/custom", | ||
| "icons:build:doctype": "pnpm dlx @svgr/cli@5.5.0 --config-file .svgo-config.json -d ./libs/icon-factory/src/lib/icons/doctype ./node_modules/@salesforce-ux/design-system/assets/icons/doctype", | ||
| "icons:build:standard": "pnpm dlx @svgr/cli@5.5.0 --config-file .svgo-config.json -d ./libs/icon-factory/src/lib/icons/standard ./node_modules/@salesforce-ux/design-system/assets/icons/standard", | ||
| "icons:build:utility": "pnpm dlx @svgr/cli@5.5.0 --config-file .svgo-config.json -d ./libs/icon-factory/src/lib/icons/utility ./node_modules/@salesforce-ux/design-system/assets/icons/utility", |
09b7e63 to
7b0740d
Compare
No description provided.