Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
scope.html290 linesDownload Raw Back to using-npm
1<!DOCTYPE html><html><head>
2<meta charset="utf-8">
3<title>Scope</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="----scope----11130">
190    <span>Scope</span>
191    <span class="version">@11.13.0</span>
192</h1>
193<span class="description">Scoped packages</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="#description">Description</a></li><li><a href="#installing-scoped-packages">Installing scoped packages</a></li><li><a href="#requiring-scoped-packages">Requiring scoped packages</a></li><li><a href="#publishing-scoped-packages">Publishing scoped packages</a></li><ul><li><a href="#publishing-public-scoped-packages-to-the-primary-npm-registry">Publishing public scoped packages to the primary npm registry</a></li><li><a href="#publishing-private-scoped-packages-to-the-npm-registry">Publishing private scoped packages to the npm registry</a></li></ul><li><a href="#associating-a-scope-with-a-registry">Associating a scope with a registry</a></li><li><a href="#see-also">See also</a></li></ul></div>
199</section>
200
201<div id="_content"><h3 id="description">Description</h3>
202<p>All npm packages have a name.
203Some package names also have a scope.
204A scope follows the usual rules for package names (URL-safe characters, no leading dots or underscores).
205When used in package names, scopes are preceded by an <code>@</code> symbol and followed by a slash, e.g.</p>
206<pre><code class="language-bash">@somescope/somepackagename
207</code></pre>
208<p>Scopes are a way of grouping related packages together, and also affect a few things about the way npm treats the package.</p>
209<p>Each npm user/organization has their own scope, and only you can add packages in your scope.
210This means you don't have to worry about someone taking your package name ahead of you.
211Thus it is also a good way to signal official packages for organizations.</p>
212<p>Scoped packages can be published and installed as of <code>npm@2</code> and are supported by the primary npm registry.
213Unscoped packages can depend on scoped packages and vice versa.
214The npm client is backwards-compatible with unscoped registries, so it can be used to work with scoped and unscoped registries at the same time.</p>
215<h3 id="installing-scoped-packages">Installing scoped packages</h3>
216<p>Scoped packages are installed to a sub-folder of the regular installation folder, e.g. if your other packages are installed in <code>node_modules/packagename</code>, scoped modules will be installed in <code>node_modules/@myorg/packagename</code>.
217The scope folder (<code>@myorg</code>) is simply the name of the scope preceded by an <code>@</code> symbol, and can contain any number of scoped packages.</p>
218<p>A scoped package is installed by referencing it by name, preceded by an
219<code>@</code> symbol, in <code>npm install</code>:</p>
220<pre><code class="language-bash">npm install @myorg/mypackage
221</code></pre>
222<p>Or in <code>package.json</code>:</p>
223<pre><code class="language-json">"dependencies": {
224  "@myorg/mypackage": "^1.3.0"
225}
226</code></pre>
227<p>Note that if the <code>@</code> symbol is omitted, in either case, npm will instead attempt to install from GitHub; see <a href="../commands/npm-install.html"><code>npm install</code></a>.</p>
228<h3 id="requiring-scoped-packages">Requiring scoped packages</h3>
229<p>Because scoped packages are installed into a scope folder, you have to include the name of the scope when requiring them in your code, e.g.</p>
230<pre><code class="language-javascript">require('@myorg/mypackage')
231</code></pre>
232<p>There is nothing special about the way Node treats scope folders.
233This simply requires the <code>mypackage</code> module in the folder named <code>@myorg</code>.</p>
234<h3 id="publishing-scoped-packages">Publishing scoped packages</h3>
235<p>Scoped packages can be published from the CLI as of <code>npm@2</code> and can be published to any registry that supports them, including the primary npm registry.</p>
236<p>(As of 2015-04-19, and with npm 2.0 or better, the primary npm registry
237<strong>does</strong> support scoped packages.)</p>
238<p>If you wish, you may associate a scope with a registry; see below.</p>
239<h4 id="publishing-public-scoped-packages-to-the-primary-npm-registry">Publishing public scoped packages to the primary npm registry</h4>
240<p>Publishing to a scope, you have two options:</p>
241<ul>
242<li>Publishing to your user scope (example: <code>@username/module</code>)</li>
243<li>Publishing to an organization scope (example: <code>@org/module</code>)</li>
244</ul>
245<p>If publishing a public module to an organization scope, you must first either create an organization with the name of the scope that you'd like to publish to or be added to an existing organization with the appropriate permissions.
246For example, if you'd like to publish to <code>@org</code>, you would  need to create the <code>org</code> organization on npmjs.com prior to trying to publish.</p>
247<p>Scoped packages are not public by default.
248You will need to specify
249<code>--access public</code> with the initial <code>npm publish</code> command.
250This will publish the package and set access to <code>public</code> as if you had run <code>npm access public</code> after publishing.
251You do not need to do this when publishing new versions of an existing scoped package.</p>
252<h4 id="publishing-private-scoped-packages-to-the-npm-registry">Publishing private scoped packages to the npm registry</h4>
253<p>To publish a private scoped package to the npm registry, you must have an <a href="https://docs.npmjs.com/private-modules/intro">npm Private Modules</a> account.</p>
254<p>You can then publish the module with <code>npm publish</code> or <code>npm publish --access restricted</code>, and it will be present in the npm registry, with restricted access.
255You can then change the access permissions, if desired, with <code>npm access</code> or on the npmjs.com website.</p>
256<h3 id="associating-a-scope-with-a-registry">Associating a scope with a registry</h3>
257<p>Scopes can be associated with a separate registry.
258This allows you to seamlessly use a mix of packages from the primary npm registry and one or more private registries, such as <a href="https://github.com/features/packages">GitHub Packages</a> or the open source <a href="https://verdaccio.org">Verdaccio</a> project.</p>
259<p>You can associate a scope with a registry at login, e.g.</p>
260<pre><code class="language-bash">npm login --registry=http://reg.example.com --scope=@myco
261</code></pre>
262<p>Scopes have a many-to-one relationship with registries: one registry can host multiple scopes, but a scope only ever points to one registry.</p>
263<p>You can also associate a scope with a registry using <code>npm config</code>:</p>
264<pre><code class="language-bash">npm config set @myco:registry=http://reg.example.com
265</code></pre>
266<p>Once a scope is associated with a registry, any <code>npm install</code> for a package with that scope will request packages from that registry instead.
267Any
268<code>npm publish</code> for a package name that contains the scope will be published to
269that registry instead.</p>
270<h3 id="see-also">See also</h3>
271<ul>
272<li><a href="../commands/npm-install.html">npm install</a></li>
273<li><a href="../commands/npm-publish.html">npm publish</a></li>
274<li><a href="../commands/npm-access.html">npm access</a></li>
275<li><a href="../using-npm/registry.html">npm registry</a></li>
276</ul></div>
277
278<footer id="edit">
279<a href="https://github.com/npm/cli/edit/latest/docs/lib/content/using-npm/scope.md">
280<svg role="img" viewBox="0 0 16 16" width="16" height="16" fill="currentcolor" style="vertical-align: text-bottom; margin-right: 0.3em;">
281<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>
282</svg>
283Edit this page on GitHub
284</a>
285</footer>
286</section>
287
288
289
290</body></html>
codekingpro/portable-devtools · Team Ai