codekingpro/portable-devtools
114k
1<!DOCTYPE html><html><head>
2<meta charset="utf-8">
3<title>npm-view</title>
4<style>
5body {
6 background-color: #ffffff;
7 color: #24292e;
8
9 margin: 0;
10
11 line-height: 1.5;
12
13 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
14}
15#rainbar {
16 height: 10px;
17 background-image: linear-gradient(139deg, #fb8817, #ff4b01, #c12127, #e02aff);
18}
19
20a {
21 text-decoration: none;
22 color: #0366d6;
23}
24a:hover {
25 text-decoration: underline;
26}
27
28pre {
29 margin: 1em 0px;
30 padding: 1em;
31 border: solid 1px #e1e4e8;
32 border-radius: 6px;
33
34 display: block;
35 overflow: auto;
36
37 white-space: pre;
38
39 background-color: #f6f8fa;
40 color: #393a34;
41}
42code {
43 font-family: SFMono-Regular, Consolas, "Liberation Mono", Menlo, Courier, monospace;
44 font-size: 85%;
45 padding: 0.2em 0.4em;
46 background-color: #f6f8fa;
47 color: #393a34;
48}
49pre > code {
50 padding: 0;
51 background-color: inherit;
52 color: inherit;
53}
54h1, h2, h3 {
55 font-weight: 600;
56}
57
58#logobar {
59 background-color: #333333;
60 margin: 0 auto;
61 padding: 1em 4em;
62}
63#logobar .logo {
64 float: left;
65}
66#logobar .title {
67 font-weight: 600;
68 color: #dddddd;
69 float: left;
70 margin: 5px 0 0 1em;
71}
72#logobar:after {
73 content: "";
74 display: block;
75 clear: both;
76}
77
78#content {
79 margin: 0 auto;
80 padding: 0 4em;
81}
82
83#table_of_contents > h2 {
84 font-size: 1.17em;
85}
86#table_of_contents ul:first-child {
87 border: solid 1px #e1e4e8;
88 border-radius: 6px;
89 padding: 1em;
90 background-color: #f6f8fa;
91 color: #393a34;
92}
93#table_of_contents ul {
94 list-style-type: none;
95 padding-left: 1.5em;
96}
97#table_of_contents li {
98 font-size: 0.9em;
99}
100#table_of_contents li a {
101 color: #000000;
102}
103
104header.title {
105 border-bottom: solid 1px #e1e4e8;
106}
107header.title > h1 {
108 margin-bottom: 0.25em;
109}
110header.title > .description {
111 display: block;
112 margin-bottom: 0.5em;
113 line-height: 1;
114}
115
116header.title .version {
117 font-size: 0.8em;
118 color: #666666;
119}
120
121footer#edit {
122 border-top: solid 1px #e1e4e8;
123 margin: 3em 0 4em 0;
124 padding-top: 2em;
125}
126
127table {
128 width: 100%;
129 margin: 1em 0;
130 border-radius: 6px;
131 border: 1px solid #e1e4e8;
132 overflow: hidden;
133 border-collapse: separate;
134 border-spacing: 0;
135}
136
137table thead {
138 background-color: #f6f8fa;
139}
140
141table tbody {
142 background-color: #ffffff;
143}
144
145table th,
146table td {
147 padding: 0.75em;
148 text-align: left;
149 border-right: 1px solid #e1e4e8;
150 border-bottom: 1px solid #e1e4e8;
151}
152
153table th:last-child,
154table td:last-child {
155 border-right: none;
156}
157
158table tbody tr:last-child td {
159 border-bottom: none;
160}
161
162table th {
163 font-weight: 600;
164 background-color: #f6f8fa;
165}
166
167table code {
168 white-space: nowrap;
169}
170
171</style>
172</head>
173<body>
174<div id="banner">
175<div id="rainbar"></div>
176<div id="logobar">
177<svg class="logo" role="img" height="32" width="32" viewBox="0 0 700 700">
178<polygon fill="#cb0000" points="0,700 700,700 700,0 0,0"></polygon>
179<polygon fill="#ffffff" points="150,550 350,550 350,250 450,250 450,550 550,550 550,150 150,150"></polygon>
180</svg>
181<div class="title">
182npm command-line interface
183</div>
184</div>
185</div>
186
187<section id="content">
188<header class="title">
189<h1 id="----npm-view----11121">
190 <span>npm-view</span>
191 <span class="version">@11.12.1</span>
192</h1>
193<span class="description">View registry info</span>
194</header>
195
196<section id="table_of_contents">
197<h2 id="table-of-contents">Table of contents</h2>
198<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#field-access-patterns">Field Access Patterns</a></li><ul><li><a href="#nested-object-fields">Nested Object Fields</a></li><li><a href="#array-element-access">Array Element Access</a></li><li><a href="#object-property-access">Object Property Access</a></li><li><a href="#extracting-fields-from-arrays">Extracting Fields from Arrays</a></li></ul><li><a href="#configuration">Configuration</a></li><ul><li><a href="#json"><code>json</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li></ul><li><a href="#output">Output</a></li><li><a href="#see-also">See Also</a></li></ul></div>
199</section>
200
201<div id="_content"><h3 id="synopsis">Synopsis</h3>
202<pre><code class="language-bash">npm view [<package-spec>] [<field>[.subfield]...]
203
204aliases: info, show, v
205</code></pre>
206<h3 id="description">Description</h3>
207<p>This command shows data about a package and prints it to stdout.</p>
208<p>As an example, to view information about the <code>connect</code> package from the registry, you would run:</p>
209<pre><code class="language-bash">npm view connect
210</code></pre>
211<p>The default version is <code>"latest"</code> if unspecified.</p>
212<p>Field names can be specified after the package descriptor.
213For example, to show the dependencies of the <code>ronn</code> package at version
214<code>0.3.5</code>, you could do the following:</p>
215<pre><code class="language-bash">npm view ronn@0.3.5 dependencies
216</code></pre>
217<p>By default, <code>npm view</code> shows data about the current project context (by looking for a <code>package.json</code>).
218To show field data for the current project use a file path (i.e.
219<code>.</code>):</p>
220<pre><code class="language-bash">npm view . dependencies
221</code></pre>
222<p>You can view child fields by separating them with a period.
223To view the git repository URL for the latest version of <code>npm</code>, you would run the following command:</p>
224<pre><code class="language-bash">npm view npm repository.url
225</code></pre>
226<p>This makes it easy to view information about a dependency with a bit of shell scripting.
227For example, to view all the data about the version of <code>opts</code> that <code>ronn</code> depends on, you could write the following:</p>
228<pre><code class="language-bash">npm view opts@$(npm view ronn dependencies.opts)
229</code></pre>
230<p>For fields that are arrays, requesting a non-numeric field will return all of the values from the objects in the list.
231For example, to get all the contributor email addresses for the <code>express</code> package, you would run:</p>
232<pre><code class="language-bash">npm view express contributors.email
233</code></pre>
234<p>You may also use numeric indices in square braces to specifically select an item in an array field.
235To just get the email address of the first contributor in the list, you can run:</p>
236<pre><code class="language-bash">npm view express contributors[0].email
237</code></pre>
238<p>If the field value you are querying for is a property of an object, you should run:</p>
239<pre><code class="language-bash">npm view express time'[4.8.0]'
240</code></pre>
241<p>Note: When accessing object properties that contain special characters or numeric keys, you need to use quotes around the key name.
242For example, to get the publish time of a specific version:</p>
243<pre><code class="language-bash">npm view express "time[4.17.1]"
244</code></pre>
245<p>Without quotes, the shell may interpret the square brackets as glob patterns, causing the command to fail.
246You can also access the time field for a specific version by specifying the version in the package descriptor:</p>
247<pre><code class="language-bash">npm view express@4.17.1 time
248</code></pre>
249<p>This will return all version-time pairs, but the context will be for that specific version.</p>
250<p>Multiple fields may be specified, and will be printed one after another.
251For example, to get all the contributor names and email addresses, you can do this:</p>
252<pre><code class="language-bash">npm view express contributors.name contributors.email
253</code></pre>
254<p>"Person" fields are shown as a string if they would be shown as an object.
255So, for example, this will show the list of <code>npm</code> contributors in the shortened string format.
256(See <a href="../configuring-npm/package-json.html"><code>package.json</code></a> for more on this.)</p>
257<pre><code class="language-bash">npm view npm contributors
258</code></pre>
259<p>If a version range is provided, then data will be printed for every matching version of the package.
260This will show which version of <code>jsdom</code> was required by each matching version of <code>yui3</code>:</p>
261<pre><code class="language-bash">npm view yui3@'>0.5.4' dependencies.jsdom
262</code></pre>
263<p>To show the <code>connect</code> package version history, you can do this:</p>
264<pre><code class="language-bash">npm view connect versions
265</code></pre>
266<h3 id="field-access-patterns">Field Access Patterns</h3>
267<p>The <code>npm view</code> command supports different ways to access nested fields and array elements in package metadata. Understanding these patterns makes it easier to extract specific information.</p>
268<h4 id="nested-object-fields">Nested Object Fields</h4>
269<p>Use dot notation to access nested object fields:</p>
270<pre><code class="language-bash"># Access nested properties
271npm view npm repository.url
272npm view express bugs.url
273</code></pre>
274<h4 id="array-element-access">Array Element Access</h4>
275<p>For arrays, use numeric indices in square brackets to access specific elements:</p>
276<pre><code class="language-bash"># Get the first contributor's email
277npm view express contributors[0].email
278
279# Get the second maintainer's name
280npm view express maintainers[1].name
281</code></pre>
282<h4 id="object-property-access">Object Property Access</h4>
283<p>For object properties (like accessing specific versions in the <code>time</code> field), use bracket notation with the property name in quotes:</p>
284<pre><code class="language-bash"># Get publish time for a specific version
285npm view express "time[4.17.1]"
286
287# Get dist-tags
288npm view express "dist-tags.latest"
289</code></pre>
290<h4 id="extracting-fields-from-arrays">Extracting Fields from Arrays</h4>
291<p>Request a non-numeric field on an array to get all values from objects in the list:</p>
292<pre><code class="language-bash"># Get all contributor emails
293npm view express contributors.email
294
295# Get all contributor names
296npm view express contributors.name
297</code></pre>
298<h3 id="configuration">Configuration</h3>
299<h4 id="json"><code>json</code></h4>
300<ul>
301<li>Default: false</li>
302<li>Type: Boolean</li>
303</ul>
304<p>Whether or not to output JSON data, rather than the normal output.</p>
305<ul>
306<li>In <code>npm pkg set</code> it enables parsing set values with JSON.parse() before
307saving them to your <code>package.json</code>.</li>
308</ul>
309<p>Not supported by all npm commands.</p>
310<h4 id="workspace"><code>workspace</code></h4>
311<ul>
312<li>Default:</li>
313<li>Type: String (can be set multiple times)</li>
314</ul>
315<p>Enable running a command in the context of the configured workspaces of the
316current project while filtering by running only the workspaces defined by
317this configuration option.</p>
318<p>Valid values for the <code>workspace</code> config are either:</p>
319<ul>
320<li>Workspace names</li>
321<li>Path to a workspace directory</li>
322<li>Path to a parent workspace directory (will result in selecting all
323workspaces within that folder)</li>
324</ul>
325<p>When set for the <code>npm init</code> command, this may be set to the folder of a
326workspace which does not yet exist, to create the folder and set it up as a
327brand new workspace within the project.</p>
328<p>This value is not exported to the environment for child processes.</p>
329<h4 id="workspaces"><code>workspaces</code></h4>
330<ul>
331<li>Default: null</li>
332<li>Type: null or Boolean</li>
333</ul>
334<p>Set to true to run the command in the context of <strong>all</strong> configured
335workspaces.</p>
336<p>Explicitly setting this to false will cause commands like <code>install</code> to
337ignore workspaces altogether. When not set explicitly:</p>
338<ul>
339<li>Commands that operate on the <code>node_modules</code> tree (install, update, etc.)
340will link workspaces into the <code>node_modules</code> folder. - Commands that do
341other things (test, exec, publish, etc.) will operate on the root project,
342<em>unless</em> one or more workspaces are specified in the <code>workspace</code> config.</li>
343</ul>
344<p>This value is not exported to the environment for child processes.</p>
345<h4 id="include-workspace-root"><code>include-workspace-root</code></h4>
346<ul>
347<li>Default: false</li>
348<li>Type: Boolean</li>
349</ul>
350<p>Include the workspace root when workspaces are enabled for a command.</p>
351<p>When false, specifying individual workspaces via the <code>workspace</code> config, or
352all workspaces via the <code>workspaces</code> flag, will cause npm to operate only on
353the specified workspaces, and not on the root project.</p>
354<p>This value is not exported to the environment for child processes.</p>
355<h3 id="output">Output</h3>
356<p>If only a single string field for a single version is output, then it will not be colorized or quoted, to enable piping the output to another command.
357If the field is an object, it will be output as a JavaScript object literal.</p>
358<p>If the <code>--json</code> flag is given, the outputted fields will be JSON.</p>
359<p>If the version range matches multiple versions then each printed value will be prefixed with the version it applies to.</p>
360<p>If multiple fields are requested, then each of them is prefixed with the field name.</p>
361<h3 id="see-also">See Also</h3>
362<ul>
363<li><a href="../using-npm/package-spec.html">package spec</a></li>
364<li><a href="../commands/npm-search.html">npm search</a></li>
365<li><a href="../using-npm/registry.html">npm registry</a></li>
366<li><a href="../commands/npm-config.html">npm config</a></li>
367<li><a href="../configuring-npm/npmrc.html">npmrc</a></li>
368<li><a href="../commands/npm-docs.html">npm docs</a></li>
369</ul></div>
370
371<footer id="edit">
372<a href="https://github.com/npm/cli/edit/latest/docs/lib/content/commands/npm-view.md">
373<svg role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentcolor" style="vertical-align: text-bottom; margin-right: 0.3em;">
374<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>
375</svg>
376Edit this page on GitHub
377</a>
378</footer>
379</section>
380
381
382
383</body></html>