Remove dependency from nested Lerna Package

Viewed 11482

I have a lerna setup with n packages located under packages/. Let us take an example where one of the packages uses express where the others do not.

How can I remove express from this package in a lerna-aware manner so the root package.json is updated?

I can add packages with lerna add --scope but it seems there is no corresponding remove functionality.

3 Answers
  1. Remove package from package.json
  2. Remove node_modules folder: rm -rf packages/{package_name}/node_modules
  3. Run lerna bootstrap

Without step 2 the package still exists in the package-lock.json NPM lock file.

Just remove the packages from your package.json

then run

$lerna bootstrap

If you want to be sure that lerna bootstrap only updates the specific package-lock.json in @org-name/package-name/ and not other package-lock.json files, do:

  1. Manually remove dependencies from @org-name/package-name/package.json

  2. Run:

lerna bootstrap --scope @org-name/package-name --no-ci --force-local
Related