@@ -22,6 +22,22 @@ <h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm install --tag &lt;tag&gt;
</code></pre><p>This also applies to <code>npm dedupe</code>.</p>
<p>Publishing a package always sets the &quot;latest&quot; tag to the published version.</p>
<h2 id="purpose">PURPOSE</h2>
<p>Tags can be used to provide an alias instead of version numbers. For
example, <code>npm</code> currently uses the tag &quot;next&quot; to identify the upcoming
version, and the tag &quot;latest&quot; to identify the current version.</p>
<p>A project might choose to have multiple streams of development, e.g.,
&quot;stable&quot;, &quot;canary&quot;.</p>
<h2 id="caveats">CAVEATS</h2>
<p>Tags must share a namespace with version numbers, because they are
specified in the same slot: <code>npm install &lt;pkg&gt;@&lt;version&gt;</code> vs <code>npm
install &lt;pkg&gt;@&lt;tag&gt;</code>.</p>
<p>Tags that can be interpreted as valid semver ranges will be
rejected. For example, <code>v1.4</code> cannot be used as a tag, because it is
interpreted by semver as <code>&gt;=1.4.0 &lt;1.5.0</code>. See
<a href="https://github.com/npm/npm/issues/6082">https://github.com/npm/npm/issues/6082</a>.</p>
<p>The simplest way to avoid semver problems with tags is to use tags
that do not begin with a number or the letter <code>v</code>.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-publish.html"><a href="../cli/npm-publish.html">npm-publish(1)</a></a></li>
@@ -30,6 +46,7 @@ <h2 id="see-also">SEE ALSO</h2>
<li><a href="../misc/npm-registry.html"><a href="../misc/npm-registry.html">npm-registry(7)</a></a></li>
<li><a href="../cli/npm-config.html"><a href="../cli/npm-config.html">npm-config(1)</a></a></li>
<li><a href="../misc/npm-config.html"><a href="../misc/npm-config.html">npm-config(7)</a></a></li>
<li><a href="../api/npm-tag.html"><a href="../api/npm-tag.html">npm-tag(3)</a></a></li>
<li><a href="../files/npmrc.html"><a href="../files/npmrc.html">npmrc(5)</a></a></li>
</ul>

@@ -44,5 +61,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-tag &mdash; npm@2.1.6</p>
<p id="footer">npm-tag &mdash; npm@2.3.0</p>

@@ -37,5 +37,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-test &mdash; npm@2.1.6</p>
<p id="footer">npm-test &mdash; npm@2.3.0</p>

@@ -57,5 +57,5 @@ <h2 id="synopsis">SYNOPSIS</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-uninstall &mdash; npm@2.1.6</p>
<p id="footer">npm-uninstall &mdash; npm@2.3.0</p>

@@ -47,5 +47,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-unpublish &mdash; npm@2.1.6</p>
<p id="footer">npm-unpublish &mdash; npm@2.3.0</p>

