Chore/upgrade deps 05202026#1737
Conversation
There was a problem hiding this comment.
Pull request overview
This PR upgrades dependencies and tooling across the Nx monorepo, moving the workspace to Node 24 + pnpm, updating CI/release automation accordingly, and removing the deprecated Nx workspace plugin tooling.
Changes:
- Switch package manager from Yarn to pnpm (scripts, docs, CI workflows, Dockerfiles) and bump Node engine baseline to 24.
- Upgrade a broad set of dependencies (Nx, Playwright, Prisma, React Email, etc.) and adjust code where required (e.g., oauth4webapi import style, React Email imports, type-only imports).
- Remove the deprecated
tools/workspace-pluginand related generator usage/config.
Reviewed changes
Copilot reviewed 76 out of 82 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
| tsconfig.base.json | Removes TS path alias for the deleted workspace plugin. |
| tools/workspace-plugin/vite.config.ts | Removes deleted workspace-plugin Vitest/Vite config. |
| tools/workspace-plugin/tsconfig.spec.json | Removes deleted workspace-plugin test TS config. |
| tools/workspace-plugin/tsconfig.lib.json | Removes deleted workspace-plugin lib TS config. |
| tools/workspace-plugin/tsconfig.json | Removes deleted workspace-plugin TS project references config. |
| tools/workspace-plugin/src/generators/convert-sass-to-css/schema.json | Removes deleted generator schema. |
| tools/workspace-plugin/src/generators/convert-sass-to-css/index.ts | Removes deleted generator implementation. |
| tools/workspace-plugin/project.json | Removes deleted Nx project definition. |
| tools/workspace-plugin/package.json | Removes deleted plugin package manifest. |
| tools/workspace-plugin/generators.json | Removes deleted plugin generators registry. |
| tools/workspace-plugin/eslint.config.js | Removes deleted plugin ESLint config. |
| tools/tsconfig.tools.json | Removes deleted tools TS config. |
| scripts/create-hotfix.mjs | Updates hotfix instructions/commands from Yarn to pnpm. |
| scripts/check-package-manager.mjs | Adds a guard script to block npm/Yarn installs in favor of pnpm. |
| scripts/build-electron.mjs | Updates desktop build script for pnpm and adds workspace/engine propagation. |
| README.md | Updates local dev instructions to Node 24 + pnpm/Corepack. |
| pnpm-workspace.yaml | Introduces pnpm workspace config and centralizes overrides previously in Yarn resolutions. |
| package.json | Switches engines to Node 24 + pnpm, adds preinstall guard, updates scripts, and bumps many deps. |
| nx.json | Updates lint target default inputs configuration. |
| mock-idp/docker-compose.yml | Updates mock IdP commands from Yarn to pnpm. |
| migrations.json | Updates migration metadata entries for Nx upgrades. |
| libs/shared/ui-record-form/package.json | Removes library-level package.json (reducing workspace packages). |
| libs/shared/ui-db/package.json | Removes library-level package.json (reducing workspace packages). |
| libs/shared/data/src/lib/client-socket-data.ts | Converts some imports to type-only (TS hygiene). |
| libs/salesforce-api/package.json | Removes library-level package.json (reducing workspace packages). |
| libs/email/src/lib/email-templates/org/OrgExpirationWarningEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/auth/WelcomeToProEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/auth/WelcomeEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/auth/VerifyEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/auth/TwoStepVerificationEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/auth/TeamInvitationEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/auth/PasswordResetEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/auth/PasswordResetConfirmationEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/auth/GenericEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/auth/AuthenticationChangeConfirmationEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/admin/StatsSummaryEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/email-templates/admin/CloudflareSecurityAlertEmail.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/components/EmailProLogo.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/components/EmailLogo.tsx | Switches React Email component imports to react-email. |
| libs/email/src/lib/components/EmailFooter.tsx | Switches React Email component imports to react-email. |
| libs/connected/connected-ui/package.json | Removes library-level package.json (reducing workspace packages). |
| libs/auth/server/src/lib/oidc.service.ts | Switches oauth4webapi usage to a static namespace import and updates typings. |
| libs/auth/server/src/lib/auth.utils.ts | Adjusts IP resolution fallback behavior for request address extraction. |
| libs/auth/server/src/lib/auth.service.ts | Switches oauth4webapi usage to a static namespace import (removes dynamic import). |
| eslint.config.js | Narrows react-hooks/set-state-in-effect to TSX files only. |
| electron-builder.config.js | Updates packaging ignore list to exclude pnpm lockfile instead of yarn.lock. |
| Dockerfile.e2e | Updates E2E image to Playwright v1.60 + Node 24 + pnpm. |
| Dockerfile | Updates main image build pipeline to Node 24 + pnpm and adjusts Prisma generation/install steps. |
| docker-compose.yml | Updates DB seed/migrate commands to pnpm. |
| CLAUDE.md | Updates documented Prisma generation command to pnpm. |
| apps/jetstream/vite.config.ts | Updates build comment to reflect pnpm build pipeline. |
| apps/jetstream-web-extension-e2e/playwright.config.ts | Updates commented webServer command to pnpm. |
| apps/jetstream-e2e/project.json | Updates e2e run command to pnpm equivalents. |
| apps/jetstream-desktop/src/services/tests/persistence.service.spec.ts | Increases first-test timeout to reduce CI flakiness. |
| apps/jetstream-desktop-client-e2e/playwright.config.ts | Updates webServer command to pnpm and reorders imports. |
| apps/docs/README.md | Updates docs app commands to pnpm. |
| apps/docs/package.json | Adds Node/pnpm engine constraints and devEngines packageManager metadata. |
| apps/docs/.gitignore | Adds pnpm debug log to gitignore. |
| apps/cron-tasks/src/cloudflare-analytics-archiver.ts | Updates deployment command comment to pnpm. |
| apps/api/src/main.ts | Clarifies trust proxy comment (proxy/IP/cookie behavior). |
| apps/api/src/app/utils/route.utils.ts | Adds fallback when req.ip is missing for rate-limit key generation. |
| apps/api/src/app/controllers/tests/auth.controller.spec.ts | Updates request mock shape around IP fields and removes getApiAddressFromReq mock usage. |
| apps/api/Dockerfile | Updates build command comment to pnpm. |
| apps-sfdx/package.json | Removes resolutions block (now centralized via pnpm overrides). |
| apps-sfdx/.gitignore | Adds pnpm debug log to gitignore. |
| .release-it-web-ext.json | Updates release hooks from yarn/npx usage to pnpm. |
| .release-it-desktop.json | Updates release hook from npx to pnpm. |
| .prettierignore | Ignores .nx/self-healing. |
| .nxignore | Ignores .react-email/ output directory. |
| .nvmrc | Bumps local Node version hint to 24. |
| .husky/commit-msg | Switches commitlint invocation to pnpm exec. |
| .gitignore | Adds pnpm-related ignores (store/logs) and Nx self-healing / React Email outputs. |
| .github/workflows/release.yml | Switches release workflow to pnpm + Node 24. |
| .github/workflows/docs.yml | Switches docs workflow to pnpm + Node 24 and filters install to docs. |
| .github/workflows/ci.yml | Switches CI workflows to pnpm + Node 24 and updates nx/playwright invocations. |
| .dockerignore | Adjusts docker context for pnpm lock/workspace files and custom typings. |
| .claude/settings.json | Updates allowed command patterns from yarn/npx to pnpm. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
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.
|
8164642 to
0d082eb
Compare
ad2ec07 to
59b9a13
Compare
No description provided.