mirror of
https://github.com/titanscouting/tra-analysis.git
synced 2024-11-10 15:04:45 +00:00
84 lines
6.7 KiB
HTML
84 lines
6.7 KiB
HTML
|
<!doctype html>
|
||
|
<html>
|
||
|
<title>npm-run-script</title>
|
||
|
<meta charset="utf-8">
|
||
|
<link rel="stylesheet" type="text/css" href="../../static/style.css">
|
||
|
<link rel="canonical" href="https://www.npmjs.org/doc/cli/npm-run-script.html">
|
||
|
<script async=true src="../../static/toc.js"></script>
|
||
|
|
||
|
<body>
|
||
|
<div id="wrapper">
|
||
|
|
||
|
<h1><a href="../cli/npm-run-script.html">npm-run-script</a></h1> <p>Run arbitrary package scripts</p>
|
||
|
<h2 id="synopsis">SYNOPSIS</h2>
|
||
|
<pre><code>npm run-script <command> [--silent] [-- <args>...]
|
||
|
|
||
|
alias: npm run</code></pre><h2 id="description">DESCRIPTION</h2>
|
||
|
<p>This runs an arbitrary command from a package's <code>"scripts"</code> object. If no
|
||
|
<code>"command"</code> is provided, it will list the available scripts. <code>run[-script]</code> 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.</p>
|
||
|
<p>As of <a href="https://blog.npmjs.org/post/98131109725/npm-2-0-0"><code>npm@2.0.0</code></a>, you can
|
||
|
use custom arguments when executing scripts. The special option <code>--</code> is used by
|
||
|
<a href="https://goo.gl/KxMmtG">getopt</a> to delimit the end of the options. npm will pass
|
||
|
all the arguments after the <code>--</code> directly to your script:</p>
|
||
|
<pre><code>npm run test -- --grep="pattern"</code></pre><p>The arguments will only be passed to the script specified after <code>npm run</code>
|
||
|
and not to any pre or post script.</p>
|
||
|
<p>The <code>env</code> 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.</p>
|
||
|
<p>In addition to the shell's pre-existing <code>PATH</code>, <code>npm run</code> adds
|
||
|
<code>node_modules/.bin</code> to the <code>PATH</code> provided to scripts. Any binaries provided by
|
||
|
locally-installed dependencies can be used without the <code>node_modules/.bin</code>
|
||
|
prefix. For example, if there is a <code>devDependency</code> on <code>tap</code> in your package,
|
||
|
you should write:</p>
|
||
|
<pre><code>"scripts": {"test": "tap test/\*.js"}</code></pre><p>instead of</p>
|
||
|
<pre><code>"scripts": {"test": "node_modules/.bin/tap test/\*.js"} </code></pre><p>to run your tests.</p>
|
||
|
<p>The actual shell your script is run within is platform dependent. By default,
|
||
|
on Unix-like systems it is the <code>/bin/sh</code> command, on Windows it is the <code>cmd.exe</code>.
|
||
|
The actual shell referred to by <code>/bin/sh</code> also depends on the system.
|
||
|
As of <a href="https://github.com/npm/npm/releases/tag/v5.1.0"><code>npm@5.1.0</code></a> you can
|
||
|
customize the shell with the <code>script-shell</code> configuration.</p>
|
||
|
<p>Scripts are run from the root of the module, regardless of what your current
|
||
|
working directory is when you call <code>npm run</code>. If you want your script to
|
||
|
use different behavior based on what subdirectory you're in, you can use the
|
||
|
<code>INIT_CWD</code> environment variable, which holds the full path you were in when
|
||
|
you ran <code>npm run</code>.</p>
|
||
|
<p><code>npm run</code> sets the <code>NODE</code> environment variable to the <code>node</code> executable with
|
||
|
which <code>npm</code> is executed. Also, if the <code>--scripts-prepend-node-path</code> is passed,
|
||
|
the directory within which <code>node</code> resides is added to the
|
||
|
<code>PATH</code>. If <code>--scripts-prepend-node-path=auto</code> is passed (which has been the
|
||
|
default in <code>npm</code> v3), this is only performed when that <code>node</code> executable is
|
||
|
not found in the <code>PATH</code>.</p>
|
||
|
<p>If you try to run a script without having a <code>node_modules</code> directory and it fails,
|
||
|
you will be given a warning to run <code>npm install</code>, just in case you've forgotten.</p>
|
||
|
<p>You can use the <code>--silent</code> flag to prevent showing <code>npm ERR!</code> output on error.</p>
|
||
|
<p>You can use the <code>--if-present</code> flag to avoid exiting with a non-zero exit code
|
||
|
when the script is undefined. This lets you run potentially undefined scripts
|
||
|
without breaking the execution chain.</p>
|
||
|
<h2 id="see-also">SEE ALSO</h2>
|
||
|
<ul>
|
||
|
<li><a href="../misc/npm-scripts.html">npm-scripts(7)</a></li>
|
||
|
<li><a href="../cli/npm-test.html">npm-test(1)</a></li>
|
||
|
<li><a href="../cli/npm-start.html">npm-start(1)</a></li>
|
||
|
<li><a href="../cli/npm-restart.html">npm-restart(1)</a></li>
|
||
|
<li><a href="../cli/npm-stop.html">npm-stop(1)</a></li>
|
||
|
<li><a href="../misc/npm-config.html">npm-config(7)</a></li>
|
||
|
</ul>
|
||
|
|
||
|
</div>
|
||
|
|
||
|
<table border=0 cellspacing=0 cellpadding=0 id=npmlogo>
|
||
|
<tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18> </td></tr>
|
||
|
<tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td colspan=6 style="width:60px;height:10px;background:#fff"> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td></tr>
|
||
|
<tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2> </td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td></tr>
|
||
|
<tr><td style="width:10px;height:10px;background:#fff" rowspan=2> </td></tr>
|
||
|
<tr><td style="width:10px;height:10px;background:#fff"> </td></tr>
|
||
|
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr>
|
||
|
<tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr>
|
||
|
</table>
|
||
|
<p id="footer">npm-run-script — npm@6.5.0</p>
|
||
|
|