Check whether every peerDependency is defined as a devDependency
As we all know, npm 3 changed to not install peerDependencies automatically. peerDependencies are still be useful and used by many package authors these days.
As a package author it's quite anoying during development that peerDependencies are not installed automacily anymore. There is an open feature request in the yarn repostiroy to allow install peerDependencies during development.
Recently one of my colleague suggested me to add them as devDependencies. Obviously duplicating is not the best solution, but it works. However there is a risk that they can get out of sync easily. To solve this issue, I wrote this CLI which checks if every peerDependency is defined as a devDependency with the same semver range.
$ npm install peer-version-check
before_script:
npx peer-version-check
$ peer-version-check <path-to-package.json> (optional)
$ peer-version-check ./package.json
Expected devDependency 'lodash' to be:
^4.0.0
Found:
^3.0.0
Exits with code 0 if every peerDependency is defined as a devDependency with the same semver range. If not exits with code 1 and an error message.
Common npm mistakes - Excellent article to read
MIT © Stefan Buck