This is possible with pre-install script to check for yarn.lock
and package.json
.
The closest I can find for this is,
sindresorhus / is-npm
Check if your code is running as an npm or yarn script
Now, I did ask the author to make CLI for me, but he didn't do exactly what I needed, so I made one myself.
patarapolw / check-npm-yarn
CLI to check NPM or Yarn if specified, or look for package-lock.json or yarn.lock
Now, there is still an extra step. "preinstall": "npx check-npm-yarn"
alone might not be enough. To avoid npx
and installing every time, I make it,
{
"scripts": {
"preinstall": "if command -v check-npm-yarn > /dev/null; then check-npm-yarn; fi"
}
}
An issue with NPM -- preinstall npm hook doesn’t execute when installing a specific package
I created nsi
script for this.
nsi packageA packageB packageC ...
// Or nsi packageA packageB packageC ... --dev
Top comments (2)
What are your thoughts on checking this in CI or with a git hook?
I am thinking there might be edge cases where one would want to install with the other manager to temporarily test something out.
Edit: And the pre-install can technically be omitted, although that would imply, someone wanting' to omit the rules.
I made bugs. I tested, so should be fixed now.