npminstall
![npm download](https://img.shields.io/npm/dm/npminstall.svg?style=flat-square)
Let npm install
fast and easy.
Installation
$ npm install npminstall --save
Quick start
const co = require('co');
const npminstall = require('npminstall');
co(function*() {
yield npminstall({
root: process.cwd(),
});
}).catch(function(err) {
console.error(err.stack);
});
node_modules
Two rules:
- The latest version of modules will link at
options.storeDir
's node_modules
. - Module's dependencies will link at module's
node_modules
.
e.g.:
- app:
{ "dependencies": { "a": "1.0.0" } }
(root) - a@1.0.0:
{ "dependencies": { "c": "2.0.0", "b": "1.0.0" } }
- b@1.0.0:
{ "dependencies": { "c": "1.0.0" } }
app/package.json
app/node_modules/.npminstall/a/1.0.0
app/node_modules/.npminstall/a/1.0.0/node_modules/c@ -> ../../../c/2.0.0
app/node_modules/.npminstall/a/1.0.0/node_modules/b@ -> ../../../b/1.0.0
app/node_modules/.npminstall/b/1.0.0
app/node_modules/.npminstall/b/1.0.0/node_modules/c@ -> ../../../c/1.0.0
app/node_modules/.npminstall/c/1.0.0
app/node_modules/.npminstall/c/2.0.0
app/node_modules/a@ -> .npminstall/a/1.0.0
app/node_modules/.npminstall/node_modules/b@ -> ../b/1.0.0 (latest version)
app/node_modules/.npminstall/node_modules/c@ -> ../c/2.0.0 (latest version)
a@1.0.0
is root package, won't create link at app/node_modules/.npminstall/node_modules/a@
.
License
MIT