diff --git a/npm-shrinkwrap.readme.md b/npm-shrinkwrap.readme.md index fc3a19c7f9..f62f246a81 100644 --- a/npm-shrinkwrap.readme.md +++ b/npm-shrinkwrap.readme.md @@ -17,7 +17,7 @@ To add a new dependency do the following: 1. if you are on linux or windows, then use MacOS or ask someone with MacOS to perform the installation. This is due to an optional `fsevents` dependency that is really required on MacOS to get good performance from file watching. 2. make sure you are in sync with `upstream/master` 3. ensure that your `node_modules` directory is not stale or poisoned by doing a clean install with `rm -rf node_modules && npm install` -4. add a new dependency via `npm install -D ` +4. add a new dependency via `npm install --save-dev ` 5. update npm-shrinkwrap.json with `npm shrinkwrap --dev` 6. run `./tools/npm/clean-shrinkwrap.js` 7. these steps should change 3 files: `package.json`, `npm-shrinkwrap.json` and `npm-shrinkwrap.clean.json` @@ -29,9 +29,20 @@ To update existing dependency do the following: 1. if you are on linux or windows, then use MacOS or ask someone with MacOS to perform the installation. This is due to an optional `fsevents` dependency that is really required on MacOS to get good performance from file watching. 2. make sure you are in sync with `upstream/master`: `git fetch upstream && git rebase upstream/master` 3. ensure that your `node_modules` directory is not stale or poisoned by doing a clean install with `rm -rf node_modules && npm install` -4. run `npm install -D @` or `npm update ` to update to the latest version that matches version constraint in `package.json` +4. run `npm install --save-dev @` or `npm update ` to update to the latest version that matches version constraint in `package.json` 5. relock the dependencies with `npm shrinkwrap --dev` 6. clean up the shrinkwrap file for review with `./tools/npm/clean-shrinkwrap.js` 7. these steps should change 2 files: `npm-shrinkwrap.json` and `npm-shrinkwrap.clean.json`. Optionally if you used `npm install ...` in the first step, `package.json` might be modified as well 8. commit changes to these three files and you are done + +To Remove an existing dependency do the following: + +1. if you are on linux or windows, then use MacOS or ask someone with MacOS to perform the installation. This is due to an optional `fsevents` dependency that is really required on MacOS to get good performance from file watching. +2. make sure you are in sync with `upstream/master`: `git fetch upstream && git rebase upstream/master` +3. ensure that your `node_modules` directory is not stale or poisoned by doing a clean install with `rm -rf node_modules && npm install` +4. run `npm uninstall --save-dev @` +5. relock the dependencies with `npm shrinkwrap --dev` +6. clean up the shrinkwrap file for review with `./tools/npm/clean-shrinkwrap.js` +7. these steps should change 3 files: `npm-shrinkwrap.json` and `npm-shrinkwrap.clean.json`. +8. commit changes to these three files and you are done