Ray Booysen
Ray Booysen

Reputation: 30031

Remove dependency from nested Lerna Package

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.

Upvotes: 22

Views: 15777

Answers (3)

a1300
a1300

Reputation: 2813

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. Remove the whole node_modules directory for this one package
rm -rf packages/package-name/node_modules
  1. Now bootstrap only this one package.
lerna bootstrap --scope @org-name/package-name --no-ci --force-local

Upvotes: 1

Micah Henning
Micah Henning

Reputation: 2185

  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.

Upvotes: 18

manuelBetancurt
manuelBetancurt

Reputation: 16158

Just remove the packages from your package.json

then run

$lerna bootstrap

Upvotes: 13

Related Questions