npm-autoinit
v0.2.0
Published
Silence "ENOENT package.json" warnings for npm
Downloads
83
Maintainers
Readme
npm-autoinit
If you miss package.json
in the directory npm
is working in, it will complain.
$ npm install thingy
…
npm WARN ENOENT ENOENT: no such file or directory, open '/tmp/tmpdir/R3semq/package.json'
npm WARN EPACKAGEJSON /tmp/tmpdir/R3semq No description
npm WARN EPACKAGEJSON /tmp/tmpdir/R3semq No repository field.
npm WARN EPACKAGEJSON /tmp/tmpdir/R3semq No README data
npm WARN EPACKAGEJSON /tmp/tmpdir/R3semq No license field.
Or even:
$ npm ls
…
npm ERR! error in /tmp/tmpdir/R3semq: ENOENT: no such file or directory, open '/tmp/tmpdir/R3semq/package.json'
I often use temporary directories to play/experiment with packages and hustling with package.json
every time I want to check out some package is not an option for me.
This module will make npm run npm init --yes
automatically for you if it sees fit.
See https://github.com/npm/npm/issues/9161.
How
This package takes advantage of onload-script
npm config option.
A node module to require() when npm loads. Useful for programmatic usage.
onload-script
executes before any work on npm command is done, so if we create package.json
file here (and block while we do it) the problem is solved.
Install
$ npm install -g npm-autoinit
After that, add npm-autoinit/autoinit
as npm onload script:
$ npm config set onload-script npm-autoinit/autoinit
API
autoinit(dir, cb(err))
Check if package.json
is present, and if it's not run npm init -y
.
License
MIT