deps/npm/html/partial/doc/cli/npm-version.html

Summary

Maintainability
Test Coverage
<h1><a href="../cli/npm-version.html">npm-version</a></h1> <p>Bump a package version</p>
<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 <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,
the existing version will be incremented by 1 in the specified field.</p>
<p>If run in a git repo, it will also create a version commit and tag, and fail if
the repo is not clean.  This behavior is controlled by <code>git-tag-version</code> (see
below), and can be disabled on the command line by running <code>npm
--no-git-tag-version version</code></p>
<p>If supplied with <code>--message</code> (shorthand: <code>-m</code>) config option, npm will
use it as a commit message when creating a version commit.  If the
<code>message</code> config contains <code>%s</code> then that will be replaced with the
resulting version number.  For example:</p>
<pre><code>npm version patch -m &quot;Upgrade to %s for reasons&quot;
</code></pre><p>If the <code>sign-git-tag</code> config is set, then the tag will be signed using
the <code>-s</code> flag to git.  Note that you must have a default GPG key set up
in your git config for this to work properly.  For example:</p>
<pre><code>$ npm config set sign-git-tag true
$ npm version patch

You need a passphrase to unlock the secret key for
user: &quot;isaacs (http://blog.izs.me/) &lt;i@izs.me&gt;&quot;
2048-bit RSA key, ID 6C481CF6, created 2010-08-31

Enter passphrase:
</code></pre><p>If &quot;preversion&quot;, &quot;version&quot;, &quot;postversion&quot; in the &quot;scripts&quot; property of
the package.json, it will execute by running <code>npm version</code>. preversion
and version ware executed before bump the package version, postversion
was executed after bump the package version. For example to run <code>npm version</code>
after passed all test:</p>
<pre><code>&quot;scripts&quot;: { &quot;preversion&quot;: &quot;npm test&quot; }
</code></pre><h2 id="configuration">CONFIGURATION</h2>
<h3 id="git-tag-version">git-tag-version</h3>
<ul>
<li>Default: true</li>
<li>Type: Boolean</li>
</ul>
<p>Commit and tag the version change.</p>
<h2 id="see-also">SEE ALSO</h2>
<ul>
<li><a href="../cli/npm-init.html">npm-init(1)</a></li>
<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="../files/package.json.html">package.json(5)</a></li>
<li><a href="../misc/semver.html">semver(7)</a></li>
<li><a href="../misc/config.html">config(7)</a></li>
</ul>