Skip to content

chore: migrate from npm to pnpm#1084

Open
EugeniyKiyashko wants to merge 2 commits intomasterfrom
migrate-to-pnpm
Open

chore: migrate from npm to pnpm#1084
EugeniyKiyashko wants to merge 2 commits intomasterfrom
migrate-to-pnpm

Conversation

@EugeniyKiyashko
Copy link
Copy Markdown
Contributor

Migrate the repository from npm to pnpm package manager.

Changes

Package management

  • Added packageManager: "pnpm@9.15.9" to root package.json
  • Created pnpm-workspace.yaml for workspace configuration
  • Replaced package-lock.json (×3) with single pnpm-lock.yaml
  • Moved overrides from root and packages/devextreme-cli into root pnpm.overrides
  • Removed overrides from packages/devextreme-cli/package.json (pnpm only supports root overrides)

Lerna

  • Configured lerna.json with "npmClient": "pnpm" and "useWorkspaces": true
  • Removed postinstall: "lerna bootstrap" (pnpm handles workspace linking)
  • Replaced lerna run commands with pnpm -r run / pnpm --filter
  • Kept lerna as devDependency for publish workflow (lerna version + lerna publish)

Scripts

  • Root: npm run --prefix ./packages/devextreme-cli <script>pnpm --filter devextreme-cli run <script>
  • Root: lerna run --stream testpnpm -r run test
  • Sub-packages: npm runpnpm run in script chains

CI/CD workflows

  • lint.yml: Added pnpm/action-setup@v4, switched to pnpm install --frozen-lockfile
  • applications.yml: Same + updated argument passing, pnpm setup for schematics-test job
  • themebuilder.yml: Replaced manual actions/cache with built-in pnpm caching
  • publish.yml: npx lernapnpm exec lerna, single pnpm install for workspace
  • check-nextjs.yml: Removed cache: 'npm' (this workflow tests end-user npm flow, not repo build)

Documentation

  • Updated README_DEVELOPERS.md: all npm runpnpm run, lerna runpnpm --filter

Not changed (product code)

  • src/utility/package-manager.js — end-user package manager detection (npm/yarn)
  • src/utility/ng-version.jsnpm view for Angular version lookup
  • src/utility/package-json-utils.js — generates scripts for end-user apps
  • src/applications/*.js — postinstall scripts in generated apps
  • packages/devextreme-schematics/src/utility/typescript-resolver.ts — npm install/root commands

@EugeniyKiyashko EugeniyKiyashko force-pushed the migrate-to-pnpm branch 5 times, most recently from 3a931a5 to e38df0e Compare April 17, 2026 07:31
@EugeniyKiyashko EugeniyKiyashko self-assigned this Apr 17, 2026
@EugeniyKiyashko EugeniyKiyashko force-pushed the migrate-to-pnpm branch 7 times, most recently from 925b2fb to 7dd07ea Compare April 20, 2026 05:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant