docs(shrinkwrap): update npm-shrinkwrap.readme.md with info about deleting dependencies

This commit is contained in:
Igor Minar 2015-06-04 10:10:03 -07:00
parent d76a2ee9c9
commit 2621d6be8b
1 changed files with 13 additions and 2 deletions

View File

@ -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. 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` 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` 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 <packagename>` 4. add a new dependency via `npm install --save-dev <packagename>`
5. update npm-shrinkwrap.json with `npm shrinkwrap --dev` 5. update npm-shrinkwrap.json with `npm shrinkwrap --dev`
6. run `./tools/npm/clean-shrinkwrap.js` 6. run `./tools/npm/clean-shrinkwrap.js`
7. these steps should change 3 files: `package.json`, `npm-shrinkwrap.json` and `npm-shrinkwrap.clean.json` 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. 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` 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` 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 <packagename>@<version|latest>` or `npm update <packagename>` to update to the latest version that matches version constraint in `package.json` 4. run `npm install --save-dev <packagename>@<version|latest>` or `npm update <packagename>` to update to the latest version that matches version constraint in `package.json`
5. relock the dependencies with `npm shrinkwrap --dev` 5. relock the dependencies with `npm shrinkwrap --dev`
6. clean up the shrinkwrap file for review with `./tools/npm/clean-shrinkwrap.js` 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 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 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 <packagename>@<version|latest>`
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