11cb0ef41Sopenharmony_ci<!DOCTYPE html><html><head>
21cb0ef41Sopenharmony_ci<meta charset="utf-8">
31cb0ef41Sopenharmony_ci<title>npm-query</title>
41cb0ef41Sopenharmony_ci<style>
51cb0ef41Sopenharmony_cibody {
61cb0ef41Sopenharmony_ci    background-color: #ffffff;
71cb0ef41Sopenharmony_ci    color: #24292e;
81cb0ef41Sopenharmony_ci
91cb0ef41Sopenharmony_ci    margin: 0;
101cb0ef41Sopenharmony_ci
111cb0ef41Sopenharmony_ci    line-height: 1.5;
121cb0ef41Sopenharmony_ci
131cb0ef41Sopenharmony_ci    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
141cb0ef41Sopenharmony_ci}
151cb0ef41Sopenharmony_ci#rainbar {
161cb0ef41Sopenharmony_ci    height: 10px;
171cb0ef41Sopenharmony_ci    background-image: linear-gradient(139deg, #fb8817, #ff4b01, #c12127, #e02aff);
181cb0ef41Sopenharmony_ci}
191cb0ef41Sopenharmony_ci
201cb0ef41Sopenharmony_cia {
211cb0ef41Sopenharmony_ci    text-decoration: none;
221cb0ef41Sopenharmony_ci    color: #0366d6;
231cb0ef41Sopenharmony_ci}
241cb0ef41Sopenharmony_cia:hover {
251cb0ef41Sopenharmony_ci    text-decoration: underline;
261cb0ef41Sopenharmony_ci}
271cb0ef41Sopenharmony_ci
281cb0ef41Sopenharmony_cipre {
291cb0ef41Sopenharmony_ci    margin: 1em 0px;
301cb0ef41Sopenharmony_ci    padding: 1em;
311cb0ef41Sopenharmony_ci    border: solid 1px #e1e4e8;
321cb0ef41Sopenharmony_ci    border-radius: 6px;
331cb0ef41Sopenharmony_ci
341cb0ef41Sopenharmony_ci    display: block;
351cb0ef41Sopenharmony_ci    overflow: auto;
361cb0ef41Sopenharmony_ci
371cb0ef41Sopenharmony_ci    white-space: pre;
381cb0ef41Sopenharmony_ci
391cb0ef41Sopenharmony_ci    background-color: #f6f8fa;
401cb0ef41Sopenharmony_ci    color: #393a34;
411cb0ef41Sopenharmony_ci}
421cb0ef41Sopenharmony_cicode {
431cb0ef41Sopenharmony_ci    font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace;
441cb0ef41Sopenharmony_ci    font-size: 85%;
451cb0ef41Sopenharmony_ci    padding: 0.2em 0.4em;
461cb0ef41Sopenharmony_ci    background-color: #f6f8fa;
471cb0ef41Sopenharmony_ci    color: #393a34;
481cb0ef41Sopenharmony_ci}
491cb0ef41Sopenharmony_cipre > code {
501cb0ef41Sopenharmony_ci    padding: 0;
511cb0ef41Sopenharmony_ci    background-color: inherit;
521cb0ef41Sopenharmony_ci    color: inherit;
531cb0ef41Sopenharmony_ci}
541cb0ef41Sopenharmony_cih1, h2, h3 {
551cb0ef41Sopenharmony_ci    font-weight: 600;
561cb0ef41Sopenharmony_ci}
571cb0ef41Sopenharmony_ci
581cb0ef41Sopenharmony_ci#logobar {
591cb0ef41Sopenharmony_ci    background-color: #333333;
601cb0ef41Sopenharmony_ci    margin: 0 auto;
611cb0ef41Sopenharmony_ci    padding: 1em 4em;
621cb0ef41Sopenharmony_ci}
631cb0ef41Sopenharmony_ci#logobar .logo {
641cb0ef41Sopenharmony_ci    float: left;
651cb0ef41Sopenharmony_ci}
661cb0ef41Sopenharmony_ci#logobar .title {
671cb0ef41Sopenharmony_ci    font-weight: 600;
681cb0ef41Sopenharmony_ci    color: #dddddd;
691cb0ef41Sopenharmony_ci    float: left;
701cb0ef41Sopenharmony_ci    margin: 5px 0 0 1em;
711cb0ef41Sopenharmony_ci}
721cb0ef41Sopenharmony_ci#logobar:after {
731cb0ef41Sopenharmony_ci    content: "";
741cb0ef41Sopenharmony_ci    display: block;
751cb0ef41Sopenharmony_ci    clear: both;
761cb0ef41Sopenharmony_ci}
771cb0ef41Sopenharmony_ci
781cb0ef41Sopenharmony_ci#content {
791cb0ef41Sopenharmony_ci    margin: 0 auto;
801cb0ef41Sopenharmony_ci    padding: 0 4em;
811cb0ef41Sopenharmony_ci}
821cb0ef41Sopenharmony_ci
831cb0ef41Sopenharmony_ci#table_of_contents > h2 {
841cb0ef41Sopenharmony_ci    font-size: 1.17em;
851cb0ef41Sopenharmony_ci}
861cb0ef41Sopenharmony_ci#table_of_contents ul:first-child {
871cb0ef41Sopenharmony_ci    border: solid 1px #e1e4e8;
881cb0ef41Sopenharmony_ci    border-radius: 6px;
891cb0ef41Sopenharmony_ci    padding: 1em;
901cb0ef41Sopenharmony_ci    background-color: #f6f8fa;
911cb0ef41Sopenharmony_ci    color: #393a34;
921cb0ef41Sopenharmony_ci}
931cb0ef41Sopenharmony_ci#table_of_contents ul {
941cb0ef41Sopenharmony_ci    list-style-type: none;
951cb0ef41Sopenharmony_ci    padding-left: 1.5em;
961cb0ef41Sopenharmony_ci}
971cb0ef41Sopenharmony_ci#table_of_contents li {
981cb0ef41Sopenharmony_ci    font-size: 0.9em;
991cb0ef41Sopenharmony_ci}
1001cb0ef41Sopenharmony_ci#table_of_contents li a {
1011cb0ef41Sopenharmony_ci    color: #000000;
1021cb0ef41Sopenharmony_ci}
1031cb0ef41Sopenharmony_ci
1041cb0ef41Sopenharmony_ciheader.title {
1051cb0ef41Sopenharmony_ci    border-bottom: solid 1px #e1e4e8;
1061cb0ef41Sopenharmony_ci}
1071cb0ef41Sopenharmony_ciheader.title > h1 {
1081cb0ef41Sopenharmony_ci    margin-bottom: 0.25em;
1091cb0ef41Sopenharmony_ci}
1101cb0ef41Sopenharmony_ciheader.title > .description {
1111cb0ef41Sopenharmony_ci    display: block;
1121cb0ef41Sopenharmony_ci    margin-bottom: 0.5em;
1131cb0ef41Sopenharmony_ci    line-height: 1;
1141cb0ef41Sopenharmony_ci}
1151cb0ef41Sopenharmony_ci
1161cb0ef41Sopenharmony_cifooter#edit {
1171cb0ef41Sopenharmony_ci    border-top: solid 1px #e1e4e8;
1181cb0ef41Sopenharmony_ci    margin: 3em 0 4em 0;
1191cb0ef41Sopenharmony_ci    padding-top: 2em;
1201cb0ef41Sopenharmony_ci}
1211cb0ef41Sopenharmony_ci</style>
1221cb0ef41Sopenharmony_ci</head>
1231cb0ef41Sopenharmony_ci<body>
1241cb0ef41Sopenharmony_ci<div id="banner">
1251cb0ef41Sopenharmony_ci<div id="rainbar"></div>
1261cb0ef41Sopenharmony_ci<div id="logobar">
1271cb0ef41Sopenharmony_ci<svg class="logo" role="img" height="32" width="32" viewBox="0 0 700 700">
1281cb0ef41Sopenharmony_ci<polygon fill="#cb0000" points="0,700 700,700 700,0 0,0"></polygon>
1291cb0ef41Sopenharmony_ci<polygon fill="#ffffff" points="150,550 350,550 350,250 450,250 450,550 550,550 550,150 150,150"></polygon>
1301cb0ef41Sopenharmony_ci</svg>
1311cb0ef41Sopenharmony_ci<div class="title">
1321cb0ef41Sopenharmony_cinpm command-line interface
1331cb0ef41Sopenharmony_ci</div>
1341cb0ef41Sopenharmony_ci</div>
1351cb0ef41Sopenharmony_ci</div>
1361cb0ef41Sopenharmony_ci
1371cb0ef41Sopenharmony_ci<section id="content">
1381cb0ef41Sopenharmony_ci<header class="title">
1391cb0ef41Sopenharmony_ci<h1 id="npm-query">npm-query</h1>
1401cb0ef41Sopenharmony_ci<span class="description">Dependency selector query</span>
1411cb0ef41Sopenharmony_ci</header>
1421cb0ef41Sopenharmony_ci
1431cb0ef41Sopenharmony_ci<section id="table_of_contents">
1441cb0ef41Sopenharmony_ci<h2 id="table-of-contents">Table of contents</h2>
1451cb0ef41Sopenharmony_ci<div id="_table_of_contents"><ul><li><a href="#see-also">See Also</a></li></ul></div>
1461cb0ef41Sopenharmony_ci</section>
1471cb0ef41Sopenharmony_ci
1481cb0ef41Sopenharmony_ci<div id="_content"><h3 id="synopsis">Synopsis</h3>
1491cb0ef41Sopenharmony_ci<pre><code class="language-bash">npm query &lt;selector&gt;
1501cb0ef41Sopenharmony_ci</code></pre>
1511cb0ef41Sopenharmony_ci<h3 id="description">Description</h3>
1521cb0ef41Sopenharmony_ci<p>The <code>npm query</code> command allows for usage of css selectors in order to retrieve
1531cb0ef41Sopenharmony_cian array of dependency objects.</p>
1541cb0ef41Sopenharmony_ci<h3 id="piping-npm-query-to-other-commands">Piping npm query to other commands</h3>
1551cb0ef41Sopenharmony_ci<pre><code class="language-bash"># find all dependencies with postinstall scripts &amp; uninstall them
1561cb0ef41Sopenharmony_cinpm query ":attr(scripts, [postinstall])" | jq 'map(.name)|join("\n")' -r | xargs -I {} npm uninstall {}
1571cb0ef41Sopenharmony_ci
1581cb0ef41Sopenharmony_ci# find all git dependencies &amp; explain who requires them
1591cb0ef41Sopenharmony_cinpm query ":type(git)" | jq 'map(.name)' | xargs -I {} npm why {}
1601cb0ef41Sopenharmony_ci</code></pre>
1611cb0ef41Sopenharmony_ci<h3 id="extended-use-cases--queries">Extended Use Cases &amp; Queries</h3>
1621cb0ef41Sopenharmony_ci<pre><code class="language-stylus">// all deps
1631cb0ef41Sopenharmony_ci*
1641cb0ef41Sopenharmony_ci
1651cb0ef41Sopenharmony_ci// all direct deps
1661cb0ef41Sopenharmony_ci:root &gt; *
1671cb0ef41Sopenharmony_ci
1681cb0ef41Sopenharmony_ci// direct production deps
1691cb0ef41Sopenharmony_ci:root &gt; .prod
1701cb0ef41Sopenharmony_ci
1711cb0ef41Sopenharmony_ci// direct development deps
1721cb0ef41Sopenharmony_ci:root &gt; .dev
1731cb0ef41Sopenharmony_ci
1741cb0ef41Sopenharmony_ci// any peer dep of a direct deps
1751cb0ef41Sopenharmony_ci:root &gt; * &gt; .peer
1761cb0ef41Sopenharmony_ci
1771cb0ef41Sopenharmony_ci// any workspace dep
1781cb0ef41Sopenharmony_ci.workspace
1791cb0ef41Sopenharmony_ci
1801cb0ef41Sopenharmony_ci// all workspaces that depend on another workspace
1811cb0ef41Sopenharmony_ci.workspace &gt; .workspace
1821cb0ef41Sopenharmony_ci
1831cb0ef41Sopenharmony_ci// all workspaces that have peer deps
1841cb0ef41Sopenharmony_ci.workspace:has(.peer)
1851cb0ef41Sopenharmony_ci
1861cb0ef41Sopenharmony_ci// any dep named "lodash"
1871cb0ef41Sopenharmony_ci// equivalent to [name="lodash"]
1881cb0ef41Sopenharmony_ci#lodash
1891cb0ef41Sopenharmony_ci
1901cb0ef41Sopenharmony_ci// any deps named "lodash" &amp; within semver range ^"1.2.3"
1911cb0ef41Sopenharmony_ci#lodash@^1.2.3
1921cb0ef41Sopenharmony_ci// equivalent to...
1931cb0ef41Sopenharmony_ci[name="lodash"]:semver(^1.2.3)
1941cb0ef41Sopenharmony_ci
1951cb0ef41Sopenharmony_ci// get the hoisted node for a given semver range
1961cb0ef41Sopenharmony_ci#lodash@^1.2.3:not(:deduped)
1971cb0ef41Sopenharmony_ci
1981cb0ef41Sopenharmony_ci// querying deps with a specific version
1991cb0ef41Sopenharmony_ci#lodash@2.1.5
2001cb0ef41Sopenharmony_ci// equivalent to...
2011cb0ef41Sopenharmony_ci[name="lodash"][version="2.1.5"]
2021cb0ef41Sopenharmony_ci
2031cb0ef41Sopenharmony_ci// has any deps
2041cb0ef41Sopenharmony_ci:has(*)
2051cb0ef41Sopenharmony_ci
2061cb0ef41Sopenharmony_ci// deps with no other deps (ie. "leaf" nodes)
2071cb0ef41Sopenharmony_ci:empty
2081cb0ef41Sopenharmony_ci
2091cb0ef41Sopenharmony_ci// manually querying git dependencies
2101cb0ef41Sopenharmony_ci[repository^=github:],
2111cb0ef41Sopenharmony_ci[repository^=git:],
2121cb0ef41Sopenharmony_ci[repository^=https://github.com],
2131cb0ef41Sopenharmony_ci[repository^=http://github.com],
2141cb0ef41Sopenharmony_ci[repository^=https://github.com],
2151cb0ef41Sopenharmony_ci[repository^=+git:...]
2161cb0ef41Sopenharmony_ci
2171cb0ef41Sopenharmony_ci// querying for all git dependencies
2181cb0ef41Sopenharmony_ci:type(git)
2191cb0ef41Sopenharmony_ci
2201cb0ef41Sopenharmony_ci// get production dependencies that aren't also dev deps
2211cb0ef41Sopenharmony_ci.prod:not(.dev)
2221cb0ef41Sopenharmony_ci
2231cb0ef41Sopenharmony_ci// get dependencies with specific licenses
2241cb0ef41Sopenharmony_ci[license=MIT], [license=ISC]
2251cb0ef41Sopenharmony_ci
2261cb0ef41Sopenharmony_ci// find all packages that have @ruyadorno as a contributor
2271cb0ef41Sopenharmony_ci:attr(contributors, [email=ruyadorno@github.com])
2281cb0ef41Sopenharmony_ci</code></pre>
2291cb0ef41Sopenharmony_ci<h3 id="example-response-output">Example Response Output</h3>
2301cb0ef41Sopenharmony_ci<ul>
2311cb0ef41Sopenharmony_ci<li>an array of dependency objects is returned which can contain multiple copies of the same package which may or may not have been linked or deduped</li>
2321cb0ef41Sopenharmony_ci</ul>
2331cb0ef41Sopenharmony_ci<pre><code class="language-json">[
2341cb0ef41Sopenharmony_ci  {
2351cb0ef41Sopenharmony_ci    "name": "",
2361cb0ef41Sopenharmony_ci    "version": "",
2371cb0ef41Sopenharmony_ci    "description": "",
2381cb0ef41Sopenharmony_ci    "homepage": "",
2391cb0ef41Sopenharmony_ci    "bugs": {},
2401cb0ef41Sopenharmony_ci    "author": {},
2411cb0ef41Sopenharmony_ci    "license": {},
2421cb0ef41Sopenharmony_ci    "funding": {},
2431cb0ef41Sopenharmony_ci    "files": [],
2441cb0ef41Sopenharmony_ci    "main": "",
2451cb0ef41Sopenharmony_ci    "browser": "",
2461cb0ef41Sopenharmony_ci    "bin": {},
2471cb0ef41Sopenharmony_ci    "man": [],
2481cb0ef41Sopenharmony_ci    "directories": {},
2491cb0ef41Sopenharmony_ci    "repository": {},
2501cb0ef41Sopenharmony_ci    "scripts": {},
2511cb0ef41Sopenharmony_ci    "config": {},
2521cb0ef41Sopenharmony_ci    "dependencies": {},
2531cb0ef41Sopenharmony_ci    "devDependencies": {},
2541cb0ef41Sopenharmony_ci    "optionalDependencies": {},
2551cb0ef41Sopenharmony_ci    "bundledDependencies": {},
2561cb0ef41Sopenharmony_ci    "peerDependencies": {},
2571cb0ef41Sopenharmony_ci    "peerDependenciesMeta": {},
2581cb0ef41Sopenharmony_ci    "engines": {},
2591cb0ef41Sopenharmony_ci    "os": [],
2601cb0ef41Sopenharmony_ci    "cpu": [],
2611cb0ef41Sopenharmony_ci    "workspaces": {},
2621cb0ef41Sopenharmony_ci    "keywords": [],
2631cb0ef41Sopenharmony_ci    ...
2641cb0ef41Sopenharmony_ci  },
2651cb0ef41Sopenharmony_ci  ...
2661cb0ef41Sopenharmony_ci</code></pre>
2671cb0ef41Sopenharmony_ci<h3 id="expecting-a-certain-number-of-results">Expecting a certain number of results</h3>
2681cb0ef41Sopenharmony_ci<p>One common use of <code>npm query</code> is to make sure there is only one version of
2691cb0ef41Sopenharmony_cia certain dependency in your tree.  This is especially common for
2701cb0ef41Sopenharmony_ciecosystems like that rely on <code>typescript</code> where having state split
2711cb0ef41Sopenharmony_ciacross two different but identically-named packages causes bugs.  You
2721cb0ef41Sopenharmony_cican use the <code>--expect-results</code> or <code>--expect-result-count</code> in your setup
2731cb0ef41Sopenharmony_cito ensure that npm will exit with an exit code if your tree doesn't look
2741cb0ef41Sopenharmony_cilike you want it to.</p>
2751cb0ef41Sopenharmony_ci<pre><code class="language-sh">$ npm query '#react' --expect-result-count=1
2761cb0ef41Sopenharmony_ci</code></pre>
2771cb0ef41Sopenharmony_ci<p>Perhaps you want to quickly check if there are any production
2781cb0ef41Sopenharmony_cidependencies that could be updated:</p>
2791cb0ef41Sopenharmony_ci<pre><code class="language-sh">$ npm query ':root&gt;:outdated(in-range).prod' --no-expect-results
2801cb0ef41Sopenharmony_ci</code></pre>
2811cb0ef41Sopenharmony_ci<h3 id="package-lock-only-mode">Package lock only mode</h3>
2821cb0ef41Sopenharmony_ci<p>If package-lock-only is enabled, only the information in the package lock (or shrinkwrap) is loaded.  This means that information from the package.json files of your dependencies will not be included in the result set (e.g. description, homepage, engines).</p>
2831cb0ef41Sopenharmony_ci<h3 id="configuration">Configuration</h3>
2841cb0ef41Sopenharmony_ci<h4 id="global"><code>global</code></h4>
2851cb0ef41Sopenharmony_ci<ul>
2861cb0ef41Sopenharmony_ci<li>Default: false</li>
2871cb0ef41Sopenharmony_ci<li>Type: Boolean</li>
2881cb0ef41Sopenharmony_ci</ul>
2891cb0ef41Sopenharmony_ci<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
2901cb0ef41Sopenharmony_cifolder instead of the current working directory. See
2911cb0ef41Sopenharmony_ci<a href="../configuring-npm/folders.html">folders</a> for more on the differences in behavior.</p>
2921cb0ef41Sopenharmony_ci<ul>
2931cb0ef41Sopenharmony_ci<li>packages are installed into the <code>{prefix}/lib/node_modules</code> folder, instead
2941cb0ef41Sopenharmony_ciof the current working directory.</li>
2951cb0ef41Sopenharmony_ci<li>bin files are linked to <code>{prefix}/bin</code></li>
2961cb0ef41Sopenharmony_ci<li>man pages are linked to <code>{prefix}/share/man</code></li>
2971cb0ef41Sopenharmony_ci</ul>
2981cb0ef41Sopenharmony_ci<h4 id="workspace"><code>workspace</code></h4>
2991cb0ef41Sopenharmony_ci<ul>
3001cb0ef41Sopenharmony_ci<li>Default:</li>
3011cb0ef41Sopenharmony_ci<li>Type: String (can be set multiple times)</li>
3021cb0ef41Sopenharmony_ci</ul>
3031cb0ef41Sopenharmony_ci<p>Enable running a command in the context of the configured workspaces of the
3041cb0ef41Sopenharmony_cicurrent project while filtering by running only the workspaces defined by
3051cb0ef41Sopenharmony_cithis configuration option.</p>
3061cb0ef41Sopenharmony_ci<p>Valid values for the <code>workspace</code> config are either:</p>
3071cb0ef41Sopenharmony_ci<ul>
3081cb0ef41Sopenharmony_ci<li>Workspace names</li>
3091cb0ef41Sopenharmony_ci<li>Path to a workspace directory</li>
3101cb0ef41Sopenharmony_ci<li>Path to a parent workspace directory (will result in selecting all
3111cb0ef41Sopenharmony_ciworkspaces within that folder)</li>
3121cb0ef41Sopenharmony_ci</ul>
3131cb0ef41Sopenharmony_ci<p>When set for the <code>npm init</code> command, this may be set to the folder of a
3141cb0ef41Sopenharmony_ciworkspace which does not yet exist, to create the folder and set it up as a
3151cb0ef41Sopenharmony_cibrand new workspace within the project.</p>
3161cb0ef41Sopenharmony_ci<p>This value is not exported to the environment for child processes.</p>
3171cb0ef41Sopenharmony_ci<h4 id="workspaces"><code>workspaces</code></h4>
3181cb0ef41Sopenharmony_ci<ul>
3191cb0ef41Sopenharmony_ci<li>Default: null</li>
3201cb0ef41Sopenharmony_ci<li>Type: null or Boolean</li>
3211cb0ef41Sopenharmony_ci</ul>
3221cb0ef41Sopenharmony_ci<p>Set to true to run the command in the context of <strong>all</strong> configured
3231cb0ef41Sopenharmony_ciworkspaces.</p>
3241cb0ef41Sopenharmony_ci<p>Explicitly setting this to false will cause commands like <code>install</code> to
3251cb0ef41Sopenharmony_ciignore workspaces altogether. When not set explicitly:</p>
3261cb0ef41Sopenharmony_ci<ul>
3271cb0ef41Sopenharmony_ci<li>Commands that operate on the <code>node_modules</code> tree (install, update, etc.)
3281cb0ef41Sopenharmony_ciwill link workspaces into the <code>node_modules</code> folder. - Commands that do
3291cb0ef41Sopenharmony_ciother things (test, exec, publish, etc.) will operate on the root project,
3301cb0ef41Sopenharmony_ci<em>unless</em> one or more workspaces are specified in the <code>workspace</code> config.</li>
3311cb0ef41Sopenharmony_ci</ul>
3321cb0ef41Sopenharmony_ci<p>This value is not exported to the environment for child processes.</p>
3331cb0ef41Sopenharmony_ci<h4 id="include-workspace-root"><code>include-workspace-root</code></h4>
3341cb0ef41Sopenharmony_ci<ul>
3351cb0ef41Sopenharmony_ci<li>Default: false</li>
3361cb0ef41Sopenharmony_ci<li>Type: Boolean</li>
3371cb0ef41Sopenharmony_ci</ul>
3381cb0ef41Sopenharmony_ci<p>Include the workspace root when workspaces are enabled for a command.</p>
3391cb0ef41Sopenharmony_ci<p>When false, specifying individual workspaces via the <code>workspace</code> config, or
3401cb0ef41Sopenharmony_ciall workspaces via the <code>workspaces</code> flag, will cause npm to operate only on
3411cb0ef41Sopenharmony_cithe specified workspaces, and not on the root project.</p>
3421cb0ef41Sopenharmony_ci<p>This value is not exported to the environment for child processes.</p>
3431cb0ef41Sopenharmony_ci<h4 id="package-lock-only"><code>package-lock-only</code></h4>
3441cb0ef41Sopenharmony_ci<ul>
3451cb0ef41Sopenharmony_ci<li>Default: false</li>
3461cb0ef41Sopenharmony_ci<li>Type: Boolean</li>
3471cb0ef41Sopenharmony_ci</ul>
3481cb0ef41Sopenharmony_ci<p>If set to true, the current operation will only use the <code>package-lock.json</code>,
3491cb0ef41Sopenharmony_ciignoring <code>node_modules</code>.</p>
3501cb0ef41Sopenharmony_ci<p>For <code>update</code> this means only the <code>package-lock.json</code> will be updated,
3511cb0ef41Sopenharmony_ciinstead of checking <code>node_modules</code> and downloading dependencies.</p>
3521cb0ef41Sopenharmony_ci<p>For <code>list</code> this means the output will be based on the tree described by the
3531cb0ef41Sopenharmony_ci<code>package-lock.json</code>, rather than the contents of <code>node_modules</code>.</p>
3541cb0ef41Sopenharmony_ci<h4 id="expect-results"><code>expect-results</code></h4>
3551cb0ef41Sopenharmony_ci<ul>
3561cb0ef41Sopenharmony_ci<li>Default: null</li>
3571cb0ef41Sopenharmony_ci<li>Type: null or Boolean</li>
3581cb0ef41Sopenharmony_ci</ul>
3591cb0ef41Sopenharmony_ci<p>Tells npm whether or not to expect results from the command. Can be either
3601cb0ef41Sopenharmony_citrue (expect some results) or false (expect no results).</p>
3611cb0ef41Sopenharmony_ci<p>This config can not be used with: <code>expect-result-count</code></p>
3621cb0ef41Sopenharmony_ci<h4 id="expect-result-count"><code>expect-result-count</code></h4>
3631cb0ef41Sopenharmony_ci<ul>
3641cb0ef41Sopenharmony_ci<li>Default: null</li>
3651cb0ef41Sopenharmony_ci<li>Type: null or Number</li>
3661cb0ef41Sopenharmony_ci</ul>
3671cb0ef41Sopenharmony_ci<p>Tells to expect a specific number of results from the command.</p>
3681cb0ef41Sopenharmony_ci<p>This config can not be used with: <code>expect-results</code></p>
3691cb0ef41Sopenharmony_ci<h2 id="see-also">See Also</h2>
3701cb0ef41Sopenharmony_ci<ul>
3711cb0ef41Sopenharmony_ci<li><a href="../using-npm/dependency-selectors.html">dependency selectors</a></li>
3721cb0ef41Sopenharmony_ci</ul></div>
3731cb0ef41Sopenharmony_ci
3741cb0ef41Sopenharmony_ci<footer id="edit">
3751cb0ef41Sopenharmony_ci<a href="https://github.com/npm/cli/edit/latest/docs/content/commands/npm-query.md">
3761cb0ef41Sopenharmony_ci<svg role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentcolor" style="vertical-align: text-bottom; margin-right: 0.3em;">
3771cb0ef41Sopenharmony_ci<path fill-rule="evenodd" d="M11.013 1.427a1.75 1.75 0 012.474 0l1.086 1.086a1.75 1.75 0 010 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 01-.927-.928l.929-3.25a1.75 1.75 0 01.445-.758l8.61-8.61zm1.414 1.06a.25.25 0 00-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 000-.354l-1.086-1.086zM11.189 6.25L9.75 4.81l-6.286 6.287a.25.25 0 00-.064.108l-.558 1.953 1.953-.558a.249.249 0 00.108-.064l6.286-6.286z"></path>
3781cb0ef41Sopenharmony_ci</svg>
3791cb0ef41Sopenharmony_ciEdit this page on GitHub
3801cb0ef41Sopenharmony_ci</a>
3811cb0ef41Sopenharmony_ci</footer>
3821cb0ef41Sopenharmony_ci</section>
3831cb0ef41Sopenharmony_ci
3841cb0ef41Sopenharmony_ci
3851cb0ef41Sopenharmony_ci
3861cb0ef41Sopenharmony_ci</body></html>