Skip to content

chore: migrate from npm to pnpm#1084

Merged
EugeniyKiyashko merged 3 commits into
masterfrom
migrate-to-pnpm
Apr 22, 2026
Merged

chore: migrate from npm to pnpm#1084
EugeniyKiyashko merged 3 commits into
masterfrom
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
@alexslavr alexslavr requested a review from a team April 22, 2026 08:00
@ajivanyandev ajivanyandev self-requested a review April 22, 2026 08:11
@EugeniyKiyashko EugeniyKiyashko merged commit c8301da into master Apr 22, 2026
43 checks passed
@EugeniyKiyashko EugeniyKiyashko deleted the migrate-to-pnpm branch April 22, 2026 09:05
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.

4 participants