Async NPM shell commands: install, test, etc.
var npmUtils = ;npmUtilsversion;
// returns immediately path to npm command
returns a promise
name could be another folder or a tar archive; passed
npm install <name> unchanged, that can be any match.
npm help install.
name property, it just runs
npm install in the current folder.
Clones Git repository for given NPM module and installs dependencies in the cloned folder.
Returns a promise
// returns a promise, resolved with NPM version string
// spawns npm test command; // spawns new command "grunt test"
The child test process will inherit output streams from the parent.
;// returns a promise resolved with result of// pass scope for specific registry
;// the tag is optional
package.json from a given folder
var pkg = npm;console;
npm pack <folder name> command. Resolves with the name of the generated tarball file.
If folder is not provided, uses the current one
Please execute the
npm login first!
.npmrc (if found) or profile
~/.npmrc file that can be used by CI
servers to publish to NPM.
The file will have the following line added (only the actual registry url will be used)
Often the source of errors is that the environment does not have
.npmrc file already has the authToken entry for this registry. For example,
when running locally
$ NPM_TOKEN=foo node src/set-auth-token.js npmrc file already has auth token for registry //registry.npmjs.org/:_authToken= [Error: Auth token for registry exists //registry.npmjs.org/:_authToken=]
npm version [major | minor | patch | version] command.
npm help version.
;// same as "npm prune"
Often the CI needs an auth token for a registry to be able to install private
modules. The CI should have
NPM_TOKEN environment variable set, and the
next command adds the following to the
You can use it like this. From the CI build file (
etc) first install this package, then call the command, and then install
all modules (including the private ones)
npm i npm-utils$(npm bin)/set-auth-token-var-namenpm i
Run the command with
DEBUG=npm-utils environment variable set, this package
Author: Gleb Bahmutov @ 2013 @bahmutov
License: MIT - do anything with the code, but don't blame me if it does not work.