ionic-cli icon indicating copy to clipboard operation
ionic-cli copied to clipboard

Allow configuring npmClient on a project level

Open immortaly007 opened this issue 7 months ago • 0 comments

Currently, the npmClient ionic uses can only be set globally, using e.g.:

ionic config set -g npmClient pnpm

In my opinion, it should be possible to override this on a project level, e.g.:

ionic config set npmClient pnpm

This commands "succeeds" and updates the ionic.config.json, but ionic doesn't check that file for this parameter (a bit confusing).

The use cases:

  • We have some older projects that use npm, and newer once use pnpm. It has happened multiple times that I run ionic build when i just switched project and forgot to switch package manager. This then creates a pnpm-lock file in an npm project. And regularly breaks my dependencies and requires deleting node-modules and reinstalling. This wastes time.
  • We have pipelines that build iOS projects on local MacMini's. However, if the global ionic package manager changes, and a pipeline doesn't have the setting to change it back, the build breaks. It's not always obvious that the issue is caused by a switch in package manager.

This was previously suggested in https://github.com/ionic-team/ionic-cli/issues/4570, but was not implemented because the lack of use cases.

immortaly007 avatar May 05 '25 12:05 immortaly007