@@ -15,7 +15,9 @@ <h2 id="synopsis">SYNOPSIS</h2>
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This command will update all the packages listed to the latest version
(specified by the <code>tag</code> config).</p>
<p>It will also install missing packages.</p>
<p>It will also install missing packages. As with all commands that install
packages, the <code>--dev</code> flag will cause <code>devDependencies</code> to be processed
as well.</p>
<p>If the <code>-g</code> flag is specified, this command will update globally installed
packages.</p>
<p>If no package name is specified, all packages in the specified location (global
@@ -40,5 +42,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-update &mdash; npm@2.1.6</p>
<p id="footer">npm-update &mdash; npm@2.3.0</p>

@@ -14,7 +14,7 @@ <h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm version [&lt;newversion&gt; | major | minor | patch | premajor | preminor | prepatch | prerelease]
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>Run this in a package directory to bump the version and write the new
data back to the package.json file.</p>
data back to <code>package.json</code> and, if present, <code>npm-shrinkwrap.json</code>.</p>
<p>The <code>newversion</code> argument should be a valid semver string, <em>or</em> a
valid second argument to semver.inc (one of &quot;patch&quot;, &quot;minor&quot;, &quot;major&quot;,
&quot;prepatch&quot;, &quot;preminor&quot;, &quot;premajor&quot;, &quot;prerelease&quot;). In the second case,
@@ -55,5 +55,5 @@ <h2 id="synopsis">SYNOPSIS</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-version &mdash; npm@2.1.6</p>
<p id="footer">npm-version &mdash; npm@2.3.0</p>

@@ -24,7 +24,7 @@ <h2 id="synopsis">SYNOPSIS</h2>
For example, to show the dependencies of the <code>ronn</code> package at version
0.3.5, you could do the following:</p>
<pre><code>npm view ronn@0.3.5 dependencies
</code></pre><p>You can view child field by separating them with a period.
</code></pre><p>You can view child fields by separating them with a period.
To view the git repository URL for the latest version of npm, you could
do this:</p>
<pre><code>npm view npm repository.url
@@ -82,5 +82,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-view &mdash; npm@2.1.6</p>
<p id="footer">npm-view &mdash; npm@2.3.0</p>

@@ -33,5 +33,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-whoami &mdash; npm@2.1.6</p>
<p id="footer">npm-whoami &mdash; npm@2.3.0</p>

@@ -9,11 +9,11 @@
<body>
<div id="wrapper">

<h1><a href="../cli/npm.html">npm</a></h1> <p>node package manager</p>
<h1><a href="../cli/npm.html">npm</a></h1> <p>javascript package manager</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm &lt;command&gt; [args]
</code></pre><h2 id="version">VERSION</h2>
<p>2.1.6</p>
<p>2.3.0</p>
<h2 id="description">DESCRIPTION</h2>
<p>npm is the package manager for the Node JavaScript platform. It puts
modules in place so that node can find them, and manages dependency
@@ -110,15 +110,15 @@ <h2 id="contributions">CONTRIBUTIONS</h2>
the issues list or ask on the mailing list.</p>
<ul>
<li><a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
<li><a href="&#109;&#x61;&#105;&#108;&#x74;&#111;&#58;&#110;&#x70;&#109;&#45;&#64;&#x67;&#111;&#x6f;&#x67;&#108;&#x65;&#103;&#114;&#111;&#117;&#x70;&#x73;&#46;&#99;&#x6f;&#x6d;">&#110;&#x70;&#109;&#45;&#64;&#x67;&#111;&#x6f;&#x67;&#108;&#x65;&#103;&#114;&#111;&#117;&#x70;&#x73;&#46;&#99;&#x6f;&#x6d;</a></li>
<li><a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#111;&#x3a;&#x6e;&#112;&#109;&#45;&#64;&#x67;&#x6f;&#x6f;&#x67;&#108;&#101;&#x67;&#x72;&#x6f;&#117;&#x70;&#115;&#x2e;&#99;&#111;&#x6d;">&#x6e;&#112;&#109;&#45;&#64;&#x67;&#x6f;&#x6f;&#x67;&#108;&#101;&#x67;&#x72;&#x6f;&#117;&#x70;&#115;&#x2e;&#99;&#111;&#x6d;</a></li>
</ul>
<h2 id="bugs">BUGS</h2>
<p>When you find issues, please report them:</p>
<ul>
<li>web:
<a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
<li>email:
<a href="&#109;&#x61;&#x69;&#108;&#116;&#111;&#58;&#x6e;&#112;&#109;&#x2d;&#x40;&#x67;&#x6f;&#111;&#x67;&#x6c;&#x65;&#x67;&#x72;&#111;&#117;&#112;&#x73;&#46;&#99;&#x6f;&#x6d;">&#x6e;&#112;&#109;&#x2d;&#x40;&#x67;&#x6f;&#111;&#x67;&#x6c;&#x65;&#x67;&#x72;&#111;&#117;&#112;&#x73;&#46;&#99;&#x6f;&#x6d;</a></li>
<a href="&#x6d;&#97;&#105;&#x6c;&#116;&#x6f;&#58;&#x6e;&#x70;&#x6d;&#45;&#x40;&#103;&#111;&#x6f;&#x67;&#x6c;&#x65;&#x67;&#x72;&#111;&#117;&#112;&#115;&#46;&#99;&#x6f;&#109;">&#x6e;&#x70;&#x6d;&#45;&#x40;&#103;&#111;&#x6f;&#x67;&#x6c;&#x65;&#x67;&#x72;&#111;&#117;&#112;&#115;&#46;&#99;&#x6f;&#109;</a></li>
</ul>
<p>Be sure to include <em>all</em> of the output from the npm command that didn&#39;t work
as expected. The <code>npm-debug.log</code> file is also helpful to provide.</p>
@@ -128,7 +128,7 @@ <h2 id="author">AUTHOR</h2>
<p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
<a href="https://github.com/isaacs/">isaacs</a> ::
<a href="http://twitter.com/izs">@izs</a> ::
<a href="&#x6d;&#x61;&#105;&#108;&#x74;&#111;&#58;&#105;&#64;&#105;&#x7a;&#115;&#46;&#x6d;&#x65;">&#105;&#64;&#105;&#x7a;&#115;&#46;&#x6d;&#x65;</a></p>
<a href="&#109;&#x61;&#105;&#x6c;&#x74;&#111;&#58;&#105;&#64;&#x69;&#x7a;&#x73;&#46;&#x6d;&#101;">&#105;&#64;&#x69;&#x7a;&#x73;&#46;&#x6d;&#101;</a></p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-help.html"><a href="../cli/npm-help.html">npm-help(1)</a></a></li>
@@ -154,5 +154,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm &mdash; npm@2.1.6</p>
<p id="footer">npm &mdash; npm@2.3.0</p>

@@ -184,5 +184,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-folders &mdash; npm@2.1.6</p>
<p id="footer">npm-folders &mdash; npm@2.3.0</p>

@@ -184,5 +184,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-global &mdash; npm@2.1.6</p>
<p id="footer">npm-global &mdash; npm@2.3.0</p>

@@ -32,7 +32,7 @@ <h2 id="name">name</h2>
<li>The name will probably be passed as an argument to require(), so it should
be something short, but also reasonably descriptive.</li>
<li>You may want to check the npm registry to see if there&#39;s something by that name
already, before you get too attached to it. <a href="http://registry.npmjs.org/">http://registry.npmjs.org/</a></li>
already, before you get too attached to it. <a href="https://www.npmjs.com/">https://www.npmjs.com/</a></li>
</ul>
<p>A name can be optionally prefixed by a scope, e.g. <code>@myorg/mypackage</code>. See
<code><a href="../misc/npm-scope.html"><a href="../misc/npm-scope.html">npm-scope(7)</a></a></code> for more detail.</p>
@@ -115,10 +115,10 @@ <h2 id="bin">bin</h2>
command name to local file name. On install, npm will symlink that file into
<code>prefix/bin</code> for global installs, or <code>./node_modules/.bin/</code> for local
installs.</p>
<p>For example, npm has this:</p>
<pre><code>{ &quot;bin&quot; : { &quot;npm&quot; : &quot;./cli.js&quot; } }
</code></pre><p>So, when you install npm, it&#39;ll create a symlink from the <code>cli.js</code> script to
<code>/usr/local/bin/npm</code>.</p>
<p>For example, myapp could have this:</p>
<pre><code>{ &quot;bin&quot; : { &quot;myapp&quot; : &quot;./cli.js&quot; } }
</code></pre><p>So, when you install myapp, it&#39;ll create a symlink from the <code>cli.js</code> script to
<code>/usr/local/bin/myapp</code>.</p>
<p>If you have a single executable, and its name should be the name
of the package, then you can just supply it as a string. For example:</p>
<pre><code>{ &quot;name&quot;: &quot;my-program&quot;
@@ -181,7 +181,7 @@ <h3 id="directories-example">directories.example</h3>
<p>Put example scripts in here. Someday, it might be exposed in some clever way.</p>
<h2 id="repository">repository</h2>
<p>Specify the place where your code lives. This is helpful for people who
want to contribute. If the git repo is on github, then the <code>npm docs</code>
want to contribute. If the git repo is on GitHub, then the <code>npm docs</code>
command will be able to find you.</p>
<p>Do it like this:</p>
<pre><code>&quot;repository&quot; :
@@ -269,12 +269,15 @@ <h3 id="git-urls-as-dependencies">Git URLs as Dependencies</h3>
</code></pre><p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
<h2 id="github-urls">GitHub URLs</h2>
<p>As of version 1.1.65, you can refer to GitHub urls as just &quot;foo&quot;: &quot;user/foo-project&quot;. For example:</p>
<p>As of version 1.1.65, you can refer to GitHub urls as just &quot;foo&quot;:
&quot;user/foo-project&quot;. Just as with git URLs, a <code>commit-ish</code> suffix can be
included. For example:</p>
<pre><code>{
&quot;name&quot;: &quot;foo&quot;,
&quot;version&quot;: &quot;0.0.0&quot;,
&quot;dependencies&quot;: {
&quot;express&quot;: &quot;visionmedia/express&quot;
&quot;express&quot;: &quot;visionmedia/express&quot;,
&quot;mocha&quot;: &quot;visionmedia/mocha#4727d357ea&quot;
}
}
</code></pre><h2 id="local-paths">Local Paths</h2>
@@ -328,7 +331,7 @@ <h2 id="devdependencies">devDependencies</h2>
<h2 id="peerdependencies">peerDependencies</h2>
<p>In some cases, you want to express the compatibility of your package with an
host tool or library, while not necessarily doing a <code>require</code> of this host.
This is usually refered to as a <em>plugin</em>. Notably, your module may be exposing
This is usually referred to as a <em>plugin</em>. Notably, your module may be exposing
a specific interface, expected and specified by the host documentation.</p>
<p>For example:</p>
<pre><code>{
@@ -485,5 +488,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-json &mdash; npm@2.1.6</p>
<p id="footer">npm-json &mdash; npm@2.3.0</p>

@@ -31,7 +31,11 @@ <h2 id="files">FILES</h2>
</code></pre><p>Each of these files is loaded, and config options are resolved in
priority order. For example, a setting in the userconfig file would
override the setting in the globalconfig file.</p>
<h3 id="per-project-config-file">Per-project config file</h3>
<p>Array values are specified by adding &quot;[]&quot; after the key name. For
example:</p>
<pre><code>key[] = &quot;first value&quot;
key[] = &quot;second value&quot;
</code></pre><h3 id="per-project-config-file">Per-project config file</h3>
<p>When working locally in a project, a <code>.npmrc</code> file in the root of the
project (ie, a sibling of <code>node_modules</code> and <code>package.json</code>) will set
config values specific to this project.</p>
@@ -73,5 +77,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npmrc &mdash; npm@2.1.6</p>
<p id="footer">npmrc &mdash; npm@2.3.0</p>

@@ -32,7 +32,7 @@ <h2 id="name">name</h2>
<li>The name will probably be passed as an argument to require(), so it should
be something short, but also reasonably descriptive.</li>
<li>You may want to check the npm registry to see if there&#39;s something by that name
already, before you get too attached to it. <a href="http://registry.npmjs.org/">http://registry.npmjs.org/</a></li>
already, before you get too attached to it. <a href="https://www.npmjs.com/">https://www.npmjs.com/</a></li>
</ul>
<p>A name can be optionally prefixed by a scope, e.g. <code>@myorg/mypackage</code>. See
<code><a href="../misc/npm-scope.html"><a href="../misc/npm-scope.html">npm-scope(7)</a></a></code> for more detail.</p>
@@ -115,10 +115,10 @@ <h2 id="bin">bin</h2>
command name to local file name. On install, npm will symlink that file into
<code>prefix/bin</code> for global installs, or <code>./node_modules/.bin/</code> for local
installs.</p>
<p>For example, npm has this:</p>
<pre><code>{ &quot;bin&quot; : { &quot;npm&quot; : &quot;./cli.js&quot; } }
</code></pre><p>So, when you install npm, it&#39;ll create a symlink from the <code>cli.js</code> script to
<code>/usr/local/bin/npm</code>.</p>
<p>For example, myapp could have this:</p>
<pre><code>{ &quot;bin&quot; : { &quot;myapp&quot; : &quot;./cli.js&quot; } }
</code></pre><p>So, when you install myapp, it&#39;ll create a symlink from the <code>cli.js</code> script to
<code>/usr/local/bin/myapp</code>.</p>
<p>If you have a single executable, and its name should be the name
of the package, then you can just supply it as a string. For example:</p>
<pre><code>{ &quot;name&quot;: &quot;my-program&quot;
@@ -181,7 +181,7 @@ <h3 id="directories-example">directories.example</h3>
<p>Put example scripts in here. Someday, it might be exposed in some clever way.</p>
<h2 id="repository">repository</h2>
<p>Specify the place where your code lives. This is helpful for people who
want to contribute. If the git repo is on github, then the <code>npm docs</code>
want to contribute. If the git repo is on GitHub, then the <code>npm docs</code>
command will be able to find you.</p>
<p>Do it like this:</p>
<pre><code>&quot;repository&quot; :
@@ -269,12 +269,15 @@ <h3 id="git-urls-as-dependencies">Git URLs as Dependencies</h3>
</code></pre><p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
<h2 id="github-urls">GitHub URLs</h2>
<p>As of version 1.1.65, you can refer to GitHub urls as just &quot;foo&quot;: &quot;user/foo-project&quot;. For example:</p>
<p>As of version 1.1.65, you can refer to GitHub urls as just &quot;foo&quot;:
&quot;user/foo-project&quot;. Just as with git URLs, a <code>commit-ish</code> suffix can be
included. For example:</p>
<pre><code>{
&quot;name&quot;: &quot;foo&quot;,
&quot;version&quot;: &quot;0.0.0&quot;,
&quot;dependencies&quot;: {
&quot;express&quot;: &quot;visionmedia/express&quot;
&quot;express&quot;: &quot;visionmedia/express&quot;,
&quot;mocha&quot;: &quot;visionmedia/mocha#4727d357ea&quot;
}
}
</code></pre><h2 id="local-paths">Local Paths</h2>
@@ -328,7 +331,7 @@ <h2 id="devdependencies">devDependencies</h2>
<h2 id="peerdependencies">peerDependencies</h2>
<p>In some cases, you want to express the compatibility of your package with an
host tool or library, while not necessarily doing a <code>require</code> of this host.
This is usually refered to as a <em>plugin</em>. Notably, your module may be exposing
This is usually referred to as a <em>plugin</em>. Notably, your module may be exposing
a specific interface, expected and specified by the host documentation.</p>
<p>For example:</p>
<pre><code>{
@@ -485,5 +488,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">package.json &mdash; npm@2.1.6</p>
<p id="footer">package.json &mdash; npm@2.3.0</p>

@@ -11,11 +11,11 @@

<h1><a href="misc/npm-index.html">npm-index</a></h1> <p>Index of all npm documentation</p>
<h3 id="readme-1-"><a href="doc/README.html"><a href="../doc/README.html">README</a></a></h3>
<p>node package manager</p>
<p>a JavaScript package manager</p>
<h2 id="command-line-documentation">Command Line Documentation</h2>
<p>Using npm on the command line</p>
<h3 id="npm-1-"><a href="cli/npm.html"><a href="cli/npm.html">npm(1)</a></a></h3>
<p>node package manager</p>
<p>javascript package manager</p>
<h3 id="npm-adduser-1-"><a href="cli/npm-adduser.html"><a href="cli/npm-adduser.html">npm-adduser(1)</a></a></h3>
<p>Add a registry user account</p>
<h3 id="npm-bin-1-"><a href="cli/npm-bin.html"><a href="cli/npm-bin.html">npm-bin(1)</a></a></h3>
@@ -71,7 +71,7 @@ <h3 id="npm-rebuild-1-"><a href="cli/npm-rebuild.html"><a href="cli/npm-rebuild.
<h3 id="npm-repo-1-"><a href="cli/npm-repo.html"><a href="cli/npm-repo.html">npm-repo(1)</a></a></h3>
<p>Open package repository page in the browser</p>
<h3 id="npm-restart-1-"><a href="cli/npm-restart.html"><a href="cli/npm-restart.html">npm-restart(1)</a></a></h3>
<p>Start a package</p>
<p>Restart a package</p>
<h3 id="npm-rm-1-"><a href="cli/npm-rm.html"><a href="cli/npm-rm.html">npm-rm(1)</a></a></h3>
<p>Remove a package</p>
<h3 id="npm-root-1-"><a href="cli/npm-root.html"><a href="cli/npm-root.html">npm-root(1)</a></a></h3>
@@ -109,7 +109,7 @@ <h3 id="npm-whoami-1-"><a href="cli/npm-whoami.html"><a href="cli/npm-whoami.htm
<h2 id="api-documentation">API Documentation</h2>
<p>Using npm in your Node programs</p>
<h3 id="npm-3-"><a href="api/npm.html"><a href="api/npm.html">npm(3)</a></a></h3>
<p>node package manager</p>
<p>javascript package manager</p>
<h3 id="npm-bin-3-"><a href="api/npm-bin.html"><a href="api/npm-bin.html">npm-bin(3)</a></a></h3>
<p>Display npm bin folder</p>
<h3 id="npm-bugs-3-"><a href="api/npm-bugs.html"><a href="api/npm-bugs.html">npm-bugs(3)</a></a></h3>
@@ -157,7 +157,7 @@ <h3 id="npm-rebuild-3-"><a href="api/npm-rebuild.html"><a href="api/npm-rebuild.
<h3 id="npm-repo-3-"><a href="api/npm-repo.html"><a href="api/npm-repo.html">npm-repo(3)</a></a></h3>
<p>Open package repository page in the browser</p>
<h3 id="npm-restart-3-"><a href="api/npm-restart.html"><a href="api/npm-restart.html">npm-restart(3)</a></a></h3>
<p>Start a package</p>
<p>Restart a package</p>
<h3 id="npm-root-3-"><a href="api/npm-root.html"><a href="api/npm-root.html">npm-root(3)</a></a></h3>
<p>Display npm root</p>
<h3 id="npm-run-script-3-"><a href="api/npm-run-script.html"><a href="api/npm-run-script.html">npm-run-script(3)</a></a></h3>
@@ -230,5 +230,5 @@ <h3 id="semver-7-"><a href="misc/semver.html"><a href="misc/semver.html">semver(
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">index &mdash; npm@2.1.6</p>
<p id="footer">index &mdash; npm@2.3.0</p>

@@ -16,14 +16,14 @@ <h2 id="description">DESCRIPTION</h2>
designed to reduce visual clutter and make bugs more apparent.</p>
<p>If you want to contribute to npm (which is very encouraged), you should
make your code conform to npm&#39;s style.</p>
<p>Note: this concerns npm&#39;s code not the specific packages at npmjs.org</p>
<p>Note: this concerns npm&#39;s code not the specific packages that you can download from the npm registry.</p>
<h2 id="line-length">Line Length</h2>
<p>Keep lines shorter than 80 characters. It&#39;s better for lines to be
too short than to be too long. Break up long lists, objects, and other
statements onto multiple lines.</p>
<h2 id="indentation">Indentation</h2>
<p>Two-spaces. Tabs are better, but they look like hell in web browsers
(and on github), and node uses 2 spaces, so that&#39;s that.</p>
(and on GitHub), and node uses 2 spaces, so that&#39;s that.</p>
<p>Configure your editor appropriately.</p>
<h2 id="curly-braces">Curly braces</h2>
<p>Curly braces belong on the same line as the thing that necessitates them.</p>
@@ -147,5 +147,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-coding-style &mdash; npm@2.1.6</p>
<p id="footer">npm-coding-style &mdash; npm@2.3.0</p>

@@ -118,13 +118,18 @@ <h3 id="browser">browser</h3>
<h3 id="ca">ca</h3>
<ul>
<li>Default: The npm CA certificate</li>
<li>Type: String or null</li>
<li>Type: String, Array or null</li>
</ul>
<p>The Certificate Authority signing certificate that is trusted for SSL
connections to the registry.</p>
<p>Set to <code>null</code> to only allow &quot;known&quot; registrars, or to a specific CA cert
connections to the registry. Values should be in PEM format with newlines
replaced by the string &quot;\n&quot;. For example:</p>
<pre><code>ca=&quot;-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----&quot;
</code></pre><p>Set to <code>null</code> to only allow &quot;known&quot; registrars, or to a specific CA cert
to trust only that specific signing authority.</p>
<p>See also the <code>strict-ssl</code> config.</p>
<p>Multiple CAs can be trusted by specifying an array of certificates:</p>
<pre><code>ca[]=&quot;...&quot;
ca[]=&quot;...&quot;
</code></pre><p>See also the <code>strict-ssl</code> config.</p>
<h3 id="cafile">cafile</h3>
<ul>
<li>Default: <code>null</code></li>
@@ -313,11 +318,12 @@ <h3 id="heading">heading</h3>
<p>The string that starts all the debugging log output.</p>
<h3 id="https-proxy">https-proxy</h3>
<ul>
<li>Default: the <code>HTTPS_PROXY</code> or <code>https_proxy</code> or <code>HTTP_PROXY</code> or
<code>http_proxy</code> environment variables.</li>
<li>Default: null</li>
<li>Type: url</li>
</ul>
<p>A proxy to use for outgoing https requests.</p>
<p>A proxy to use for outgoing https requests. If the <code>HTTPS_PROXY</code> or
<code>https_proxy</code> or <code>HTTP_PROXY</code> or <code>http_proxy</code> environment variables are set,
proxy settings will be honored by the underlying <code>request</code> library.</p>
<h3 id="ignore-scripts">ignore-scripts</h3>
<ul>
<li>Default: false</li>
@@ -500,10 +506,12 @@ <h3 id="proprietary-attribs">proprietary-attribs</h3>
this as true.</p>
<h3 id="proxy">proxy</h3>
<ul>
<li>Default: <code>HTTP_PROXY</code> or <code>http_proxy</code> environment variable, or null</li>
<li>Default: null</li>
<li>Type: url</li>
</ul>
<p>A proxy to use for outgoing http requests.</p>
<p>A proxy to use for outgoing http requests. If the <code>HTTP_PROXY</code> or
<code>http_proxy</code> environment variables are set, proxy settings will be
honored by the underlying <code>request</code> library.</p>
<h3 id="rebuild-bundle">rebuild-bundle</h3>
<ul>
<li>Default: true</li>
@@ -703,7 +711,7 @@ <h3 id="userconfig">userconfig</h3>
<h3 id="umask">umask</h3>
<ul>
<li>Default: 022</li>
<li>Type: Octal numeric string</li>
<li>Type: Octal numeric string in range 0000..0777 (0..511)</li>
</ul>
<p>The &quot;umask&quot; value to use when setting the file creation mode on files
and folders.</p>
@@ -759,5 +767,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-config &mdash; npm@2.1.6</p>
<p id="footer">npm-config &mdash; npm@2.3.0</p>

@@ -94,6 +94,14 @@ <h2 id="keeping-files-out-of-your-package">Keeping files <em>out</em> of your pa
ignore the stuff matched by the <code>.gitignore</code> file. If you <em>want</em> to
include something that is excluded by your <code>.gitignore</code> file, you can
create an empty <code>.npmignore</code> file to override it.</p>
<p><code>.npmignore</code> files follow the <a href="http://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#Ignoring-Files">same pattern rules</a>
as <code>.gitignore</code> files:</p>
<ul>
<li>Blank lines or lines starting with <code>#</code> are ignored.</li>
<li>Standard glob patterns work.</li>
<li>You can end patterns with a forward slash <code>/</code> to specify a directory.</li>
<li>You can negate a pattern by starting it with an exclamation point <code>!</code>.</li>
</ul>
<p>By default, the following paths and files are ignored, so there&#39;s no
need to add them to <code>.npmignore</code> explicitly:</p>
<ul>
@@ -181,5 +189,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-developers &mdash; npm@2.1.6</p>
<p id="footer">npm-developers &mdash; npm@2.3.0</p>

@@ -13,7 +13,7 @@ <h1><a href="../misc/npm-disputes.html">npm-disputes</a></h1> <p>Handling Module
<h2 id="synopsis">SYNOPSIS</h2>
<ol>
<li>Get the author email with <code>npm owner ls &lt;pkgname&gt;</code></li>
<li>Email the author, CC <a href="&#x6d;&#97;&#x69;&#x6c;&#116;&#111;&#58;&#x73;&#x75;&#x70;&#112;&#111;&#114;&#116;&#x40;&#x6e;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;">&#x73;&#x75;&#x70;&#112;&#111;&#114;&#116;&#x40;&#x6e;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;</a></li>
<li>Email the author, CC <a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#115;&#117;&#x70;&#x70;&#x6f;&#x72;&#116;&#64;&#110;&#x70;&#x6d;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;">&#115;&#117;&#x70;&#x70;&#x6f;&#x72;&#116;&#64;&#110;&#x70;&#x6d;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;</a></li>
<li>After a few weeks, if there&#39;s no resolution, we&#39;ll sort it out.</li>
</ol>
<p>Don&#39;t squat on package names. Publish code or move out of the way.</p>
@@ -51,12 +51,12 @@ <h2 id="description">DESCRIPTION</h2>
owner (Bob).</li>
<li>Joe emails Bob, explaining the situation <strong>as respectfully as
possible</strong>, and what he would like to do with the module name. He
adds the npm support staff <a href="&#x6d;&#x61;&#x69;&#108;&#116;&#x6f;&#58;&#115;&#x75;&#112;&#x70;&#x6f;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#106;&#x73;&#x2e;&#x63;&#111;&#109;">&#115;&#x75;&#112;&#x70;&#x6f;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#106;&#x73;&#x2e;&#x63;&#111;&#109;</a> to the CC list of
adds the npm support staff <a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#111;&#58;&#115;&#117;&#x70;&#112;&#111;&#114;&#x74;&#64;&#110;&#x70;&#109;&#x6a;&#x73;&#46;&#x63;&#111;&#x6d;">&#115;&#117;&#x70;&#112;&#111;&#114;&#x74;&#64;&#110;&#x70;&#109;&#x6a;&#x73;&#46;&#x63;&#111;&#x6d;</a> to the CC list of
the email. Mention in the email that Bob can run <code>npm owner add
joe foo</code> to add Joe as an owner of the <code>foo</code> package.</li>
<li>After a reasonable amount of time, if Bob has not responded, or if
Bob and Joe can&#39;t come to any sort of resolution, email support
<a href="&#x6d;&#97;&#105;&#108;&#x74;&#x6f;&#58;&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#x6d;">&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is
<a href="&#109;&#97;&#105;&#108;&#116;&#x6f;&#58;&#115;&#x75;&#x70;&#112;&#x6f;&#114;&#x74;&#64;&#x6e;&#112;&#x6d;&#106;&#115;&#x2e;&#99;&#111;&#x6d;">&#115;&#x75;&#x70;&#112;&#x6f;&#114;&#x74;&#64;&#x6e;&#112;&#x6d;&#106;&#115;&#x2e;&#99;&#111;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is
usually at least 4 weeks, but extra time is allowed around common
holidays.)</li>
</ol>
@@ -112,5 +112,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-disputes &mdash; npm@2.1.6</p>
<p id="footer">npm-disputes &mdash; npm@2.3.0</p>

@@ -11,7 +11,7 @@

<h1><a href="../misc/npm-faq.html">npm-faq</a></h1> <p>Frequently Asked Questions</p>
<h2 id="where-can-i-find-these-docs-in-html-">Where can I find these docs in HTML?</h2>
<p><a href="https://www.npmjs.org/doc/">https://www.npmjs.org/doc/</a>, or run:</p>
<p><a href="https://docs.npmjs.com/">https://docs.npmjs.com/</a>, or run:</p>
<pre><code>npm config set viewer browser
</code></pre><p>to open these documents in your default web browser rather than <code>man</code>.</p>
<h2 id="it-didn-t-work-">It didn&#39;t work.</h2>
@@ -62,7 +62,7 @@ <h2 id="should-i-check-my-node_modules-folder-into-git-">Should I check my <code
<p>Usually, no. Allow npm to resolve dependencies for your packages.</p>
<p>For packages you <strong>deploy</strong>, such as websites and apps,
you should use npm shrinkwrap to lock down your full dependency tree:</p>
<p><a href="https://www.npmjs.org/doc/cli/npm-shrinkwrap.html">https://www.npmjs.org/doc/cli/npm-shrinkwrap.html</a></p>
<p><a href="https://docs.npmjs.com/cli/shrinkwrap">https://docs.npmjs.com/cli/shrinkwrap</a></p>
<p>If you are paranoid about depending on the npm ecosystem,
you should run a private npm mirror or a private cache.</p>
<p>If you want 100% confidence in being able to reproduce the specific bytes
@@ -108,7 +108,7 @@ <h2 id="how-do-i-update-npm-">How do I update npm?</h2>
installed already. (Consider, if there is ever a bug in the <code>update</code>
command.)</p>
<p>In those cases, you can do this:</p>
<pre><code>curl https://www.npmjs.org/install.sh | sh
<pre><code>curl https://www.npmjs.com/install.sh | sh
</code></pre><h2 id="what-is-a-package-">What is a <code>package</code>?</h2>
<p>A package is:</p>
<ul>
@@ -230,28 +230,51 @@ <h2 id="how-do-i-symlink-to-a-dev-folder-so-i-don-t-have-to-keep-re-installing-"
<h2 id="the-package-registry-website-what-is-that-exactly-">The package registry website. What is that exactly?</h2>
<p>See <code><a href="../misc/npm-registry.html"><a href="../misc/npm-registry.html">npm-registry(7)</a></a></code>.</p>
<h2 id="i-forgot-my-password-and-can-t-publish-how-do-i-reset-it-">I forgot my password, and can&#39;t publish. How do I reset it?</h2>
<p>Go to <a href="https://npmjs.org/forgot">https://npmjs.org/forgot</a>.</p>
<p>Go to <a href="https://npmjs.com/forgot">https://npmjs.com/forgot</a>.</p>
<h2 id="i-get-econnrefused-a-lot-what-s-up-">I get ECONNREFUSED a lot. What&#39;s up?</h2>
<p>Either the registry is down, or node&#39;s DNS isn&#39;t able to reach out.</p>
<p>To check if the registry is down, open up
<a href="https://registry.npmjs.org/">https://registry.npmjs.org/</a> in a web browser. This will also tell
you if you are just unable to access the internet for some reason.</p>
<p>If the registry IS down, let us know by emailing <a href="&#x6d;&#x61;&#105;&#x6c;&#x74;&#111;&#58;&#x73;&#117;&#x70;&#112;&#111;&#114;&#116;&#64;&#110;&#112;&#x6d;&#106;&#x73;&#x2e;&#99;&#x6f;&#x6d;">&#x73;&#117;&#x70;&#112;&#111;&#114;&#116;&#64;&#110;&#112;&#x6d;&#106;&#x73;&#x2e;&#99;&#x6f;&#x6d;</a>
<p>If the registry IS down, let us know by emailing <a href="&#x6d;&#97;&#x69;&#x6c;&#116;&#x6f;&#58;&#115;&#x75;&#x70;&#112;&#111;&#114;&#x74;&#64;&#110;&#x70;&#x6d;&#106;&#115;&#x2e;&#x63;&#111;&#x6d;">&#115;&#x75;&#x70;&#112;&#111;&#114;&#x74;&#64;&#110;&#x70;&#x6d;&#106;&#115;&#x2e;&#x63;&#111;&#x6d;</a>
or posting an issue at <a href="https://github.com/npm/npm/issues">https://github.com/npm/npm/issues</a>. If it&#39;s
down for the world (and not just on your local network) then we&#39;re
probably already being pinged about it.</p>
<p>You can also often get a faster response by visiting the #npm channel
on Freenode IRC.</p>
<h2 id="why-no-namespaces-">Why no namespaces?</h2>
<p>Please see this discussion: <a href="https://github.com/npm/npm/issues/798">https://github.com/npm/npm/issues/798</a></p>
<p>tl;dr - It doesn&#39;t actually make things better, and can make them worse.</p>
<p>If you want to namespace your own packages, you may: simply use the
<code>-</code> character to separate the names. npm is a mostly anarchic system.
There is not sufficient need to impose namespace rules on everyone.</p>
<p>npm has only one global namespace. If you want to namespace your own packages,
you may: simply use the <code>-</code> character to separate the names. npm is a mostly
anarchic system. There is not sufficient need to impose namespace rules on
everyone.</p>
<p>As of 2.0, npm supports scoped packages, which allow you to publish a group of
related modules without worrying about name collisions.</p>
<p>Every npm user owns the scope associated with their username. For example, the
user named <code>npm</code> owns the scope <code>@npm</code>. Scoped packages are published inside a
scope by naming them as if they were files under the scope directory, e.g., by
setting <code>name</code> in <code>package.json</code> to <code>@npm/npm</code>.</p>
<p>Scoped packages can coexist with public npm packages in a private npm registry.
At present (2014-11-04) scoped packages may NOT be published to the public npm
registry.</p>
<p>Unscoped packages can only depend on other unscoped packages. Scoped packages
can depend on packages from their own scope, a different scope, or the public
registry (unscoped).</p>
<p>For the current documentation of scoped packages, see
<a href="https://docs.npmjs.com/misc/scope">https://docs.npmjs.com/misc/scope</a></p>
<p>References:</p>
<ol>
<li><p>For the reasoning behind the &quot;one global namespace&quot;, please see this
discussion: <a href="https://github.com/npm/npm/issues/798">https://github.com/npm/npm/issues/798</a> (TL;DR: It doesn&#39;t
actually make things better, and can make them worse.)</p>
</li>
<li><p>For the pre-implementation discussion of the scoped package feature, see
this discussion: <a href="https://github.com/npm/npm/issues/5239">https://github.com/npm/npm/issues/5239</a></p>
</li>
</ol>
<h2 id="who-does-npm-">Who does npm?</h2>
<p>npm was originally written by Isaac Z. Schlueter, and many others have
contributed to it, some of them quite substantially.</p>
<p>The npm open source project, The npm Registry, and <a href="https://www.npmjs.org">the community
<p>The npm open source project, The npm Registry, and <a href="https://www.npmjs.com">the community
website</a> are maintained and operated by the
good folks at <a href="http://www.npmjs.com">npm, Inc.</a></p>
<h2 id="i-have-a-question-or-request-not-addressed-here-where-should-i-put-it-">I have a question or request not addressed here. Where should I put it?</h2>
@@ -284,5 +307,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-faq &mdash; npm@2.1.6</p>
<p id="footer">npm-faq &mdash; npm@2.3.0</p>

@@ -11,11 +11,11 @@

<h1><a href="../misc/npm-index.html">npm-index</a></h1> <p>Index of all npm documentation</p>
<h3 id="readme-1-"><a href="../../doc/README.html"><a href="../../doc/README.html">README</a></a></h3>
<p>node package manager</p>
<p>a JavaScript package manager</p>
<h2 id="command-line-documentation">Command Line Documentation</h2>
<p>Using npm on the command line</p>
<h3 id="npm-1-"><a href="../cli/npm.html"><a href="../cli/npm.html">npm(1)</a></a></h3>
<p>node package manager</p>
<p>javascript package manager</p>
<h3 id="npm-adduser-1-"><a href="../cli/npm-adduser.html"><a href="../cli/npm-adduser.html">npm-adduser(1)</a></a></h3>
<p>Add a registry user account</p>
<h3 id="npm-bin-1-"><a href="../cli/npm-bin.html"><a href="../cli/npm-bin.html">npm-bin(1)</a></a></h3>
@@ -71,7 +71,7 @@ <h3 id="npm-rebuild-1-"><a href="../cli/npm-rebuild.html"><a href="../cli/npm-re
<h3 id="npm-repo-1-"><a href="../cli/npm-repo.html"><a href="../cli/npm-repo.html">npm-repo(1)</a></a></h3>
<p>Open package repository page in the browser</p>
<h3 id="npm-restart-1-"><a href="../cli/npm-restart.html"><a href="../cli/npm-restart.html">npm-restart(1)</a></a></h3>
<p>Start a package</p>
<p>Restart a package</p>
<h3 id="npm-rm-1-"><a href="../cli/npm-rm.html"><a href="../cli/npm-rm.html">npm-rm(1)</a></a></h3>
<p>Remove a package</p>
<h3 id="npm-root-1-"><a href="../cli/npm-root.html"><a href="../cli/npm-root.html">npm-root(1)</a></a></h3>
@@ -109,7 +109,7 @@ <h3 id="npm-whoami-1-"><a href="../cli/npm-whoami.html"><a href="../cli/npm-whoa
<h2 id="api-documentation">API Documentation</h2>
<p>Using npm in your Node programs</p>
<h3 id="npm-3-"><a href="../api/npm.html"><a href="../api/npm.html">npm(3)</a></a></h3>
<p>node package manager</p>
<p>javascript package manager</p>
<h3 id="npm-bin-3-"><a href="../api/npm-bin.html"><a href="../api/npm-bin.html">npm-bin(3)</a></a></h3>
<p>Display npm bin folder</p>
<h3 id="npm-bugs-3-"><a href="../api/npm-bugs.html"><a href="../api/npm-bugs.html">npm-bugs(3)</a></a></h3>
@@ -157,7 +157,7 @@ <h3 id="npm-rebuild-3-"><a href="../api/npm-rebuild.html"><a href="../api/npm-re
<h3 id="npm-repo-3-"><a href="../api/npm-repo.html"><a href="../api/npm-repo.html">npm-repo(3)</a></a></h3>
<p>Open package repository page in the browser</p>
<h3 id="npm-restart-3-"><a href="../api/npm-restart.html"><a href="../api/npm-restart.html">npm-restart(3)</a></a></h3>
<p>Start a package</p>
<p>Restart a package</p>
<h3 id="npm-root-3-"><a href="../api/npm-root.html"><a href="../api/npm-root.html">npm-root(3)</a></a></h3>
<p>Display npm root</p>
<h3 id="npm-run-script-3-"><a href="../api/npm-run-script.html"><a href="../api/npm-run-script.html">npm-run-script(3)</a></a></h3>
@@ -230,5 +230,5 @@ <h3 id="semver-7-"><a href="../misc/semver.html"><a href="../misc/semver.html">s
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-index &mdash; npm@2.1.6</p>
<p id="footer">npm-index &mdash; npm@2.3.0</p>

@@ -49,7 +49,7 @@ <h2 id="do-i-have-to-use-couchdb-to-build-a-registry-that-npm-can-talk-to-">Do I
<p>No, but it&#39;s way easier. Basically, yes, you do, or you have to
effectively implement the entire CouchDB API anyway.</p>
<h2 id="is-there-a-website-or-something-to-see-package-docs-and-such-">Is there a website or something to see package docs and such?</h2>
<p>Yes, head over to <a href="https://npmjs.org/">https://npmjs.org/</a></p>
<p>Yes, head over to <a href="https://npmjs.com/">https://npmjs.com/</a></p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-config.html"><a href="../cli/npm-config.html">npm-config(1)</a></a></li>
@@ -70,5 +70,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-registry &mdash; npm@2.1.6</p>
<p id="footer">npm-registry &mdash; npm@2.3.0</p>

@@ -78,5 +78,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-scope &mdash; npm@2.1.6</p>
<p id="footer">npm-scope &mdash; npm@2.3.0</p>

@@ -27,10 +27,6 @@ <h2 id="description">DESCRIPTION</h2>
Run BEFORE the package is uninstalled.</li>
<li>postuninstall:
Run AFTER the package is uninstalled.</li>
<li>preupdate:
Run BEFORE the package is updated with the update command.</li>
<li>update, postupdate:
Run AFTER the package is updated with the update command.</li>
<li>pretest, test, posttest:
Run by the <code>npm test</code> command.</li>
<li>prestop, stop, poststop:
@@ -220,5 +216,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">npm-scripts &mdash; npm@2.1.6</p>
<p id="footer">npm-scripts &mdash; npm@2.3.0</p>

@@ -57,5 +57,5 @@ <h2 id="see-also">SEE ALSO</h2>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">removing-npm &mdash; npm@2.1.6</p>
<p id="footer">removing-npm &mdash; npm@2.3.0</p>

@@ -22,12 +22,12 @@ <h2 id="usage">Usage</h2>
</code></pre><p>As a command-line utility:</p>
<pre><code>$ semver -h

Usage: semver &lt;version&gt; [&lt;version&gt; [...]] [-r &lt;range&gt; | -i &lt;inc&gt; | -d &lt;dec&gt;]
Usage: semver &lt;version&gt; [&lt;version&gt; [...]] [-r &lt;range&gt; | -i &lt;inc&gt; | --preid &lt;identifier&gt; | -l | -rv]
Test if version(s) satisfy the supplied range(s), and sort them.

Multiple versions or ranges may be supplied, unless increment
or decrement options are specified. In that case, only a single
version may be used, and it is incremented by the specified level
option is specified. In that case, only a single version may
be used, and it is incremented by the specified level

Program exits successfully if any valid version satisfies
all supplied ranges, and prints all satisfying versions.
@@ -91,6 +91,20 @@ <h3 id="prerelease-tags">Prerelease Tags</h3>
the user is indicating that they are aware of the risk. However, it
is still not appropriate to assume that they have opted into taking a
similar risk on the <em>next</em> set of prerelease versions.</p>
<h4 id="prerelease-identifiers">Prerelease Identifiers</h4>
<p>The method <code>.inc</code> takes an additional <code>identifier</code> string argument that
will append the value of the string as a prerelease identifier:</p>
<pre><code class="lang-`javascript">&gt; semver.inc(&#39;1.2.3&#39;, &#39;pre&#39;, &#39;beta&#39;)
&#39;1.2.4-beta.0&#39;
</code></pre>
<p>command-line example:</p>
<pre><code class="lang-shell">$ semver 1.2.3 -i prerelease --preid beta
1.2.4-beta.0
</code></pre>
<p>Which then can be used to increment further:</p>
<pre><code class="lang-shell">$ semver 1.2.4-beta.0 -i prerelease
1.2.4-beta.1
</code></pre>
<h3 id="advanced-range-syntax">Advanced Range Syntax</h3>
<p>Advanced range syntax desugars to primitive comparators in
deterministic ways.</p>
@@ -145,7 +159,6 @@ <h4 id="tilde-ranges-1-2-3-1-2-1-">Tilde Ranges <code>~1.2.3</code> <code>~1.2</
<code>1.2.4-beta.2</code> would not, because it is a prerelease of a
different <code>[major, minor, patch]</code> tuple.</li>
</ul>
<p>Note: this is the same as the <code>~&gt;</code> operator in rubygems.</p>
<h4 id="caret-ranges-1-2-3-0-2-5-0-0-4-">Caret Ranges <code>^1.2.3</code> <code>^0.2.5</code> <code>^0.0.4</code></h4>
<p>Allows changes that do not modify the left-most non-zero digit in the
<code>[major, minor, patch]</code> tuple. In other words, this allows patch and
@@ -225,6 +238,9 @@ <h3 id="comparison">Comparison</h3>
<code>v2</code> is greater. Sorts in ascending order if passed to <code>Array.sort()</code>.</li>
<li><code>rcompare(v1, v2)</code>: The reverse of compare. Sorts an array of versions
in descending order when passed to <code>Array.sort()</code>.</li>
<li><code>diff(v1, v2)</code>: Returns difference between two versions by the release type
(<code>major</code>, <code>premajor</code>, <code>minor</code>, <code>preminor</code>, <code>patch</code>, <code>prepatch</code>, or <code>prerelease</code>),
or null if the versions are the same.</li>
</ul>
<h3 id="ranges">Ranges</h3>
<ul>
@@ -263,5 +279,5 @@ <h3 id="ranges">Ranges</h3>
<tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6>&nbsp;</td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)">&nbsp;</td></tr>
<tr><td colspan=5 style="width:50px;height:10px;background:#fff">&nbsp;</td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4>&nbsp;</td><td style="width:90px;height:10px;background:#fff" colspan=9>&nbsp;</td></tr>
</table>
<p id="footer">semver &mdash; npm@2.1.6</p>
<p id="footer">semver &mdash; npm@2.3.0</p>

@@ -52,7 +52,7 @@
}

</style>
<title>npm - Node Package Manager</title>
<title>npm - JavaScript Package Manager</title>
</head>
<h1>npm</h1>

@@ -1,4 +1,4 @@
<h1><a href="cli/npm.html">npm</a></h1> <p>node package manager</p>
<h1><a href="cli/npm.html">npm</a></h1> <p>a JavaScript package manager</p>
<p><a href="https://travis-ci.org/npm/npm"><img src="https://img.shields.io/travis/npm/npm/master.svg" alt="Build Status"></a></p>
<h2 id="synopsis">SYNOPSIS</h2>
<p>This is just enough info to get you up and running.</p>
@@ -19,9 +19,9 @@ <h3 id="other-sorts-of-unices">Other Sorts of Unices</h3>
paths, etc.) then read on.</p>
<h2 id="fancy-install-unix-">Fancy Install (Unix)</h2>
<p>There&#39;s a pretty robust install script at
<a href="https://www.npmjs.org/install.sh">https://www.npmjs.org/install.sh</a>. You can download that and run it.</p>
<a href="https://www.npmjs.com/install.sh">https://www.npmjs.com/install.sh</a>. You can download that and run it.</p>
<p>Here&#39;s an example using curl:</p>
<pre><code>curl -L https://npmjs.org/install.sh | sh
<pre><code>curl -L https://npmjs.com/install.sh | sh
</code></pre><h3 id="slightly-fancier">Slightly Fancier</h3>
<p>You can set any npm configuration params with that script:</p>
<pre><code>npm_config_prefix=/some/path sh install.sh
@@ -34,31 +34,16 @@ <h2 id="fancy-install-unix-">Fancy Install (Unix)</h2>
arbitrary config keys using the <code>./configure --key=val ...</code>, and then
run npm commands by doing <code>node cli.js &lt;cmd&gt; &lt;args&gt;</code>. (This is helpful
for testing, or running stuff without actually installing npm itself.)</p>
<h2 id="fancy-windows-install">Fancy Windows Install</h2>
<p>You can download a zip file from <a href="https://npmjs.org/dist/">https://npmjs.org/dist/</a>, and unpack it
<h2 id="windows-install-or-upgrade">Windows Install or Upgrade</h2>
<p>You can download a zip file from <a href="https://github.com/npm/npm/releases">https://github.com/npm/npm/releases</a>, and unpack it
in the same folder where node.exe lives.</p>
<p>The latest version in a zip file is 1.4.12. To upgrade to npm 2, follow the
Windows upgrade instructions in the npm Troubleshooting Guide:</p>
<p><a href="https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows">https://github.com/npm/npm/wiki/Troubleshooting#upgrading-on-windows</a></p>
<p>If that&#39;s not fancy enough for you, then you can fetch the code with
git, and mess with it directly.</p>
<h2 id="installing-on-cygwin">Installing on Cygwin</h2>
<p>No.</p>
<h2 id="permissions-when-using-npm-to-install-other-stuff">Permissions when Using npm to Install Other Stuff</h2>
<p><strong>tl;dr</strong></p>
<ul>
<li>Use <code>sudo</code> for greater safety. Or don&#39;t, if you prefer not to.</li>
<li>npm will downgrade permissions if it&#39;s root before running any build
scripts that package authors specified.</li>
</ul>
<h3 id="more-details-">More details...</h3>
<p>As of version 0.3, it is recommended to run npm as root.
This allows npm to change the user identifier to the <code>nobody</code> user prior
to running any package build or test commands.</p>
<p>If you are not the root user, or if you are on a platform that does not
support uid switching, then npm will not attempt to change the userid.</p>
<p>If you would like to ensure that npm <strong>always</strong> runs scripts as the
&quot;nobody&quot; user, and have it fail if it cannot downgrade permissions, then
set the following configuration param:</p>
<pre><code>npm config set unsafe-perm false
</code></pre><p>This will prevent running in unsafe mode, even as non-root users.</p>
<h2 id="uninstalling">Uninstalling</h2>
<p>So sad to see you go.</p>
<pre><code>sudo npm uninstall npm -g
@@ -111,11 +96,11 @@ <h2 id="using-npm-programmatically">Using npm Programmatically</h2>
command line arguments using nopt. You may also want to check out <code>npm
help config</code> to learn about all the options you can set there.</p>
<h2 id="more-docs">More Docs</h2>
<p>Check out the <a href="https://www.npmjs.org/doc/">docs</a>,
especially the <a href="https://www.npmjs.org/doc/faq.html">faq</a>.</p>
<p>Check out the <a href="https://docs.npmjs.com/">docs</a>,
especially the <a href="https://docs.npmjs.com/misc/faq">faq</a>.</p>
<p>You can use the <code>npm help</code> command to read any of them.</p>
<p>If you&#39;re a developer, and you want to use npm to publish your program,
you should <a href="https://www.npmjs.org/doc/developers.html">read this</a></p>
you should <a href="https://docs.npmjs.com/misc/developers">read this</a></p>
<h2 id="legal-stuff">Legal Stuff</h2>
<p>&quot;npm&quot; and &quot;The npm Registry&quot; are owned by npm, Inc.
All rights reserved. See the included LICENSE file for more details.</p>
@@ -128,9 +113,9 @@ <h2 id="legal-stuff">Legal Stuff</h2>
assertion expressed or implied as to the quality, fitness for a
specific purpose, or lack of malice in any given npm package.</p>
<p>If you have a complaint about a package in the public npm registry,
and cannot <a href="https://www.npmjs.org/doc/misc/npm-disputes.html">resolve it with the package
and cannot <a href="https://docs.npmjs.com/misc/disputes">resolve it with the package
owner</a>, please email
<a href="&#x6d;&#x61;&#x69;&#108;&#116;&#x6f;&#58;&#x73;&#x75;&#x70;&#112;&#x6f;&#x72;&#116;&#64;&#110;&#x70;&#x6d;&#106;&#115;&#x2e;&#x63;&#111;&#109;">&#x73;&#x75;&#x70;&#112;&#x6f;&#x72;&#116;&#64;&#110;&#x70;&#x6d;&#106;&#115;&#x2e;&#x63;&#111;&#109;</a> and explain the situation.</p>
<a href="&#109;&#x61;&#105;&#x6c;&#x74;&#x6f;&#58;&#115;&#x75;&#112;&#x70;&#x6f;&#x72;&#x74;&#64;&#110;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;">&#115;&#x75;&#112;&#x70;&#x6f;&#x72;&#x74;&#64;&#110;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;</a> and explain the situation.</p>
<p>Any data published to The npm Registry (including user account
information) may be removed or modified at the sole discretion of the
npm server administrators.</p>
@@ -149,8 +134,6 @@ <h2 id="bugs">BUGS</h2>
<ul>
<li>web:
<a href="https://github.com/npm/npm/issues">https://github.com/npm/npm/issues</a></li>
<li>email:
<a href="&#109;&#x61;&#x69;&#108;&#116;&#x6f;&#58;&#110;&#112;&#x6d;&#x2d;&#x40;&#103;&#111;&#111;&#103;&#108;&#101;&#103;&#114;&#x6f;&#117;&#x70;&#x73;&#46;&#x63;&#111;&#109;">&#110;&#112;&#x6d;&#x2d;&#x40;&#103;&#111;&#111;&#103;&#108;&#101;&#103;&#114;&#x6f;&#117;&#x70;&#x73;&#46;&#x63;&#111;&#109;</a></li>
</ul>
<p>Be sure to include <em>all</em> of the output from the npm command that didn&#39;t work
as expected. The <code>npm-debug.log</code> file is also helpful to provide.</p>
@@ -38,6 +38,6 @@ <h3 id="global">global</h3>
<p>List packages in the global install prefix instead of in the current
project.</p>
<p>Note, if parseable is set or long isn&#39;t set, then duplicates will be trimmed.
This means that if a submodule a same dependency as a parent module, then the
This means that if a submodule has the same dependency as a parent module, then the
dependency will only be output once.</p>

@@ -1,13 +1,29 @@
<h1><a href="../api/npm-restart.html">npm-restart</a></h1> <p>Start a package</p>
<h1><a href="../api/npm-restart.html">npm-restart</a></h1> <p>Restart a package</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm.commands.restart(packages, callback)
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This runs a package&#39;s &quot;restart&quot; script, if one was provided.
Otherwise it runs package&#39;s &quot;stop&quot; script, if one was provided, and then
the &quot;start&quot; script.</p>
<p>This restarts a package (or multiple packages).</p>
<p>This runs a package&#39;s &quot;stop&quot;, &quot;restart&quot;, and &quot;start&quot; scripts, and associated
pre- and post- scripts, in the order given below:</p>
<ol>
<li>prerestart</li>
<li>prestop</li>
<li>stop</li>
<li>poststop</li>
<li>restart</li>
<li>prestart</li>
<li>start</li>
<li>poststart</li>
<li>postrestart</li>
</ol>
<p>If no version is specified, then it restarts the &quot;active&quot; version.</p>
<p>npm can run tests on multiple packages. Just specify multiple packages
in the <code>packages</code> parameter.</p>
<p>npm can restart multiple packages. Just specify multiple packages in
the <code>packages</code> parameter.</p>
<h2 id="note">NOTE</h2>
<p>Note that the &quot;restart&quot; script is run <strong>in addition to</strong> the &quot;stop&quot;
and &quot;start&quot; scripts, not instead of them.</p>
<p>This is the behavior as of <code>npm</code> major version 2. A change in this
behavior will be accompanied by an increase in major version number</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../api/npm-start.html">npm-start(3)</a></li>
@@ -3,6 +3,6 @@ <h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm.commands.start(packages, callback)
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This runs a package&#39;s &quot;start&quot; script, if one was provided.</p>
<p>npm can run tests on multiple packages. Just specify multiple packages
in the <code>packages</code> parameter.</p>
<p>npm can start multiple packages. Just specify multiple packages in the
<code>packages</code> parameter.</p>

@@ -10,7 +10,7 @@ <h2 id="synopsis">SYNOPSIS</h2>
is the package name and version is the version number (much like installing a
specific version).</p>
<p>The second element is the name of the tag to tag this version with. If this
parameter is missing or falsey (empty), the default froom the config will be
parameter is missing or falsey (empty), the default from the config will be
used. For more information about how to set this config, check
<code>man 3 npm-config</code> for programmatic usage or <code>man npm-config</code> for cli usage.</p>

@@ -1,4 +1,4 @@
<h1><a href="../api/npm.html">npm</a></h1> <p>node package manager</p>
<h1><a href="../api/npm.html">npm</a></h1> <p>javascript package manager</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>var npm = require(&quot;npm&quot;)
npm.load([configObject, ]function (er, npm) {
@@ -12,7 +12,7 @@ <h2 id="synopsis">SYNOPSIS</h2>
npm.commands.install([&quot;package&quot;], cb)
})
</code></pre><h2 id="version">VERSION</h2>
<p>2.1.6</p>
<p>2.3.0</p>
<h2 id="description">DESCRIPTION</h2>
<p>This is the API documentation for npm.
To find documentation of the command line
@@ -0,0 +1,55 @@
<h1><a href="../cli/npm-access.html">npm-access</a></h1> <p>Set access level on published packages</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm access public [&lt;package&gt;]
npm access restricted [&lt;package&gt;]

npm access add &lt;read-only|read-write&gt; &lt;entity&gt; [&lt;package&gt;]
npm access rm &lt;entity&gt; [&lt;package&gt;]

npm access ls [&lt;package&gt;]
npm access edit [&lt;package&gt;]
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>Used to set access controls on private packages.</p>
<p>For all of the subcommands, <code>npm access</code> will perform actions on the packages
in the current working directory if no package name is passed to the
subcommand.</p>
<ul>
<li><p>public / restricted:
Set a package to be either publicly accessible or restricted.</p>
</li>
<li><p>add / rm:
Add or remove the ability of users and teams to have read-only or read-write
access to a package.</p>
</li>
<li><p>ls:
Show all of the access privileges for a package. Will only show permissions
for packages to which you have at least read access.</p>
</li>
<li><p>edit:
Set the access privileges for a package at once using <code>$EDITOR</code>.</p>
</li>
</ul>
<h2 id="details">DETAILS</h2>
<p><code>npm access</code> always operates directly on the current registry, configurable
from the command line using <code>--registry=&lt;registry url&gt;</code>.</p>
<p>Unscoped packages are <em>always public</em>.</p>
<p>Scoped packages <em>default to restricted</em>, but you can either publish them as
public using <code>npm publish --access=public</code>, or set their access as public using
<code>npm access public</code> after the initial publish.</p>
<p>You must have privileges to set the access of a package:</p>
<ul>
<li>You are an owner of an unscoped or scoped package.</li>
<li>You are a member of the team that owns a scope.</li>
<li>You have been given read-write privileges for a package, either as a member
of a team or directly as an owner.</li>
</ul>
<p>If your account is not paid, then attempts to publish scoped packages will fail
with an HTTP 402 status code (logically enough), unless you use
<code>--access=public</code>.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-publish.html">npm-publish(1)</a></li>
<li><a href="../misc/npm-config.html">npm-config(7)</a></li>
<li><a href="../misc/npm-registry.html">npm-registry(7)</a></li>
</ul>

@@ -6,11 +6,12 @@ <h2 id="synopsis">SYNOPSIS</h2>
save the credentials to the <code>.npmrc</code> file. If no registry is specified,
the default registry will be used (see <code><a href="../misc/npm-config.html">npm-config(7)</a></code>).</p>
<p>The username, password, and email are read in from prompts.</p>
<p>You may use this command to change your email address, but not username
or password.</p>
<p>To reset your password, go to <a href="https://www.npmjs.org/forgot">https://www.npmjs.org/forgot</a></p>
<p>To reset your password, go to <a href="https://www.npmjs.com/forgot">https://www.npmjs.com/forgot</a></p>
<p>To change your email address, go to <a href="https://www.npmjs.com/email-edit">https://www.npmjs.com/email-edit</a></p>
<p>You may use this command multiple times with the same user account to
authorize on a new machine.</p>
authorize on a new machine. When authenticating on a new machine,
the username, password and email address must all match with
your existing record.</p>
<p><code>npm login</code> is an alias to <code>adduser</code> and behaves exactly the same way.</p>
<h2 id="configuration">CONFIGURATION</h2>
<h3 id="registry">registry</h3>
@@ -33,7 +34,7 @@ <h3 id="always-auth">always-auth</h3>
<pre><code>npm adduser --registry=http://private-registry.example.com --always-auth
</code></pre><p>This will ensure that all requests to that registry (including for tarballs)
include an authorization header. See <code>always-auth</code> in <code><a href="../misc/npm-config.html">npm-config(7)</a></code> for more
details on always-auth. Registry-specific configuaration of <code>always-auth</code> takes
details on always-auth. Registry-specific configuration of <code>always-auth</code> takes
precedence over any global configuration.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
@@ -0,0 +1,56 @@
<h1><a href="../cli/npm-dist-tag.html">npm-dist-tag</a></h1> <p>Modify package distribution tags</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm dist-tag add &lt;pkg&gt;@&lt;version&gt; [&lt;tag&gt;]
npm dist-tag rm &lt;pkg&gt; &lt;tag&gt;
npm dist-tag ls [&lt;pkg&gt;]
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>Add, remove, and enumerate distribution tags on a package:</p>
<ul>
<li><p>add:
Tags the specified version of the package with the specified tag, or the
<code>--tag</code> config if not specified.</p>
</li>
<li><p>rm:
Clear a tag that is no longer in use from the package.</p>
</li>
<li><p>ls:
Show all of the dist-tags for a package, defaulting to the package in
the curren prefix.</p>
</li>
</ul>
<p>A tag can be used when installing packages as a reference to a version instead
of using a specific version number:</p>
<pre><code>npm install &lt;name&gt;@&lt;tag&gt;
</code></pre><p>When installing dependencies, a preferred tagged version may be specified:</p>
<pre><code>npm install --tag &lt;tag&gt;
</code></pre><p>This also applies to <code>npm dedupe</code>.</p>
<p>Publishing a package always sets the &quot;latest&quot; tag to the published version.</p>
<h2 id="purpose">PURPOSE</h2>
<p>Tags can be used to provide an alias instead of version numbers. For
example, <code>npm</code> currently uses the tag &quot;next&quot; to identify the upcoming
version, and the tag &quot;latest&quot; to identify the current version.</p>
<p>A project might choose to have multiple streams of development, e.g.,
&quot;stable&quot;, &quot;canary&quot;.</p>
<h2 id="caveats">CAVEATS</h2>
<p>This command used to be known as <code>npm tag</code>, which only created new tags, and so
had a different syntax.</p>
<p>Tags must share a namespace with version numbers, because they are specified in
the same slot: <code>npm install &lt;pkg&gt;@&lt;version&gt;</code> vs <code>npm install &lt;pkg&gt;@&lt;tag&gt;</code>.</p>
<p>Tags that can be interpreted as valid semver ranges will be rejected. For
example, <code>v1.4</code> cannot be used as a tag, because it is interpreted by semver as
<code>&gt;=1.4.0 &lt;1.5.0</code>. See <a href="https://github.com/npm/npm/issues/6082">https://github.com/npm/npm/issues/6082</a>.</p>
<p>The simplest way to avoid semver problems with tags is to use tags that do not
begin with a number or the letter <code>v</code>.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-tag.html">npm-tag(1)</a></li>
<li><a href="../cli/npm-publish.html">npm-publish(1)</a></li>
<li><a href="../cli/npm-install.html">npm-install(1)</a></li>
<li><a href="../cli/npm-dedupe.html">npm-dedupe(1)</a></li>
<li><a href="../misc/npm-registry.html">npm-registry(7)</a></li>
<li><a href="../cli/npm-config.html">npm-config(1)</a></li>
<li><a href="../misc/npm-config.html">npm-config(7)</a></li>
<li><a href="../api/npm-tag.html">npm-tag(3)</a></li>
<li><a href="../files/npmrc.html">npmrc(5)</a></li>
</ul>

@@ -13,7 +13,7 @@ <h2 id="synopsis">SYNOPSIS</h2>
<p>Note that <code>package-name</code> is taken from <code>package.json</code>,
not from directory name.</p>
<p>The package name can be optionally prefixed with a scope. See <code><a href="../misc/npm-scope.html">npm-scope(7)</a></code>.
The scope must by preceded by an @-symbol and followed by a slash.</p>
The scope must be preceded by an @-symbol and followed by a slash.</p>
<p>When creating tarballs for <code>npm publish</code>, the linked packages are
&quot;snapshotted&quot; to their current state by resolving the symbolic links.</p>
<p>This is handy for installing your own stuff, so that you can work on it and
@@ -11,7 +11,7 @@ <h2 id="synopsis">SYNOPSIS</h2>
limit the results to only the paths to the packages named. Note that
nested packages will <em>also</em> show the paths to the specified packages.
For example, running <code>npm ls promzard</code> in npm&#39;s source tree will show:</p>
<pre><code>npm@2.1.6 /path/to/npm
<pre><code>npm@2.3.0 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
</code></pre><p>It will print out extraneous, missing, and invalid packages.</p>
@@ -1,15 +1,33 @@
<h1><a href="../cli/npm-restart.html">npm-restart</a></h1> <p>Start a package</p>
<h1><a href="../cli/npm-restart.html">npm-restart</a></h1> <p>Restart a package</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm restart [-- &lt;args&gt;]
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This runs a package&#39;s &quot;restart&quot; script, if one was provided. Otherwise it runs
package&#39;s &quot;stop&quot; script, if one was provided, and then the &quot;start&quot; script.</p>
<p>This restarts a package.</p>
<p>This runs a package&#39;s &quot;stop&quot;, &quot;restart&quot;, and &quot;start&quot; scripts, and associated
pre- and post- scripts, in the order given below:</p>
<ol>
<li>prerestart</li>
<li>prestop</li>
<li>stop</li>
<li>poststop</li>
<li>restart</li>
<li>prestart</li>
<li>start</li>
<li>poststart</li>
<li>postrestart</li>
</ol>
<h2 id="note">NOTE</h2>
<p>Note that the &quot;restart&quot; script is run <strong>in addition to</strong> the &quot;stop&quot;
and &quot;start&quot; scripts, not instead of them.</p>
<p>This is the behavior as of <code>npm</code> major version 2. A change in this
behavior will be accompanied by an increase in major version number</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-run-script.html">npm-run-script(1)</a></li>
<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-stop.html">npm-stop(1)</a></li>
<li><a href="../api/npm-restart.html">npm-restart(3)</a></li>
</ul>

@@ -6,9 +6,12 @@ <h2 id="synopsis">SYNOPSIS</h2>
<p>This runs an arbitrary command from a package&#39;s <code>&quot;scripts&quot;</code> object.
If no package name is provided, it will search for a <code>package.json</code>
in the current folder and use its <code>&quot;scripts&quot;</code> object. If no <code>&quot;command&quot;</code>
is provided, it will list the available top level scripts.</p>
<p>It is used by the test, start, restart, and stop commands, but can be
called directly, as well.</p>
is provided, it will list the available top level scripts. The <code>env</code> command
can be used to list environment variables that will be available to the script
at runtime. If an &quot;env&quot; command is defined in your package it will have
precedence instead.</p>
<p><code>run[-script]</code> is used by the test, start, restart, and stop commands, but can
be called directly, as well.</p>
<p>As of <a href="http://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="http://goo.gl/KxMmtG">getopt</a> to delimit the end of the options. npm will pass
@@ -11,6 +11,22 @@ <h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm install --tag &lt;tag&gt;
</code></pre><p>This also applies to <code>npm dedupe</code>.</p>
<p>Publishing a package always sets the &quot;latest&quot; tag to the published version.</p>
<h2 id="purpose">PURPOSE</h2>
<p>Tags can be used to provide an alias instead of version numbers. For
example, <code>npm</code> currently uses the tag &quot;next&quot; to identify the upcoming
version, and the tag &quot;latest&quot; to identify the current version.</p>
<p>A project might choose to have multiple streams of development, e.g.,
&quot;stable&quot;, &quot;canary&quot;.</p>
<h2 id="caveats">CAVEATS</h2>
<p>Tags must share a namespace with version numbers, because they are
specified in the same slot: <code>npm install &lt;pkg&gt;@&lt;version&gt;</code> vs <code>npm
install &lt;pkg&gt;@&lt;tag&gt;</code>.</p>
<p>Tags that can be interpreted as valid semver ranges will be
rejected. For example, <code>v1.4</code> cannot be used as a tag, because it is
interpreted by semver as <code>&gt;=1.4.0 &lt;1.5.0</code>. See
<a href="https://github.com/npm/npm/issues/6082">https://github.com/npm/npm/issues/6082</a>.</p>
<p>The simplest way to avoid semver problems with tags is to use tags
that do not begin with a number or the letter <code>v</code>.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-publish.html">npm-publish(1)</a></li>
@@ -19,6 +35,7 @@ <h2 id="see-also">SEE ALSO</h2>
<li><a href="../misc/npm-registry.html">npm-registry(7)</a></li>
<li><a href="../cli/npm-config.html">npm-config(1)</a></li>
<li><a href="../misc/npm-config.html">npm-config(7)</a></li>
<li><a href="../api/npm-tag.html">npm-tag(3)</a></li>
<li><a href="../files/npmrc.html">npmrc(5)</a></li>
</ul>

@@ -4,7 +4,9 @@ <h2 id="synopsis">SYNOPSIS</h2>
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>This command will update all the packages listed to the latest version
(specified by the <code>tag</code> config).</p>
<p>It will also install missing packages.</p>
<p>It will also install missing packages. As with all commands that install
packages, the <code>--dev</code> flag will cause <code>devDependencies</code> to be processed
as well.</p>
<p>If the <code>-g</code> flag is specified, this command will update globally installed
packages.</p>
<p>If no package name is specified, all packages in the specified location (global
@@ -3,7 +3,7 @@ <h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm version [&lt;newversion&gt; | major | minor | patch | premajor | preminor | prepatch | prerelease]
</code></pre><h2 id="description">DESCRIPTION</h2>
<p>Run this in a package directory to bump the version and write the new
data back to the package.json file.</p>
data back to <code>package.json</code> and, if present, <code>npm-shrinkwrap.json</code>.</p>
<p>The <code>newversion</code> argument should be a valid semver string, <em>or</em> a
valid second argument to semver.inc (one of &quot;patch&quot;, &quot;minor&quot;, &quot;major&quot;,
&quot;prepatch&quot;, &quot;preminor&quot;, &quot;premajor&quot;, &quot;prerelease&quot;). In the second case,
@@ -13,7 +13,7 @@ <h2 id="synopsis">SYNOPSIS</h2>
For example, to show the dependencies of the <code>ronn</code> package at version
0.3.5, you could do the following:</p>
<pre><code>npm view ronn@0.3.5 dependencies
</code></pre><p>You can view child field by separating them with a period.
</code></pre><p>You can view child fields by separating them with a period.
To view the git repository URL for the latest version of npm, you could
do this:</p>
<pre><code>npm view npm repository.url
@@ -1,8 +1,8 @@
<h1><a href="../cli/npm.html">npm</a></h1> <p>node package manager</p>
<h1><a href="../cli/npm.html">npm</a></h1> <p>javascript package manager</p>
<h2 id="synopsis">SYNOPSIS</h2>
<pre><code>npm &lt;command&gt; [args]
</code></pre><h2 id="version">VERSION</h2>
<p>2.1.6</p>
<p>2.3.0</p>
<h2 id="description">DESCRIPTION</h2>
<p>npm is the package manager for the Node JavaScript platform. It puts
modules in place so that node can find them, and manages dependency
@@ -99,15 +99,15 @@ <h2 id="contributions">CONTRIBUTIONS</h2>
the issues list or ask on the mailing list.</p>
<ul>
<li><a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
<li><a href="&#109;&#x61;&#105;&#108;&#x74;&#111;&#58;&#110;&#x70;&#109;&#45;&#64;&#x67;&#111;&#x6f;&#x67;&#108;&#x65;&#103;&#114;&#111;&#117;&#x70;&#x73;&#46;&#99;&#x6f;&#x6d;">&#110;&#x70;&#109;&#45;&#64;&#x67;&#111;&#x6f;&#x67;&#108;&#x65;&#103;&#114;&#111;&#117;&#x70;&#x73;&#46;&#99;&#x6f;&#x6d;</a></li>
<li><a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#111;&#x3a;&#x6e;&#112;&#109;&#45;&#64;&#x67;&#x6f;&#x6f;&#x67;&#108;&#101;&#x67;&#x72;&#x6f;&#117;&#x70;&#115;&#x2e;&#99;&#111;&#x6d;">&#x6e;&#112;&#109;&#45;&#64;&#x67;&#x6f;&#x6f;&#x67;&#108;&#101;&#x67;&#x72;&#x6f;&#117;&#x70;&#115;&#x2e;&#99;&#111;&#x6d;</a></li>
</ul>
<h2 id="bugs">BUGS</h2>
<p>When you find issues, please report them:</p>
<ul>
<li>web:
<a href="http://github.com/npm/npm/issues">http://github.com/npm/npm/issues</a></li>
<li>email:
<a href="&#109;&#x61;&#x69;&#108;&#116;&#111;&#58;&#x6e;&#112;&#109;&#x2d;&#x40;&#x67;&#x6f;&#111;&#x67;&#x6c;&#x65;&#x67;&#x72;&#111;&#117;&#112;&#x73;&#46;&#99;&#x6f;&#x6d;">&#x6e;&#112;&#109;&#x2d;&#x40;&#x67;&#x6f;&#111;&#x67;&#x6c;&#x65;&#x67;&#x72;&#111;&#117;&#112;&#x73;&#46;&#99;&#x6f;&#x6d;</a></li>
<a href="&#x6d;&#97;&#105;&#x6c;&#116;&#x6f;&#58;&#x6e;&#x70;&#x6d;&#45;&#x40;&#103;&#111;&#x6f;&#x67;&#x6c;&#x65;&#x67;&#x72;&#111;&#117;&#112;&#115;&#46;&#99;&#x6f;&#109;">&#x6e;&#x70;&#x6d;&#45;&#x40;&#103;&#111;&#x6f;&#x67;&#x6c;&#x65;&#x67;&#x72;&#111;&#117;&#112;&#115;&#46;&#99;&#x6f;&#109;</a></li>
</ul>
<p>Be sure to include <em>all</em> of the output from the npm command that didn&#39;t work
as expected. The <code>npm-debug.log</code> file is also helpful to provide.</p>
@@ -117,7 +117,7 @@ <h2 id="author">AUTHOR</h2>
<p><a href="http://blog.izs.me/">Isaac Z. Schlueter</a> ::
<a href="https://github.com/isaacs/">isaacs</a> ::
<a href="http://twitter.com/izs">@izs</a> ::
<a href="&#x6d;&#x61;&#105;&#108;&#x74;&#111;&#58;&#105;&#64;&#105;&#x7a;&#115;&#46;&#x6d;&#x65;">&#105;&#64;&#105;&#x7a;&#115;&#46;&#x6d;&#x65;</a></p>
<a href="&#109;&#x61;&#105;&#x6c;&#x74;&#111;&#58;&#105;&#64;&#x69;&#x7a;&#x73;&#46;&#x6d;&#101;">&#105;&#64;&#x69;&#x7a;&#x73;&#46;&#x6d;&#101;</a></p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-help.html">npm-help(1)</a></li>
@@ -21,7 +21,7 @@ <h2 id="name">name</h2>
<li>The name will probably be passed as an argument to require(), so it should
be something short, but also reasonably descriptive.</li>
<li>You may want to check the npm registry to see if there&#39;s something by that name
already, before you get too attached to it. <a href="http://registry.npmjs.org/">http://registry.npmjs.org/</a></li>
already, before you get too attached to it. <a href="https://www.npmjs.com/">https://www.npmjs.com/</a></li>
</ul>
<p>A name can be optionally prefixed by a scope, e.g. <code>@myorg/mypackage</code>. See
<code><a href="../misc/npm-scope.html">npm-scope(7)</a></code> for more detail.</p>
@@ -104,10 +104,10 @@ <h2 id="bin">bin</h2>
command name to local file name. On install, npm will symlink that file into
<code>prefix/bin</code> for global installs, or <code>./node_modules/.bin/</code> for local
installs.</p>
<p>For example, npm has this:</p>
<pre><code>{ &quot;bin&quot; : { &quot;npm&quot; : &quot;./cli.js&quot; } }
</code></pre><p>So, when you install npm, it&#39;ll create a symlink from the <code>cli.js</code> script to
<code>/usr/local/bin/npm</code>.</p>
<p>For example, myapp could have this:</p>
<pre><code>{ &quot;bin&quot; : { &quot;myapp&quot; : &quot;./cli.js&quot; } }
</code></pre><p>So, when you install myapp, it&#39;ll create a symlink from the <code>cli.js</code> script to
<code>/usr/local/bin/myapp</code>.</p>
<p>If you have a single executable, and its name should be the name
of the package, then you can just supply it as a string. For example:</p>
<pre><code>{ &quot;name&quot;: &quot;my-program&quot;
@@ -170,7 +170,7 @@ <h3 id="directories-example">directories.example</h3>
<p>Put example scripts in here. Someday, it might be exposed in some clever way.</p>
<h2 id="repository">repository</h2>
<p>Specify the place where your code lives. This is helpful for people who
want to contribute. If the git repo is on github, then the <code>npm docs</code>
want to contribute. If the git repo is on GitHub, then the <code>npm docs</code>
command will be able to find you.</p>
<p>Do it like this:</p>
<pre><code>&quot;repository&quot; :
@@ -258,12 +258,15 @@ <h3 id="git-urls-as-dependencies">Git URLs as Dependencies</h3>
</code></pre><p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
<h2 id="github-urls">GitHub URLs</h2>
<p>As of version 1.1.65, you can refer to GitHub urls as just &quot;foo&quot;: &quot;user/foo-project&quot;. For example:</p>
<p>As of version 1.1.65, you can refer to GitHub urls as just &quot;foo&quot;:
&quot;user/foo-project&quot;. Just as with git URLs, a <code>commit-ish</code> suffix can be
included. For example:</p>
<pre><code>{
&quot;name&quot;: &quot;foo&quot;,
&quot;version&quot;: &quot;0.0.0&quot;,
&quot;dependencies&quot;: {
&quot;express&quot;: &quot;visionmedia/express&quot;
&quot;express&quot;: &quot;visionmedia/express&quot;,
&quot;mocha&quot;: &quot;visionmedia/mocha#4727d357ea&quot;
}
}
</code></pre><h2 id="local-paths">Local Paths</h2>
@@ -317,7 +320,7 @@ <h2 id="devdependencies">devDependencies</h2>
<h2 id="peerdependencies">peerDependencies</h2>
<p>In some cases, you want to express the compatibility of your package with an
host tool or library, while not necessarily doing a <code>require</code> of this host.
This is usually refered to as a <em>plugin</em>. Notably, your module may be exposing
This is usually referred to as a <em>plugin</em>. Notably, your module may be exposing
a specific interface, expected and specified by the host documentation.</p>
<p>For example:</p>
<pre><code>{
@@ -20,7 +20,11 @@ <h2 id="files">FILES</h2>
</code></pre><p>Each of these files is loaded, and config options are resolved in
priority order. For example, a setting in the userconfig file would
override the setting in the globalconfig file.</p>
<h3 id="per-project-config-file">Per-project config file</h3>
<p>Array values are specified by adding &quot;[]&quot; after the key name. For
example:</p>
<pre><code>key[] = &quot;first value&quot;
key[] = &quot;second value&quot;
</code></pre><h3 id="per-project-config-file">Per-project config file</h3>
<p>When working locally in a project, a <code>.npmrc</code> file in the root of the
project (ie, a sibling of <code>node_modules</code> and <code>package.json</code>) will set
config values specific to this project.</p>
@@ -21,7 +21,7 @@ <h2 id="name">name</h2>
<li>The name will probably be passed as an argument to require(), so it should
be something short, but also reasonably descriptive.</li>
<li>You may want to check the npm registry to see if there&#39;s something by that name
already, before you get too attached to it. <a href="http://registry.npmjs.org/">http://registry.npmjs.org/</a></li>
already, before you get too attached to it. <a href="https://www.npmjs.com/">https://www.npmjs.com/</a></li>
</ul>
<p>A name can be optionally prefixed by a scope, e.g. <code>@myorg/mypackage</code>. See
<code><a href="../misc/npm-scope.html">npm-scope(7)</a></code> for more detail.</p>
@@ -104,10 +104,10 @@ <h2 id="bin">bin</h2>
command name to local file name. On install, npm will symlink that file into
<code>prefix/bin</code> for global installs, or <code>./node_modules/.bin/</code> for local
installs.</p>
<p>For example, npm has this:</p>
<pre><code>{ &quot;bin&quot; : { &quot;npm&quot; : &quot;./cli.js&quot; } }
</code></pre><p>So, when you install npm, it&#39;ll create a symlink from the <code>cli.js</code> script to
<code>/usr/local/bin/npm</code>.</p>
<p>For example, myapp could have this:</p>
<pre><code>{ &quot;bin&quot; : { &quot;myapp&quot; : &quot;./cli.js&quot; } }
</code></pre><p>So, when you install myapp, it&#39;ll create a symlink from the <code>cli.js</code> script to
<code>/usr/local/bin/myapp</code>.</p>
<p>If you have a single executable, and its name should be the name
of the package, then you can just supply it as a string. For example:</p>
<pre><code>{ &quot;name&quot;: &quot;my-program&quot;
@@ -170,7 +170,7 @@ <h3 id="directories-example">directories.example</h3>
<p>Put example scripts in here. Someday, it might be exposed in some clever way.</p>
<h2 id="repository">repository</h2>
<p>Specify the place where your code lives. This is helpful for people who
want to contribute. If the git repo is on github, then the <code>npm docs</code>
want to contribute. If the git repo is on GitHub, then the <code>npm docs</code>
command will be able to find you.</p>
<p>Do it like this:</p>
<pre><code>&quot;repository&quot; :
@@ -258,12 +258,15 @@ <h3 id="git-urls-as-dependencies">Git URLs as Dependencies</h3>
</code></pre><p>The <code>commit-ish</code> can be any tag, sha, or branch which can be supplied as
an argument to <code>git checkout</code>. The default is <code>master</code>.</p>
<h2 id="github-urls">GitHub URLs</h2>
<p>As of version 1.1.65, you can refer to GitHub urls as just &quot;foo&quot;: &quot;user/foo-project&quot;. For example:</p>
<p>As of version 1.1.65, you can refer to GitHub urls as just &quot;foo&quot;:
&quot;user/foo-project&quot;. Just as with git URLs, a <code>commit-ish</code> suffix can be
included. For example:</p>
<pre><code>{
&quot;name&quot;: &quot;foo&quot;,
&quot;version&quot;: &quot;0.0.0&quot;,
&quot;dependencies&quot;: {
&quot;express&quot;: &quot;visionmedia/express&quot;
&quot;express&quot;: &quot;visionmedia/express&quot;,
&quot;mocha&quot;: &quot;visionmedia/mocha#4727d357ea&quot;
}
}
</code></pre><h2 id="local-paths">Local Paths</h2>
@@ -317,7 +320,7 @@ <h2 id="devdependencies">devDependencies</h2>
<h2 id="peerdependencies">peerDependencies</h2>
<p>In some cases, you want to express the compatibility of your package with an
host tool or library, while not necessarily doing a <code>require</code> of this host.
This is usually refered to as a <em>plugin</em>. Notably, your module may be exposing
This is usually referred to as a <em>plugin</em>. Notably, your module may be exposing
a specific interface, expected and specified by the host documentation.</p>
<p>For example:</p>
<pre><code>{
@@ -1,10 +1,10 @@
<h1><a href="misc/npm-index.html">npm-index</a></h1> <p>Index of all npm documentation</p>
<h3 id="readme-1-"><a href="../doc/README.html">README</a></h3>
<p>node package manager</p>
<p>a JavaScript package manager</p>
<h2 id="command-line-documentation">Command Line Documentation</h2>
<p>Using npm on the command line</p>
<h3 id="npm-1-"><a href="cli/npm.html">npm(1)</a></h3>
<p>node package manager</p>
<p>javascript package manager</p>
<h3 id="npm-adduser-1-"><a href="cli/npm-adduser.html">npm-adduser(1)</a></h3>
<p>Add a registry user account</p>
<h3 id="npm-bin-1-"><a href="cli/npm-bin.html">npm-bin(1)</a></h3>
@@ -60,7 +60,7 @@ <h3 id="npm-rebuild-1-"><a href="cli/npm-rebuild.html">npm-rebuild(1)</a></h3>
<h3 id="npm-repo-1-"><a href="cli/npm-repo.html">npm-repo(1)</a></h3>
<p>Open package repository page in the browser</p>
<h3 id="npm-restart-1-"><a href="cli/npm-restart.html">npm-restart(1)</a></h3>
<p>Start a package</p>
<p>Restart a package</p>
<h3 id="npm-rm-1-"><a href="cli/npm-rm.html">npm-rm(1)</a></h3>
<p>Remove a package</p>
<h3 id="npm-root-1-"><a href="cli/npm-root.html">npm-root(1)</a></h3>
@@ -98,7 +98,7 @@ <h3 id="npm-whoami-1-"><a href="cli/npm-whoami.html">npm-whoami(1)</a></h3>
<h2 id="api-documentation">API Documentation</h2>
<p>Using npm in your Node programs</p>
<h3 id="npm-3-"><a href="api/npm.html">npm(3)</a></h3>
<p>node package manager</p>
<p>javascript package manager</p>
<h3 id="npm-bin-3-"><a href="api/npm-bin.html">npm-bin(3)</a></h3>
<p>Display npm bin folder</p>
<h3 id="npm-bugs-3-"><a href="api/npm-bugs.html">npm-bugs(3)</a></h3>
@@ -146,7 +146,7 @@ <h3 id="npm-rebuild-3-"><a href="api/npm-rebuild.html">npm-rebuild(3)</a></h3>
<h3 id="npm-repo-3-"><a href="api/npm-repo.html">npm-repo(3)</a></h3>
<p>Open package repository page in the browser</p>
<h3 id="npm-restart-3-"><a href="api/npm-restart.html">npm-restart(3)</a></h3>
<p>Start a package</p>
<p>Restart a package</p>
<h3 id="npm-root-3-"><a href="api/npm-root.html">npm-root(3)</a></h3>
<p>Display npm root</p>
<h3 id="npm-run-script-3-"><a href="api/npm-run-script.html">npm-run-script(3)</a></h3>
@@ -5,14 +5,14 @@ <h2 id="description">DESCRIPTION</h2>
designed to reduce visual clutter and make bugs more apparent.</p>
<p>If you want to contribute to npm (which is very encouraged), you should
make your code conform to npm&#39;s style.</p>
<p>Note: this concerns npm&#39;s code not the specific packages at npmjs.org</p>
<p>Note: this concerns npm&#39;s code not the specific packages that you can download from the npm registry.</p>
<h2 id="line-length">Line Length</h2>
<p>Keep lines shorter than 80 characters. It&#39;s better for lines to be
too short than to be too long. Break up long lists, objects, and other
statements onto multiple lines.</p>
<h2 id="indentation">Indentation</h2>
<p>Two-spaces. Tabs are better, but they look like hell in web browsers
(and on github), and node uses 2 spaces, so that&#39;s that.</p>
(and on GitHub), and node uses 2 spaces, so that&#39;s that.</p>
<p>Configure your editor appropriately.</p>
<h2 id="curly-braces">Curly braces</h2>
<p>Curly braces belong on the same line as the thing that necessitates them.</p>
@@ -107,13 +107,18 @@ <h3 id="browser">browser</h3>
<h3 id="ca">ca</h3>
<ul>
<li>Default: The npm CA certificate</li>
<li>Type: String or null</li>
<li>Type: String, Array or null</li>
</ul>
<p>The Certificate Authority signing certificate that is trusted for SSL
connections to the registry.</p>
<p>Set to <code>null</code> to only allow &quot;known&quot; registrars, or to a specific CA cert
connections to the registry. Values should be in PEM format with newlines
replaced by the string &quot;\n&quot;. For example:</p>
<pre><code>ca=&quot;-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----&quot;
</code></pre><p>Set to <code>null</code> to only allow &quot;known&quot; registrars, or to a specific CA cert
to trust only that specific signing authority.</p>
<p>See also the <code>strict-ssl</code> config.</p>
<p>Multiple CAs can be trusted by specifying an array of certificates:</p>
<pre><code>ca[]=&quot;...&quot;
ca[]=&quot;...&quot;
</code></pre><p>See also the <code>strict-ssl</code> config.</p>
<h3 id="cafile">cafile</h3>
<ul>
<li>Default: <code>null</code></li>
@@ -302,11 +307,12 @@ <h3 id="heading">heading</h3>
<p>The string that starts all the debugging log output.</p>
<h3 id="https-proxy">https-proxy</h3>
<ul>
<li>Default: the <code>HTTPS_PROXY</code> or <code>https_proxy</code> or <code>HTTP_PROXY</code> or
<code>http_proxy</code> environment variables.</li>
<li>Default: null</li>
<li>Type: url</li>
</ul>
<p>A proxy to use for outgoing https requests.</p>
<p>A proxy to use for outgoing https requests. If the <code>HTTPS_PROXY</code> or
<code>https_proxy</code> or <code>HTTP_PROXY</code> or <code>http_proxy</code> environment variables are set,
proxy settings will be honored by the underlying <code>request</code> library.</p>
<h3 id="ignore-scripts">ignore-scripts</h3>
<ul>
<li>Default: false</li>
@@ -489,10 +495,12 @@ <h3 id="proprietary-attribs">proprietary-attribs</h3>
this as true.</p>
<h3 id="proxy">proxy</h3>
<ul>
<li>Default: <code>HTTP_PROXY</code> or <code>http_proxy</code> environment variable, or null</li>
<li>Default: null</li>
<li>Type: url</li>
</ul>
<p>A proxy to use for outgoing http requests.</p>
<p>A proxy to use for outgoing http requests. If the <code>HTTP_PROXY</code> or
<code>http_proxy</code> environment variables are set, proxy settings will be
honored by the underlying <code>request</code> library.</p>
<h3 id="rebuild-bundle">rebuild-bundle</h3>
<ul>
<li>Default: true</li>
@@ -692,7 +700,7 @@ <h3 id="userconfig">userconfig</h3>
<h3 id="umask">umask</h3>
<ul>
<li>Default: 022</li>
<li>Type: Octal numeric string</li>
<li>Type: Octal numeric string in range 0000..0777 (0..511)</li>
</ul>
<p>The &quot;umask&quot; value to use when setting the file creation mode on files
and folders.</p>
@@ -83,6 +83,14 @@ <h2 id="keeping-files-out-of-your-package">Keeping files <em>out</em> of your pa
ignore the stuff matched by the <code>.gitignore</code> file. If you <em>want</em> to
include something that is excluded by your <code>.gitignore</code> file, you can
create an empty <code>.npmignore</code> file to override it.</p>
<p><code>.npmignore</code> files follow the <a href="http://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#Ignoring-Files">same pattern rules</a>
as <code>.gitignore</code> files:</p>
<ul>
<li>Blank lines or lines starting with <code>#</code> are ignored.</li>
<li>Standard glob patterns work.</li>
<li>You can end patterns with a forward slash <code>/</code> to specify a directory.</li>
<li>You can negate a pattern by starting it with an exclamation point <code>!</code>.</li>
</ul>
<p>By default, the following paths and files are ignored, so there&#39;s no
need to add them to <code>.npmignore</code> explicitly:</p>
<ul>
@@ -2,7 +2,7 @@ <h1><a href="../misc/npm-disputes.html">npm-disputes</a></h1> <p>Handling Module
<h2 id="synopsis">SYNOPSIS</h2>
<ol>
<li>Get the author email with <code>npm owner ls &lt;pkgname&gt;</code></li>
<li>Email the author, CC <a href="&#x6d;&#97;&#x69;&#x6c;&#116;&#111;&#58;&#x73;&#x75;&#x70;&#112;&#111;&#114;&#116;&#x40;&#x6e;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;">&#x73;&#x75;&#x70;&#112;&#111;&#114;&#116;&#x40;&#x6e;&#x70;&#x6d;&#x6a;&#115;&#x2e;&#99;&#111;&#x6d;</a></li>
<li>Email the author, CC <a href="&#109;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#115;&#117;&#x70;&#x70;&#x6f;&#x72;&#116;&#64;&#110;&#x70;&#x6d;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;">&#115;&#117;&#x70;&#x70;&#x6f;&#x72;&#116;&#64;&#110;&#x70;&#x6d;&#x6a;&#115;&#46;&#99;&#x6f;&#x6d;</a></li>
<li>After a few weeks, if there&#39;s no resolution, we&#39;ll sort it out.</li>
</ol>
<p>Don&#39;t squat on package names. Publish code or move out of the way.</p>
@@ -40,12 +40,12 @@ <h2 id="description">DESCRIPTION</h2>
owner (Bob).</li>
<li>Joe emails Bob, explaining the situation <strong>as respectfully as
possible</strong>, and what he would like to do with the module name. He
adds the npm support staff <a href="&#x6d;&#x61;&#x69;&#108;&#116;&#x6f;&#58;&#115;&#x75;&#112;&#x70;&#x6f;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#106;&#x73;&#x2e;&#x63;&#111;&#109;">&#115;&#x75;&#112;&#x70;&#x6f;&#x72;&#x74;&#64;&#x6e;&#112;&#109;&#106;&#x73;&#x2e;&#x63;&#111;&#109;</a> to the CC list of
adds the npm support staff <a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#111;&#58;&#115;&#117;&#x70;&#112;&#111;&#114;&#x74;&#64;&#110;&#x70;&#109;&#x6a;&#x73;&#46;&#x63;&#111;&#x6d;">&#115;&#117;&#x70;&#112;&#111;&#114;&#x74;&#64;&#110;&#x70;&#109;&#x6a;&#x73;&#46;&#x63;&#111;&#x6d;</a> to the CC list of
the email. Mention in the email that Bob can run <code>npm owner add
joe foo</code> to add Joe as an owner of the <code>foo</code> package.</li>
<li>After a reasonable amount of time, if Bob has not responded, or if
Bob and Joe can&#39;t come to any sort of resolution, email support
<a href="&#x6d;&#97;&#105;&#108;&#x74;&#x6f;&#58;&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#x6d;">&#115;&#117;&#112;&#112;&#111;&#x72;&#116;&#64;&#110;&#112;&#109;&#x6a;&#x73;&#46;&#99;&#x6f;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is
<a href="&#109;&#97;&#105;&#108;&#116;&#x6f;&#58;&#115;&#x75;&#x70;&#112;&#x6f;&#114;&#x74;&#64;&#x6e;&#112;&#x6d;&#106;&#115;&#x2e;&#99;&#111;&#x6d;">&#115;&#x75;&#x70;&#112;&#x6f;&#114;&#x74;&#64;&#x6e;&#112;&#x6d;&#106;&#115;&#x2e;&#99;&#111;&#x6d;</a> and we&#39;ll sort it out. (&quot;Reasonable&quot; is
usually at least 4 weeks, but extra time is allowed around common
holidays.)</li>
</ol>