Lightweight wrapper for accessing npm programmatically (alternative to adding npm
as a dependency)
require('npm')
seems like a good idea, but it adds tons of weight to your module, since it takes a long time to install. Why not use the npm
your users already have?
NOTE: re:
cache-min
, see: https://github.com/isaacs/npm/issues/2568#issuecomment-30626394 re:loglevel
, see: https://github.com/isaacs/npm/pull/4320
$ npm install enpeem --save
var npm = require('enpeem');
npm.install({
dir: '/code/my-sweet-node-app',
dependencies: [
'[email protected]',
'sails-disk@git://github.com/balderdashy/sails-disk.git#associations',
'lodash'
]
loglevel: 'silent',
'cache-min': 999999999
}, function (err) { /* ... */ });
The
dir
option controls where the NPM package will be installed as a dependency. Ifdir
is unspecified, it defaults to the current working directory. Ifdir
is a relative path, it will be resolved relative to the current working directory.
npm.update({
loglevel: 'silent'
}, function (err) { /* ... */ });