2011-11-22 01:48:45 +08:00
|
|
|
npm-run-script(1) -- Run arbitrary package scripts
|
|
|
|
==================================================
|
|
|
|
|
|
|
|
## SYNOPSIS
|
|
|
|
|
2014-09-25 05:41:07 +08:00
|
|
|
npm run-script [command] [-- <args>]
|
|
|
|
npm run [command] [-- <args>]
|
2011-11-22 01:48:45 +08:00
|
|
|
|
|
|
|
## DESCRIPTION
|
|
|
|
|
2015-03-06 16:57:32 +08:00
|
|
|
This runs an arbitrary command from a package's `"scripts"` object. If no
|
|
|
|
`"command"` is provided, it will list the available scripts. `run[-script]` is
|
|
|
|
used by the test, start, restart, and stop commands, but can be called
|
|
|
|
directly, as well. When the scripts in the package are printed out, they're
|
|
|
|
separated into lifecycle (test, start, restart) and directly-run scripts.
|
2011-11-22 01:48:45 +08:00
|
|
|
|
2014-11-05 07:08:12 +08:00
|
|
|
As of [`npm@2.0.0`](http://blog.npmjs.org/post/98131109725/npm-2-0-0), you can
|
|
|
|
use custom arguments when executing scripts. The special option `--` is used by
|
|
|
|
[getopt](http://goo.gl/KxMmtG) to delimit the end of the options. npm will pass
|
|
|
|
all the arguments after the `--` directly to your script:
|
|
|
|
|
|
|
|
npm run test -- --grep="pattern"
|
|
|
|
|
|
|
|
The arguments will only be passed to the script specified after ```npm run```
|
|
|
|
and not to any pre or post script.
|
|
|
|
|
2015-03-06 16:57:32 +08:00
|
|
|
The `env` script is a special built-in command that can be used to list
|
|
|
|
environment variables that will be available to the script at runtime. If an
|
|
|
|
"env" command is defined in your package it will take precedence over the
|
|
|
|
built-in.
|
|
|
|
|
2015-03-13 17:07:27 +08:00
|
|
|
In addition to the shell's pre-existing `PATH`, `npm run` adds
|
|
|
|
`node_modules/.bin` to the `PATH` provided to scripts. Any binaries provided by
|
|
|
|
locally-installed dependencies can be used without the `node_modules/.bin`
|
|
|
|
prefix. For example, if there is a `devDependency` on `tap` in your package,
|
|
|
|
you should write `"scripts": {"test": "tap test/\*.js"}` instead of `"scripts":
|
|
|
|
{"test": "node_modules/.bin/tap test/\*.js"}` to run your tests.
|
|
|
|
|
2011-11-22 01:48:45 +08:00
|
|
|
## SEE ALSO
|
|
|
|
|
2013-07-12 23:55:57 +08:00
|
|
|
* npm-scripts(7)
|
2011-11-22 01:48:45 +08:00
|
|
|
* npm-test(1)
|
|
|
|
* npm-start(1)
|
|
|
|
* npm-restart(1)
|
|
|
|
* npm-stop(1)
|