<!doctype html> <html> <title>npm-shrinkwrap.json</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="../../static/style.css"> <link rel="canonical" href="https://www.npmjs.org/doc/files/npm-shrinkwrap.json.html"> <script async=true src="../../static/toc.js"></script> <body> <div id="wrapper"> <h1><a href="../files/npm-shrinkwrap.json.html">npm-shrinkwrap.json</a></h1> <p>A publishable lockfile</p> <h2 id="description">DESCRIPTION</h2> <p><code>npm-shrinkwrap.json</code> is a file created by <a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a>. It is identical to <code>package-lock.json</code>, with one major caveat: Unlike <code>package-lock.json</code>, <code>npm-shrinkwrap.json</code> may be included when publishing a package.</p> <p>The recommended use-case for <code>npm-shrinkwrap.json</code> is applications deployed through the publishing process on the registry: for example, daemons and command-line tools intended as global installs or <code>devDependencies</code>. It's strongly discouraged for library authors to publish this file, since that would prevent end users from having control over transitive dependency updates.</p> <p>Additionally, if both <code>package-lock.json</code> and <code>npm-shrinkwrap.json</code> are present in a package root, <code>package-lock.json</code> will be ignored in favor of this file.</p> <p>For full details and description of the <code>npm-shrinkwrap.json</code> file format, refer to the manual page for <a href="../files/package-lock.json.html">package-lock.json(5)</a>.</p> <h2 id="see-also">SEE ALSO</h2> <ul> <li><a href="../cli/npm-shrinkwrap.html">npm-shrinkwrap(1)</a></li> <li><a href="../files/package-lock.json.html">package-lock.json(5)</a></li> <li><a href="../files/package.json.html">package.json(5)</a></li> <li><a href="../cli/npm-install.html">npm-install(1)</a></li> </ul> </div> <table border=0 cellspacing=0 cellpadding=0 id=npmlogo> <tr><td style="width:180px;height:10px;background:rgb(237,127,127)" colspan=18> </td></tr> <tr><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td><td style="width:40px;height:10px;background:#fff" colspan=4> </td><td rowspan=4 style="width:10px;height:10px;background:rgb(237,127,127)"> </td><td colspan=6 style="width:60px;height:10px;background:#fff"> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=4> </td></tr> <tr><td colspan=2 style="width:20px;height:30px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=4 colspan=2> </td><td style="width:10px;height:20px;background:rgb(237,127,127)" rowspan=2> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:20px;height:10px;background:#fff" rowspan=3 colspan=2> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td><td style="width:10px;height:10px;background:#fff" rowspan=3> </td><td style="width:10px;height:10px;background:rgb(237,127,127)" rowspan=3> </td></tr> <tr><td style="width:10px;height:10px;background:#fff" rowspan=2> </td></tr> <tr><td style="width:10px;height:10px;background:#fff"> </td></tr> <tr><td style="width:60px;height:10px;background:rgb(237,127,127)" colspan=6> </td><td colspan=10 style="width:10px;height:10px;background:rgb(237,127,127)"> </td></tr> <tr><td colspan=5 style="width:50px;height:10px;background:#fff"> </td><td style="width:40px;height:10px;background:rgb(237,127,127)" colspan=4> </td><td style="width:90px;height:10px;background:#fff" colspan=9> </td></tr> </table> <p id="footer">npm-shrinkwrap.json — npm@6.5.0</p>