Ensure your package.json is satisfied with your node_modules
$ npm install satisfied --save-dev
The best way to use satisfied
is in your package.json scripts:
{
"scripts": {
"satisfied": "satisfied --fix"
}
}
$ npm run satisfied
satisfied --fix && node index.js
satisfied --exact && mocha
Fixes:
node_modules
that do not satisfy package.json
requirementsnode_modules
that do not satisfy peerspackage.json
versions that do not satisfy peersInstalls the latest exact published version that satisfies the current package.json range and every peer's range. If this silver-bullet-version does not exist satisfied
throws. There is simply no version in existence that satisfies all the required ranges.
How?
package.json
and peersReview and commit the changes 🍻
Usage: satisfied [options]
Options:
--skip-invalid, -I Skips checking invalid ranges (e.g. github urls) [boolean]
--exact, -e Check and fix using exact versions [boolean]
--fix, -f Install modules that satisfy package.json
[choices: "npm", "yarn"]
--ignore, -i RegExp matching modules names to ignore [string]
--no-deps, -D Exclude dependencies [boolean]
--no-devs, -V Exclude devDependencies [boolean]
--no-peers, -P Exclude peerDependencies [boolean]
--debug, -d Output more info [boolean]
-h, --help Show help [boolean]
-v, --version Show version number [boolean]
Examples:
satisfied --fix Fix issues using npm
satisfied --fix yarn Fix issues using yarn
satisfied --ignore "babel-plugin-" Ignore babel-plugins
satisfied --no-peers Exclude peerDependencies
Having a package.json
or yarn.lock
means nothing if it isn't satisfied by the modules that are actually installed.
npm
nor yarn
have a --fix
commandnpm
nor yarn
respects peer dependency versions