diff --git a/.eslint.config.js b/.eslint.config.js
new file mode 100644
index 00000000000..8b1dd28c66c
--- /dev/null
+++ b/.eslint.config.js
@@ -0,0 +1,9 @@
+import github from 'eslint-plugin-github'
+
+export default [
+ github.getFlatConfigs().react,
+ {
+ // This lets your .eslintrc.js handle most configuration
+ ignores: ['.cache/**', 'public/**'],
+ },
+]
diff --git a/.eslintrc.js b/.eslintrc.js
index b6b35ce9d2a..94d476e96e3 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -1,23 +1,34 @@
-const {getGlobals} = require('eslint-plugin-mdx/lib/helpers')
+const {getGlobals} = require('eslint-plugin-mdx')
module.exports = {
root: true,
ignorePatterns: ['.cache/', 'public/'],
+ plugins: ['primer-react'], // github plugin now comes from flat config
extends: [
'@npmcli',
'react-app',
- // 'react-app/jest',
'eslint:recommended',
'plugin:react/recommended',
- 'plugin:github/react',
- 'plugin:primer-react/recommended',
+ // 'plugin:github/react', // REMOVED: now handled by flat config
'plugin:react-hooks/recommended',
'prettier',
],
rules: {
'max-len': 'off',
'react/prop-types': 'off',
+ 'primer-react/direct-slot-children': 'error',
'primer-react/no-system-props': ['error', {includeUtilityComponents: true}],
+ 'primer-react/a11y-tooltip-interactive-trigger': 'error',
+ 'primer-react/new-color-css-vars': 'error',
+ 'primer-react/a11y-explicit-heading': 'error',
+ 'primer-react/no-deprecated-props': 'warn',
+ 'primer-react/a11y-remove-disable-tooltip': 'error',
+ 'primer-react/a11y-use-next-tooltip': 'error',
+ },
+ settings: {
+ 'import/resolver': {
+ typescript: {},
+ },
},
overrides: [
{
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 35eb9f31cac..4195ff086d8 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,21 +1,21 @@
* @npm/cli-team
# Content
-/.github/CODEOWNERS @MylesBorins @monishcm @lukekarrys
-/content/ @MylesBorins @monishcm @lukekarrys
-/src/ @MylesBorins @monishcm @lukekarrys
-/static/ @MylesBorins @monishcm @lukekarrys
-/CONTENT-MODEL.md @MylesBorins @monishcm @lukekarrys
+/.github/CODEOWNERS @leobalter @monishcm @wraithgar
+/content/ @leobalter @monishcm @wraithgar
+/src/ @leobalter @monishcm @wraithgar
+/static/ @leobalter @monishcm @wraithgar
+/CONTENT-MODEL.md @leobalter @monishcm @wraithgar
# Policies
-/content/policies/ @MylesBorins
-/CODE_OF_CONDUCT.md @MylesBorins
+/content/policies/ @leobalter
+/CODE_OF_CONDUCT.md @leobalter
# Licensing
-/.reuse/ @MylesBorins @lukekarrys
-/LICENSES/ @MylesBorins
-/LICENSE @MylesBorins
-/LICENSE-CODE @MylesBorins
+/.reuse/ @leobalter @wraithgar
+/LICENSES/ @leobalter
+/LICENSE @leobalter
+/LICENSE-CODE @leobalter
# CLI
/content/cli/ @npm/cli-team
diff --git a/.github/actions/create-check/action.yml b/.github/actions/create-check/action.yml
index 0e7d6ce0f47..d1220c90cfb 100644
--- a/.github/actions/create-check/action.yml
+++ b/.github/actions/create-check/action.yml
@@ -17,7 +17,7 @@ runs:
using: "composite"
steps:
- name: Get Workflow Job
- uses: actions/github-script@v6
+ uses: actions/github-script@v7
id: workflow
env:
JOB_NAME: "${{ inputs.name }}"
@@ -25,7 +25,7 @@ runs:
with:
result-encoding: string
script: |
- const { repo: { owner, repo}, runId, serverUrl } = context
+ const { repo: { owner, repo}, runId, serverUrl } = context
const { JOB_NAME, SHA } = process.env
const job = await github.rest.actions.listJobsForWorkflowRun({
diff --git a/.github/actions/install-latest-npm/action.yml b/.github/actions/install-latest-npm/action.yml
index 8339dbf0388..580603dd40c 100644
--- a/.github/actions/install-latest-npm/action.yml
+++ b/.github/actions/install-latest-npm/action.yml
@@ -44,7 +44,7 @@ runs:
MATCH=$SPEC
echo "Found compatible version: npm@$MATCH"
break
- fi
+ fi
done
if [ -z $MATCH ]; then
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 7ecb4bdf579..d27cc79b8a7 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -17,3 +17,11 @@ updates:
labels:
- "Dependencies"
open-pull-requests-limit: 10
+ groups:
+ dependency-updates:
+ applies-to: version-updates
+ patterns:
+ - "*"
+ update-types:
+ - "minor"
+ - "patch"
diff --git a/.github/workflows/audit.yml b/.github/workflows/audit.yml
index 02c51681aaf..013b31ded78 100644
--- a/.github/workflows/audit.yml
+++ b/.github/workflows/audit.yml
@@ -8,6 +8,9 @@ on:
# "At 08:00 UTC (01:00 PT) on Monday" https://crontab.guru/#0_8_*_*_1
- cron: "0 8 * * 1"
+permissions:
+ contents: read
+
jobs:
audit:
name: Audit Dependencies
@@ -18,17 +21,17 @@ jobs:
shell: bash
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Git User
run: |
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
id: node
with:
- node-version: 18.x
- check-latest: contains('18.x', '.x')
+ node-version: 22.x
+ check-latest: contains('22.x', '.x')
cache: npm
- name: Install Latest npm
uses: ./.github/actions/install-latest-npm
diff --git a/.github/workflows/ci-cli.yml b/.github/workflows/ci-cli.yml
index dc8acb7b7f1..03fa863a970 100644
--- a/.github/workflows/ci-cli.yml
+++ b/.github/workflows/ci-cli.yml
@@ -16,6 +16,9 @@ on:
# "At 09:00 UTC (02:00 PT) on Monday" https://crontab.guru/#0_9_*_*_1
- cron: "0 9 * * 1"
+permissions:
+ contents: read
+
jobs:
lint:
name: Lint
@@ -26,17 +29,17 @@ jobs:
shell: bash
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Git User
run: |
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
id: node
with:
- node-version: 18.x
- check-latest: contains('18.x', '.x')
+ node-version: 22.x
+ check-latest: contains('22.x', '.x')
cache: npm
- name: Install Latest npm
uses: ./.github/actions/install-latest-npm
@@ -62,20 +65,20 @@ jobs:
os: ubuntu-latest
shell: bash
node-version:
- - 18.x
+ - 22.x
runs-on: ${{ matrix.platform.os }}
defaults:
run:
shell: ${{ matrix.platform.shell }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Git User
run: |
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
id: node
with:
node-version: ${{ matrix.node-version }}
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index b991c1ee876..54db64c7d34 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,6 +16,9 @@ on:
# "At 09:00 UTC (02:00 PT) on Monday" https://crontab.guru/#0_9_*_*_1
- cron: "0 9 * * 1"
+permissions:
+ contents: read
+
jobs:
lint:
name: Lint
@@ -26,17 +29,17 @@ jobs:
shell: bash
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Git User
run: |
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
id: node
with:
- node-version: 18.x
- check-latest: contains('18.x', '.x')
+ node-version: 22.x
+ check-latest: contains('22.x', '.x')
cache: npm
- name: Install Latest npm
uses: ./.github/actions/install-latest-npm
@@ -62,20 +65,20 @@ jobs:
os: ubuntu-latest
shell: bash
node-version:
- - 18.x
+ - 22.x
runs-on: ${{ matrix.platform.os }}
defaults:
run:
shell: ${{ matrix.platform.shell }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Git User
run: |
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
id: node
with:
node-version: ${{ matrix.node-version }}
@@ -103,20 +106,20 @@ jobs:
os: ubuntu-latest
shell: bash
node-version:
- - 18.x
+ - 22.x
runs-on: ${{ matrix.platform.os }}
defaults:
run:
shell: ${{ matrix.platform.shell }}
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Git User
run: |
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
id: node
with:
node-version: ${{ matrix.node-version }}
@@ -137,6 +140,6 @@ jobs:
name: REUSE Compliance Check
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@v3
+ - uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v1
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index f7e691d9383..af848e17ada 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -13,6 +13,9 @@ on:
# "At 10:00 UTC (03:00 PT) on Monday" https://crontab.guru/#0_10_*_*_1
- cron: "0 10 * * 1"
+permissions:
+ contents: read
+
jobs:
analyze:
name: Analyze
@@ -23,14 +26,14 @@ jobs:
security-events: write
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Git User
run: |
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Initialize CodeQL
- uses: github/codeql-action/init@v2
+ uses: github/codeql-action/init@v3
with:
languages: javascript
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v2
+ uses: github/codeql-action/analyze@v3
diff --git a/.github/workflows/post-dependabot.yml b/.github/workflows/post-dependabot.yml
index 407f835195b..5376925eac6 100644
--- a/.github/workflows/post-dependabot.yml
+++ b/.github/workflows/post-dependabot.yml
@@ -17,7 +17,7 @@ jobs:
shell: bash
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
ref: ${{ github.event.pull_request.head.ref }}
- name: Setup Git User
@@ -25,11 +25,11 @@ jobs:
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
id: node
with:
- node-version: 18.x
- check-latest: contains('18.x', '.x')
+ node-version: 22.x
+ check-latest: contains('22.x', '.x')
cache: npm
- name: Install Latest npm
uses: ./.github/actions/install-latest-npm
@@ -50,7 +50,7 @@ jobs:
id: flags
run: |
dependabot_dir="${{ steps.metadata.outputs.directory }}"
- if [[ "$dependabot_dir" == "/" ]]; then
+ if [[ "$dependabot_dir" == "/" || "$dependabot_dir" == "/main" ]]; then
echo "workspace=-iwr" >> $GITHUB_OUTPUT
else
# strip leading slash from directory so it works as a
diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml
index eff5437612f..c8f65546078 100644
--- a/.github/workflows/publish.yml
+++ b/.github/workflows/publish.yml
@@ -24,17 +24,17 @@ jobs:
shell: bash
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Git User
run: |
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
id: node
with:
- node-version: 18.x
- check-latest: contains('18.x', '.x')
+ node-version: 22.x
+ check-latest: contains('22.x', '.x')
cache: npm
- name: Install Latest npm
uses: ./.github/actions/install-latest-npm
@@ -46,11 +46,11 @@ jobs:
run: npm rebuild
- name: Setup Pages
- uses: actions/configure-pages@v1
+ uses: actions/configure-pages@v4
- name: Restore cache
id: cache-gatsby
- uses: actions/cache/restore@v3
+ uses: actions/cache/restore@v4
with:
key: ${{ runner.os }}-gatsby-${{ github.ref_name }}
path: |
@@ -63,7 +63,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Save cache
- uses: actions/cache/save@v3
+ uses: actions/cache/save@v4
with:
key: ${{ steps.cache-gatsby.outputs.cache-primary-key }}
path: |
@@ -71,13 +71,14 @@ jobs:
.cache
- name: Upload artifact
- uses: actions/upload-pages-artifact@v1
+ uses: actions/upload-pages-artifact@v3
with:
path: './public'
deploy:
permissions:
pages: write
+ actions: read
id-token: write
environment:
name: github-pages
@@ -87,6 +88,6 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
- uses: actions/deploy-pages@v1
+ uses: actions/deploy-pages@v4
with:
preview: ${{ github.event_name == 'pull_request' }}
diff --git a/.github/workflows/update-cli.yml b/.github/workflows/update-cli.yml
index 271b9709efc..154e97702b6 100644
--- a/.github/workflows/update-cli.yml
+++ b/.github/workflows/update-cli.yml
@@ -19,17 +19,17 @@ jobs:
shell: bash
steps:
- name: Checkout
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
- name: Setup Git User
run: |
git config --global user.email "npm-cli+bot@github.com"
git config --global user.name "npm CLI robot"
- name: Setup Node
- uses: actions/setup-node@v3
+ uses: actions/setup-node@v4
id: node
with:
- node-version: 18.x
- check-latest: contains('18.x', '.x')
+ node-version: 22.x
+ check-latest: contains('22.x', '.x')
cache: npm
- name: Install Latest npm
uses: ./.github/actions/install-latest-npm
diff --git a/.gitignore b/.gitignore
index 44463007057..3a349d29cb1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,14 +2,13 @@
# ignore everything in the root
/*
-# transient test directories
-tap-testdir*/
-# keep these
!**/.gitignore
!/.commitlintrc.js
+!/.eslint.config.js
!/.eslintrc.js
!/.eslintrc.local.*
+!/.git-blame-ignore-revs
!/.github/
!/.gitignore
!/.npmrc
@@ -42,4 +41,6 @@ tap-testdir*/
!/test/
!/tsconfig.json
!/webpack.config.js
+!cli-cache.json
+tap-testdir*/
!/cli/
diff --git a/.nvmrc b/.nvmrc
index 3c032078a4a..2bd5a0a98a3 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18
+22
diff --git a/.prettierignore b/.prettierignore
index ddebf1afc49..3df37d6b9a4 100644
--- a/.prettierignore
+++ b/.prettierignore
@@ -5,3 +5,4 @@
/.reuse/
.nyc_output/
coverage/
+cli-cache.json
\ No newline at end of file
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 62403a51da0..fdab77759b2 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -25,7 +25,7 @@ This is the documentation for [https://docs.npmjs.com/](https://docs.npmjs.com/)
First, `npm install` the dependencies. This will install Gatsby, et al.
-Next, `npm run develop` to start the test server to view your changes. The Gatsby server will be started on port 8000. You can navigate to `http://localhost:8000` to view the site live.
+Next, `npm run develop` to start the test server to view your changes. The Gatsby server will be started on port 8000. You can navigate to `http://localhost:8000` to view the site live. This npm script doesn't work on Windows terminals, run it manually using appropriate syntax for your terminal. The syntax for command prompt is `set PARCEL_WORKERS=0 & npm run gatsby develop`.
In order to cut down on the time it takes `npm run develop` to complete, you can use the environment variables `GATSBY_CONTENT_ALLOW` and `GATSBY_CONTENT_IGNORE` to only build some pages.
@@ -41,7 +41,7 @@ The `content/cli` directory has the most pages so it tends to be most helpful to
GATSBY_CONTENT_IGNORE=cli/v6,cli/v7,cli/v8,cli/v9 npm run develop
```
-**For best results use Node 18 and npm 9+**
+**For best results use The latest versions of Node.js and npm**
**Gatsby will watch your filesystem looking for updates.** Any content changes you make should be reflected in the site immediately.
diff --git a/SECURITY.md b/SECURITY.md
index 9cd2deaf4fd..4fe06a2a32c 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -2,7 +2,7 @@
GitHub takes the security of our software products and services seriously, including the open source code repositories managed through our GitHub organizations, such as [GitHub](https://github.com/GitHub).
-If you believe you have found a security vulnerability in this GitHub-owned open source repository, you can report it to us in one of two ways.
+If you believe you have found a security vulnerability in this GitHub-owned open source repository, you can report it to us in one of two ways.
If the vulnerability you have found is *not* [in scope for the GitHub Bug Bounty Program](https://bounty.github.com/#scope) or if you do not wish to be considered for a bounty reward, please report the issue to us directly through [opensource-security@github.com](mailto:opensource-security@github.com).
diff --git a/cli-cache.json b/cli-cache.json
new file mode 100644
index 00000000000..182ff1f0fa1
--- /dev/null
+++ b/cli-cache.json
@@ -0,0 +1,6 @@
+{
+ "v8": "aa8fff11cdab94fff1a2160ee5241f5f4632e96b",
+ "v9": "64763a341e7aa5b456e696f956759bf9b3440dc1",
+ "v10": "a3041941586b6fb8ed7403fe3c24d81138a96005",
+ "v11": "0d4c023914f835927540bd0110c1ca5716b84056"
+}
\ No newline at end of file
diff --git a/cli/.gitignore b/cli/.gitignore
index 1f9ff929c76..d0370134f59 100644
--- a/cli/.gitignore
+++ b/cli/.gitignore
@@ -2,13 +2,12 @@
# ignore everything in the root
/*
-# transient test directories
-tap-testdir*/
-# keep these
!**/.gitignore
+!/.eslint.config.js
!/.eslintrc.js
!/.eslintrc.local.*
+!/.git-blame-ignore-revs
!/.gitignore
!/bin/
!/CHANGELOG*
@@ -22,3 +21,4 @@ tap-testdir*/
!/scripts/
!/tap-snapshots/
!/test/
+tap-testdir*/
diff --git a/cli/bin/build.js b/cli/bin/build.js
index d238c84afe1..5969a5f15fb 100644
--- a/cli/bin/build.js
+++ b/cli/bin/build.js
@@ -2,6 +2,7 @@ const {resolve, relative, join} = require('path')
const {spawnSync} = require('child_process')
const build = require('../lib/build.js')
const {nwo} = require('../lib/gh')
+const {CacheVersionSha} = require('../lib/cache.js')
// check only build with the current versions instead of checking the registry
// and also fails if any changes are detected. this is used in CI to make sure
@@ -24,21 +25,23 @@ const checkContent = () => {
}
}
-build({
- releases: require('../releases.json'),
- loglevel: process.argv.includes('--debug') || process.env.CI ? 'verbose' : 'info',
- prerelease: false,
- useCurrent: checkOnly,
- contentPath,
- navPath,
-})
- .then(() => {
+;(async () => {
+ try {
+ await build({
+ cache: await CacheVersionSha.load(join(ROOT, 'cli-cache.json')),
+ releases: require('../releases.json'),
+ loglevel: process.argv.includes('--debug') || process.env.CI ? 'verbose' : 'info',
+ prerelease: false,
+ useCurrent: checkOnly,
+ contentPath,
+ navPath,
+ })
if (checkOnly) {
checkContent()
}
return console.log('DONE')
- })
- .catch(e => {
+ } catch (e) {
console.error(e)
process.exit(1)
- })
+ }
+})()
diff --git a/cli/lib/build.js b/cli/lib/build.js
index d32b8496185..ae3fae9b77f 100644
--- a/cli/lib/build.js
+++ b/cli/lib/build.js
@@ -55,7 +55,7 @@ const getCurrentVersions = nav => {
}
}
-const main = async ({loglevel, releases: rawReleases, useCurrent, navPath, contentPath, prerelease}) => {
+const main = async ({loglevel, releases: rawReleases, useCurrent, navPath, contentPath, prerelease, cache}) => {
/* istanbul ignore next */
if (loglevel) {
log.on(loglevel)
@@ -113,10 +113,18 @@ const main = async ({loglevel, releases: rawReleases, useCurrent, navPath, conte
}
})
+ /**
+ * this voids the cache when a new version is added to release.json / not in the cli-cache.json
+ * this is done so that the previous major versions nav can be reset to legacy and pages can be droped from its variant
+ */
+ cache?.voidOnNewKey(releases.map(v => v.id))
+
const updates = await Promise.all(
- releases.map(r => extractRelease(r, {contentPath, baseNav: navData, prerelease})),
+ releases.map(r => extractRelease(r, {cache, contentPath, baseNav: navData, prerelease})),
).then(r => r.filter(Boolean))
+ await cache?.save()
+
await updateNav(updates, {nav: navDoc, path: navPath})
}
diff --git a/cli/lib/cache.js b/cli/lib/cache.js
new file mode 100644
index 00000000000..ead0f201c4c
--- /dev/null
+++ b/cli/lib/cache.js
@@ -0,0 +1,55 @@
+const fs = require('fs/promises')
+
+/** cache npm cli version shas to NOT pull down changes we already have */
+class CacheVersionSha {
+ shouldVoid = false
+
+ constructor(cache, path) {
+ this.cache = cache
+ this.path = path
+ }
+
+ static async load(path) {
+ return new CacheVersionSha(JSON.parse(await fs.readFile(path, 'utf-8')), path)
+ }
+
+ get keys() {
+ return Object.keys(this.cache)
+ }
+
+ voidOnNewKey(keys) {
+ if (keys.length !== this.keys.length || !keys.every(key => this.keys.includes(key))) {
+ this.shouldVoid = true
+ }
+ }
+
+ async save() {
+ const sortedCache = {}
+ Object.keys(this.cache)
+ .sort((a, b) => {
+ const numA = parseInt(a.replace('v', ''), 10)
+ const numB = parseInt(b.replace('v', ''), 10)
+ return numA - numB
+ })
+ .forEach(key => {
+ sortedCache[key] = this.cache[key]
+ })
+ this.cache = sortedCache
+ await fs.writeFile(this.path, JSON.stringify(this.cache, null, 2))
+ return this
+ }
+
+ set(id, sha) {
+ this.cache[id] = sha
+ return this
+ }
+
+ same(id, value) {
+ if (this.shouldVoid) return false
+ return this.cache[id] === value
+ }
+}
+
+module.exports = {
+ CacheVersionSha,
+}
diff --git a/cli/lib/extract.js b/cli/lib/extract.js
index d0a5d1ca92a..4773d8d0243 100644
--- a/cli/lib/extract.js
+++ b/cli/lib/extract.js
@@ -138,7 +138,16 @@ const writeChangelog = async ({release, nav, cwd, srcPath, contentPath}) => {
})
}
-const unpackRelease = async (release, {contentPath, baseNav, prerelease = false}) => {
+const unpackRelease = async (release, {cache, contentPath, baseNav, prerelease = false}) => {
+ if (cache) {
+ const sha = await gh.getCurrentSha(release.branch)
+ if (cache.same(release.id, sha)) {
+ log.info(`Skipping ${release.id} due to cache`)
+ return
+ }
+ cache.set(release.id, sha)
+ }
+
if (release.prerelease && !prerelease) {
log.info(`Skipping ${release.id} due to prerelease ${release.version}`)
return
diff --git a/cli/lib/gh.js b/cli/lib/gh.js
index e02a66246e2..79cd162fae1 100644
--- a/cli/lib/gh.js
+++ b/cli/lib/gh.js
@@ -1,16 +1,37 @@
-const {Octokit} = require('@octokit/rest')
-const {posix, sep} = require('path')
+const {posix, sep} = require('node:path')
+const {execSync} = require('node:child_process')
if (!process.env.GITHUB_TOKEN) {
- throw new Error('GITHUB_TOKEN env var is required to build CLI docs')
+ try {
+ // this allows people to run this locally
+ process.env.GITHUB_TOKEN = execSync('gh auth token', {encoding: 'utf8'}).trim()
+ } catch (err) {
+ throw new Error('GITHUB_TOKEN env var is required to build CLI docs')
+ }
}
-const octokit = new Octokit({auth: process.env.GITHUB_TOKEN})
+let octokit
const owner = 'npm'
const repo = 'cli'
const opts = {owner, repo}
+const getCurrentSha = async branch => {
+ if (!octokit) {
+ const {Octokit} = await import('@octokit/rest')
+ octokit = new Octokit({auth: process.env.GITHUB_TOKEN})
+ }
+ const {data} = await octokit.repos.getBranch({
+ ...opts,
+ branch,
+ })
+ return data.commit.sha
+}
+
const getFile = async ({sha, ref, path}) => {
+ if (!octokit) {
+ const {Octokit} = await import('@octokit/rest')
+ octokit = new Octokit({auth: process.env.GITHUB_TOKEN})
+ }
const {data} = await (sha
? octokit.git.getBlob({
...opts,
@@ -25,6 +46,10 @@ const getFile = async ({sha, ref, path}) => {
}
const pathExists = async (ref, path) => {
+ if (!octokit) {
+ const {Octokit} = await import('@octokit/rest')
+ octokit = new Octokit({auth: process.env.GITHUB_TOKEN})
+ }
try {
await octokit.repos.getContent({
...opts,
@@ -44,5 +69,6 @@ const pathExists = async (ref, path) => {
module.exports = {
getFile,
pathExists,
+ getCurrentSha,
nwo: `${owner}/${repo}`,
}
diff --git a/cli/lib/log.js b/cli/lib/log.js
index 646b290dd9e..3803dfc5c3b 100644
--- a/cli/lib/log.js
+++ b/cli/lib/log.js
@@ -1,4 +1,4 @@
-const log = require('proc-log')
+const {log} = require('proc-log')
const SYMBOL = Symbol('doc-log')
module.exports = Object.fromEntries(Object.entries(log).map(([k, v]) => [k, (...a) => v(SYMBOL, ...a)]))
diff --git a/cli/package.json b/cli/package.json
index 9c48b05954a..c4b94de62a0 100644
--- a/cli/package.json
+++ b/cli/package.json
@@ -2,44 +2,45 @@
"name": "cli",
"private": true,
"repository": {
- "url": "https://github.com/npm/documentation.git",
+ "url": "git+https://github.com/npm/documentation.git",
"directory": "cli",
"type": "git"
},
"scripts": {
"build": "node bin/build.js",
- "lint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"",
+ "lint": "npm run eslint",
"postlint": "template-oss-check",
"template-oss-apply": "template-oss-apply --force",
- "lintfix": "npm run lint -- --fix",
+ "lintfix": "npm run eslint -- --fix",
"snap": "tap",
"test": "tap",
- "posttest": "npm run lint"
+ "posttest": "npm run lint",
+ "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
},
"dependencies": {
- "@octokit/rest": "^20.0.2",
+ "@octokit/rest": "^21.0.0",
"@prettier/sync": "^0.5.0",
"front-matter": "^4.0.2",
- "minimatch": "^9.0.3",
+ "minimatch": "^10.0.1",
"minipass": "^7.0.4",
- "pacote": "^17.0.5",
- "proc-log": "^3.0.0",
+ "pacote": "^21.0.0",
+ "proc-log": "^5.0.0",
"semver": "^7.5.4",
- "tar": "^6.2.1",
+ "tar": "^7.0.1",
"yaml": "^2.3.4"
},
"devDependencies": {
- "@npmcli/eslint-config": "^4.0.2",
- "@npmcli/template-oss": "4.21.3",
- "tap": "^16.3.9"
+ "@npmcli/eslint-config": "^5.0.0",
+ "@npmcli/template-oss": "4.24.3",
+ "tap": "^21.0.0"
},
"author": "GitHub Inc.",
"engines": {
- "node": ">=18.0.0"
+ "node": ">=22.0.0"
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.21.3",
+ "version": "4.24.3",
"content": "./scripts/template-oss"
},
"files": [
@@ -47,9 +48,10 @@
"lib/"
],
"tap": {
- "nyc-arg": [
- "--exclude",
- "tap-snapshots/**"
- ]
+ "allow-incomplete-coverage": true,
+ "show-full-coverage": true
+ },
+ "nyc": {
+ "exclude": []
}
}
diff --git a/cli/releases.json b/cli/releases.json
index 2849267f9fb..cf66ceea9db 100644
--- a/cli/releases.json
+++ b/cli/releases.json
@@ -1,12 +1,4 @@
[
- {
- "id": "v6",
- "branch": "release/v6"
- },
- {
- "id": "v7",
- "branch": "release/v7"
- },
{
"id": "v8",
"branch": "release/v8"
@@ -17,6 +9,10 @@
},
{
"id": "v10",
+ "branch": "release/v10"
+ },
+ {
+ "id": "v11",
"branch": "latest"
}
]
diff --git a/cli/test/index.js b/cli/test/index.js
index df2dc7cf633..99a62ca2b13 100644
--- a/cli/test/index.js
+++ b/cli/test/index.js
@@ -66,7 +66,8 @@ const mockBuild = async (t, {releases = getReleases(), packument = {}, testdir:
return yaml.stringify(children).replace(new RegExp(`/cli/${id}/`, 'g'), '/')
}
- const build = t.mock('../lib/build', {
+ let shaCounter = 0
+ const build = t.mockRequire('../lib/build', {
pacote: {
...pacote,
packument: async () => {
@@ -83,6 +84,10 @@ const mockBuild = async (t, {releases = getReleases(), packument = {}, testdir:
},
'@prettier/sync': {format: s => s},
'../lib/gh.js': {
+ getCurrentSha: async () => {
+ shaCounter = shaCounter + 1
+ return 'abc' + shaCounter
+ },
getFile: async ({ref}) => navSection(ref),
pathExists: async (ref, p) => {
if (ref.includes('v6') && p.includes('docs/lib/content')) {
diff --git a/cli/test/transform.js b/cli/test/transform.js
index 9dbb6885f2f..2f6e1fc62d4 100644
--- a/cli/test/transform.js
+++ b/cli/test/transform.js
@@ -2,7 +2,7 @@ const t = require('tap')
const fm = require('front-matter')
const transform = ({id, path}) => {
- const Transform = t.mock('../lib/transform', {
+ const Transform = t.mockRequire('../lib/transform', {
'../lib/gh.js': {nwo: 'npm/cli'},
})
const transformed = Transform.sync('---\n---\n', {
diff --git a/content/cli/v10/commands/index.mdx b/content/cli/v10/commands/index.mdx
index 32f38a5662c..594d787d9fc 100644
--- a/content/cli/v10/commands/index.mdx
+++ b/content/cli/v10/commands/index.mdx
@@ -2,29 +2,16 @@
title: CLI Commands
shortName: Commands
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/nav.yml
redirect_from:
- - /cli-commands
- - /cli-commands/index
- - /cli-documentation/cli
- - /cli-documentation/cli-commands
- - /cli-documentation/cli-commands/index
- - /cli-documentation/commands
- - /cli-documentation/commands/index
- /cli-documentation/v10/cli-commands
- /cli-documentation/v10/cli-commands/index
- /cli-documentation/v10/commands
- /cli-documentation/v10/commands/index
- - /cli/cli-commands
- - /cli/cli-commands/index
- - /cli/commands
- - /cli/commands/index
- /cli/v10/cli-commands
- /cli/v10/cli-commands/index
- /cli/v10/commands/index
- - /commands
- - /commands/index
---
diff --git a/content/cli/v10/commands/npm-access.mdx b/content/cli/v10/commands/npm-access.mdx
index b36353a8006..900fafb1772 100644
--- a/content/cli/v10/commands/npm-access.mdx
+++ b/content/cli/v10/commands/npm-access.mdx
@@ -3,36 +3,20 @@ title: npm-access
section: 1
description: Set access level on published packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-access.md
redirect_from:
- - /cli-commands/access
- - /cli-commands/npm-access
- - /cli-documentation/access
- - /cli-documentation/cli-commands/access
- - /cli-documentation/cli-commands/npm-access
- - /cli-documentation/commands/access
- - /cli-documentation/commands/npm-access
- - /cli-documentation/npm-access
- /cli-documentation/v10/access
- /cli-documentation/v10/cli-commands/access
- /cli-documentation/v10/cli-commands/npm-access
- /cli-documentation/v10/commands/access
- /cli-documentation/v10/commands/npm-access
- /cli-documentation/v10/npm-access
- - /cli/access
- - /cli/cli-commands/access
- - /cli/cli-commands/npm-access
- - /cli/commands/access
- - /cli/commands/npm-access
- - /cli/npm-access
- /cli/v10/access
- /cli/v10/cli-commands/access
- /cli/v10/cli-commands/npm-access
- /cli/v10/commands/access
- /cli/v10/npm-access
- - /commands/access
- - /commands/npm-access
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-adduser.mdx b/content/cli/v10/commands/npm-adduser.mdx
index 6cc73549e3b..cf673bb69db 100644
--- a/content/cli/v10/commands/npm-adduser.mdx
+++ b/content/cli/v10/commands/npm-adduser.mdx
@@ -3,36 +3,20 @@ title: npm-adduser
section: 1
description: Add a registry user account
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-adduser.md
redirect_from:
- - /cli-commands/adduser
- - /cli-commands/npm-adduser
- - /cli-documentation/adduser
- - /cli-documentation/cli-commands/adduser
- - /cli-documentation/cli-commands/npm-adduser
- - /cli-documentation/commands/adduser
- - /cli-documentation/commands/npm-adduser
- - /cli-documentation/npm-adduser
- /cli-documentation/v10/adduser
- /cli-documentation/v10/cli-commands/adduser
- /cli-documentation/v10/cli-commands/npm-adduser
- /cli-documentation/v10/commands/adduser
- /cli-documentation/v10/commands/npm-adduser
- /cli-documentation/v10/npm-adduser
- - /cli/adduser
- - /cli/cli-commands/adduser
- - /cli/cli-commands/npm-adduser
- - /cli/commands/adduser
- - /cli/commands/npm-adduser
- - /cli/npm-adduser
- /cli/v10/adduser
- /cli/v10/cli-commands/adduser
- /cli/v10/cli-commands/npm-adduser
- /cli/v10/commands/adduser
- /cli/v10/npm-adduser
- - /commands/adduser
- - /commands/npm-adduser
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-audit.mdx b/content/cli/v10/commands/npm-audit.mdx
index a2ee71bfa21..18d94b59863 100644
--- a/content/cli/v10/commands/npm-audit.mdx
+++ b/content/cli/v10/commands/npm-audit.mdx
@@ -3,36 +3,20 @@ title: npm-audit
section: 1
description: Run a security audit
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-audit.md
redirect_from:
- - /cli-commands/audit
- - /cli-commands/npm-audit
- - /cli-documentation/audit
- - /cli-documentation/cli-commands/audit
- - /cli-documentation/cli-commands/npm-audit
- - /cli-documentation/commands/audit
- - /cli-documentation/commands/npm-audit
- - /cli-documentation/npm-audit
- /cli-documentation/v10/audit
- /cli-documentation/v10/cli-commands/audit
- /cli-documentation/v10/cli-commands/npm-audit
- /cli-documentation/v10/commands/audit
- /cli-documentation/v10/commands/npm-audit
- /cli-documentation/v10/npm-audit
- - /cli/audit
- - /cli/cli-commands/audit
- - /cli/cli-commands/npm-audit
- - /cli/commands/audit
- - /cli/commands/npm-audit
- - /cli/npm-audit
- /cli/v10/audit
- /cli/v10/cli-commands/audit
- /cli/v10/cli-commands/npm-audit
- /cli/v10/commands/audit
- /cli/v10/npm-audit
- - /commands/audit
- - /commands/npm-audit
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-bugs.mdx b/content/cli/v10/commands/npm-bugs.mdx
index ee189fc7038..0d10583688b 100644
--- a/content/cli/v10/commands/npm-bugs.mdx
+++ b/content/cli/v10/commands/npm-bugs.mdx
@@ -3,36 +3,20 @@ title: npm-bugs
section: 1
description: Report bugs for a package in a web browser
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-bugs.md
redirect_from:
- - /cli-commands/bugs
- - /cli-commands/npm-bugs
- - /cli-documentation/bugs
- - /cli-documentation/cli-commands/bugs
- - /cli-documentation/cli-commands/npm-bugs
- - /cli-documentation/commands/bugs
- - /cli-documentation/commands/npm-bugs
- - /cli-documentation/npm-bugs
- /cli-documentation/v10/bugs
- /cli-documentation/v10/cli-commands/bugs
- /cli-documentation/v10/cli-commands/npm-bugs
- /cli-documentation/v10/commands/bugs
- /cli-documentation/v10/commands/npm-bugs
- /cli-documentation/v10/npm-bugs
- - /cli/bugs
- - /cli/cli-commands/bugs
- - /cli/cli-commands/npm-bugs
- - /cli/commands/bugs
- - /cli/commands/npm-bugs
- - /cli/npm-bugs
- /cli/v10/bugs
- /cli/v10/cli-commands/bugs
- /cli/v10/cli-commands/npm-bugs
- /cli/v10/commands/bugs
- /cli/v10/npm-bugs
- - /commands/bugs
- - /commands/npm-bugs
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-cache.mdx b/content/cli/v10/commands/npm-cache.mdx
index 1efa5e7bb8c..601df40bf8a 100644
--- a/content/cli/v10/commands/npm-cache.mdx
+++ b/content/cli/v10/commands/npm-cache.mdx
@@ -3,36 +3,20 @@ title: npm-cache
section: 1
description: Manipulates packages cache
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-cache.md
redirect_from:
- - /cli-commands/cache
- - /cli-commands/npm-cache
- - /cli-documentation/cache
- - /cli-documentation/cli-commands/cache
- - /cli-documentation/cli-commands/npm-cache
- - /cli-documentation/commands/cache
- - /cli-documentation/commands/npm-cache
- - /cli-documentation/npm-cache
- /cli-documentation/v10/cache
- /cli-documentation/v10/cli-commands/cache
- /cli-documentation/v10/cli-commands/npm-cache
- /cli-documentation/v10/commands/cache
- /cli-documentation/v10/commands/npm-cache
- /cli-documentation/v10/npm-cache
- - /cli/cache
- - /cli/cli-commands/cache
- - /cli/cli-commands/npm-cache
- - /cli/commands/cache
- - /cli/commands/npm-cache
- - /cli/npm-cache
- /cli/v10/cache
- /cli/v10/cli-commands/cache
- /cli/v10/cli-commands/npm-cache
- /cli/v10/commands/cache
- /cli/v10/npm-cache
- - /commands/cache
- - /commands/npm-cache
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-ci.mdx b/content/cli/v10/commands/npm-ci.mdx
index 9d71109f953..4c78c224f01 100644
--- a/content/cli/v10/commands/npm-ci.mdx
+++ b/content/cli/v10/commands/npm-ci.mdx
@@ -3,36 +3,20 @@ title: npm-ci
section: 1
description: Clean install a project
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-ci.md
redirect_from:
- - /cli-commands/ci
- - /cli-commands/npm-ci
- - /cli-documentation/ci
- - /cli-documentation/cli-commands/ci
- - /cli-documentation/cli-commands/npm-ci
- - /cli-documentation/commands/ci
- - /cli-documentation/commands/npm-ci
- - /cli-documentation/npm-ci
- /cli-documentation/v10/ci
- /cli-documentation/v10/cli-commands/ci
- /cli-documentation/v10/cli-commands/npm-ci
- /cli-documentation/v10/commands/ci
- /cli-documentation/v10/commands/npm-ci
- /cli-documentation/v10/npm-ci
- - /cli/ci
- - /cli/cli-commands/ci
- - /cli/cli-commands/npm-ci
- - /cli/commands/ci
- - /cli/commands/npm-ci
- - /cli/npm-ci
- /cli/v10/ci
- /cli/v10/cli-commands/ci
- /cli/v10/cli-commands/npm-ci
- /cli/v10/commands/ci
- /cli/v10/npm-ci
- - /commands/ci
- - /commands/npm-ci
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-completion.mdx b/content/cli/v10/commands/npm-completion.mdx
index 6197fb9ee13..77353a22a88 100644
--- a/content/cli/v10/commands/npm-completion.mdx
+++ b/content/cli/v10/commands/npm-completion.mdx
@@ -3,36 +3,20 @@ title: npm-completion
section: 1
description: Tab Completion for npm
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-completion.md
redirect_from:
- - /cli-commands/completion
- - /cli-commands/npm-completion
- - /cli-documentation/cli-commands/completion
- - /cli-documentation/cli-commands/npm-completion
- - /cli-documentation/commands/completion
- - /cli-documentation/commands/npm-completion
- - /cli-documentation/completion
- - /cli-documentation/npm-completion
- /cli-documentation/v10/cli-commands/completion
- /cli-documentation/v10/cli-commands/npm-completion
- /cli-documentation/v10/commands/completion
- /cli-documentation/v10/commands/npm-completion
- /cli-documentation/v10/completion
- /cli-documentation/v10/npm-completion
- - /cli/cli-commands/completion
- - /cli/cli-commands/npm-completion
- - /cli/commands/completion
- - /cli/commands/npm-completion
- - /cli/completion
- - /cli/npm-completion
- /cli/v10/cli-commands/completion
- /cli/v10/cli-commands/npm-completion
- /cli/v10/commands/completion
- /cli/v10/completion
- /cli/v10/npm-completion
- - /commands/completion
- - /commands/npm-completion
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-config.mdx b/content/cli/v10/commands/npm-config.mdx
index 9572638746f..616794cf9c4 100644
--- a/content/cli/v10/commands/npm-config.mdx
+++ b/content/cli/v10/commands/npm-config.mdx
@@ -3,36 +3,20 @@ title: npm-config
section: 1
description: Manage the npm configuration files
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-config.md
redirect_from:
- - /cli-commands/config
- - /cli-commands/npm-config
- - /cli-documentation/cli-commands/config
- - /cli-documentation/cli-commands/npm-config
- - /cli-documentation/commands/config
- - /cli-documentation/commands/npm-config
- - /cli-documentation/config
- - /cli-documentation/npm-config
- /cli-documentation/v10/cli-commands/config
- /cli-documentation/v10/cli-commands/npm-config
- /cli-documentation/v10/commands/config
- /cli-documentation/v10/commands/npm-config
- /cli-documentation/v10/config
- /cli-documentation/v10/npm-config
- - /cli/cli-commands/config
- - /cli/cli-commands/npm-config
- - /cli/commands/config
- - /cli/commands/npm-config
- - /cli/config
- - /cli/npm-config
- /cli/v10/cli-commands/config
- /cli/v10/cli-commands/npm-config
- /cli/v10/commands/config
- /cli/v10/config
- /cli/v10/npm-config
- - /commands/config
- - /commands/npm-config
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-dedupe.mdx b/content/cli/v10/commands/npm-dedupe.mdx
index a82d5350dfd..850ef60086f 100644
--- a/content/cli/v10/commands/npm-dedupe.mdx
+++ b/content/cli/v10/commands/npm-dedupe.mdx
@@ -3,36 +3,20 @@ title: npm-dedupe
section: 1
description: Reduce duplication in the package tree
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-dedupe.md
redirect_from:
- - /cli-commands/dedupe
- - /cli-commands/npm-dedupe
- - /cli-documentation/cli-commands/dedupe
- - /cli-documentation/cli-commands/npm-dedupe
- - /cli-documentation/commands/dedupe
- - /cli-documentation/commands/npm-dedupe
- - /cli-documentation/dedupe
- - /cli-documentation/npm-dedupe
- /cli-documentation/v10/cli-commands/dedupe
- /cli-documentation/v10/cli-commands/npm-dedupe
- /cli-documentation/v10/commands/dedupe
- /cli-documentation/v10/commands/npm-dedupe
- /cli-documentation/v10/dedupe
- /cli-documentation/v10/npm-dedupe
- - /cli/cli-commands/dedupe
- - /cli/cli-commands/npm-dedupe
- - /cli/commands/dedupe
- - /cli/commands/npm-dedupe
- - /cli/dedupe
- - /cli/npm-dedupe
- /cli/v10/cli-commands/dedupe
- /cli/v10/cli-commands/npm-dedupe
- /cli/v10/commands/dedupe
- /cli/v10/dedupe
- /cli/v10/npm-dedupe
- - /commands/dedupe
- - /commands/npm-dedupe
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-deprecate.mdx b/content/cli/v10/commands/npm-deprecate.mdx
index ed9a5e5a807..80442a366f2 100644
--- a/content/cli/v10/commands/npm-deprecate.mdx
+++ b/content/cli/v10/commands/npm-deprecate.mdx
@@ -3,36 +3,20 @@ title: npm-deprecate
section: 1
description: Deprecate a version of a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-deprecate.md
redirect_from:
- - /cli-commands/deprecate
- - /cli-commands/npm-deprecate
- - /cli-documentation/cli-commands/deprecate
- - /cli-documentation/cli-commands/npm-deprecate
- - /cli-documentation/commands/deprecate
- - /cli-documentation/commands/npm-deprecate
- - /cli-documentation/deprecate
- - /cli-documentation/npm-deprecate
- /cli-documentation/v10/cli-commands/deprecate
- /cli-documentation/v10/cli-commands/npm-deprecate
- /cli-documentation/v10/commands/deprecate
- /cli-documentation/v10/commands/npm-deprecate
- /cli-documentation/v10/deprecate
- /cli-documentation/v10/npm-deprecate
- - /cli/cli-commands/deprecate
- - /cli/cli-commands/npm-deprecate
- - /cli/commands/deprecate
- - /cli/commands/npm-deprecate
- - /cli/deprecate
- - /cli/npm-deprecate
- /cli/v10/cli-commands/deprecate
- /cli/v10/cli-commands/npm-deprecate
- /cli/v10/commands/deprecate
- /cli/v10/deprecate
- /cli/v10/npm-deprecate
- - /commands/deprecate
- - /commands/npm-deprecate
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-diff.mdx b/content/cli/v10/commands/npm-diff.mdx
index a9ac00de68d..5770ec257bb 100644
--- a/content/cli/v10/commands/npm-diff.mdx
+++ b/content/cli/v10/commands/npm-diff.mdx
@@ -3,36 +3,20 @@ title: npm-diff
section: 1
description: The registry diff command
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-diff.md
redirect_from:
- - /cli-commands/diff
- - /cli-commands/npm-diff
- - /cli-documentation/cli-commands/diff
- - /cli-documentation/cli-commands/npm-diff
- - /cli-documentation/commands/diff
- - /cli-documentation/commands/npm-diff
- - /cli-documentation/diff
- - /cli-documentation/npm-diff
- /cli-documentation/v10/cli-commands/diff
- /cli-documentation/v10/cli-commands/npm-diff
- /cli-documentation/v10/commands/diff
- /cli-documentation/v10/commands/npm-diff
- /cli-documentation/v10/diff
- /cli-documentation/v10/npm-diff
- - /cli/cli-commands/diff
- - /cli/cli-commands/npm-diff
- - /cli/commands/diff
- - /cli/commands/npm-diff
- - /cli/diff
- - /cli/npm-diff
- /cli/v10/cli-commands/diff
- /cli/v10/cli-commands/npm-diff
- /cli/v10/commands/diff
- /cli/v10/diff
- /cli/v10/npm-diff
- - /commands/diff
- - /commands/npm-diff
---
### Synopsis
@@ -216,10 +200,12 @@ Operates in "global" mode, so that packages are installed into the `prefix` fold
If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.
-Also the tag that is added to the package@version specified by the `npm tag` command, if no explicit tag is given.
+It is the tag added to the package@version specified in the `npm dist-tag add` command, if no explicit tag is given.
When used by the `npm diff` command, this is the tag used to fetch the tarball that will be compared with the local files by default.
+If used in the `npm publish` command, this is the tag that will be added to the package submitted to the registry.
+
#### `workspace`
- Default:
diff --git a/content/cli/v10/commands/npm-dist-tag.mdx b/content/cli/v10/commands/npm-dist-tag.mdx
index 31ac2de028c..b23de9e142f 100644
--- a/content/cli/v10/commands/npm-dist-tag.mdx
+++ b/content/cli/v10/commands/npm-dist-tag.mdx
@@ -3,36 +3,20 @@ title: npm-dist-tag
section: 1
description: Modify package distribution tags
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-dist-tag.md
redirect_from:
- - /cli-commands/dist-tag
- - /cli-commands/npm-dist-tag
- - /cli-documentation/cli-commands/dist-tag
- - /cli-documentation/cli-commands/npm-dist-tag
- - /cli-documentation/commands/dist-tag
- - /cli-documentation/commands/npm-dist-tag
- - /cli-documentation/dist-tag
- - /cli-documentation/npm-dist-tag
- /cli-documentation/v10/cli-commands/dist-tag
- /cli-documentation/v10/cli-commands/npm-dist-tag
- /cli-documentation/v10/commands/dist-tag
- /cli-documentation/v10/commands/npm-dist-tag
- /cli-documentation/v10/dist-tag
- /cli-documentation/v10/npm-dist-tag
- - /cli/cli-commands/dist-tag
- - /cli/cli-commands/npm-dist-tag
- - /cli/commands/dist-tag
- - /cli/commands/npm-dist-tag
- - /cli/dist-tag
- - /cli/npm-dist-tag
- /cli/v10/cli-commands/dist-tag
- /cli/v10/cli-commands/npm-dist-tag
- /cli/v10/commands/dist-tag
- /cli/v10/dist-tag
- /cli/v10/npm-dist-tag
- - /commands/dist-tag
- - /commands/npm-dist-tag
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-docs.mdx b/content/cli/v10/commands/npm-docs.mdx
index 369e5169a79..63ff3a8e5f6 100644
--- a/content/cli/v10/commands/npm-docs.mdx
+++ b/content/cli/v10/commands/npm-docs.mdx
@@ -3,36 +3,20 @@ title: npm-docs
section: 1
description: Open documentation for a package in a web browser
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-docs.md
redirect_from:
- - /cli-commands/docs
- - /cli-commands/npm-docs
- - /cli-documentation/cli-commands/docs
- - /cli-documentation/cli-commands/npm-docs
- - /cli-documentation/commands/docs
- - /cli-documentation/commands/npm-docs
- - /cli-documentation/docs
- - /cli-documentation/npm-docs
- /cli-documentation/v10/cli-commands/docs
- /cli-documentation/v10/cli-commands/npm-docs
- /cli-documentation/v10/commands/docs
- /cli-documentation/v10/commands/npm-docs
- /cli-documentation/v10/docs
- /cli-documentation/v10/npm-docs
- - /cli/cli-commands/docs
- - /cli/cli-commands/npm-docs
- - /cli/commands/docs
- - /cli/commands/npm-docs
- - /cli/docs
- - /cli/npm-docs
- /cli/v10/cli-commands/docs
- /cli/v10/cli-commands/npm-docs
- /cli/v10/commands/docs
- /cli/v10/docs
- /cli/v10/npm-docs
- - /commands/docs
- - /commands/npm-docs
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-doctor.mdx b/content/cli/v10/commands/npm-doctor.mdx
index 72d722b017f..e992d76447f 100644
--- a/content/cli/v10/commands/npm-doctor.mdx
+++ b/content/cli/v10/commands/npm-doctor.mdx
@@ -3,36 +3,20 @@ title: npm-doctor
section: 1
description: Check the health of your npm environment
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-doctor.md
redirect_from:
- - /cli-commands/doctor
- - /cli-commands/npm-doctor
- - /cli-documentation/cli-commands/doctor
- - /cli-documentation/cli-commands/npm-doctor
- - /cli-documentation/commands/doctor
- - /cli-documentation/commands/npm-doctor
- - /cli-documentation/doctor
- - /cli-documentation/npm-doctor
- /cli-documentation/v10/cli-commands/doctor
- /cli-documentation/v10/cli-commands/npm-doctor
- /cli-documentation/v10/commands/doctor
- /cli-documentation/v10/commands/npm-doctor
- /cli-documentation/v10/doctor
- /cli-documentation/v10/npm-doctor
- - /cli/cli-commands/doctor
- - /cli/cli-commands/npm-doctor
- - /cli/commands/doctor
- - /cli/commands/npm-doctor
- - /cli/doctor
- - /cli/npm-doctor
- /cli/v10/cli-commands/doctor
- /cli/v10/cli-commands/npm-doctor
- /cli/v10/commands/doctor
- /cli/v10/doctor
- /cli/v10/npm-doctor
- - /commands/doctor
- - /commands/npm-doctor
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-edit.mdx b/content/cli/v10/commands/npm-edit.mdx
index 70901249ddf..67fed4e6f8b 100644
--- a/content/cli/v10/commands/npm-edit.mdx
+++ b/content/cli/v10/commands/npm-edit.mdx
@@ -3,36 +3,20 @@ title: npm-edit
section: 1
description: Edit an installed package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-edit.md
redirect_from:
- - /cli-commands/edit
- - /cli-commands/npm-edit
- - /cli-documentation/cli-commands/edit
- - /cli-documentation/cli-commands/npm-edit
- - /cli-documentation/commands/edit
- - /cli-documentation/commands/npm-edit
- - /cli-documentation/edit
- - /cli-documentation/npm-edit
- /cli-documentation/v10/cli-commands/edit
- /cli-documentation/v10/cli-commands/npm-edit
- /cli-documentation/v10/commands/edit
- /cli-documentation/v10/commands/npm-edit
- /cli-documentation/v10/edit
- /cli-documentation/v10/npm-edit
- - /cli/cli-commands/edit
- - /cli/cli-commands/npm-edit
- - /cli/commands/edit
- - /cli/commands/npm-edit
- - /cli/edit
- - /cli/npm-edit
- /cli/v10/cli-commands/edit
- /cli/v10/cli-commands/npm-edit
- /cli/v10/commands/edit
- /cli/v10/edit
- /cli/v10/npm-edit
- - /commands/edit
- - /commands/npm-edit
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-exec.mdx b/content/cli/v10/commands/npm-exec.mdx
index a5fcb81f372..dd8443566f3 100644
--- a/content/cli/v10/commands/npm-exec.mdx
+++ b/content/cli/v10/commands/npm-exec.mdx
@@ -3,36 +3,20 @@ title: npm-exec
section: 1
description: Run a command from a local or remote npm package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-exec.md
redirect_from:
- - /cli-commands/exec
- - /cli-commands/npm-exec
- - /cli-documentation/cli-commands/exec
- - /cli-documentation/cli-commands/npm-exec
- - /cli-documentation/commands/exec
- - /cli-documentation/commands/npm-exec
- - /cli-documentation/exec
- - /cli-documentation/npm-exec
- /cli-documentation/v10/cli-commands/exec
- /cli-documentation/v10/cli-commands/npm-exec
- /cli-documentation/v10/commands/exec
- /cli-documentation/v10/commands/npm-exec
- /cli-documentation/v10/exec
- /cli-documentation/v10/npm-exec
- - /cli/cli-commands/exec
- - /cli/cli-commands/npm-exec
- - /cli/commands/exec
- - /cli/commands/npm-exec
- - /cli/exec
- - /cli/npm-exec
- /cli/v10/cli-commands/exec
- /cli/v10/cli-commands/npm-exec
- /cli/v10/commands/exec
- /cli/v10/exec
- /cli/v10/npm-exec
- - /commands/exec
- - /commands/npm-exec
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-explain.mdx b/content/cli/v10/commands/npm-explain.mdx
index 117d160eac5..71df8bf1c0e 100644
--- a/content/cli/v10/commands/npm-explain.mdx
+++ b/content/cli/v10/commands/npm-explain.mdx
@@ -3,36 +3,20 @@ title: npm-explain
section: 1
description: Explain installed packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-explain.md
redirect_from:
- - /cli-commands/explain
- - /cli-commands/npm-explain
- - /cli-documentation/cli-commands/explain
- - /cli-documentation/cli-commands/npm-explain
- - /cli-documentation/commands/explain
- - /cli-documentation/commands/npm-explain
- - /cli-documentation/explain
- - /cli-documentation/npm-explain
- /cli-documentation/v10/cli-commands/explain
- /cli-documentation/v10/cli-commands/npm-explain
- /cli-documentation/v10/commands/explain
- /cli-documentation/v10/commands/npm-explain
- /cli-documentation/v10/explain
- /cli-documentation/v10/npm-explain
- - /cli/cli-commands/explain
- - /cli/cli-commands/npm-explain
- - /cli/commands/explain
- - /cli/commands/npm-explain
- - /cli/explain
- - /cli/npm-explain
- /cli/v10/cli-commands/explain
- /cli/v10/cli-commands/npm-explain
- /cli/v10/commands/explain
- /cli/v10/explain
- /cli/v10/npm-explain
- - /commands/explain
- - /commands/npm-explain
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-explore.mdx b/content/cli/v10/commands/npm-explore.mdx
index d8e7bded699..ce90cd7db63 100644
--- a/content/cli/v10/commands/npm-explore.mdx
+++ b/content/cli/v10/commands/npm-explore.mdx
@@ -3,36 +3,20 @@ title: npm-explore
section: 1
description: Browse an installed package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-explore.md
redirect_from:
- - /cli-commands/explore
- - /cli-commands/npm-explore
- - /cli-documentation/cli-commands/explore
- - /cli-documentation/cli-commands/npm-explore
- - /cli-documentation/commands/explore
- - /cli-documentation/commands/npm-explore
- - /cli-documentation/explore
- - /cli-documentation/npm-explore
- /cli-documentation/v10/cli-commands/explore
- /cli-documentation/v10/cli-commands/npm-explore
- /cli-documentation/v10/commands/explore
- /cli-documentation/v10/commands/npm-explore
- /cli-documentation/v10/explore
- /cli-documentation/v10/npm-explore
- - /cli/cli-commands/explore
- - /cli/cli-commands/npm-explore
- - /cli/commands/explore
- - /cli/commands/npm-explore
- - /cli/explore
- - /cli/npm-explore
- /cli/v10/cli-commands/explore
- /cli/v10/cli-commands/npm-explore
- /cli/v10/commands/explore
- /cli/v10/explore
- /cli/v10/npm-explore
- - /commands/explore
- - /commands/npm-explore
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-find-dupes.mdx b/content/cli/v10/commands/npm-find-dupes.mdx
index f6b8b763e08..c3f6f778521 100644
--- a/content/cli/v10/commands/npm-find-dupes.mdx
+++ b/content/cli/v10/commands/npm-find-dupes.mdx
@@ -3,36 +3,20 @@ title: npm-find-dupes
section: 1
description: Find duplication in the package tree
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-find-dupes.md
redirect_from:
- - /cli-commands/find-dupes
- - /cli-commands/npm-find-dupes
- - /cli-documentation/cli-commands/find-dupes
- - /cli-documentation/cli-commands/npm-find-dupes
- - /cli-documentation/commands/find-dupes
- - /cli-documentation/commands/npm-find-dupes
- - /cli-documentation/find-dupes
- - /cli-documentation/npm-find-dupes
- /cli-documentation/v10/cli-commands/find-dupes
- /cli-documentation/v10/cli-commands/npm-find-dupes
- /cli-documentation/v10/commands/find-dupes
- /cli-documentation/v10/commands/npm-find-dupes
- /cli-documentation/v10/find-dupes
- /cli-documentation/v10/npm-find-dupes
- - /cli/cli-commands/find-dupes
- - /cli/cli-commands/npm-find-dupes
- - /cli/commands/find-dupes
- - /cli/commands/npm-find-dupes
- - /cli/find-dupes
- - /cli/npm-find-dupes
- /cli/v10/cli-commands/find-dupes
- /cli/v10/cli-commands/npm-find-dupes
- /cli/v10/commands/find-dupes
- /cli/v10/find-dupes
- /cli/v10/npm-find-dupes
- - /commands/find-dupes
- - /commands/npm-find-dupes
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-fund.mdx b/content/cli/v10/commands/npm-fund.mdx
index 97a9b9c64e9..7b5fcc735bb 100644
--- a/content/cli/v10/commands/npm-fund.mdx
+++ b/content/cli/v10/commands/npm-fund.mdx
@@ -3,36 +3,20 @@ title: npm-fund
section: 1
description: Retrieve funding information
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-fund.md
redirect_from:
- - /cli-commands/fund
- - /cli-commands/npm-fund
- - /cli-documentation/cli-commands/fund
- - /cli-documentation/cli-commands/npm-fund
- - /cli-documentation/commands/fund
- - /cli-documentation/commands/npm-fund
- - /cli-documentation/fund
- - /cli-documentation/npm-fund
- /cli-documentation/v10/cli-commands/fund
- /cli-documentation/v10/cli-commands/npm-fund
- /cli-documentation/v10/commands/fund
- /cli-documentation/v10/commands/npm-fund
- /cli-documentation/v10/fund
- /cli-documentation/v10/npm-fund
- - /cli/cli-commands/fund
- - /cli/cli-commands/npm-fund
- - /cli/commands/fund
- - /cli/commands/npm-fund
- - /cli/fund
- - /cli/npm-fund
- /cli/v10/cli-commands/fund
- /cli/v10/cli-commands/npm-fund
- /cli/v10/commands/fund
- /cli/v10/fund
- /cli/v10/npm-fund
- - /commands/fund
- - /commands/npm-fund
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-help-search.mdx b/content/cli/v10/commands/npm-help-search.mdx
index c5eef7e409f..fb2a38e27cb 100644
--- a/content/cli/v10/commands/npm-help-search.mdx
+++ b/content/cli/v10/commands/npm-help-search.mdx
@@ -3,36 +3,20 @@ title: npm-help-search
section: 1
description: Search npm help documentation
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-help-search.md
redirect_from:
- - /cli-commands/help-search
- - /cli-commands/npm-help-search
- - /cli-documentation/cli-commands/help-search
- - /cli-documentation/cli-commands/npm-help-search
- - /cli-documentation/commands/help-search
- - /cli-documentation/commands/npm-help-search
- - /cli-documentation/help-search
- - /cli-documentation/npm-help-search
- /cli-documentation/v10/cli-commands/help-search
- /cli-documentation/v10/cli-commands/npm-help-search
- /cli-documentation/v10/commands/help-search
- /cli-documentation/v10/commands/npm-help-search
- /cli-documentation/v10/help-search
- /cli-documentation/v10/npm-help-search
- - /cli/cli-commands/help-search
- - /cli/cli-commands/npm-help-search
- - /cli/commands/help-search
- - /cli/commands/npm-help-search
- - /cli/help-search
- - /cli/npm-help-search
- /cli/v10/cli-commands/help-search
- /cli/v10/cli-commands/npm-help-search
- /cli/v10/commands/help-search
- /cli/v10/help-search
- /cli/v10/npm-help-search
- - /commands/help-search
- - /commands/npm-help-search
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-help.mdx b/content/cli/v10/commands/npm-help.mdx
index 960cab502c3..633c847c5a9 100644
--- a/content/cli/v10/commands/npm-help.mdx
+++ b/content/cli/v10/commands/npm-help.mdx
@@ -3,36 +3,20 @@ title: npm-help
section: 1
description: Get help on npm
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-help.md
redirect_from:
- - /cli-commands/help
- - /cli-commands/npm-help
- - /cli-documentation/cli-commands/help
- - /cli-documentation/cli-commands/npm-help
- - /cli-documentation/commands/help
- - /cli-documentation/commands/npm-help
- - /cli-documentation/help
- - /cli-documentation/npm-help
- /cli-documentation/v10/cli-commands/help
- /cli-documentation/v10/cli-commands/npm-help
- /cli-documentation/v10/commands/help
- /cli-documentation/v10/commands/npm-help
- /cli-documentation/v10/help
- /cli-documentation/v10/npm-help
- - /cli/cli-commands/help
- - /cli/cli-commands/npm-help
- - /cli/commands/help
- - /cli/commands/npm-help
- - /cli/help
- - /cli/npm-help
- /cli/v10/cli-commands/help
- /cli/v10/cli-commands/npm-help
- /cli/v10/commands/help
- /cli/v10/help
- /cli/v10/npm-help
- - /commands/help
- - /commands/npm-help
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-hook.mdx b/content/cli/v10/commands/npm-hook.mdx
index d22538604da..8453020720f 100644
--- a/content/cli/v10/commands/npm-hook.mdx
+++ b/content/cli/v10/commands/npm-hook.mdx
@@ -3,36 +3,20 @@ title: npm-hook
section: 1
description: Manage registry hooks
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-hook.md
redirect_from:
- - /cli-commands/hook
- - /cli-commands/npm-hook
- - /cli-documentation/cli-commands/hook
- - /cli-documentation/cli-commands/npm-hook
- - /cli-documentation/commands/hook
- - /cli-documentation/commands/npm-hook
- - /cli-documentation/hook
- - /cli-documentation/npm-hook
- /cli-documentation/v10/cli-commands/hook
- /cli-documentation/v10/cli-commands/npm-hook
- /cli-documentation/v10/commands/hook
- /cli-documentation/v10/commands/npm-hook
- /cli-documentation/v10/hook
- /cli-documentation/v10/npm-hook
- - /cli/cli-commands/hook
- - /cli/cli-commands/npm-hook
- - /cli/commands/hook
- - /cli/commands/npm-hook
- - /cli/hook
- - /cli/npm-hook
- /cli/v10/cli-commands/hook
- /cli/v10/cli-commands/npm-hook
- /cli/v10/commands/hook
- /cli/v10/hook
- /cli/v10/npm-hook
- - /commands/hook
- - /commands/npm-hook
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-init.mdx b/content/cli/v10/commands/npm-init.mdx
index fc3848adbad..be25828b86e 100644
--- a/content/cli/v10/commands/npm-init.mdx
+++ b/content/cli/v10/commands/npm-init.mdx
@@ -3,42 +3,26 @@ title: npm-init
section: 1
description: Create a package.json file
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-init.md
redirect_from:
- - /cli-commands/init
- - /cli-commands/npm-init
- - /cli-documentation/cli-commands/init
- - /cli-documentation/cli-commands/npm-init
- - /cli-documentation/commands/init
- - /cli-documentation/commands/npm-init
- - /cli-documentation/init
- - /cli-documentation/npm-init
- /cli-documentation/v10/cli-commands/init
- /cli-documentation/v10/cli-commands/npm-init
- /cli-documentation/v10/commands/init
- /cli-documentation/v10/commands/npm-init
- /cli-documentation/v10/init
- /cli-documentation/v10/npm-init
- - /cli/cli-commands/init
- - /cli/cli-commands/npm-init
- - /cli/commands/init
- - /cli/commands/npm-init
- - /cli/init
- - /cli/npm-init
- /cli/v10/cli-commands/init
- /cli/v10/cli-commands/npm-init
- /cli/v10/commands/init
- /cli/v10/init
- /cli/v10/npm-init
- - /commands/init
- - /commands/npm-init
---
### Synopsis
```bash
-npm init (same as `npx `)
+npm init (same as `npx create-`)
npm init <@scope> (same as `npx <@scope>/create`)
aliases: create, innit
diff --git a/content/cli/v10/commands/npm-install-ci-test.mdx b/content/cli/v10/commands/npm-install-ci-test.mdx
index 475823e8741..9b93c58f953 100644
--- a/content/cli/v10/commands/npm-install-ci-test.mdx
+++ b/content/cli/v10/commands/npm-install-ci-test.mdx
@@ -3,36 +3,20 @@ title: npm-install-ci-test
section: 1
description: Install a project with a clean slate and run tests
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-install-ci-test.md
redirect_from:
- - /cli-commands/install-ci-test
- - /cli-commands/npm-install-ci-test
- - /cli-documentation/cli-commands/install-ci-test
- - /cli-documentation/cli-commands/npm-install-ci-test
- - /cli-documentation/commands/install-ci-test
- - /cli-documentation/commands/npm-install-ci-test
- - /cli-documentation/install-ci-test
- - /cli-documentation/npm-install-ci-test
- /cli-documentation/v10/cli-commands/install-ci-test
- /cli-documentation/v10/cli-commands/npm-install-ci-test
- /cli-documentation/v10/commands/install-ci-test
- /cli-documentation/v10/commands/npm-install-ci-test
- /cli-documentation/v10/install-ci-test
- /cli-documentation/v10/npm-install-ci-test
- - /cli/cli-commands/install-ci-test
- - /cli/cli-commands/npm-install-ci-test
- - /cli/commands/install-ci-test
- - /cli/commands/npm-install-ci-test
- - /cli/install-ci-test
- - /cli/npm-install-ci-test
- /cli/v10/cli-commands/install-ci-test
- /cli/v10/cli-commands/npm-install-ci-test
- /cli/v10/commands/install-ci-test
- /cli/v10/install-ci-test
- /cli/v10/npm-install-ci-test
- - /commands/install-ci-test
- - /commands/npm-install-ci-test
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-install-test.mdx b/content/cli/v10/commands/npm-install-test.mdx
index e0b10311bd9..93e665f7f67 100644
--- a/content/cli/v10/commands/npm-install-test.mdx
+++ b/content/cli/v10/commands/npm-install-test.mdx
@@ -3,36 +3,20 @@ title: npm-install-test
section: 1
description: Install package(s) and run tests
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-install-test.md
redirect_from:
- - /cli-commands/install-test
- - /cli-commands/npm-install-test
- - /cli-documentation/cli-commands/install-test
- - /cli-documentation/cli-commands/npm-install-test
- - /cli-documentation/commands/install-test
- - /cli-documentation/commands/npm-install-test
- - /cli-documentation/install-test
- - /cli-documentation/npm-install-test
- /cli-documentation/v10/cli-commands/install-test
- /cli-documentation/v10/cli-commands/npm-install-test
- /cli-documentation/v10/commands/install-test
- /cli-documentation/v10/commands/npm-install-test
- /cli-documentation/v10/install-test
- /cli-documentation/v10/npm-install-test
- - /cli/cli-commands/install-test
- - /cli/cli-commands/npm-install-test
- - /cli/commands/install-test
- - /cli/commands/npm-install-test
- - /cli/install-test
- - /cli/npm-install-test
- /cli/v10/cli-commands/install-test
- /cli/v10/cli-commands/npm-install-test
- /cli/v10/commands/install-test
- /cli/v10/install-test
- /cli/v10/npm-install-test
- - /commands/install-test
- - /commands/npm-install-test
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-install.mdx b/content/cli/v10/commands/npm-install.mdx
index c6b185863da..42d9ebf293a 100644
--- a/content/cli/v10/commands/npm-install.mdx
+++ b/content/cli/v10/commands/npm-install.mdx
@@ -3,36 +3,20 @@ title: npm-install
section: 1
description: Install a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-install.md
redirect_from:
- - /cli-commands/install
- - /cli-commands/npm-install
- - /cli-documentation/cli-commands/install
- - /cli-documentation/cli-commands/npm-install
- - /cli-documentation/commands/install
- - /cli-documentation/commands/npm-install
- - /cli-documentation/install
- - /cli-documentation/npm-install
- /cli-documentation/v10/cli-commands/install
- /cli-documentation/v10/cli-commands/npm-install
- /cli-documentation/v10/commands/install
- /cli-documentation/v10/commands/npm-install
- /cli-documentation/v10/install
- /cli-documentation/v10/npm-install
- - /cli/cli-commands/install
- - /cli/cli-commands/npm-install
- - /cli/commands/install
- - /cli/commands/npm-install
- - /cli/install
- - /cli/npm-install
- /cli/v10/cli-commands/install
- /cli/v10/cli-commands/npm-install
- /cli/v10/commands/install
- /cli/v10/install
- /cli/v10/npm-install
- - /commands/install
- - /commands/npm-install
---
### Synopsis
@@ -134,6 +118,8 @@ Even if you never publish your package, you can still get a lot of benefits of u
- `-D, --save-dev`: Package will appear in your `devDependencies`.
+ - `--save-peer`: Package will appear in your `peerDependencies`.
+
- `-O, --save-optional`: Package will appear in your `optionalDependencies`.
- `--no-save`: Prevents saving to `dependencies`.
@@ -162,8 +148,6 @@ Even if you never publish your package, you can still get a lot of benefits of u
npm install ansi-regex --save-bundle
```
- **Note**: If there is a file or folder named `` in the current working directory, then it will try to install that, and only try to fetch the package by name if it is not valid.
-
- `npm install @npm:`:
Install a package under a custom alias. Allows multiple versions of a same-name package side-by-side, more convenient import names for packages with otherwise long ones, and using git forks replacements or forked npm packages as replacements. Aliasing works only on your project and does not rename packages in transitive dependencies. Aliases should follow the naming conventions stated in [`validate-npm-package-name`](https://www.npmjs.com/package/validate-npm-package-name#naming-rules).
diff --git a/content/cli/v10/commands/npm-link.mdx b/content/cli/v10/commands/npm-link.mdx
index 765e687ae54..d569c81efc4 100644
--- a/content/cli/v10/commands/npm-link.mdx
+++ b/content/cli/v10/commands/npm-link.mdx
@@ -3,36 +3,20 @@ title: npm-link
section: 1
description: Symlink a package folder
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-link.md
redirect_from:
- - /cli-commands/link
- - /cli-commands/npm-link
- - /cli-documentation/cli-commands/link
- - /cli-documentation/cli-commands/npm-link
- - /cli-documentation/commands/link
- - /cli-documentation/commands/npm-link
- - /cli-documentation/link
- - /cli-documentation/npm-link
- /cli-documentation/v10/cli-commands/link
- /cli-documentation/v10/cli-commands/npm-link
- /cli-documentation/v10/commands/link
- /cli-documentation/v10/commands/npm-link
- /cli-documentation/v10/link
- /cli-documentation/v10/npm-link
- - /cli/cli-commands/link
- - /cli/cli-commands/npm-link
- - /cli/commands/link
- - /cli/commands/npm-link
- - /cli/link
- - /cli/npm-link
- /cli/v10/cli-commands/link
- /cli/v10/cli-commands/npm-link
- /cli/v10/commands/link
- /cli/v10/link
- /cli/v10/npm-link
- - /commands/link
- - /commands/npm-link
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-login.mdx b/content/cli/v10/commands/npm-login.mdx
index da906a60de8..71aea3fe0ff 100644
--- a/content/cli/v10/commands/npm-login.mdx
+++ b/content/cli/v10/commands/npm-login.mdx
@@ -3,36 +3,20 @@ title: npm-login
section: 1
description: Login to a registry user account
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-login.md
redirect_from:
- - /cli-commands/login
- - /cli-commands/npm-login
- - /cli-documentation/cli-commands/login
- - /cli-documentation/cli-commands/npm-login
- - /cli-documentation/commands/login
- - /cli-documentation/commands/npm-login
- - /cli-documentation/login
- - /cli-documentation/npm-login
- /cli-documentation/v10/cli-commands/login
- /cli-documentation/v10/cli-commands/npm-login
- /cli-documentation/v10/commands/login
- /cli-documentation/v10/commands/npm-login
- /cli-documentation/v10/login
- /cli-documentation/v10/npm-login
- - /cli/cli-commands/login
- - /cli/cli-commands/npm-login
- - /cli/commands/login
- - /cli/commands/npm-login
- - /cli/login
- - /cli/npm-login
- /cli/v10/cli-commands/login
- /cli/v10/cli-commands/npm-login
- /cli/v10/commands/login
- /cli/v10/login
- /cli/v10/npm-login
- - /commands/login
- - /commands/npm-login
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-logout.mdx b/content/cli/v10/commands/npm-logout.mdx
index e575b80b37e..4ce7aafb7f7 100644
--- a/content/cli/v10/commands/npm-logout.mdx
+++ b/content/cli/v10/commands/npm-logout.mdx
@@ -3,36 +3,20 @@ title: npm-logout
section: 1
description: Log out of the registry
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-logout.md
redirect_from:
- - /cli-commands/logout
- - /cli-commands/npm-logout
- - /cli-documentation/cli-commands/logout
- - /cli-documentation/cli-commands/npm-logout
- - /cli-documentation/commands/logout
- - /cli-documentation/commands/npm-logout
- - /cli-documentation/logout
- - /cli-documentation/npm-logout
- /cli-documentation/v10/cli-commands/logout
- /cli-documentation/v10/cli-commands/npm-logout
- /cli-documentation/v10/commands/logout
- /cli-documentation/v10/commands/npm-logout
- /cli-documentation/v10/logout
- /cli-documentation/v10/npm-logout
- - /cli/cli-commands/logout
- - /cli/cli-commands/npm-logout
- - /cli/commands/logout
- - /cli/commands/npm-logout
- - /cli/logout
- - /cli/npm-logout
- /cli/v10/cli-commands/logout
- /cli/v10/cli-commands/npm-logout
- /cli/v10/commands/logout
- /cli/v10/logout
- /cli/v10/npm-logout
- - /commands/logout
- - /commands/npm-logout
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-ls.mdx b/content/cli/v10/commands/npm-ls.mdx
index 6bfc88dde36..8531aa6b468 100644
--- a/content/cli/v10/commands/npm-ls.mdx
+++ b/content/cli/v10/commands/npm-ls.mdx
@@ -3,36 +3,20 @@ title: npm-ls
section: 1
description: List installed packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-ls.md
redirect_from:
- - /cli-commands/ls
- - /cli-commands/npm-ls
- - /cli-documentation/cli-commands/ls
- - /cli-documentation/cli-commands/npm-ls
- - /cli-documentation/commands/ls
- - /cli-documentation/commands/npm-ls
- - /cli-documentation/ls
- - /cli-documentation/npm-ls
- /cli-documentation/v10/cli-commands/ls
- /cli-documentation/v10/cli-commands/npm-ls
- /cli-documentation/v10/commands/ls
- /cli-documentation/v10/commands/npm-ls
- /cli-documentation/v10/ls
- /cli-documentation/v10/npm-ls
- - /cli/cli-commands/ls
- - /cli/cli-commands/npm-ls
- - /cli/commands/ls
- - /cli/commands/npm-ls
- - /cli/ls
- - /cli/npm-ls
- /cli/v10/cli-commands/ls
- /cli/v10/cli-commands/npm-ls
- /cli/v10/commands/ls
- /cli/v10/ls
- /cli/v10/npm-ls
- - /commands/ls
- - /commands/npm-ls
---
### Synopsis
@@ -52,7 +36,7 @@ Note: to get a "bottoms up" view of why a given package is included in the tree
Positional arguments are `name@version-range` identifiers, which will limit the results to only the paths to the packages named. Note that nested packages will _also_ show the paths to the specified packages. For example, running `npm ls promzard` in npm's source tree will show:
```bash
-npm@10.6.0 /path/to/npm
+npm@10.9.2 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
```
diff --git a/content/cli/v10/commands/npm-org.mdx b/content/cli/v10/commands/npm-org.mdx
index f922bfc8e2d..689917796ba 100644
--- a/content/cli/v10/commands/npm-org.mdx
+++ b/content/cli/v10/commands/npm-org.mdx
@@ -3,36 +3,20 @@ title: npm-org
section: 1
description: Manage orgs
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-org.md
redirect_from:
- - /cli-commands/npm-org
- - /cli-commands/org
- - /cli-documentation/cli-commands/npm-org
- - /cli-documentation/cli-commands/org
- - /cli-documentation/commands/npm-org
- - /cli-documentation/commands/org
- - /cli-documentation/npm-org
- - /cli-documentation/org
- /cli-documentation/v10/cli-commands/npm-org
- /cli-documentation/v10/cli-commands/org
- /cli-documentation/v10/commands/npm-org
- /cli-documentation/v10/commands/org
- /cli-documentation/v10/npm-org
- /cli-documentation/v10/org
- - /cli/cli-commands/npm-org
- - /cli/cli-commands/org
- - /cli/commands/npm-org
- - /cli/commands/org
- - /cli/npm-org
- - /cli/org
- /cli/v10/cli-commands/npm-org
- /cli/v10/cli-commands/org
- /cli/v10/commands/org
- /cli/v10/npm-org
- /cli/v10/org
- - /commands/npm-org
- - /commands/org
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-outdated.mdx b/content/cli/v10/commands/npm-outdated.mdx
index ef7c6215c39..7a246844187 100644
--- a/content/cli/v10/commands/npm-outdated.mdx
+++ b/content/cli/v10/commands/npm-outdated.mdx
@@ -3,36 +3,20 @@ title: npm-outdated
section: 1
description: Check for outdated packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-outdated.md
redirect_from:
- - /cli-commands/npm-outdated
- - /cli-commands/outdated
- - /cli-documentation/cli-commands/npm-outdated
- - /cli-documentation/cli-commands/outdated
- - /cli-documentation/commands/npm-outdated
- - /cli-documentation/commands/outdated
- - /cli-documentation/npm-outdated
- - /cli-documentation/outdated
- /cli-documentation/v10/cli-commands/npm-outdated
- /cli-documentation/v10/cli-commands/outdated
- /cli-documentation/v10/commands/npm-outdated
- /cli-documentation/v10/commands/outdated
- /cli-documentation/v10/npm-outdated
- /cli-documentation/v10/outdated
- - /cli/cli-commands/npm-outdated
- - /cli/cli-commands/outdated
- - /cli/commands/npm-outdated
- - /cli/commands/outdated
- - /cli/npm-outdated
- - /cli/outdated
- /cli/v10/cli-commands/npm-outdated
- /cli/v10/cli-commands/outdated
- /cli/v10/commands/outdated
- /cli/v10/npm-outdated
- /cli/v10/outdated
- - /commands/npm-outdated
- - /commands/outdated
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-owner.mdx b/content/cli/v10/commands/npm-owner.mdx
index ca6cb5a72f5..e8e6adb12c6 100644
--- a/content/cli/v10/commands/npm-owner.mdx
+++ b/content/cli/v10/commands/npm-owner.mdx
@@ -3,36 +3,20 @@ title: npm-owner
section: 1
description: Manage package owners
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-owner.md
redirect_from:
- - /cli-commands/npm-owner
- - /cli-commands/owner
- - /cli-documentation/cli-commands/npm-owner
- - /cli-documentation/cli-commands/owner
- - /cli-documentation/commands/npm-owner
- - /cli-documentation/commands/owner
- - /cli-documentation/npm-owner
- - /cli-documentation/owner
- /cli-documentation/v10/cli-commands/npm-owner
- /cli-documentation/v10/cli-commands/owner
- /cli-documentation/v10/commands/npm-owner
- /cli-documentation/v10/commands/owner
- /cli-documentation/v10/npm-owner
- /cli-documentation/v10/owner
- - /cli/cli-commands/npm-owner
- - /cli/cli-commands/owner
- - /cli/commands/npm-owner
- - /cli/commands/owner
- - /cli/npm-owner
- - /cli/owner
- /cli/v10/cli-commands/npm-owner
- /cli/v10/cli-commands/owner
- /cli/v10/commands/owner
- /cli/v10/npm-owner
- /cli/v10/owner
- - /commands/npm-owner
- - /commands/owner
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-pack.mdx b/content/cli/v10/commands/npm-pack.mdx
index 52221d00c78..7c7f4d073c1 100644
--- a/content/cli/v10/commands/npm-pack.mdx
+++ b/content/cli/v10/commands/npm-pack.mdx
@@ -3,36 +3,20 @@ title: npm-pack
section: 1
description: Create a tarball from a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-pack.md
redirect_from:
- - /cli-commands/npm-pack
- - /cli-commands/pack
- - /cli-documentation/cli-commands/npm-pack
- - /cli-documentation/cli-commands/pack
- - /cli-documentation/commands/npm-pack
- - /cli-documentation/commands/pack
- - /cli-documentation/npm-pack
- - /cli-documentation/pack
- /cli-documentation/v10/cli-commands/npm-pack
- /cli-documentation/v10/cli-commands/pack
- /cli-documentation/v10/commands/npm-pack
- /cli-documentation/v10/commands/pack
- /cli-documentation/v10/npm-pack
- /cli-documentation/v10/pack
- - /cli/cli-commands/npm-pack
- - /cli/cli-commands/pack
- - /cli/commands/npm-pack
- - /cli/commands/pack
- - /cli/npm-pack
- - /cli/pack
- /cli/v10/cli-commands/npm-pack
- /cli/v10/cli-commands/pack
- /cli/v10/commands/pack
- /cli/v10/npm-pack
- /cli/v10/pack
- - /commands/npm-pack
- - /commands/pack
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-ping.mdx b/content/cli/v10/commands/npm-ping.mdx
index 45fad46b4c3..95d4216dc42 100644
--- a/content/cli/v10/commands/npm-ping.mdx
+++ b/content/cli/v10/commands/npm-ping.mdx
@@ -3,36 +3,20 @@ title: npm-ping
section: 1
description: Ping npm registry
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-ping.md
redirect_from:
- - /cli-commands/npm-ping
- - /cli-commands/ping
- - /cli-documentation/cli-commands/npm-ping
- - /cli-documentation/cli-commands/ping
- - /cli-documentation/commands/npm-ping
- - /cli-documentation/commands/ping
- - /cli-documentation/npm-ping
- - /cli-documentation/ping
- /cli-documentation/v10/cli-commands/npm-ping
- /cli-documentation/v10/cli-commands/ping
- /cli-documentation/v10/commands/npm-ping
- /cli-documentation/v10/commands/ping
- /cli-documentation/v10/npm-ping
- /cli-documentation/v10/ping
- - /cli/cli-commands/npm-ping
- - /cli/cli-commands/ping
- - /cli/commands/npm-ping
- - /cli/commands/ping
- - /cli/npm-ping
- - /cli/ping
- /cli/v10/cli-commands/npm-ping
- /cli/v10/cli-commands/ping
- /cli/v10/commands/ping
- /cli/v10/npm-ping
- /cli/v10/ping
- - /commands/npm-ping
- - /commands/ping
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-pkg.mdx b/content/cli/v10/commands/npm-pkg.mdx
index 7787f46c04a..b9778464b23 100644
--- a/content/cli/v10/commands/npm-pkg.mdx
+++ b/content/cli/v10/commands/npm-pkg.mdx
@@ -3,36 +3,20 @@ title: npm-pkg
section: 1
description: Manages your package.json
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-pkg.md
redirect_from:
- - /cli-commands/npm-pkg
- - /cli-commands/pkg
- - /cli-documentation/cli-commands/npm-pkg
- - /cli-documentation/cli-commands/pkg
- - /cli-documentation/commands/npm-pkg
- - /cli-documentation/commands/pkg
- - /cli-documentation/npm-pkg
- - /cli-documentation/pkg
- /cli-documentation/v10/cli-commands/npm-pkg
- /cli-documentation/v10/cli-commands/pkg
- /cli-documentation/v10/commands/npm-pkg
- /cli-documentation/v10/commands/pkg
- /cli-documentation/v10/npm-pkg
- /cli-documentation/v10/pkg
- - /cli/cli-commands/npm-pkg
- - /cli/cli-commands/pkg
- - /cli/commands/npm-pkg
- - /cli/commands/pkg
- - /cli/npm-pkg
- - /cli/pkg
- /cli/v10/cli-commands/npm-pkg
- /cli/v10/cli-commands/pkg
- /cli/v10/commands/pkg
- /cli/v10/npm-pkg
- /cli/v10/pkg
- - /commands/npm-pkg
- - /commands/pkg
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-prefix.mdx b/content/cli/v10/commands/npm-prefix.mdx
index c47f14769e7..ab729a6ab68 100644
--- a/content/cli/v10/commands/npm-prefix.mdx
+++ b/content/cli/v10/commands/npm-prefix.mdx
@@ -3,36 +3,20 @@ title: npm-prefix
section: 1
description: Display prefix
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-prefix.md
redirect_from:
- - /cli-commands/npm-prefix
- - /cli-commands/prefix
- - /cli-documentation/cli-commands/npm-prefix
- - /cli-documentation/cli-commands/prefix
- - /cli-documentation/commands/npm-prefix
- - /cli-documentation/commands/prefix
- - /cli-documentation/npm-prefix
- - /cli-documentation/prefix
- /cli-documentation/v10/cli-commands/npm-prefix
- /cli-documentation/v10/cli-commands/prefix
- /cli-documentation/v10/commands/npm-prefix
- /cli-documentation/v10/commands/prefix
- /cli-documentation/v10/npm-prefix
- /cli-documentation/v10/prefix
- - /cli/cli-commands/npm-prefix
- - /cli/cli-commands/prefix
- - /cli/commands/npm-prefix
- - /cli/commands/prefix
- - /cli/npm-prefix
- - /cli/prefix
- /cli/v10/cli-commands/npm-prefix
- /cli/v10/cli-commands/prefix
- /cli/v10/commands/prefix
- /cli/v10/npm-prefix
- /cli/v10/prefix
- - /commands/npm-prefix
- - /commands/prefix
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-profile.mdx b/content/cli/v10/commands/npm-profile.mdx
index 27271a927aa..4a528903fcc 100644
--- a/content/cli/v10/commands/npm-profile.mdx
+++ b/content/cli/v10/commands/npm-profile.mdx
@@ -3,36 +3,20 @@ title: npm-profile
section: 1
description: Change settings on your registry profile
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-profile.md
redirect_from:
- - /cli-commands/npm-profile
- - /cli-commands/profile
- - /cli-documentation/cli-commands/npm-profile
- - /cli-documentation/cli-commands/profile
- - /cli-documentation/commands/npm-profile
- - /cli-documentation/commands/profile
- - /cli-documentation/npm-profile
- - /cli-documentation/profile
- /cli-documentation/v10/cli-commands/npm-profile
- /cli-documentation/v10/cli-commands/profile
- /cli-documentation/v10/commands/npm-profile
- /cli-documentation/v10/commands/profile
- /cli-documentation/v10/npm-profile
- /cli-documentation/v10/profile
- - /cli/cli-commands/npm-profile
- - /cli/cli-commands/profile
- - /cli/commands/npm-profile
- - /cli/commands/profile
- - /cli/npm-profile
- - /cli/profile
- /cli/v10/cli-commands/npm-profile
- /cli/v10/cli-commands/profile
- /cli/v10/commands/profile
- /cli/v10/npm-profile
- /cli/v10/profile
- - /commands/npm-profile
- - /commands/profile
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-prune.mdx b/content/cli/v10/commands/npm-prune.mdx
index 9c0a87e7bc3..301e9021309 100644
--- a/content/cli/v10/commands/npm-prune.mdx
+++ b/content/cli/v10/commands/npm-prune.mdx
@@ -3,36 +3,20 @@ title: npm-prune
section: 1
description: Remove extraneous packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-prune.md
redirect_from:
- - /cli-commands/npm-prune
- - /cli-commands/prune
- - /cli-documentation/cli-commands/npm-prune
- - /cli-documentation/cli-commands/prune
- - /cli-documentation/commands/npm-prune
- - /cli-documentation/commands/prune
- - /cli-documentation/npm-prune
- - /cli-documentation/prune
- /cli-documentation/v10/cli-commands/npm-prune
- /cli-documentation/v10/cli-commands/prune
- /cli-documentation/v10/commands/npm-prune
- /cli-documentation/v10/commands/prune
- /cli-documentation/v10/npm-prune
- /cli-documentation/v10/prune
- - /cli/cli-commands/npm-prune
- - /cli/cli-commands/prune
- - /cli/commands/npm-prune
- - /cli/commands/prune
- - /cli/npm-prune
- - /cli/prune
- /cli/v10/cli-commands/npm-prune
- /cli/v10/cli-commands/prune
- /cli/v10/commands/prune
- /cli/v10/npm-prune
- /cli/v10/prune
- - /commands/npm-prune
- - /commands/prune
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-publish.mdx b/content/cli/v10/commands/npm-publish.mdx
index de4eea6ccef..2b8a6d97205 100644
--- a/content/cli/v10/commands/npm-publish.mdx
+++ b/content/cli/v10/commands/npm-publish.mdx
@@ -3,36 +3,20 @@ title: npm-publish
section: 1
description: Publish a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-publish.md
redirect_from:
- - /cli-commands/npm-publish
- - /cli-commands/publish
- - /cli-documentation/cli-commands/npm-publish
- - /cli-documentation/cli-commands/publish
- - /cli-documentation/commands/npm-publish
- - /cli-documentation/commands/publish
- - /cli-documentation/npm-publish
- - /cli-documentation/publish
- /cli-documentation/v10/cli-commands/npm-publish
- /cli-documentation/v10/cli-commands/publish
- /cli-documentation/v10/commands/npm-publish
- /cli-documentation/v10/commands/publish
- /cli-documentation/v10/npm-publish
- /cli-documentation/v10/publish
- - /cli/cli-commands/npm-publish
- - /cli/cli-commands/publish
- - /cli/commands/npm-publish
- - /cli/commands/publish
- - /cli/npm-publish
- - /cli/publish
- /cli/v10/cli-commands/npm-publish
- /cli/v10/cli-commands/publish
- /cli/v10/commands/publish
- /cli/v10/npm-publish
- /cli/v10/publish
- - /commands/npm-publish
- - /commands/publish
---
### Synopsis
@@ -92,10 +76,12 @@ See [`developers`](/cli/v10/using-npm/developers) for full details on what's inc
If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.
-Also the tag that is added to the package@version specified by the `npm tag` command, if no explicit tag is given.
+It is the tag added to the package@version specified in the `npm dist-tag add` command, if no explicit tag is given.
When used by the `npm diff` command, this is the tag used to fetch the tarball that will be compared with the local files by default.
+If used in the `npm publish` command, this is the tag that will be added to the package submitted to the registry.
+
#### `access`
- Default: 'public' for new packages, existing packages it will not change the current level
diff --git a/content/cli/v10/commands/npm-query.mdx b/content/cli/v10/commands/npm-query.mdx
index abc4812d5b3..7fa4c4b6881 100644
--- a/content/cli/v10/commands/npm-query.mdx
+++ b/content/cli/v10/commands/npm-query.mdx
@@ -3,36 +3,20 @@ title: npm-query
section: 1
description: Dependency selector query
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-query.md
redirect_from:
- - /cli-commands/npm-query
- - /cli-commands/query
- - /cli-documentation/cli-commands/npm-query
- - /cli-documentation/cli-commands/query
- - /cli-documentation/commands/npm-query
- - /cli-documentation/commands/query
- - /cli-documentation/npm-query
- - /cli-documentation/query
- /cli-documentation/v10/cli-commands/npm-query
- /cli-documentation/v10/cli-commands/query
- /cli-documentation/v10/commands/npm-query
- /cli-documentation/v10/commands/query
- /cli-documentation/v10/npm-query
- /cli-documentation/v10/query
- - /cli/cli-commands/npm-query
- - /cli/cli-commands/query
- - /cli/commands/npm-query
- - /cli/commands/query
- - /cli/npm-query
- - /cli/query
- /cli/v10/cli-commands/npm-query
- /cli/v10/cli-commands/query
- /cli/v10/commands/query
- /cli/v10/npm-query
- /cli/v10/query
- - /commands/npm-query
- - /commands/query
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-rebuild.mdx b/content/cli/v10/commands/npm-rebuild.mdx
index 1e8bf256d69..3fd276378c8 100644
--- a/content/cli/v10/commands/npm-rebuild.mdx
+++ b/content/cli/v10/commands/npm-rebuild.mdx
@@ -3,36 +3,20 @@ title: npm-rebuild
section: 1
description: Rebuild a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-rebuild.md
redirect_from:
- - /cli-commands/npm-rebuild
- - /cli-commands/rebuild
- - /cli-documentation/cli-commands/npm-rebuild
- - /cli-documentation/cli-commands/rebuild
- - /cli-documentation/commands/npm-rebuild
- - /cli-documentation/commands/rebuild
- - /cli-documentation/npm-rebuild
- - /cli-documentation/rebuild
- /cli-documentation/v10/cli-commands/npm-rebuild
- /cli-documentation/v10/cli-commands/rebuild
- /cli-documentation/v10/commands/npm-rebuild
- /cli-documentation/v10/commands/rebuild
- /cli-documentation/v10/npm-rebuild
- /cli-documentation/v10/rebuild
- - /cli/cli-commands/npm-rebuild
- - /cli/cli-commands/rebuild
- - /cli/commands/npm-rebuild
- - /cli/commands/rebuild
- - /cli/npm-rebuild
- - /cli/rebuild
- /cli/v10/cli-commands/npm-rebuild
- /cli/v10/cli-commands/rebuild
- /cli/v10/commands/rebuild
- /cli/v10/npm-rebuild
- /cli/v10/rebuild
- - /commands/npm-rebuild
- - /commands/rebuild
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-repo.mdx b/content/cli/v10/commands/npm-repo.mdx
index 5e42fafb9d5..c43b36fff49 100644
--- a/content/cli/v10/commands/npm-repo.mdx
+++ b/content/cli/v10/commands/npm-repo.mdx
@@ -3,36 +3,20 @@ title: npm-repo
section: 1
description: Open package repository page in the browser
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-repo.md
redirect_from:
- - /cli-commands/npm-repo
- - /cli-commands/repo
- - /cli-documentation/cli-commands/npm-repo
- - /cli-documentation/cli-commands/repo
- - /cli-documentation/commands/npm-repo
- - /cli-documentation/commands/repo
- - /cli-documentation/npm-repo
- - /cli-documentation/repo
- /cli-documentation/v10/cli-commands/npm-repo
- /cli-documentation/v10/cli-commands/repo
- /cli-documentation/v10/commands/npm-repo
- /cli-documentation/v10/commands/repo
- /cli-documentation/v10/npm-repo
- /cli-documentation/v10/repo
- - /cli/cli-commands/npm-repo
- - /cli/cli-commands/repo
- - /cli/commands/npm-repo
- - /cli/commands/repo
- - /cli/npm-repo
- - /cli/repo
- /cli/v10/cli-commands/npm-repo
- /cli/v10/cli-commands/repo
- /cli/v10/commands/repo
- /cli/v10/npm-repo
- /cli/v10/repo
- - /commands/npm-repo
- - /commands/repo
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-restart.mdx b/content/cli/v10/commands/npm-restart.mdx
index 30f9eac041b..09e39760f78 100644
--- a/content/cli/v10/commands/npm-restart.mdx
+++ b/content/cli/v10/commands/npm-restart.mdx
@@ -3,36 +3,20 @@ title: npm-restart
section: 1
description: Restart a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-restart.md
redirect_from:
- - /cli-commands/npm-restart
- - /cli-commands/restart
- - /cli-documentation/cli-commands/npm-restart
- - /cli-documentation/cli-commands/restart
- - /cli-documentation/commands/npm-restart
- - /cli-documentation/commands/restart
- - /cli-documentation/npm-restart
- - /cli-documentation/restart
- /cli-documentation/v10/cli-commands/npm-restart
- /cli-documentation/v10/cli-commands/restart
- /cli-documentation/v10/commands/npm-restart
- /cli-documentation/v10/commands/restart
- /cli-documentation/v10/npm-restart
- /cli-documentation/v10/restart
- - /cli/cli-commands/npm-restart
- - /cli/cli-commands/restart
- - /cli/commands/npm-restart
- - /cli/commands/restart
- - /cli/npm-restart
- - /cli/restart
- /cli/v10/cli-commands/npm-restart
- /cli/v10/cli-commands/restart
- /cli/v10/commands/restart
- /cli/v10/npm-restart
- /cli/v10/restart
- - /commands/npm-restart
- - /commands/restart
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-root.mdx b/content/cli/v10/commands/npm-root.mdx
index eca10e9dea2..0e28dee0b74 100644
--- a/content/cli/v10/commands/npm-root.mdx
+++ b/content/cli/v10/commands/npm-root.mdx
@@ -3,36 +3,20 @@ title: npm-root
section: 1
description: Display npm root
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-root.md
redirect_from:
- - /cli-commands/npm-root
- - /cli-commands/root
- - /cli-documentation/cli-commands/npm-root
- - /cli-documentation/cli-commands/root
- - /cli-documentation/commands/npm-root
- - /cli-documentation/commands/root
- - /cli-documentation/npm-root
- - /cli-documentation/root
- /cli-documentation/v10/cli-commands/npm-root
- /cli-documentation/v10/cli-commands/root
- /cli-documentation/v10/commands/npm-root
- /cli-documentation/v10/commands/root
- /cli-documentation/v10/npm-root
- /cli-documentation/v10/root
- - /cli/cli-commands/npm-root
- - /cli/cli-commands/root
- - /cli/commands/npm-root
- - /cli/commands/root
- - /cli/npm-root
- - /cli/root
- /cli/v10/cli-commands/npm-root
- /cli/v10/cli-commands/root
- /cli/v10/commands/root
- /cli/v10/npm-root
- /cli/v10/root
- - /commands/npm-root
- - /commands/root
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-run-script.mdx b/content/cli/v10/commands/npm-run-script.mdx
index 29458a83b4c..86f0844582f 100644
--- a/content/cli/v10/commands/npm-run-script.mdx
+++ b/content/cli/v10/commands/npm-run-script.mdx
@@ -3,36 +3,20 @@ title: npm-run-script
section: 1
description: Run arbitrary package scripts
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-run-script.md
redirect_from:
- - /cli-commands/npm-run-script
- - /cli-commands/run-script
- - /cli-documentation/cli-commands/npm-run-script
- - /cli-documentation/cli-commands/run-script
- - /cli-documentation/commands/npm-run-script
- - /cli-documentation/commands/run-script
- - /cli-documentation/npm-run-script
- - /cli-documentation/run-script
- /cli-documentation/v10/cli-commands/npm-run-script
- /cli-documentation/v10/cli-commands/run-script
- /cli-documentation/v10/commands/npm-run-script
- /cli-documentation/v10/commands/run-script
- /cli-documentation/v10/npm-run-script
- /cli-documentation/v10/run-script
- - /cli/cli-commands/npm-run-script
- - /cli/cli-commands/run-script
- - /cli/commands/npm-run-script
- - /cli/commands/run-script
- - /cli/npm-run-script
- - /cli/run-script
- /cli/v10/cli-commands/npm-run-script
- /cli/v10/cli-commands/run-script
- /cli/v10/commands/run-script
- /cli/v10/npm-run-script
- /cli/v10/run-script
- - /commands/npm-run-script
- - /commands/run-script
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-sbom.mdx b/content/cli/v10/commands/npm-sbom.mdx
index aa88c004617..b91a747c9f1 100644
--- a/content/cli/v10/commands/npm-sbom.mdx
+++ b/content/cli/v10/commands/npm-sbom.mdx
@@ -3,36 +3,20 @@ title: npm-sbom
section: 1
description: Generate a Software Bill of Materials (SBOM)
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-sbom.md
redirect_from:
- - /cli-commands/npm-sbom
- - /cli-commands/sbom
- - /cli-documentation/cli-commands/npm-sbom
- - /cli-documentation/cli-commands/sbom
- - /cli-documentation/commands/npm-sbom
- - /cli-documentation/commands/sbom
- - /cli-documentation/npm-sbom
- - /cli-documentation/sbom
- /cli-documentation/v10/cli-commands/npm-sbom
- /cli-documentation/v10/cli-commands/sbom
- /cli-documentation/v10/commands/npm-sbom
- /cli-documentation/v10/commands/sbom
- /cli-documentation/v10/npm-sbom
- /cli-documentation/v10/sbom
- - /cli/cli-commands/npm-sbom
- - /cli/cli-commands/sbom
- - /cli/commands/npm-sbom
- - /cli/commands/sbom
- - /cli/npm-sbom
- - /cli/sbom
- /cli/v10/cli-commands/npm-sbom
- /cli/v10/cli-commands/sbom
- /cli/v10/commands/sbom
- /cli/v10/npm-sbom
- /cli/v10/sbom
- - /commands/npm-sbom
- - /commands/sbom
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-search.mdx b/content/cli/v10/commands/npm-search.mdx
index 9289a3110e8..dc87548162a 100644
--- a/content/cli/v10/commands/npm-search.mdx
+++ b/content/cli/v10/commands/npm-search.mdx
@@ -3,42 +3,26 @@ title: npm-search
section: 1
description: Search for packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-search.md
redirect_from:
- - /cli-commands/npm-search
- - /cli-commands/search
- - /cli-documentation/cli-commands/npm-search
- - /cli-documentation/cli-commands/search
- - /cli-documentation/commands/npm-search
- - /cli-documentation/commands/search
- - /cli-documentation/npm-search
- - /cli-documentation/search
- /cli-documentation/v10/cli-commands/npm-search
- /cli-documentation/v10/cli-commands/search
- /cli-documentation/v10/commands/npm-search
- /cli-documentation/v10/commands/search
- /cli-documentation/v10/npm-search
- /cli-documentation/v10/search
- - /cli/cli-commands/npm-search
- - /cli/cli-commands/search
- - /cli/commands/npm-search
- - /cli/commands/search
- - /cli/npm-search
- - /cli/search
- /cli/v10/cli-commands/npm-search
- /cli/v10/cli-commands/search
- /cli/v10/commands/search
- /cli/v10/npm-search
- /cli/v10/search
- - /commands/npm-search
- - /commands/search
---
### Synopsis
```bash
-npm search [search terms ...]
+npm search [ ...]
aliases: find, s, se
```
@@ -57,13 +41,6 @@ If a term starts with `/`, then it's interpreted as a regular expression and sup
### Configuration
-#### `long`
-
-- Default: false
-- Type: Boolean
-
-Show extended information in `ls`, `search`, and `help-search`.
-
#### `json`
- Default: false
diff --git a/content/cli/v10/commands/npm-shrinkwrap.mdx b/content/cli/v10/commands/npm-shrinkwrap.mdx
index a4393fa375e..15bcd05fb42 100644
--- a/content/cli/v10/commands/npm-shrinkwrap.mdx
+++ b/content/cli/v10/commands/npm-shrinkwrap.mdx
@@ -3,36 +3,20 @@ title: npm-shrinkwrap
section: 1
description: Lock down dependency versions for publication
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-shrinkwrap.md
redirect_from:
- - /cli-commands/npm-shrinkwrap
- - /cli-commands/shrinkwrap
- - /cli-documentation/cli-commands/npm-shrinkwrap
- - /cli-documentation/cli-commands/shrinkwrap
- - /cli-documentation/commands/npm-shrinkwrap
- - /cli-documentation/commands/shrinkwrap
- - /cli-documentation/npm-shrinkwrap
- - /cli-documentation/shrinkwrap
- /cli-documentation/v10/cli-commands/npm-shrinkwrap
- /cli-documentation/v10/cli-commands/shrinkwrap
- /cli-documentation/v10/commands/npm-shrinkwrap
- /cli-documentation/v10/commands/shrinkwrap
- /cli-documentation/v10/npm-shrinkwrap
- /cli-documentation/v10/shrinkwrap
- - /cli/cli-commands/npm-shrinkwrap
- - /cli/cli-commands/shrinkwrap
- - /cli/commands/npm-shrinkwrap
- - /cli/commands/shrinkwrap
- - /cli/npm-shrinkwrap
- - /cli/shrinkwrap
- /cli/v10/cli-commands/npm-shrinkwrap
- /cli/v10/cli-commands/shrinkwrap
- /cli/v10/commands/shrinkwrap
- /cli/v10/npm-shrinkwrap
- /cli/v10/shrinkwrap
- - /commands/npm-shrinkwrap
- - /commands/shrinkwrap
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-star.mdx b/content/cli/v10/commands/npm-star.mdx
index d6d935398a5..f3b00dc6c73 100644
--- a/content/cli/v10/commands/npm-star.mdx
+++ b/content/cli/v10/commands/npm-star.mdx
@@ -3,36 +3,20 @@ title: npm-star
section: 1
description: Mark your favorite packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-star.md
redirect_from:
- - /cli-commands/npm-star
- - /cli-commands/star
- - /cli-documentation/cli-commands/npm-star
- - /cli-documentation/cli-commands/star
- - /cli-documentation/commands/npm-star
- - /cli-documentation/commands/star
- - /cli-documentation/npm-star
- - /cli-documentation/star
- /cli-documentation/v10/cli-commands/npm-star
- /cli-documentation/v10/cli-commands/star
- /cli-documentation/v10/commands/npm-star
- /cli-documentation/v10/commands/star
- /cli-documentation/v10/npm-star
- /cli-documentation/v10/star
- - /cli/cli-commands/npm-star
- - /cli/cli-commands/star
- - /cli/commands/npm-star
- - /cli/commands/star
- - /cli/npm-star
- - /cli/star
- /cli/v10/cli-commands/npm-star
- /cli/v10/cli-commands/star
- /cli/v10/commands/star
- /cli/v10/npm-star
- /cli/v10/star
- - /commands/npm-star
- - /commands/star
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-stars.mdx b/content/cli/v10/commands/npm-stars.mdx
index db566af5bed..24e22476721 100644
--- a/content/cli/v10/commands/npm-stars.mdx
+++ b/content/cli/v10/commands/npm-stars.mdx
@@ -3,36 +3,20 @@ title: npm-stars
section: 1
description: View packages marked as favorites
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-stars.md
redirect_from:
- - /cli-commands/npm-stars
- - /cli-commands/stars
- - /cli-documentation/cli-commands/npm-stars
- - /cli-documentation/cli-commands/stars
- - /cli-documentation/commands/npm-stars
- - /cli-documentation/commands/stars
- - /cli-documentation/npm-stars
- - /cli-documentation/stars
- /cli-documentation/v10/cli-commands/npm-stars
- /cli-documentation/v10/cli-commands/stars
- /cli-documentation/v10/commands/npm-stars
- /cli-documentation/v10/commands/stars
- /cli-documentation/v10/npm-stars
- /cli-documentation/v10/stars
- - /cli/cli-commands/npm-stars
- - /cli/cli-commands/stars
- - /cli/commands/npm-stars
- - /cli/commands/stars
- - /cli/npm-stars
- - /cli/stars
- /cli/v10/cli-commands/npm-stars
- /cli/v10/cli-commands/stars
- /cli/v10/commands/stars
- /cli/v10/npm-stars
- /cli/v10/stars
- - /commands/npm-stars
- - /commands/stars
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-start.mdx b/content/cli/v10/commands/npm-start.mdx
index fed1963166f..883c0310078 100644
--- a/content/cli/v10/commands/npm-start.mdx
+++ b/content/cli/v10/commands/npm-start.mdx
@@ -3,36 +3,20 @@ title: npm-start
section: 1
description: Start a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-start.md
redirect_from:
- - /cli-commands/npm-start
- - /cli-commands/start
- - /cli-documentation/cli-commands/npm-start
- - /cli-documentation/cli-commands/start
- - /cli-documentation/commands/npm-start
- - /cli-documentation/commands/start
- - /cli-documentation/npm-start
- - /cli-documentation/start
- /cli-documentation/v10/cli-commands/npm-start
- /cli-documentation/v10/cli-commands/start
- /cli-documentation/v10/commands/npm-start
- /cli-documentation/v10/commands/start
- /cli-documentation/v10/npm-start
- /cli-documentation/v10/start
- - /cli/cli-commands/npm-start
- - /cli/cli-commands/start
- - /cli/commands/npm-start
- - /cli/commands/start
- - /cli/npm-start
- - /cli/start
- /cli/v10/cli-commands/npm-start
- /cli/v10/cli-commands/start
- /cli/v10/commands/start
- /cli/v10/npm-start
- /cli/v10/start
- - /commands/npm-start
- - /commands/start
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-stop.mdx b/content/cli/v10/commands/npm-stop.mdx
index 0656f719f21..92329f537a8 100644
--- a/content/cli/v10/commands/npm-stop.mdx
+++ b/content/cli/v10/commands/npm-stop.mdx
@@ -3,36 +3,20 @@ title: npm-stop
section: 1
description: Stop a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-stop.md
redirect_from:
- - /cli-commands/npm-stop
- - /cli-commands/stop
- - /cli-documentation/cli-commands/npm-stop
- - /cli-documentation/cli-commands/stop
- - /cli-documentation/commands/npm-stop
- - /cli-documentation/commands/stop
- - /cli-documentation/npm-stop
- - /cli-documentation/stop
- /cli-documentation/v10/cli-commands/npm-stop
- /cli-documentation/v10/cli-commands/stop
- /cli-documentation/v10/commands/npm-stop
- /cli-documentation/v10/commands/stop
- /cli-documentation/v10/npm-stop
- /cli-documentation/v10/stop
- - /cli/cli-commands/npm-stop
- - /cli/cli-commands/stop
- - /cli/commands/npm-stop
- - /cli/commands/stop
- - /cli/npm-stop
- - /cli/stop
- /cli/v10/cli-commands/npm-stop
- /cli/v10/cli-commands/stop
- /cli/v10/commands/stop
- /cli/v10/npm-stop
- /cli/v10/stop
- - /commands/npm-stop
- - /commands/stop
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-team.mdx b/content/cli/v10/commands/npm-team.mdx
index 46139d98745..36091749c7c 100644
--- a/content/cli/v10/commands/npm-team.mdx
+++ b/content/cli/v10/commands/npm-team.mdx
@@ -3,36 +3,20 @@ title: npm-team
section: 1
description: Manage organization teams and team memberships
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-team.md
redirect_from:
- - /cli-commands/npm-team
- - /cli-commands/team
- - /cli-documentation/cli-commands/npm-team
- - /cli-documentation/cli-commands/team
- - /cli-documentation/commands/npm-team
- - /cli-documentation/commands/team
- - /cli-documentation/npm-team
- - /cli-documentation/team
- /cli-documentation/v10/cli-commands/npm-team
- /cli-documentation/v10/cli-commands/team
- /cli-documentation/v10/commands/npm-team
- /cli-documentation/v10/commands/team
- /cli-documentation/v10/npm-team
- /cli-documentation/v10/team
- - /cli/cli-commands/npm-team
- - /cli/cli-commands/team
- - /cli/commands/npm-team
- - /cli/commands/team
- - /cli/npm-team
- - /cli/team
- /cli/v10/cli-commands/npm-team
- /cli/v10/cli-commands/team
- /cli/v10/commands/team
- /cli/v10/npm-team
- /cli/v10/team
- - /commands/npm-team
- - /commands/team
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-test.mdx b/content/cli/v10/commands/npm-test.mdx
index 84a8d72c1b4..e610f5a5bc7 100644
--- a/content/cli/v10/commands/npm-test.mdx
+++ b/content/cli/v10/commands/npm-test.mdx
@@ -3,36 +3,20 @@ title: npm-test
section: 1
description: Test a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-test.md
redirect_from:
- - /cli-commands/npm-test
- - /cli-commands/test
- - /cli-documentation/cli-commands/npm-test
- - /cli-documentation/cli-commands/test
- - /cli-documentation/commands/npm-test
- - /cli-documentation/commands/test
- - /cli-documentation/npm-test
- - /cli-documentation/test
- /cli-documentation/v10/cli-commands/npm-test
- /cli-documentation/v10/cli-commands/test
- /cli-documentation/v10/commands/npm-test
- /cli-documentation/v10/commands/test
- /cli-documentation/v10/npm-test
- /cli-documentation/v10/test
- - /cli/cli-commands/npm-test
- - /cli/cli-commands/test
- - /cli/commands/npm-test
- - /cli/commands/test
- - /cli/npm-test
- - /cli/test
- /cli/v10/cli-commands/npm-test
- /cli/v10/cli-commands/test
- /cli/v10/commands/test
- /cli/v10/npm-test
- /cli/v10/test
- - /commands/npm-test
- - /commands/test
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-token.mdx b/content/cli/v10/commands/npm-token.mdx
index f0de902f76c..79029a79ebf 100644
--- a/content/cli/v10/commands/npm-token.mdx
+++ b/content/cli/v10/commands/npm-token.mdx
@@ -3,36 +3,20 @@ title: npm-token
section: 1
description: Manage your authentication tokens
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-token.md
redirect_from:
- - /cli-commands/npm-token
- - /cli-commands/token
- - /cli-documentation/cli-commands/npm-token
- - /cli-documentation/cli-commands/token
- - /cli-documentation/commands/npm-token
- - /cli-documentation/commands/token
- - /cli-documentation/npm-token
- - /cli-documentation/token
- /cli-documentation/v10/cli-commands/npm-token
- /cli-documentation/v10/cli-commands/token
- /cli-documentation/v10/commands/npm-token
- /cli-documentation/v10/commands/token
- /cli-documentation/v10/npm-token
- /cli-documentation/v10/token
- - /cli/cli-commands/npm-token
- - /cli/cli-commands/token
- - /cli/commands/npm-token
- - /cli/commands/token
- - /cli/npm-token
- - /cli/token
- /cli/v10/cli-commands/npm-token
- /cli/v10/cli-commands/token
- /cli/v10/commands/token
- /cli/v10/npm-token
- /cli/v10/token
- - /commands/npm-token
- - /commands/token
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-uninstall.mdx b/content/cli/v10/commands/npm-uninstall.mdx
index 03ce6c0bf30..8f6a591ff0e 100644
--- a/content/cli/v10/commands/npm-uninstall.mdx
+++ b/content/cli/v10/commands/npm-uninstall.mdx
@@ -3,36 +3,20 @@ title: npm-uninstall
section: 1
description: Remove a package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-uninstall.md
redirect_from:
- - /cli-commands/npm-uninstall
- - /cli-commands/uninstall
- - /cli-documentation/cli-commands/npm-uninstall
- - /cli-documentation/cli-commands/uninstall
- - /cli-documentation/commands/npm-uninstall
- - /cli-documentation/commands/uninstall
- - /cli-documentation/npm-uninstall
- - /cli-documentation/uninstall
- /cli-documentation/v10/cli-commands/npm-uninstall
- /cli-documentation/v10/cli-commands/uninstall
- /cli-documentation/v10/commands/npm-uninstall
- /cli-documentation/v10/commands/uninstall
- /cli-documentation/v10/npm-uninstall
- /cli-documentation/v10/uninstall
- - /cli/cli-commands/npm-uninstall
- - /cli/cli-commands/uninstall
- - /cli/commands/npm-uninstall
- - /cli/commands/uninstall
- - /cli/npm-uninstall
- - /cli/uninstall
- /cli/v10/cli-commands/npm-uninstall
- /cli/v10/cli-commands/uninstall
- /cli/v10/commands/uninstall
- /cli/v10/npm-uninstall
- /cli/v10/uninstall
- - /commands/npm-uninstall
- - /commands/uninstall
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-unpublish.mdx b/content/cli/v10/commands/npm-unpublish.mdx
index d0834b22a6f..ced46dc6e08 100644
--- a/content/cli/v10/commands/npm-unpublish.mdx
+++ b/content/cli/v10/commands/npm-unpublish.mdx
@@ -3,36 +3,20 @@ title: npm-unpublish
section: 1
description: Remove a package from the registry
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-unpublish.md
redirect_from:
- - /cli-commands/npm-unpublish
- - /cli-commands/unpublish
- - /cli-documentation/cli-commands/npm-unpublish
- - /cli-documentation/cli-commands/unpublish
- - /cli-documentation/commands/npm-unpublish
- - /cli-documentation/commands/unpublish
- - /cli-documentation/npm-unpublish
- - /cli-documentation/unpublish
- /cli-documentation/v10/cli-commands/npm-unpublish
- /cli-documentation/v10/cli-commands/unpublish
- /cli-documentation/v10/commands/npm-unpublish
- /cli-documentation/v10/commands/unpublish
- /cli-documentation/v10/npm-unpublish
- /cli-documentation/v10/unpublish
- - /cli/cli-commands/npm-unpublish
- - /cli/cli-commands/unpublish
- - /cli/commands/npm-unpublish
- - /cli/commands/unpublish
- - /cli/npm-unpublish
- - /cli/unpublish
- /cli/v10/cli-commands/npm-unpublish
- /cli/v10/cli-commands/unpublish
- /cli/v10/commands/unpublish
- /cli/v10/npm-unpublish
- /cli/v10/unpublish
- - /commands/npm-unpublish
- - /commands/unpublish
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-unstar.mdx b/content/cli/v10/commands/npm-unstar.mdx
index 2b5a3785498..a3885383397 100644
--- a/content/cli/v10/commands/npm-unstar.mdx
+++ b/content/cli/v10/commands/npm-unstar.mdx
@@ -3,36 +3,20 @@ title: npm-unstar
section: 1
description: Remove an item from your favorite packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-unstar.md
redirect_from:
- - /cli-commands/npm-unstar
- - /cli-commands/unstar
- - /cli-documentation/cli-commands/npm-unstar
- - /cli-documentation/cli-commands/unstar
- - /cli-documentation/commands/npm-unstar
- - /cli-documentation/commands/unstar
- - /cli-documentation/npm-unstar
- - /cli-documentation/unstar
- /cli-documentation/v10/cli-commands/npm-unstar
- /cli-documentation/v10/cli-commands/unstar
- /cli-documentation/v10/commands/npm-unstar
- /cli-documentation/v10/commands/unstar
- /cli-documentation/v10/npm-unstar
- /cli-documentation/v10/unstar
- - /cli/cli-commands/npm-unstar
- - /cli/cli-commands/unstar
- - /cli/commands/npm-unstar
- - /cli/commands/unstar
- - /cli/npm-unstar
- - /cli/unstar
- /cli/v10/cli-commands/npm-unstar
- /cli/v10/cli-commands/unstar
- /cli/v10/commands/unstar
- /cli/v10/npm-unstar
- /cli/v10/unstar
- - /commands/npm-unstar
- - /commands/unstar
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-update.mdx b/content/cli/v10/commands/npm-update.mdx
index 1f5137942be..0774133096d 100644
--- a/content/cli/v10/commands/npm-update.mdx
+++ b/content/cli/v10/commands/npm-update.mdx
@@ -3,36 +3,20 @@ title: npm-update
section: 1
description: Update packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-update.md
redirect_from:
- - /cli-commands/npm-update
- - /cli-commands/update
- - /cli-documentation/cli-commands/npm-update
- - /cli-documentation/cli-commands/update
- - /cli-documentation/commands/npm-update
- - /cli-documentation/commands/update
- - /cli-documentation/npm-update
- - /cli-documentation/update
- /cli-documentation/v10/cli-commands/npm-update
- /cli-documentation/v10/cli-commands/update
- /cli-documentation/v10/commands/npm-update
- /cli-documentation/v10/commands/update
- /cli-documentation/v10/npm-update
- /cli-documentation/v10/update
- - /cli/cli-commands/npm-update
- - /cli/cli-commands/update
- - /cli/commands/npm-update
- - /cli/commands/update
- - /cli/npm-update
- - /cli/update
- /cli/v10/cli-commands/npm-update
- /cli/v10/cli-commands/update
- /cli/v10/commands/update
- /cli/v10/npm-update
- /cli/v10/update
- - /commands/npm-update
- - /commands/update
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-version.mdx b/content/cli/v10/commands/npm-version.mdx
index e295ce6db29..4c5314d2258 100644
--- a/content/cli/v10/commands/npm-version.mdx
+++ b/content/cli/v10/commands/npm-version.mdx
@@ -3,36 +3,20 @@ title: npm-version
section: 1
description: Bump a package version
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-version.md
redirect_from:
- - /cli-commands/npm-version
- - /cli-commands/version
- - /cli-documentation/cli-commands/npm-version
- - /cli-documentation/cli-commands/version
- - /cli-documentation/commands/npm-version
- - /cli-documentation/commands/version
- - /cli-documentation/npm-version
- /cli-documentation/v10/cli-commands/npm-version
- /cli-documentation/v10/cli-commands/version
- /cli-documentation/v10/commands/npm-version
- /cli-documentation/v10/commands/version
- /cli-documentation/v10/npm-version
- /cli-documentation/v10/version
- - /cli-documentation/version
- - /cli/cli-commands/npm-version
- - /cli/cli-commands/version
- - /cli/commands/npm-version
- - /cli/commands/version
- - /cli/npm-version
- /cli/v10/cli-commands/npm-version
- /cli/v10/cli-commands/version
- /cli/v10/commands/version
- /cli/v10/npm-version
- /cli/v10/version
- - /cli/version
- - /commands/npm-version
- - /commands/version
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-view.mdx b/content/cli/v10/commands/npm-view.mdx
index 910b9a6612c..d0b87deb7ef 100644
--- a/content/cli/v10/commands/npm-view.mdx
+++ b/content/cli/v10/commands/npm-view.mdx
@@ -3,36 +3,20 @@ title: npm-view
section: 1
description: View registry info
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-view.md
redirect_from:
- - /cli-commands/npm-view
- - /cli-commands/view
- - /cli-documentation/cli-commands/npm-view
- - /cli-documentation/cli-commands/view
- - /cli-documentation/commands/npm-view
- - /cli-documentation/commands/view
- - /cli-documentation/npm-view
- /cli-documentation/v10/cli-commands/npm-view
- /cli-documentation/v10/cli-commands/view
- /cli-documentation/v10/commands/npm-view
- /cli-documentation/v10/commands/view
- /cli-documentation/v10/npm-view
- /cli-documentation/v10/view
- - /cli-documentation/view
- - /cli/cli-commands/npm-view
- - /cli/cli-commands/view
- - /cli/commands/npm-view
- - /cli/commands/view
- - /cli/npm-view
- /cli/v10/cli-commands/npm-view
- /cli/v10/cli-commands/view
- /cli/v10/commands/view
- /cli/v10/npm-view
- /cli/v10/view
- - /cli/view
- - /commands/npm-view
- - /commands/view
---
### Synopsis
diff --git a/content/cli/v10/commands/npm-whoami.mdx b/content/cli/v10/commands/npm-whoami.mdx
index 70cacfbd8b2..858f07e7f2f 100644
--- a/content/cli/v10/commands/npm-whoami.mdx
+++ b/content/cli/v10/commands/npm-whoami.mdx
@@ -3,36 +3,20 @@ title: npm-whoami
section: 1
description: Display npm username
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm-whoami.md
redirect_from:
- - /cli-commands/npm-whoami
- - /cli-commands/whoami
- - /cli-documentation/cli-commands/npm-whoami
- - /cli-documentation/cli-commands/whoami
- - /cli-documentation/commands/npm-whoami
- - /cli-documentation/commands/whoami
- - /cli-documentation/npm-whoami
- /cli-documentation/v10/cli-commands/npm-whoami
- /cli-documentation/v10/cli-commands/whoami
- /cli-documentation/v10/commands/npm-whoami
- /cli-documentation/v10/commands/whoami
- /cli-documentation/v10/npm-whoami
- /cli-documentation/v10/whoami
- - /cli-documentation/whoami
- - /cli/cli-commands/npm-whoami
- - /cli/cli-commands/whoami
- - /cli/commands/npm-whoami
- - /cli/commands/whoami
- - /cli/npm-whoami
- /cli/v10/cli-commands/npm-whoami
- /cli/v10/cli-commands/whoami
- /cli/v10/commands/whoami
- /cli/v10/npm-whoami
- /cli/v10/whoami
- - /cli/whoami
- - /commands/npm-whoami
- - /commands/whoami
---
### Synopsis
diff --git a/content/cli/v10/commands/npm.mdx b/content/cli/v10/commands/npm.mdx
index a8d8162443d..beb650d7b20 100644
--- a/content/cli/v10/commands/npm.mdx
+++ b/content/cli/v10/commands/npm.mdx
@@ -3,22 +3,14 @@ title: npm
section: 1
description: javascript package manager
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npm.md
redirect_from:
- - /cli-commands/npm
- - /cli-documentation/cli-commands/npm
- - /cli-documentation/commands/npm
- - /cli-documentation/npm
- /cli-documentation/v10/cli-commands/npm
- /cli-documentation/v10/commands/npm
- /cli-documentation/v10/npm
- - /cli/cli-commands/npm
- - /cli/commands/npm
- - /cli/npm
- /cli/v10/cli-commands/npm
- /cli/v10/npm
- - /commands/npm
---
### Synopsis
@@ -31,7 +23,7 @@ Note: This command is unaware of workspaces.
### Version
-10.6.0
+10.9.2
### Description
@@ -112,7 +104,7 @@ Please be sure to follow the template and bug reporting guidelines.
Discuss new feature ideas on our discussion forum:
-- [https://github.com/npm/feedback](https://github.com/npm/feedback)
+- [https://github.com/orgs/community/discussions/categories/npm](https://github.com/orgs/community/discussions/categories/npm)
Or suggest formal RFC proposals:
diff --git a/content/cli/v10/commands/npx.mdx b/content/cli/v10/commands/npx.mdx
index 8552b9b1317..12ff7f9c137 100644
--- a/content/cli/v10/commands/npx.mdx
+++ b/content/cli/v10/commands/npx.mdx
@@ -3,22 +3,14 @@ title: npx
section: 1
description: Run a command from a local or remote npm package
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/commands/npx.md
redirect_from:
- - /cli-commands/npx
- - /cli-documentation/cli-commands/npx
- - /cli-documentation/commands/npx
- - /cli-documentation/npx
- /cli-documentation/v10/cli-commands/npx
- /cli-documentation/v10/commands/npx
- /cli-documentation/v10/npx
- - /cli/cli-commands/npx
- - /cli/commands/npx
- - /cli/npx
- /cli/v10/cli-commands/npx
- /cli/v10/npx
- - /commands/npx
---
### Synopsis
diff --git a/content/cli/v10/configuring-npm/folders.mdx b/content/cli/v10/configuring-npm/folders.mdx
index f6aa54ab343..cd268b7cc20 100644
--- a/content/cli/v10/configuring-npm/folders.mdx
+++ b/content/cli/v10/configuring-npm/folders.mdx
@@ -3,18 +3,12 @@ title: folders
section: 5
description: Folder Structures Used by npm
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/configuring-npm/folders.md
redirect_from:
- - /cli-documentation/configuring-npm/folders
- - /cli-documentation/files/folders
- /cli-documentation/v10/configuring-npm/folders
- /cli-documentation/v10/files/folders
- - /cli/configuring-npm/folders
- - /cli/files/folders
- /cli/v10/files/folders
- - /configuring-npm/folders
- - /files/folders
---
### Description
diff --git a/content/cli/v10/configuring-npm/index.mdx b/content/cli/v10/configuring-npm/index.mdx
index 622da916584..5817c07bc67 100644
--- a/content/cli/v10/configuring-npm/index.mdx
+++ b/content/cli/v10/configuring-npm/index.mdx
@@ -2,28 +2,16 @@
title: Configuring npm
shortName: Configuring
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/nav.yml
redirect_from:
- - /cli-documentation/configuring-npm
- - /cli-documentation/configuring-npm/index
- - /cli-documentation/files
- - /cli-documentation/files/index
- /cli-documentation/v10/configuring-npm
- /cli-documentation/v10/configuring-npm/index
- /cli-documentation/v10/files
- /cli-documentation/v10/files/index
- - /cli/configuring-npm
- - /cli/configuring-npm/index
- - /cli/files
- - /cli/files/index
- /cli/v10/configuring-npm/index
- /cli/v10/files
- /cli/v10/files/index
- - /configuring-npm
- - /configuring-npm/index
- - /files
- - /files/index
---
diff --git a/content/cli/v10/configuring-npm/install.mdx b/content/cli/v10/configuring-npm/install.mdx
index 96de8a9edaa..f7cfe768b87 100644
--- a/content/cli/v10/configuring-npm/install.mdx
+++ b/content/cli/v10/configuring-npm/install.mdx
@@ -3,18 +3,12 @@ title: install
section: 5
description: Download and install node and npm
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/configuring-npm/install.md
redirect_from:
- - /cli-documentation/configuring-npm/install
- - /cli-documentation/files/install
- /cli-documentation/v10/configuring-npm/install
- /cli-documentation/v10/files/install
- - /cli/configuring-npm/install
- - /cli/files/install
- /cli/v10/files/install
- - /configuring-npm/install
- - /files/install
---
### Description
diff --git a/content/cli/v10/configuring-npm/npm-shrinkwrap-json.mdx b/content/cli/v10/configuring-npm/npm-shrinkwrap-json.mdx
index c0ae5d26478..ccd52d70119 100644
--- a/content/cli/v10/configuring-npm/npm-shrinkwrap-json.mdx
+++ b/content/cli/v10/configuring-npm/npm-shrinkwrap-json.mdx
@@ -3,28 +3,16 @@ title: npm-shrinkwrap.json
section: 5
description: A publishable lockfile
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/configuring-npm/npm-shrinkwrap-json.md
redirect_from:
- - /cli-documentation/configuring-npm/npm-shrinkwrap-json
- - /cli-documentation/configuring-npm/npm-shrinkwrap.json
- - /cli-documentation/files/npm-shrinkwrap-json
- - /cli-documentation/files/npm-shrinkwrap.json
- /cli-documentation/v10/configuring-npm/npm-shrinkwrap-json
- /cli-documentation/v10/configuring-npm/npm-shrinkwrap.json
- /cli-documentation/v10/files/npm-shrinkwrap-json
- /cli-documentation/v10/files/npm-shrinkwrap.json
- - /cli/configuring-npm/npm-shrinkwrap-json
- - /cli/configuring-npm/npm-shrinkwrap.json
- - /cli/files/npm-shrinkwrap-json
- - /cli/files/npm-shrinkwrap.json
- /cli/v10/configuring-npm/npm-shrinkwrap.json
- /cli/v10/files/npm-shrinkwrap-json
- /cli/v10/files/npm-shrinkwrap.json
- - /configuring-npm/npm-shrinkwrap-json
- - /configuring-npm/npm-shrinkwrap.json
- - /files/npm-shrinkwrap-json
- - /files/npm-shrinkwrap.json
---
### Description
diff --git a/content/cli/v10/configuring-npm/npmrc.mdx b/content/cli/v10/configuring-npm/npmrc.mdx
index a08fe5a2cb6..66c376b4ab5 100644
--- a/content/cli/v10/configuring-npm/npmrc.mdx
+++ b/content/cli/v10/configuring-npm/npmrc.mdx
@@ -3,18 +3,12 @@ title: npmrc
section: 5
description: The npm config files
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/configuring-npm/npmrc.md
redirect_from:
- - /cli-documentation/configuring-npm/npmrc
- - /cli-documentation/files/npmrc
- /cli-documentation/v10/configuring-npm/npmrc
- /cli-documentation/v10/files/npmrc
- - /cli/configuring-npm/npmrc
- - /cli/files/npmrc
- /cli/v10/files/npmrc
- - /configuring-npm/npmrc
- - /files/npmrc
---
### Description
@@ -37,7 +31,7 @@ The four relevant files are:
All npm config files are an ini-formatted list of `key = value` parameters. Environment variables can be replaced using `${VARIABLE_NAME}`. For example:
```bash
-prefix = ${HOME}/.npm-packages
+cache = ${HOME}/.npm-packages
```
Each of these files is loaded, and config options are resolved in priority order. For example, a setting in the userconfig file would override the setting in the globalconfig file.
@@ -107,10 +101,13 @@ _authToken=MYTOKEN
@myorg:registry=https://somewhere-else.com/myorg
@another:registry=https://somewhere-else.com/another
//registry.npmjs.org/:_authToken=MYTOKEN
+
; would apply to both @myorg and @another
-; //somewhere-else.com/:_authToken=MYTOKEN
+//somewhere-else.com/:_authToken=MYTOKEN
+
; would apply only to @myorg
//somewhere-else.com/myorg/:_authToken=MYTOKEN1
+
; would apply only to @another
//somewhere-else.com/another/:_authToken=MYTOKEN2
```
diff --git a/content/cli/v10/configuring-npm/package-json.mdx b/content/cli/v10/configuring-npm/package-json.mdx
index f3171527cfe..ed868657bd9 100644
--- a/content/cli/v10/configuring-npm/package-json.mdx
+++ b/content/cli/v10/configuring-npm/package-json.mdx
@@ -3,28 +3,16 @@ title: package.json
section: 5
description: Specifics of npm's package.json handling
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/configuring-npm/package-json.md
redirect_from:
- - /cli-documentation/configuring-npm/package-json
- - /cli-documentation/configuring-npm/package.json
- - /cli-documentation/files/package-json
- - /cli-documentation/files/package.json
- /cli-documentation/v10/configuring-npm/package-json
- /cli-documentation/v10/configuring-npm/package.json
- /cli-documentation/v10/files/package-json
- /cli-documentation/v10/files/package.json
- - /cli/configuring-npm/package-json
- - /cli/configuring-npm/package.json
- - /cli/files/package-json
- - /cli/files/package.json
- /cli/v10/configuring-npm/package.json
- /cli/v10/files/package-json
- /cli/v10/files/package.json
- - /configuring-npm/package-json
- - /configuring-npm/package.json
- - /files/package-json
- - /files/package.json
---
### Description
@@ -206,22 +194,34 @@ npm also sets a top-level "maintainers" field with your npm user info.
### funding
-You can specify an object containing a URL that provides up-to-date information about ways to help fund development of your package, or a string URL, or an array of these:
+You can specify an object containing a URL that provides up-to-date information about ways to help fund development of your package, a string URL, or an array of objects and string URLs:
```json
{
"funding": {
"type": "individual",
"url": "http://example.com/donate"
- },
+ }
+}
+```
+```json
+{
"funding": {
"type": "patreon",
"url": "https://www.patreon.com/my-account"
- },
+ }
+}
+```
- "funding": "http://example.com/donate",
+```json
+{
+ "funding": "http://example.com/donate"
+}
+```
+```json
+{
"funding": [
{
"type": "individual",
@@ -236,7 +236,7 @@ You can specify an object containing a URL that provides up-to-date information
}
```
-Users can use the `npm fund` subcommand to list the `funding` URLs of all dependencies of their project, direct and indirect. A shortcut to visit each funding url is also available when providing the project name such as: `npm fund ` (when there are multiple URLs, the first one will be visited)
+Users can use the `npm fund` subcommand to list the `funding` URLs of all dependencies of their project, direct and indirect. A shortcut to visit each funding URL is also available when providing the project name such as: `npm fund ` (when there are multiple URLs, the first one will be visited)
### files
@@ -287,6 +287,10 @@ Most of these ignored files can be included specifically if included in the `fil
These can not be included.
+### exports
+
+The "exports" provides a modern alternative to "main" allowing multiple entry points to be defined, conditional entry resolution support between environments, and preventing any other entry points besides those defined in "exports". This encapsulation allows module authors to clearly define the public interface for their package. For more details see the [node.js documentation on package entry points](https://nodejs.org/api/packages.html#package-entry-points)
+
### main
The main field is a module ID that is the primary entry point to your program. That is, if your package is named `foo`, and a user installs it, and then does `require("foo")`, then your main module's exports object will be returned.
@@ -312,7 +316,7 @@ For example, myapp could have this:
```json
{
"bin": {
- "myapp": "./cli.js"
+ "myapp": "bin/cli.js"
}
}
```
@@ -325,7 +329,7 @@ If you have a single executable, and its name should be the name of the package,
{
"name": "my-program",
"version": "1.2.5",
- "bin": "./path/to/program"
+ "bin": "path/to/program"
}
```
@@ -336,7 +340,7 @@ would be the same as this:
"name": "my-program",
"version": "1.2.5",
"bin": {
- "my-program": "./path/to/program"
+ "my-program": "path/to/program"
}
}
```
@@ -411,7 +415,7 @@ A folder that is full of man pages. Sugar to generate a "man" array by walking t
### repository
-Specify the place where your code lives. This is helpful for people who want to contribute. If the git repo is on GitHub, then the `npm docs` command will be able to find you.
+Specify the place where your code lives. This is helpful for people who want to contribute. If the git repo is on GitHub, then the `npm repo` command will be able to find you.
Do it like this:
@@ -419,7 +423,7 @@ Do it like this:
{
"repository": {
"type": "git",
- "url": "https://github.com/npm/cli.git"
+ "url": "git+https://github.com/npm/cli.git"
}
}
```
@@ -448,8 +452,8 @@ If the `package.json` for your package is not in the root directory (for example
{
"repository": {
"type": "git",
- "url": "https://github.com/facebook/react.git",
- "directory": "packages/react-dom"
+ "url": "git+https://github.com/npm/cli.git",
+ "directory": "workspaces/libnpmpublish"
}
}
```
@@ -500,6 +504,7 @@ See [semver](https://github.com/npm/node-semver#versions) for more details about
- `user/repo` See 'GitHub URLs' below
- `tag` A specific version tagged and published as `tag` See [`npm dist-tag`](/cli/v10/commands/npm-dist-tag)
- `path/path/path` See [Local Paths](#local-paths) below
+- `npm:@scope/pkg@version` Custom alias for a pacakge See [`package-spec`](/cli/v10/using-npm/package-spec#aliases)
For example, these are all valid:
@@ -517,7 +522,8 @@ For example, these are all valid:
"two": "2.x",
"thr": "3.3.x",
"lat": "latest",
- "dyl": "file:../dyl"
+ "dyl": "file:../dyl",
+ "kpg": "npm:pkg@1.0.0"
}
}
```
@@ -573,7 +579,7 @@ As of version 1.1.65, you can refer to GitHub URLs as just "foo": "user/foo-proj
"dependencies": {
"express": "expressjs/express",
"mocha": "mochajs/mocha#4727d357ea",
- "module": "user/repo#feature/branch"
+ "module": "user/repo#feature\/branch"
}
}
```
@@ -664,7 +670,7 @@ Assuming the host complies with [semver](https://semver.org/), only changes in t
### peerDependenciesMeta
-When a user installs your package, npm will emit warnings if packages specified in `peerDependencies` are not already installed. The `peerDependenciesMeta` field serves to provide npm more information on how your peer dependencies are to be used. Specifically, it allows peer dependencies to be marked as optional.
+The `peerDependenciesMeta` field serves to provide npm more information on how your peer dependencies are to be used. Specifically, it allows peer dependencies to be marked as optional. Npm will not automatically install optional peer dependencies. This allows you to integrate and interact with a variety of host packages without requiring all of them to be installed.
For example:
@@ -684,8 +690,6 @@ For example:
}
```
-Marking a peer dependency as optional ensures npm will not emit a warning if the `soy-milk` package is not installed on the host. This allows you to integrate and interact with a variety of host packages without requiring all of them to be installed.
-
### bundleDependencies
This defines an array of package names that will be bundled when publishing the package.
@@ -893,6 +897,31 @@ Like the `os` option, you can also block architectures:
The host architecture is determined by `process.arch`
+### devEngines
+
+The `devEngines` field aids engineers working on a codebase to all be using the same tooling.
+
+You can specify a `devEngines` property in your `package.json` which will run before `install`, `ci`, and `run` commands.
+
+> Note: `devEngines` and `engines` differ in object shape and functionality. `devEngines` is used to declare the intended runtime (node, etc) and/or package manager (npm, etc) to be used by developers working directly in the source code of a project, whereas `engines` is intended for a package to declare the node and/or npm versions it is compatible with.
+
+The supported keys under the `devEngines` property are `cpu`, `os`, `libc`, `runtime`, and `packageManager`. Each property can be an object or an array of objects. Objects must contain `name`, and optionally can specify `version`, and `onFail`. `onFail` can be `warn`, `error`, or `ignore`, and if left undefined is of the same value as `error`. `npm` will assume that you're running with `node`. Here's an example of a project that will fail if the environment is not `node` and `npm`. If you set `runtime.name` or `packageManager.name` to any other string, it will fail within the npm CLI.
+
+```json
+{
+ "devEngines": {
+ "runtime": {
+ "name": "node",
+ "onFail": "error"
+ },
+ "packageManager": {
+ "name": "npm",
+ "onFail": "error"
+ }
+ }
+}
+```
+
### private
If you set `"private": true` in your package.json, then npm will refuse to publish it.
diff --git a/content/cli/v10/configuring-npm/package-lock-json.mdx b/content/cli/v10/configuring-npm/package-lock-json.mdx
index 0fb28c76c90..1223e202cc5 100644
--- a/content/cli/v10/configuring-npm/package-lock-json.mdx
+++ b/content/cli/v10/configuring-npm/package-lock-json.mdx
@@ -3,28 +3,16 @@ title: package-lock.json
section: 5
description: A manifestation of the manifest
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/configuring-npm/package-lock-json.md
redirect_from:
- - /cli-documentation/configuring-npm/package-lock-json
- - /cli-documentation/configuring-npm/package-lock.json
- - /cli-documentation/files/package-lock-json
- - /cli-documentation/files/package-lock.json
- /cli-documentation/v10/configuring-npm/package-lock-json
- /cli-documentation/v10/configuring-npm/package-lock.json
- /cli-documentation/v10/files/package-lock-json
- /cli-documentation/v10/files/package-lock.json
- - /cli/configuring-npm/package-lock-json
- - /cli/configuring-npm/package-lock.json
- - /cli/files/package-lock-json
- - /cli/files/package-lock.json
- /cli/v10/configuring-npm/package-lock.json
- /cli/v10/files/package-lock-json
- /cli/v10/files/package-lock.json
- - /configuring-npm/package-lock-json
- - /configuring-npm/package-lock.json
- - /files/package-lock-json
- - /files/package-lock.json
---
### Description
diff --git a/content/cli/v10/index.mdx b/content/cli/v10/index.mdx
index 1835313b5b2..1e82414bd74 100644
--- a/content/cli/v10/index.mdx
+++ b/content/cli/v10/index.mdx
@@ -2,15 +2,11 @@
title: npm CLI
shortName: CLI
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/nav.yml
redirect_from:
- - /cli
- - /cli-documentation
- - /cli-documentation/index
- /cli-documentation/v10
- /cli-documentation/v10/index
- - /cli/index
- /cli/v10/index
---
diff --git a/content/cli/v10/using-npm/changelog.mdx b/content/cli/v10/using-npm/changelog.mdx
index 021fd0c70fc..e50fff08172 100644
--- a/content/cli/v10/using-npm/changelog.mdx
+++ b/content/cli/v10/using-npm/changelog.mdx
@@ -1,20 +1,387 @@
---
title: Changelog
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: CHANGELOG.md
redirect_from:
- - /cli-documentation/misc/changelog
- - /cli-documentation/using-npm/changelog
- /cli-documentation/v10/misc/changelog
- /cli-documentation/v10/using-npm/changelog
- - /cli/misc/changelog
- - /cli/using-npm/changelog
- /cli/v10/misc/changelog
- - /misc/changelog
- - /using-npm/changelog
---
+## [10.9.2](https://github.com/npm/cli/compare/v10.9.1...v10.9.2) (2024-12-04)
+
+### Dependencies
+
+- [`ae9345e`](https://github.com/npm/cli/commit/ae9345e352a30151c5326889d7a23b7289894e99) [#7959](https://github.com/npm/cli/pull/7959) `@npmcli/run-script@9.0.2`
+- [`39a19b3`](https://github.com/npm/cli/commit/39a19b3e03991ea255d0242af176ef710dd2a1d4) [#7959](https://github.com/npm/cli/pull/7959) `node-gyp@11.0.0`
+- [`93e2186`](https://github.com/npm/cli/commit/93e2186c321c3c43031af9cb3b3fb9ff97ee04eb) [#7956](https://github.com/npm/cli/pull/7956) `@npmcli/map-workspaces@4.0.2`
+- [`bf0ea00`](https://github.com/npm/cli/commit/bf0ea0064931dc84c1ff92f85b78500cb586b593) [#7956](https://github.com/npm/cli/pull/7956) `@npmcli/package-json@6.1.0`
+- [`c84baa3`](https://github.com/npm/cli/commit/c84baa37c65e8bf1f730c585361d4a0bf8c9c67d) [#7956](https://github.com/npm/cli/pull/7956) `init-package-json@7.0.2`
+- [`e642099`](https://github.com/npm/cli/commit/e642099003f92c7247833f513782654c7f9f77c4) [#7956](https://github.com/npm/cli/pull/7956) `node-gyp@10.3.1`
+
+## [10.9.1](https://github.com/npm/cli/compare/v10.9.0...v10.9.1) (2024-11-21)
+
+### Bug Fixes
+
+- [`c7fe0db`](https://github.com/npm/cli/commit/c7fe0db8c99233f8709c5e7a90578db6828353fd) [#7924](https://github.com/npm/cli/pull/7924) perf: enable compile cache if present (#7924) (@H4ad)
+
+### Dependencies
+
+- [`a221db7`](https://github.com/npm/cli/commit/a221db75b60d801b66089e915ed648c71d7799fd) [#7931](https://github.com/npm/cli/pull/7931) `npm-install-checks@7.1.1`
+- [`fbad17a`](https://github.com/npm/cli/commit/fbad17aa990d78642836bd97faed71d3e0ca8eab) [#7931](https://github.com/npm/cli/pull/7931) `hosted-git-info@8.0.2`
+- [`65d2a86`](https://github.com/npm/cli/commit/65d2a86a372d9e814f56f1c0d9ce8d73ca392696) [#7922](https://github.com/npm/cli/pull/7922) `@sigstore/tuf@3.0.0`
+- [`be45963`](https://github.com/npm/cli/commit/be45963ecf9f7c3dac85dc19696b82646c28a18e) [#7922](https://github.com/npm/cli/pull/7922) `sigstore@3.0.0`
+- [`fb0bfbd`](https://github.com/npm/cli/commit/fb0bfbd2647cf07081582b462fba869f39018c36) [#7922](https://github.com/npm/cli/pull/7922) `spdx-license-ids@3.0.20`
+- [`ccadf2a`](https://github.com/npm/cli/commit/ccadf2aa519e5de5d6b9ff62be5d2d25985b7c0f) [#7922](https://github.com/npm/cli/pull/7922) `promise-call-limit@3.0.2`
+- [`b25712e`](https://github.com/npm/cli/commit/b25712e1888d829393b9a708835ee69ec8ea1e70) [#7922](https://github.com/npm/cli/pull/7922) `package-json-from-dist@1.0.1`
+- [`1c9e96f`](https://github.com/npm/cli/commit/1c9e96fb9db044ff4cfb4bb5db9b8fc4d4073e13) [#7922](https://github.com/npm/cli/pull/7922) `negotiator@0.6.4`
+- [`f13bc9c`](https://github.com/npm/cli/commit/f13bc9c22a35fe97ba81e38d87f61c287d7ee0a9) [#7922](https://github.com/npm/cli/pull/7922) `debug@4.3.7`
+- [`029060c`](https://github.com/npm/cli/commit/029060c5e16aee4d8345635862c5fb0612f58162) [#7922](https://github.com/npm/cli/pull/7922) `cross-spawn@7.0.6`
+- [`9350950`](https://github.com/npm/cli/commit/93509509b01e8c9a1cedfb991e48e3cf0e8cbad2) [#7922](https://github.com/npm/cli/pull/7922) `@npmcli/metavuln-calculator@8.0.1`
+- [`c003827`](https://github.com/npm/cli/commit/c003827e3f5c20ec2b9a4c1631fd1dfbb5b6fb27) [#7922](https://github.com/npm/cli/pull/7922) `ansi-regex@6.1.0`
+- [`d6194f5`](https://github.com/npm/cli/commit/d6194f5774d037f474339ed47713e2809c39e735) [#7922](https://github.com/npm/cli/pull/7922) `pacote@19.0.1`
+- [`4ff29f6`](https://github.com/npm/cli/commit/4ff29f6a7ee052649d41a4084f1940d957f7959d) [#7922](https://github.com/npm/cli/pull/7922) `npm-registry-fetch@18.0.2`
+- [`fd6f4fb`](https://github.com/npm/cli/commit/fd6f4fb08f62ed5e8442528c7d532d7d064df1aa) [#7922](https://github.com/npm/cli/pull/7922) `make-fetch-happen@14.0.3`
+- [`b3f3004`](https://github.com/npm/cli/commit/b3f3004f1769d212240b40f1122d67f213073aec) [#7922](https://github.com/npm/cli/pull/7922) `ci-info@4.1.0`
+- [`a1f9d48`](https://github.com/npm/cli/commit/a1f9d482f567336d0fb802b7b67da1e71120ddd8) [#7922](https://github.com/npm/cli/pull/7922) `promise-spawn@8.0.2`
+
+### Chores
+
+- [`3ace1c1`](https://github.com/npm/cli/commit/3ace1c103d7cf769acd86e1c23b39c96cec2f763) [#7922](https://github.com/npm/cli/pull/7922) update arborist in mock-registry (@wraithgar)
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmpublish-v10.0.1): `libnpmpublish@10.0.1`
+
+## [10.9.0](https://github.com/npm/cli/compare/v10.8.3...v10.9.0) (2024-10-03)
+
+### Features
+
+- [`4d57928`](https://github.com/npm/cli/commit/4d57928ea20c1672864dc0c8ebaff5d877e61c9c) [#7766](https://github.com/npm/cli/pull/7766) devEngines (#7766) (@reggi)
+
+### Bug Fixes
+
+- [`6ca609e`](https://github.com/npm/cli/commit/6ca609e20b68fb2e5ef8177db116b84a339461fd) [#7789](https://github.com/npm/cli/pull/7789) ping and doctor commands fix for checking if registry is online (#7789) (@milaninfy)
+
+### Documentation
+
+- [`63d6a73`](https://github.com/npm/cli/commit/63d6a732c3c0e9c19fd4d147eaa5cc27c29b168d) [#7783](https://github.com/npm/cli/pull/7783) package.json: add brief section on exports, link to Node.js docs (#7783) (@wheresrhys)
+- [`366c07e`](https://github.com/npm/cli/commit/366c07e2f3cb9d1c6ddbd03e624a4d73fbd2676e) [#7776](https://github.com/npm/cli/pull/7776) remove incorrect note about npm install (#7776) (@wraithgar)
+
+### Dependencies
+
+- [`60a7ee5`](https://github.com/npm/cli/commit/60a7ee5b7a71c1a46cee4026d7e06f8785a0786b) [#7803](https://github.com/npm/cli/pull/7803) hoist npm-normalize-package-bin
+- [`20dd44f`](https://github.com/npm/cli/commit/20dd44ff7deedd594f996fcfe48615fd93498db3) [#7803](https://github.com/npm/cli/pull/7803) hoist minipass-fetch
+- [`5795987`](https://github.com/npm/cli/commit/5795987605af9bb163ad3a689a0854b99cd39cbe) [#7803](https://github.com/npm/cli/pull/7803) update `proggy@3.0.0`
+- [`99ccae3`](https://github.com/npm/cli/commit/99ccae3ded6f7013b26ed268a208c24473cdeb8f) [#7803](https://github.com/npm/cli/pull/7803) update `bin-links@5.0.0`
+- [`75786ad`](https://github.com/npm/cli/commit/75786adb86f763d781f840feea4afb8d01953b99) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/query@4.0.0`
+- [`1c25a1d`](https://github.com/npm/cli/commit/1c25a1d74c26364742b59f9d57b9a07bb4f8726f) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/node-gyp@4.0.0`
+- [`2d7fc3d`](https://github.com/npm/cli/commit/2d7fc3d320b92a8447e7282df14e2b99047cc426) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/name-from-folder@3.0.0`
+- [`1e09334`](https://github.com/npm/cli/commit/1e093347e3723c77bb4dc9214e111a3ec78fbbea) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/metavuln-calculator@8.0.0`
+- [`820e983`](https://github.com/npm/cli/commit/820e983b1d5a82d6c9c10895487c2e43b423d6ef) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/installed-package-contents@3.0.0`
+- [`9cd6603`](https://github.com/npm/cli/commit/9cd66031ebd2e9a0d6fdee3a7b4d7779694306ff) [#7803](https://github.com/npm/cli/pull/7803) update `read-package-json-fast@4.0.0`
+- [`b84d907`](https://github.com/npm/cli/commit/b84d9079feaf9582763356e538c7247383b00e9f) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/git@6.0.1`
+- [`53ed632`](https://github.com/npm/cli/commit/53ed632561cc0336f4194524de6e236f50d67212) [#7803](https://github.com/npm/cli/pull/7803) update `write-file-atomic@6.0.0`
+- [`ab40dab`](https://github.com/npm/cli/commit/ab40dab333bd24ab255f7c63798e86e1a7f66374) [#7803](https://github.com/npm/cli/pull/7803) update `which@5.0.0`
+- [`b1c4770`](https://github.com/npm/cli/commit/b1c477084d5e2bcd7335610587091ca1189ebaf8) [#7803](https://github.com/npm/cli/pull/7803) update `validate-npm-package-name@6.0.0`
+- [`8206c4f`](https://github.com/npm/cli/commit/8206c4f675937e855b60164946c086eb64d7ecb6) [#7803](https://github.com/npm/cli/pull/7803) update `ssri@12.0.0`
+- [`8b7dbc8`](https://github.com/npm/cli/commit/8b7dbc8234914352b2649f56c6a11765f1904e30) [#7803](https://github.com/npm/cli/pull/7803) update `read@4.0.0`
+- [`f6909a0`](https://github.com/npm/cli/commit/f6909a022c9373c85d980c96a30f47a3a65aa4a9) [#7803](https://github.com/npm/cli/pull/7803) update `proc-log@5.0.0`
+- [`f9b2e18`](https://github.com/npm/cli/commit/f9b2e1884fbfe2a2c41e3fcaa4be722209141aed) [#7803](https://github.com/npm/cli/pull/7803) update `parse-conflict-json@4.0.0`
+- [`e7ab206`](https://github.com/npm/cli/commit/e7ab206370e5fc62fefe6916e5dcc40b3e577d22) [#7803](https://github.com/npm/cli/pull/7803) update `pacote@19.0.0`
+- [`b28dbb1`](https://github.com/npm/cli/commit/b28dbb10b382f51f2c80fa5719e804074655ed67) [#7803](https://github.com/npm/cli/pull/7803) update `npm-user-validate@3.0.0`
+- [`d13a20b`](https://github.com/npm/cli/commit/d13a20bebef1b9932f86c44741ea6d214ad6842b) [#7803](https://github.com/npm/cli/pull/7803) update `npm-registry-fetch@18.0.1`
+- [`5208f74`](https://github.com/npm/cli/commit/5208f7404c656a91cfb34671cf8533e147f5944f) [#7803](https://github.com/npm/cli/pull/7803) update `npm-profile@11.0.1`
+- [`092f41f`](https://github.com/npm/cli/commit/092f41fec40f418468605557fcb4f4e1babd9d45) [#7803](https://github.com/npm/cli/pull/7803) update `npm-pick-manifest@10.0.0`
+- [`50a7bc8`](https://github.com/npm/cli/commit/50a7bc8737bb4e0a8fbc5f00b8f580512153a5bc) [#7803](https://github.com/npm/cli/pull/7803) update `npm-package-arg@12.0.0`
+- [`591130d`](https://github.com/npm/cli/commit/591130d0aaaa032f484504287e993d38b6f04d4f) [#7803](https://github.com/npm/cli/pull/7803) update `npm-install-checks@7.1.0`
+- [`be6ae96`](https://github.com/npm/cli/commit/be6ae96bab5265a89090388f49be8311dc012a68) [#7803](https://github.com/npm/cli/pull/7803) update `npm-audit-report@6.0.0`
+- [`8d4060a`](https://github.com/npm/cli/commit/8d4060a661db50dc4d4a2f30cc57346f1d242599) [#7803](https://github.com/npm/cli/pull/7803) update `normalize-package-data@7.0.0`
+- [`105fa2b`](https://github.com/npm/cli/commit/105fa2bdb2bbb0502bb8e0c5ccec3dadcff3c2d6) [#7803](https://github.com/npm/cli/pull/7803) update `nopt@8.0.0`
+- [`eae4f57`](https://github.com/npm/cli/commit/eae4f577b40732dbcad6c959a2a479258247f399) [#7803](https://github.com/npm/cli/pull/7803) update `make-fetch-happen@14.0.1`
+- [`7214149`](https://github.com/npm/cli/commit/72141496fbc7e5f0e0824d584b82690eeee45bb5) [#7803](https://github.com/npm/cli/pull/7803) update `json-parse-even-better-errors@4.0.0`
+- [`c4bed31`](https://github.com/npm/cli/commit/c4bed312966bbdd70e457543c6a95c827a1e6b59) [#7803](https://github.com/npm/cli/pull/7803) update `init-package-json@7.0.1`
+- [`f54b155`](https://github.com/npm/cli/commit/f54b155d0cbc251c7159cc42ba3b6154563f9e49) [#7803](https://github.com/npm/cli/pull/7803) update `ini@5.0.0`
+- [`6deae9e`](https://github.com/npm/cli/commit/6deae9e5d989ac30208fbcbca13ec827c6f2b588) [#7803](https://github.com/npm/cli/pull/7803) update `hosted-git-info@8.0.0`
+- [`034c729`](https://github.com/npm/cli/commit/034c7297568d328bcaf79bd2c7226d3593e21810) [#7803](https://github.com/npm/cli/pull/7803) update `cacache@19.0.1`
+- [`ddb8be0`](https://github.com/npm/cli/commit/ddb8be0af2f2967f011d012d3634b78197000b80) [#7803](https://github.com/npm/cli/pull/7803) update `abbrev@3.0.0`
+- [`538a4cc`](https://github.com/npm/cli/commit/538a4cc1dd731a3643ab4477fe545db39997bcdf) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/run-script@9.0.1`
+- [`b80d048`](https://github.com/npm/cli/commit/b80d0482cb52fc00275fef9548d86e17eaf28f50) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/redact@3.0.0`
+- [`81137fc`](https://github.com/npm/cli/commit/81137fc3dab75f7bea5c2a78e10b050284fc11b0) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/promise-spawn@8.0.1`
+- [`2076368`](https://github.com/npm/cli/commit/207636897aa5544ec28cad5b75fe2e685028dafd) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/package-json@6.0.1`
+- [`feac87c`](https://github.com/npm/cli/commit/feac87c7ed6113665bc144ee677017bc66138b70) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/map-workspaces@4.0.1`
+- [`dd90f9e`](https://github.com/npm/cli/commit/dd90f9ee7882dbeec073604638b98e68f9873371) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/fs@4.0.0`
+
+### Chores
+
+- [`95e2cb1`](https://github.com/npm/cli/commit/95e2cb105f1c80362a2355801917425be84e6097) [#7810](https://github.com/npm/cli/pull/7810) ignore .github folder in release-please (@reggi)
+- [`be1e6da`](https://github.com/npm/cli/commit/be1e6da91380d7a10edb1767dd433ca296b96771) [#7803](https://github.com/npm/cli/pull/7803) update `minify-registry-metadata@4.0.0` (@reggi)
+- [`43f2374`](https://github.com/npm/cli/commit/43f2374bf5abe825be6068cdfb991f02ba08eac3) [#7803](https://github.com/npm/cli/pull/7803) update `ignore-walk@7.0.0` (@reggi)
+- [`bb03036`](https://github.com/npm/cli/commit/bb03036ba8f7d7f1497ecac17b5e2f3e2951e214) [#7803](https://github.com/npm/cli/pull/7803) update `npm-packlist@9.0.0` (@reggi)
+- [`2072705`](https://github.com/npm/cli/commit/2072705aa80d009dc077639adc305692f4a6c0b9) [#7803](https://github.com/npm/cli/pull/7803) update `@npmcli/eslint-config@5.0.1` (@reggi)
+- [`949d8f8`](https://github.com/npm/cli/commit/949d8f872d341590d17613203bb57b95084b390d) [#7803](https://github.com/npm/cli/pull/7803) engine ^18.17.0 || >=20.5.0 in package template (@reggi)
+- [`fefd509`](https://github.com/npm/cli/commit/fefd509992a05c2dfddbe7bc46931c42f1da69d7) [#7764](https://github.com/npm/cli/pull/7764) deps: bump actions/download-artifact from 3 to 4 in /.github/workflows (#7764) (@dependabot[bot], @wraithgar)
+- [workspace](https://github.com/npm/cli/releases/tag/arborist-v8.0.0): `@npmcli/arborist@8.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/config-v9.0.0): `@npmcli/config@9.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmaccess-v9.0.0): `libnpmaccess@9.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmdiff-v7.0.0): `libnpmdiff@7.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmexec-v9.0.0): `libnpmexec@9.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmfund-v6.0.0): `libnpmfund@6.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmhook-v11.0.0): `libnpmhook@11.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmorg-v7.0.0): `libnpmorg@7.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmpack-v8.0.0): `libnpmpack@8.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmpublish-v10.0.0): `libnpmpublish@10.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmsearch-v8.0.0): `libnpmsearch@8.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmteam-v7.0.0): `libnpmteam@7.0.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmversion-v7.0.0): `libnpmversion@7.0.0`
+
+## [10.8.3](https://github.com/npm/cli/compare/v10.8.2...v10.8.3) (2024-08-28)
+
+### Bug Fixes
+
+- [`7e61151`](https://github.com/npm/cli/commit/7e61151b9ab4f62a83e9ea8bcfa15ece11b6a1fd) [#7759](https://github.com/npm/cli/pull/7759) docs: init usage description corrected (#7759) (@milaninfy)
+- [`2404c7e`](https://github.com/npm/cli/commit/2404c7e991e1a4962608a1e6b2453a7ccee4e0a5) [#7738](https://github.com/npm/cli/pull/7738) publish: consider package-spec when inside workspace dir (#7738) (@milaninfy)
+- [`91e46a3`](https://github.com/npm/cli/commit/91e46a34b685ebbf134d573209731868cae304d0) [#7721](https://github.com/npm/cli/pull/7721) init: use locally installed version of given package (#7721) (@milaninfy)
+- [`4e81a6a`](https://github.com/npm/cli/commit/4e81a6a4106e4e125b0eefda042b75cfae0a5f23) [#7674](https://github.com/npm/cli/pull/7674) always set exit code if exiting uncleanly (#7674) (@wraithgar, @hashtagchris)
+- [`a947f25`](https://github.com/npm/cli/commit/a947f25bd4576f7ef70fe6b1226e72252fa7a571) [#7679](https://github.com/npm/cli/pull/7679) update lifecycle script list in run-script (#7679) (@sonsurim)
+
+### Documentation
+
+- [`e674987`](https://github.com/npm/cli/commit/e674987c8dc5634c3b2a8a4d0f024d15041ba23c) [#7743](https://github.com/npm/cli/pull/7743) update docs for npmrc and package-json (#7743) (@milaninfy)
+- [`24d5350`](https://github.com/npm/cli/commit/24d53505491195b5c853c05db322f19c5ea091e0) [#7742](https://github.com/npm/cli/pull/7742) fix and update scoped configuration example (#7742) (@demedos)
+
+### Dependencies
+
+- [`3fd7a48`](https://github.com/npm/cli/commit/3fd7a48a26e1839580780fe969a89f71c6932064) [#7737](https://github.com/npm/cli/pull/7737) `lru-cache@10.4.3`
+- [`d7e462b`](https://github.com/npm/cli/commit/d7e462b28c4e9380b96f7a683fdcc02a0915a826) [#7737](https://github.com/npm/cli/pull/7737) `jackspeak@3.4.3`
+- [`df58b0c`](https://github.com/npm/cli/commit/df58b0c756d5279b219c684e0768b279d2607eab) [#7737](https://github.com/npm/cli/pull/7737) `glob@10.4.5`
+- [`7342c24`](https://github.com/npm/cli/commit/7342c2460a38bfc16783b927f7454ddc353592c7) [#7737](https://github.com/npm/cli/pull/7737) `foreground-child@3.3.0`
+- [`2986f4e`](https://github.com/npm/cli/commit/2986f4e5e08ea9d606012ee609a0b722a76b4252) [#7737](https://github.com/npm/cli/pull/7737) `cacache@18.0.4`
+- [`a44ab26`](https://github.com/npm/cli/commit/a44ab26326d04e3eb0d48e7749b41e1e0f30c5ca) [#7737](https://github.com/npm/cli/pull/7737) `postcss-selector-parser@6.1.2`
+- [`4e965ad`](https://github.com/npm/cli/commit/4e965ad4c990f501481c569bf28e543625cbd7ff) [#7737](https://github.com/npm/cli/pull/7737) `semver@7.6.3`
+- [`12587fa`](https://github.com/npm/cli/commit/12587fa8e926b63b13ff0443e474ec4eea0b1d5a) [#7737](https://github.com/npm/cli/pull/7737) `npm-package-arg@11.0.3`
+- [`1a9ac86`](https://github.com/npm/cli/commit/1a9ac861fcb5113e661239c54ae7a6aaa96bf88b) [#7737](https://github.com/npm/cli/pull/7737) `debug@4.3.6`
+- [`a303ddd`](https://github.com/npm/cli/commit/a303dddaf1b853cc351cc9aadb47741cf5c3f998) [#7737](https://github.com/npm/cli/pull/7737) `node-gyp@10.2.0`
+
+### Chores
+
+- [`1772276`](https://github.com/npm/cli/commit/1772276c881911277efed4cdc386901d9c19d65b) [#7756](https://github.com/npm/cli/pull/7756) fix duplicate changelog entries (@wraithgar)
+- [`8035725`](https://github.com/npm/cli/commit/80357253ecd8483463cd66c783c4464c330d72df) [#7756](https://github.com/npm/cli/pull/7756) `@npmcli/template-oss@4.23.3` (@wraithgar)
+- [`ed4add1`](https://github.com/npm/cli/commit/ed4add1e2791180a19f0fe1ebfa08a0837d3fe1a) [#7737](https://github.com/npm/cli/pull/7737) dev dependency updates (@wraithgar)
+- [`86b05fc`](https://github.com/npm/cli/commit/86b05fc8f110cadc67fcf7417bc0646289919000) [#7683](https://github.com/npm/cli/pull/7683) allow for longer timer values (#7683) (@wraithgar)
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmexec-v8.1.4): `libnpmexec@8.1.4`
+
+## [10.8.2](https://github.com/npm/cli/compare/v10.8.1...v10.8.2) (2024-07-09)
+
+### Bug Fixes
+
+- [`3101a40`](https://github.com/npm/cli/commit/3101a4045bd7030f232d6cb2ae61339214968321) [#7631](https://github.com/npm/cli/pull/7631) limit concurrent open files during 'npm cache verify' (#7631) (@oikumene)
+- [`2273183`](https://github.com/npm/cli/commit/22731831e22011e32fa0ca12178e242c2ee2b33d) [#7595](https://github.com/npm/cli/pull/7595) outdated: fixed wanted range for alias with version range (#7595) (@milaninfy)
+- [`15be6dd`](https://github.com/npm/cli/commit/15be6dd33bfab8bdfaf8c3dece435d7139c1bf6d) [#7574](https://github.com/npm/cli/pull/7574) don't try parsing workspaces if none exist (@wraithgar)
+
+### Documentation
+
+- [`ac937d4`](https://github.com/npm/cli/commit/ac937d4f29b27fb877f79f33034ee1144c7202c4) [#7616](https://github.com/npm/cli/pull/7616) install: add save-peer flag (#7616) (@drew4237)
+- [`55639ef`](https://github.com/npm/cli/commit/55639efd2d3094ca0931ddf9276c93f6880cd6e6) [#7615](https://github.com/npm/cli/pull/7615) use git+https in package.com url examples (#7615) (@MikeMcC399)
+- [`93883bb`](https://github.com/npm/cli/commit/93883bb6459208a916584cad8c6c72a315cf32af) [#7582](https://github.com/npm/cli/pull/7582) Improve manpage section for `package.json` `funding` properties (#7582) (@kemitchell)
+- [`92e71e6`](https://github.com/npm/cli/commit/92e71e6b0c7889e243e6b54ef8b4eb9656de95f8) [#7576](https://github.com/npm/cli/pull/7576) fix links to community discussions (#7576) (@leobalter)
+
+### Dependencies
+
+- [`1c1adae`](https://github.com/npm/cli/commit/1c1adaeeb59401db32d3d1ac4074654c87cd6f25) [#7636](https://github.com/npm/cli/pull/7636) `npm-pick-manifest@9.1.0`
+- [`5e4fa18`](https://github.com/npm/cli/commit/5e4fa18dc02cd6b99df51e220661d82b2db12c3d) [#7636](https://github.com/npm/cli/pull/7636) `socks-proxy-agent@8.0.4`
+- [`d8fa116`](https://github.com/npm/cli/commit/d8fa116f142044d3774439cf64dd51e8acb5bcff) [#7636](https://github.com/npm/cli/pull/7636) `https-proxy-agent@7.0.5`
+- [`76dab91`](https://github.com/npm/cli/commit/76dab917eb22f5079cbb8bc052ec7c5bb07e9389) [#7636](https://github.com/npm/cli/pull/7636) `normalize-package-data@6.0.2`
+- [`094c4ea`](https://github.com/npm/cli/commit/094c4ea17398d092a8b2c631564209c10183d417) [#7636](https://github.com/npm/cli/pull/7636) `minimatch@9.0.5`
+- [`1c8d41d`](https://github.com/npm/cli/commit/1c8d41ddafc5810511d54fd227ce964c503464e0) [#7636](https://github.com/npm/cli/pull/7636) `@npmcli/git@5.0.8`
+- [`e5451e1`](https://github.com/npm/cli/commit/e5451e1e91d7a71546f21daca604fb956c1cac3f) [#7605](https://github.com/npm/cli/pull/7605) `jackspeak@3.4.0`
+- [`7b584d3`](https://github.com/npm/cli/commit/7b584d3b60ff118fd04f3ee5693816d9e948ff1b) [#7605](https://github.com/npm/cli/pull/7605) `foreground-child@3.2.1`
+- [`941d0d7`](https://github.com/npm/cli/commit/941d0d7b596ec4cc2d21f86fb03876e2c6360987) [#7605](https://github.com/npm/cli/pull/7605) `debug@4.3.5`
+- [`8b8ce7a`](https://github.com/npm/cli/commit/8b8ce7a23543a4d28c850fa27cd411de68a74cfd) [#7605](https://github.com/npm/cli/pull/7605) `glob@10.4.2`
+- [`4646768`](https://github.com/npm/cli/commit/46467680d0e75c95406e46b5e2f754d2b7df1f7b) [#7605](https://github.com/npm/cli/pull/7605) `npm-registry-fetch@17.1.0`
+- [`6f0d7ce`](https://github.com/npm/cli/commit/6f0d7cec260993d269294e05e18eacf23935b78a) [#7605](https://github.com/npm/cli/pull/7605) `@npmcli/redact@2.0.1`
+- [`29204c8`](https://github.com/npm/cli/commit/29204c8ad4be0a1ffbca6f40393b00278bb34b3e) [#7605](https://github.com/npm/cli/pull/7605) `@npmcli/package-json@5.2.0`
+- [`04d6910`](https://github.com/npm/cli/commit/04d6910e474003762b4606837960b4eb10d7bcd9) [#7574](https://github.com/npm/cli/pull/7574) `@npmcli/package-json@5.1.1`
+- [`4ef4830`](https://github.com/npm/cli/commit/4ef4830dd792c2f23d3ffc7a10f797fc4ac8e5cb) [#7574](https://github.com/npm/cli/pull/7574) remove read-package-json-fast
+
+### Chores
+
+- [`2490b49`](https://github.com/npm/cli/commit/2490b492cc8d9a351841d2c643b13a47a3254f41) [#7621](https://github.com/npm/cli/pull/7621) remove .github/workflows/benchmark.yml (#7621) (@wraithgar)
+- [`3b8b111`](https://github.com/npm/cli/commit/3b8b11161ee2f88817dcc19b4770040d5bc73261) [#7605](https://github.com/npm/cli/pull/7605) update devDependencies in lockfile (@wraithgar)
+
+## [10.8.1](https://github.com/npm/cli/compare/v10.8.0...v10.8.1) (2024-05-29)
+
+### Bug Fixes
+
+- [`6b55646`](https://github.com/npm/cli/commit/6b556468f9d6ed62c681954bfe6ad012315e3b53) [#7569](https://github.com/npm/cli/pull/7569) exec: look in workspace and root for bin entries (#7569) (@wraithgar)
+- [`e4c7a41`](https://github.com/npm/cli/commit/e4c7a410f590e5c9c81f6410f600181a4deef005) [#7564](https://github.com/npm/cli/pull/7564) publish: skip workspace packages marked private on publish (#7564) (@milaninfy)
+- [`8f94ae8`](https://github.com/npm/cli/commit/8f94ae8c4d36cd397c53e8dc9f54d4332bf1b847) [#7556](https://github.com/npm/cli/pull/7556) utils/tar: index access while match is null (#7555) (#7556) (@NormanPerrin)
+- [`2d1d8d0`](https://github.com/npm/cli/commit/2d1d8d0ef18a10ac7938380884745f1d3c3cb078) [#7559](https://github.com/npm/cli/pull/7559) adds `node:` specifier to all native node modules (#7559) (@reggi)
+- [`7d89b55`](https://github.com/npm/cli/commit/7d89b55341160459e0fcd3374c3720d758b16339) [#7490](https://github.com/npm/cli/pull/7490) ci: rm workspace node_modules (#7490) (@reggi)
+- [`9122fb6`](https://github.com/npm/cli/commit/9122fb65ac05d793a69f4fdcbd03b59595adf937) [#7516](https://github.com/npm/cli/pull/7516) cache: add both full and minified packument to cache (#7516) (@milaninfy)
+- [`9e6686b`](https://github.com/npm/cli/commit/9e6686bb965fa6843ea483cb802f14282eabf3e5) [#7545](https://github.com/npm/cli/pull/7545) send proper otp token on web auth (#7545) (@wraithgar)
+- [`b1db070`](https://github.com/npm/cli/commit/b1db070cb4a497fd91fd61cf197d28b5d47274bb) [#7534](https://github.com/npm/cli/pull/7534) refactor: use output.buffer and set explicit json mode in query (#7534) (@lukekarrys)
+- [`53cda32`](https://github.com/npm/cli/commit/53cda32aa35f3a592fb0ddf37e43c028f93ef613) [#7542](https://github.com/npm/cli/pull/7542) refactor ls to use output.buffer for json (#7542) (@lukekarrys)
+- [`61d5771`](https://github.com/npm/cli/commit/61d57719e6443978c5e9a91ca7a63397be3065fa) [#7541](https://github.com/npm/cli/pull/7541) remove json.stringify from all commands (#7541) (@lukekarrys)
+- [`4dfc7d2`](https://github.com/npm/cli/commit/4dfc7d20b58eaa3d231ef5dc86b9802e1c0d0e68) [#7540](https://github.com/npm/cli/pull/7540) pass strings to JSON.stringify in --json mode (#7540) (@lukekarrys)
+- [`3cefdf6`](https://github.com/npm/cli/commit/3cefdf6eaab5bfb4371149f674dc95e9b9c54853) [#7538](https://github.com/npm/cli/pull/7538) outdated: return array for outdated deps from multiple workspaces (@lukekarrys)
+- [`ef4c975`](https://github.com/npm/cli/commit/ef4c975f2784f70ab86a3e7e6e40c99279e5a3e3) [#7508](https://github.com/npm/cli/pull/7508) view: dont immediately exit on first workspace 404 (#7508) (@lukekarrys)
+
+### Documentation
+
+- [`fd6479f`](https://github.com/npm/cli/commit/fd6479f85b9cf14a23cb4f9a049e0ea68632d8e9) [#7560](https://github.com/npm/cli/pull/7560) update publish docs: dist-tag + publish case (#7560) (@davidlj95)
+
+### Dependencies
+
+- [`e3f0fd4`](https://github.com/npm/cli/commit/e3f0fd45d97569a0d6c2a67e179e4a5f13eb9442) [#7568](https://github.com/npm/cli/pull/7568) `@npmcli/package-json@5.1.1`
+- [`447a8d7`](https://github.com/npm/cli/commit/447a8d7f3124bf9f69453098ce31b56bad20efd7) [#7566](https://github.com/npm/cli/pull/7566) `spdx-license-ids@3.0.18`
+- [`83fed2e`](https://github.com/npm/cli/commit/83fed2e8ec253051d60babdf2b10e2f2c64df318) [#7566](https://github.com/npm/cli/pull/7566) `sigstore@2.3.1`
+- [`41291ba`](https://github.com/npm/cli/commit/41291bab34d3f7351c94e97e89ac1f85b0950188) [#7566](https://github.com/npm/cli/pull/7566) `@sigstore/tuf@2.3.4`
+- [`18b42a4`](https://github.com/npm/cli/commit/18b42a46abdbc26a28f2e16ea74a1812d8de4c4d) [#7566](https://github.com/npm/cli/pull/7566) `glob@10.4.1`
+- [`5c6759d`](https://github.com/npm/cli/commit/5c6759decb00dfbe377c0ad41f85a3222f79a36a) [#7566](https://github.com/npm/cli/pull/7566) `postcss-selector-parser@6.1.0`
+- [`2508a83`](https://github.com/npm/cli/commit/2508a83e6d2936d15c210b9dee41098131ed6aff) [#7566](https://github.com/npm/cli/pull/7566) `is-cidr@5.1.0`
+- [`6278fe4`](https://github.com/npm/cli/commit/6278fe430bb7c3ecfae730f9ea084501e57c0e2c) [#7566](https://github.com/npm/cli/pull/7566) `ini@4.1.3`
+
+### Chores
+
+- [`2d84091`](https://github.com/npm/cli/commit/2d840917bbeff6a1eb5accc10a5ec1c2280b9470) [#7568](https://github.com/npm/cli/pull/7568) fix snapshots for updated @npmcli/package-json (@wraithgar)
+- [`6574dc9`](https://github.com/npm/cli/commit/6574dc98705cf0a88ea6fe41a57d0d0adfcea439) [#7566](https://github.com/npm/cli/pull/7566) dev dependency updates (@wraithgar)
+
+## [10.8.0](https://github.com/npm/cli/compare/v10.7.0...v10.8.0) (2024-05-15)
+
+### Features
+
+- [`1e375c1`](https://github.com/npm/cli/commit/1e375c1f8d16ac114b615c2a2f374099345b0b69) [#7442](https://github.com/npm/cli/pull/7442) create exit handler class (#7442) (@lukekarrys)
+
+### Bug Fixes
+
+- [`d5c3289`](https://github.com/npm/cli/commit/d5c32899b6ffc6254c96f62a06a854bb2c2b95c5) [#7513](https://github.com/npm/cli/pull/7513) refactor: use output buffer and error for more commands (#7513) (@lukekarrys)
+- [`12f103c`](https://github.com/npm/cli/commit/12f103ce55ed21c9c04f87a101fb64d55ac02d3c) [#7533](https://github.com/npm/cli/pull/7533) add first param titles to logs where missing (#7533) (@lukekarrys)
+- [`badeac2`](https://github.com/npm/cli/commit/badeac28faf9fde5f8c05d235219be840999a646) [#7521](https://github.com/npm/cli/pull/7521) config: use redact on config output (#7521) (@lukekarrys)
+- [`76aef74`](https://github.com/npm/cli/commit/76aef7423ab7e47a5f9b73849b47ba029730d75a) [#7520](https://github.com/npm/cli/pull/7520) view: refactor exec and execWorkspaces to call same methods (#7520) (@lukekarrys)
+- [`b54cdb8`](https://github.com/npm/cli/commit/b54cdb836d6c4146a1aa8e1a5fe9655ba2ed0a6a) [#7515](https://github.com/npm/cli/pull/7515) refactor: create new error output primitives (#7515) (@lukekarrys)
+- [`e40454c`](https://github.com/npm/cli/commit/e40454c35f75b5b814e7b5167c8a8b05664246f3) [#7506](https://github.com/npm/cli/pull/7506) view: dont unwrap arrays in json mode (#7506) (@lukekarrys)
+- [`6f64148`](https://github.com/npm/cli/commit/6f6414829fd82704233fbb56375b167495a0aaf5) require stdout to be a TTY for progress (#7507) (@lukekarrys)
+- [`db62910`](https://github.com/npm/cli/commit/db6291036f076bf0251b74a504bd5b693c29c4bb) [#7504](https://github.com/npm/cli/pull/7504) config: be more aggressive about hiding protected values (#7504) (@wraithgar)
+- [`6d456bb`](https://github.com/npm/cli/commit/6d456bba46d6afe1e2cf9464908e6ad99375cb7c) [#7497](https://github.com/npm/cli/pull/7497) dont write log file for completion commands (#7497) (@lukekarrys)
+- [`722c0fa`](https://github.com/npm/cli/commit/722c0faa387ae6e35886f08eefb238c03ae85db1) [#7463](https://github.com/npm/cli/pull/7463) limit packument cache size based on heap size (@wraithgar)
+- [`ca1a68d`](https://github.com/npm/cli/commit/ca1a68d14d184f2535720ed4715f388965ade21a) [#7474](https://github.com/npm/cli/pull/7474) log if `npm deprecate` does not match any version (#7474) (@mbtools)
+- [`261ea19`](https://github.com/npm/cli/commit/261ea193c96aaa73ce5630e21c6a31de9f19ef5b) [#7457](https://github.com/npm/cli/pull/7457) run input.start around help and openining urls (@lukekarrys)
+- [`4ab6cf4`](https://github.com/npm/cli/commit/4ab6cf4a9e7fca64f95422f4099b33cdbb9efa25) [#7459](https://github.com/npm/cli/pull/7459) publish: validate dist-tag (#7459) (@reggi)
+
+### Documentation
+
+- [`b2ce025`](https://github.com/npm/cli/commit/b2ce0250e32abaaaf60d895cda210914bdf903ea) [#7518](https://github.com/npm/cli/pull/7518) suggest correct bin entry (#7518) (@Santoshraj2)
+- [`bdd2aae`](https://github.com/npm/cli/commit/bdd2aae12b213815b5d800902b0a9722b263a03c) [#7502](https://github.com/npm/cli/pull/7502) remove obsolete removal using make uninstall (#7502) (@avinal)
+- [`c3d2819`](https://github.com/npm/cli/commit/c3d281984ed363ed03d6a7abe083f301c1dd2c88) [#7496](https://github.com/npm/cli/pull/7496) npm help json/global command on windows (#7496) (@klm-turing, @lukekarrys)
+- [`268303c`](https://github.com/npm/cli/commit/268303c3b40551ae558f201841d3d5977769a7c9) [#7479](https://github.com/npm/cli/pull/7479) add npm version to every local help output (#7479) (@klm-turing)
+- [`e39d422`](https://github.com/npm/cli/commit/e39d422d69c2275ed1e3a606447a9b9d87bdca4f) [#7473](https://github.com/npm/cli/pull/7473) suggest "npm repo" for showing the repo of a package (#7473) (@full-stop)
+- [`f6fff32`](https://github.com/npm/cli/commit/f6fff3295d19b63003cf49eb1c4805f453c5390a) [#7433](https://github.com/npm/cli/pull/7433) clarify what peerDependenciesMeta does (#7433) (@xuhdev, @wraithgar)
+
+### Dependencies
+
+- [`1cdc662`](https://github.com/npm/cli/commit/1cdc662bd2835531fbe790011a00f88ddb5f6868) [#7522](https://github.com/npm/cli/pull/7522) `@tufjs/repo-mock@2.0.1`
+- [`898bcfd`](https://github.com/npm/cli/commit/898bcfda5c5ac192b2cf5f47d0b939794c1b2164) [#7522](https://github.com/npm/cli/pull/7522) `@sigstore/protobuf-specs@0.3.2`
+- [`fec3c94`](https://github.com/npm/cli/commit/fec3c947d7dcc71071a8f527aa5bd81f47015486) [#7522](https://github.com/npm/cli/pull/7522) `path-scurry@1.11.1`
+- [`cb85973`](https://github.com/npm/cli/commit/cb8597316a8d53815835901ae9d5756d4dc481ea) [#7522](https://github.com/npm/cli/pull/7522) `glob@10.3.15`
+- [`e189873`](https://github.com/npm/cli/commit/e18987371399f508cb224e159987b10ddb922bb8) [#7498](https://github.com/npm/cli/pull/7498) `@sigstore/sign@2.3.1`
+- [`c2b28f9`](https://github.com/npm/cli/commit/c2b28f9d6cba12e88f849e5b4a82607e2c218a16) [#7498](https://github.com/npm/cli/pull/7498) `minipass@7.1.1`
+- [`9064ffc`](https://github.com/npm/cli/commit/9064ffc6c85309de2e9e798fdc6caca209f5fa18) [#7498](https://github.com/npm/cli/pull/7498) `@sigstore/tuf@2.3.3`
+- [`fd42986`](https://github.com/npm/cli/commit/fd429866c79cc001979135857c019d7d2873f291) [#7498](https://github.com/npm/cli/pull/7498) `@npmcli/fs@3.1.1`
+- [`4e53e33`](https://github.com/npm/cli/commit/4e53e33757c88ca9c413e3943b17e0cb246e955c) [#7498](https://github.com/npm/cli/pull/7498) `semver@7.6.2`
+- [`f078c82`](https://github.com/npm/cli/commit/f078c8224f6775d53da98f310531524c616e6099) [#7495](https://github.com/npm/cli/pull/7495) `glob@10.3.14`
+- [`58f773c`](https://github.com/npm/cli/commit/58f773c99742ef55ac2a9eca23c27b32800c2cf1) [#7495](https://github.com/npm/cli/pull/7495) `path-scurry@1.11.0`
+- [`ea0b07d`](https://github.com/npm/cli/commit/ea0b07da149767265f11d5d77d2156e2c9f43e63) [#7482](https://github.com/npm/cli/pull/7482) `pacote@18.0.6`
+- [`8d161a4`](https://github.com/npm/cli/commit/8d161a414160dab7a930b1668c3af3ba280e8532) [#7482](https://github.com/npm/cli/pull/7482) `semver@7.6.1`
+- [`5b2317b`](https://github.com/npm/cli/commit/5b2317b472342428c6521d7b0d550d0fcc9bb202) [#7463](https://github.com/npm/cli/pull/7463) add lru-cache
+- [`26fefb8`](https://github.com/npm/cli/commit/26fefb82b3bd812009b8b627e3c19032a931aade) [#7480](https://github.com/npm/cli/pull/7480) `promzard@1.0.2`
+- [`2146e1f`](https://github.com/npm/cli/commit/2146e1f83ae94debecfaf08ef32e319c02223c12) [#7480](https://github.com/npm/cli/pull/7480) `npm-bundled@3.0.1`
+- [`ff6c5d1`](https://github.com/npm/cli/commit/ff6c5d161b52e8961e0c2ebf0467bc1382ef72d2) [#7480](https://github.com/npm/cli/pull/7480) `minipass-fetch@3.0.5`
+- [`419f9b9`](https://github.com/npm/cli/commit/419f9b9d9d6806d56b68d96bd50f7d25274a8f48) [#7480](https://github.com/npm/cli/pull/7480) `cmd-shim@6.0.3`
+- [`dade2c8`](https://github.com/npm/cli/commit/dade2c88d23289d57351d614feaa876d9e1e17f4) [#7480](https://github.com/npm/cli/pull/7480) `minipass@7.1.0`
+- [`18e5312`](https://github.com/npm/cli/commit/18e53129f0f3a19725e377b336336aa85ade3ba5) [#7480](https://github.com/npm/cli/pull/7480) `validate-npm-package-name@5.0.1`
+- [`d440011`](https://github.com/npm/cli/commit/d44001164f66d15daa3fd27da004194478b7c99c) [#7480](https://github.com/npm/cli/pull/7480) `npm-user-validate@2.0.1`
+- [`552113e`](https://github.com/npm/cli/commit/552113e7a663efdcebfcbcc6148b1d51be55596b) [#7480](https://github.com/npm/cli/pull/7480) `ignore-walk@6.0.5`
+- [`7e15b6d`](https://github.com/npm/cli/commit/7e15b6d56abbf47456c12fa2d5688d5d187a0ae7) [#7480](https://github.com/npm/cli/pull/7480) `@npmcli/metavuln-calculator@7.1.1`
+- [`8b20f8c`](https://github.com/npm/cli/commit/8b20f8c8ba70e43ad222538fc396dedb071b1680) [#7480](https://github.com/npm/cli/pull/7480) `ssri@10.0.6`
+- [`a9a6dcd`](https://github.com/npm/cli/commit/a9a6dcd4427ec82e491a2cad5672d8183e12180f) [#7480](https://github.com/npm/cli/pull/7480) `pacote@18.0.5`
+- [`e2fdb65`](https://github.com/npm/cli/commit/e2fdb651cda9ec603f009f5713a5a2b489d49e15) [#7480](https://github.com/npm/cli/pull/7480) `npm-pick-manifest@9.0.1`
+- [`310a7a5`](https://github.com/npm/cli/commit/310a7a5583d14da761d38b7421ebb6cee65600b6) [#7480](https://github.com/npm/cli/pull/7480) `normalize-package-data@6.0.1`
+- [`e71f541`](https://github.com/npm/cli/commit/e71f541b020de7940faccffab68d0255c4079e1a) [#7480](https://github.com/npm/cli/pull/7480) `nopt@7.2.1`
+- [`18c3b40`](https://github.com/npm/cli/commit/18c3b4058c7f721ff585de2f2766e53da897e16e) [#7480](https://github.com/npm/cli/pull/7480) `json-parse-even-better-errors@3.0.2`
+- [`4c5bf77`](https://github.com/npm/cli/commit/4c5bf77af6db3b447f9b9abc3b67b211d7bb82b8) [#7480](https://github.com/npm/cli/pull/7480) `init-package-json@6.0.3`
+- [`714e3e1`](https://github.com/npm/cli/commit/714e3e1e1ce014cba71db41c2d6c02d9dd53fcd3) [#7480](https://github.com/npm/cli/pull/7480) `hosted-git-info@7.0.2`
+- [`f94d672`](https://github.com/npm/cli/commit/f94d6726a6ca96cad0da88ea499fa22f35b7c4c0) [#7480](https://github.com/npm/cli/pull/7480) `cacache@18.0.3`
+- [`43331e4`](https://github.com/npm/cli/commit/43331e4d0647c3af4cc2aa3db8b47d797584a6d8) [#7480](https://github.com/npm/cli/pull/7480) `bin-links@4.0.4`
+- [`8234412`](https://github.com/npm/cli/commit/823441219ce63d7863aede8b22b4b1d07021fd22) [#7480](https://github.com/npm/cli/pull/7480) `@npmcli/promise-spawn@7.0.2`
+- [`6dfaebb`](https://github.com/npm/cli/commit/6dfaebb8f08acf992ac36faf4db8b650e8e55eae) [#7480](https://github.com/npm/cli/pull/7480) `@npmcli/git@5.0.7`
+- [`63ef498`](https://github.com/npm/cli/commit/63ef498bf2916a882a92c0b9fe6de6728584694a) [#7457](https://github.com/npm/cli/pull/7457) `npm-registry-fetch@17.0.1`
+- [`4cbc2d4`](https://github.com/npm/cli/commit/4cbc2d402174933052c7addd6ea55b1ecee202c5) [#7457](https://github.com/npm/cli/pull/7457) `npm-profile@10.0.0`
+
+### Chores
+
+- [`10256e8`](https://github.com/npm/cli/commit/10256e8cbe3583b65cb253a19ba9ee64f21c9584) [#7522](https://github.com/npm/cli/pull/7522) dev dependency updates (@wraithgar)
+- [`dcfc3de`](https://github.com/npm/cli/commit/dcfc3deba2bb0066ec5d8b1870719f730adc2e97) [#7517](https://github.com/npm/cli/pull/7517) convert run-script tests to snapshots (#7517) (@lukekarrys)
+- [`8add914`](https://github.com/npm/cli/commit/8add914841775f239acd838b1d8d52b251d0e1b2) [#7505](https://github.com/npm/cli/pull/7505) create single bug report issue template (#7505) (@lukekarrys)
+- [`7c7fba4`](https://github.com/npm/cli/commit/7c7fba4fc92528287e1f2ef5fb8256e60760c201) [#7500](https://github.com/npm/cli/pull/7500) benchmarks: fix emoji reaction to comment (#7500) (@lukekarrys)
+- [`d3b9587`](https://github.com/npm/cli/commit/d3b958756144d71c25cc4bd2020e040a940fbe3b) [#7494](https://github.com/npm/cli/pull/7494) disable progress on npm pack test (@wraithgar)
+- [`67ebb66`](https://github.com/npm/cli/commit/67ebb66d3ffa61582f8dd63ddbb5679649a5d2a4) [#7494](https://github.com/npm/cli/pull/7494) disable color in config tests (@wraithgar)
+- [`2ec2e75`](https://github.com/npm/cli/commit/2ec2e75ee81361a850bca643341d240441870334) [#7494](https://github.com/npm/cli/pull/7494) disable progress on shellout exit tests (@wraithgar)
+- [`e9fdc9a`](https://github.com/npm/cli/commit/e9fdc9a792666d5b9aa73833c65516bafcb80863) [#7483](https://github.com/npm/cli/pull/7483) create smoke-publish-test.sh script (#7483) (@lukekarrys)
+- [`1524cfd`](https://github.com/npm/cli/commit/1524cfd94daaca131ab16180c27323999fab07b3) [#7484](https://github.com/npm/cli/pull/7484) remove extra quotes from benchmark event_type (#7484) (@lukekarrys)
+- [`9c4d3c4`](https://github.com/npm/cli/commit/9c4d3c402c77bd7aaa514ee9e02d7fd87223343e) [#7467](https://github.com/npm/cli/pull/7467) template-oss-apply (@lukekarrys)
+- [`2b7ec54`](https://github.com/npm/cli/commit/2b7ec54f52f9e8aee568ccb4e34ce4a5733af21a) [#7467](https://github.com/npm/cli/pull/7467) `template-oss@4.22.0` (@lukekarrys)
+- [`8ded848`](https://github.com/npm/cli/commit/8ded848b099297a12a81ec008d6229f3ad3494a6) [#7457](https://github.com/npm/cli/pull/7457) remove doctor snapshot stack traces (@lukekarrys)
+
+## [10.7.0](https://github.com/npm/cli/compare/v10.6.0...v10.7.0) (2024-04-30)
+
+### Features
+
+- [`7e349f4`](https://github.com/npm/cli/commit/7e349f45363bb8dbe1cc803f8b48befc01aae7fd) [#7432](https://github.com/npm/cli/pull/7432) add spinner (#7432) (@lukekarrys)
+
+### Bug Fixes
+
+- [`d679ce8`](https://github.com/npm/cli/commit/d679ce80fd9b761b2323777ec5cd84ebc5c164fe) [#7449](https://github.com/npm/cli/pull/7449) linting: no-unused-vars (@wraithgar)
+- [`2558283`](https://github.com/npm/cli/commit/25582837b0ebb8c2de2932c04224332b11d0e1d5) [#7450](https://github.com/npm/cli/pull/7450) powershell: fallback to script root if globalPrefix does not exist (#7450) (@lukekarrys)
+- [`bc4c342`](https://github.com/npm/cli/commit/bc4c3426c35201baff7230c2b3beee2cf5936296) [#7448](https://github.com/npm/cli/pull/7448) account for registries with no publisher in search (#7448) (@wraithgar)
+- [`bcc781a`](https://github.com/npm/cli/commit/bcc781abf10b46aa5b04da996fc4602524be9b0e) [#7439](https://github.com/npm/cli/pull/7439) move run-script banners to stderr when in json mode (#7439) (@lukekarrys)
+- [`104fcb5`](https://github.com/npm/cli/commit/104fcb53282653a1c5610a6590afecc207920a6b) [#7438](https://github.com/npm/cli/pull/7438) remove doctor log for each file permission check (#7438) (@lukekarrys)
+- [`5230647`](https://github.com/npm/cli/commit/52306473da03123ef5623e9e152e10285c8097f3) [#7422](https://github.com/npm/cli/pull/7422) rewrite powershell scripts to use PSScriptRoot (#7422) (@lukekarrys)
+- [`71cbd91`](https://github.com/npm/cli/commit/71cbd91b6f01875a99eeae989ea67489bdd0178d) [#7421](https://github.com/npm/cli/pull/7421) hide banner for exec and explore (#7421) (@lukekarrys)
+- [`57ebebf`](https://github.com/npm/cli/commit/57ebebf03d55d4eda2b6439149a97b595a191aaf) [#7418](https://github.com/npm/cli/pull/7418) update repository.url in package.json (#7418) (@wraithgar)
+
+### Documentation
+
+- [`1674136`](https://github.com/npm/cli/commit/1674136bc14b0f708bb01f75d65474346c863bd9) [#7441](https://github.com/npm/cli/pull/7441) correct search help output (#7441) (@wraithgar)
+
+### Dependencies
+
+- [`80eec03`](https://github.com/npm/cli/commit/80eec03462e5747cb4434d43aff25939826b7850) [#7453](https://github.com/npm/cli/pull/7453) `@npmcli/redact@2.0.0`
+- [`a7145d4`](https://github.com/npm/cli/commit/a7145d422485fcbcb9427efa775c15180c7ee1c2) [#7453](https://github.com/npm/cli/pull/7453) `npm-registry-fetch@17.0.0`
+- [`a785766`](https://github.com/npm/cli/commit/a785766325141335cde39d43eb631062e32d6605) [#7453](https://github.com/npm/cli/pull/7453) `pacote@18.0.3`
+- [`65d76db`](https://github.com/npm/cli/commit/65d76dbd2fb11c83141302500ec4a3f5128ff12f) [#7453](https://github.com/npm/cli/pull/7453) `npm-profile@9.0.2`
+- [`cadc0f0`](https://github.com/npm/cli/commit/cadc0f0cad8909755ae8ac72f2dd5802a0d34943) [#7449](https://github.com/npm/cli/pull/7449) hoist production copy of sprintf-js
+- [`2cffdfe`](https://github.com/npm/cli/commit/2cffdfef45b9a13d189f5059cc69fc7319620fda) [#7449](https://github.com/npm/cli/pull/7449) `lru-cache@10.2.2`
+- [`432efb5`](https://github.com/npm/cli/commit/432efb5ee313ac5bd08642a9cef2b7c52da23ea9) [#7449](https://github.com/npm/cli/pull/7449) `make-fetch-happen@13.0.1`
+- [`9da5738`](https://github.com/npm/cli/commit/9da57388ebd5c643c2a95bbf63abc745cad45ccc) [#7437](https://github.com/npm/cli/pull/7437) `@npmcli/run-script@8.1.0` (#7437)
+- [`762888a`](https://github.com/npm/cli/commit/762888a3b603704c7c53a94a704b8a7f3edea918) [#7429](https://github.com/npm/cli/pull/7429) update dependencies for workspaces (#7429)
+- [workspace](https://github.com/npm/cli/releases/tag/arborist-v7.5.1): `@npmcli/arborist@7.5.1`
+- [workspace](https://github.com/npm/cli/releases/tag/config-v8.3.1): `@npmcli/config@8.3.1`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmaccess-v8.0.5): `libnpmaccess@8.0.5`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmdiff-v6.1.1): `libnpmdiff@6.1.1`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmexec-v8.1.0): `libnpmexec@8.1.0`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmfund-v5.0.9): `libnpmfund@5.0.9`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmhook-v10.0.4): `libnpmhook@10.0.4`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmorg-v6.0.5): `libnpmorg@6.0.5`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmpack-v7.0.1): `libnpmpack@7.0.1`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmpublish-v9.0.7): `libnpmpublish@9.0.7`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmsearch-v7.0.4): `libnpmsearch@7.0.4`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmteam-v6.0.4): `libnpmteam@6.0.4`
+- [workspace](https://github.com/npm/cli/releases/tag/libnpmversion-v6.0.1): `libnpmversion@6.0.1`
+
+### Chores
+
+- [`356c374`](https://github.com/npm/cli/commit/356c374817711845719902184547e1e0ac359b22) [#7453](https://github.com/npm/cli/pull/7453) fix test fixture for new redact behavior (@wraithgar)
+- [`2fba4b7`](https://github.com/npm/cli/commit/2fba4b7b6218900fd895daf5218682edeb4253a4) [#7449](https://github.com/npm/cli/pull/7449) update devDependencies in lockfile (@wraithgar)
+
## [10.6.0](https://github.com/npm/cli/compare/v10.5.2...v10.6.0) (2024-04-25)
### Features
diff --git a/content/cli/v10/using-npm/config.mdx b/content/cli/v10/using-npm/config.mdx
index 623270a193d..6b5c85ec823 100644
--- a/content/cli/v10/using-npm/config.mdx
+++ b/content/cli/v10/using-npm/config.mdx
@@ -3,18 +3,12 @@ title: config
section: 7
description: More than you probably want to know about npm configuration
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/config.md
redirect_from:
- - /cli-documentation/misc/config
- - /cli-documentation/using-npm/config
- /cli-documentation/v10/misc/config
- /cli-documentation/v10/using-npm/config
- - /cli/misc/config
- - /cli/using-npm/config
- /cli/v10/misc/config
- - /misc/config
- - /using-npm/config
---
### Description
@@ -880,7 +874,7 @@ The "prerelease identifier" to use as a prefix for the "prerelease" part of a se
- Default: `true` unless running in a known CI system
- Type: Boolean
-When set to `true`, npm will display a progress bar during time intensive operations, if `process.stderr` is a TTY.
+When set to `true`, npm will display a progress bar during time intensive operations, if `process.stderr` and `process.stdout` are a TTY.
Set to `false` to suppress the progress bar.
@@ -1135,10 +1129,12 @@ See also the `ca` config.
If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.
-Also the tag that is added to the package@version specified by the `npm tag` command, if no explicit tag is given.
+It is the tag added to the package@version specified in the `npm dist-tag add` command, if no explicit tag is given.
When used by the `npm diff` command, this is the tag used to fetch the tarball that will be compared with the local files by default.
+If used in the `npm publish` command, this is the tag that will be added to the package submitted to the registry.
+
#### `tag-version-prefix`
- Default: "v"
diff --git a/content/cli/v10/using-npm/dependency-selectors.mdx b/content/cli/v10/using-npm/dependency-selectors.mdx
index 048d0168ddb..4661242bc19 100644
--- a/content/cli/v10/using-npm/dependency-selectors.mdx
+++ b/content/cli/v10/using-npm/dependency-selectors.mdx
@@ -3,18 +3,12 @@ title: Dependency Selector Syntax & Querying
section: 7
description: Dependency Selector Syntax & Querying
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/dependency-selectors.md
redirect_from:
- - /cli-documentation/misc/dependency-selectors
- - /cli-documentation/using-npm/dependency-selectors
- /cli-documentation/v10/misc/dependency-selectors
- /cli-documentation/v10/using-npm/dependency-selectors
- - /cli/misc/dependency-selectors
- - /cli/using-npm/dependency-selectors
- /cli/v10/misc/dependency-selectors
- - /misc/dependency-selectors
- - /using-npm/dependency-selectors
---
### Description
diff --git a/content/cli/v10/using-npm/developers.mdx b/content/cli/v10/using-npm/developers.mdx
index f80ddec2d44..2a665ddb8df 100644
--- a/content/cli/v10/using-npm/developers.mdx
+++ b/content/cli/v10/using-npm/developers.mdx
@@ -3,18 +3,12 @@ title: developers
section: 7
description: Developer Guide
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/developers.md
redirect_from:
- - /cli-documentation/misc/developers
- - /cli-documentation/using-npm/developers
- /cli-documentation/v10/misc/developers
- /cli-documentation/v10/using-npm/developers
- - /cli/misc/developers
- - /cli/using-npm/developers
- /cli/v10/misc/developers
- - /misc/developers
- - /using-npm/developers
---
### Description
diff --git a/content/cli/v10/using-npm/index.mdx b/content/cli/v10/using-npm/index.mdx
index 930d7b6d58b..87e63ef4c57 100644
--- a/content/cli/v10/using-npm/index.mdx
+++ b/content/cli/v10/using-npm/index.mdx
@@ -2,28 +2,16 @@
title: Using npm
shortName: Using
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/nav.yml
redirect_from:
- - /cli-documentation/misc
- - /cli-documentation/misc/index
- - /cli-documentation/using-npm
- - /cli-documentation/using-npm/index
- /cli-documentation/v10/misc
- /cli-documentation/v10/misc/index
- /cli-documentation/v10/using-npm
- /cli-documentation/v10/using-npm/index
- - /cli/misc
- - /cli/misc/index
- - /cli/using-npm
- - /cli/using-npm/index
- /cli/v10/misc
- /cli/v10/misc/index
- /cli/v10/using-npm/index
- - /misc
- - /misc/index
- - /using-npm
- - /using-npm/index
---
diff --git a/content/cli/v10/using-npm/logging.mdx b/content/cli/v10/using-npm/logging.mdx
index bde0e891e72..dcf0be83286 100644
--- a/content/cli/v10/using-npm/logging.mdx
+++ b/content/cli/v10/using-npm/logging.mdx
@@ -3,18 +3,12 @@ title: Logging
section: 7
description: Why, What & How We Log
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/logging.md
redirect_from:
- - /cli-documentation/misc/logging
- - /cli-documentation/using-npm/logging
- /cli-documentation/v10/misc/logging
- /cli-documentation/v10/using-npm/logging
- - /cli/misc/logging
- - /cli/using-npm/logging
- /cli/v10/misc/logging
- - /misc/logging
- - /using-npm/logging
---
### Description
diff --git a/content/cli/v10/using-npm/orgs.mdx b/content/cli/v10/using-npm/orgs.mdx
index 09d28ceb521..8cd01ae5ef3 100644
--- a/content/cli/v10/using-npm/orgs.mdx
+++ b/content/cli/v10/using-npm/orgs.mdx
@@ -3,18 +3,12 @@ title: orgs
section: 7
description: Working with Teams & Orgs
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/orgs.md
redirect_from:
- - /cli-documentation/misc/orgs
- - /cli-documentation/using-npm/orgs
- /cli-documentation/v10/misc/orgs
- /cli-documentation/v10/using-npm/orgs
- - /cli/misc/orgs
- - /cli/using-npm/orgs
- /cli/v10/misc/orgs
- - /misc/orgs
- - /using-npm/orgs
---
### Description
diff --git a/content/cli/v10/using-npm/package-spec.mdx b/content/cli/v10/using-npm/package-spec.mdx
index f04b40bd2b7..0bab6c00114 100644
--- a/content/cli/v10/using-npm/package-spec.mdx
+++ b/content/cli/v10/using-npm/package-spec.mdx
@@ -3,18 +3,12 @@ title: package-spec
section: 7
description: Package name specifier
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/package-spec.md
redirect_from:
- - /cli-documentation/misc/package-spec
- - /cli-documentation/using-npm/package-spec
- /cli-documentation/v10/misc/package-spec
- /cli-documentation/v10/using-npm/package-spec
- - /cli/misc/package-spec
- - /cli/using-npm/package-spec
- /cli/v10/misc/package-spec
- - /misc/package-spec
- - /using-npm/package-spec
---
### Description
diff --git a/content/cli/v10/using-npm/registry.mdx b/content/cli/v10/using-npm/registry.mdx
index 0163b0992a8..268fc1c2af3 100644
--- a/content/cli/v10/using-npm/registry.mdx
+++ b/content/cli/v10/using-npm/registry.mdx
@@ -3,18 +3,12 @@ title: registry
section: 7
description: The JavaScript Package Registry
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/registry.md
redirect_from:
- - /cli-documentation/misc/registry
- - /cli-documentation/using-npm/registry
- /cli-documentation/v10/misc/registry
- /cli-documentation/v10/using-npm/registry
- - /cli/misc/registry
- - /cli/using-npm/registry
- /cli/v10/misc/registry
- - /misc/registry
- - /using-npm/registry
---
### Description
@@ -27,8 +21,6 @@ You can configure npm to use any compatible registry you like, and even run your
npm's package registry implementation supports several write APIs as well, to allow for publishing packages and managing user account information.
-The npm public registry is powered by a CouchDB database, of which there is a public mirror at [https://skimdb.npmjs.com/registry](https://skimdb.npmjs.com/registry).
-
The registry URL used is determined by the scope of the package (see [`scope`](/cli/v10/using-npm/scope). If no scope is specified, the default registry is used, which is supplied by the [`registry` config](/cli/v10/using-npm/config#registry) parameter. See [`npm config`](/cli/v10/commands/npm-config), [`npmrc`](/cli/v10/configuring-npm/npmrc), and [`config`](/cli/v10/using-npm/config) for more on managing npm's configuration. Authentication configuration such as auth tokens and certificates are configured specifically scoped to an individual registry. See [Auth Related Configuration](/cli/v10/configuring-npm/npmrc#auth-related-configuration)
When the default registry is used in a package-lock or shrinkwrap it has the special meaning of "the currently configured registry". If you create a lock file while using the default registry you can switch to another registry and npm will install packages from the new registry, but if you create a lock file while using a custom registry packages will be installed from that registry even after you change to another registry.
diff --git a/content/cli/v10/using-npm/removal.mdx b/content/cli/v10/using-npm/removal.mdx
index 840f246c909..48abf8cc1cc 100644
--- a/content/cli/v10/using-npm/removal.mdx
+++ b/content/cli/v10/using-npm/removal.mdx
@@ -3,28 +3,16 @@ title: removal
section: 7
description: Cleaning the Slate
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/removal.md
redirect_from:
- - /cli-documentation/misc/removal
- - /cli-documentation/misc/removing-npm
- - /cli-documentation/using-npm/removal
- - /cli-documentation/using-npm/removing-npm
- /cli-documentation/v10/misc/removal
- /cli-documentation/v10/misc/removing-npm
- /cli-documentation/v10/using-npm/removal
- /cli-documentation/v10/using-npm/removing-npm
- - /cli/misc/removal
- - /cli/misc/removing-npm
- - /cli/using-npm/removal
- - /cli/using-npm/removing-npm
- /cli/v10/misc/removal
- /cli/v10/misc/removing-npm
- /cli/v10/using-npm/removing-npm
- - /misc/removal
- - /misc/removing-npm
- - /using-npm/removal
- - /using-npm/removing-npm
---
### Synopsis
@@ -35,11 +23,7 @@ So sad to see you go.
sudo npm uninstall npm -g
```
-Or, if that fails, get the npm source code, and do:
-
-```bash
-sudo make uninstall
-```
+Or, if that fails, please proceed to more severe uninstalling methods.
### More Severe Uninstalling
diff --git a/content/cli/v10/using-npm/scope.mdx b/content/cli/v10/using-npm/scope.mdx
index 832363bb529..84228e4cf67 100644
--- a/content/cli/v10/using-npm/scope.mdx
+++ b/content/cli/v10/using-npm/scope.mdx
@@ -3,28 +3,16 @@ title: scope
section: 7
description: Scoped packages
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/scope.md
redirect_from:
- - /cli-documentation/misc/npm-scope
- - /cli-documentation/misc/scope
- - /cli-documentation/using-npm/npm-scope
- - /cli-documentation/using-npm/scope
- /cli-documentation/v10/misc/npm-scope
- /cli-documentation/v10/misc/scope
- /cli-documentation/v10/using-npm/npm-scope
- /cli-documentation/v10/using-npm/scope
- - /cli/misc/npm-scope
- - /cli/misc/scope
- - /cli/using-npm/npm-scope
- - /cli/using-npm/scope
- /cli/v10/misc/npm-scope
- /cli/v10/misc/scope
- /cli/v10/using-npm/npm-scope
- - /misc/npm-scope
- - /misc/scope
- - /using-npm/npm-scope
- - /using-npm/scope
---
### Description
diff --git a/content/cli/v10/using-npm/scripts.mdx b/content/cli/v10/using-npm/scripts.mdx
index d65c7a7ee45..83f867ab296 100644
--- a/content/cli/v10/using-npm/scripts.mdx
+++ b/content/cli/v10/using-npm/scripts.mdx
@@ -3,18 +3,12 @@ title: scripts
section: 7
description: How npm handles the "scripts" field
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/scripts.md
redirect_from:
- - /cli-documentation/misc/scripts
- - /cli-documentation/using-npm/scripts
- /cli-documentation/v10/misc/scripts
- /cli-documentation/v10/using-npm/scripts
- - /cli/misc/scripts
- - /cli/using-npm/scripts
- /cli/v10/misc/scripts
- - /misc/scripts
- - /using-npm/scripts
---
### Description
diff --git a/content/cli/v10/using-npm/workspaces.mdx b/content/cli/v10/using-npm/workspaces.mdx
index 7fa844aea72..acd36e96780 100644
--- a/content/cli/v10/using-npm/workspaces.mdx
+++ b/content/cli/v10/using-npm/workspaces.mdx
@@ -3,18 +3,12 @@ title: workspaces
section: 7
description: Working with workspaces
github_repo: npm/cli
-github_branch: latest
+github_branch: release/v10
github_path: docs/lib/content/using-npm/workspaces.md
redirect_from:
- - /cli-documentation/misc/workspaces
- - /cli-documentation/using-npm/workspaces
- /cli-documentation/v10/misc/workspaces
- /cli-documentation/v10/using-npm/workspaces
- - /cli/misc/workspaces
- - /cli/using-npm/workspaces
- /cli/v10/misc/workspaces
- - /misc/workspaces
- - /using-npm/workspaces
---
### Description
diff --git a/content/cli/v11/commands/index.mdx b/content/cli/v11/commands/index.mdx
new file mode 100644
index 00000000000..35023dcefef
--- /dev/null
+++ b/content/cli/v11/commands/index.mdx
@@ -0,0 +1,30 @@
+---
+title: CLI Commands
+shortName: Commands
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/nav.yml
+redirect_from:
+ - /cli-commands
+ - /cli-commands/index
+ - /cli-documentation/cli
+ - /cli-documentation/cli-commands
+ - /cli-documentation/cli-commands/index
+ - /cli-documentation/commands
+ - /cli-documentation/commands/index
+ - /cli-documentation/v11/cli-commands
+ - /cli-documentation/v11/cli-commands/index
+ - /cli-documentation/v11/commands
+ - /cli-documentation/v11/commands/index
+ - /cli/cli-commands
+ - /cli/cli-commands/index
+ - /cli/commands
+ - /cli/commands/index
+ - /cli/v11/cli-commands
+ - /cli/v11/cli-commands/index
+ - /cli/v11/commands/index
+ - /commands
+ - /commands/index
+---
+
+
diff --git a/content/cli/v11/commands/npm-access.mdx b/content/cli/v11/commands/npm-access.mdx
new file mode 100644
index 00000000000..8bbfb1557e8
--- /dev/null
+++ b/content/cli/v11/commands/npm-access.mdx
@@ -0,0 +1,125 @@
+---
+title: npm-access
+section: 1
+description: Set access level on published packages
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-access.md
+redirect_from:
+ - /cli-commands/access
+ - /cli-commands/npm-access
+ - /cli-documentation/access
+ - /cli-documentation/cli-commands/access
+ - /cli-documentation/cli-commands/npm-access
+ - /cli-documentation/commands/access
+ - /cli-documentation/commands/npm-access
+ - /cli-documentation/npm-access
+ - /cli-documentation/v11/access
+ - /cli-documentation/v11/cli-commands/access
+ - /cli-documentation/v11/cli-commands/npm-access
+ - /cli-documentation/v11/commands/access
+ - /cli-documentation/v11/commands/npm-access
+ - /cli-documentation/v11/npm-access
+ - /cli/access
+ - /cli/cli-commands/access
+ - /cli/cli-commands/npm-access
+ - /cli/commands/access
+ - /cli/commands/npm-access
+ - /cli/npm-access
+ - /cli/v11/access
+ - /cli/v11/cli-commands/access
+ - /cli/v11/cli-commands/npm-access
+ - /cli/v11/commands/access
+ - /cli/v11/npm-access
+ - /commands/access
+ - /commands/npm-access
+---
+
+### Synopsis
+
+```bash
+npm access list packages [||] []
+npm access list collaborators [ []]
+npm access get status []
+npm access set status=public|private []
+npm access set mfa=none|publish|automation []
+npm access grant []
+npm access revoke []
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Used to set access controls on private packages.
+
+For all of the subcommands, `npm access` will perform actions on the packages in the current working directory if no package name is passed to the subcommand.
+
+- public / restricted (deprecated): Set a package to be either publicly accessible or restricted.
+
+- grant / revoke (deprecated): Add or remove the ability of users and teams to have read-only or read-write access to a package.
+
+- 2fa-required / 2fa-not-required (deprecated): Configure whether a package requires that anyone publishing it have two-factor authentication enabled on their account.
+
+- ls-packages (deprecated): Show all of the packages a user or a team is able to access, along with the access level, except for read-only public packages (it won't print the whole registry listing)
+
+- ls-collaborators (deprecated): Show all of the access privileges for a package. Will only show permissions for packages to which you have at least read access. If `` is passed in, the list is filtered only to teams _that_ user happens to belong to.
+
+- edit (not implemented)
+
+### Details
+
+`npm access` always operates directly on the current registry, configurable from the command line using `--registry=`.
+
+Unscoped packages are _always public_.
+
+Scoped packages _default to restricted_, but you can either publish them as public using `npm publish --access=public`, or set their access as public using `npm access public` after the initial publish.
+
+You must have privileges to set the access of a package:
+
+- You are an owner of an unscoped or scoped package.
+- You are a member of the team that owns a scope.
+- You have been given read-write privileges for a package, either as a member of a team or directly as an owner.
+
+If you have two-factor authentication enabled then you'll be prompted to provide a second factor, or may use the `--otp=...` option to specify it on the command line.
+
+If your account is not paid, then attempts to publish scoped packages will fail with an HTTP 402 status code (logically enough), unless you use `--access=public`.
+
+Management of teams and team memberships is done with the `npm team` command.
+
+### Configuration
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `otp`
+
+- Default: null
+- Type: null or String
+
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with `npm access`.
+
+If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+### See Also
+
+- [`libnpmaccess`](https://npm.im/libnpmaccess)
+- [npm team](/cli/v11/commands/npm-team)
+- [npm publish](/cli/v11/commands/npm-publish)
+- [npm config](/cli/v11/commands/npm-config)
+- [npm registry](/cli/v11/using-npm/registry)
diff --git a/content/cli/v11/commands/npm-adduser.mdx b/content/cli/v11/commands/npm-adduser.mdx
new file mode 100644
index 00000000000..d635da5f5bc
--- /dev/null
+++ b/content/cli/v11/commands/npm-adduser.mdx
@@ -0,0 +1,105 @@
+---
+title: npm-adduser
+section: 1
+description: Add a registry user account
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-adduser.md
+redirect_from:
+ - /cli-commands/adduser
+ - /cli-commands/npm-adduser
+ - /cli-documentation/adduser
+ - /cli-documentation/cli-commands/adduser
+ - /cli-documentation/cli-commands/npm-adduser
+ - /cli-documentation/commands/adduser
+ - /cli-documentation/commands/npm-adduser
+ - /cli-documentation/npm-adduser
+ - /cli-documentation/v11/adduser
+ - /cli-documentation/v11/cli-commands/adduser
+ - /cli-documentation/v11/cli-commands/npm-adduser
+ - /cli-documentation/v11/commands/adduser
+ - /cli-documentation/v11/commands/npm-adduser
+ - /cli-documentation/v11/npm-adduser
+ - /cli/adduser
+ - /cli/cli-commands/adduser
+ - /cli/cli-commands/npm-adduser
+ - /cli/commands/adduser
+ - /cli/commands/npm-adduser
+ - /cli/npm-adduser
+ - /cli/v11/adduser
+ - /cli/v11/cli-commands/adduser
+ - /cli/v11/cli-commands/npm-adduser
+ - /cli/v11/commands/adduser
+ - /cli/v11/npm-adduser
+ - /commands/adduser
+ - /commands/npm-adduser
+---
+
+### Synopsis
+
+```bash
+npm adduser
+
+alias: add-user
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Create a new user in the specified registry, and save the credentials to the `.npmrc` file. If no registry is specified, the default registry will be used (see [`registry`](/cli/v11/using-npm/registry)).
+
+When using `legacy` for your `auth-type`, the username, password, and email are read in from prompts.
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `scope`
+
+- Default: the scope of the current project, if any, or ""
+- Type: String
+
+Associate an operation with a scope for a scoped registry.
+
+Useful when logging in to or out of a private registry:
+
+```
+# log in, linking the scope to the custom registry
+npm login --scope=@mycorp --registry=https://registry.mycorp.com
+
+# log out, removing the link and the auth token
+npm logout --scope=@mycorp
+```
+
+This will cause `@mycorp` to be mapped to the registry for future installation of packages specified according to the pattern `@mycorp/package`.
+
+This will also cause `npm init` to create a scoped package.
+
+```
+# accept all defaults, and create a package named "@foo/whatever",
+# instead of just named "whatever"
+npm init --scope=@foo --yes
+```
+
+#### `auth-type`
+
+- Default: "web"
+- Type: "legacy" or "web"
+
+What authentication strategy to use with `login`. Note that if an `otp` config is given, this value will always be set to `legacy`.
+
+### See Also
+
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [npm owner](/cli/v11/commands/npm-owner)
+- [npm whoami](/cli/v11/commands/npm-whoami)
+- [npm token](/cli/v11/commands/npm-token)
+- [npm profile](/cli/v11/commands/npm-profile)
diff --git a/content/cli/v11/commands/npm-audit.mdx b/content/cli/v11/commands/npm-audit.mdx
new file mode 100644
index 00000000000..0a199d703fa
--- /dev/null
+++ b/content/cli/v11/commands/npm-audit.mdx
@@ -0,0 +1,379 @@
+---
+title: npm-audit
+section: 1
+description: Run a security audit
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-audit.md
+redirect_from:
+ - /cli-commands/audit
+ - /cli-commands/npm-audit
+ - /cli-documentation/audit
+ - /cli-documentation/cli-commands/audit
+ - /cli-documentation/cli-commands/npm-audit
+ - /cli-documentation/commands/audit
+ - /cli-documentation/commands/npm-audit
+ - /cli-documentation/npm-audit
+ - /cli-documentation/v11/audit
+ - /cli-documentation/v11/cli-commands/audit
+ - /cli-documentation/v11/cli-commands/npm-audit
+ - /cli-documentation/v11/commands/audit
+ - /cli-documentation/v11/commands/npm-audit
+ - /cli-documentation/v11/npm-audit
+ - /cli/audit
+ - /cli/cli-commands/audit
+ - /cli/cli-commands/npm-audit
+ - /cli/commands/audit
+ - /cli/commands/npm-audit
+ - /cli/npm-audit
+ - /cli/v11/audit
+ - /cli/v11/cli-commands/audit
+ - /cli/v11/cli-commands/npm-audit
+ - /cli/v11/commands/audit
+ - /cli/v11/npm-audit
+ - /commands/audit
+ - /commands/npm-audit
+---
+
+### Synopsis
+
+```bash
+npm audit [fix|signatures]
+```
+
+### Description
+
+The audit command submits a description of the dependencies configured in your project to your default registry and asks for a report of known vulnerabilities. If any vulnerabilities are found, then the impact and appropriate remediation will be calculated. If the `fix` argument is provided, then remediations will be applied to the package tree.
+
+The command will exit with a 0 exit code if no vulnerabilities were found.
+
+Note that some vulnerabilities cannot be fixed automatically and will require manual intervention or review. Also note that since `npm audit fix` runs a full-fledged `npm install` under the hood, all configs that apply to the installer will also apply to `npm install` -- so things like `npm audit fix --package-lock-only` will work as expected.
+
+By default, the audit command will exit with a non-zero code if any vulnerability is found. It may be useful in CI environments to include the `--audit-level` parameter to specify the minimum vulnerability level that will cause the command to fail. This option does not filter the report output, it simply changes the command's failure threshold.
+
+### Package lock
+
+By default npm requires a package-lock or shrinkwrap in order to run the audit. You can bypass the package lock with `--no-package-lock` but be aware the results may be different with every run, since npm will re-build the dependency tree each time.
+
+### Audit Signatures
+
+To ensure the integrity of packages you download from the public npm registry, or any registry that supports signatures, you can verify the registry signatures of downloaded packages using the npm CLI.
+
+Registry signatures can be verified using the following `audit` command:
+
+```bash
+$ npm audit signatures
+```
+
+The `audit signatures` command will also verify the provenance attestations of downloaded packages. Because provenance attestations are such a new feature, security features may be added to (or changed in) the attestation format over time. To ensure that you're always able to verify attestation signatures check that you're running the latest version of the npm CLI. Please note this often means updating npm beyond the version that ships with Node.js.
+
+The npm CLI supports registry signatures and signing keys provided by any registry if the following conventions are followed:
+
+1. Signatures are provided in the package's `packument` in each published version within the `dist` object:
+
+```json
+"dist":{
+ "..omitted..": "..omitted..",
+ "signatures": [{
+ "keyid": "SHA256:{{SHA256_PUBLIC_KEY}}",
+ "sig": "a312b9c3cb4a1b693e8ebac5ee1ca9cc01f2661c14391917dcb111517f72370809..."
+ }]
+}
+```
+
+See this [example](https://registry.npmjs.org/light-cycle/1.4.3) of a signed package from the public npm registry.
+
+The `sig` is generated using the following template: `${package.name}@${package.version}:${package.dist.integrity}` and the `keyid` has to match one of the public signing keys below.
+
+2. Public signing keys are provided at `registry-host.tld/-/npm/v1/keys` in the following format:
+
+```
+{
+ "keys": [{
+ "expires": null,
+ "keyid": "SHA256:{{SHA256_PUBLIC_KEY}}",
+ "keytype": "ecdsa-sha2-nistp256",
+ "scheme": "ecdsa-sha2-nistp256",
+ "key": "{{B64_PUBLIC_KEY}}"
+ }]
+}
+```
+
+Keys response:
+
+- `expires`: null or a simplified extended [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DDTHH:mm:ss.sssZ`
+- `keydid`: sha256 fingerprint of the public key
+- `keytype`: only `ecdsa-sha2-nistp256` is currently supported by the npm CLI
+- `scheme`: only `ecdsa-sha2-nistp256` is currently supported by the npm CLI
+- `key`: base64 encoded public key
+
+See this [example key's response from the public npm registry](https://registry.npmjs.org/-/npm/v1/keys).
+
+### Audit Endpoints
+
+There are two audit endpoints that npm may use to fetch vulnerability information: the `Bulk Advisory` endpoint and the `Quick Audit` endpoint.
+
+#### Bulk Advisory Endpoint
+
+As of version 7, npm uses the much faster `Bulk Advisory` endpoint to optimize the speed of calculating audit results.
+
+npm will generate a JSON payload with the name and list of versions of each package in the tree, and POST it to the default configured registry at the path `/-/npm/v1/security/advisories/bulk`.
+
+Any packages in the tree that do not have a `version` field in their package.json file will be ignored. If any `--omit` options are specified (either via the [`--omit` config](/cli/v11/using-npm/config#omit), or one of the shorthands such as `--production`, `--only=dev`, and so on), then packages will be omitted from the submitted payload as appropriate.
+
+If the registry responds with an error, or with an invalid response, then npm will attempt to load advisory data from the `Quick Audit` endpoint.
+
+The expected result will contain a set of advisory objects for each dependency that matches the advisory range. Each advisory object contains a `name`, `url`, `id`, `severity`, `vulnerable_versions`, and `title`.
+
+npm then uses these advisory objects to calculate vulnerabilities and meta-vulnerabilities of the dependencies within the tree.
+
+#### Quick Audit Endpoint
+
+If the `Bulk Advisory` endpoint returns an error, or invalid data, npm will attempt to load advisory data from the `Quick Audit` endpoint, which is considerably slower in most cases.
+
+The full package tree as found in `package-lock.json` is submitted, along with the following pieces of additional metadata:
+
+- `npm_version`
+- `node_version`
+- `platform`
+- `arch`
+- `node_env`
+
+All packages in the tree are submitted to the Quick Audit endpoint. Omitted dependency types are skipped when generating the report.
+
+#### Scrubbing
+
+Out of an abundance of caution, npm versions 5 and 6 would "scrub" any packages from the submitted report if their name contained a `/` character, so as to avoid leaking the names of potentially private packages or git URLs.
+
+However, in practice, this resulted in audits often failing to properly detect meta-vulnerabilities, because the tree would appear to be invalid due to missing dependencies, and prevented the detection of vulnerabilities in package trees that used git dependencies or private modules.
+
+This scrubbing has been removed from npm as of version 7.
+
+#### Calculating Meta-Vulnerabilities and Remediations
+
+npm uses the [`@npmcli/metavuln-calculator`](http://npm.im/@npmcli/metavuln-calculator) module to turn a set of security advisories into a set of "vulnerability" objects. A "meta-vulnerability" is a dependency that is vulnerable by virtue of dependence on vulnerable versions of a vulnerable package.
+
+For example, if the package `foo` is vulnerable in the range `>=1.0.2 <2.0.0`, and the package `bar` depends on `foo@^1.1.0`, then that version of `bar` can only be installed by installing a vulnerable version of `foo`. In this case, `bar` is a "metavulnerability".
+
+Once metavulnerabilities for a given package are calculated, they are cached in the `~/.npm` folder and only re-evaluated if the advisory range changes, or a new version of the package is published (in which case, the new version is checked for metavulnerable status as well).
+
+If the chain of metavulnerabilities extends all the way to the root project, and it cannot be updated without changing its dependency ranges, then `npm audit fix` will require the `--force` option to apply the remediation. If remediations do not require changes to the dependency ranges, then all vulnerable packages will be updated to a version that does not have an advisory or metavulnerability posted against it.
+
+### Exit Code
+
+The `npm audit` command will exit with a 0 exit code if no vulnerabilities were found. The `npm audit fix` command will exit with 0 exit code if no vulnerabilities are found _or_ if the remediation is able to successfully fix all vulnerabilities.
+
+If vulnerabilities were found the exit code will depend on the [`audit-level` config](/cli/v11/using-npm/config#audit-level).
+
+### Examples
+
+Scan your project for vulnerabilities and automatically install any compatible updates to vulnerable dependencies:
+
+```bash
+$ npm audit fix
+```
+
+Run `audit fix` without modifying `node_modules`, but still updating the pkglock:
+
+```bash
+$ npm audit fix --package-lock-only
+```
+
+Skip updating `devDependencies`:
+
+```bash
+$ npm audit fix --only=prod
+```
+
+Have `audit fix` install SemVer-major updates to toplevel dependencies, not just SemVer-compatible ones:
+
+```bash
+$ npm audit fix --force
+```
+
+Do a dry run to get an idea of what `audit fix` will do, and _also_ output install information in JSON format:
+
+```bash
+$ npm audit fix --dry-run --json
+```
+
+Scan your project for vulnerabilities and just show the details, without fixing anything:
+
+```bash
+$ npm audit
+```
+
+Get the detailed audit report in JSON format:
+
+```bash
+$ npm audit --json
+```
+
+Fail an audit only if the results include a vulnerability with a level of moderate or higher:
+
+```bash
+$ npm audit --audit-level=moderate
+```
+
+### Configuration
+
+#### `audit-level`
+
+- Default: null
+- Type: null, "info", "low", "moderate", "high", "critical", or "none"
+
+The minimum level of vulnerability for `npm audit` to exit with a non-zero exit code.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `force`
+
+- Default: false
+- Type: Boolean
+
+Removes various protections against unfortunate side effects, common mistakes, unnecessary performance degradation, and malicious input.
+
+- Allow clobbering non-npm files in global installs.
+- Allow the `npm version` command to work on an unclean git repository.
+- Allow deleting the cache folder with `npm cache clean`.
+- Allow installing packages that have an `engines` declaration requiring a different version of npm.
+- Allow installing packages that have an `engines` declaration requiring a different version of `node`, even if `--engine-strict` is enabled.
+- Allow `npm audit fix` to install modules outside your stated dependency range (including SemVer-major changes).
+- Allow unpublishing all versions of a published package.
+- Allow conflicting peerDependencies to be installed in the root project.
+- Implicitly set `--yes` during `npm init`.
+- Allow clobbering existing values in `npm pkg`
+- Allow unpublishing of entire packages (not just a single version).
+
+If you don't have a clear idea of what you want to do, it is strongly recommended that you do not use this option!
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `package-lock-only`
+
+- Default: false
+- Type: Boolean
+
+If set to true, the current operation will only use the `package-lock.json`, ignoring `node_modules`.
+
+For `update` this means only the `package-lock.json` will be updated, instead of checking `node_modules` and downloading dependencies.
+
+For `list` this means the output will be based on the tree described by the `package-lock.json`, rather than the contents of `node_modules`.
+
+#### `package-lock`
+
+- Default: true
+- Type: Boolean
+
+If set to false, then ignore `package-lock.json` files when installing. This will also prevent _writing_ `package-lock.json` if `save` is true.
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `foreground-scripts`
+
+- Default: `false` unless when using `npm pack` or `npm publish` where it defaults to `true`
+- Type: Boolean
+
+Run all build scripts (ie, `preinstall`, `install`, and `postinstall`) scripts for installed packages in the foreground process, sharing standard input, output, and error with the main npm process.
+
+Note that this will generally make installs run slower, and be much noisier, but can be useful for debugging.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [npm install](/cli/v11/commands/npm-install)
+- [config](/cli/v11/using-npm/config)
diff --git a/content/cli/v11/commands/npm-bugs.mdx b/content/cli/v11/commands/npm-bugs.mdx
new file mode 100644
index 00000000000..2bb1d3903e8
--- /dev/null
+++ b/content/cli/v11/commands/npm-bugs.mdx
@@ -0,0 +1,119 @@
+---
+title: npm-bugs
+section: 1
+description: Report bugs for a package in a web browser
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-bugs.md
+redirect_from:
+ - /cli-commands/bugs
+ - /cli-commands/npm-bugs
+ - /cli-documentation/bugs
+ - /cli-documentation/cli-commands/bugs
+ - /cli-documentation/cli-commands/npm-bugs
+ - /cli-documentation/commands/bugs
+ - /cli-documentation/commands/npm-bugs
+ - /cli-documentation/npm-bugs
+ - /cli-documentation/v11/bugs
+ - /cli-documentation/v11/cli-commands/bugs
+ - /cli-documentation/v11/cli-commands/npm-bugs
+ - /cli-documentation/v11/commands/bugs
+ - /cli-documentation/v11/commands/npm-bugs
+ - /cli-documentation/v11/npm-bugs
+ - /cli/bugs
+ - /cli/cli-commands/bugs
+ - /cli/cli-commands/npm-bugs
+ - /cli/commands/bugs
+ - /cli/commands/npm-bugs
+ - /cli/npm-bugs
+ - /cli/v11/bugs
+ - /cli/v11/cli-commands/bugs
+ - /cli/v11/cli-commands/npm-bugs
+ - /cli/v11/commands/bugs
+ - /cli/v11/npm-bugs
+ - /commands/bugs
+ - /commands/npm-bugs
+---
+
+### Synopsis
+
+```bash
+npm bugs [ [ ...]]
+
+alias: issues
+```
+
+### Description
+
+This command tries to guess at the likely location of a package's bug tracker URL or the `mailto` URL of the support email, and then tries to open it using the [`--browser` config](/cli/v11/using-npm/config#browser) param. If no package name is provided, it will search for a `package.json` in the current folder and use the `name` property.
+
+### Configuration
+
+#### `browser`
+
+- Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
+- Type: null, Boolean, or String
+
+The browser that is called by npm commands to open websites.
+
+Set to `false` to suppress browser behavior and instead print urls to terminal.
+
+Set to `true` to use default system URL opener.
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+### See Also
+
+- [npm docs](/cli/v11/commands/npm-docs)
+- [npm view](/cli/v11/commands/npm-view)
+- [npm publish](/cli/v11/commands/npm-publish)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [package.json](/cli/v11/configuring-npm/package-json)
diff --git a/content/cli/v11/commands/npm-cache.mdx b/content/cli/v11/commands/npm-cache.mdx
new file mode 100644
index 00000000000..d417aa946da
--- /dev/null
+++ b/content/cli/v11/commands/npm-cache.mdx
@@ -0,0 +1,112 @@
+---
+title: npm-cache
+section: 1
+description: Manipulates packages cache
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-cache.md
+redirect_from:
+ - /cli-commands/cache
+ - /cli-commands/npm-cache
+ - /cli-documentation/cache
+ - /cli-documentation/cli-commands/cache
+ - /cli-documentation/cli-commands/npm-cache
+ - /cli-documentation/commands/cache
+ - /cli-documentation/commands/npm-cache
+ - /cli-documentation/npm-cache
+ - /cli-documentation/v11/cache
+ - /cli-documentation/v11/cli-commands/cache
+ - /cli-documentation/v11/cli-commands/npm-cache
+ - /cli-documentation/v11/commands/cache
+ - /cli-documentation/v11/commands/npm-cache
+ - /cli-documentation/v11/npm-cache
+ - /cli/cache
+ - /cli/cli-commands/cache
+ - /cli/cli-commands/npm-cache
+ - /cli/commands/cache
+ - /cli/commands/npm-cache
+ - /cli/npm-cache
+ - /cli/v11/cache
+ - /cli/v11/cli-commands/cache
+ - /cli/v11/cli-commands/npm-cache
+ - /cli/v11/commands/cache
+ - /cli/v11/npm-cache
+ - /commands/cache
+ - /commands/npm-cache
+---
+
+### Synopsis
+
+```bash
+npm cache add
+npm cache clean []
+npm cache ls [@]
+npm cache verify
+npm cache npx ls
+npm cache npx rm [...]
+npm cache npx info ...
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Used to add, list, or clean the `npm cache` folder. Also used to view info about entries in the `npm exec` (aka `npx`) cache folder.
+
+#### `npm cache`
+
+- add: Add the specified packages to the local cache. This command is primarily intended to be used internally by npm, but it can provide a way to add data to the local installation cache explicitly.
+
+- clean: Delete a single entry or all entries out of the cache folder. Note that this is typically unnecessary, as npm's cache is self-healing and resistant to data corruption issues.
+
+- ls: List given entries or all entries in the local cache.
+
+- verify: Verify the contents of the cache folder, garbage collecting any unneeded data, and verifying the integrity of the cache index and all cached data.
+
+#### `npm cache npx`
+
+- ls: List all entries in the npx cache.
+
+- rm: Remove given entries or all entries from the npx cache.
+
+- info: Get detailed information about given entries in the npx cache.
+
+### Details
+
+npm stores cache data in an opaque directory within the configured `cache`, named `_cacache`. This directory is a [`cacache`](http://npm.im/cacache)-based content-addressable cache that stores all http request data as well as other package-related data. This directory is primarily accessed through `pacote`, the library responsible for all package fetching as of npm@5.
+
+All data that passes through the cache is fully verified for integrity on both insertion and extraction. Cache corruption will either trigger an error, or signal to `pacote` that the data must be refetched, which it will do automatically. For this reason, it should never be necessary to clear the cache for any reason other than reclaiming disk space, thus why `clean` now requires `--force` to run.
+
+There is currently no method exposed through npm to inspect or directly manage the contents of this cache. In order to access it, `cacache` must be used directly.
+
+npm will not remove data by itself: the cache will grow as new packages are installed.
+
+### A note about the cache's design
+
+The npm cache is strictly a cache: it should not be relied upon as a persistent and reliable data store for package data. npm makes no guarantee that a previously-cached piece of data will be available later, and will automatically delete corrupted contents. The primary guarantee that the cache makes is that, if it does return data, that data will be exactly the data that was inserted.
+
+To run an offline verification of existing cache contents, use `npm cache verify`.
+
+### Configuration
+
+#### `cache`
+
+- Default: Windows: `%LocalAppData%\npm-cache`, Posix: `~/.npm`
+- Type: Path
+
+The location of npm's cache directory.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [npm install](/cli/v11/commands/npm-install)
+- [npm publish](/cli/v11/commands/npm-publish)
+- [npm pack](/cli/v11/commands/npm-pack)
+- [npm exec](/cli/v11/commands/npm-exec)
+- https://npm.im/cacache
+- https://npm.im/pacote
+- https://npm.im/@npmcli/arborist
+- https://npm.im/make-fetch-happen
diff --git a/content/cli/v11/commands/npm-ci.mdx b/content/cli/v11/commands/npm-ci.mdx
new file mode 100644
index 00000000000..e31fe0e1dff
--- /dev/null
+++ b/content/cli/v11/commands/npm-ci.mdx
@@ -0,0 +1,251 @@
+---
+title: npm-ci
+section: 1
+description: Clean install a project
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-ci.md
+redirect_from:
+ - /cli-commands/ci
+ - /cli-commands/npm-ci
+ - /cli-documentation/ci
+ - /cli-documentation/cli-commands/ci
+ - /cli-documentation/cli-commands/npm-ci
+ - /cli-documentation/commands/ci
+ - /cli-documentation/commands/npm-ci
+ - /cli-documentation/npm-ci
+ - /cli-documentation/v11/ci
+ - /cli-documentation/v11/cli-commands/ci
+ - /cli-documentation/v11/cli-commands/npm-ci
+ - /cli-documentation/v11/commands/ci
+ - /cli-documentation/v11/commands/npm-ci
+ - /cli-documentation/v11/npm-ci
+ - /cli/ci
+ - /cli/cli-commands/ci
+ - /cli/cli-commands/npm-ci
+ - /cli/commands/ci
+ - /cli/commands/npm-ci
+ - /cli/npm-ci
+ - /cli/v11/ci
+ - /cli/v11/cli-commands/ci
+ - /cli/v11/cli-commands/npm-ci
+ - /cli/v11/commands/ci
+ - /cli/v11/npm-ci
+ - /commands/ci
+ - /commands/npm-ci
+---
+
+### Synopsis
+
+```bash
+npm ci
+
+aliases: clean-install, ic, install-clean, isntall-clean
+```
+
+### Description
+
+This command is similar to [`npm install`](/cli/v11/commands/npm-install), except it's meant to be used in automated environments such as test platforms, continuous integration, and deployment -- or any situation where you want to make sure you're doing a clean install of your dependencies.
+
+The main differences between using `npm install` and `npm ci` are:
+
+- The project **must** have an existing `package-lock.json` or `npm-shrinkwrap.json`.
+- If dependencies in the package lock do not match those in `package.json`, `npm ci` will exit with an error, instead of updating the package lock.
+- `npm ci` can only install entire projects at a time: individual dependencies cannot be added with this command.
+- If a `node_modules` is already present, it will be automatically removed before `npm ci` begins its install.
+- It will never write to `package.json` or any of the package-locks: installs are essentially frozen.
+
+NOTE: If you create your `package-lock.json` file by running `npm install` with flags that can affect the shape of your dependency tree, such as `--legacy-peer-deps` or `--install-links`, you _must_ provide the same flags to `npm ci` or you are likely to encounter errors. An easy way to do this is to run, for example, `npm config set legacy-peer-deps=true --location=project` and commit the `.npmrc` file to your repo.
+
+### Example
+
+Make sure you have a package-lock and an up-to-date install:
+
+```bash
+$ cd ./my/npm/project
+$ npm install
+added 154 packages in 10s
+$ ls | grep package-lock
+```
+
+Run `npm ci` in that project
+
+```bash
+$ npm ci
+added 154 packages in 5s
+```
+
+Configure Travis CI to build using `npm ci` instead of `npm install`:
+
+```bash
+# .travis.yml
+install:
+- npm ci
+# keep the npm cache around to speed up installs
+cache:
+ directories:
+ - "$HOME/.npm"
+```
+
+### Configuration
+
+#### `install-strategy`
+
+- Default: "hoisted"
+- Type: "hoisted", "nested", "shallow", or "linked"
+
+Sets the strategy for installing packages in node_modules. hoisted (default): Install non-duplicated in top-level, and duplicated as necessary within directory structure. nested: (formerly --legacy-bundling) install in place, no hoisting. shallow (formerly --global-style) only install direct deps at top-level. linked: (experimental) install in node_modules/.store, link in place, unhoisted.
+
+#### `legacy-bundling`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=nested`
+
+Instead of hoisting package installs in `node_modules`, install packages in the same manner that they are depended on. This may cause very deep directory structures and duplicate package installs as there is no de-duplicating. Sets `--install-strategy=nested`.
+
+#### `global-style`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=shallow`
+
+Only install direct dependencies in the top level `node_modules`, but hoist on deeper dependencies. Sets `--install-strategy=shallow`.
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `strict-peer-deps`
+
+- Default: false
+- Type: Boolean
+
+If set to `true`, and `--legacy-peer-deps` is not set, then _any_ conflicting `peerDependencies` will be treated as an install failure, even if npm could reasonably guess the appropriate resolution based on non-peer dependency relationships.
+
+By default, conflicting `peerDependencies` deep in the dependency graph will be resolved using the nearest non-peer dependency specification, even if doing so will result in some packages receiving a peer dependency outside the range set in their package's `peerDependencies` object.
+
+When such an override is performed, a warning is printed, explaining the conflict and the packages involved. If `--strict-peer-deps` is set, then this warning is treated as a failure.
+
+#### `foreground-scripts`
+
+- Default: `false` unless when using `npm pack` or `npm publish` where it defaults to `true`
+- Type: Boolean
+
+Run all build scripts (ie, `preinstall`, `install`, and `postinstall`) scripts for installed packages in the foreground process, sharing standard input, output, and error with the main npm process.
+
+Note that this will generally make installs run slower, and be much noisier, but can be useful for debugging.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `audit`
+
+- Default: true
+- Type: Boolean
+
+When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes. See the documentation for [`npm audit`](/cli/v11/commands/npm-audit) for details on what is submitted.
+
+#### `bin-links`
+
+- Default: true
+- Type: Boolean
+
+Tells npm to create symlinks (or `.cmd` shims on Windows) for package executables.
+
+Set to false to have it not do this. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems.
+
+#### `fund`
+
+- Default: true
+- Type: Boolean
+
+When "true" displays the message at the end of each `npm install` acknowledging the number of dependencies looking for funding. See [`npm fund`](/cli/v11/commands/npm-fund) for details.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [npm install](/cli/v11/commands/npm-install)
+- [package-lock.json](/cli/v11/configuring-npm/package-lock-json)
diff --git a/content/cli/v11/commands/npm-completion.mdx b/content/cli/v11/commands/npm-completion.mdx
new file mode 100644
index 00000000000..e87a877db13
--- /dev/null
+++ b/content/cli/v11/commands/npm-completion.mdx
@@ -0,0 +1,64 @@
+---
+title: npm-completion
+section: 1
+description: Tab Completion for npm
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-completion.md
+redirect_from:
+ - /cli-commands/completion
+ - /cli-commands/npm-completion
+ - /cli-documentation/cli-commands/completion
+ - /cli-documentation/cli-commands/npm-completion
+ - /cli-documentation/commands/completion
+ - /cli-documentation/commands/npm-completion
+ - /cli-documentation/completion
+ - /cli-documentation/npm-completion
+ - /cli-documentation/v11/cli-commands/completion
+ - /cli-documentation/v11/cli-commands/npm-completion
+ - /cli-documentation/v11/commands/completion
+ - /cli-documentation/v11/commands/npm-completion
+ - /cli-documentation/v11/completion
+ - /cli-documentation/v11/npm-completion
+ - /cli/cli-commands/completion
+ - /cli/cli-commands/npm-completion
+ - /cli/commands/completion
+ - /cli/commands/npm-completion
+ - /cli/completion
+ - /cli/npm-completion
+ - /cli/v11/cli-commands/completion
+ - /cli/v11/cli-commands/npm-completion
+ - /cli/v11/commands/completion
+ - /cli/v11/completion
+ - /cli/v11/npm-completion
+ - /commands/completion
+ - /commands/npm-completion
+---
+
+### Synopsis
+
+```bash
+npm completion
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Enables tab-completion in all npm commands.
+
+The synopsis above loads the completions into your current shell. Adding it to your ~/.bashrc or ~/.zshrc will make the completions available everywhere:
+
+```bash
+npm completion >> ~/.bashrc
+npm completion >> ~/.zshrc
+```
+
+You may of course also pipe the output of `npm completion` to a file such as `/usr/local/etc/bash_completion.d/npm` or `/etc/bash_completion.d/npm` if you have a system that will read that file for you.
+
+When `COMP_CWORD`, `COMP_LINE`, and `COMP_POINT` are defined in the environment, `npm completion` acts in "plumbing mode", and outputs completions based on the arguments.
+
+### See Also
+
+- [npm developers](/cli/v11/using-npm/developers)
+- [npm](/cli/v11/commands/npm)
diff --git a/content/cli/v11/commands/npm-config.mdx b/content/cli/v11/commands/npm-config.mdx
new file mode 100644
index 00000000000..8fff69e2432
--- /dev/null
+++ b/content/cli/v11/commands/npm-config.mdx
@@ -0,0 +1,182 @@
+---
+title: npm-config
+section: 1
+description: Manage the npm configuration files
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-config.md
+redirect_from:
+ - /cli-commands/config
+ - /cli-commands/npm-config
+ - /cli-documentation/cli-commands/config
+ - /cli-documentation/cli-commands/npm-config
+ - /cli-documentation/commands/config
+ - /cli-documentation/commands/npm-config
+ - /cli-documentation/config
+ - /cli-documentation/npm-config
+ - /cli-documentation/v11/cli-commands/config
+ - /cli-documentation/v11/cli-commands/npm-config
+ - /cli-documentation/v11/commands/config
+ - /cli-documentation/v11/commands/npm-config
+ - /cli-documentation/v11/config
+ - /cli-documentation/v11/npm-config
+ - /cli/cli-commands/config
+ - /cli/cli-commands/npm-config
+ - /cli/commands/config
+ - /cli/commands/npm-config
+ - /cli/config
+ - /cli/npm-config
+ - /cli/v11/cli-commands/config
+ - /cli/v11/cli-commands/npm-config
+ - /cli/v11/commands/config
+ - /cli/v11/config
+ - /cli/v11/npm-config
+ - /commands/config
+ - /commands/npm-config
+---
+
+### Synopsis
+
+```bash
+npm config set = [= ...]
+npm config get [ [ ...]]
+npm config delete [ ...]
+npm config list [--json]
+npm config edit
+npm config fix
+
+alias: c
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+npm gets its config settings from the command line, environment variables, `npmrc` files, and in some cases, the `package.json` file.
+
+See [npmrc](/cli/v11/configuring-npm/npmrc) for more information about the npmrc files.
+
+See [config](/cli/v11/using-npm/config) for a more thorough explanation of the mechanisms involved, and a full list of config options available.
+
+The `npm config` command can be used to update and edit the contents of the user and global npmrc files.
+
+### Sub-commands
+
+Config supports the following sub-commands:
+
+#### set
+
+```bash
+npm config set key=value [key=value...]
+npm set key=value [key=value...]
+```
+
+Sets each of the config keys to the value provided. Modifies the user configuration file unless [`location`](/cli/v11/commands/npm-config#location) is passed.
+
+If value is omitted, the key will be removed from your config file entirely.
+
+Note: for backwards compatibility, `npm config set key value` is supported as an alias for `npm config set key=value`.
+
+#### get
+
+```bash
+npm config get [key ...]
+npm get [key ...]
+```
+
+Echo the config value(s) to stdout.
+
+If multiple keys are provided, then the values will be prefixed with the key names.
+
+If no keys are provided, then this command behaves the same as `npm config list`.
+
+#### list
+
+```bash
+npm config list
+```
+
+Show all the config settings. Use `-l` to also show defaults. Use `--json` to show the settings in json format.
+
+#### delete
+
+```bash
+npm config delete key [key ...]
+```
+
+Deletes the specified keys from all configuration files.
+
+#### edit
+
+```bash
+npm config edit
+```
+
+Opens the config file in an editor. Use the `--global` flag to edit the global config.
+
+#### fix
+
+```bash
+npm config fix
+```
+
+Attempts to repair invalid configuration items. Usually this means attaching authentication config (i.e. `_auth`, `_authToken`) to the configured `registry`.
+
+### Configuration
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `editor`
+
+- Default: The EDITOR or VISUAL environment variables, or '%SYSTEMROOT%\notepad.exe' on Windows, or 'vi' on Unix systems
+- Type: String
+
+The command to run for `npm edit` and `npm config edit`.
+
+#### `location`
+
+- Default: "user" unless `--global` is passed, which will also set this value to "global"
+- Type: "global", "user", or "project"
+
+When passed to `npm config` this refers to which config file to use.
+
+When set to "global" mode, packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `long`
+
+- Default: false
+- Type: Boolean
+
+Show extended information in `ls`, `search`, and `help-search`.
+
+### See Also
+
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm config](/cli/v11/commands/npm-config)
+- [package.json](/cli/v11/configuring-npm/package-json)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [npm](/cli/v11/commands/npm)
diff --git a/content/cli/v11/commands/npm-dedupe.mdx b/content/cli/v11/commands/npm-dedupe.mdx
new file mode 100644
index 00000000000..50c0b003797
--- /dev/null
+++ b/content/cli/v11/commands/npm-dedupe.mdx
@@ -0,0 +1,256 @@
+---
+title: npm-dedupe
+section: 1
+description: Reduce duplication in the package tree
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-dedupe.md
+redirect_from:
+ - /cli-commands/dedupe
+ - /cli-commands/npm-dedupe
+ - /cli-documentation/cli-commands/dedupe
+ - /cli-documentation/cli-commands/npm-dedupe
+ - /cli-documentation/commands/dedupe
+ - /cli-documentation/commands/npm-dedupe
+ - /cli-documentation/dedupe
+ - /cli-documentation/npm-dedupe
+ - /cli-documentation/v11/cli-commands/dedupe
+ - /cli-documentation/v11/cli-commands/npm-dedupe
+ - /cli-documentation/v11/commands/dedupe
+ - /cli-documentation/v11/commands/npm-dedupe
+ - /cli-documentation/v11/dedupe
+ - /cli-documentation/v11/npm-dedupe
+ - /cli/cli-commands/dedupe
+ - /cli/cli-commands/npm-dedupe
+ - /cli/commands/dedupe
+ - /cli/commands/npm-dedupe
+ - /cli/dedupe
+ - /cli/npm-dedupe
+ - /cli/v11/cli-commands/dedupe
+ - /cli/v11/cli-commands/npm-dedupe
+ - /cli/v11/commands/dedupe
+ - /cli/v11/dedupe
+ - /cli/v11/npm-dedupe
+ - /commands/dedupe
+ - /commands/npm-dedupe
+---
+
+### Synopsis
+
+```bash
+npm dedupe
+
+alias: ddp
+```
+
+### Description
+
+Searches the local package tree and attempts to simplify the overall structure by moving dependencies further up the tree, where they can be more effectively shared by multiple dependent packages.
+
+For example, consider this dependency graph:
+
+```
+a
++-- b <-- depends on c@1.0.x
+| `-- c@1.0.3
+`-- d <-- depends on c@~1.0.9
+ `-- c@1.0.10
+```
+
+In this case, `npm dedupe` will transform the tree to:
+
+```bash
+a
++-- b
++-- d
+`-- c@1.0.10
+```
+
+Because of the hierarchical nature of node's module lookup, b and d will both get their dependency met by the single c package at the root level of the tree.
+
+In some cases, you may have a dependency graph like this:
+
+```
+a
++-- b <-- depends on c@1.0.x
++-- c@1.0.3
+`-- d <-- depends on c@1.x
+ `-- c@1.9.9
+```
+
+During the installation process, the `c@1.0.3` dependency for `b` was placed in the root of the tree. Though `d`'s dependency on `c@1.x` could have been satisfied by `c@1.0.3`, the newer `c@1.9.0` dependency was used, because npm favors updates by default, even when doing so causes duplication.
+
+Running `npm dedupe` will cause npm to note the duplication and re-evaluate, deleting the nested `c` module, because the one in the root is sufficient.
+
+To prefer deduplication over novelty during the installation process, run `npm install --prefer-dedupe` or `npm config set prefer-dedupe true`.
+
+Arguments are ignored. Dedupe always acts on the entire tree.
+
+Note that this operation transforms the dependency tree, but will never result in new modules being installed.
+
+Using `npm find-dupes` will run the command in `--dry-run` mode.
+
+Note: `npm dedupe` will never update the semver values of direct dependencies in your project `package.json`, if you want to update values in `package.json` you can run: `npm update --save` instead.
+
+### Configuration
+
+#### `install-strategy`
+
+- Default: "hoisted"
+- Type: "hoisted", "nested", "shallow", or "linked"
+
+Sets the strategy for installing packages in node_modules. hoisted (default): Install non-duplicated in top-level, and duplicated as necessary within directory structure. nested: (formerly --legacy-bundling) install in place, no hoisting. shallow (formerly --global-style) only install direct deps at top-level. linked: (experimental) install in node_modules/.store, link in place, unhoisted.
+
+#### `legacy-bundling`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=nested`
+
+Instead of hoisting package installs in `node_modules`, install packages in the same manner that they are depended on. This may cause very deep directory structures and duplicate package installs as there is no de-duplicating. Sets `--install-strategy=nested`.
+
+#### `global-style`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=shallow`
+
+Only install direct dependencies in the top level `node_modules`, but hoist on deeper dependencies. Sets `--install-strategy=shallow`.
+
+#### `strict-peer-deps`
+
+- Default: false
+- Type: Boolean
+
+If set to `true`, and `--legacy-peer-deps` is not set, then _any_ conflicting `peerDependencies` will be treated as an install failure, even if npm could reasonably guess the appropriate resolution based on non-peer dependency relationships.
+
+By default, conflicting `peerDependencies` deep in the dependency graph will be resolved using the nearest non-peer dependency specification, even if doing so will result in some packages receiving a peer dependency outside the range set in their package's `peerDependencies` object.
+
+When such an override is performed, a warning is printed, explaining the conflict and the packages involved. If `--strict-peer-deps` is set, then this warning is treated as a failure.
+
+#### `package-lock`
+
+- Default: true
+- Type: Boolean
+
+If set to false, then ignore `package-lock.json` files when installing. This will also prevent _writing_ `package-lock.json` if `save` is true.
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `audit`
+
+- Default: true
+- Type: Boolean
+
+When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes. See the documentation for [`npm audit`](/cli/v11/commands/npm-audit) for details on what is submitted.
+
+#### `bin-links`
+
+- Default: true
+- Type: Boolean
+
+Tells npm to create symlinks (or `.cmd` shims on Windows) for package executables.
+
+Set to false to have it not do this. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems.
+
+#### `fund`
+
+- Default: true
+- Type: Boolean
+
+When "true" displays the message at the end of each `npm install` acknowledging the number of dependencies looking for funding. See [`npm fund`](/cli/v11/commands/npm-fund) for details.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [npm find-dupes](/cli/v11/commands/npm-find-dupes)
+- [npm ls](/cli/v11/commands/npm-ls)
+- [npm update](/cli/v11/commands/npm-update)
+- [npm install](/cli/v11/commands/npm-install)
diff --git a/content/cli/v11/commands/npm-deprecate.mdx b/content/cli/v11/commands/npm-deprecate.mdx
new file mode 100644
index 00000000000..367ec4de030
--- /dev/null
+++ b/content/cli/v11/commands/npm-deprecate.mdx
@@ -0,0 +1,101 @@
+---
+title: npm-deprecate
+section: 1
+description: Deprecate a version of a package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-deprecate.md
+redirect_from:
+ - /cli-commands/deprecate
+ - /cli-commands/npm-deprecate
+ - /cli-documentation/cli-commands/deprecate
+ - /cli-documentation/cli-commands/npm-deprecate
+ - /cli-documentation/commands/deprecate
+ - /cli-documentation/commands/npm-deprecate
+ - /cli-documentation/deprecate
+ - /cli-documentation/npm-deprecate
+ - /cli-documentation/v11/cli-commands/deprecate
+ - /cli-documentation/v11/cli-commands/npm-deprecate
+ - /cli-documentation/v11/commands/deprecate
+ - /cli-documentation/v11/commands/npm-deprecate
+ - /cli-documentation/v11/deprecate
+ - /cli-documentation/v11/npm-deprecate
+ - /cli/cli-commands/deprecate
+ - /cli/cli-commands/npm-deprecate
+ - /cli/commands/deprecate
+ - /cli/commands/npm-deprecate
+ - /cli/deprecate
+ - /cli/npm-deprecate
+ - /cli/v11/cli-commands/deprecate
+ - /cli/v11/cli-commands/npm-deprecate
+ - /cli/v11/commands/deprecate
+ - /cli/v11/deprecate
+ - /cli/v11/npm-deprecate
+ - /commands/deprecate
+ - /commands/npm-deprecate
+---
+
+### Synopsis
+
+```bash
+npm deprecate
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+This command will update the npm registry entry for a package, providing a deprecation warning to all who attempt to install it.
+
+It works on [version ranges](https://semver.npmjs.com/) as well as specific versions, so you can do something like this:
+
+```bash
+npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"
+```
+
+SemVer ranges passed to this command are interpreted such that they _do_ include prerelease versions. For example:
+
+```bash
+npm deprecate my-thing@1.x "1.x is no longer supported"
+```
+
+In this case, a version `my-thing@1.0.0-beta.0` will also be deprecated.
+
+You must be the package owner to deprecate something. See the `owner` and `adduser` help topics.
+
+To un-deprecate a package, specify an empty string (`""`) for the `message` argument. Note that you must use double quotes with no space between them to format an empty string.
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `otp`
+
+- Default: null
+- Type: null or String
+
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with `npm access`.
+
+If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm publish](/cli/v11/commands/npm-publish)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm owner](/cli/v11/commands/npm-owner)
+- [npm adduser](/cli/v11/commands/npm-adduser)
diff --git a/content/cli/v11/commands/npm-diff.mdx b/content/cli/v11/commands/npm-diff.mdx
new file mode 100644
index 00000000000..a97e0c7adce
--- /dev/null
+++ b/content/cli/v11/commands/npm-diff.mdx
@@ -0,0 +1,271 @@
+---
+title: npm-diff
+section: 1
+description: The registry diff command
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-diff.md
+redirect_from:
+ - /cli-commands/diff
+ - /cli-commands/npm-diff
+ - /cli-documentation/cli-commands/diff
+ - /cli-documentation/cli-commands/npm-diff
+ - /cli-documentation/commands/diff
+ - /cli-documentation/commands/npm-diff
+ - /cli-documentation/diff
+ - /cli-documentation/npm-diff
+ - /cli-documentation/v11/cli-commands/diff
+ - /cli-documentation/v11/cli-commands/npm-diff
+ - /cli-documentation/v11/commands/diff
+ - /cli-documentation/v11/commands/npm-diff
+ - /cli-documentation/v11/diff
+ - /cli-documentation/v11/npm-diff
+ - /cli/cli-commands/diff
+ - /cli/cli-commands/npm-diff
+ - /cli/commands/diff
+ - /cli/commands/npm-diff
+ - /cli/diff
+ - /cli/npm-diff
+ - /cli/v11/cli-commands/diff
+ - /cli/v11/cli-commands/npm-diff
+ - /cli/v11/commands/diff
+ - /cli/v11/diff
+ - /cli/v11/npm-diff
+ - /commands/diff
+ - /commands/npm-diff
+---
+
+### Synopsis
+
+```bash
+npm diff [...]
+```
+
+### Description
+
+Similar to its `git diff` counterpart, this command will print diff patches of files for packages published to the npm registry.
+
+- `npm diff --diff= --diff=`
+
+ Compares two package versions using their registry specifiers, e.g: `npm diff --diff=pkg@1.0.0 --diff=pkg@^2.0.0`. It's also possible to compare across forks of any package, e.g: `npm diff --diff=pkg@1.0.0 --diff=pkg-fork@1.0.0`.
+
+ Any valid spec can be used, so that it's also possible to compare directories or git repositories, e.g: `npm diff --diff=pkg@latest --diff=./packages/pkg`
+
+ Here's an example comparing two different versions of a package named `abbrev` from the registry:
+
+ ```bash
+ npm diff --diff=abbrev@1.1.0 --diff=abbrev@1.1.1
+ ```
+
+ On success, output looks like:
+
+ ```bash
+ diff --git a/package.json b/package.json
+ index v1.1.0..v1.1.1 100644
+ --- a/package.json
+ +++ b/package.json
+ @@ -1,6 +1,6 @@
+ {
+ "name": "abbrev",
+ - "version": "1.1.0",
+ + "version": "1.1.1",
+ "description": "Like ruby's abbrev module, but in js",
+ "author": "Isaac Z. Schlueter ",
+ "main": "abbrev.js",
+ ```
+
+ Given the flexible nature of npm specs, you can also target local directories or git repos just like when using `npm install`:
+
+ ```bash
+ npm diff --diff=https://github.com/npm/libnpmdiff --diff=./local-path
+ ```
+
+ In the example above we can compare the contents from the package installed from the git repo at `github.com/npm/libnpmdiff` with the contents of the `./local-path` that contains a valid package, such as a modified copy of the original.
+
+- `npm diff` (in a package directory, no arguments):
+
+ If the package is published to the registry, `npm diff` will fetch the tarball version tagged as `latest` (this value can be configured using the `tag` option) and proceed to compare the contents of files present in that tarball, with the current files in your local file system.
+
+ This workflow provides a handy way for package authors to see what package-tracked files have been changed in comparison with the latest published version of that package.
+
+- `npm diff --diff=` (in a package directory):
+
+ When using a single package name (with no version or tag specifier) as an argument, `npm diff` will work in a similar way to [`npm-outdated`](npm-outdated) and reach for the registry to figure out what current published version of the package named `` will satisfy its dependent declared semver-range. Once that specific version is known `npm diff` will print diff patches comparing the current version of `` found in the local file system with that specific version returned by the registry.
+
+ Given a package named `abbrev` that is currently installed:
+
+ ```bash
+ npm diff --diff=abbrev
+ ```
+
+ That will request from the registry its most up to date version and will print a diff output comparing the currently installed version to this newer one if the version numbers are not the same.
+
+- `npm diff --diff=` (in a package directory):
+
+ Similar to using only a single package name, it's also possible to declare a full registry specifier version if you wish to compare the local version of an installed package with the specific version/tag/semver-range provided in ``.
+
+ An example: assuming `pkg@1.0.0` is installed in the current `node_modules` folder, running:
+
+ ```bash
+ npm diff --diff=pkg@2.0.0
+ ```
+
+ It will effectively be an alias to `npm diff --diff=pkg@1.0.0 --diff=pkg@2.0.0`.
+
+- `npm diff --diff= [--diff=]` (in a package directory):
+
+ Using `npm diff` along with semver-valid version numbers is a shorthand to compare different versions of the current package.
+
+ It needs to be run from a package directory, such that for a package named `pkg` running `npm diff --diff=1.0.0 --diff=1.0.1` is the same as running `npm diff --diff=pkg@1.0.0 --diff=pkg@1.0.1`.
+
+ If only a single argument `` is provided, then the current local file system is going to be compared against that version.
+
+ Here's an example comparing two specific versions (published to the configured registry) of the current project directory:
+
+ ```bash
+ npm diff --diff=1.0.0 --diff=1.1.0
+ ```
+
+Note that tag names are not valid `--diff` argument values, if you wish to compare to a published tag, you must use the `pkg@tagname` syntax.
+
+#### Filtering files
+
+It's possible to also specify positional arguments using file names or globs pattern matching in order to limit the result of diff patches to only a subset of files for a given package, e.g:
+
+```bash
+npm diff --diff=pkg@2 ./lib/ CHANGELOG.md
+```
+
+In the example above the diff output is only going to print contents of files located within the folder `./lib/` and changed lines of code within the `CHANGELOG.md` file.
+
+### Configuration
+
+#### `diff`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Define arguments to compare in `npm diff`.
+
+#### `diff-name-only`
+
+- Default: false
+- Type: Boolean
+
+Prints only filenames when using `npm diff`.
+
+#### `diff-unified`
+
+- Default: 3
+- Type: Number
+
+The number of lines of context to print in `npm diff`.
+
+#### `diff-ignore-all-space`
+
+- Default: false
+- Type: Boolean
+
+Ignore whitespace when comparing lines in `npm diff`.
+
+#### `diff-no-prefix`
+
+- Default: false
+- Type: Boolean
+
+Do not show any source or destination prefix in `npm diff` output.
+
+Note: this causes `npm diff` to ignore the `--diff-src-prefix` and `--diff-dst-prefix` configs.
+
+#### `diff-src-prefix`
+
+- Default: "a/"
+- Type: String
+
+Source prefix to be used in `npm diff` output.
+
+#### `diff-dst-prefix`
+
+- Default: "b/"
+- Type: String
+
+Destination prefix to be used in `npm diff` output.
+
+#### `diff-text`
+
+- Default: false
+- Type: Boolean
+
+Treat all files as text in `npm diff`.
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `tag`
+
+- Default: "latest"
+- Type: String
+
+If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.
+
+It is the tag added to the package@version specified in the `npm dist-tag add` command, if no explicit tag is given.
+
+When used by the `npm diff` command, this is the tag used to fetch the tarball that will be compared with the local files by default.
+
+If used in the `npm publish` command, this is the tag that will be added to the package submitted to the registry.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+## See Also
+
+- [npm outdated](/cli/v11/commands/npm-outdated)
+- [npm install](/cli/v11/commands/npm-install)
+- [npm config](/cli/v11/commands/npm-config)
+- [npm registry](/cli/v11/using-npm/registry)
diff --git a/content/cli/v11/commands/npm-dist-tag.mdx b/content/cli/v11/commands/npm-dist-tag.mdx
new file mode 100644
index 00000000000..eaee38c3f1d
--- /dev/null
+++ b/content/cli/v11/commands/npm-dist-tag.mdx
@@ -0,0 +1,149 @@
+---
+title: npm-dist-tag
+section: 1
+description: Modify package distribution tags
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-dist-tag.md
+redirect_from:
+ - /cli-commands/dist-tag
+ - /cli-commands/npm-dist-tag
+ - /cli-documentation/cli-commands/dist-tag
+ - /cli-documentation/cli-commands/npm-dist-tag
+ - /cli-documentation/commands/dist-tag
+ - /cli-documentation/commands/npm-dist-tag
+ - /cli-documentation/dist-tag
+ - /cli-documentation/npm-dist-tag
+ - /cli-documentation/v11/cli-commands/dist-tag
+ - /cli-documentation/v11/cli-commands/npm-dist-tag
+ - /cli-documentation/v11/commands/dist-tag
+ - /cli-documentation/v11/commands/npm-dist-tag
+ - /cli-documentation/v11/dist-tag
+ - /cli-documentation/v11/npm-dist-tag
+ - /cli/cli-commands/dist-tag
+ - /cli/cli-commands/npm-dist-tag
+ - /cli/commands/dist-tag
+ - /cli/commands/npm-dist-tag
+ - /cli/dist-tag
+ - /cli/npm-dist-tag
+ - /cli/v11/cli-commands/dist-tag
+ - /cli/v11/cli-commands/npm-dist-tag
+ - /cli/v11/commands/dist-tag
+ - /cli/v11/dist-tag
+ - /cli/v11/npm-dist-tag
+ - /commands/dist-tag
+ - /commands/npm-dist-tag
+---
+
+### Synopsis
+
+```bash
+npm dist-tag add []
+npm dist-tag rm
+npm dist-tag ls []
+
+alias: dist-tags
+```
+
+### Description
+
+Add, remove, and enumerate distribution tags on a package:
+
+- add: Tags the specified version of the package with the specified tag, or the [`--tag` config](/cli/v11/using-npm/config#tag) if not specified. If you have two-factor authentication on auth-and-writes then you’ll need to include a one-time password on the command line with `--otp `, or go through a second factor flow based on your `authtype`.
+
+- rm: Clear a tag that is no longer in use from the package. If you have two-factor authentication on auth-and-writes then you’ll need to include a one-time password on the command line with `--otp `, or go through a second factor flow based on your `authtype`
+
+- ls: Show all of the dist-tags for a package, defaulting to the package in the current prefix. This is the default action if none is specified.
+
+A tag can be used when installing packages as a reference to a version instead of using a specific version number:
+
+```bash
+npm install @
+```
+
+When installing dependencies, a preferred tagged version may be specified:
+
+```bash
+npm install --tag
+```
+
+(This also applies to any other commands that resolve and install dependencies, such as `npm dedupe`, `npm update`, and `npm audit fix`.)
+
+Publishing a package sets the `latest` tag to the published version unless the `--tag` option is used. For example, `npm publish --tag=beta`.
+
+By default, `npm install ` (without any `@` or `@` specifier) installs the `latest` tag.
+
+### Purpose
+
+Tags can be used to provide an alias instead of version numbers.
+
+For example, a project might choose to have multiple streams of development and use a different tag for each stream, e.g., `stable`, `beta`, `dev`, `canary`.
+
+By default, the `latest` tag is used by npm to identify the current version of a package, and `npm install ` (without any `@` or `@` specifier) installs the `latest` tag. Typically, projects only use the `latest` tag for stable release versions, and use other tags for unstable versions such as prereleases.
+
+The `next` tag is used by some projects to identify the upcoming version.
+
+Other than `latest`, no tag has any special significance to npm itself.
+
+### Caveats
+
+This command used to be known as `npm tag`, which only created new tags, and so had a different syntax.
+
+Tags must share a namespace with version numbers, because they are specified in the same slot: `npm install @` vs `npm install @`.
+
+Tags that can be interpreted as valid semver ranges will be rejected. For example, `v1.4` cannot be used as a tag, because it is interpreted by semver as `>=1.4.0 <1.5.0`. See [https://github.com/npm/npm/issues/6082](https://github.com/npm/npm/issues/6082).
+
+The simplest way to avoid semver problems with tags is to use tags that do not begin with a number or the letter `v`.
+
+### Configuration
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm publish](/cli/v11/commands/npm-publish)
+- [npm install](/cli/v11/commands/npm-install)
+- [npm dedupe](/cli/v11/commands/npm-dedupe)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
diff --git a/content/cli/v11/commands/npm-docs.mdx b/content/cli/v11/commands/npm-docs.mdx
new file mode 100644
index 00000000000..8084b4dbf64
--- /dev/null
+++ b/content/cli/v11/commands/npm-docs.mdx
@@ -0,0 +1,118 @@
+---
+title: npm-docs
+section: 1
+description: Open documentation for a package in a web browser
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-docs.md
+redirect_from:
+ - /cli-commands/docs
+ - /cli-commands/npm-docs
+ - /cli-documentation/cli-commands/docs
+ - /cli-documentation/cli-commands/npm-docs
+ - /cli-documentation/commands/docs
+ - /cli-documentation/commands/npm-docs
+ - /cli-documentation/docs
+ - /cli-documentation/npm-docs
+ - /cli-documentation/v11/cli-commands/docs
+ - /cli-documentation/v11/cli-commands/npm-docs
+ - /cli-documentation/v11/commands/docs
+ - /cli-documentation/v11/commands/npm-docs
+ - /cli-documentation/v11/docs
+ - /cli-documentation/v11/npm-docs
+ - /cli/cli-commands/docs
+ - /cli/cli-commands/npm-docs
+ - /cli/commands/docs
+ - /cli/commands/npm-docs
+ - /cli/docs
+ - /cli/npm-docs
+ - /cli/v11/cli-commands/docs
+ - /cli/v11/cli-commands/npm-docs
+ - /cli/v11/commands/docs
+ - /cli/v11/docs
+ - /cli/v11/npm-docs
+ - /commands/docs
+ - /commands/npm-docs
+---
+
+### Synopsis
+
+```bash
+npm docs [ [ ...]]
+
+alias: home
+```
+
+### Description
+
+This command tries to guess at the likely location of a package's documentation URL, and then tries to open it using the [`--browser` config](/cli/v11/using-npm/config#browser) param. You can pass multiple package names at once. If no package name is provided, it will search for a `package.json` in the current folder and use the `name` property.
+
+### Configuration
+
+#### `browser`
+
+- Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
+- Type: null, Boolean, or String
+
+The browser that is called by npm commands to open websites.
+
+Set to `false` to suppress browser behavior and instead print urls to terminal.
+
+Set to `true` to use default system URL opener.
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+### See Also
+
+- [npm view](/cli/v11/commands/npm-view)
+- [npm publish](/cli/v11/commands/npm-publish)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [package.json](/cli/v11/configuring-npm/package-json)
diff --git a/content/cli/v11/commands/npm-doctor.mdx b/content/cli/v11/commands/npm-doctor.mdx
new file mode 100644
index 00000000000..d97934195c9
--- /dev/null
+++ b/content/cli/v11/commands/npm-doctor.mdx
@@ -0,0 +1,106 @@
+---
+title: npm-doctor
+section: 1
+description: Check the health of your npm environment
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-doctor.md
+redirect_from:
+ - /cli-commands/doctor
+ - /cli-commands/npm-doctor
+ - /cli-documentation/cli-commands/doctor
+ - /cli-documentation/cli-commands/npm-doctor
+ - /cli-documentation/commands/doctor
+ - /cli-documentation/commands/npm-doctor
+ - /cli-documentation/doctor
+ - /cli-documentation/npm-doctor
+ - /cli-documentation/v11/cli-commands/doctor
+ - /cli-documentation/v11/cli-commands/npm-doctor
+ - /cli-documentation/v11/commands/doctor
+ - /cli-documentation/v11/commands/npm-doctor
+ - /cli-documentation/v11/doctor
+ - /cli-documentation/v11/npm-doctor
+ - /cli/cli-commands/doctor
+ - /cli/cli-commands/npm-doctor
+ - /cli/commands/doctor
+ - /cli/commands/npm-doctor
+ - /cli/doctor
+ - /cli/npm-doctor
+ - /cli/v11/cli-commands/doctor
+ - /cli/v11/cli-commands/npm-doctor
+ - /cli/v11/commands/doctor
+ - /cli/v11/doctor
+ - /cli/v11/npm-doctor
+ - /commands/doctor
+ - /commands/npm-doctor
+---
+
+### Synopsis
+
+```bash
+npm doctor [connection] [registry] [versions] [environment] [permissions] [cache]
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+`npm doctor` runs a set of checks to ensure that your npm installation has what it needs to manage your JavaScript packages. npm is mostly a standalone tool, but it does have some basic requirements that must be met:
+
+- Node.js and git must be executable by npm.
+- The primary npm registry, `registry.npmjs.com`, or another service that uses the registry API, is available.
+- The directories that npm uses, `node_modules` (both locally and globally), exist and can be written by the current user.
+- The npm cache exists, and the package tarballs within it aren't corrupt.
+
+Without all of these working properly, npm may not work properly. Many issues are often attributable to things that are outside npm's code base, so `npm doctor` confirms that the npm installation is in a good state.
+
+Also, in addition to this, there are also very many issue reports due to using old versions of npm. Since npm is constantly improving, running `npm@latest` is better than an old version.
+
+`npm doctor` verifies the following items in your environment, and if there are any recommended changes, it will display them. By default npm runs all of these checks. You can limit what checks are ran by specifying them as extra arguments.
+
+#### `Connecting to the registry`
+
+By default, npm installs from the primary npm registry, `registry.npmjs.org`. `npm doctor` hits a special connection testing endpoint within the registry. This can also be checked with `npm ping`. If this check fails, you may be using a proxy that needs to be configured, or may need to talk to your IT staff to get access over HTTPS to `registry.npmjs.org`.
+
+This check is done against whichever registry you've configured (you can see what that is by running `npm config get registry`), and if you're using a private registry that doesn't support the `/whoami` endpoint supported by the primary registry, this check may fail.
+
+#### `Checking npm version`
+
+While Node.js may come bundled with a particular version of npm, it's the policy of the CLI team that we recommend all users run `npm@latest` if they can. As the CLI is maintained by a small team of contributors, there are only resources for a single line of development, so npm's own long-term support releases typically only receive critical security and regression fixes. The team believes that the latest tested version of npm is almost always likely to be the most functional and defect-free version of npm.
+
+#### `Checking node version`
+
+For most users, in most circumstances, the best version of Node will be the latest long-term support (LTS) release. Those of you who want access to new ECMAscript features or bleeding-edge changes to Node's standard library may be running a newer version, and some may be required to run an older version of Node because of enterprise change control policies. That's OK! But in general, the npm team recommends that most users run Node.js LTS.
+
+#### `Checking configured npm registry`
+
+You may be installing from private package registries for your project or company. That's great! Others may be following tutorials or StackOverflow questions in an effort to troubleshoot problems you may be having. Sometimes, this may entail changing the registry you're pointing at. This part of `npm doctor` just lets you, and maybe whoever's helping you with support, know that you're not using the default registry.
+
+#### `Checking for git executable in PATH`
+
+While it's documented in the README, it may not be obvious that npm needs Git installed to do many of the things that it does. Also, in some cases – especially on Windows – you may have Git set up in such a way that it's not accessible via your `PATH` so that npm can find it. This check ensures that Git is available.
+
+#### Permissions checks
+
+- Your cache must be readable and writable by the user running npm.
+- Global package binaries must be writable by the user running npm.
+- Your local `node_modules` path, if you're running `npm doctor` with a project directory, must be readable and writable by the user running npm.
+
+#### Validate the checksums of cached packages
+
+When an npm package is published, the publishing process generates a checksum that npm uses at install time to verify that the package didn't get corrupted in transit. `npm doctor` uses these checksums to validate the package tarballs in your local cache (you can see where that cache is located with `npm config get cache`). In the event that there are corrupt packages in your cache, you should probably run `npm cache clean -f` and reset the cache.
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+### See Also
+
+- [npm bugs](/cli/v11/commands/npm-bugs)
+- [npm help](/cli/v11/commands/npm-help)
+- [npm ping](/cli/v11/commands/npm-ping)
diff --git a/content/cli/v11/commands/npm-edit.mdx b/content/cli/v11/commands/npm-edit.mdx
new file mode 100644
index 00000000000..79f27a0598b
--- /dev/null
+++ b/content/cli/v11/commands/npm-edit.mdx
@@ -0,0 +1,69 @@
+---
+title: npm-edit
+section: 1
+description: Edit an installed package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-edit.md
+redirect_from:
+ - /cli-commands/edit
+ - /cli-commands/npm-edit
+ - /cli-documentation/cli-commands/edit
+ - /cli-documentation/cli-commands/npm-edit
+ - /cli-documentation/commands/edit
+ - /cli-documentation/commands/npm-edit
+ - /cli-documentation/edit
+ - /cli-documentation/npm-edit
+ - /cli-documentation/v11/cli-commands/edit
+ - /cli-documentation/v11/cli-commands/npm-edit
+ - /cli-documentation/v11/commands/edit
+ - /cli-documentation/v11/commands/npm-edit
+ - /cli-documentation/v11/edit
+ - /cli-documentation/v11/npm-edit
+ - /cli/cli-commands/edit
+ - /cli/cli-commands/npm-edit
+ - /cli/commands/edit
+ - /cli/commands/npm-edit
+ - /cli/edit
+ - /cli/npm-edit
+ - /cli/v11/cli-commands/edit
+ - /cli/v11/cli-commands/npm-edit
+ - /cli/v11/commands/edit
+ - /cli/v11/edit
+ - /cli/v11/npm-edit
+ - /commands/edit
+ - /commands/npm-edit
+---
+
+### Synopsis
+
+```bash
+npm edit [/...]
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Selects a dependency in the current project and opens the package folder in the default editor (or whatever you've configured as the npm `editor` config -- see [`npm-config`](npm-config).)
+
+After it has been edited, the package is rebuilt so as to pick up any changes in compiled packages.
+
+For instance, you can do `npm install connect` to install connect into your package, and then `npm edit connect` to make a few changes to your locally installed copy.
+
+### Configuration
+
+#### `editor`
+
+- Default: The EDITOR or VISUAL environment variables, or '%SYSTEMROOT%\notepad.exe' on Windows, or 'vi' on Unix systems
+- Type: String
+
+The command to run for `npm edit` and `npm config edit`.
+
+### See Also
+
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm explore](/cli/v11/commands/npm-explore)
+- [npm install](/cli/v11/commands/npm-install)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
diff --git a/content/cli/v11/commands/npm-exec.mdx b/content/cli/v11/commands/npm-exec.mdx
new file mode 100644
index 00000000000..77b90e998b7
--- /dev/null
+++ b/content/cli/v11/commands/npm-exec.mdx
@@ -0,0 +1,304 @@
+---
+title: npm-exec
+section: 1
+description: Run a command from a local or remote npm package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-exec.md
+redirect_from:
+ - /cli-commands/exec
+ - /cli-commands/npm-exec
+ - /cli-documentation/cli-commands/exec
+ - /cli-documentation/cli-commands/npm-exec
+ - /cli-documentation/commands/exec
+ - /cli-documentation/commands/npm-exec
+ - /cli-documentation/exec
+ - /cli-documentation/npm-exec
+ - /cli-documentation/v11/cli-commands/exec
+ - /cli-documentation/v11/cli-commands/npm-exec
+ - /cli-documentation/v11/commands/exec
+ - /cli-documentation/v11/commands/npm-exec
+ - /cli-documentation/v11/exec
+ - /cli-documentation/v11/npm-exec
+ - /cli/cli-commands/exec
+ - /cli/cli-commands/npm-exec
+ - /cli/commands/exec
+ - /cli/commands/npm-exec
+ - /cli/exec
+ - /cli/npm-exec
+ - /cli/v11/cli-commands/exec
+ - /cli/v11/cli-commands/npm-exec
+ - /cli/v11/commands/exec
+ - /cli/v11/exec
+ - /cli/v11/npm-exec
+ - /commands/exec
+ - /commands/npm-exec
+---
+
+### Synopsis
+
+```bash
+npm exec -- [@] [args...]
+npm exec --package=[@] -- [args...]
+npm exec -c ' [args...]'
+npm exec --package=foo -c ' [args...]'
+
+alias: x
+```
+
+### Description
+
+This command allows you to run an arbitrary command from an npm package (either one installed locally, or fetched remotely), in a similar context as running it via `npm run`.
+
+Run without positional arguments or `--call`, this allows you to interactively run commands in the same sort of shell environment that `package.json` scripts are run. Interactive mode is not supported in CI environments when standard input is a TTY, to prevent hangs.
+
+Whatever packages are specified by the `--package` option will be provided in the `PATH` of the executed command, along with any locally installed package executables. The `--package` option may be specified multiple times, to execute the supplied command in an environment where all specified packages are available.
+
+If any requested packages are not present in the local project dependencies, then a prompt is printed, which can be suppressed by providing either `--yes` or `--no`. When standard input is not a TTY or a CI environment is detected, `--yes` is assumed. The requested packages are installed to a folder in the npm cache, which is added to the `PATH` environment variable in the executed process.
+
+Package names provided without a specifier will be matched with whatever version exists in the local project. Package names with a specifier will only be considered a match if they have the exact same name and version as the local dependency.
+
+If no `-c` or `--call` option is provided, then the positional arguments are used to generate the command string. If no `--package` options are provided, then npm will attempt to determine the executable name from the package specifier provided as the first positional argument according to the following heuristic:
+
+- If the package has a single entry in its `bin` field in `package.json`, or if all entries are aliases of the same command, then that command will be used.
+- If the package has multiple `bin` entries, and one of them matches the unscoped portion of the `name` field, then that command will be used.
+- If this does not result in exactly one option (either because there are no bin entries, or none of them match the `name` of the package), then `npm exec` exits with an error.
+
+To run a binary _other than_ the named binary, specify one or more `--package` options, which will prevent npm from inferring the package from the first command argument.
+
+### `npx` vs `npm exec`
+
+When run via the `npx` binary, all flags and options _must_ be set prior to any positional arguments. When run via `npm exec`, a double-hyphen `--` flag can be used to suppress npm's parsing of switches and options that should be sent to the executed command.
+
+For example:
+
+```
+$ npx foo@latest bar --package=@npmcli/foo
+```
+
+In this case, npm will resolve the `foo` package name, and run the following command:
+
+```
+$ foo bar --package=@npmcli/foo
+```
+
+Since the `--package` option comes _after_ the positional arguments, it is treated as an argument to the executed command.
+
+In contrast, due to npm's argument parsing logic, running this command is different:
+
+```
+$ npm exec foo@latest bar --package=@npmcli/foo
+```
+
+In this case, npm will parse the `--package` option first, resolving the `@npmcli/foo` package. Then, it will execute the following command in that context:
+
+```
+$ foo@latest bar
+```
+
+The double-hyphen character is recommended to explicitly tell npm to stop parsing command line options and switches. The following command would thus be equivalent to the `npx` command above:
+
+```
+$ npm exec -- foo@latest bar --package=@npmcli/foo
+```
+
+### Configuration
+
+#### `package`
+
+- Default:
+- Type: String (can be set multiple times)
+
+The package or packages to install for [`npm exec`](/cli/v11/commands/npm-exec)
+
+#### `call`
+
+- Default: ""
+- Type: String
+
+Optional companion option for `npm exec`, `npx` that allows for specifying a custom command to be run along with the installed packages.
+
+```bash
+npm exec --package yo --package generator-node --call "yo node"
+```
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+### Examples
+
+Run the version of `tap` in the local dependencies, with the provided arguments:
+
+```
+$ npm exec -- tap --bail test/foo.js
+$ npx tap --bail test/foo.js
+```
+
+Run a command _other than_ the command whose name matches the package name by specifying a `--package` option:
+
+```
+$ npm exec --package=foo -- bar --bar-argument
+# ~ or ~
+$ npx --package=foo bar --bar-argument
+```
+
+Run an arbitrary shell script, in the context of the current project:
+
+```
+$ npm x -c 'eslint && say "hooray, lint passed"'
+$ npx -c 'eslint && say "hooray, lint passed"'
+```
+
+### Workspaces support
+
+You may use the [`workspace`](/cli/v11/using-npm/config#workspace) or [`workspaces`](/cli/v11/using-npm/config#workspaces) configs in order to run an arbitrary command from an npm package (either one installed locally, or fetched remotely) in the context of the specified workspaces. If no positional argument or `--call` option is provided, it will open an interactive subshell in the context of each of these configured workspaces one at a time.
+
+Given a project with configured workspaces, e.g:
+
+```
+.
++-- package.json
+`-- packages
+ +-- a
+ | `-- package.json
+ +-- b
+ | `-- package.json
+ `-- c
+ `-- package.json
+```
+
+Assuming the workspace configuration is properly set up at the root level `package.json` file. e.g:
+
+```
+{
+ "workspaces": [ "./packages/*" ]
+}
+```
+
+You can execute an arbitrary command from a package in the context of each of the configured workspaces when using the [`workspaces` config options](/cli/v11/using-npm/config#workspace), in this example we're using **eslint** to lint any js file found within each workspace folder:
+
+```
+npm exec --ws -- eslint ./*.js
+```
+
+#### Filtering workspaces
+
+It's also possible to execute a command in a single workspace using the `workspace` config along with a name or directory path:
+
+```
+npm exec --workspace=a -- eslint ./*.js
+```
+
+The `workspace` config can also be specified multiple times in order to run a specific script in the context of multiple workspaces. When defining values for the `workspace` config in the command line, it also possible to use `-w` as a shorthand, e.g:
+
+```
+npm exec -w a -w b -- eslint ./*.js
+```
+
+This last command will run the `eslint` command in both `./packages/a` and `./packages/b` folders.
+
+### Compatibility with Older npx Versions
+
+The `npx` binary was rewritten in npm v7.0.0, and the standalone `npx` package deprecated at that time. `npx` uses the `npm exec` command instead of a separate argument parser and install process, with some affordances to maintain backwards compatibility with the arguments it accepted in previous versions.
+
+This resulted in some shifts in its functionality:
+
+- Any `npm` config value may be provided.
+- To prevent security and user-experience problems from mistyping package names, `npx` prompts before installing anything. Suppress this prompt with the `-y` or `--yes` option.
+- The `--no-install` option is deprecated, and will be converted to `--no`.
+- Shell fallback functionality is removed, as it is not advisable.
+- The `-p` argument is a shorthand for `--parseable` in npm, but shorthand for `--package` in npx. This is maintained, but only for the `npx` executable.
+- The `--ignore-existing` option is removed. Locally installed bins are always present in the executed process `PATH`.
+- The `--npm` option is removed. `npx` will always use the `npm` it ships with.
+- The `--node-arg` and `-n` options are removed.
+- The `--always-spawn` option is redundant, and thus removed.
+- The `--shell` option is replaced with `--script-shell`, but maintained in the `npx` executable for backwards compatibility.
+
+### A note on caching
+
+The npm cli utilizes its internal package cache when using the package name specified. You can use the following to change how and when the cli uses this cache. See [`npm cache`](/cli/v11/commands/npm-cache) for more on how the cache works.
+
+#### prefer-online
+
+Forces staleness checks for packages, making the cli look for updates immediately even if the package is already in the cache.
+
+#### prefer-offline
+
+Bypasses staleness checks for packages. Missing data will still be requested from the server. To force full offline mode, use `offline`.
+
+#### offline
+
+Forces full offline mode. Any packages not locally cached will result in an error.
+
+#### workspace
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result to selecting all of the nested workspaces)
+
+This value is not exported to the environment for child processes.
+
+#### workspaces
+
+- Alias: `--ws`
+- Type: Boolean
+- Default: `false`
+
+Run scripts in the context of all configured workspaces for the current project.
+
+### See Also
+
+- [npm run-script](/cli/v11/commands/npm-run-script)
+- [npm scripts](/cli/v11/using-npm/scripts)
+- [npm test](/cli/v11/commands/npm-test)
+- [npm start](/cli/v11/commands/npm-start)
+- [npm restart](/cli/v11/commands/npm-restart)
+- [npm stop](/cli/v11/commands/npm-stop)
+- [npm config](/cli/v11/commands/npm-config)
+- [npm workspaces](/cli/v11/using-npm/workspaces)
+- [npx](/cli/v11/commands/npx)
diff --git a/content/cli/v11/commands/npm-explain.mdx b/content/cli/v11/commands/npm-explain.mdx
new file mode 100644
index 00000000000..d57c5cba66d
--- /dev/null
+++ b/content/cli/v11/commands/npm-explain.mdx
@@ -0,0 +1,124 @@
+---
+title: npm-explain
+section: 1
+description: Explain installed packages
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-explain.md
+redirect_from:
+ - /cli-commands/explain
+ - /cli-commands/npm-explain
+ - /cli-documentation/cli-commands/explain
+ - /cli-documentation/cli-commands/npm-explain
+ - /cli-documentation/commands/explain
+ - /cli-documentation/commands/npm-explain
+ - /cli-documentation/explain
+ - /cli-documentation/npm-explain
+ - /cli-documentation/v11/cli-commands/explain
+ - /cli-documentation/v11/cli-commands/npm-explain
+ - /cli-documentation/v11/commands/explain
+ - /cli-documentation/v11/commands/npm-explain
+ - /cli-documentation/v11/explain
+ - /cli-documentation/v11/npm-explain
+ - /cli/cli-commands/explain
+ - /cli/cli-commands/npm-explain
+ - /cli/commands/explain
+ - /cli/commands/npm-explain
+ - /cli/explain
+ - /cli/npm-explain
+ - /cli/v11/cli-commands/explain
+ - /cli/v11/cli-commands/npm-explain
+ - /cli/v11/commands/explain
+ - /cli/v11/explain
+ - /cli/v11/npm-explain
+ - /commands/explain
+ - /commands/npm-explain
+---
+
+### Synopsis
+
+```bash
+npm explain
+
+alias: why
+```
+
+### Description
+
+This command will print the chain of dependencies causing a given package to be installed in the current project.
+
+If one or more package specs are provided, then only packages matching one of the specifiers will have their relationships explained.
+
+The package spec can also refer to a folder within `./node_modules`
+
+For example, running `npm explain glob` within npm's source tree will show:
+
+```bash
+glob@7.1.6
+node_modules/glob
+ glob@"^7.1.4" from the root project
+
+glob@7.1.1 dev
+node_modules/tacks/node_modules/glob
+ glob@"^7.0.5" from rimraf@2.6.2
+ node_modules/tacks/node_modules/rimraf
+ rimraf@"^2.6.2" from tacks@1.3.0
+ node_modules/tacks
+ dev tacks@"^1.3.0" from the root project
+```
+
+To explain just the package residing at a specific folder, pass that as the argument to the command. This can be useful when trying to figure out exactly why a given dependency is being duplicated to satisfy conflicting version requirements within the project.
+
+```bash
+$ npm explain node_modules/nyc/node_modules/find-up
+find-up@3.0.0 dev
+node_modules/nyc/node_modules/find-up
+ find-up@"^3.0.0" from nyc@14.1.1
+ node_modules/nyc
+ nyc@"^14.1.1" from tap@14.10.8
+ node_modules/tap
+ dev tap@"^14.10.8" from the root project
+```
+
+### Configuration
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm ls](/cli/v11/commands/npm-ls)
+- [npm install](/cli/v11/commands/npm-install)
+- [npm link](/cli/v11/commands/npm-link)
+- [npm prune](/cli/v11/commands/npm-prune)
+- [npm outdated](/cli/v11/commands/npm-outdated)
+- [npm update](/cli/v11/commands/npm-update)
diff --git a/content/cli/v11/commands/npm-explore.mdx b/content/cli/v11/commands/npm-explore.mdx
new file mode 100644
index 00000000000..261a7694084
--- /dev/null
+++ b/content/cli/v11/commands/npm-explore.mdx
@@ -0,0 +1,74 @@
+---
+title: npm-explore
+section: 1
+description: Browse an installed package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-explore.md
+redirect_from:
+ - /cli-commands/explore
+ - /cli-commands/npm-explore
+ - /cli-documentation/cli-commands/explore
+ - /cli-documentation/cli-commands/npm-explore
+ - /cli-documentation/commands/explore
+ - /cli-documentation/commands/npm-explore
+ - /cli-documentation/explore
+ - /cli-documentation/npm-explore
+ - /cli-documentation/v11/cli-commands/explore
+ - /cli-documentation/v11/cli-commands/npm-explore
+ - /cli-documentation/v11/commands/explore
+ - /cli-documentation/v11/commands/npm-explore
+ - /cli-documentation/v11/explore
+ - /cli-documentation/v11/npm-explore
+ - /cli/cli-commands/explore
+ - /cli/cli-commands/npm-explore
+ - /cli/commands/explore
+ - /cli/commands/npm-explore
+ - /cli/explore
+ - /cli/npm-explore
+ - /cli/v11/cli-commands/explore
+ - /cli/v11/cli-commands/npm-explore
+ - /cli/v11/commands/explore
+ - /cli/v11/explore
+ - /cli/v11/npm-explore
+ - /commands/explore
+ - /commands/npm-explore
+---
+
+### Synopsis
+
+```bash
+npm explore [ -- ]
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Spawn a subshell in the directory of the installed package specified.
+
+If a command is specified, then it is run in the subshell, which then immediately terminates.
+
+This is particularly handy in the case of git submodules in the `node_modules` folder:
+
+```bash
+npm explore some-dependency -- git pull origin master
+```
+
+Note that the package is _not_ automatically rebuilt afterwards, so be sure to use `npm rebuild ` if you make any changes.
+
+### Configuration
+
+#### `shell`
+
+- Default: SHELL environment variable, or "bash" on Posix, or "cmd.exe" on Windows
+- Type: String
+
+The shell to run for the `npm explore` command.
+
+### See Also
+
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm edit](/cli/v11/commands/npm-edit)
+- [npm rebuild](/cli/v11/commands/npm-rebuild)
+- [npm install](/cli/v11/commands/npm-install)
diff --git a/content/cli/v11/commands/npm-find-dupes.mdx b/content/cli/v11/commands/npm-find-dupes.mdx
new file mode 100644
index 00000000000..b8ccb40cb0b
--- /dev/null
+++ b/content/cli/v11/commands/npm-find-dupes.mdx
@@ -0,0 +1,200 @@
+---
+title: npm-find-dupes
+section: 1
+description: Find duplication in the package tree
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-find-dupes.md
+redirect_from:
+ - /cli-commands/find-dupes
+ - /cli-commands/npm-find-dupes
+ - /cli-documentation/cli-commands/find-dupes
+ - /cli-documentation/cli-commands/npm-find-dupes
+ - /cli-documentation/commands/find-dupes
+ - /cli-documentation/commands/npm-find-dupes
+ - /cli-documentation/find-dupes
+ - /cli-documentation/npm-find-dupes
+ - /cli-documentation/v11/cli-commands/find-dupes
+ - /cli-documentation/v11/cli-commands/npm-find-dupes
+ - /cli-documentation/v11/commands/find-dupes
+ - /cli-documentation/v11/commands/npm-find-dupes
+ - /cli-documentation/v11/find-dupes
+ - /cli-documentation/v11/npm-find-dupes
+ - /cli/cli-commands/find-dupes
+ - /cli/cli-commands/npm-find-dupes
+ - /cli/commands/find-dupes
+ - /cli/commands/npm-find-dupes
+ - /cli/find-dupes
+ - /cli/npm-find-dupes
+ - /cli/v11/cli-commands/find-dupes
+ - /cli/v11/cli-commands/npm-find-dupes
+ - /cli/v11/commands/find-dupes
+ - /cli/v11/find-dupes
+ - /cli/v11/npm-find-dupes
+ - /commands/find-dupes
+ - /commands/npm-find-dupes
+---
+
+### Synopsis
+
+```bash
+npm find-dupes
+```
+
+### Description
+
+Runs `npm dedupe` in `--dry-run` mode, making npm only output the duplications, without actually changing the package tree.
+
+### Configuration
+
+#### `install-strategy`
+
+- Default: "hoisted"
+- Type: "hoisted", "nested", "shallow", or "linked"
+
+Sets the strategy for installing packages in node_modules. hoisted (default): Install non-duplicated in top-level, and duplicated as necessary within directory structure. nested: (formerly --legacy-bundling) install in place, no hoisting. shallow (formerly --global-style) only install direct deps at top-level. linked: (experimental) install in node_modules/.store, link in place, unhoisted.
+
+#### `legacy-bundling`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=nested`
+
+Instead of hoisting package installs in `node_modules`, install packages in the same manner that they are depended on. This may cause very deep directory structures and duplicate package installs as there is no de-duplicating. Sets `--install-strategy=nested`.
+
+#### `global-style`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=shallow`
+
+Only install direct dependencies in the top level `node_modules`, but hoist on deeper dependencies. Sets `--install-strategy=shallow`.
+
+#### `strict-peer-deps`
+
+- Default: false
+- Type: Boolean
+
+If set to `true`, and `--legacy-peer-deps` is not set, then _any_ conflicting `peerDependencies` will be treated as an install failure, even if npm could reasonably guess the appropriate resolution based on non-peer dependency relationships.
+
+By default, conflicting `peerDependencies` deep in the dependency graph will be resolved using the nearest non-peer dependency specification, even if doing so will result in some packages receiving a peer dependency outside the range set in their package's `peerDependencies` object.
+
+When such an override is performed, a warning is printed, explaining the conflict and the packages involved. If `--strict-peer-deps` is set, then this warning is treated as a failure.
+
+#### `package-lock`
+
+- Default: true
+- Type: Boolean
+
+If set to false, then ignore `package-lock.json` files when installing. This will also prevent _writing_ `package-lock.json` if `save` is true.
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `audit`
+
+- Default: true
+- Type: Boolean
+
+When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes. See the documentation for [`npm audit`](/cli/v11/commands/npm-audit) for details on what is submitted.
+
+#### `bin-links`
+
+- Default: true
+- Type: Boolean
+
+Tells npm to create symlinks (or `.cmd` shims on Windows) for package executables.
+
+Set to false to have it not do this. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems.
+
+#### `fund`
+
+- Default: true
+- Type: Boolean
+
+When "true" displays the message at the end of each `npm install` acknowledging the number of dependencies looking for funding. See [`npm fund`](/cli/v11/commands/npm-fund) for details.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [npm dedupe](/cli/v11/commands/npm-dedupe)
+- [npm ls](/cli/v11/commands/npm-ls)
+- [npm update](/cli/v11/commands/npm-update)
+- [npm install](/cli/v11/commands/npm-install)
diff --git a/content/cli/v11/commands/npm-fund.mdx b/content/cli/v11/commands/npm-fund.mdx
new file mode 100644
index 00000000000..e30fd5b8621
--- /dev/null
+++ b/content/cli/v11/commands/npm-fund.mdx
@@ -0,0 +1,146 @@
+---
+title: npm-fund
+section: 1
+description: Retrieve funding information
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-fund.md
+redirect_from:
+ - /cli-commands/fund
+ - /cli-commands/npm-fund
+ - /cli-documentation/cli-commands/fund
+ - /cli-documentation/cli-commands/npm-fund
+ - /cli-documentation/commands/fund
+ - /cli-documentation/commands/npm-fund
+ - /cli-documentation/fund
+ - /cli-documentation/npm-fund
+ - /cli-documentation/v11/cli-commands/fund
+ - /cli-documentation/v11/cli-commands/npm-fund
+ - /cli-documentation/v11/commands/fund
+ - /cli-documentation/v11/commands/npm-fund
+ - /cli-documentation/v11/fund
+ - /cli-documentation/v11/npm-fund
+ - /cli/cli-commands/fund
+ - /cli/cli-commands/npm-fund
+ - /cli/commands/fund
+ - /cli/commands/npm-fund
+ - /cli/fund
+ - /cli/npm-fund
+ - /cli/v11/cli-commands/fund
+ - /cli/v11/cli-commands/npm-fund
+ - /cli/v11/commands/fund
+ - /cli/v11/fund
+ - /cli/v11/npm-fund
+ - /commands/fund
+ - /commands/npm-fund
+---
+
+### Synopsis
+
+```bash
+npm fund []
+```
+
+### Description
+
+This command retrieves information on how to fund the dependencies of a given project. If no package name is provided, it will list all dependencies that are looking for funding in a tree structure, listing the type of funding and the url to visit. If a package name is provided then it tries to open its funding url using the [`--browser` config](/cli/v11/using-npm/config#browser) param; if there are multiple funding sources for the package, the user will be instructed to pass the `--which` option to disambiguate.
+
+The list will avoid duplicated entries and will stack all packages that share the same url as a single entry. Thus, the list does not have the same shape of the output from `npm ls`.
+
+#### Example
+
+### Workspaces support
+
+It's possible to filter the results to only include a single workspace and its dependencies using the [`workspace` config](/cli/v11/using-npm/config#workspace) option.
+
+#### Example:
+
+Here's an example running `npm fund` in a project with a configured workspace `a`:
+
+```bash
+$ npm fund
+test-workspaces-fund@1.0.0
++-- https://example.com/a
+| | `-- a@1.0.0
+| `-- https://example.com/maintainer
+| `-- foo@1.0.0
++-- https://example.com/npmcli-funding
+| `-- @npmcli/test-funding
+`-- https://example.com/org
+ `-- bar@2.0.0
+```
+
+And here is an example of the expected result when filtering only by a specific workspace `a` in the same project:
+
+```bash
+$ npm fund -w a
+test-workspaces-fund@1.0.0
+`-- https://example.com/a
+ | `-- a@1.0.0
+ `-- https://example.com/maintainer
+ `-- foo@2.0.0
+```
+
+### Configuration
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `browser`
+
+- Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
+- Type: null, Boolean, or String
+
+The browser that is called by npm commands to open websites.
+
+Set to `false` to suppress browser behavior and instead print urls to terminal.
+
+Set to `true` to use default system URL opener.
+
+#### `unicode`
+
+- Default: false on windows, true on mac/unix systems with a unicode locale, as defined by the `LC_ALL`, `LC_CTYPE`, or `LANG` environment variables.
+- Type: Boolean
+
+When set to true, npm uses unicode characters in the tree output. When false, it uses ascii characters instead of unicode glyphs.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `which`
+
+- Default: null
+- Type: null or Number
+
+If there are multiple funding sources, which 1-indexed source URL to open.
+
+## See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm install](/cli/v11/commands/npm-install)
+- [npm docs](/cli/v11/commands/npm-docs)
+- [npm ls](/cli/v11/commands/npm-ls)
+- [npm config](/cli/v11/commands/npm-config)
+- [npm workspaces](/cli/v11/using-npm/workspaces)
diff --git a/content/cli/v11/commands/npm-help-search.mdx b/content/cli/v11/commands/npm-help-search.mdx
new file mode 100644
index 00000000000..3aff0cc6942
--- /dev/null
+++ b/content/cli/v11/commands/npm-help-search.mdx
@@ -0,0 +1,66 @@
+---
+title: npm-help-search
+section: 1
+description: Search npm help documentation
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-help-search.md
+redirect_from:
+ - /cli-commands/help-search
+ - /cli-commands/npm-help-search
+ - /cli-documentation/cli-commands/help-search
+ - /cli-documentation/cli-commands/npm-help-search
+ - /cli-documentation/commands/help-search
+ - /cli-documentation/commands/npm-help-search
+ - /cli-documentation/help-search
+ - /cli-documentation/npm-help-search
+ - /cli-documentation/v11/cli-commands/help-search
+ - /cli-documentation/v11/cli-commands/npm-help-search
+ - /cli-documentation/v11/commands/help-search
+ - /cli-documentation/v11/commands/npm-help-search
+ - /cli-documentation/v11/help-search
+ - /cli-documentation/v11/npm-help-search
+ - /cli/cli-commands/help-search
+ - /cli/cli-commands/npm-help-search
+ - /cli/commands/help-search
+ - /cli/commands/npm-help-search
+ - /cli/help-search
+ - /cli/npm-help-search
+ - /cli/v11/cli-commands/help-search
+ - /cli/v11/cli-commands/npm-help-search
+ - /cli/v11/commands/help-search
+ - /cli/v11/help-search
+ - /cli/v11/npm-help-search
+ - /commands/help-search
+ - /commands/npm-help-search
+---
+
+### Synopsis
+
+```bash
+npm help-search
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+This command will search the npm markdown documentation files for the terms provided, and then list the results, sorted by relevance.
+
+If only one result is found, then it will show that help topic.
+
+If the argument to `npm help` is not a known help topic, then it will call `help-search`. It is rarely if ever necessary to call this command directly.
+
+### Configuration
+
+#### `long`
+
+- Default: false
+- Type: Boolean
+
+Show extended information in `ls`, `search`, and `help-search`.
+
+### See Also
+
+- [npm](/cli/v11/commands/npm)
+- [npm help](/cli/v11/commands/npm-help)
diff --git a/content/cli/v11/commands/npm-help.mdx b/content/cli/v11/commands/npm-help.mdx
new file mode 100644
index 00000000000..37bdacbdf48
--- /dev/null
+++ b/content/cli/v11/commands/npm-help.mdx
@@ -0,0 +1,72 @@
+---
+title: npm-help
+section: 1
+description: Get help on npm
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-help.md
+redirect_from:
+ - /cli-commands/help
+ - /cli-commands/npm-help
+ - /cli-documentation/cli-commands/help
+ - /cli-documentation/cli-commands/npm-help
+ - /cli-documentation/commands/help
+ - /cli-documentation/commands/npm-help
+ - /cli-documentation/help
+ - /cli-documentation/npm-help
+ - /cli-documentation/v11/cli-commands/help
+ - /cli-documentation/v11/cli-commands/npm-help
+ - /cli-documentation/v11/commands/help
+ - /cli-documentation/v11/commands/npm-help
+ - /cli-documentation/v11/help
+ - /cli-documentation/v11/npm-help
+ - /cli/cli-commands/help
+ - /cli/cli-commands/npm-help
+ - /cli/commands/help
+ - /cli/commands/npm-help
+ - /cli/help
+ - /cli/npm-help
+ - /cli/v11/cli-commands/help
+ - /cli/v11/cli-commands/npm-help
+ - /cli/v11/commands/help
+ - /cli/v11/help
+ - /cli/v11/npm-help
+ - /commands/help
+ - /commands/npm-help
+---
+
+### Synopsis
+
+```bash
+npm help []
+
+alias: hlep
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+If supplied a topic, then show the appropriate documentation page.
+
+If the topic does not exist, or if multiple terms are provided, then npm will run the `help-search` command to find a match. Note that, if `help-search` finds a single subject, then it will run `help` on that topic, so unique matches are equivalent to specifying a topic name.
+
+### Configuration
+
+#### `viewer`
+
+- Default: "man" on Posix, "browser" on Windows
+- Type: String
+
+The program to use to view help content.
+
+Set to `"browser"` to view html help content in the default web browser.
+
+### See Also
+
+- [npm](/cli/v11/commands/npm)
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [package.json](/cli/v11/configuring-npm/package-json)
+- [npm help-search](/cli/v11/commands/npm-help-search)
diff --git a/content/cli/v11/commands/npm-init.mdx b/content/cli/v11/commands/npm-init.mdx
new file mode 100644
index 00000000000..816614b89f3
--- /dev/null
+++ b/content/cli/v11/commands/npm-init.mdx
@@ -0,0 +1,308 @@
+---
+title: npm-init
+section: 1
+description: Create a package.json file
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-init.md
+redirect_from:
+ - /cli-commands/init
+ - /cli-commands/npm-init
+ - /cli-documentation/cli-commands/init
+ - /cli-documentation/cli-commands/npm-init
+ - /cli-documentation/commands/init
+ - /cli-documentation/commands/npm-init
+ - /cli-documentation/init
+ - /cli-documentation/npm-init
+ - /cli-documentation/v11/cli-commands/init
+ - /cli-documentation/v11/cli-commands/npm-init
+ - /cli-documentation/v11/commands/init
+ - /cli-documentation/v11/commands/npm-init
+ - /cli-documentation/v11/init
+ - /cli-documentation/v11/npm-init
+ - /cli/cli-commands/init
+ - /cli/cli-commands/npm-init
+ - /cli/commands/init
+ - /cli/commands/npm-init
+ - /cli/init
+ - /cli/npm-init
+ - /cli/v11/cli-commands/init
+ - /cli/v11/cli-commands/npm-init
+ - /cli/v11/commands/init
+ - /cli/v11/init
+ - /cli/v11/npm-init
+ - /commands/init
+ - /commands/npm-init
+---
+
+### Synopsis
+
+```bash
+npm init (same as `npx create-`)
+npm init <@scope> (same as `npx <@scope>/create`)
+
+aliases: create, innit
+```
+
+### Description
+
+`npm init ` can be used to set up a new or existing npm package.
+
+`initializer` in this case is an npm package named `create-`, which will be installed by [`npm-exec`](/cli/v11/commands/npm-exec), and then have its main bin executed -- presumably creating or updating `package.json` and running any other initialization-related operations.
+
+The init command is transformed to a corresponding `npm exec` operation as follows:
+
+- `npm init foo` -> `npm exec create-foo`
+- `npm init @usr/foo` -> `npm exec @usr/create-foo`
+- `npm init @usr` -> `npm exec @usr/create`
+- `npm init @usr@2.0.0` -> `npm exec @usr/create@2.0.0`
+- `npm init @usr/foo@2.0.0` -> `npm exec @usr/create-foo@2.0.0`
+
+If the initializer is omitted (by just calling `npm init`), init will fall back to legacy init behavior. It will ask you a bunch of questions, and then write a package.json for you. It will attempt to make reasonable guesses based on existing fields, dependencies, and options selected. It is strictly additive, so it will keep any fields and values that were already set. You can also use `-y`/`--yes` to skip the questionnaire altogether. If you pass `--scope`, it will create a scoped package.
+
+_Note:_ if a user already has the `create-` package globally installed, that will be what `npm init` uses. If you want npm to use the latest version, or another specific version you must specify it:
+
+- `npm init foo@latest` # fetches and runs the latest `create-foo` from the registry
+- `npm init foo@1.2.3` # runs `create-foo@1.2.3` specifically
+
+#### Forwarding additional options
+
+Any additional options will be passed directly to the command, so `npm init foo -- --hello` will map to `npm exec -- create-foo --hello`.
+
+To better illustrate how options are forwarded, here's a more evolved example showing options passed to both the **npm cli** and a create package, both following commands are equivalent:
+
+- `npm init foo -y --registry= -- --hello -a`
+- `npm exec -y --registry= -- create-foo --hello -a`
+
+### Examples
+
+Create a new React-based project using [`create-react-app`](https://npm.im/create-react-app):
+
+```bash
+$ npm init react-app ./my-react-app
+```
+
+Create a new `esm`-compatible package using [`create-esm`](https://npm.im/create-esm):
+
+```bash
+$ mkdir my-esm-lib && cd my-esm-lib
+$ npm init esm --yes
+```
+
+Generate a plain old package.json using legacy init:
+
+```bash
+$ mkdir my-npm-pkg && cd my-npm-pkg
+$ git init
+$ npm init
+```
+
+Generate it without having it ask any questions:
+
+```bash
+$ npm init -y
+```
+
+### Workspaces support
+
+It's possible to create a new workspace within your project by using the `workspace` config option. When using `npm init -w ` the cli will create the folders and boilerplate expected while also adding a reference to your project `package.json` `"workspaces": []` property in order to make sure that new generated **workspace** is properly set up as such.
+
+Given a project with no workspaces, e.g:
+
+```
+.
++-- package.json
+```
+
+You may generate a new workspace using the legacy init:
+
+```bash
+$ npm init -w packages/a
+```
+
+That will generate a new folder and `package.json` file, while also updating your top-level `package.json` to add the reference to this new workspace:
+
+```
+.
++-- package.json
+`-- packages
+ `-- a
+ `-- package.json
+```
+
+The workspaces init also supports the `npm init -w ` syntax, following the same set of rules explained earlier in the initial **Description** section of this page. Similar to the previous example of creating a new React-based project using [`create-react-app`](https://npm.im/create-react-app), the following syntax will make sure to create the new react app as a nested **workspace** within your project and configure your `package.json` to recognize it as such:
+
+```bash
+npm init -w packages/my-react-app react-app .
+```
+
+This will make sure to generate your react app as expected, one important consideration to have in mind is that `npm exec` is going to be run in the context of the newly created folder for that workspace, and that's the reason why in this example the initializer uses the initializer name followed with a dot to represent the current directory in that context, e.g: `react-app .`:
+
+```
+.
++-- package.json
+`-- packages
+ +-- a
+ | `-- package.json
+ `-- my-react-app
+ +-- README
+ +-- package.json
+ `-- ...
+```
+
+### Configuration
+
+#### `init-author-name`
+
+- Default: ""
+- Type: String
+
+The value `npm init` should use by default for the package author's name.
+
+#### `init-author-url`
+
+- Default: ""
+- Type: "" or URL
+
+The value `npm init` should use by default for the package author's homepage.
+
+#### `init-license`
+
+- Default: "ISC"
+- Type: String
+
+The value `npm init` should use by default for the package license.
+
+#### `init-module`
+
+- Default: "~/.npm-init.js"
+- Type: Path
+
+A module that will be loaded by the `npm init` command. See the documentation for the [init-package-json](https://github.com/npm/init-package-json) module for more information, or [npm init](/cli/v11/commands/npm-init).
+
+#### `init-type`
+
+- Default: "commonjs"
+- Type: String
+
+The value that `npm init` should use by default for the package.json type field.
+
+#### `init-version`
+
+- Default: "1.0.0"
+- Type: SemVer string
+
+The value that `npm init` should use by default for the package version number, if not already set in package.json.
+
+#### `yes`
+
+- Default: null
+- Type: null or Boolean
+
+Automatically answer "yes" to any prompts that npm might print on the command line.
+
+#### `force`
+
+- Default: false
+- Type: Boolean
+
+Removes various protections against unfortunate side effects, common mistakes, unnecessary performance degradation, and malicious input.
+
+- Allow clobbering non-npm files in global installs.
+- Allow the `npm version` command to work on an unclean git repository.
+- Allow deleting the cache folder with `npm cache clean`.
+- Allow installing packages that have an `engines` declaration requiring a different version of npm.
+- Allow installing packages that have an `engines` declaration requiring a different version of `node`, even if `--engine-strict` is enabled.
+- Allow `npm audit fix` to install modules outside your stated dependency range (including SemVer-major changes).
+- Allow unpublishing all versions of a published package.
+- Allow conflicting peerDependencies to be installed in the root project.
+- Implicitly set `--yes` during `npm init`.
+- Allow clobbering existing values in `npm pkg`
+- Allow unpublishing of entire packages (not just a single version).
+
+If you don't have a clear idea of what you want to do, it is strongly recommended that you do not use this option!
+
+#### `scope`
+
+- Default: the scope of the current project, if any, or ""
+- Type: String
+
+Associate an operation with a scope for a scoped registry.
+
+Useful when logging in to or out of a private registry:
+
+```
+# log in, linking the scope to the custom registry
+npm login --scope=@mycorp --registry=https://registry.mycorp.com
+
+# log out, removing the link and the auth token
+npm logout --scope=@mycorp
+```
+
+This will cause `@mycorp` to be mapped to the registry for future installation of packages specified according to the pattern `@mycorp/package`.
+
+This will also cause `npm init` to create a scoped package.
+
+```
+# accept all defaults, and create a package named "@foo/whatever",
+# instead of just named "whatever"
+npm init --scope=@foo --yes
+```
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces-update`
+
+- Default: true
+- Type: Boolean
+
+If set to true, the npm cli will run an update after operations that may possibly change the workspaces installed to the `node_modules` folder.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [init-package-json module](http://npm.im/init-package-json)
+- [package.json](/cli/v11/configuring-npm/package-json)
+- [npm version](/cli/v11/commands/npm-version)
+- [npm scope](/cli/v11/using-npm/scope)
+- [npm exec](/cli/v11/commands/npm-exec)
+- [npm workspaces](/cli/v11/using-npm/workspaces)
diff --git a/content/cli/v11/commands/npm-install-ci-test.mdx b/content/cli/v11/commands/npm-install-ci-test.mdx
new file mode 100644
index 00000000000..40ced7d373f
--- /dev/null
+++ b/content/cli/v11/commands/npm-install-ci-test.mdx
@@ -0,0 +1,212 @@
+---
+title: npm-install-ci-test
+section: 1
+description: Install a project with a clean slate and run tests
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-install-ci-test.md
+redirect_from:
+ - /cli-commands/install-ci-test
+ - /cli-commands/npm-install-ci-test
+ - /cli-documentation/cli-commands/install-ci-test
+ - /cli-documentation/cli-commands/npm-install-ci-test
+ - /cli-documentation/commands/install-ci-test
+ - /cli-documentation/commands/npm-install-ci-test
+ - /cli-documentation/install-ci-test
+ - /cli-documentation/npm-install-ci-test
+ - /cli-documentation/v11/cli-commands/install-ci-test
+ - /cli-documentation/v11/cli-commands/npm-install-ci-test
+ - /cli-documentation/v11/commands/install-ci-test
+ - /cli-documentation/v11/commands/npm-install-ci-test
+ - /cli-documentation/v11/install-ci-test
+ - /cli-documentation/v11/npm-install-ci-test
+ - /cli/cli-commands/install-ci-test
+ - /cli/cli-commands/npm-install-ci-test
+ - /cli/commands/install-ci-test
+ - /cli/commands/npm-install-ci-test
+ - /cli/install-ci-test
+ - /cli/npm-install-ci-test
+ - /cli/v11/cli-commands/install-ci-test
+ - /cli/v11/cli-commands/npm-install-ci-test
+ - /cli/v11/commands/install-ci-test
+ - /cli/v11/install-ci-test
+ - /cli/v11/npm-install-ci-test
+ - /commands/install-ci-test
+ - /commands/npm-install-ci-test
+---
+
+### Synopsis
+
+```bash
+npm install-ci-test
+
+aliases: cit, clean-install-test, sit
+```
+
+### Description
+
+This command runs `npm ci` followed immediately by `npm test`.
+
+### Configuration
+
+#### `install-strategy`
+
+- Default: "hoisted"
+- Type: "hoisted", "nested", "shallow", or "linked"
+
+Sets the strategy for installing packages in node_modules. hoisted (default): Install non-duplicated in top-level, and duplicated as necessary within directory structure. nested: (formerly --legacy-bundling) install in place, no hoisting. shallow (formerly --global-style) only install direct deps at top-level. linked: (experimental) install in node_modules/.store, link in place, unhoisted.
+
+#### `legacy-bundling`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=nested`
+
+Instead of hoisting package installs in `node_modules`, install packages in the same manner that they are depended on. This may cause very deep directory structures and duplicate package installs as there is no de-duplicating. Sets `--install-strategy=nested`.
+
+#### `global-style`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=shallow`
+
+Only install direct dependencies in the top level `node_modules`, but hoist on deeper dependencies. Sets `--install-strategy=shallow`.
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `strict-peer-deps`
+
+- Default: false
+- Type: Boolean
+
+If set to `true`, and `--legacy-peer-deps` is not set, then _any_ conflicting `peerDependencies` will be treated as an install failure, even if npm could reasonably guess the appropriate resolution based on non-peer dependency relationships.
+
+By default, conflicting `peerDependencies` deep in the dependency graph will be resolved using the nearest non-peer dependency specification, even if doing so will result in some packages receiving a peer dependency outside the range set in their package's `peerDependencies` object.
+
+When such an override is performed, a warning is printed, explaining the conflict and the packages involved. If `--strict-peer-deps` is set, then this warning is treated as a failure.
+
+#### `foreground-scripts`
+
+- Default: `false` unless when using `npm pack` or `npm publish` where it defaults to `true`
+- Type: Boolean
+
+Run all build scripts (ie, `preinstall`, `install`, and `postinstall`) scripts for installed packages in the foreground process, sharing standard input, output, and error with the main npm process.
+
+Note that this will generally make installs run slower, and be much noisier, but can be useful for debugging.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `audit`
+
+- Default: true
+- Type: Boolean
+
+When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes. See the documentation for [`npm audit`](/cli/v11/commands/npm-audit) for details on what is submitted.
+
+#### `bin-links`
+
+- Default: true
+- Type: Boolean
+
+Tells npm to create symlinks (or `.cmd` shims on Windows) for package executables.
+
+Set to false to have it not do this. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems.
+
+#### `fund`
+
+- Default: true
+- Type: Boolean
+
+When "true" displays the message at the end of each `npm install` acknowledging the number of dependencies looking for funding. See [`npm fund`](/cli/v11/commands/npm-fund) for details.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [npm install-test](/cli/v11/commands/npm-install-test)
+- [npm ci](/cli/v11/commands/npm-ci)
+- [npm test](/cli/v11/commands/npm-test)
diff --git a/content/cli/v11/commands/npm-install-test.mdx b/content/cli/v11/commands/npm-install-test.mdx
new file mode 100644
index 00000000000..ac09f6634ea
--- /dev/null
+++ b/content/cli/v11/commands/npm-install-test.mdx
@@ -0,0 +1,287 @@
+---
+title: npm-install-test
+section: 1
+description: Install package(s) and run tests
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-install-test.md
+redirect_from:
+ - /cli-commands/install-test
+ - /cli-commands/npm-install-test
+ - /cli-documentation/cli-commands/install-test
+ - /cli-documentation/cli-commands/npm-install-test
+ - /cli-documentation/commands/install-test
+ - /cli-documentation/commands/npm-install-test
+ - /cli-documentation/install-test
+ - /cli-documentation/npm-install-test
+ - /cli-documentation/v11/cli-commands/install-test
+ - /cli-documentation/v11/cli-commands/npm-install-test
+ - /cli-documentation/v11/commands/install-test
+ - /cli-documentation/v11/commands/npm-install-test
+ - /cli-documentation/v11/install-test
+ - /cli-documentation/v11/npm-install-test
+ - /cli/cli-commands/install-test
+ - /cli/cli-commands/npm-install-test
+ - /cli/commands/install-test
+ - /cli/commands/npm-install-test
+ - /cli/install-test
+ - /cli/npm-install-test
+ - /cli/v11/cli-commands/install-test
+ - /cli/v11/cli-commands/npm-install-test
+ - /cli/v11/commands/install-test
+ - /cli/v11/install-test
+ - /cli/v11/npm-install-test
+ - /commands/install-test
+ - /commands/npm-install-test
+---
+
+### Synopsis
+
+```bash
+npm install-test [ ...]
+
+alias: it
+```
+
+### Description
+
+This command runs an `npm install` followed immediately by an `npm test`. It takes exactly the same arguments as `npm install`.
+
+### Configuration
+
+#### `save`
+
+- Default: `true` unless when using `npm update` where it defaults to `false`
+- Type: Boolean
+
+Save installed packages to a `package.json` file as dependencies.
+
+When used with the `npm rm` command, removes the dependency from `package.json`.
+
+Will also prevent writing to `package-lock.json` if set to `false`.
+
+#### `save-exact`
+
+- Default: false
+- Type: Boolean
+
+Dependencies saved to package.json will be configured with an exact version rather than using npm's default semver range operator.
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `install-strategy`
+
+- Default: "hoisted"
+- Type: "hoisted", "nested", "shallow", or "linked"
+
+Sets the strategy for installing packages in node_modules. hoisted (default): Install non-duplicated in top-level, and duplicated as necessary within directory structure. nested: (formerly --legacy-bundling) install in place, no hoisting. shallow (formerly --global-style) only install direct deps at top-level. linked: (experimental) install in node_modules/.store, link in place, unhoisted.
+
+#### `legacy-bundling`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=nested`
+
+Instead of hoisting package installs in `node_modules`, install packages in the same manner that they are depended on. This may cause very deep directory structures and duplicate package installs as there is no de-duplicating. Sets `--install-strategy=nested`.
+
+#### `global-style`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=shallow`
+
+Only install direct dependencies in the top level `node_modules`, but hoist on deeper dependencies. Sets `--install-strategy=shallow`.
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `strict-peer-deps`
+
+- Default: false
+- Type: Boolean
+
+If set to `true`, and `--legacy-peer-deps` is not set, then _any_ conflicting `peerDependencies` will be treated as an install failure, even if npm could reasonably guess the appropriate resolution based on non-peer dependency relationships.
+
+By default, conflicting `peerDependencies` deep in the dependency graph will be resolved using the nearest non-peer dependency specification, even if doing so will result in some packages receiving a peer dependency outside the range set in their package's `peerDependencies` object.
+
+When such an override is performed, a warning is printed, explaining the conflict and the packages involved. If `--strict-peer-deps` is set, then this warning is treated as a failure.
+
+#### `prefer-dedupe`
+
+- Default: false
+- Type: Boolean
+
+Prefer to deduplicate packages if possible, rather than choosing a newer version of a dependency.
+
+#### `package-lock`
+
+- Default: true
+- Type: Boolean
+
+If set to false, then ignore `package-lock.json` files when installing. This will also prevent _writing_ `package-lock.json` if `save` is true.
+
+#### `package-lock-only`
+
+- Default: false
+- Type: Boolean
+
+If set to true, the current operation will only use the `package-lock.json`, ignoring `node_modules`.
+
+For `update` this means only the `package-lock.json` will be updated, instead of checking `node_modules` and downloading dependencies.
+
+For `list` this means the output will be based on the tree described by the `package-lock.json`, rather than the contents of `node_modules`.
+
+#### `foreground-scripts`
+
+- Default: `false` unless when using `npm pack` or `npm publish` where it defaults to `true`
+- Type: Boolean
+
+Run all build scripts (ie, `preinstall`, `install`, and `postinstall`) scripts for installed packages in the foreground process, sharing standard input, output, and error with the main npm process.
+
+Note that this will generally make installs run slower, and be much noisier, but can be useful for debugging.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `audit`
+
+- Default: true
+- Type: Boolean
+
+When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes. See the documentation for [`npm audit`](/cli/v11/commands/npm-audit) for details on what is submitted.
+
+#### `bin-links`
+
+- Default: true
+- Type: Boolean
+
+Tells npm to create symlinks (or `.cmd` shims on Windows) for package executables.
+
+Set to false to have it not do this. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems.
+
+#### `fund`
+
+- Default: true
+- Type: Boolean
+
+When "true" displays the message at the end of each `npm install` acknowledging the number of dependencies looking for funding. See [`npm fund`](/cli/v11/commands/npm-fund) for details.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `cpu`
+
+- Default: null
+- Type: null or String
+
+Override CPU architecture of native modules to install. Acceptable values are same as `cpu` field of package.json, which comes from `process.arch`.
+
+#### `os`
+
+- Default: null
+- Type: null or String
+
+Override OS of native modules to install. Acceptable values are same as `os` field of package.json, which comes from `process.platform`.
+
+#### `libc`
+
+- Default: null
+- Type: null or String
+
+Override libc of native modules to install. Acceptable values are same as `libc` field of package.json
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [npm install](/cli/v11/commands/npm-install)
+- [npm install-ci-test](/cli/v11/commands/npm-install-ci-test)
+- [npm test](/cli/v11/commands/npm-test)
diff --git a/content/cli/v11/commands/npm-install.mdx b/content/cli/v11/commands/npm-install.mdx
new file mode 100644
index 00000000000..f31d35c5152
--- /dev/null
+++ b/content/cli/v11/commands/npm-install.mdx
@@ -0,0 +1,609 @@
+---
+title: npm-install
+section: 1
+description: Install a package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-install.md
+redirect_from:
+ - /cli-commands/install
+ - /cli-commands/npm-install
+ - /cli-documentation/cli-commands/install
+ - /cli-documentation/cli-commands/npm-install
+ - /cli-documentation/commands/install
+ - /cli-documentation/commands/npm-install
+ - /cli-documentation/install
+ - /cli-documentation/npm-install
+ - /cli-documentation/v11/cli-commands/install
+ - /cli-documentation/v11/cli-commands/npm-install
+ - /cli-documentation/v11/commands/install
+ - /cli-documentation/v11/commands/npm-install
+ - /cli-documentation/v11/install
+ - /cli-documentation/v11/npm-install
+ - /cli/cli-commands/install
+ - /cli/cli-commands/npm-install
+ - /cli/commands/install
+ - /cli/commands/npm-install
+ - /cli/install
+ - /cli/npm-install
+ - /cli/v11/cli-commands/install
+ - /cli/v11/cli-commands/npm-install
+ - /cli/v11/commands/install
+ - /cli/v11/install
+ - /cli/v11/npm-install
+ - /commands/install
+ - /commands/npm-install
+---
+
+### Synopsis
+
+```bash
+npm install [ ...]
+
+aliases: add, i, in, ins, inst, insta, instal, isnt, isnta, isntal, isntall
+```
+
+### Description
+
+This command installs a package and any packages that it depends on. If the package has a package-lock, or an npm shrinkwrap file, or a yarn lock file, the installation of dependencies will be driven by that, respecting the following order of precedence:
+
+- `npm-shrinkwrap.json`
+- `package-lock.json`
+- `yarn.lock`
+
+See [package-lock.json](/cli/v11/configuring-npm/package-lock-json) and [`npm shrinkwrap`](/cli/v11/commands/npm-shrinkwrap).
+
+A `package` is:
+
+- a) a folder containing a program described by a [`package.json`](/cli/v11/configuring-npm/package-json) file
+- b) a gzipped tarball containing (a)
+- c) a url that resolves to (b)
+- d) a `@` that is published on the registry (see [`registry`](/cli/v11/using-npm/registry)) with (c)
+- e) a `@` (see [`npm dist-tag`](/cli/v11/commands/npm-dist-tag)) that points to (d)
+- f) a `` that has a "latest" tag satisfying (e)
+- g) a `` that resolves to (a)
+
+Even if you never publish your package, you can still get a lot of benefits of using npm if you just want to write a node program (a), and perhaps if you also want to be able to easily install it elsewhere after packing it up into a tarball (b).
+
+- `npm install` (in a package directory, no arguments):
+
+ Install the dependencies to the local `node_modules` folder.
+
+ In global mode (ie, with `-g` or `--global` appended to the command), it installs the current package context (ie, the current working directory) as a global package.
+
+ By default, `npm install` will install all modules listed as dependencies in [`package.json`](/cli/v11/configuring-npm/package-json).
+
+ With the `--production` flag (or when the `NODE_ENV` environment variable is set to `production`), npm will not install modules listed in `devDependencies`. To install all modules listed in both `dependencies` and `devDependencies` when `NODE_ENV` environment variable is set to `production`, you can use `--production=false`.
+
+ > NOTE: The `--production` flag has no particular meaning when adding a dependency to a project.
+
+- `npm install `:
+
+ If `` sits inside the root of your project, its dependencies will be installed and may be hoisted to the top-level `node_modules` as they would for other types of dependencies. If `` sits outside the root of your project, _npm will not install the package dependencies_ in the directory ``, but it will create a symlink to ``.
+
+ > NOTE: If you want to install the content of a directory like a package from the registry instead of creating a link, you would need to use the `--install-links` option.
+
+ Example:
+
+ ```bash
+ npm install ../../other-package --install-links
+ npm install ./sub-package
+ ```
+
+- `npm install `:
+
+ Install a package that is sitting on the filesystem. Note: if you just want to link a dev directory into your npm root, you can do this more easily by using [`npm link`](/cli/v11/commands/npm-link).
+
+ Tarball requirements:
+
+ - The filename _must_ use `.tar`, `.tar.gz`, or `.tgz` as the extension.
+ - The package contents should reside in a subfolder inside the tarball (usually it is called `package/`). npm strips one directory layer when installing the package (an equivalent of `tar x --strip-components=1` is run).
+ - The package must contain a `package.json` file with `name` and `version` properties.
+
+ Example:
+
+ ```bash
+ npm install ./package.tgz
+ ```
+
+- `npm install `:
+
+ Fetch the tarball url, and then install it. In order to distinguish between this and other options, the argument must start with "http://" or "https://"
+
+ Example:
+
+ ```bash
+ npm install https://github.com/indexzero/forever/tarball/v0.5.6
+ ```
+
+- `npm install [<@scope>/]`:
+
+ Do a `@` install, where `` is the "tag" config. (See [`config`](/cli/v11/using-npm/config#tag). The config's default value is `latest`.)
+
+ In most cases, this will install the version of the modules tagged as `latest` on the npm registry.
+
+ Example:
+
+ ```bash
+ npm install sax
+ ```
+
+ `npm install` saves any specified packages into `dependencies` by default. Additionally, you can control where and how they get saved with some additional flags:
+
+ - `-P, --save-prod`: Package will appear in your `dependencies`. This is the default unless `-D` or `-O` are present.
+
+ - `-D, --save-dev`: Package will appear in your `devDependencies`.
+
+ - `--save-peer`: Package will appear in your `peerDependencies`.
+
+ - `-O, --save-optional`: Package will appear in your `optionalDependencies`.
+
+ - `--no-save`: Prevents saving to `dependencies`.
+
+ When using any of the above options to save dependencies to your package.json, there are two additional, optional flags:
+
+ - `-E, --save-exact`: Saved dependencies will be configured with an exact version rather than using npm's default semver range operator.
+
+ - `-B, --save-bundle`: Saved dependencies will also be added to your `bundleDependencies` list.
+
+ Further, if you have an `npm-shrinkwrap.json` or `package-lock.json` then it will be updated as well.
+
+ `` is optional. The package will be downloaded from the registry associated with the specified scope. If no registry is associated with the given scope the default registry is assumed. See [`scope`](/cli/v11/using-npm/scope).
+
+ Note: if you do not include the @-symbol on your scope name, npm will interpret this as a GitHub repository instead, see below. Scopes names must also be followed by a slash.
+
+ Examples:
+
+ ```bash
+ npm install sax
+ npm install githubname/reponame
+ npm install @myorg/privatepackage
+ npm install node-tap --save-dev
+ npm install dtrace-provider --save-optional
+ npm install readable-stream --save-exact
+ npm install ansi-regex --save-bundle
+ ```
+
+- `npm install @npm:`:
+
+ Install a package under a custom alias. Allows multiple versions of a same-name package side-by-side, more convenient import names for packages with otherwise long ones, and using git forks replacements or forked npm packages as replacements. Aliasing works only on your project and does not rename packages in transitive dependencies. Aliases should follow the naming conventions stated in [`validate-npm-package-name`](https://www.npmjs.com/package/validate-npm-package-name#naming-rules).
+
+ Examples:
+
+ ```bash
+ npm install my-react@npm:react
+ npm install jquery2@npm:jquery@2
+ npm install jquery3@npm:jquery@3
+ npm install npa@npm:npm-package-arg
+ ```
+
+- `npm install [<@scope>/]@`:
+
+ Install the version of the package that is referenced by the specified tag. If the tag does not exist in the registry data for that package, then this will fail.
+
+ Example:
+
+ ```bash
+ npm install sax@latest
+ npm install @myorg/mypackage@latest
+ ```
+
+- `npm install [<@scope>/]@`:
+
+ Install the specified version of the package. This will fail if the version has not been published to the registry.
+
+ Example:
+
+ ```bash
+ npm install sax@0.1.1
+ npm install @myorg/privatepackage@1.5.0
+ ```
+
+- `npm install [<@scope>/]@`:
+
+ Install a version of the package matching the specified version range. This will follow the same rules for resolving dependencies described in [`package.json`](/cli/v11/configuring-npm/package-json).
+
+ Note that most version ranges must be put in quotes so that your shell will treat it as a single argument.
+
+ Example:
+
+ ```bash
+ npm install sax@">=0.1.0 <0.2.0"
+ npm install @myorg/privatepackage@"16 - 17"
+ ```
+
+- `npm install `:
+
+ Installs the package from the hosted git provider, cloning it with `git`. For a full git remote url, only that URL will be attempted.
+
+ ```bash
+ ://[[:]@][:][:][/][# | #semver:]
+ ```
+
+ `` is one of `git`, `git+ssh`, `git+http`, `git+https`, or `git+file`.
+
+ If `#` is provided, it will be used to clone exactly that commit. If the commit-ish has the format `#semver:`, `` can be any valid semver range or exact version, and npm will look for any tags or refs matching that range in the remote repository, much as it would for a registry dependency. If neither `#` or `#semver:` is specified, then the default branch of the repository is used.
+
+ If the repository makes use of submodules, those submodules will be cloned as well.
+
+ If the package being installed contains a `prepare` script, its `dependencies` and `devDependencies` will be installed, and the prepare script will be run, before the package is packaged and installed.
+
+ The following git environment variables are recognized by npm and will be added to the environment when running git:
+
+ - `GIT_ASKPASS`
+ - `GIT_EXEC_PATH`
+ - `GIT_PROXY_COMMAND`
+ - `GIT_SSH`
+ - `GIT_SSH_COMMAND`
+ - `GIT_SSL_CAINFO`
+ - `GIT_SSL_NO_VERIFY`
+
+ See the git man page for details.
+
+ Examples:
+
+ ```bash
+ npm install git+ssh://git@github.com:npm/cli.git#v1.0.27
+ npm install git+ssh://git@github.com:npm/cli#pull/273
+ npm install git+ssh://git@github.com:npm/cli#semver:^5.0
+ npm install git+https://isaacs@github.com/npm/cli.git
+ npm install git://github.com/npm/cli.git#v1.0.27
+ GIT_SSH_COMMAND='ssh -i ~/.ssh/custom_ident' npm install git+ssh://git@github.com:npm/cli.git
+ ```
+
+- `npm install /[#]`:
+- `npm install github:/[#]`:
+
+ Install the package at `https://github.com/githubname/githubrepo` by attempting to clone it using `git`.
+
+ If `#` is provided, it will be used to clone exactly that commit. If the commit-ish has the format `#semver:`, `` can be any valid semver range or exact version, and npm will look for any tags or refs matching that range in the remote repository, much as it would for a registry dependency. If neither `#` or `#semver:` is specified, then the default branch is used.
+
+ As with regular git dependencies, `dependencies` and `devDependencies` will be installed if the package has a `prepare` script before the package is done installing.
+
+ Examples:
+
+ ```bash
+ npm install mygithubuser/myproject
+ npm install github:mygithubuser/myproject
+ ```
+
+- `npm install gist:[/][#|#semver:]`:
+
+ Install the package at `https://gist.github.com/gistID` by attempting to clone it using `git`. The GitHub username associated with the gist is optional and will not be saved in `package.json`.
+
+ As with regular git dependencies, `dependencies` and `devDependencies` will be installed if the package has a `prepare` script before the package is done installing.
+
+ Example:
+
+ ```bash
+ npm install gist:101a11beef
+ ```
+
+- `npm install bitbucket:/[#]`:
+
+ Install the package at `https://bitbucket.org/bitbucketname/bitbucketrepo` by attempting to clone it using `git`.
+
+ If `#` is provided, it will be used to clone exactly that commit. If the commit-ish has the format `#semver:`, `` can be any valid semver range or exact version, and npm will look for any tags or refs matching that range in the remote repository, much as it would for a registry dependency. If neither `#` or `#semver:` is specified, then `master` is used.
+
+ As with regular git dependencies, `dependencies` and `devDependencies` will be installed if the package has a `prepare` script before the package is done installing.
+
+ Example:
+
+ ```bash
+ npm install bitbucket:mybitbucketuser/myproject
+ ```
+
+- `npm install gitlab:/[#]`:
+
+ Install the package at `https://gitlab.com/gitlabname/gitlabrepo` by attempting to clone it using `git`.
+
+ If `#` is provided, it will be used to clone exactly that commit. If the commit-ish has the format `#semver:`, `` can be any valid semver range or exact version, and npm will look for any tags or refs matching that range in the remote repository, much as it would for a registry dependency. If neither `#` or `#semver:` is specified, then `master` is used.
+
+ As with regular git dependencies, `dependencies` and `devDependencies` will be installed if the package has a `prepare` script before the package is done installing.
+
+ Example:
+
+ ```bash
+ npm install gitlab:mygitlabuser/myproject
+ npm install gitlab:myusr/myproj#semver:^5.0
+ ```
+
+You may combine multiple arguments and even multiple types of arguments. For example:
+
+```bash
+npm install sax@">=0.1.0 <0.2.0" bench supervisor
+```
+
+The `--tag` argument will apply to all of the specified install targets. If a tag with the given name exists, the tagged version is preferred over newer versions.
+
+The `--dry-run` argument will report in the usual way what the install would have done without actually installing anything.
+
+The `--package-lock-only` argument will only update the `package-lock.json`, instead of checking `node_modules` and downloading dependencies.
+
+The `-f` or `--force` argument will force npm to fetch remote resources even if a local copy exists on disk.
+
+```bash
+npm install sax --force
+```
+
+### Configuration
+
+See the [`config`](/cli/v11/using-npm/config) help doc. Many of the configuration params have some effect on installation, since that's most of what npm does.
+
+These are some of the most common options related to installation.
+
+#### `save`
+
+- Default: `true` unless when using `npm update` where it defaults to `false`
+- Type: Boolean
+
+Save installed packages to a `package.json` file as dependencies.
+
+When used with the `npm rm` command, removes the dependency from `package.json`.
+
+Will also prevent writing to `package-lock.json` if set to `false`.
+
+#### `save-exact`
+
+- Default: false
+- Type: Boolean
+
+Dependencies saved to package.json will be configured with an exact version rather than using npm's default semver range operator.
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `install-strategy`
+
+- Default: "hoisted"
+- Type: "hoisted", "nested", "shallow", or "linked"
+
+Sets the strategy for installing packages in node_modules. hoisted (default): Install non-duplicated in top-level, and duplicated as necessary within directory structure. nested: (formerly --legacy-bundling) install in place, no hoisting. shallow (formerly --global-style) only install direct deps at top-level. linked: (experimental) install in node_modules/.store, link in place, unhoisted.
+
+#### `legacy-bundling`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=nested`
+
+Instead of hoisting package installs in `node_modules`, install packages in the same manner that they are depended on. This may cause very deep directory structures and duplicate package installs as there is no de-duplicating. Sets `--install-strategy=nested`.
+
+#### `global-style`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=shallow`
+
+Only install direct dependencies in the top level `node_modules`, but hoist on deeper dependencies. Sets `--install-strategy=shallow`.
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `strict-peer-deps`
+
+- Default: false
+- Type: Boolean
+
+If set to `true`, and `--legacy-peer-deps` is not set, then _any_ conflicting `peerDependencies` will be treated as an install failure, even if npm could reasonably guess the appropriate resolution based on non-peer dependency relationships.
+
+By default, conflicting `peerDependencies` deep in the dependency graph will be resolved using the nearest non-peer dependency specification, even if doing so will result in some packages receiving a peer dependency outside the range set in their package's `peerDependencies` object.
+
+When such an override is performed, a warning is printed, explaining the conflict and the packages involved. If `--strict-peer-deps` is set, then this warning is treated as a failure.
+
+#### `prefer-dedupe`
+
+- Default: false
+- Type: Boolean
+
+Prefer to deduplicate packages if possible, rather than choosing a newer version of a dependency.
+
+#### `package-lock`
+
+- Default: true
+- Type: Boolean
+
+If set to false, then ignore `package-lock.json` files when installing. This will also prevent _writing_ `package-lock.json` if `save` is true.
+
+#### `package-lock-only`
+
+- Default: false
+- Type: Boolean
+
+If set to true, the current operation will only use the `package-lock.json`, ignoring `node_modules`.
+
+For `update` this means only the `package-lock.json` will be updated, instead of checking `node_modules` and downloading dependencies.
+
+For `list` this means the output will be based on the tree described by the `package-lock.json`, rather than the contents of `node_modules`.
+
+#### `foreground-scripts`
+
+- Default: `false` unless when using `npm pack` or `npm publish` where it defaults to `true`
+- Type: Boolean
+
+Run all build scripts (ie, `preinstall`, `install`, and `postinstall`) scripts for installed packages in the foreground process, sharing standard input, output, and error with the main npm process.
+
+Note that this will generally make installs run slower, and be much noisier, but can be useful for debugging.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `audit`
+
+- Default: true
+- Type: Boolean
+
+When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes. See the documentation for [`npm audit`](/cli/v11/commands/npm-audit) for details on what is submitted.
+
+#### `bin-links`
+
+- Default: true
+- Type: Boolean
+
+Tells npm to create symlinks (or `.cmd` shims on Windows) for package executables.
+
+Set to false to have it not do this. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems.
+
+#### `fund`
+
+- Default: true
+- Type: Boolean
+
+When "true" displays the message at the end of each `npm install` acknowledging the number of dependencies looking for funding. See [`npm fund`](/cli/v11/commands/npm-fund) for details.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `cpu`
+
+- Default: null
+- Type: null or String
+
+Override CPU architecture of native modules to install. Acceptable values are same as `cpu` field of package.json, which comes from `process.arch`.
+
+#### `os`
+
+- Default: null
+- Type: null or String
+
+Override OS of native modules to install. Acceptable values are same as `os` field of package.json, which comes from `process.platform`.
+
+#### `libc`
+
+- Default: null
+- Type: null or String
+
+Override libc of native modules to install. Acceptable values are same as `libc` field of package.json
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### Algorithm
+
+Given a `package{dep}` structure: `A{B,C}, B{C}, C{D}`, the npm install algorithm produces:
+
+```bash
+A
++-- B
++-- C
++-- D
+```
+
+That is, the dependency from B to C is satisfied by the fact that A already caused C to be installed at a higher level. D is still installed at the top level because nothing conflicts with it.
+
+For `A{B,C}, B{C,D@1}, C{D@2}`, this algorithm produces:
+
+```bash
+A
++-- B
++-- C
+ `-- D@2
++-- D@1
+```
+
+Because B's D@1 will be installed in the top-level, C now has to install D@2 privately for itself. This algorithm is deterministic, but different trees may be produced if two dependencies are requested for installation in a different order.
+
+See [folders](/cli/v11/configuring-npm/folders) for a more detailed description of the specific folder structures that npm creates.
+
+### See Also
+
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm update](/cli/v11/commands/npm-update)
+- [npm audit](/cli/v11/commands/npm-audit)
+- [npm fund](/cli/v11/commands/npm-fund)
+- [npm link](/cli/v11/commands/npm-link)
+- [npm rebuild](/cli/v11/commands/npm-rebuild)
+- [npm scripts](/cli/v11/using-npm/scripts)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm dist-tag](/cli/v11/commands/npm-dist-tag)
+- [npm uninstall](/cli/v11/commands/npm-uninstall)
+- [npm shrinkwrap](/cli/v11/commands/npm-shrinkwrap)
+- [package.json](/cli/v11/configuring-npm/package-json)
+- [workspaces](/cli/v11/using-npm/workspaces)
diff --git a/content/cli/v11/commands/npm-link.mdx b/content/cli/v11/commands/npm-link.mdx
new file mode 100644
index 00000000000..25ec4fb0d0c
--- /dev/null
+++ b/content/cli/v11/commands/npm-link.mdx
@@ -0,0 +1,304 @@
+---
+title: npm-link
+section: 1
+description: Symlink a package folder
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-link.md
+redirect_from:
+ - /cli-commands/link
+ - /cli-commands/npm-link
+ - /cli-documentation/cli-commands/link
+ - /cli-documentation/cli-commands/npm-link
+ - /cli-documentation/commands/link
+ - /cli-documentation/commands/npm-link
+ - /cli-documentation/link
+ - /cli-documentation/npm-link
+ - /cli-documentation/v11/cli-commands/link
+ - /cli-documentation/v11/cli-commands/npm-link
+ - /cli-documentation/v11/commands/link
+ - /cli-documentation/v11/commands/npm-link
+ - /cli-documentation/v11/link
+ - /cli-documentation/v11/npm-link
+ - /cli/cli-commands/link
+ - /cli/cli-commands/npm-link
+ - /cli/commands/link
+ - /cli/commands/npm-link
+ - /cli/link
+ - /cli/npm-link
+ - /cli/v11/cli-commands/link
+ - /cli/v11/cli-commands/npm-link
+ - /cli/v11/commands/link
+ - /cli/v11/link
+ - /cli/v11/npm-link
+ - /commands/link
+ - /commands/npm-link
+---
+
+### Synopsis
+
+```bash
+npm link []
+
+alias: ln
+```
+
+### Description
+
+This is handy for installing your own stuff, so that you can work on it and test iteratively without having to continually rebuild.
+
+Package linking is a two-step process.
+
+First, `npm link` in a package folder with no arguments will create a symlink in the global folder `{prefix}/lib/node_modules/` that links to the package where the `npm link` command was executed. It will also link any bins in the package to `{prefix}/bin/{name}`. Note that `npm link` uses the global prefix (see `npm prefix -g` for its value).
+
+Next, in some other location, `npm link package-name` will create a symbolic link from globally-installed `package-name` to `node_modules/` of the current folder.
+
+Note that `package-name` is taken from `package.json`, _not_ from the directory name.
+
+The package name can be optionally prefixed with a scope. See [`scope`](/cli/v11/using-npm/scope). The scope must be preceded by an @-symbol and followed by a slash.
+
+When creating tarballs for `npm publish`, the linked packages are "snapshotted" to their current state by resolving the symbolic links, if they are included in `bundleDependencies`.
+
+For example:
+
+```bash
+cd ~/projects/node-redis # go into the package directory
+npm link # creates global link
+cd ~/projects/node-bloggy # go into some other package directory.
+npm link redis # link-install the package
+```
+
+Now, any changes to `~/projects/node-redis` will be reflected in `~/projects/node-bloggy/node_modules/node-redis/`. Note that the link should be to the package name, not the directory name for that package.
+
+You may also shortcut the two steps in one. For example, to do the above use-case in a shorter way:
+
+```bash
+cd ~/projects/node-bloggy # go into the dir of your main project
+npm link ../node-redis # link the dir of your dependency
+```
+
+The second line is the equivalent of doing:
+
+```bash
+(cd ../node-redis; npm link)
+npm link redis
+```
+
+That is, it first creates a global link, and then links the global installation target into your project's `node_modules` folder.
+
+Note that in this case, you are referring to the directory name, `node-redis`, rather than the package name `redis`.
+
+If your linked package is scoped (see [`scope`](/cli/v11/using-npm/scope)) your link command must include that scope, e.g.
+
+```bash
+npm link @myorg/privatepackage
+```
+
+### Caveat
+
+Note that package dependencies linked in this way are _not_ saved to `package.json` by default, on the assumption that the intention is to have a link stand in for a regular non-link dependency. Otherwise, for example, if you depend on `redis@^3.0.1`, and ran `npm link redis`, it would replace the `^3.0.1` dependency with `file:../path/to/node-redis`, which you probably don't want! Additionally, other users or developers on your project would run into issues if they do not have their folders set up exactly the same as yours.
+
+If you are adding a _new_ dependency as a link, you should add it to the relevant metadata by running `npm install --package-lock-only`.
+
+If you _want_ to save the `file:` reference in your `package.json` and `package-lock.json` files, you can use `npm link --save` to do so.
+
+### Workspace Usage
+
+`npm link --workspace ` will link the relevant package as a dependency of the specified workspace(s). Note that It may actually be linked into the parent project's `node_modules` folder, if there are no conflicting dependencies.
+
+`npm link --workspace ` will create a global link to the specified workspace(s).
+
+### Configuration
+
+#### `save`
+
+- Default: `true` unless when using `npm update` where it defaults to `false`
+- Type: Boolean
+
+Save installed packages to a `package.json` file as dependencies.
+
+When used with the `npm rm` command, removes the dependency from `package.json`.
+
+Will also prevent writing to `package-lock.json` if set to `false`.
+
+#### `save-exact`
+
+- Default: false
+- Type: Boolean
+
+Dependencies saved to package.json will be configured with an exact version rather than using npm's default semver range operator.
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `install-strategy`
+
+- Default: "hoisted"
+- Type: "hoisted", "nested", "shallow", or "linked"
+
+Sets the strategy for installing packages in node_modules. hoisted (default): Install non-duplicated in top-level, and duplicated as necessary within directory structure. nested: (formerly --legacy-bundling) install in place, no hoisting. shallow (formerly --global-style) only install direct deps at top-level. linked: (experimental) install in node_modules/.store, link in place, unhoisted.
+
+#### `legacy-bundling`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=nested`
+
+Instead of hoisting package installs in `node_modules`, install packages in the same manner that they are depended on. This may cause very deep directory structures and duplicate package installs as there is no de-duplicating. Sets `--install-strategy=nested`.
+
+#### `global-style`
+
+- Default: false
+- Type: Boolean
+- DEPRECATED: This option has been deprecated in favor of `--install-strategy=shallow`
+
+Only install direct dependencies in the top level `node_modules`, but hoist on deeper dependencies. Sets `--install-strategy=shallow`.
+
+#### `strict-peer-deps`
+
+- Default: false
+- Type: Boolean
+
+If set to `true`, and `--legacy-peer-deps` is not set, then _any_ conflicting `peerDependencies` will be treated as an install failure, even if npm could reasonably guess the appropriate resolution based on non-peer dependency relationships.
+
+By default, conflicting `peerDependencies` deep in the dependency graph will be resolved using the nearest non-peer dependency specification, even if doing so will result in some packages receiving a peer dependency outside the range set in their package's `peerDependencies` object.
+
+When such an override is performed, a warning is printed, explaining the conflict and the packages involved. If `--strict-peer-deps` is set, then this warning is treated as a failure.
+
+#### `package-lock`
+
+- Default: true
+- Type: Boolean
+
+If set to false, then ignore `package-lock.json` files when installing. This will also prevent _writing_ `package-lock.json` if `save` is true.
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `audit`
+
+- Default: true
+- Type: Boolean
+
+When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes. See the documentation for [`npm audit`](/cli/v11/commands/npm-audit) for details on what is submitted.
+
+#### `bin-links`
+
+- Default: true
+- Type: Boolean
+
+Tells npm to create symlinks (or `.cmd` shims on Windows) for package executables.
+
+Set to false to have it not do this. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems.
+
+#### `fund`
+
+- Default: true
+- Type: Boolean
+
+When "true" displays the message at the end of each `npm install` acknowledging the number of dependencies looking for funding. See [`npm fund`](/cli/v11/commands/npm-fund) for details.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm developers](/cli/v11/using-npm/developers)
+- [package.json](/cli/v11/configuring-npm/package-json)
+- [npm install](/cli/v11/commands/npm-install)
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
diff --git a/content/cli/v11/commands/npm-login.mdx b/content/cli/v11/commands/npm-login.mdx
new file mode 100644
index 00000000000..4e0495bb15f
--- /dev/null
+++ b/content/cli/v11/commands/npm-login.mdx
@@ -0,0 +1,109 @@
+---
+title: npm-login
+section: 1
+description: Login to a registry user account
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-login.md
+redirect_from:
+ - /cli-commands/login
+ - /cli-commands/npm-login
+ - /cli-documentation/cli-commands/login
+ - /cli-documentation/cli-commands/npm-login
+ - /cli-documentation/commands/login
+ - /cli-documentation/commands/npm-login
+ - /cli-documentation/login
+ - /cli-documentation/npm-login
+ - /cli-documentation/v11/cli-commands/login
+ - /cli-documentation/v11/cli-commands/npm-login
+ - /cli-documentation/v11/commands/login
+ - /cli-documentation/v11/commands/npm-login
+ - /cli-documentation/v11/login
+ - /cli-documentation/v11/npm-login
+ - /cli/cli-commands/login
+ - /cli/cli-commands/npm-login
+ - /cli/commands/login
+ - /cli/commands/npm-login
+ - /cli/login
+ - /cli/npm-login
+ - /cli/v11/cli-commands/login
+ - /cli/v11/cli-commands/npm-login
+ - /cli/v11/commands/login
+ - /cli/v11/login
+ - /cli/v11/npm-login
+ - /commands/login
+ - /commands/npm-login
+---
+
+### Synopsis
+
+```bash
+npm login
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Verify a user in the specified registry, and save the credentials to the `.npmrc` file. If no registry is specified, the default registry will be used (see [`config`](/cli/v11/using-npm/config)).
+
+When using `legacy` for your `auth-type`, the username and password, are read in from prompts.
+
+To reset your password, go to [https://www.npmjs.com/forgot](https://www.npmjs.com/forgot)
+
+To change your email address, go to [https://www.npmjs.com/email-edit](https://www.npmjs.com/email-edit)
+
+You may use this command multiple times with the same user account to authorize on a new machine. When authenticating on a new machine, the username, password and email address must all match with your existing record.
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `scope`
+
+- Default: the scope of the current project, if any, or ""
+- Type: String
+
+Associate an operation with a scope for a scoped registry.
+
+Useful when logging in to or out of a private registry:
+
+```
+# log in, linking the scope to the custom registry
+npm login --scope=@mycorp --registry=https://registry.mycorp.com
+
+# log out, removing the link and the auth token
+npm logout --scope=@mycorp
+```
+
+This will cause `@mycorp` to be mapped to the registry for future installation of packages specified according to the pattern `@mycorp/package`.
+
+This will also cause `npm init` to create a scoped package.
+
+```
+# accept all defaults, and create a package named "@foo/whatever",
+# instead of just named "whatever"
+npm init --scope=@foo --yes
+```
+
+#### `auth-type`
+
+- Default: "web"
+- Type: "legacy" or "web"
+
+What authentication strategy to use with `login`. Note that if an `otp` config is given, this value will always be set to `legacy`.
+
+### See Also
+
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [npm owner](/cli/v11/commands/npm-owner)
+- [npm whoami](/cli/v11/commands/npm-whoami)
+- [npm token](/cli/v11/commands/npm-token)
+- [npm profile](/cli/v11/commands/npm-profile)
diff --git a/content/cli/v11/commands/npm-logout.mdx b/content/cli/v11/commands/npm-logout.mdx
new file mode 100644
index 00000000000..f4a6b97f4fc
--- /dev/null
+++ b/content/cli/v11/commands/npm-logout.mdx
@@ -0,0 +1,95 @@
+---
+title: npm-logout
+section: 1
+description: Log out of the registry
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-logout.md
+redirect_from:
+ - /cli-commands/logout
+ - /cli-commands/npm-logout
+ - /cli-documentation/cli-commands/logout
+ - /cli-documentation/cli-commands/npm-logout
+ - /cli-documentation/commands/logout
+ - /cli-documentation/commands/npm-logout
+ - /cli-documentation/logout
+ - /cli-documentation/npm-logout
+ - /cli-documentation/v11/cli-commands/logout
+ - /cli-documentation/v11/cli-commands/npm-logout
+ - /cli-documentation/v11/commands/logout
+ - /cli-documentation/v11/commands/npm-logout
+ - /cli-documentation/v11/logout
+ - /cli-documentation/v11/npm-logout
+ - /cli/cli-commands/logout
+ - /cli/cli-commands/npm-logout
+ - /cli/commands/logout
+ - /cli/commands/npm-logout
+ - /cli/logout
+ - /cli/npm-logout
+ - /cli/v11/cli-commands/logout
+ - /cli/v11/cli-commands/npm-logout
+ - /cli/v11/commands/logout
+ - /cli/v11/logout
+ - /cli/v11/npm-logout
+ - /commands/logout
+ - /commands/npm-logout
+---
+
+### Synopsis
+
+```bash
+npm logout
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+When logged into a registry that supports token-based authentication, tell the server to end this token's session. This will invalidate the token everywhere you're using it, not just for the current environment.
+
+When logged into a legacy registry that uses username and password authentication, this will clear the credentials in your user configuration. In this case, it will _only_ affect the current environment.
+
+If `--scope` is provided, this will find the credentials for the registry connected to that scope, if set.
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `scope`
+
+- Default: the scope of the current project, if any, or ""
+- Type: String
+
+Associate an operation with a scope for a scoped registry.
+
+Useful when logging in to or out of a private registry:
+
+```
+# log in, linking the scope to the custom registry
+npm login --scope=@mycorp --registry=https://registry.mycorp.com
+
+# log out, removing the link and the auth token
+npm logout --scope=@mycorp
+```
+
+This will cause `@mycorp` to be mapped to the registry for future installation of packages specified according to the pattern `@mycorp/package`.
+
+This will also cause `npm init` to create a scoped package.
+
+```
+# accept all defaults, and create a package named "@foo/whatever",
+# instead of just named "whatever"
+npm init --scope=@foo --yes
+```
+
+### See Also
+
+- [npm adduser](/cli/v11/commands/npm-adduser)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm config](/cli/v11/commands/npm-config)
+- [npm whoami](/cli/v11/commands/npm-whoami)
diff --git a/content/cli/v11/commands/npm-ls.mdx b/content/cli/v11/commands/npm-ls.mdx
new file mode 100644
index 00000000000..255c686511b
--- /dev/null
+++ b/content/cli/v11/commands/npm-ls.mdx
@@ -0,0 +1,231 @@
+---
+title: npm-ls
+section: 1
+description: List installed packages
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-ls.md
+redirect_from:
+ - /cli-commands/ls
+ - /cli-commands/npm-ls
+ - /cli-documentation/cli-commands/ls
+ - /cli-documentation/cli-commands/npm-ls
+ - /cli-documentation/commands/ls
+ - /cli-documentation/commands/npm-ls
+ - /cli-documentation/ls
+ - /cli-documentation/npm-ls
+ - /cli-documentation/v11/cli-commands/ls
+ - /cli-documentation/v11/cli-commands/npm-ls
+ - /cli-documentation/v11/commands/ls
+ - /cli-documentation/v11/commands/npm-ls
+ - /cli-documentation/v11/ls
+ - /cli-documentation/v11/npm-ls
+ - /cli/cli-commands/ls
+ - /cli/cli-commands/npm-ls
+ - /cli/commands/ls
+ - /cli/commands/npm-ls
+ - /cli/ls
+ - /cli/npm-ls
+ - /cli/v11/cli-commands/ls
+ - /cli/v11/cli-commands/npm-ls
+ - /cli/v11/commands/ls
+ - /cli/v11/ls
+ - /cli/v11/npm-ls
+ - /commands/ls
+ - /commands/npm-ls
+---
+
+### Synopsis
+
+```bash
+npm ls
+
+alias: list
+```
+
+### Description
+
+This command will print to stdout all the versions of packages that are installed, as well as their dependencies when `--all` is specified, in a tree structure.
+
+Note: to get a "bottoms up" view of why a given package is included in the tree at all, use [`npm explain`](/cli/v11/commands/npm-explain).
+
+Positional arguments are `name@version-range` identifiers, which will limit the results to only the paths to the packages named. Note that nested packages will _also_ show the paths to the specified packages. For example, running `npm ls promzard` in npm's source tree will show:
+
+```bash
+npm@11.3.0 /path/to/npm
+└─┬ init-package-json@0.0.4
+ └── promzard@0.1.5
+```
+
+It will print out extraneous, missing, and invalid packages.
+
+If a project specifies git urls for dependencies these are shown in parentheses after the `name@version` to make it easier for users to recognize potential forks of a project.
+
+The tree shown is the logical dependency tree, based on package dependencies, not the physical layout of your `node_modules` folder.
+
+When run as `ll` or `la`, it shows extended information by default.
+
+### Configuration
+
+#### `all`
+
+- Default: false
+- Type: Boolean
+
+When running `npm outdated` and `npm ls`, setting `--all` will show all outdated or installed packages, rather than only those directly depended upon by the current project.
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `long`
+
+- Default: false
+- Type: Boolean
+
+Show extended information in `ls`, `search`, and `help-search`.
+
+#### `parseable`
+
+- Default: false
+- Type: Boolean
+
+Output parseable results from commands that write to standard output. For `npm search`, this will be tab-separated table format.
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `depth`
+
+- Default: `Infinity` if `--all` is set, otherwise `0`
+- Type: null or Number
+
+The depth to go when recursing packages for `npm ls`.
+
+If not set, `npm ls` will show only the immediate dependencies of the root project. If `--all` is set, then npm will show all dependencies by default.
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `link`
+
+- Default: false
+- Type: Boolean
+
+Used with `npm ls`, limiting output to only those packages that are linked.
+
+#### `package-lock-only`
+
+- Default: false
+- Type: Boolean
+
+If set to true, the current operation will only use the `package-lock.json`, ignoring `node_modules`.
+
+For `update` this means only the `package-lock.json` will be updated, instead of checking `node_modules` and downloading dependencies.
+
+For `list` this means the output will be based on the tree described by the `package-lock.json`, rather than the contents of `node_modules`.
+
+#### `unicode`
+
+- Default: false on windows, true on mac/unix systems with a unicode locale, as defined by the `LC_ALL`, `LC_CTYPE`, or `LANG` environment variables.
+- Type: Boolean
+
+When set to true, npm uses unicode characters in the tree output. When false, it uses ascii characters instead of unicode glyphs.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm explain](/cli/v11/commands/npm-explain)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm explain](/cli/v11/commands/npm-explain)
+- [npm install](/cli/v11/commands/npm-install)
+- [npm link](/cli/v11/commands/npm-link)
+- [npm prune](/cli/v11/commands/npm-prune)
+- [npm outdated](/cli/v11/commands/npm-outdated)
+- [npm update](/cli/v11/commands/npm-update)
diff --git a/content/cli/v11/commands/npm-org.mdx b/content/cli/v11/commands/npm-org.mdx
new file mode 100644
index 00000000000..6beb0c7cffe
--- /dev/null
+++ b/content/cli/v11/commands/npm-org.mdx
@@ -0,0 +1,131 @@
+---
+title: npm-org
+section: 1
+description: Manage orgs
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-org.md
+redirect_from:
+ - /cli-commands/npm-org
+ - /cli-commands/org
+ - /cli-documentation/cli-commands/npm-org
+ - /cli-documentation/cli-commands/org
+ - /cli-documentation/commands/npm-org
+ - /cli-documentation/commands/org
+ - /cli-documentation/npm-org
+ - /cli-documentation/org
+ - /cli-documentation/v11/cli-commands/npm-org
+ - /cli-documentation/v11/cli-commands/org
+ - /cli-documentation/v11/commands/npm-org
+ - /cli-documentation/v11/commands/org
+ - /cli-documentation/v11/npm-org
+ - /cli-documentation/v11/org
+ - /cli/cli-commands/npm-org
+ - /cli/cli-commands/org
+ - /cli/commands/npm-org
+ - /cli/commands/org
+ - /cli/npm-org
+ - /cli/org
+ - /cli/v11/cli-commands/npm-org
+ - /cli/v11/cli-commands/org
+ - /cli/v11/commands/org
+ - /cli/v11/npm-org
+ - /cli/v11/org
+ - /commands/npm-org
+ - /commands/org
+---
+
+### Synopsis
+
+```bash
+npm org set orgname username [developer | admin | owner]
+npm org rm orgname username
+npm org ls orgname []
+
+alias: ogr
+```
+
+Note: This command is unaware of workspaces.
+
+### Example
+
+Add a new developer to an org:
+
+```bash
+$ npm org set my-org @mx-smith
+```
+
+Add a new admin to an org (or change a developer to an admin):
+
+```bash
+$ npm org set my-org @mx-santos admin
+```
+
+Remove a user from an org:
+
+```bash
+$ npm org rm my-org mx-santos
+```
+
+List all users in an org:
+
+```bash
+$ npm org ls my-org
+```
+
+List all users in JSON format:
+
+```bash
+$ npm org ls my-org --json
+```
+
+See what role a user has in an org:
+
+```bash
+$ npm org ls my-org @mx-santos
+```
+
+### Description
+
+You can use the `npm org` commands to manage and view users of an organization. It supports adding and removing users, changing their roles, listing them, and finding specific ones and their roles.
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `otp`
+
+- Default: null
+- Type: null or String
+
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with `npm access`.
+
+If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `parseable`
+
+- Default: false
+- Type: Boolean
+
+Output parseable results from commands that write to standard output. For `npm search`, this will be tab-separated table format.
+
+### See Also
+
+- [using orgs](/cli/v11/using-npm/orgs)
+- [Documentation on npm Orgs](https://docs.npmjs.com/orgs/)
diff --git a/content/cli/v11/commands/npm-outdated.mdx b/content/cli/v11/commands/npm-outdated.mdx
new file mode 100644
index 00000000000..8c3811496cc
--- /dev/null
+++ b/content/cli/v11/commands/npm-outdated.mdx
@@ -0,0 +1,160 @@
+---
+title: npm-outdated
+section: 1
+description: Check for outdated packages
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-outdated.md
+redirect_from:
+ - /cli-commands/npm-outdated
+ - /cli-commands/outdated
+ - /cli-documentation/cli-commands/npm-outdated
+ - /cli-documentation/cli-commands/outdated
+ - /cli-documentation/commands/npm-outdated
+ - /cli-documentation/commands/outdated
+ - /cli-documentation/npm-outdated
+ - /cli-documentation/outdated
+ - /cli-documentation/v11/cli-commands/npm-outdated
+ - /cli-documentation/v11/cli-commands/outdated
+ - /cli-documentation/v11/commands/npm-outdated
+ - /cli-documentation/v11/commands/outdated
+ - /cli-documentation/v11/npm-outdated
+ - /cli-documentation/v11/outdated
+ - /cli/cli-commands/npm-outdated
+ - /cli/cli-commands/outdated
+ - /cli/commands/npm-outdated
+ - /cli/commands/outdated
+ - /cli/npm-outdated
+ - /cli/outdated
+ - /cli/v11/cli-commands/npm-outdated
+ - /cli/v11/cli-commands/outdated
+ - /cli/v11/commands/outdated
+ - /cli/v11/npm-outdated
+ - /cli/v11/outdated
+ - /commands/npm-outdated
+ - /commands/outdated
+---
+
+### Synopsis
+
+```bash
+npm outdated [ ...]
+```
+
+### Description
+
+This command will check the registry to see if any (or, specific) installed packages are currently outdated.
+
+By default, only the direct dependencies of the root project and direct dependencies of your configured _workspaces_ are shown. Use `--all` to find all outdated meta-dependencies as well.
+
+In the output:
+
+- `wanted` is the maximum version of the package that satisfies the semver range specified in `package.json`. If there's no available semver range (i.e. you're running `npm outdated --global`, or the package isn't included in `package.json`), then `wanted` shows the currently-installed version.
+- `latest` is the version of the package tagged as latest in the registry. Running `npm publish` with no special configuration will publish the package with a dist-tag of `latest`. This may or may not be the maximum version of the package, or the most-recently published version of the package, depending on how the package's developer manages the latest [dist-tag](/cli/v11/commands/npm-dist-tag).
+- `location` is where in the physical tree the package is located.
+- `depended by` shows which package depends on the displayed dependency
+- `package type` (when using `--long` / `-l`) tells you whether this package is a `dependency` or a dev/peer/optional dependency. Packages not included in `package.json` are always marked `dependencies`.
+- `homepage` (when using `--long` / `-l`) is the `homepage` value contained in the package's packument
+- Red means there's a newer version matching your semver requirements, so you should update now.
+- Yellow indicates that there's a newer version _above_ your semver requirements (usually new major, or new 0.x minor) so proceed with caution.
+
+### An example
+
+```bash
+$ npm outdated
+Package Current Wanted Latest Location Depended by
+glob 5.0.15 5.0.15 6.0.1 node_modules/glob dependent-package-name
+nothingness 0.0.3 git git node_modules/nothingness dependent-package-name
+npm 3.5.1 3.5.2 3.5.1 node_modules/npm dependent-package-name
+local-dev 0.0.3 linked linked local-dev dependent-package-name
+once 1.3.2 1.3.3 1.3.3 node_modules/once dependent-package-name
+```
+
+With these `dependencies`:
+
+```json
+{
+ "glob": "^5.0.15",
+ "nothingness": "github:othiym23/nothingness#master",
+ "npm": "^3.5.1",
+ "once": "^1.3.1"
+}
+```
+
+A few things to note:
+
+- `glob` requires `^5`, which prevents npm from installing `glob@6`, which is outside the semver range.
+- Git dependencies will always be reinstalled, because of how they're specified. The installed committish might satisfy the dependency specifier (if it's something immutable, like a commit SHA), or it might not, so `npm outdated` and `npm update` have to fetch Git repos to check. This is why currently doing a reinstall of a Git dependency always forces a new clone and install.
+- `npm@3.5.2` is marked as "wanted", but "latest" is `npm@3.5.1` because npm uses dist-tags to manage its `latest` and `next` release channels. `npm update` will install the _newest_ version, but `npm install npm` (with no semver range) will install whatever's tagged as `latest`.
+- `once` is just plain out of date. Reinstalling `node_modules` from scratch or running `npm update` will bring it up to spec.
+
+### Configuration
+
+#### `all`
+
+- Default: false
+- Type: Boolean
+
+When running `npm outdated` and `npm ls`, setting `--all` will show all outdated or installed packages, rather than only those directly depended upon by the current project.
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `long`
+
+- Default: false
+- Type: Boolean
+
+Show extended information in `ls`, `search`, and `help-search`.
+
+#### `parseable`
+
+- Default: false
+- Type: Boolean
+
+Output parseable results from commands that write to standard output. For `npm search`, this will be tab-separated table format.
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm update](/cli/v11/commands/npm-update)
+- [npm dist-tag](/cli/v11/commands/npm-dist-tag)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm workspaces](/cli/v11/using-npm/workspaces)
diff --git a/content/cli/v11/commands/npm-owner.mdx b/content/cli/v11/commands/npm-owner.mdx
new file mode 100644
index 00000000000..5897a3569bb
--- /dev/null
+++ b/content/cli/v11/commands/npm-owner.mdx
@@ -0,0 +1,114 @@
+---
+title: npm-owner
+section: 1
+description: Manage package owners
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-owner.md
+redirect_from:
+ - /cli-commands/npm-owner
+ - /cli-commands/owner
+ - /cli-documentation/cli-commands/npm-owner
+ - /cli-documentation/cli-commands/owner
+ - /cli-documentation/commands/npm-owner
+ - /cli-documentation/commands/owner
+ - /cli-documentation/npm-owner
+ - /cli-documentation/owner
+ - /cli-documentation/v11/cli-commands/npm-owner
+ - /cli-documentation/v11/cli-commands/owner
+ - /cli-documentation/v11/commands/npm-owner
+ - /cli-documentation/v11/commands/owner
+ - /cli-documentation/v11/npm-owner
+ - /cli-documentation/v11/owner
+ - /cli/cli-commands/npm-owner
+ - /cli/cli-commands/owner
+ - /cli/commands/npm-owner
+ - /cli/commands/owner
+ - /cli/npm-owner
+ - /cli/owner
+ - /cli/v11/cli-commands/npm-owner
+ - /cli/v11/cli-commands/owner
+ - /cli/v11/commands/owner
+ - /cli/v11/npm-owner
+ - /cli/v11/owner
+ - /commands/npm-owner
+ - /commands/owner
+---
+
+### Synopsis
+
+```bash
+npm owner add
+npm owner rm
+npm owner ls
+
+alias: author
+```
+
+### Description
+
+Manage ownership of published packages.
+
+- ls: List all the users who have access to modify a package and push new versions. Handy when you need to know who to bug for help.
+- add: Add a new user as a maintainer of a package. This user is enabled to modify metadata, publish new versions, and add other owners.
+- rm: Remove a user from the package owner list. This immediately revokes their privileges.
+
+Note that there is only one level of access. Either you can modify a package, or you can't. Future versions may contain more fine-grained access levels, but that is not implemented at this time.
+
+If you have two-factor authentication enabled with `auth-and-writes` (see [`npm-profile`](/cli/v11/commands/npm-profile)) then you'll need to go through a second factor flow when changing ownership or include an otp on the command line with `--otp`.
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `otp`
+
+- Default: null
+- Type: null or String
+
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with `npm access`.
+
+If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm profile](/cli/v11/commands/npm-profile)
+- [npm publish](/cli/v11/commands/npm-publish)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm adduser](/cli/v11/commands/npm-adduser)
diff --git a/content/cli/v11/commands/npm-pack.mdx b/content/cli/v11/commands/npm-pack.mdx
new file mode 100644
index 00000000000..c9d7c05a8fb
--- /dev/null
+++ b/content/cli/v11/commands/npm-pack.mdx
@@ -0,0 +1,138 @@
+---
+title: npm-pack
+section: 1
+description: Create a tarball from a package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-pack.md
+redirect_from:
+ - /cli-commands/npm-pack
+ - /cli-commands/pack
+ - /cli-documentation/cli-commands/npm-pack
+ - /cli-documentation/cli-commands/pack
+ - /cli-documentation/commands/npm-pack
+ - /cli-documentation/commands/pack
+ - /cli-documentation/npm-pack
+ - /cli-documentation/pack
+ - /cli-documentation/v11/cli-commands/npm-pack
+ - /cli-documentation/v11/cli-commands/pack
+ - /cli-documentation/v11/commands/npm-pack
+ - /cli-documentation/v11/commands/pack
+ - /cli-documentation/v11/npm-pack
+ - /cli-documentation/v11/pack
+ - /cli/cli-commands/npm-pack
+ - /cli/cli-commands/pack
+ - /cli/commands/npm-pack
+ - /cli/commands/pack
+ - /cli/npm-pack
+ - /cli/pack
+ - /cli/v11/cli-commands/npm-pack
+ - /cli/v11/cli-commands/pack
+ - /cli/v11/commands/pack
+ - /cli/v11/npm-pack
+ - /cli/v11/pack
+ - /commands/npm-pack
+ - /commands/pack
+---
+
+### Synopsis
+
+```bash
+npm pack
+```
+
+### Configuration
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `pack-destination`
+
+- Default: "."
+- Type: String
+
+Directory in which `npm pack` will save tarballs.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+### Description
+
+For anything that's installable (that is, a package folder, tarball, tarball url, git url, name@tag, name@version, name, or scoped name), this command will fetch it to the cache, copy the tarball to the current working directory as `-.tgz`, and then write the filenames out to stdout.
+
+If the same package is specified multiple times, then the file will be overwritten the second time.
+
+If no arguments are supplied, then npm packs the current package folder.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm-packlist package](http://npm.im/npm-packlist)
+- [npm cache](/cli/v11/commands/npm-cache)
+- [npm publish](/cli/v11/commands/npm-publish)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
diff --git a/content/cli/v11/commands/npm-ping.mdx b/content/cli/v11/commands/npm-ping.mdx
new file mode 100644
index 00000000000..4385f92f887
--- /dev/null
+++ b/content/cli/v11/commands/npm-ping.mdx
@@ -0,0 +1,76 @@
+---
+title: npm-ping
+section: 1
+description: Ping npm registry
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-ping.md
+redirect_from:
+ - /cli-commands/npm-ping
+ - /cli-commands/ping
+ - /cli-documentation/cli-commands/npm-ping
+ - /cli-documentation/cli-commands/ping
+ - /cli-documentation/commands/npm-ping
+ - /cli-documentation/commands/ping
+ - /cli-documentation/npm-ping
+ - /cli-documentation/ping
+ - /cli-documentation/v11/cli-commands/npm-ping
+ - /cli-documentation/v11/cli-commands/ping
+ - /cli-documentation/v11/commands/npm-ping
+ - /cli-documentation/v11/commands/ping
+ - /cli-documentation/v11/npm-ping
+ - /cli-documentation/v11/ping
+ - /cli/cli-commands/npm-ping
+ - /cli/cli-commands/ping
+ - /cli/commands/npm-ping
+ - /cli/commands/ping
+ - /cli/npm-ping
+ - /cli/ping
+ - /cli/v11/cli-commands/npm-ping
+ - /cli/v11/cli-commands/ping
+ - /cli/v11/commands/ping
+ - /cli/v11/npm-ping
+ - /cli/v11/ping
+ - /commands/npm-ping
+ - /commands/ping
+---
+
+### Synopsis
+
+```bash
+npm ping
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Ping the configured or given npm registry and verify authentication. If it works it will output something like:
+
+```bash
+npm notice PING https://registry.npmjs.org/
+npm notice PONG 255ms
+```
+
+otherwise you will get an error:
+
+```bash
+npm notice PING http://foo.com/
+npm ERR! code E404
+npm ERR! 404 Not Found - GET http://www.foo.com/-/ping?write=true
+```
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+### See Also
+
+- [npm doctor](/cli/v11/commands/npm-doctor)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
diff --git a/content/cli/v11/commands/npm-pkg.mdx b/content/cli/v11/commands/npm-pkg.mdx
new file mode 100644
index 00000000000..aa98fc4f935
--- /dev/null
+++ b/content/cli/v11/commands/npm-pkg.mdx
@@ -0,0 +1,248 @@
+---
+title: npm-pkg
+section: 1
+description: Manages your package.json
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-pkg.md
+redirect_from:
+ - /cli-commands/npm-pkg
+ - /cli-commands/pkg
+ - /cli-documentation/cli-commands/npm-pkg
+ - /cli-documentation/cli-commands/pkg
+ - /cli-documentation/commands/npm-pkg
+ - /cli-documentation/commands/pkg
+ - /cli-documentation/npm-pkg
+ - /cli-documentation/pkg
+ - /cli-documentation/v11/cli-commands/npm-pkg
+ - /cli-documentation/v11/cli-commands/pkg
+ - /cli-documentation/v11/commands/npm-pkg
+ - /cli-documentation/v11/commands/pkg
+ - /cli-documentation/v11/npm-pkg
+ - /cli-documentation/v11/pkg
+ - /cli/cli-commands/npm-pkg
+ - /cli/cli-commands/pkg
+ - /cli/commands/npm-pkg
+ - /cli/commands/pkg
+ - /cli/npm-pkg
+ - /cli/pkg
+ - /cli/v11/cli-commands/npm-pkg
+ - /cli/v11/cli-commands/pkg
+ - /cli/v11/commands/pkg
+ - /cli/v11/npm-pkg
+ - /cli/v11/pkg
+ - /commands/npm-pkg
+ - /commands/pkg
+---
+
+### Synopsis
+
+```bash
+npm pkg set = [= ...]
+npm pkg get [ [ ...]]
+npm pkg delete [ ...]
+npm pkg set [[].= ...]
+npm pkg set [[].= ...]
+npm pkg fix
+```
+
+### Description
+
+A command that automates the management of `package.json` files. `npm pkg` provide 3 different sub commands that allow you to modify or retrieve values for given object keys in your `package.json`.
+
+The syntax to retrieve and set fields is a dot separated representation of the nested object properties to be found within your `package.json`, it's the same notation used in [`npm view`](/cli/v11/commands/npm-view) to retrieve information from the registry manifest, below you can find more examples on how to use it.
+
+Returned values are always in **json** format.
+
+- `npm pkg get `
+
+ Retrieves a value `key`, defined in your `package.json` file.
+
+ For example, in order to retrieve the name of the current package, you can run:
+
+ ```bash
+ npm pkg get name
+ ```
+
+ It's also possible to retrieve multiple values at once:
+
+ ```bash
+ npm pkg get name version
+ ```
+
+ You can view child fields by separating them with a period. To retrieve the value of a test `script` value, you would run the following command:
+
+ ```bash
+ npm pkg get scripts.test
+ ```
+
+ For fields that are arrays, requesting a non-numeric field will return all of the values from the objects in the list. For example, to get all the contributor emails for a package, you would run:
+
+ ```bash
+ npm pkg get contributors.email
+ ```
+
+ You may also use numeric indices in square braces to specifically select an item in an array field. To just get the email address of the first contributor in the list, you can run:
+
+ ```bash
+ npm pkg get contributors[0].email
+ ```
+
+ For complex fields you can also name a property in square brackets to specifically select a child field. This is especially helpful with the exports object:
+
+ ```bash
+ npm pkg get "exports[.].require"
+ ```
+
+- `npm pkg set =`
+
+ Sets a `value` in your `package.json` based on the `field` value. When saving to your `package.json` file the same set of rules used during `npm install` and other cli commands that touches the `package.json` file are used, making sure to respect the existing indentation and possibly applying some validation prior to saving values to the file.
+
+ The same syntax used to retrieve values from your package can also be used to define new properties or overriding existing ones, below are some examples of how the dot separated syntax can be used to edit your `package.json` file.
+
+ Defining a new bin named `mynewcommand` in your `package.json` that points to a file `cli.js`:
+
+ ```bash
+ npm pkg set bin.mynewcommand=cli.js
+ ```
+
+ Setting multiple fields at once is also possible:
+
+ ```bash
+ npm pkg set description='Awesome package' engines.node='>=10'
+ ```
+
+ It's also possible to add to array values, for example to add a new contributor entry:
+
+ ```bash
+ npm pkg set contributors[0].name='Foo' contributors[0].email='foo@bar.ca'
+ ```
+
+ You may also append items to the end of an array using the special empty bracket notation:
+
+ ```bash
+ npm pkg set contributors[].name='Foo' contributors[].name='Bar'
+ ```
+
+ It's also possible to parse values as json prior to saving them to your `package.json` file, for example in order to set a `"private": true` property:
+
+ ```bash
+ npm pkg set private=true --json
+ ```
+
+ It also enables saving values as numbers:
+
+ ```bash
+ npm pkg set tap.timeout=60 --json
+ ```
+
+- `npm pkg delete `
+
+ Deletes a `key` from your `package.json`
+
+ The same syntax used to set values from your package can also be used to remove existing ones. For example, in order to remove a script named build:
+
+ ```bash
+ npm pkg delete scripts.build
+ ```
+
+- `npm pkg fix`
+
+ Auto corrects common errors in your `package.json`. npm already does this during `publish`, which leads to subtle (mostly harmless) differences between the contents of your `package.json` file and the manifest that npm uses during installation.
+
+### Workspaces support
+
+You can set/get/delete items across your configured workspaces by using the [`workspace`](/cli/v11/using-npm/config#workspace) or [`workspaces`](/cli/v11/using-npm/config#workspaces) config options.
+
+For example, setting a `funding` value across all configured workspaces of a project:
+
+```bash
+npm pkg set funding=https://example.com --ws
+```
+
+When using `npm pkg get` to retrieve info from your configured workspaces, the returned result will be in a json format in which top level keys are the names of each workspace, the values of these keys will be the result values returned from each of the configured workspaces, e.g:
+
+```
+npm pkg get name version --ws
+{
+ "a": {
+ "name": "a",
+ "version": "1.0.0"
+ },
+ "b": {
+ "name": "b",
+ "version": "1.0.0"
+ }
+}
+```
+
+### Configuration
+
+#### `force`
+
+- Default: false
+- Type: Boolean
+
+Removes various protections against unfortunate side effects, common mistakes, unnecessary performance degradation, and malicious input.
+
+- Allow clobbering non-npm files in global installs.
+- Allow the `npm version` command to work on an unclean git repository.
+- Allow deleting the cache folder with `npm cache clean`.
+- Allow installing packages that have an `engines` declaration requiring a different version of npm.
+- Allow installing packages that have an `engines` declaration requiring a different version of `node`, even if `--engine-strict` is enabled.
+- Allow `npm audit fix` to install modules outside your stated dependency range (including SemVer-major changes).
+- Allow unpublishing all versions of a published package.
+- Allow conflicting peerDependencies to be installed in the root project.
+- Implicitly set `--yes` during `npm init`.
+- Allow clobbering existing values in `npm pkg`
+- Allow unpublishing of entire packages (not just a single version).
+
+If you don't have a clear idea of what you want to do, it is strongly recommended that you do not use this option!
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+## See Also
+
+- [npm install](/cli/v11/commands/npm-install)
+- [npm init](/cli/v11/commands/npm-init)
+- [npm config](/cli/v11/commands/npm-config)
+- [workspaces](/cli/v11/using-npm/workspaces)
diff --git a/content/cli/v11/commands/npm-prefix.mdx b/content/cli/v11/commands/npm-prefix.mdx
new file mode 100644
index 00000000000..85ed244232e
--- /dev/null
+++ b/content/cli/v11/commands/npm-prefix.mdx
@@ -0,0 +1,82 @@
+---
+title: npm-prefix
+section: 1
+description: Display prefix
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-prefix.md
+redirect_from:
+ - /cli-commands/npm-prefix
+ - /cli-commands/prefix
+ - /cli-documentation/cli-commands/npm-prefix
+ - /cli-documentation/cli-commands/prefix
+ - /cli-documentation/commands/npm-prefix
+ - /cli-documentation/commands/prefix
+ - /cli-documentation/npm-prefix
+ - /cli-documentation/prefix
+ - /cli-documentation/v11/cli-commands/npm-prefix
+ - /cli-documentation/v11/cli-commands/prefix
+ - /cli-documentation/v11/commands/npm-prefix
+ - /cli-documentation/v11/commands/prefix
+ - /cli-documentation/v11/npm-prefix
+ - /cli-documentation/v11/prefix
+ - /cli/cli-commands/npm-prefix
+ - /cli/cli-commands/prefix
+ - /cli/commands/npm-prefix
+ - /cli/commands/prefix
+ - /cli/npm-prefix
+ - /cli/prefix
+ - /cli/v11/cli-commands/npm-prefix
+ - /cli/v11/cli-commands/prefix
+ - /cli/v11/commands/prefix
+ - /cli/v11/npm-prefix
+ - /cli/v11/prefix
+ - /commands/npm-prefix
+ - /commands/prefix
+---
+
+### Synopsis
+
+```bash
+npm prefix
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Print the local prefix to standard output. This is the closest parent directory to contain a `package.json` file or `node_modules` directory, unless `-g` is also specified.
+
+If `-g` is specified, this will be the value of the global prefix. See [`npm config`](/cli/v11/commands/npm-config) for more detail.
+
+### Example
+
+```bash
+npm prefix
+/usr/local/projects/foo
+```
+
+```bash
+npm prefix -g
+/usr/local
+```
+
+### Configuration
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+### See Also
+
+- [npm root](/cli/v11/commands/npm-root)
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
diff --git a/content/cli/v11/commands/npm-profile.mdx b/content/cli/v11/commands/npm-profile.mdx
new file mode 100644
index 00000000000..33834ed3127
--- /dev/null
+++ b/content/cli/v11/commands/npm-profile.mdx
@@ -0,0 +1,127 @@
+---
+title: npm-profile
+section: 1
+description: Change settings on your registry profile
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-profile.md
+redirect_from:
+ - /cli-commands/npm-profile
+ - /cli-commands/profile
+ - /cli-documentation/cli-commands/npm-profile
+ - /cli-documentation/cli-commands/profile
+ - /cli-documentation/commands/npm-profile
+ - /cli-documentation/commands/profile
+ - /cli-documentation/npm-profile
+ - /cli-documentation/profile
+ - /cli-documentation/v11/cli-commands/npm-profile
+ - /cli-documentation/v11/cli-commands/profile
+ - /cli-documentation/v11/commands/npm-profile
+ - /cli-documentation/v11/commands/profile
+ - /cli-documentation/v11/npm-profile
+ - /cli-documentation/v11/profile
+ - /cli/cli-commands/npm-profile
+ - /cli/cli-commands/profile
+ - /cli/commands/npm-profile
+ - /cli/commands/profile
+ - /cli/npm-profile
+ - /cli/profile
+ - /cli/v11/cli-commands/npm-profile
+ - /cli/v11/cli-commands/profile
+ - /cli/v11/commands/profile
+ - /cli/v11/npm-profile
+ - /cli/v11/profile
+ - /commands/npm-profile
+ - /commands/profile
+---
+
+### Synopsis
+
+```bash
+npm profile enable-2fa [auth-only|auth-and-writes]
+npm profile disable-2fa
+npm profile get []
+npm profile set
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Change your profile information on the registry. Note that this command depends on the registry implementation, so third-party registries may not support this interface.
+
+- `npm profile get []`: Display all of the properties of your profile, or one or more specific properties. It looks like:
+
+```
+name: example
+email: e@example.com (verified)
+two-factor auth: auth-and-writes
+fullname: Example User
+homepage:
+freenode:
+twitter:
+github:
+created: 2015-02-26T01:38:35.892Z
+updated: 2017-10-02T21:29:45.922Z
+```
+
+- `npm profile set `: Set the value of a profile property. You can set the following properties this way: email, fullname, homepage, freenode, twitter, github
+
+- `npm profile set password`: Change your password. This is interactive, you'll be prompted for your current password and a new password. You'll also be prompted for an OTP if you have two-factor authentication enabled.
+
+- `npm profile enable-2fa [auth-and-writes|auth-only]`: Enables two-factor authentication. Defaults to `auth-and-writes` mode. Modes are:
+
+ - `auth-only`: Require an OTP when logging in or making changes to your account's authentication. The OTP will be required on both the website and the command line.
+ - `auth-and-writes`: Requires an OTP at all the times `auth-only` does, and also requires one when publishing a module, setting the `latest` dist-tag, or changing access via `npm access` and `npm owner`.
+
+- `npm profile disable-2fa`: Disables two-factor authentication.
+
+### Details
+
+Some of these commands may not be available on non npmjs.com registries.
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `parseable`
+
+- Default: false
+- Type: Boolean
+
+Output parseable results from commands that write to standard output. For `npm search`, this will be tab-separated table format.
+
+#### `otp`
+
+- Default: null
+- Type: null or String
+
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with `npm access`.
+
+If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
+
+### See Also
+
+- [npm adduser](/cli/v11/commands/npm-adduser)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [npm owner](/cli/v11/commands/npm-owner)
+- [npm whoami](/cli/v11/commands/npm-whoami)
+- [npm token](/cli/v11/commands/npm-token)
diff --git a/content/cli/v11/commands/npm-prune.mdx b/content/cli/v11/commands/npm-prune.mdx
new file mode 100644
index 00000000000..300d58700d7
--- /dev/null
+++ b/content/cli/v11/commands/npm-prune.mdx
@@ -0,0 +1,174 @@
+---
+title: npm-prune
+section: 1
+description: Remove extraneous packages
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-prune.md
+redirect_from:
+ - /cli-commands/npm-prune
+ - /cli-commands/prune
+ - /cli-documentation/cli-commands/npm-prune
+ - /cli-documentation/cli-commands/prune
+ - /cli-documentation/commands/npm-prune
+ - /cli-documentation/commands/prune
+ - /cli-documentation/npm-prune
+ - /cli-documentation/prune
+ - /cli-documentation/v11/cli-commands/npm-prune
+ - /cli-documentation/v11/cli-commands/prune
+ - /cli-documentation/v11/commands/npm-prune
+ - /cli-documentation/v11/commands/prune
+ - /cli-documentation/v11/npm-prune
+ - /cli-documentation/v11/prune
+ - /cli/cli-commands/npm-prune
+ - /cli/cli-commands/prune
+ - /cli/commands/npm-prune
+ - /cli/commands/prune
+ - /cli/npm-prune
+ - /cli/prune
+ - /cli/v11/cli-commands/npm-prune
+ - /cli/v11/cli-commands/prune
+ - /cli/v11/commands/prune
+ - /cli/v11/npm-prune
+ - /cli/v11/prune
+ - /commands/npm-prune
+ - /commands/prune
+---
+
+### Synopsis
+
+```bash
+npm prune [[<@scope>/]...]
+```
+
+### Description
+
+This command removes "extraneous" packages. If a package name is provided, then only packages matching one of the supplied names are removed.
+
+Extraneous packages are those present in the `node_modules` folder that are not listed as any package's dependency list.
+
+If the `--omit=dev` flag is specified or the `NODE_ENV` environment variable is set to `production`, this command will remove the packages specified in your `devDependencies`.
+
+If the `--dry-run` flag is used then no changes will actually be made.
+
+If the `--json` flag is used, then the changes `npm prune` made (or would have made with `--dry-run`) are printed as a JSON object.
+
+In normal operation, extraneous modules are pruned automatically, so you'll only need this command with the `--production` flag. However, in the real world, operation is not always "normal". When crashes or mistakes happen, this command can help clean up any resulting garbage.
+
+### Configuration
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `include`
+
+- Default:
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
+
+Option that allows for defining which types of dependencies to install.
+
+This is the inverse of `--omit=`.
+
+Dependency types specified in `--include` will not be omitted, regardless of the order in which omit/include are specified on the command-line.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `foreground-scripts`
+
+- Default: `false` unless when using `npm pack` or `npm publish` where it defaults to `true`
+- Type: Boolean
+
+Run all build scripts (ie, `preinstall`, `install`, and `postinstall`) scripts for installed packages in the foreground process, sharing standard input, output, and error with the main npm process.
+
+Note that this will generally make installs run slower, and be much noisier, but can be useful for debugging.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [npm uninstall](/cli/v11/commands/npm-uninstall)
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm ls](/cli/v11/commands/npm-ls)
diff --git a/content/cli/v11/commands/npm-publish.mdx b/content/cli/v11/commands/npm-publish.mdx
new file mode 100644
index 00000000000..c16d0caad57
--- /dev/null
+++ b/content/cli/v11/commands/npm-publish.mdx
@@ -0,0 +1,202 @@
+---
+title: npm-publish
+section: 1
+description: Publish a package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-publish.md
+redirect_from:
+ - /cli-commands/npm-publish
+ - /cli-commands/publish
+ - /cli-documentation/cli-commands/npm-publish
+ - /cli-documentation/cli-commands/publish
+ - /cli-documentation/commands/npm-publish
+ - /cli-documentation/commands/publish
+ - /cli-documentation/npm-publish
+ - /cli-documentation/publish
+ - /cli-documentation/v11/cli-commands/npm-publish
+ - /cli-documentation/v11/cli-commands/publish
+ - /cli-documentation/v11/commands/npm-publish
+ - /cli-documentation/v11/commands/publish
+ - /cli-documentation/v11/npm-publish
+ - /cli-documentation/v11/publish
+ - /cli/cli-commands/npm-publish
+ - /cli/cli-commands/publish
+ - /cli/commands/npm-publish
+ - /cli/commands/publish
+ - /cli/npm-publish
+ - /cli/publish
+ - /cli/v11/cli-commands/npm-publish
+ - /cli/v11/cli-commands/publish
+ - /cli/v11/commands/publish
+ - /cli/v11/npm-publish
+ - /cli/v11/publish
+ - /commands/npm-publish
+ - /commands/publish
+---
+
+### Synopsis
+
+```bash
+npm publish
+```
+
+### Description
+
+Publishes a package to the registry so that it can be installed by name.
+
+By default npm will publish to the public registry. This can be overridden by specifying a different default registry or using a [`scope`](/cli/v11/using-npm/scope) in the name, combined with a scope-configured registry (see [`package.json`](/cli/v11/configuring-npm/package-json)).
+
+A `package` is interpreted the same way as other commands (like `npm install`) and can be:
+
+- a) a folder containing a program described by a [`package.json`](/cli/v11/configuring-npm/package-json) file
+- b) a gzipped tarball containing (a)
+- c) a url that resolves to (b)
+- d) a `@` that is published on the registry (see [`registry`](/cli/v11/using-npm/registry)) with (c)
+- e) a `@` (see [`npm dist-tag`](/cli/v11/commands/npm-dist-tag)) that points to (d)
+- f) a `` that has a "latest" tag satisfying (e)
+- g) a `` that resolves to (a)
+
+The publish will fail if the package name and version combination already exists in the specified registry.
+
+Once a package is published with a given name and version, that specific name and version combination can never be used again, even if it is removed with [`npm unpublish`](/cli/v11/commands/npm-unpublish).
+
+As of `npm@5`, both a sha1sum and an integrity field with a sha512sum of the tarball will be submitted to the registry during publication. Subsequent installs will use the strongest supported algorithm to verify downloads.
+
+Similar to `--dry-run` see [`npm pack`](/cli/v11/commands/npm-pack), which figures out the files to be included and packs them into a tarball to be uploaded to the registry.
+
+### Files included in package
+
+To see what will be included in your package, run `npm pack --dry-run`. All files are included by default, with the following exceptions:
+
+- Certain files that are relevant to package installation and distribution are always included. For example, `package.json`, `README.md`, `LICENSE`, and so on.
+
+- If there is a "files" list in [`package.json`](/cli/v11/configuring-npm/package-json), then only the files specified will be included. (If directories are specified, then they will be walked recursively and their contents included, subject to the same ignore rules.)
+
+- If there is a `.gitignore` or `.npmignore` file, then ignored files in that and all child directories will be excluded from the package. If _both_ files exist, then the `.gitignore` is ignored, and only the `.npmignore` is used.
+
+ `.npmignore` files follow the [same pattern rules](https://git-scm.com/book/en/v2/Git-Basics-Recording-Changes-to-the-Repository#_ignoring) as `.gitignore` files
+
+- If the file matches certain patterns, then it will _never_ be included, unless explicitly added to the `"files"` list in `package.json`, or un-ignored with a `!` rule in a `.npmignore` or `.gitignore` file.
+
+- Symbolic links are never included in npm packages.
+
+See [`developers`](/cli/v11/using-npm/developers) for full details on what's included in the published package, as well as details on how the package is built.
+
+See [`package.json`](/cli/v11/configuring-npm/package-json) for more info on what can and can't be ignored.
+
+### Configuration
+
+#### `tag`
+
+- Default: "latest"
+- Type: String
+
+If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.
+
+It is the tag added to the package@version specified in the `npm dist-tag add` command, if no explicit tag is given.
+
+When used by the `npm diff` command, this is the tag used to fetch the tarball that will be compared with the local files by default.
+
+If used in the `npm publish` command, this is the tag that will be added to the package submitted to the registry.
+
+#### `access`
+
+- Default: 'public' for new packages, existing packages it will not change the current level
+- Type: null, "restricted", or "public"
+
+If you do not want your scoped package to be publicly viewable (and installable) set `--access=restricted`.
+
+Unscoped packages can not be set to `restricted`.
+
+Note: This defaults to not changing the current access level for existing packages. Specifying a value of `restricted` or `public` during publish will change the access for an existing package the same way that `npm access set status` would.
+
+#### `dry-run`
+
+- Default: false
+- Type: Boolean
+
+Indicates that you don't want npm to make any changes and that it should only report what it would have done. This can be passed into any of the commands that modify your local installation, eg, `install`, `update`, `dedupe`, `uninstall`, as well as `pack` and `publish`.
+
+Note: This is NOT honored by other network related commands, eg `dist-tags`, `owner`, etc.
+
+#### `otp`
+
+- Default: null
+- Type: null or String
+
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with `npm access`.
+
+If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `provenance`
+
+- Default: false
+- Type: Boolean
+
+When publishing from a supported cloud CI/CD system, the package will be publicly linked to where it was built and published from.
+
+This config can not be used with: `provenance-file`
+
+#### `provenance-file`
+
+- Default: null
+- Type: Path
+
+When publishing, the provenance bundle at the given path will be used.
+
+This config can not be used with: `provenance`
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm-packlist package](http://npm.im/npm-packlist)
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm scope](/cli/v11/using-npm/scope)
+- [npm adduser](/cli/v11/commands/npm-adduser)
+- [npm owner](/cli/v11/commands/npm-owner)
+- [npm deprecate](/cli/v11/commands/npm-deprecate)
+- [npm dist-tag](/cli/v11/commands/npm-dist-tag)
+- [npm pack](/cli/v11/commands/npm-pack)
+- [npm profile](/cli/v11/commands/npm-profile)
diff --git a/content/cli/v11/commands/npm-query.mdx b/content/cli/v11/commands/npm-query.mdx
new file mode 100644
index 00000000000..c19782d6266
--- /dev/null
+++ b/content/cli/v11/commands/npm-query.mdx
@@ -0,0 +1,272 @@
+---
+title: npm-query
+section: 1
+description: Dependency selector query
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-query.md
+redirect_from:
+ - /cli-commands/npm-query
+ - /cli-commands/query
+ - /cli-documentation/cli-commands/npm-query
+ - /cli-documentation/cli-commands/query
+ - /cli-documentation/commands/npm-query
+ - /cli-documentation/commands/query
+ - /cli-documentation/npm-query
+ - /cli-documentation/query
+ - /cli-documentation/v11/cli-commands/npm-query
+ - /cli-documentation/v11/cli-commands/query
+ - /cli-documentation/v11/commands/npm-query
+ - /cli-documentation/v11/commands/query
+ - /cli-documentation/v11/npm-query
+ - /cli-documentation/v11/query
+ - /cli/cli-commands/npm-query
+ - /cli/cli-commands/query
+ - /cli/commands/npm-query
+ - /cli/commands/query
+ - /cli/npm-query
+ - /cli/query
+ - /cli/v11/cli-commands/npm-query
+ - /cli/v11/cli-commands/query
+ - /cli/v11/commands/query
+ - /cli/v11/npm-query
+ - /cli/v11/query
+ - /commands/npm-query
+ - /commands/query
+---
+
+### Synopsis
+
+```bash
+npm query
+```
+
+### Description
+
+The `npm query` command allows for usage of css selectors in order to retrieve an array of dependency objects.
+
+### Piping npm query to other commands
+
+```bash
+# find all dependencies with postinstall scripts & uninstall them
+npm query ":attr(scripts, [postinstall])" | jq 'map(.name)|join("\n")' -r | xargs -I {} npm uninstall {}
+
+# find all git dependencies & explain who requires them
+npm query ":type(git)" | jq 'map(.name)' | xargs -I {} npm why {}
+```
+
+### Extended Use Cases & Queries
+
+```stylus
+// all deps
+*
+
+// all direct deps
+:root > *
+
+// direct production deps
+:root > .prod
+
+// direct development deps
+:root > .dev
+
+// any peer dep of a direct deps
+:root > * > .peer
+
+// any workspace dep
+.workspace
+
+// all workspaces that depend on another workspace
+.workspace > .workspace
+
+// all workspaces that have peer deps
+.workspace:has(.peer)
+
+// any dep named "lodash"
+// equivalent to [name="lodash"]
+#lodash
+
+// any deps named "lodash" & within semver range ^"1.2.3"
+#lodash@^1.2.3
+// equivalent to...
+[name="lodash"]:semver(^1.2.3)
+
+// get the hoisted node for a given semver range
+#lodash@^1.2.3:not(:deduped)
+
+// querying deps with a specific version
+#lodash@2.1.5
+// equivalent to...
+[name="lodash"][version="2.1.5"]
+
+// has any deps
+:has(*)
+
+// deps with no other deps (ie. "leaf" nodes)
+:empty
+
+// manually querying git dependencies
+[repository^=github:],
+[repository^=git:],
+[repository^=https://github.com],
+[repository^=http://github.com],
+[repository^=https://github.com],
+[repository^=+git:...]
+
+// querying for all git dependencies
+:type(git)
+
+// get production dependencies that aren't also dev deps
+.prod:not(.dev)
+
+// get dependencies with specific licenses
+[license=MIT], [license=ISC]
+
+// find all packages that have @ruyadorno as a contributor
+:attr(contributors, [email=ruyadorno@github.com])
+```
+
+### Example Response Output
+
+- 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
+
+```json
+[
+ {
+ "name": "",
+ "version": "",
+ "description": "",
+ "homepage": "",
+ "bugs": {},
+ "author": {},
+ "license": {},
+ "funding": {},
+ "files": [],
+ "main": "",
+ "browser": "",
+ "bin": {},
+ "man": [],
+ "directories": {},
+ "repository": {},
+ "scripts": {},
+ "config": {},
+ "dependencies": {},
+ "devDependencies": {},
+ "optionalDependencies": {},
+ "bundledDependencies": {},
+ "peerDependencies": {},
+ "peerDependenciesMeta": {},
+ "engines": {},
+ "os": [],
+ "cpu": [],
+ "workspaces": {},
+ "keywords": [],
+ ...
+ },
+ ...
+```
+
+### Expecting a certain number of results
+
+One common use of `npm query` is to make sure there is only one version of a certain dependency in your tree. This is especially common for ecosystems like that rely on `typescript` where having state split across two different but identically-named packages causes bugs. You can use the `--expect-results` or `--expect-result-count` in your setup to ensure that npm will exit with an exit code if your tree doesn't look like you want it to.
+
+```sh
+$ npm query '#react' --expect-result-count=1
+```
+
+Perhaps you want to quickly check if there are any production dependencies that could be updated:
+
+```sh
+$ npm query ':root>:outdated(in-range).prod' --no-expect-results
+```
+
+### Package lock only mode
+
+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).
+
+### Configuration
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `package-lock-only`
+
+- Default: false
+- Type: Boolean
+
+If set to true, the current operation will only use the `package-lock.json`, ignoring `node_modules`.
+
+For `update` this means only the `package-lock.json` will be updated, instead of checking `node_modules` and downloading dependencies.
+
+For `list` this means the output will be based on the tree described by the `package-lock.json`, rather than the contents of `node_modules`.
+
+#### `expect-results`
+
+- Default: null
+- Type: null or Boolean
+
+Tells npm whether or not to expect results from the command. Can be either true (expect some results) or false (expect no results).
+
+This config can not be used with: `expect-result-count`
+
+#### `expect-result-count`
+
+- Default: null
+- Type: null or Number
+
+Tells to expect a specific number of results from the command.
+
+This config can not be used with: `expect-results`
+
+## See Also
+
+- [dependency selectors](/cli/v11/using-npm/dependency-selectors)
diff --git a/content/cli/v11/commands/npm-rebuild.mdx b/content/cli/v11/commands/npm-rebuild.mdx
new file mode 100644
index 00000000000..a3e2f14e866
--- /dev/null
+++ b/content/cli/v11/commands/npm-rebuild.mdx
@@ -0,0 +1,163 @@
+---
+title: npm-rebuild
+section: 1
+description: Rebuild a package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-rebuild.md
+redirect_from:
+ - /cli-commands/npm-rebuild
+ - /cli-commands/rebuild
+ - /cli-documentation/cli-commands/npm-rebuild
+ - /cli-documentation/cli-commands/rebuild
+ - /cli-documentation/commands/npm-rebuild
+ - /cli-documentation/commands/rebuild
+ - /cli-documentation/npm-rebuild
+ - /cli-documentation/rebuild
+ - /cli-documentation/v11/cli-commands/npm-rebuild
+ - /cli-documentation/v11/cli-commands/rebuild
+ - /cli-documentation/v11/commands/npm-rebuild
+ - /cli-documentation/v11/commands/rebuild
+ - /cli-documentation/v11/npm-rebuild
+ - /cli-documentation/v11/rebuild
+ - /cli/cli-commands/npm-rebuild
+ - /cli/cli-commands/rebuild
+ - /cli/commands/npm-rebuild
+ - /cli/commands/rebuild
+ - /cli/npm-rebuild
+ - /cli/rebuild
+ - /cli/v11/cli-commands/npm-rebuild
+ - /cli/v11/cli-commands/rebuild
+ - /cli/v11/commands/rebuild
+ - /cli/v11/npm-rebuild
+ - /cli/v11/rebuild
+ - /commands/npm-rebuild
+ - /commands/rebuild
+---
+
+### Synopsis
+
+```bash
+npm rebuild [] ...]
+
+alias: rb
+```
+
+### Description
+
+This command does the following:
+
+1. Execute lifecycle scripts (`preinstall`, `install`, `postinstall`, `prepare`)
+2. Links bins depending on whether bin links are enabled
+
+This command is particularly useful in scenarios including but not limited to:
+
+1. Installing a new version of **node.js**, where you need to recompile all your C++ add-ons with the updated binary.
+2. Installing with `--ignore-scripts` and `--no-bin-links`, to explicitly choose which packages to build and/or link bins.
+
+If one or more package specs are provided, then only packages with a name and version matching one of the specifiers will be rebuilt.
+
+Usually, you should not need to run `npm rebuild` as it is already done for you as part of npm install (unless you suppressed these steps with `--ignore-scripts` or `--no-bin-links`).
+
+If there is a `binding.gyp` file in the root of your package, then npm will use a default install hook:
+
+```
+"scripts": {
+ "install": "node-gyp rebuild"
+}
+```
+
+This default behavior is suppressed if the `package.json` has its own `install` or `preinstall` scripts. It is also suppressed if the package specifies `"gypfile": false`
+
+### Configuration
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+#### `bin-links`
+
+- Default: true
+- Type: Boolean
+
+Tells npm to create symlinks (or `.cmd` shims on Windows) for package executables.
+
+Set to false to have it not do this. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems.
+
+#### `foreground-scripts`
+
+- Default: `false` unless when using `npm pack` or `npm publish` where it defaults to `true`
+- Type: Boolean
+
+Run all build scripts (ie, `preinstall`, `install`, and `postinstall`) scripts for installed packages in the foreground process, sharing standard input, output, and error with the main npm process.
+
+Note that this will generally make installs run slower, and be much noisier, but can be useful for debugging.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `install-links`
+
+- Default: false
+- Type: Boolean
+
+When set file: protocol dependencies will be packed and installed as regular dependencies instead of creating a symlink. This option has no effect on workspaces.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm install](/cli/v11/commands/npm-install)
diff --git a/content/cli/v11/commands/npm-repo.mdx b/content/cli/v11/commands/npm-repo.mdx
new file mode 100644
index 00000000000..3c56c8d74d8
--- /dev/null
+++ b/content/cli/v11/commands/npm-repo.mdx
@@ -0,0 +1,112 @@
+---
+title: npm-repo
+section: 1
+description: Open package repository page in the browser
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-repo.md
+redirect_from:
+ - /cli-commands/npm-repo
+ - /cli-commands/repo
+ - /cli-documentation/cli-commands/npm-repo
+ - /cli-documentation/cli-commands/repo
+ - /cli-documentation/commands/npm-repo
+ - /cli-documentation/commands/repo
+ - /cli-documentation/npm-repo
+ - /cli-documentation/repo
+ - /cli-documentation/v11/cli-commands/npm-repo
+ - /cli-documentation/v11/cli-commands/repo
+ - /cli-documentation/v11/commands/npm-repo
+ - /cli-documentation/v11/commands/repo
+ - /cli-documentation/v11/npm-repo
+ - /cli-documentation/v11/repo
+ - /cli/cli-commands/npm-repo
+ - /cli/cli-commands/repo
+ - /cli/commands/npm-repo
+ - /cli/commands/repo
+ - /cli/npm-repo
+ - /cli/repo
+ - /cli/v11/cli-commands/npm-repo
+ - /cli/v11/cli-commands/repo
+ - /cli/v11/commands/repo
+ - /cli/v11/npm-repo
+ - /cli/v11/repo
+ - /commands/npm-repo
+ - /commands/repo
+---
+
+### Synopsis
+
+```bash
+npm repo [ [ ...]]
+```
+
+### Description
+
+This command tries to guess at the likely location of a package's repository URL, and then tries to open it using the [`--browser` config](/cli/v11/using-npm/config#browser) param. If no package name is provided, it will search for a `package.json` in the current folder and use the `repository` property.
+
+### Configuration
+
+#### `browser`
+
+- Default: OS X: `"open"`, Windows: `"start"`, Others: `"xdg-open"`
+- Type: null, Boolean, or String
+
+The browser that is called by npm commands to open websites.
+
+Set to `false` to suppress browser behavior and instead print urls to terminal.
+
+Set to `true` to use default system URL opener.
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+### See Also
+
+- [npm docs](/cli/v11/commands/npm-docs)
+- [npm config](/cli/v11/commands/npm-config)
diff --git a/content/cli/v11/commands/npm-restart.mdx b/content/cli/v11/commands/npm-restart.mdx
new file mode 100644
index 00000000000..9261deeacb1
--- /dev/null
+++ b/content/cli/v11/commands/npm-restart.mdx
@@ -0,0 +1,90 @@
+---
+title: npm-restart
+section: 1
+description: Restart a package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-restart.md
+redirect_from:
+ - /cli-commands/npm-restart
+ - /cli-commands/restart
+ - /cli-documentation/cli-commands/npm-restart
+ - /cli-documentation/cli-commands/restart
+ - /cli-documentation/commands/npm-restart
+ - /cli-documentation/commands/restart
+ - /cli-documentation/npm-restart
+ - /cli-documentation/restart
+ - /cli-documentation/v11/cli-commands/npm-restart
+ - /cli-documentation/v11/cli-commands/restart
+ - /cli-documentation/v11/commands/npm-restart
+ - /cli-documentation/v11/commands/restart
+ - /cli-documentation/v11/npm-restart
+ - /cli-documentation/v11/restart
+ - /cli/cli-commands/npm-restart
+ - /cli/cli-commands/restart
+ - /cli/commands/npm-restart
+ - /cli/commands/restart
+ - /cli/npm-restart
+ - /cli/restart
+ - /cli/v11/cli-commands/npm-restart
+ - /cli/v11/cli-commands/restart
+ - /cli/v11/commands/restart
+ - /cli/v11/npm-restart
+ - /cli/v11/restart
+ - /commands/npm-restart
+ - /commands/restart
+---
+
+### Synopsis
+
+```bash
+npm restart [-- ]
+```
+
+### Description
+
+This restarts a project. It is equivalent to running `npm run-script restart`.
+
+If the current project has a `"restart"` script specified in `package.json`, then the following scripts will be run:
+
+1. prerestart
+2. restart
+3. postrestart
+
+If it does _not_ have a `"restart"` script specified, but it does have `stop` and/or `start` scripts, then the following scripts will be run:
+
+1. prerestart
+2. prestop
+3. stop
+4. poststop
+5. prestart
+6. start
+7. poststart
+8. postrestart
+
+### Configuration
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `script-shell`
+
+- Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
+- Type: null or String
+
+The shell to use for scripts run with the `npm exec`, `npm run` and `npm init ` commands.
+
+### See Also
+
+- [npm run-script](/cli/v11/commands/npm-run-script)
+- [npm scripts](/cli/v11/using-npm/scripts)
+- [npm test](/cli/v11/commands/npm-test)
+- [npm start](/cli/v11/commands/npm-start)
+- [npm stop](/cli/v11/commands/npm-stop)
+- [npm restart](/cli/v11/commands/npm-restart)
diff --git a/content/cli/v11/commands/npm-root.mdx b/content/cli/v11/commands/npm-root.mdx
new file mode 100644
index 00000000000..25176f4a6d6
--- /dev/null
+++ b/content/cli/v11/commands/npm-root.mdx
@@ -0,0 +1,76 @@
+---
+title: npm-root
+section: 1
+description: Display npm root
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-root.md
+redirect_from:
+ - /cli-commands/npm-root
+ - /cli-commands/root
+ - /cli-documentation/cli-commands/npm-root
+ - /cli-documentation/cli-commands/root
+ - /cli-documentation/commands/npm-root
+ - /cli-documentation/commands/root
+ - /cli-documentation/npm-root
+ - /cli-documentation/root
+ - /cli-documentation/v11/cli-commands/npm-root
+ - /cli-documentation/v11/cli-commands/root
+ - /cli-documentation/v11/commands/npm-root
+ - /cli-documentation/v11/commands/root
+ - /cli-documentation/v11/npm-root
+ - /cli-documentation/v11/root
+ - /cli/cli-commands/npm-root
+ - /cli/cli-commands/root
+ - /cli/commands/npm-root
+ - /cli/commands/root
+ - /cli/npm-root
+ - /cli/root
+ - /cli/v11/cli-commands/npm-root
+ - /cli/v11/cli-commands/root
+ - /cli/v11/commands/root
+ - /cli/v11/npm-root
+ - /cli/v11/root
+ - /commands/npm-root
+ - /commands/root
+---
+
+### Synopsis
+
+```bash
+npm root
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Print the effective `node_modules` folder to standard out.
+
+Useful for using npm in shell scripts that do things with the `node_modules` folder. For example:
+
+```bash
+#!/bin/bash
+global_node_modules="$(npm root --global)"
+echo "Global packages installed in: ${global_node_modules}"
+```
+
+### Configuration
+
+#### `global`
+
+- Default: false
+- Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix` folder instead of the current working directory. See [folders](/cli/v11/configuring-npm/folders) for more on the differences in behavior.
+
+- packages are installed into the `{prefix}/lib/node_modules` folder, instead of the current working directory.
+- bin files are linked to `{prefix}/bin`
+- man pages are linked to `{prefix}/share/man`
+
+### See Also
+
+- [npm prefix](/cli/v11/commands/npm-prefix)
+- [npm folders](/cli/v11/configuring-npm/folders)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
diff --git a/content/cli/v11/commands/npm-run-script.mdx b/content/cli/v11/commands/npm-run-script.mdx
new file mode 100644
index 00000000000..83045adf327
--- /dev/null
+++ b/content/cli/v11/commands/npm-run-script.mdx
@@ -0,0 +1,217 @@
+---
+title: npm-run-script
+section: 1
+description: Run arbitrary package scripts
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-run-script.md
+redirect_from:
+ - /cli-commands/npm-run-script
+ - /cli-commands/run-script
+ - /cli-documentation/cli-commands/npm-run-script
+ - /cli-documentation/cli-commands/run-script
+ - /cli-documentation/commands/npm-run-script
+ - /cli-documentation/commands/run-script
+ - /cli-documentation/npm-run-script
+ - /cli-documentation/run-script
+ - /cli-documentation/v11/cli-commands/npm-run-script
+ - /cli-documentation/v11/cli-commands/run-script
+ - /cli-documentation/v11/commands/npm-run-script
+ - /cli-documentation/v11/commands/run-script
+ - /cli-documentation/v11/npm-run-script
+ - /cli-documentation/v11/run-script
+ - /cli/cli-commands/npm-run-script
+ - /cli/cli-commands/run-script
+ - /cli/commands/npm-run-script
+ - /cli/commands/run-script
+ - /cli/npm-run-script
+ - /cli/run-script
+ - /cli/v11/cli-commands/npm-run-script
+ - /cli/v11/cli-commands/run-script
+ - /cli/v11/commands/run-script
+ - /cli/v11/npm-run-script
+ - /cli/v11/run-script
+ - /commands/npm-run-script
+ - /commands/run-script
+---
+
+### Synopsis
+
+```bash
+npm run-script [-- ]
+
+aliases: run, rum, urn
+```
+
+### Description
+
+This runs an arbitrary command from a package's `"scripts"` object. If no `"command"` is provided, it will list the available scripts.
+
+`run[-script]` is used by the test, start, restart, and stop commands, but can be called directly, as well. When the scripts in the package are printed out, they're separated into lifecycle (test, start, restart) and directly-run scripts.
+
+Any positional arguments are passed to the specified script. Use `--` to pass `-`-prefixed flags and options which would otherwise be parsed by npm.
+
+For example:
+
+```bash
+npm run test -- --grep="pattern"
+```
+
+The arguments will only be passed to the script specified after `npm run` and not to any `pre` or `post` script.
+
+The `env` script is a special built-in command that can be used to list environment variables that will be available to the script at runtime. If an "env" command is defined in your package, it will take precedence over the built-in.
+
+In addition to the shell's pre-existing `PATH`, `npm run` adds `node_modules/.bin` to the `PATH` provided to scripts. Any binaries provided by locally-installed dependencies can be used without the `node_modules/.bin` prefix. For example, if there is a `devDependency` on `tap` in your package, you should write:
+
+```bash
+"scripts": {"test": "tap test/*.js"}
+```
+
+instead of
+
+```bash
+"scripts": {"test": "node_modules/.bin/tap test/*.js"}
+```
+
+The actual shell your script is run within is platform dependent. By default, on Unix-like systems it is the `/bin/sh` command, on Windows it is `cmd.exe`. The actual shell referred to by `/bin/sh` also depends on the system. You can customize the shell with the [`script-shell` config](/cli/v11/using-npm/config#script-shell).
+
+Scripts are run from the root of the package folder, regardless of what the current working directory is when `npm run` is called. If you want your script to use different behavior based on what subdirectory you're in, you can use the `INIT_CWD` environment variable, which holds the full path you were in when you ran `npm run`.
+
+`npm run` sets the `NODE` environment variable to the `node` executable with which `npm` is executed.
+
+If you try to run a script without having a `node_modules` directory and it fails, you will be given a warning to run `npm install`, just in case you've forgotten.
+
+### Workspaces support
+
+You may use the [`workspace`](/cli/v11/using-npm/config#workspace) or [`workspaces`](/cli/v11/using-npm/config#workspaces) configs in order to run an arbitrary command from a package's `"scripts"` object in the context of the specified workspaces. If no `"command"` is provided, it will list the available scripts for each of these configured workspaces.
+
+Given a project with configured workspaces, e.g:
+
+```
+.
++-- package.json
+`-- packages
+ +-- a
+ | `-- package.json
+ +-- b
+ | `-- package.json
+ `-- c
+ `-- package.json
+```
+
+Assuming the workspace configuration is properly set up at the root level `package.json` file. e.g:
+
+```
+{
+ "workspaces": [ "./packages/*" ]
+}
+```
+
+And that each of the configured workspaces has a configured `test` script, we can run tests in all of them using the [`workspaces` config](/cli/v11/using-npm/config#workspaces):
+
+```
+npm test --workspaces
+```
+
+#### Filtering workspaces
+
+It's also possible to run a script in a single workspace using the `workspace` config along with a name or directory path:
+
+```
+npm test --workspace=a
+```
+
+The `workspace` config can also be specified multiple times in order to run a specific script in the context of multiple workspaces. When defining values for the `workspace` config in the command line, it also possible to use `-w` as a shorthand, e.g:
+
+```
+npm test -w a -w b
+```
+
+This last command will run `test` in both `./packages/a` and `./packages/b` packages.
+
+### Configuration
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+#### `include-workspace-root`
+
+- Default: false
+- Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or all workspaces via the `workspaces` flag, will cause npm to operate only on the specified workspaces, and not on the root project.
+
+This value is not exported to the environment for child processes.
+
+#### `if-present`
+
+- Default: false
+- Type: Boolean
+
+If true, npm will not exit with an error code when `run-script` is invoked for a script that isn't defined in the `scripts` section of `package.json`. This option can be used when it's desirable to optionally run a script when it's present and fail if the script fails. This is useful, for example, when running scripts that may only apply for some builds in an otherwise generic CI setup.
+
+This value is not exported to the environment for child processes.
+
+#### `ignore-scripts`
+
+- Default: false
+- Type: Boolean
+
+If true, npm does not run scripts specified in package.json files.
+
+Note that commands explicitly intended to run a particular script, such as `npm start`, `npm stop`, `npm restart`, `npm test`, and `npm run-script` will still run their intended script if `ignore-scripts` is set, but they will _not_ run any pre- or post-scripts.
+
+#### `foreground-scripts`
+
+- Default: `false` unless when using `npm pack` or `npm publish` where it defaults to `true`
+- Type: Boolean
+
+Run all build scripts (ie, `preinstall`, `install`, and `postinstall`) scripts for installed packages in the foreground process, sharing standard input, output, and error with the main npm process.
+
+Note that this will generally make installs run slower, and be much noisier, but can be useful for debugging.
+
+#### `script-shell`
+
+- Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
+- Type: null or String
+
+The shell to use for scripts run with the `npm exec`, `npm run` and `npm init ` commands.
+
+### See Also
+
+- [npm scripts](/cli/v11/using-npm/scripts)
+- [npm test](/cli/v11/commands/npm-test)
+- [npm start](/cli/v11/commands/npm-start)
+- [npm restart](/cli/v11/commands/npm-restart)
+- [npm stop](/cli/v11/commands/npm-stop)
+- [npm config](/cli/v11/commands/npm-config)
+- [npm workspaces](/cli/v11/using-npm/workspaces)
diff --git a/content/cli/v11/commands/npm-sbom.mdx b/content/cli/v11/commands/npm-sbom.mdx
new file mode 100644
index 00000000000..44b3fafbaec
--- /dev/null
+++ b/content/cli/v11/commands/npm-sbom.mdx
@@ -0,0 +1,311 @@
+---
+title: npm-sbom
+section: 1
+description: Generate a Software Bill of Materials (SBOM)
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-sbom.md
+redirect_from:
+ - /cli-commands/npm-sbom
+ - /cli-commands/sbom
+ - /cli-documentation/cli-commands/npm-sbom
+ - /cli-documentation/cli-commands/sbom
+ - /cli-documentation/commands/npm-sbom
+ - /cli-documentation/commands/sbom
+ - /cli-documentation/npm-sbom
+ - /cli-documentation/sbom
+ - /cli-documentation/v11/cli-commands/npm-sbom
+ - /cli-documentation/v11/cli-commands/sbom
+ - /cli-documentation/v11/commands/npm-sbom
+ - /cli-documentation/v11/commands/sbom
+ - /cli-documentation/v11/npm-sbom
+ - /cli-documentation/v11/sbom
+ - /cli/cli-commands/npm-sbom
+ - /cli/cli-commands/sbom
+ - /cli/commands/npm-sbom
+ - /cli/commands/sbom
+ - /cli/npm-sbom
+ - /cli/sbom
+ - /cli/v11/cli-commands/npm-sbom
+ - /cli/v11/cli-commands/sbom
+ - /cli/v11/commands/sbom
+ - /cli/v11/npm-sbom
+ - /cli/v11/sbom
+ - /commands/npm-sbom
+ - /commands/sbom
+---
+
+### Synopsis
+
+```bash
+npm sbom
+```
+
+### Description
+
+The `npm sbom` command generates a Software Bill of Materials (SBOM) listing the dependencies for the current project. SBOMs can be generated in either [SPDX](https://spdx.dev/) or [CycloneDX](https://cyclonedx.org/) format.
+
+### Example CycloneDX SBOM
+
+```json
+{
+ "$schema": "http://cyclonedx.org/schema/bom-1.5.schema.json",
+ "bomFormat": "CycloneDX",
+ "specVersion": "1.5",
+ "serialNumber": "urn:uuid:09f55116-97e1-49cf-b3b8-44d0207e7730",
+ "version": 1,
+ "metadata": {
+ "timestamp": "2023-09-01T00:00:00.001Z",
+ "lifecycles": [
+ {
+ "phase": "build"
+ }
+ ],
+ "tools": [
+ {
+ "vendor": "npm",
+ "name": "cli",
+ "version": "10.1.0"
+ }
+ ],
+ "component": {
+ "bom-ref": "simple@1.0.0",
+ "type": "library",
+ "name": "simple",
+ "version": "1.0.0",
+ "scope": "required",
+ "author": "John Doe",
+ "description": "simple react app",
+ "purl": "pkg:npm/simple@1.0.0",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": ""
+ }
+ ],
+ "externalReferences": [],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ }
+ },
+ "components": [
+ {
+ "bom-ref": "lodash@4.17.21",
+ "type": "library",
+ "name": "lodash",
+ "version": "4.17.21",
+ "scope": "required",
+ "author": "John-David Dalton",
+ "description": "Lodash modular utilities.",
+ "purl": "pkg:npm/lodash@4.17.21",
+ "properties": [
+ {
+ "name": "cdx:npm:package:path",
+ "value": "node_modules/lodash"
+ }
+ ],
+ "externalReferences": [
+ {
+ "type": "distribution",
+ "url": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz"
+ },
+ {
+ "type": "vcs",
+ "url": "git+https://github.com/lodash/lodash.git"
+ },
+ {
+ "type": "website",
+ "url": "https://lodash.com/"
+ },
+ {
+ "type": "issue-tracker",
+ "url": "https://github.com/lodash/lodash/issues"
+ }
+ ],
+ "hashes": [
+ {
+ "alg": "SHA-512",
+ "content": "bf690311ee7b95e713ba568322e3533f2dd1cb880b189e99d4edef13592b81764daec43e2c54c61d5c558dc5cfb35ecb85b65519e74026ff17675b6f8f916f4a"
+ }
+ ],
+ "licenses": [
+ {
+ "license": {
+ "id": "MIT"
+ }
+ }
+ ]
+ }
+ ],
+ "dependencies": [
+ {
+ "ref": "simple@1.0.0",
+ "dependsOn": ["lodash@4.17.21"]
+ },
+ {
+ "ref": "lodash@4.17.21",
+ "dependsOn": []
+ }
+ ]
+}
+```
+
+### Example SPDX SBOM
+
+```json
+{
+ "spdxVersion": "SPDX-2.3",
+ "dataLicense": "CC0-1.0",
+ "SPDXID": "SPDXRef-DOCUMENT",
+ "name": "simple@1.0.0",
+ "documentNamespace": "http://spdx.org/spdxdocs/simple-1.0.0-bf81090e-8bbc-459d-bec9-abeb794e096a",
+ "creationInfo": {
+ "created": "2023-09-01T00:00:00.001Z",
+ "creators": ["Tool: npm/cli-10.1.0"]
+ },
+ "documentDescribes": ["SPDXRef-Package-simple-1.0.0"],
+ "packages": [
+ {
+ "name": "simple",
+ "SPDXID": "SPDXRef-Package-simple-1.0.0",
+ "versionInfo": "1.0.0",
+ "packageFileName": "",
+ "description": "simple react app",
+ "primaryPackagePurpose": "LIBRARY",
+ "downloadLocation": "NOASSERTION",
+ "filesAnalyzed": false,
+ "homepage": "NOASSERTION",
+ "licenseDeclared": "MIT",
+ "externalRefs": [
+ {
+ "referenceCategory": "PACKAGE-MANAGER",
+ "referenceType": "purl",
+ "referenceLocator": "pkg:npm/simple@1.0.0"
+ }
+ ]
+ },
+ {
+ "name": "lodash",
+ "SPDXID": "SPDXRef-Package-lodash-4.17.21",
+ "versionInfo": "4.17.21",
+ "packageFileName": "node_modules/lodash",
+ "description": "Lodash modular utilities.",
+ "downloadLocation": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "filesAnalyzed": false,
+ "homepage": "https://lodash.com/",
+ "licenseDeclared": "MIT",
+ "externalRefs": [
+ {
+ "referenceCategory": "PACKAGE-MANAGER",
+ "referenceType": "purl",
+ "referenceLocator": "pkg:npm/lodash@4.17.21"
+ }
+ ],
+ "checksums": [
+ {
+ "algorithm": "SHA512",
+ "checksumValue": "bf690311ee7b95e713ba568322e3533f2dd1cb880b189e99d4edef13592b81764daec43e2c54c61d5c558dc5cfb35ecb85b65519e74026ff17675b6f8f916f4a"
+ }
+ ]
+ }
+ ],
+ "relationships": [
+ {
+ "spdxElementId": "SPDXRef-DOCUMENT",
+ "relatedSpdxElement": "SPDXRef-Package-simple-1.0.0",
+ "relationshipType": "DESCRIBES"
+ },
+ {
+ "spdxElementId": "SPDXRef-Package-simple-1.0.0",
+ "relatedSpdxElement": "SPDXRef-Package-lodash-4.17.21",
+ "relationshipType": "DEPENDS_ON"
+ }
+ ]
+}
+```
+
+### Package lock only mode
+
+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).
+
+### Configuration
+
+#### `omit`
+
+- Default: 'dev' if the `NODE_ENV` environment variable is set to 'production', otherwise empty.
+- Type: "dev", "optional", or "peer" (can be set multiple times)
+
+Dependency types to omit from the installation tree on disk.
+
+Note that these dependencies _are_ still resolved and added to the `package-lock.json` or `npm-shrinkwrap.json` file. They are just not physically installed on disk.
+
+If a package type appears in both the `--include` and `--omit` lists, then it will be included.
+
+If the resulting omit list includes `'dev'`, then the `NODE_ENV` environment variable will be set to `'production'` for all lifecycle scripts.
+
+#### `package-lock-only`
+
+- Default: false
+- Type: Boolean
+
+If set to true, the current operation will only use the `package-lock.json`, ignoring `node_modules`.
+
+For `update` this means only the `package-lock.json` will be updated, instead of checking `node_modules` and downloading dependencies.
+
+For `list` this means the output will be based on the tree described by the `package-lock.json`, rather than the contents of `node_modules`.
+
+#### `sbom-format`
+
+- Default: null
+- Type: "cyclonedx" or "spdx"
+
+SBOM format to use when generating SBOMs.
+
+#### `sbom-type`
+
+- Default: "library"
+- Type: "library", "application", or "framework"
+
+The type of package described by the generated SBOM. For SPDX, this is the value for the `primaryPackagePurpose` field. For CycloneDX, this is the value for the `type` field.
+
+#### `workspace`
+
+- Default:
+- Type: String (can be set multiple times)
+
+Enable running a command in the context of the configured workspaces of the current project while filtering by running only the workspaces defined by this configuration option.
+
+Valid values for the `workspace` config are either:
+
+- Workspace names
+- Path to a workspace directory
+- Path to a parent workspace directory (will result in selecting all workspaces within that folder)
+
+When set for the `npm init` command, this may be set to the folder of a workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project.
+
+This value is not exported to the environment for child processes.
+
+#### `workspaces`
+
+- Default: null
+- Type: null or Boolean
+
+Set to true to run the command in the context of **all** configured workspaces.
+
+Explicitly setting this to false will cause commands like `install` to ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.) will link workspaces into the `node_modules` folder. - Commands that do other things (test, exec, publish, etc.) will operate on the root project, _unless_ one or more workspaces are specified in the `workspace` config.
+
+This value is not exported to the environment for child processes.
+
+## See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [dependency selectors](/cli/v11/using-npm/dependency-selectors)
+- [package.json](/cli/v11/configuring-npm/package-json)
+- [workspaces](/cli/v11/using-npm/workspaces)
diff --git a/content/cli/v11/commands/npm-search.mdx b/content/cli/v11/commands/npm-search.mdx
new file mode 100644
index 00000000000..b7e04924d75
--- /dev/null
+++ b/content/cli/v11/commands/npm-search.mdx
@@ -0,0 +1,148 @@
+---
+title: npm-search
+section: 1
+description: Search for packages
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-search.md
+redirect_from:
+ - /cli-commands/npm-search
+ - /cli-commands/search
+ - /cli-documentation/cli-commands/npm-search
+ - /cli-documentation/cli-commands/search
+ - /cli-documentation/commands/npm-search
+ - /cli-documentation/commands/search
+ - /cli-documentation/npm-search
+ - /cli-documentation/search
+ - /cli-documentation/v11/cli-commands/npm-search
+ - /cli-documentation/v11/cli-commands/search
+ - /cli-documentation/v11/commands/npm-search
+ - /cli-documentation/v11/commands/search
+ - /cli-documentation/v11/npm-search
+ - /cli-documentation/v11/search
+ - /cli/cli-commands/npm-search
+ - /cli/cli-commands/search
+ - /cli/commands/npm-search
+ - /cli/commands/search
+ - /cli/npm-search
+ - /cli/search
+ - /cli/v11/cli-commands/npm-search
+ - /cli/v11/cli-commands/search
+ - /cli/v11/commands/search
+ - /cli/v11/npm-search
+ - /cli/v11/search
+ - /commands/npm-search
+ - /commands/search
+---
+
+### Synopsis
+
+```bash
+npm search [ ...]
+
+aliases: find, s, se
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+Search the registry for packages matching the search terms. `npm search` performs a linear, incremental, lexically-ordered search through package metadata for all files in the registry. If your terminal has color support, it will further highlight the matches in the results. This can be disabled with the config item `color`
+
+Additionally, using the `--searchopts` and `--searchexclude` options paired with more search terms will include and exclude further patterns. The main difference between `--searchopts` and the standard search terms is that the former does not highlight results in the output and you can use them more fine-grained filtering. Additionally, you can add both of these to your config to change default search filtering behavior.
+
+Search also allows targeting of maintainers in search results, by prefixing their npm username with `=`.
+
+If a term starts with `/`, then it's interpreted as a regular expression and supports standard JavaScript RegExp syntax. In this case search will ignore a trailing `/` . (Note you must escape or quote many regular expression characters in most shells.)
+
+### Configuration
+
+#### `json`
+
+- Default: false
+- Type: Boolean
+
+Whether or not to output JSON data, rather than the normal output.
+
+- In `npm pkg set` it enables parsing set values with JSON.parse() before saving them to your `package.json`.
+
+Not supported by all npm commands.
+
+#### `color`
+
+- Default: true unless the NO_COLOR environ is set to something other than '0'
+- Type: "always" or Boolean
+
+If false, never shows colors. If `"always"` then always shows colors. If true, then only prints color codes for tty file descriptors.
+
+#### `parseable`
+
+- Default: false
+- Type: Boolean
+
+Output parseable results from commands that write to standard output. For `npm search`, this will be tab-separated table format.
+
+#### `description`
+
+- Default: true
+- Type: Boolean
+
+Show the description in `npm search`
+
+#### `searchlimit`
+
+- Default: 20
+- Type: Number
+
+Number of items to limit search results to. Will not apply at all to legacy searches.
+
+#### `searchopts`
+
+- Default: ""
+- Type: String
+
+Space-separated options that are always passed to search.
+
+#### `searchexclude`
+
+- Default: ""
+- Type: String
+
+Space-separated options that limit the results from search.
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `prefer-online`
+
+- Default: false
+- Type: Boolean
+
+If true, staleness checks for cached data will be forced, making the CLI look for updates immediately even for fresh package data.
+
+#### `prefer-offline`
+
+- Default: false
+- Type: Boolean
+
+If true, staleness checks for cached data will be bypassed, but missing data will be requested from the server. To force full offline mode, use `--offline`.
+
+#### `offline`
+
+- Default: false
+- Type: Boolean
+
+Force offline mode: no network requests will be done during install. To allow the CLI to fill in missing cache data, see `--prefer-offline`.
+
+### See Also
+
+- [npm registry](/cli/v11/using-npm/registry)
+- [npm config](/cli/v11/commands/npm-config)
+- [npmrc](/cli/v11/configuring-npm/npmrc)
+- [npm view](/cli/v11/commands/npm-view)
+- [npm cache](/cli/v11/commands/npm-cache)
+- https://npm.im/npm-registry-fetch
diff --git a/content/cli/v11/commands/npm-shrinkwrap.mdx b/content/cli/v11/commands/npm-shrinkwrap.mdx
new file mode 100644
index 00000000000..1b08a05f151
--- /dev/null
+++ b/content/cli/v11/commands/npm-shrinkwrap.mdx
@@ -0,0 +1,58 @@
+---
+title: npm-shrinkwrap
+section: 1
+description: Lock down dependency versions for publication
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-shrinkwrap.md
+redirect_from:
+ - /cli-commands/npm-shrinkwrap
+ - /cli-commands/shrinkwrap
+ - /cli-documentation/cli-commands/npm-shrinkwrap
+ - /cli-documentation/cli-commands/shrinkwrap
+ - /cli-documentation/commands/npm-shrinkwrap
+ - /cli-documentation/commands/shrinkwrap
+ - /cli-documentation/npm-shrinkwrap
+ - /cli-documentation/shrinkwrap
+ - /cli-documentation/v11/cli-commands/npm-shrinkwrap
+ - /cli-documentation/v11/cli-commands/shrinkwrap
+ - /cli-documentation/v11/commands/npm-shrinkwrap
+ - /cli-documentation/v11/commands/shrinkwrap
+ - /cli-documentation/v11/npm-shrinkwrap
+ - /cli-documentation/v11/shrinkwrap
+ - /cli/cli-commands/npm-shrinkwrap
+ - /cli/cli-commands/shrinkwrap
+ - /cli/commands/npm-shrinkwrap
+ - /cli/commands/shrinkwrap
+ - /cli/npm-shrinkwrap
+ - /cli/shrinkwrap
+ - /cli/v11/cli-commands/npm-shrinkwrap
+ - /cli/v11/cli-commands/shrinkwrap
+ - /cli/v11/commands/shrinkwrap
+ - /cli/v11/npm-shrinkwrap
+ - /cli/v11/shrinkwrap
+ - /commands/npm-shrinkwrap
+ - /commands/shrinkwrap
+---
+
+### Synopsis
+
+```bash
+npm shrinkwrap
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+This command repurposes `package-lock.json` into a publishable `npm-shrinkwrap.json` or simply creates a new one. The file created and updated by this command will then take precedence over any other existing or future `package-lock.json` files. For a detailed explanation of the design and purpose of package locks in npm, see [package-lock-json](/cli/v11/configuring-npm/package-lock-json).
+
+### See Also
+
+- [npm install](/cli/v11/commands/npm-install)
+- [npm run-script](/cli/v11/commands/npm-run-script)
+- [npm scripts](/cli/v11/using-npm/scripts)
+- [package.json](/cli/v11/configuring-npm/package-json)
+- [package-lock.json](/cli/v11/configuring-npm/package-lock-json)
+- [npm-shrinkwrap.json](/cli/v11/configuring-npm/npm-shrinkwrap-json)
+- [npm ls](/cli/v11/commands/npm-ls)
diff --git a/content/cli/v11/commands/npm-star.mdx b/content/cli/v11/commands/npm-star.mdx
new file mode 100644
index 00000000000..4aafbd885ff
--- /dev/null
+++ b/content/cli/v11/commands/npm-star.mdx
@@ -0,0 +1,98 @@
+---
+title: npm-star
+section: 1
+description: Mark your favorite packages
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-star.md
+redirect_from:
+ - /cli-commands/npm-star
+ - /cli-commands/star
+ - /cli-documentation/cli-commands/npm-star
+ - /cli-documentation/cli-commands/star
+ - /cli-documentation/commands/npm-star
+ - /cli-documentation/commands/star
+ - /cli-documentation/npm-star
+ - /cli-documentation/star
+ - /cli-documentation/v11/cli-commands/npm-star
+ - /cli-documentation/v11/cli-commands/star
+ - /cli-documentation/v11/commands/npm-star
+ - /cli-documentation/v11/commands/star
+ - /cli-documentation/v11/npm-star
+ - /cli-documentation/v11/star
+ - /cli/cli-commands/npm-star
+ - /cli/cli-commands/star
+ - /cli/commands/npm-star
+ - /cli/commands/star
+ - /cli/npm-star
+ - /cli/star
+ - /cli/v11/cli-commands/npm-star
+ - /cli/v11/cli-commands/star
+ - /cli/v11/commands/star
+ - /cli/v11/npm-star
+ - /cli/v11/star
+ - /commands/npm-star
+ - /commands/star
+---
+
+### Synopsis
+
+```bash
+npm star [...]
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+"Starring" a package means that you have some interest in it. It's a vaguely positive way to show that you care.
+
+It's a boolean thing. Starring repeatedly has no additional effect.
+
+### More
+
+There's also these extra commands to help you manage your favorite packages:
+
+#### Unstar
+
+You can also "unstar" a package using [`npm unstar`](/cli/v11/commands/npm-unstar)
+
+"Unstarring" is the same thing, but in reverse.
+
+#### Listing stars
+
+You can see all your starred packages using [`npm stars`](/cli/v11/commands/npm-stars)
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+#### `unicode`
+
+- Default: false on windows, true on mac/unix systems with a unicode locale, as defined by the `LC_ALL`, `LC_CTYPE`, or `LANG` environment variables.
+- Type: Boolean
+
+When set to true, npm uses unicode characters in the tree output. When false, it uses ascii characters instead of unicode glyphs.
+
+#### `otp`
+
+- Default: null
+- Type: null or String
+
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with `npm access`.
+
+If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
+
+### See Also
+
+- [package spec](/cli/v11/using-npm/package-spec)
+- [npm unstar](/cli/v11/commands/npm-unstar)
+- [npm stars](/cli/v11/commands/npm-stars)
+- [npm view](/cli/v11/commands/npm-view)
+- [npm whoami](/cli/v11/commands/npm-whoami)
+- [npm adduser](/cli/v11/commands/npm-adduser)
diff --git a/content/cli/v11/commands/npm-stars.mdx b/content/cli/v11/commands/npm-stars.mdx
new file mode 100644
index 00000000000..7ec9435365c
--- /dev/null
+++ b/content/cli/v11/commands/npm-stars.mdx
@@ -0,0 +1,67 @@
+---
+title: npm-stars
+section: 1
+description: View packages marked as favorites
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-stars.md
+redirect_from:
+ - /cli-commands/npm-stars
+ - /cli-commands/stars
+ - /cli-documentation/cli-commands/npm-stars
+ - /cli-documentation/cli-commands/stars
+ - /cli-documentation/commands/npm-stars
+ - /cli-documentation/commands/stars
+ - /cli-documentation/npm-stars
+ - /cli-documentation/stars
+ - /cli-documentation/v11/cli-commands/npm-stars
+ - /cli-documentation/v11/cli-commands/stars
+ - /cli-documentation/v11/commands/npm-stars
+ - /cli-documentation/v11/commands/stars
+ - /cli-documentation/v11/npm-stars
+ - /cli-documentation/v11/stars
+ - /cli/cli-commands/npm-stars
+ - /cli/cli-commands/stars
+ - /cli/commands/npm-stars
+ - /cli/commands/stars
+ - /cli/npm-stars
+ - /cli/stars
+ - /cli/v11/cli-commands/npm-stars
+ - /cli/v11/cli-commands/stars
+ - /cli/v11/commands/stars
+ - /cli/v11/npm-stars
+ - /cli/v11/stars
+ - /commands/npm-stars
+ - /commands/stars
+---
+
+### Synopsis
+
+```bash
+npm stars []
+```
+
+Note: This command is unaware of workspaces.
+
+### Description
+
+If you have starred a lot of neat things and want to find them again quickly this command lets you do just that.
+
+You may also want to see your friend's favorite packages, in this case you will most certainly enjoy this command.
+
+### Configuration
+
+#### `registry`
+
+- Default: "https://registry.npmjs.org/"
+- Type: URL
+
+The base URL of the npm registry.
+
+### See Also
+
+- [npm star](/cli/v11/commands/npm-star)
+- [npm unstar](/cli/v11/commands/npm-unstar)
+- [npm view](/cli/v11/commands/npm-view)
+- [npm whoami](/cli/v11/commands/npm-whoami)
+- [npm adduser](/cli/v11/commands/npm-adduser)
diff --git a/content/cli/v11/commands/npm-start.mdx b/content/cli/v11/commands/npm-start.mdx
new file mode 100644
index 00000000000..000b3a4b62e
--- /dev/null
+++ b/content/cli/v11/commands/npm-start.mdx
@@ -0,0 +1,98 @@
+---
+title: npm-start
+section: 1
+description: Start a package
+github_repo: npm/cli
+github_branch: latest
+github_path: docs/lib/content/commands/npm-start.md
+redirect_from:
+ - /cli-commands/npm-start
+ - /cli-commands/start
+ - /cli-documentation/cli-commands/npm-start
+ - /cli-documentation/cli-commands/start
+ - /cli-documentation/commands/npm-start
+ - /cli-documentation/commands/start
+ - /cli-documentation/npm-start
+ - /cli-documentation/start
+ - /cli-documentation/v11/cli-commands/npm-start
+ - /cli-documentation/v11/cli-commands/start
+ - /cli-documentation/v11/commands/npm-start
+ - /cli-documentation/v11/commands/start
+ - /cli-documentation/v11/npm-start
+ - /cli-documentation/v11/start
+ - /cli/cli-commands/npm-start
+ - /cli/cli-commands/start
+ - /cli/commands/npm-start
+ - /cli/commands/start
+ - /cli/npm-start
+ - /cli/start
+ - /cli/v11/cli-commands/npm-start
+ - /cli/v11/cli-commands/start
+ - /cli/v11/commands/start
+ - /cli/v11/npm-start
+ - /cli/v11/start
+ - /commands/npm-start
+ - /commands/start
+---
+
+### Synopsis
+
+```bash
+npm start [--