diff --git a/.eslintrc.js b/.eslintrc.js
index 14c53277a19a47..8279dfc9c4ab41 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -59,7 +59,7 @@ module.exports = {
],
rules: {
// ESLint built-in rules
- // http://eslint.org/docs/rules
+ // https://eslint.org/docs/rules/
'accessor-pairs': 'error',
'array-callback-return': 'error',
'arrow-parens': ['error', 'always'],
@@ -129,6 +129,7 @@ module.exports = {
'no-dupe-else-if': 'error',
'no-duplicate-case': 'error',
'no-duplicate-imports': 'error',
+ 'no-else-return': ['error', { allowElseIf: true }],
'no-empty-character-class': 'error',
'no-ex-assign': 'error',
'no-extra-boolean-cast': 'error',
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 00000000000000..6fb4f7dc493b6a
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1,76 @@
+# Node.js Project Codeowners
+
+# 1. Codeowners must always be teams, never individuals
+# 2. Each codeowner team should contain at least one TSC member
+# 3. PRs touching any code with a codeowner must be signed off by at least one
+# person on the code owner team.
+
+./.github/CODEOWNERS @nodejs/tsc
+
+# net
+
+# ./deps/cares @nodejs/net
+# ./doc/api/dns.md @nodejs/net
+# ./doc/api/dgram.md @nodejs/net
+# ./doc/api/net.md @nodejs/net
+# ./lib/dgram.js @nodejs/net
+# ./lib/dns.js @nodejs/net
+# ./lib/net.js @nodejs/net @nodejs/quic
+# ./lib/internal/dgram.js @nodejs/net
+# ./lib/internal/dns/* @nodejs/net
+# ./lib/internal/net.js @nodejs/net
+# ./lib/internal/socket_list.js @nodejs/net
+# ./lib/internal/js_stream_socket.js @nodejs/net
+# ./src/cares_wrap.h @nodejs/net
+# ./src/connect_wrap.* @nodejs/net
+# ./src/connection_wrap.* @nodejs/net
+# ./src/node_sockaddr* @nodejs/net
+# ./src/tcp_wrap.* @nodejs/net
+# ./src/udp_wrap.* @nodejs/net
+
+# tls/crypto
+
+# ./lib/internal/crypto/* @nodejs/crypto
+# ./lib/internal/tls.js @nodejs/crypto @nodejs/net
+# ./lib/crypto.js @nodejs/crypto
+# ./lib/tls.js @nodejs/crypto @nodejs/net
+# ./src/node_crypto* @nodejs/crypto
+# ./src/node_crypto_common* @nodejs/crypto @nodejs/quic
+
+# http
+
+# ./deps/llhttp/* @nodejs/http @nodejs/net
+# ./doc/api/http.md @nodejs/http @nodejs/net
+# ./doc/api/http2.md @nodejs/http @nodejs/net
+# ./lib/_http_* @nodejs/http @nodejs/net
+# ./lib/http.js @nodejs/http @nodejs/net
+# ./lib/https.js @nodejs/crypto @nodejs/net @nodejs/http
+# ./src/node_http_common* @nodejs/http @nodejs/http2 @nodejs/quic @nodejs/net
+# ./src/node_http_parser.cc @nodejs/http @nodejs/net
+
+# http2
+
+# ./deps/nghttp2/* @nodejs/http2 @nodejs/net
+# ./doc/api/http2.md @nodejs/http2 @nodejs/net
+# ./lib/http2.js @nodejs/http2 @nodejs/net
+# ./lib/internal/http2/* @nodejs/http2 @nodejs/net
+# ./src/node_http2* @nodejs/http2 @nodejs/net
+# ./src/node_mem* @nodejs/http2
+
+# quic
+
+./deps/ngtcp2/* @nodejs/quic
+./deps/nghttp3/* @nodejs/quic
+./doc/api/quic.md @nodejs/quic
+./lib/internal/quic/* @nodejs/quic
+./src/node_bob* @nodejs/quic
+./src/quic/* @nodejs/quic
+
+# modules
+
+# ./doc/api/modules.md @nodejs/modules
+# ./doc/api/esm.md @nodejs/modules
+# ./lib/module.js @nodejs/modules
+# ./lib/internal/modules/* @nodejs/modules
+# ./lib/internal/bootstrap/loaders.js @nodejs/modules
+# ./src/module_wrap* @nodejs/modules @nodejs/vm
diff --git a/.github/ISSUE_TEMPLATE/4-report-a-flaky-test.md b/.github/ISSUE_TEMPLATE/4-report-a-flaky-test.md
new file mode 100644
index 00000000000000..544c9d5f47b0f5
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/4-report-a-flaky-test.md
@@ -0,0 +1,34 @@
+---
+name: Report a flaky test
+about: Report a flaky test in our CI
+labels: "CI / flaky test"
+
+---
+
+
+
+* **Test**:
+* **Platform**:
+* **Console Output:**
+```
+REPLACE ME
+```
+* **Build Links**:
diff --git a/.github/SUPPORT.md b/.github/SUPPORT.md
index 1a086bd2cc59a7..48ad8a90cb77c5 100644
--- a/.github/SUPPORT.md
+++ b/.github/SUPPORT.md
@@ -17,7 +17,7 @@ resources:
* [Questions tagged 'node.js' on Stack Overflow](https://stackoverflow.com/questions/tagged/node.js)
* [#node.js channel on chat.freenode.net](https://webchat.freenode.net?channels=node.js&uio=d4)
* [Node.js Slack Community](https://node-js.slack.com/)
- * To register: [nodeslackers.com](http://www.nodeslackers.com/)
+ * To register: [nodeslackers.com](https://www.nodeslackers.com/)
GitHub issues are for tracking enhancements and bugs, not general support.
diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml
index 9b4ebca75c86ca..4453db5c751c7f 100644
--- a/.github/workflows/linters.yml
+++ b/.github/workflows/linters.yml
@@ -26,7 +26,7 @@ jobs:
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v1
with:
- PYTHON_VERSION: ${{ env.PYTHON_VERSION }}
+ python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Lint C/C++ files
@@ -64,7 +64,7 @@ jobs:
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v1
with:
- PYTHON_VERSION: ${{ env.PYTHON_VERSION }}
+ python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Lint Python
diff --git a/BUILDING.md b/BUILDING.md
index d0a3813b5794d0..37b79a02570ed9 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -225,7 +225,7 @@ Consult previous versions of this document for older versions of Node.js:
The Node.js project uses Python as part of its build process and has
historically only been Python 2 compatible.
-Python 2 will reach its _end-of-life_ at the end of 2019 at which point the
+Python 2 will reach its _End-of-Life_ at the end of 2019 at which point the
interpreter will cease receiving updates. See
for more information.
@@ -691,7 +691,7 @@ that works for both your host and target environments.
### Build with a specific ICU
You can find other ICU releases at
-[the ICU homepage](http://icu-project.org/download).
+[the ICU homepage](http://site.icu-project.org/download).
Download the file named something like `icu4c-**##.#**-src.tgz` (or
`.zip`).
@@ -722,7 +722,7 @@ $ ./configure --with-intl=full-icu --with-icu-source=http://url/to/icu.tgz
#### Windows
First unpack latest ICU to `deps/icu`
-[icu4c-**##.#**-src.tgz](http://icu-project.org/download) (or `.zip`)
+[icu4c-**##.#**-src.tgz](http://site.icu-project.org/download) (or `.zip`)
as `deps/icu` (You'll have: `deps/icu/source/...`)
```console
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 54d2e7b88f2e39..ac4bb4cb8d272f 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -28,7 +28,8 @@ release.
-12.18.2
+12.18.3
+12.18.2
12.18.1
12.18.0
12.17.0
diff --git a/LICENSE b/LICENSE
index 6b30de0fa9dec5..a42e1d52038bb0 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1471,6 +1471,39 @@ The externally maintained libraries used by Node.js are:
THE POSSIBILITY OF SUCH DAMAGE.
"""
+- highlight.js, located at doc/api_assets/highlight.pack.js, is licensed as follows:
+ """
+ BSD 3-Clause License
+
+ Copyright (c) 2006, Ivan Sagalaev.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are met:
+
+ * Redistributions of source code must retain the above copyright notice, this
+ list of conditions and the following disclaimer.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimer in the documentation
+ and/or other materials provided with the distribution.
+
+ * Neither the name of the copyright holder nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ """
+
- node-heapdump, located at src/heap_utils.cc, is licensed as follows:
"""
ISC License
diff --git a/Makefile b/Makefile
index 2c0b1d42fd7568..32a8a6c2dca732 100644
--- a/Makefile
+++ b/Makefile
@@ -17,6 +17,7 @@ GNUMAKEFLAGS += --no-print-directory
GCOV ?= gcov
PWD = $(CURDIR)
BUILD_WITH ?= make
+FIND ?= find
ifdef JOBS
PARALLEL_ARGS = -j $(JOBS)
@@ -97,13 +98,12 @@ help: ## Print help for targets with comments.
# and recreated which can break the addons build when running test-ci
# See comments on the build-addons target for some more info
ifeq ($(BUILD_WITH), make)
-$(NODE_EXE): config.gypi out/Makefile
- $(MAKE) -C out BUILDTYPE=Release V=$(V)
- if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Release/$(NODE_EXE) $@; fi
-
-$(NODE_G_EXE): config.gypi out/Makefile
- $(MAKE) -C out BUILDTYPE=Debug V=$(V)
- if [ ! -r $@ -o ! -L $@ ]; then ln -fs out/Debug/$(NODE_EXE) $@; fi
+$(NODE_EXE): build_type:=Release
+$(NODE_G_EXE): build_type:=Debug
+$(NODE_EXE) $(NODE_G_EXE): config.gypi out/Makefile
+ $(MAKE) -C out BUILDTYPE=${build_type} V=$(V)
+ if [ ! -r $@ -o ! -L $@ ]; then \
+ ln -fs out/${build_type}/$(NODE_EXE) $@; fi
else
ifeq ($(BUILD_WITH), ninja)
ifeq ($(V),1)
@@ -168,7 +168,7 @@ uninstall: ## Uninstalls node from $PREFIX (default=/usr/local).
clean: ## Remove build artifacts.
$(RM) -r out/Makefile $(NODE_EXE) $(NODE_G_EXE) out/$(BUILDTYPE)/$(NODE_EXE) \
out/$(BUILDTYPE)/node.exp
- @if [ -d out ]; then find out/ -name '*.o' -o -name '*.a' -o -name '*.d' | xargs $(RM) -r; fi
+ @if [ -d out ]; then $(FIND) out/ -name '*.o' -o -name '*.a' -o -name '*.d' | xargs $(RM) -r; fi
$(RM) -r node_modules
@if [ -d deps/icu ]; then echo deleting deps/icu; $(RM) -r deps/icu; fi
$(RM) test.tap
@@ -733,7 +733,7 @@ out/doc/api/assets:
# If it's not a source tarball, we need to copy assets from doc/api_assets
out/doc/api/assets/%: doc/api_assets/% out/doc/api/assets
- @cp $< $@
+ @cp $< $@ ; $(RM) out/doc/api/assets/README.md
run-npm-ci = $(PWD)/$(NPM) ci
@@ -768,6 +768,11 @@ out/doc/api/all.json: $(apidocs_json) tools/doc/alljson.js
docopen: $(apidocs_html)
@$(PYTHON) -mwebbrowser file://$(PWD)/out/doc/api/all.html
+.PHONY: docserve
+docserve: $(apidocs_html)
+ @$(PYTHON) -mwebbrowser http://localhost:8000/all.html
+ @$(PYTHON) -m http.server -d $(PWD)/out/doc/api
+
.PHONY: docclean
docclean:
$(RM) -r out/doc
@@ -1195,7 +1200,7 @@ LINT_MD_NEWER = -newer tools/.mdlintstamp
endif
LINT_MD_TARGETS = doc src lib benchmark test tools/doc tools/icu $(wildcard *.md)
-LINT_MD_FILES = $(shell find $(LINT_MD_TARGETS) -type f \
+LINT_MD_FILES = $(shell $(FIND) $(LINT_MD_TARGETS) -type f \
! -path '*node_modules*' ! -path 'test/fixtures/*' -name '*.md' \
$(LINT_MD_NEWER))
run-lint-md = tools/lint-md.js -q -f --no-stdout $(LINT_MD_FILES)
@@ -1316,13 +1321,13 @@ else
CPPLINT_QUIET = --quiet
endif
.PHONY: lint-cpp
-# Lints the C++ code with cpplint.py and check-imports.py.
+# Lints the C++ code with cpplint.py and checkimports.py.
lint-cpp: tools/.cpplintstamp
tools/.cpplintstamp: $(LINT_CPP_FILES)
@echo "Running C++ linter..."
@$(PYTHON) tools/cpplint.py $(CPPLINT_QUIET) $?
- @$(PYTHON) tools/check-imports.py
+ @$(PYTHON) tools/checkimports.py $?
@touch $@
.PHONY: lint-addon-docs
@@ -1372,7 +1377,7 @@ CONFLICT_RE=^>>>>>>> [0-9A-Fa-f]+|^<<<<<<< [A-Za-z]+
# Related CI job: node-test-linter
lint-ci: lint-js-ci lint-cpp lint-py lint-md lint-addon-docs
@if ! ( grep -IEqrs "$(CONFLICT_RE)" benchmark deps doc lib src test tools ) \
- && ! ( find . -maxdepth 1 -type f | xargs grep -IEqs "$(CONFLICT_RE)" ); then \
+ && ! ( $(FIND) . -maxdepth 1 -type f | xargs grep -IEqs "$(CONFLICT_RE)" ); then \
exit 0 ; \
else \
echo "" >&2 ; \
diff --git a/README.md b/README.md
index af3a57ccaac992..fda0fc98ea2340 100644
--- a/README.md
+++ b/README.md
@@ -152,6 +152,7 @@ For information about the governance of the Node.js project, see
### TSC (Technical Steering Committee)
+
* [addaleax](https://github.com/addaleax) -
**Anna Henningsen** <anna@addaleax.net> (she/her)
* [apapirovski](https://github.com/apapirovski) -
@@ -545,6 +546,7 @@ For information about the governance of the Node.js project, see
**Vse Mozhet Byt** <vsemozhetbyt@gmail.com> (he/him)
* [whitlockjc](https://github.com/whitlockjc) -
**Jeremy Whitlock** <jwhitlock@apache.org>
+
Collaborators follow the [Collaborator Guide](./doc/guides/collaborator-guide.md) in
maintaining the Node.js project.
@@ -572,7 +574,7 @@ Primary GPG keys for Node.js Releasers (some Releasers sign with subkeys):
To import the full set of trusted release keys:
-```shell
+```bash
gpg --keyserver pool.sks-keyservers.net --recv-keys 4ED778F539E3634C779C87C6D7062848A1AB005C
gpg --keyserver pool.sks-keyservers.net --recv-keys 94AE36675C464D64BAFA68DD7434390BDBE9B9C5
gpg --keyserver pool.sks-keyservers.net --recv-keys 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1
@@ -608,6 +610,6 @@ Other keys used to sign some previous releases:
[Code of Conduct]: https://github.com/nodejs/admin/blob/master/CODE_OF_CONDUCT.md
[Contributing to the project]: CONTRIBUTING.md
[Node.js Website]: https://nodejs.org/
-[OpenJS Foundation]: http://openjs.foundation/
+[OpenJS Foundation]: https://openjsf.org/
[Working Groups]: https://github.com/nodejs/TSC/blob/master/WORKING_GROUPS.md
[Strategic Initiatives]: https://github.com/nodejs/TSC/blob/master/Strategic-Initiatives.md
diff --git a/benchmark/async_hooks/async-resource-vs-destroy.js b/benchmark/async_hooks/async-resource-vs-destroy.js
index 52e5e543a6a08d..09898bbe52f939 100644
--- a/benchmark/async_hooks/async-resource-vs-destroy.js
+++ b/benchmark/async_hooks/async-resource-vs-destroy.js
@@ -138,6 +138,7 @@ function getServeAwait(getCLS, setCLS) {
setCLS(Math.random());
await sleep(10);
await read(__filename);
+ if (res.destroyed) return;
res.setHeader('content-type', 'application/json');
res.end(JSON.stringify({ cls: getCLS() }));
};
@@ -148,6 +149,7 @@ function getServeCallbacks(getCLS, setCLS) {
setCLS(Math.random());
setTimeout(() => {
readFile(__filename, () => {
+ if (res.destroyed) return;
res.setHeader('content-type', 'application/json');
res.end(JSON.stringify({ cls: getCLS() }));
});
diff --git a/benchmark/es/spread-assign.js b/benchmark/es/spread-assign.js
index 970512aa6b93d4..c34bb93e762d12 100644
--- a/benchmark/es/spread-assign.js
+++ b/benchmark/es/spread-assign.js
@@ -15,7 +15,7 @@ function main({ n, context, count, rest, method }) {
for (let n = 0; n < count; n++)
src[`p${n}`] = n;
- let obj; // eslint-disable-line no-unused-vars
+ let obj;
switch (method) {
case '_extend':
@@ -33,7 +33,7 @@ function main({ n, context, count, rest, method }) {
case 'spread':
bench.start();
for (let i = 0; i < n; i++)
- obj = { ...src };
+ obj = { ...src }; // eslint-disable-line no-unused-vars
bench.end(n);
break;
default:
diff --git a/benchmark/es/spread-bench.js b/benchmark/es/spread-bench.js
index ae5b4abbb99c02..284debdfa09ad8 100644
--- a/benchmark/es/spread-bench.js
+++ b/benchmark/es/spread-bench.js
@@ -16,11 +16,10 @@ function makeTest(count, rest) {
return function test(...args) {
assert.strictEqual(count, args.length);
};
- } else {
- return function test() {
- assert.strictEqual(count, arguments.length);
- };
}
+ return function test() {
+ assert.strictEqual(count, arguments.length);
+ };
}
function main({ n, context, count, rest, method }) {
diff --git a/benchmark/http/http_server_for_chunky_client.js b/benchmark/http/http_server_for_chunky_client.js
index ef0a23a02928ef..dafaf9122efc86 100644
--- a/benchmark/http/http_server_for_chunky_client.js
+++ b/benchmark/http/http_server_for_chunky_client.js
@@ -10,7 +10,9 @@ process.env.PIPE_NAME = PIPE;
tmpdir.refresh();
-const server = http.createServer((req, res) => {
+// For Node.js versions below v13.3.0 this benchmark will require
+// the flag --max-http-header-size 64000 in order to work properly
+const server = http.createServer({ maxHeaderSize: 64000 }, (req, res) => {
const headers = {
'content-type': 'text/plain',
'content-length': '2'
@@ -28,7 +30,11 @@ const child = fork(
`${__dirname}/_chunky_http_client.js`,
process.argv.slice(2)
);
-child.on('message', common.sendResult);
+child.on('message', (data) => {
+ if (data.type === 'report') {
+ common.sendResult(data);
+ }
+});
child.on('close', (code) => {
server.close();
assert.strictEqual(code, 0);
diff --git a/benchmark/querystring/querystring-stringify.js b/benchmark/querystring/querystring-stringify.js
index be81f67fa826d7..d1b724fcf2c14d 100644
--- a/benchmark/querystring/querystring-stringify.js
+++ b/benchmark/querystring/querystring-stringify.js
@@ -3,7 +3,7 @@ const common = require('../common.js');
const querystring = require('querystring');
const bench = common.createBenchmark(main, {
- type: ['noencode', 'encodemany', 'encodelast', 'array'],
+ type: ['noencode', 'encodemany', 'encodelast', 'array', 'multiprimitives'],
n: [1e6],
});
@@ -28,7 +28,12 @@ function main({ type, n }) {
foo: [],
baz: ['bar'],
xyzzy: ['bar', 'quux', 'thud']
- }
+ },
+ multiprimitives: {
+ foo: false,
+ bar: -13.37,
+ baz: '',
+ },
};
const input = inputs[type];
diff --git a/benchmark/scatter.js b/benchmark/scatter.js
index ecbf8e0041c837..858169d7d68c3b 100644
--- a/benchmark/scatter.js
+++ b/benchmark/scatter.js
@@ -30,9 +30,8 @@ let printHeader = true;
function csvEncodeValue(value) {
if (typeof value === 'number') {
return value.toString();
- } else {
- return `"${value.replace(/"/g, '""')}"`;
}
+ return `"${value.replace(/"/g, '""')}"`;
}
(function recursive(i) {
diff --git a/configure.py b/configure.py
index 0e72ed24ccecbe..b67ad1f06f4e43 100755
--- a/configure.py
+++ b/configure.py
@@ -164,6 +164,11 @@
"e.g. /root/x/y.js will be referenced via require('root/x/y'). "
"Can be used multiple times")
+parser.add_option('--openssl-default-cipher-list',
+ action='store',
+ dest='openssl_default_cipher_list',
+ help='Use the specified cipher list as the default cipher list')
+
parser.add_option("--openssl-no-asm",
action="store_true",
dest="openssl_no_asm",
@@ -635,6 +640,14 @@
default=False,
help='compile V8 with debug checks and runtime debugging features enabled')
+parser.add_option('--v8-lite-mode',
+ action='store_true',
+ dest='v8_lite_mode',
+ default=False,
+ help='compile V8 in lite mode for constrained environments (lowers V8 '+
+ 'memory footprint, but also implies no just-in-time compilation ' +
+ 'support, thus much slower execution)')
+
parser.add_option('--node-builtin-modules-path',
action='store',
dest='node_builtin_modules_path',
@@ -781,7 +794,7 @@ def get_nasm_version(asm):
def get_llvm_version(cc):
return get_version_helper(
- cc, r"(^(?:FreeBSD )?clang version|based on LLVM) ([0-9]+\.[0-9]+)")
+ cc, r"(^(?:.+ )?clang version|based on LLVM) ([0-9]+\.[0-9]+)")
def get_xcode_version(cc):
return get_version_helper(
@@ -988,12 +1001,14 @@ def configure_arm(o):
o['variables']['arm_fpu'] = options.arm_fpu or arm_fpu
-def configure_mips(o):
+def configure_mips(o, target_arch):
can_use_fpu_instructions = (options.mips_float_abi != 'soft')
o['variables']['v8_can_use_fpu_instructions'] = b(can_use_fpu_instructions)
o['variables']['v8_use_mips_abi_hardfloat'] = b(can_use_fpu_instructions)
o['variables']['mips_arch_variant'] = options.mips_arch_variant
o['variables']['mips_fpu_mode'] = options.mips_fpu_mode
+ host_byteorder = 'little' if target_arch in ('mipsel', 'mips64el') else 'big'
+ o['variables']['v8_host_byteorder'] = host_byteorder
def gcc_version_ge(version_checked):
@@ -1049,7 +1064,7 @@ def configure_node(o):
if target_arch == 'arm':
configure_arm(o)
elif target_arch in ('mips', 'mipsel', 'mips64el'):
- configure_mips(o)
+ configure_mips(o, target_arch)
if flavor == 'aix':
o['variables']['node_target_type'] = 'static_library'
@@ -1231,6 +1246,7 @@ def configure_library(lib, output, pkgname=None):
def configure_v8(o):
+ o['variables']['v8_enable_lite_mode'] = 1 if options.v8_lite_mode else 0
o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0
o['variables']['v8_no_strict_aliasing'] = 1 # Work around compiler bugs.
o['variables']['v8_optimized_debug'] = 0 if options.v8_non_optimized_debug else 1
@@ -1277,6 +1293,8 @@ def without_ssl_error(option):
without_ssl_error('--openssl-no-asm')
if options.openssl_fips:
without_ssl_error('--openssl-fips')
+ if options.openssl_default_cipher_list:
+ without_ssl_error('--openssl-default-cipher-list')
return
if options.use_openssl_ca_store:
@@ -1286,6 +1304,9 @@ def without_ssl_error(option):
variables['node_without_node_options'] = b(options.without_node_options)
if options.without_node_options:
o['defines'] += ['NODE_WITHOUT_NODE_OPTIONS']
+ if options.openssl_default_cipher_list:
+ variables['openssl_default_cipher_list'] = \
+ options.openssl_default_cipher_list
if not options.shared_openssl and not options.openssl_no_asm:
is_x86 = 'x64' in variables['target_arch'] or 'ia32' in variables['target_arch']
@@ -1744,6 +1765,10 @@ def make_bin_override():
if options.use_ninja:
config['BUILD_WITH'] = 'ninja'
+# On Windows there is another find.exe in C:\Windows\System32
+if sys.platform == 'win32':
+ config['FIND'] = '/usr/bin/find'
+
config_lines = ['='.join((k,v)) for k,v in config.items()]
# Add a blank string to get a blank line at the end.
config_lines += ['']
diff --git a/deps/node-inspect/.github/workflows/ci.yml b/deps/node-inspect/.github/workflows/ci.yml
new file mode 100644
index 00000000000000..968316a34779a5
--- /dev/null
+++ b/deps/node-inspect/.github/workflows/ci.yml
@@ -0,0 +1,31 @@
+name: Node CI
+
+on: [push, pull_request]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ strategy:
+ fail-fast: false
+ matrix:
+ node-version:
+ # See https://github.com/nodejs/node-inspect/pull/78
+ # - 10.x
+ - 12.x
+ - 13.x
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Use Node.js ${{ matrix.node-version }}
+ uses: actions/setup-node@v1
+ with:
+ node-version: ${{ matrix.node-version }}
+ - name: npm install, build, and test
+ run: |
+ npm install
+ npm run build --if-present
+ npm test
+ env:
+ CI: true
diff --git a/deps/node-inspect/lib/_inspect.js b/deps/node-inspect/lib/_inspect.js
index 4d931f7a2bc664..aac278db0a891e 100644
--- a/deps/node-inspect/lib/_inspect.js
+++ b/deps/node-inspect/lib/_inspect.js
@@ -30,15 +30,15 @@ const runAsStandalone = typeof __dirname !== 'undefined';
const [ InspectClient, createRepl ] =
runAsStandalone ?
// This copy of node-inspect is on-disk, relative paths make sense.
- [
- require('./internal/inspect_client'),
- require('./internal/inspect_repl')
- ] :
+ [
+ require('./internal/inspect_client'),
+ require('./internal/inspect_repl')
+ ] :
// This copy of node-inspect is built into the node executable.
- [
- require('node-inspect/lib/internal/inspect_client'),
- require('node-inspect/lib/internal/inspect_repl')
- ];
+ [
+ require('node-inspect/lib/internal/inspect_client'),
+ require('node-inspect/lib/internal/inspect_repl')
+ ];
const debuglog = util.debuglog('inspect');
@@ -49,8 +49,8 @@ class StartupError extends Error {
}
}
-function portIsFree(host, port, timeout = 2000) {
- if (port === 0) return Promise.resolve(); // Binding to a random port.
+function portIsFree(host, port, timeout = 9999) {
+ if (port === 0) return Promise.resolve(); // Binding to a random port.
const retryDelay = 150;
let didTimeOut = false;
@@ -96,9 +96,9 @@ function runScript(script, scriptArgs, inspectHost, inspectPort, childPrint) {
return new Promise((resolve) => {
const needDebugBrk = process.version.match(/^v(6|7)\./);
const args = (needDebugBrk ?
- ['--inspect', `--debug-brk=${inspectPort}`] :
- [`--inspect-brk=${inspectPort}`])
- .concat([script], scriptArgs);
+ ['--inspect', `--debug-brk=${inspectPort}`] :
+ [`--inspect-brk=${inspectPort}`])
+ .concat([script], scriptArgs);
const child = spawn(process.execPath, args);
child.stdout.setEncoding('utf8');
child.stderr.setEncoding('utf8');
@@ -154,11 +154,11 @@ class NodeInspector {
if (options.script) {
this._runScript = runScript.bind(null,
- options.script,
- options.scriptArgs,
- options.host,
- options.port,
- this.childPrint.bind(this));
+ options.script,
+ options.scriptArgs,
+ options.host,
+ options.port,
+ this.childPrint.bind(this));
} else {
this._runScript =
() => Promise.resolve([null, options.port, options.host]);
@@ -333,8 +333,8 @@ function parseArgv([target, ...args]) {
}
function startInspect(argv = process.argv.slice(2),
- stdin = process.stdin,
- stdout = process.stdout) {
+ stdin = process.stdin,
+ stdout = process.stdout) {
/* eslint-disable no-console */
if (argv.length < 1) {
const invokedAs = runAsStandalone ?
diff --git a/deps/node-inspect/lib/internal/inspect_repl.js b/deps/node-inspect/lib/internal/inspect_repl.js
index d9d3f89f03a408..bfbedf66a71b79 100644
--- a/deps/node-inspect/lib/internal/inspect_repl.js
+++ b/deps/node-inspect/lib/internal/inspect_repl.js
@@ -85,9 +85,16 @@ function extractFunctionName(description) {
return fnNameMatch ? `: ${fnNameMatch[1]}` : '';
}
-const NATIVES = process.binding('natives');
+const PUBLIC_BUILTINS = require('module').builtinModules;
+const NATIVES = PUBLIC_BUILTINS ? process.binding('natives') : {};
function isNativeUrl(url) {
- return url.replace('.js', '') in NATIVES || url === 'bootstrap_node.js';
+ url = url.replace(/\.js$/, '');
+ if (PUBLIC_BUILTINS) {
+ if (url.startsWith('internal/') || PUBLIC_BUILTINS.includes(url))
+ return true;
+ }
+
+ return url in NATIVES || url === 'bootstrap_node';
}
function getRelativePath(filenameOrURL) {
@@ -775,6 +782,14 @@ function createRepl(inspector) {
}
Debugger.on('paused', ({ callFrames, reason /* , hitBreakpoints */ }) => {
+ if (process.env.NODE_INSPECT_RESUME_ON_START === '1' &&
+ reason === 'Break on start') {
+ debuglog('Paused on start, but NODE_INSPECT_RESUME_ON_START' +
+ ' environment variable is set to 1, resuming');
+ inspector.client.callMethod('Debugger.resume');
+ return;
+ }
+
// Save execution context's data
currentBacktrace = Backtrace.from(callFrames);
selectedFrame = currentBacktrace[0];
diff --git a/deps/node-inspect/package.json b/deps/node-inspect/package.json
index c64582703cc6d9..925fb03f21a53d 100644
--- a/deps/node-inspect/package.json
+++ b/deps/node-inspect/package.json
@@ -1,6 +1,6 @@
{
"name": "node-inspect",
- "version": "1.11.6",
+ "version": "2.0.0",
"description": "Node Inspect",
"license": "MIT",
"main": "lib/_inspect.js",
@@ -27,7 +27,7 @@
},
"dependencies": {},
"devDependencies": {
- "eslint": "^3.10.2",
+ "eslint": "^6.8.0",
"nlm": "^3.0.0",
"tap": "^10.7.0"
},
diff --git a/deps/node-inspect/test/cli/address.test.js b/deps/node-inspect/test/cli/address.test.js
new file mode 100644
index 00000000000000..1dbe4f37b42175
--- /dev/null
+++ b/deps/node-inspect/test/cli/address.test.js
@@ -0,0 +1,71 @@
+'use strict';
+const { spawn } = require('child_process');
+const Path = require('path');
+const { test } = require('tap');
+
+const startCLI = require('./start-cli');
+
+// NOTE(oyyd): We might want to import this regexp from "lib/_inspect.js"?
+const kDebuggerMsgReg = /Debugger listening on ws:\/\/\[?(.+?)\]?:(\d+)\//;
+
+function launchTarget(...args) {
+ const childProc = spawn(process.execPath, args);
+ return new Promise((resolve, reject) => {
+ const onExit = () => {
+ reject(new Error('Child process exits unexpectly'));
+ };
+ childProc.on('exit', onExit);
+ childProc.stderr.setEncoding('utf8');
+ childProc.stderr.on('data', (data) => {
+ const ret = kDebuggerMsgReg.exec(data);
+ childProc.removeListener('exit', onExit);
+ if (ret) {
+ resolve({
+ childProc,
+ host: ret[1],
+ port: ret[2],
+ });
+ }
+ });
+ });
+}
+
+// process.debugPort is our proxy for "the version of node used to run this
+// test suite doesn't support SIGUSR1 for enabling --inspect for a process".
+const defaultsToOldProtocol = process.debugPort === 5858;
+
+test('examples/alive.js', { skip: defaultsToOldProtocol }, (t) => {
+ const script = Path.join('examples', 'alive.js');
+ let cli = null;
+ let target = null;
+
+ function cleanup(error) {
+ if (cli) {
+ cli.quit();
+ cli = null;
+ }
+ if (target) {
+ target.kill();
+ target = null;
+ }
+ if (error) throw error;
+ }
+
+ return launchTarget('--inspect=0', script)
+ .then(({ childProc, host, port }) => {
+ target = childProc;
+ cli = startCLI([`${host || '127.0.0.1'}:${port}`]);
+ return cli.waitForPrompt();
+ })
+ .then(() => cli.command('sb("alive.js", 3)'))
+ .then(() => cli.waitFor(/break/))
+ .then(() => cli.waitForPrompt())
+ .then(() => {
+ t.match(
+ cli.output,
+ '> 3 ++x;',
+ 'marks the 3rd line');
+ })
+ .then(() => cleanup())
+ .then(null, cleanup);
+});
diff --git a/deps/node-inspect/test/cli/invalid-args.test.js b/deps/node-inspect/test/cli/invalid-args.test.js
index c1aaeb6a9ce750..86428a3ec27030 100644
--- a/deps/node-inspect/test/cli/invalid-args.test.js
+++ b/deps/node-inspect/test/cli/invalid-args.test.js
@@ -27,7 +27,7 @@ test('launch w/ invalid host:port', (t) => {
});
});
-test('launch w/ unavailable port', async (t) => {
+test('launch w/ unavailable port', async(t) => {
const blocker = createServer((socket) => socket.end());
const port = await new Promise((resolve, reject) => {
blocker.on('error', reject);
diff --git a/deps/node-inspect/test/cli/launch.test.js b/deps/node-inspect/test/cli/launch.test.js
index 087a46c54bb8c6..c4ff3d855a82bc 100644
--- a/deps/node-inspect/test/cli/launch.test.js
+++ b/deps/node-inspect/test/cli/launch.test.js
@@ -174,3 +174,23 @@ test('run after quit / restart', (t) => {
.then(() => cli.quit())
.then(null, onFatal);
});
+
+test('auto-resume on start if the environment variable is defined', (t) => {
+ const script = Path.join('examples', 'break.js');
+
+ const cli = startCLI([script], [], {
+ env: { NODE_INSPECT_RESUME_ON_START: '1' }
+ });
+
+ return cli.waitForInitialBreak()
+ .then(() => {
+ t.match(
+ cli.breakInfo,
+ { filename: script, line: 10 },
+ 'skips to the first breakpoint');
+ })
+ .then(() => cli.quit())
+ .then((code) => {
+ t.equal(code, 0, 'exits with success');
+ });
+});
diff --git a/deps/node-inspect/test/cli/start-cli.js b/deps/node-inspect/test/cli/start-cli.js
index e2fa5fe47c9ebe..32c666c7647c68 100644
--- a/deps/node-inspect/test/cli/start-cli.js
+++ b/deps/node-inspect/test/cli/start-cli.js
@@ -8,8 +8,8 @@ tap.test('startCLI', (t) => t.end());
const CLI =
process.env.USE_EMBEDDED_NODE_INSPECT === '1' ?
- 'inspect' :
- require.resolve('../../cli.js');
+ 'inspect' :
+ require.resolve('../../cli.js');
const BREAK_MESSAGE = new RegExp('(?:' + [
'assert', 'break', 'break on start', 'debugCommand',
@@ -20,8 +20,8 @@ function isPreBreak(output) {
return /Break on start/.test(output) && /1 \(function \(exports/.test(output);
}
-function startCLI(args, flags = []) {
- const child = spawn(process.execPath, [...flags, CLI, ...args]);
+function startCLI(args, flags = [], spawnOpts = {}) {
+ const child = spawn(process.execPath, [...flags, CLI, ...args], spawnOpts);
let isFirstStdoutChunk = true;
const outputBuffer = [];
diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS
index 08cade33b6ff10..313dba9e161f89 100644
--- a/deps/npm/AUTHORS
+++ b/deps/npm/AUTHORS
@@ -695,3 +695,7 @@ Jarda Snajdr
Naix Geng <1308363651@qq.com>
Dylan Treisman
mum-never-proud
+Peter Fich
+Maxwell Gerber
+Sean Poulter
+vanishcode
diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md
index bae7de70605601..85230c8e185636 100644
--- a/deps/npm/CHANGELOG.md
+++ b/deps/npm/CHANGELOG.md
@@ -1,3 +1,25 @@
+## 6.14.6 (2020-07-07)
+
+### BUG FIXES
+* [`a9857b8f6`](https://github.com/npm/cli/commit/a9857b8f6869451ff058789c4631fadfde5bbcbc) chore: remove auth info from logs ([@claudiahdz](https://github.com/claudiahdz))
+* [`b7ad77598`](https://github.com/npm/cli/commit/b7ad77598112908d60195d0fbc472b3c84275fd5) [#1416](https://github.com/npm/cli/pull/1416) fix: wrong `npm doctor` command result ([@vanishcode](https://github.com/vanishcode))
+
+### DEPENDENCIES
+* [`94eca6377`](https://github.com/npm/cli/commit/94eca637756376b949edfb697e179a1fdcc231ee) `npm-registry-fetch@4.0.5` ([@claudiahdz](https://github.com/claudiahdz))
+* [`c49b6ae28`](https://github.com/npm/cli/commit/c49b6ae28791ff7184288be16654f97168aa9705) [#1418](https://github.com/npm/cli/pull/1418) `spdx-license-ids@3.0.5` ([@kemitchell](https://github.com/kemitchell))
+
+### DOCUMENTATION
+* [`2e052984b`](https://github.com/npm/cli/commit/2e052984b08c09115ed75387fb2c961631d85d77)
+ [#1459](https://github.com/npm/cli/pull/1459)
+ chore(docs): fixed links to cli commands ([@claudiahdz](https://github.com/claudiahdz))
+* [`0ca3509ca`](https://github.com/npm/cli/commit/0ca3509ca940865392daeeabb39192f7d5af9f5e)
+ [#1283](https://github.com/npm/cli/pull/1283) Update npm-link.md ([@peterfich](https://github.com/peterfich))
+* [`3dd429e9a`](https://github.com/npm/cli/commit/3dd429e9aad760ce2ff9e522b34ebfebd85b460c)
+ [#1377](https://github.com/npm/cli/pull/1377)
+ Add note about dropped `*` filenames ([@maxwellgerber](https://github.com/maxwellgerber))
+* [`9a2e2e797`](https://github.com/npm/cli/commit/9a2e2e797e5c91e7f4f261583a1906e2c440cc2f)
+ [#1429](https://github.com/npm/cli/pull/1429) Fix typo ([@seanpoulter](https://github.com/seanpoulter))
+
## 6.14.5 (2020-05-01)
### BUG FIXES
diff --git a/deps/npm/bin/npm-cli.js b/deps/npm/bin/npm-cli.js
index 93eddc7a3c892b..c0d9be00433d48 100755
--- a/deps/npm/bin/npm-cli.js
+++ b/deps/npm/bin/npm-cli.js
@@ -28,6 +28,7 @@
var npm = require('../lib/npm.js')
var npmconf = require('../lib/config/core.js')
var errorHandler = require('../lib/utils/error-handler.js')
+ var replaceInfo = require('../lib/utils/replace-info.js')
var configDefs = npmconf.defs
var shorthands = configDefs.shorthands
@@ -40,7 +41,8 @@
process.argv.splice(1, 1, 'npm', '-g')
}
- log.verbose('cli', process.argv)
+ var args = replaceInfo(process.argv)
+ log.verbose('cli', args)
var conf = nopt(types, shorthands)
npm.argv = conf.argv.remain
diff --git a/deps/npm/docs/content/cli-commands/npm-access.md b/deps/npm/docs/content/cli-commands/npm-access.md
index f4088fe8855139..0fbce9c0759d12 100644
--- a/deps/npm/docs/content/cli-commands/npm-access.md
+++ b/deps/npm/docs/content/cli-commands/npm-access.md
@@ -87,7 +87,7 @@ Management of teams and team memberships is done with the `npm team` command.
### See Also
* [`libnpmaccess`](https://npm.im/libnpmaccess)
-* [npm team](/cli-commands/team)
-* [npm publish](/cli-commands/publish)
-* [npm config](/cli-commands/config)
+* [npm team](/cli-commands/npm-team)
+* [npm publish](/cli-commands/npm-publish)
+* [npm config](/cli-commands/npm-config)
* [npm registry](/using-npm/registry)
diff --git a/deps/npm/docs/content/cli-commands/npm-adduser.md b/deps/npm/docs/content/cli-commands/npm-adduser.md
index ec61cdd39acbad..2df35e45fc550e 100644
--- a/deps/npm/docs/content/cli-commands/npm-adduser.md
+++ b/deps/npm/docs/content/cli-commands/npm-adduser.md
@@ -89,7 +89,7 @@ username/password entry in legacy npm.
### See Also
* [npm registry](/using-npm/registry)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
-* [npm owner](/cli-commands/owner)
-* [npm whoami](/cli-commands/whoami)
+* [npm owner](/cli-commands/npm-owner)
+* [npm whoami](/cli-commands/npm-whoami)
diff --git a/deps/npm/docs/content/cli-commands/npm-audit.md b/deps/npm/docs/content/cli-commands/npm-audit.md
index 8b944e94cc12e2..0aba874f96df8d 100644
--- a/deps/npm/docs/content/cli-commands/npm-audit.md
+++ b/deps/npm/docs/content/cli-commands/npm-audit.md
@@ -131,6 +131,6 @@ configuration setting.
### See Also
-* [npm install](/cli-commands/install)
+* [npm install](/cli-commands/npm-install)
* [package-locks](/configuring-npm/package-locks)
* [config](/using-npm/config)
diff --git a/deps/npm/docs/content/cli-commands/npm-bin.md b/deps/npm/docs/content/cli-commands/npm-bin.md
index eb0912ae48a92a..6c7ce0eee54e21 100644
--- a/deps/npm/docs/content/cli-commands/npm-bin.md
+++ b/deps/npm/docs/content/cli-commands/npm-bin.md
@@ -19,8 +19,8 @@ Print the folder where npm will install executables.
### See Also
-* [npm prefix](/cli-commands/prefix)
-* [npm root](/cli-commands/root)
+* [npm prefix](/cli-commands/npm-prefix)
+* [npm root](/cli-commands/npm-root)
* [npm folders](/configuring-npm/folders)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
diff --git a/deps/npm/docs/content/cli-commands/npm-bugs.md b/deps/npm/docs/content/cli-commands/npm-bugs.md
index 6e59f2bd1a05e0..dcc9c358df14d8 100644
--- a/deps/npm/docs/content/cli-commands/npm-bugs.md
+++ b/deps/npm/docs/content/cli-commands/npm-bugs.md
@@ -41,10 +41,10 @@ The base URL of the npm package registry.
### See Also
-* [npm docs](/cli-commands/docs)
-* [npm view](/cli-commands/view)
-* [npm publish](/cli-commands/publish)
+* [npm docs](/cli-commands/npm-docs)
+* [npm view](/cli-commands/npm-view)
+* [npm publish](/cli-commands/npm-publish)
* [npm registry](/using-npm/registry)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
* [package.json](/configuring-npm/package-json)
diff --git a/deps/npm/docs/content/cli-commands/npm-build.md b/deps/npm/docs/content/cli-commands/npm-build.md
index eca5397d9c77d5..b657129787663d 100644
--- a/deps/npm/docs/content/cli-commands/npm-build.md
+++ b/deps/npm/docs/content/cli-commands/npm-build.md
@@ -28,7 +28,7 @@ directly, run:
### See Also
-* [npm install](/cli-commands/install)
-* [npm link](/cli-commands/link)
+* [npm install](/cli-commands/npm-install)
+* [npm link](/cli-commands/npm-link)
* [npm scripts](/using-npm/scripts)
* [package.json](/configuring-npm/package-json)
diff --git a/deps/npm/docs/content/cli-commands/npm-bundle.md b/deps/npm/docs/content/cli-commands/npm-bundle.md
index c4fdc5e6bb0e64..76417ac8b0b0c7 100644
--- a/deps/npm/docs/content/cli-commands/npm-bundle.md
+++ b/deps/npm/docs/content/cli-commands/npm-bundle.md
@@ -18,4 +18,4 @@ Just use `npm install` now to do what `npm bundle` used to do.
### See Also
-* [npm install](/cli-commands/install)
+* [npm install](/cli-commands/npm-install)
diff --git a/deps/npm/docs/content/cli-commands/npm-cache.md b/deps/npm/docs/content/cli-commands/npm-cache.md
index 4d19749b80f2d9..ed31a320421b0c 100644
--- a/deps/npm/docs/content/cli-commands/npm-cache.md
+++ b/deps/npm/docs/content/cli-commands/npm-cache.md
@@ -82,10 +82,10 @@ The root cache folder.
### See Also
* [npm folders](/configuring-npm/folders)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
-* [npm install](/cli-commands/install)
-* [npm publish](/cli-commands/publish)
-* [npm pack](/cli-commands/pack)
+* [npm install](/cli-commands/npm-install)
+* [npm publish](/cli-commands/npm-publish)
+* [npm pack](/cli-commands/npm-pack)
* https://npm.im/cacache
* https://npm.im/pacote
diff --git a/deps/npm/docs/content/cli-commands/npm-ci.md b/deps/npm/docs/content/cli-commands/npm-ci.md
index b5b6447a485f8f..357ba16cf6ade1 100644
--- a/deps/npm/docs/content/cli-commands/npm-ci.md
+++ b/deps/npm/docs/content/cli-commands/npm-ci.md
@@ -45,7 +45,7 @@ cache:
### Description
-This command is similar to [`npm install`](/cli-commands/install), except it's meant to be used in
+This command is similar to [`npm install`](/cli-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. It can be significantly faster than a regular npm
@@ -63,5 +63,5 @@ In short, the main differences between using `npm install` and `npm ci` are:
### See Also
-* [npm install](/cli-commands/install)
+* [npm install](/cli-commands/npm-install)
* [package-locks](/configuring-npm/package-locks)
diff --git a/deps/npm/docs/content/cli-commands/npm-config.md b/deps/npm/docs/content/cli-commands/npm-config.md
index 68d403746fc103..c2f2033b066d29 100644
--- a/deps/npm/docs/content/cli-commands/npm-config.md
+++ b/deps/npm/docs/content/cli-commands/npm-config.md
@@ -79,7 +79,7 @@ global config.
### See Also
* [npm folders](/configuring-npm/folders)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [package.json](/configuring-npm/package-json)
* [npmrc](/configuring-npm/npmrc)
* [npm](/cli-commands/npm)
diff --git a/deps/npm/docs/content/cli-commands/npm-dedupe.md b/deps/npm/docs/content/cli-commands/npm-dedupe.md
index a146885a044086..e15a12ba7c18a3 100644
--- a/deps/npm/docs/content/cli-commands/npm-dedupe.md
+++ b/deps/npm/docs/content/cli-commands/npm-dedupe.md
@@ -62,6 +62,6 @@ result in new modules being installed.
### See Also
-* [npm ls](/cli-commands/ls)
-* [npm update](/cli-commands/update)
-* [npm install](/cli-commands/install)
+* [npm ls](/cli-commands/npm-ls)
+* [npm update](/cli-commands/npm-update)
+* [npm install](/cli-commands/npm-install)
diff --git a/deps/npm/docs/content/cli-commands/npm-deprecate.md b/deps/npm/docs/content/cli-commands/npm-deprecate.md
index 252c0e70370791..d2d9613f653c6c 100644
--- a/deps/npm/docs/content/cli-commands/npm-deprecate.md
+++ b/deps/npm/docs/content/cli-commands/npm-deprecate.md
@@ -32,5 +32,5 @@ format an empty string.
### See Also
-* [npm publish](/cli-commands/publish)
+* [npm publish](/cli-commands/npm-publish)
* [npm registry](/using-npm/registry)
diff --git a/deps/npm/docs/content/cli-commands/npm-dist-tag.md b/deps/npm/docs/content/cli-commands/npm-dist-tag.md
index 4f7fcb9f58f1ba..c7921c7f739d72 100644
--- a/deps/npm/docs/content/cli-commands/npm-dist-tag.md
+++ b/deps/npm/docs/content/cli-commands/npm-dist-tag.md
@@ -92,9 +92,9 @@ begin with a number or the letter `v`.
### See Also
-* [npm publish](/cli-commands/publish)
-* [npm install](/cli-commands/install)
-* [npm dedupe](/cli-commands/dedupe)
+* [npm publish](/cli-commands/npm-publish)
+* [npm install](/cli-commands/npm-install)
+* [npm dedupe](/cli-commands/npm-dedupe)
* [npm registry](/using-npm/registry)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
diff --git a/deps/npm/docs/content/cli-commands/npm-docs.md b/deps/npm/docs/content/cli-commands/npm-docs.md
index f157e200dc514f..46f5cd0d900a47 100644
--- a/deps/npm/docs/content/cli-commands/npm-docs.md
+++ b/deps/npm/docs/content/cli-commands/npm-docs.md
@@ -44,9 +44,9 @@ The base URL of the npm package registry.
### See Also
-* [npm view](/cli-commands/view)
-* [npm publish](/cli-commands/publish)
+* [npm view](/cli-commands/npm-view)
+* [npm publish](/cli-commands/npm-publish)
* [npm registry](/using-npm/registry)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
* [package.json](/configuring-npm/package-json)
diff --git a/deps/npm/docs/content/cli-commands/npm-doctor.md b/deps/npm/docs/content/cli-commands/npm-doctor.md
index 60a57ea4765a26..7cec349e5a8145 100644
--- a/deps/npm/docs/content/cli-commands/npm-doctor.md
+++ b/deps/npm/docs/content/cli-commands/npm-doctor.md
@@ -106,6 +106,6 @@ cache, you should probably run `npm cache clean` and reset the cache.
### See Also
-* [npm bugs](/cli-commands/bugs)
-* [npm help](/cli-commands/help)
-* [npm ping](/cli-commands/ping)
+* [npm bugs](/cli-commands/npm-bugs)
+* [npm help](/cli-commands/npm-help)
+* [npm ping](/cli-commands/npm-ping)
diff --git a/deps/npm/docs/content/cli-commands/npm-edit.md b/deps/npm/docs/content/cli-commands/npm-edit.md
index d4b9bbb819b94f..94b6a087fa102f 100644
--- a/deps/npm/docs/content/cli-commands/npm-edit.md
+++ b/deps/npm/docs/content/cli-commands/npm-edit.md
@@ -41,7 +41,7 @@ The command to run for `npm edit` or `npm config edit`.
### See Also
* [npm folders](/configuring-npm/folders)
-* [npm explore](/cli-commands/explore)
-* [npm install](/cli-commands/install)
-* [npm config](/cli-commands/config)
+* [npm explore](/cli-commands/npm-explore)
+* [npm install](/cli-commands/npm-install)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
diff --git a/deps/npm/docs/content/cli-commands/npm-explore.md b/deps/npm/docs/content/cli-commands/npm-explore.md
index dfa4d9c0737412..8ded96d40984fe 100644
--- a/deps/npm/docs/content/cli-commands/npm-explore.md
+++ b/deps/npm/docs/content/cli-commands/npm-explore.md
@@ -44,7 +44,7 @@ The shell to run for the `npm explore` command.
### See Also
* [npm folders](/configuring-npm/folders)
-* [npm edit](/cli-commands/edit)
-* [npm rebuild](/cli-commands/rebuild)
-* [npm build](/cli-commands/build)
-* [npm install](/cli-commands/install)
+* [npm edit](/cli-commands/npm-edit)
+* [npm rebuild](/cli-commands/npm-rebuild)
+* [npm build](/cli-commands/npm-build)
+* [npm install](/cli-commands/npm-install)
diff --git a/deps/npm/docs/content/cli-commands/npm-fund.md b/deps/npm/docs/content/cli-commands/npm-fund.md
index 73910ff7c07bde..5a751eec466871 100644
--- a/deps/npm/docs/content/cli-commands/npm-fund.md
+++ b/deps/npm/docs/content/cli-commands/npm-fund.md
@@ -61,8 +61,8 @@ If there are multiple funding sources, which 1-indexed source URL to open.
## See Also
-* [npm docs](/cli-commands/docs)
-* [npm config](/cli-commands/config)
-* [npm install](/cli-commands/install)
-* [npm ls](/cli-commands/ls)
+* [npm docs](/cli-commands/npm-docs)
+* [npm config](/cli-commands/npm-config)
+* [npm install](/cli-commands/npm-install)
+* [npm ls](/cli-commands/npm-ls)
diff --git a/deps/npm/docs/content/cli-commands/npm-help-search.md b/deps/npm/docs/content/cli-commands/npm-help-search.md
index 96781856551383..69d005cb160ed7 100644
--- a/deps/npm/docs/content/cli-commands/npm-help-search.md
+++ b/deps/npm/docs/content/cli-commands/npm-help-search.md
@@ -40,4 +40,4 @@ If false, then help-search will just list out the help topics found.
### See Also
* [npm](/cli-commands/npm)
-* [npm help](/cli-commands/help)
+* [npm help](/cli-commands/npm-help)
diff --git a/deps/npm/docs/content/cli-commands/npm-help.md b/deps/npm/docs/content/cli-commands/npm-help.md
index 358010c05ece33..c47676ffcac1d3 100644
--- a/deps/npm/docs/content/cli-commands/npm-help.md
+++ b/deps/npm/docs/content/cli-commands/npm-help.md
@@ -38,7 +38,7 @@ Set to `"browser"` to view html help content in the default web browser.
* [npm](/cli-commands/npm)
* [npm folders](/configuring-npm/folders)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
* [package.json](/configuring-npm/package-json)
-* [npm help-search](/cli-commands/help-search)
+* [npm help-search](/cli-commands/npm-help-search)
diff --git a/deps/npm/docs/content/cli-commands/npm-init.md b/deps/npm/docs/content/cli-commands/npm-init.md
index 32b7f823019910..73ad74b23ea998 100644
--- a/deps/npm/docs/content/cli-commands/npm-init.md
+++ b/deps/npm/docs/content/cli-commands/npm-init.md
@@ -70,5 +70,5 @@ will create a scoped package.
*
* [package.json](/configuring-npm/package-json)
-* [npm version](/cli-commands/version)
+* [npm version](/cli-commands/npm-version)
* [npm scope](/using-npm/scope)
diff --git a/deps/npm/docs/content/cli-commands/npm-install-ci-test.md b/deps/npm/docs/content/cli-commands/npm-install-ci-test.md
index 09d738c79fbed5..98e40f4b27a77d 100644
--- a/deps/npm/docs/content/cli-commands/npm-install-ci-test.md
+++ b/deps/npm/docs/content/cli-commands/npm-install-ci-test.md
@@ -22,5 +22,5 @@ This command runs an `npm ci` followed immediately by an `npm test`.
### See Also
-* [npm ci](/cli-commands/ci)
-* [npm test](/cli-commands/test)
+* [npm ci](/cli-commands/npm-ci)
+* [npm test](/cli-commands/npm-test)
diff --git a/deps/npm/docs/content/cli-commands/npm-install-test.md b/deps/npm/docs/content/cli-commands/npm-install-test.md
index 58b8844b4fcfff..b86a5199117c4a 100644
--- a/deps/npm/docs/content/cli-commands/npm-install-test.md
+++ b/deps/npm/docs/content/cli-commands/npm-install-test.md
@@ -31,5 +31,5 @@ takes exactly the same arguments as `npm install`.
### See Also
-* [npm install](/cli-commands/install)
-* [npm test](/cli-commands/test)
+* [npm install](/cli-commands/npm-install)
+* [npm test](/cli-commands/npm-test)
diff --git a/deps/npm/docs/content/cli-commands/npm-install.md b/deps/npm/docs/content/cli-commands/npm-install.md
index be196fa825546b..8e661bf643f394 100644
--- a/deps/npm/docs/content/cli-commands/npm-install.md
+++ b/deps/npm/docs/content/cli-commands/npm-install.md
@@ -32,7 +32,7 @@ common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional] [-E|--save-exa
This command installs a package, and any packages that it depends on. If the
package has a package-lock or shrinkwrap file, the installation of dependencies
will be driven by that, with an `npm-shrinkwrap.json` taking precedence if both
-files exist. See [package-lock.json](/configuring-npm/package-lock-json) and [`npm shrinkwrap`](/cli-commands/shrinkwrap).
+files exist. See [package-lock.json](/configuring-npm/package-lock-json) and [`npm shrinkwrap`](/cli-commands/npm-shrinkwrap).
A `package` is:
@@ -40,7 +40,7 @@ A `package` is:
* b) a gzipped tarball containing (a)
* c) a url that resolves to (b)
* d) a `@` that is published on the registry (see [`registry`](/using-npm/registry)) with (c)
-* e) a `@` (see [`npm dist-tag`](/cli-commands/dist-tag)) that points to (d)
+* e) a `@` (see [`npm dist-tag`](/cli-commands/npm-dist-tag)) that points to (d)
* f) a `` that has a "latest" tag satisfying (e)
* g) a `` that resolves to (a)
@@ -503,17 +503,17 @@ affects a real use-case, it will be investigated.
### See Also
* [npm folders](/configuring-npm/folders)
-* [npm update](/cli-commands/update)
-* [npm audit](/cli-commands/audit)
-* [npm fund](/cli-commands/fund)
-* [npm link](/cli-commands/link)
-* [npm rebuild](/cli-commands/rebuild)
+* [npm update](/cli-commands/npm-update)
+* [npm audit](/cli-commands/npm-audit)
+* [npm fund](/cli-commands/npm-fund)
+* [npm link](/cli-commands/npm-link)
+* [npm rebuild](/cli-commands/npm-rebuild)
* [npm scripts](/using-npm/scripts)
-* [npm build](/cli-commands/build)
-* [npm config](/cli-commands/config)
+* [npm build](/cli-commands/npm-build)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
* [npm registry](/using-npm/registry)
-* [npm dist-tag](/cli-commands/dist-tag)
-* [npm uninstall](/cli-commands/uninstall)
-* [npm shrinkwrap](/cli-commands/shrinkwrap)
+* [npm dist-tag](/cli-commands/npm-dist-tag)
+* [npm uninstall](/cli-commands/npm-uninstall)
+* [npm shrinkwrap](/cli-commands/npm-shrinkwrap)
* [package.json](/configuring-npm/package-json)
diff --git a/deps/npm/docs/content/cli-commands/npm-link.md b/deps/npm/docs/content/cli-commands/npm-link.md
index 3f513868dfebd6..b0e97be5578e9f 100644
--- a/deps/npm/docs/content/cli-commands/npm-link.md
+++ b/deps/npm/docs/content/cli-commands/npm-link.md
@@ -86,7 +86,7 @@ npm link @myorg/privatepackage
* [npm developers](/using-npm/developers)
* [package.json](/configuring-npm/package-json)
-* [npm- nstall](/cli-commands/install)
+* [npm install](/cli-commands/npm-install)
* [npm folders](/configuring-npm/folders)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
diff --git a/deps/npm/docs/content/cli-commands/npm-logout.md b/deps/npm/docs/content/cli-commands/npm-logout.md
index 5fb7100e8ef7d0..ca7d86f2d1960e 100644
--- a/deps/npm/docs/content/cli-commands/npm-logout.md
+++ b/deps/npm/docs/content/cli-commands/npm-logout.md
@@ -48,7 +48,7 @@ npm logout --scope=@myco
### See Also
-* [npm adduser](/cli-commands/adduser)
+* [npm adduser](/cli-commands/npm-adduser)
* [npm registry](/using-npm/registry)
-* [npm config](/cli-commands/config)
-* [npm whoami](/cli-commands/whoami)
+* [npm config](/cli-commands/npm-config)
+* [npm whoami](/cli-commands/npm-whoami)
diff --git a/deps/npm/docs/content/cli-commands/npm-ls.md b/deps/npm/docs/content/cli-commands/npm-ls.md
index 797f15a50d8494..64a399155ff601 100644
--- a/deps/npm/docs/content/cli-commands/npm-ls.md
+++ b/deps/npm/docs/content/cli-commands/npm-ls.md
@@ -119,11 +119,11 @@ Set it to false in order to use all-ansi output.
### See Also
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
* [npm folders](/configuring-npm/folders)
-* [npm install](/cli-commands/install)
-* [npm link](/cli-commands/link)
-* [npm prune](/cli-commands/prune)
-* [npm outdated](/cli-commands/outdated)
-* [npm update](/cli-commands/update)
+* [npm install](/cli-commands/npm-install)
+* [npm link](/cli-commands/npm-link)
+* [npm prune](/cli-commands/npm-prune)
+* [npm outdated](/cli-commands/npm-outdated)
+* [npm update](/cli-commands/npm-update)
diff --git a/deps/npm/docs/content/cli-commands/npm-outdated.md b/deps/npm/docs/content/cli-commands/npm-outdated.md
index 3dae28c465f4e6..c7934109dca370 100644
--- a/deps/npm/docs/content/cli-commands/npm-outdated.md
+++ b/deps/npm/docs/content/cli-commands/npm-outdated.md
@@ -118,7 +118,7 @@ Max depth for checking dependency tree.
### See Also
-* [npm update](/cli-commands/update)
-* [npm dist-tag](/cli-commands/dist-tag)
+* [npm update](/cli-commands/npm-update)
+* [npm dist-tag](/cli-commands/npm-dist-tag)
* [npm registry](/using-npm/registry)
* [npm folders](/configuring-npm/folders)
diff --git a/deps/npm/docs/content/cli-commands/npm-owner.md b/deps/npm/docs/content/cli-commands/npm-owner.md
index 7088cdaf5cb396..bc2fbc82fb280e 100644
--- a/deps/npm/docs/content/cli-commands/npm-owner.md
+++ b/deps/npm/docs/content/cli-commands/npm-owner.md
@@ -41,7 +41,7 @@ with `--otp`.
### See Also
-* [npm publish](/cli-commands/publish)
+* [npm publish](/cli-commands/npm-publish)
* [npm registry](/using-npm/registry)
-* [npm adduser](/cli-commands/adduser)
+* [npm adduser](/cli-commands/npm-adduser)
* [npm disputes](/using-npm/disputes)
diff --git a/deps/npm/docs/content/cli-commands/npm-pack.md b/deps/npm/docs/content/cli-commands/npm-pack.md
index d4774ff3716710..acf18559c14e00 100644
--- a/deps/npm/docs/content/cli-commands/npm-pack.md
+++ b/deps/npm/docs/content/cli-commands/npm-pack.md
@@ -32,7 +32,7 @@ actually packing anything. Reports on what would have gone into the tarball.
### See Also
-* [npm cache](/cli-commands/cache)
-* [npm publish](/cli-commands/publish)
-* [npm config](/cli-commands/config)
+* [npm cache](/cli-commands/npm-cache)
+* [npm publish](/cli-commands/npm-publish)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
diff --git a/deps/npm/docs/content/cli-commands/npm-ping.md b/deps/npm/docs/content/cli-commands/npm-ping.md
index 8f765501ac9f33..93d18b57f840b0 100644
--- a/deps/npm/docs/content/cli-commands/npm-ping.md
+++ b/deps/npm/docs/content/cli-commands/npm-ping.md
@@ -29,5 +29,5 @@ Ping error: {*Detail about error}
### See Also
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
diff --git a/deps/npm/docs/content/cli-commands/npm-prefix.md b/deps/npm/docs/content/cli-commands/npm-prefix.md
index c6b1f7441bcd65..b82fec663a147d 100644
--- a/deps/npm/docs/content/cli-commands/npm-prefix.md
+++ b/deps/npm/docs/content/cli-commands/npm-prefix.md
@@ -21,12 +21,12 @@ 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-commands/config) for more detail.
+[`npm config`](/cli-commands/npm-config) for more detail.
### See Also
-* [npm root](/cli-commands/root)
-* [npm bin](/cli-commands/bin)
+* [npm root](/cli-commands/npm-root)
+* [npm bin](/cli-commands/npm-bin)
* [npm folders](/configuring-npm/folders)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
diff --git a/deps/npm/docs/content/cli-commands/npm-profile.md b/deps/npm/docs/content/cli-commands/npm-profile.md
index 7cc38e2c9c3fe3..9fe82cd2d3a952 100644
--- a/deps/npm/docs/content/cli-commands/npm-profile.md
+++ b/deps/npm/docs/content/cli-commands/npm-profile.md
@@ -79,4 +79,4 @@ available on non npmjs.com registries.
### See Also
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
diff --git a/deps/npm/docs/content/cli-commands/npm-prune.md b/deps/npm/docs/content/cli-commands/npm-prune.md
index 586c2e7024642b..c6b61e62f828a2 100644
--- a/deps/npm/docs/content/cli-commands/npm-prune.md
+++ b/deps/npm/docs/content/cli-commands/npm-prune.md
@@ -41,6 +41,6 @@ and it's up to you to run `npm prune` from time-to-time to remove them.
### See Also
-* [npm uninstall](/cli-commands/uninstall)
+* [npm uninstall](/cli-commands/npm-uninstall)
* [npm folders](/configuring-npm/folders)
-* [npm ls](/cli-commands/ls)
+* [npm ls](/cli-commands/npm-ls)
diff --git a/deps/npm/docs/content/cli-commands/npm-publish.md b/deps/npm/docs/content/cli-commands/npm-publish.md
index 199377fa0df32d..44c36e0b7ac6cc 100644
--- a/deps/npm/docs/content/cli-commands/npm-publish.md
+++ b/deps/npm/docs/content/cli-commands/npm-publish.md
@@ -60,13 +60,13 @@ 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-commands/unpublish).
+it is removed with [`npm unpublish`](/cli-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-commands/pack), which figures out the files to be
+Similar to `--dry-run` see [`npm pack`](/cli-commands/npm-pack), which figures out the files to be
included and packs them into a tarball to be uploaded to the registry.
### See Also
diff --git a/deps/npm/docs/content/cli-commands/npm-rebuild.md b/deps/npm/docs/content/cli-commands/npm-rebuild.md
index 9503d6aae84263..414b9ca55a1932 100644
--- a/deps/npm/docs/content/cli-commands/npm-rebuild.md
+++ b/deps/npm/docs/content/cli-commands/npm-rebuild.md
@@ -22,5 +22,5 @@ This command runs the `npm build` command on the matched folders. This is usefu
### See Also
-* [npm build](/cli-commands/build)
-* [npm install](/cli-commands/install)
+* [npm build](/cli-commands/npm-build)
+* [npm install](/cli-commands/npm-install)
diff --git a/deps/npm/docs/content/cli-commands/npm-repo.md b/deps/npm/docs/content/cli-commands/npm-repo.md
index 48021d9af5d912..ad41ea571253fd 100644
--- a/deps/npm/docs/content/cli-commands/npm-repo.md
+++ b/deps/npm/docs/content/cli-commands/npm-repo.md
@@ -32,5 +32,5 @@ The browser that is called by the `npm repo` command to open websites.
### See Also
-* [npm docs](/cli-commands/docs)
-* [npm config](/cli-commands/config)
+* [npm docs](/cli-commands/npm-docs)
+* [npm config](/cli-commands/npm-config)
diff --git a/deps/npm/docs/content/cli-commands/npm-restart.md b/deps/npm/docs/content/cli-commands/npm-restart.md
index 663b8f45066084..d6d388b224ab1f 100644
--- a/deps/npm/docs/content/cli-commands/npm-restart.md
+++ b/deps/npm/docs/content/cli-commands/npm-restart.md
@@ -41,9 +41,9 @@ behavior will be accompanied by an increase in major version number
### See Also
-* [npm run-script](/cli-commands/run-script)
+* [npm run-script](/cli-commands/npm-run-script)
* [npm scripts](/using-npm/scripts)
-* [npm test](/cli-commands/test)
-* [npm start](/cli-commands/start)
-* [npm stop](/cli-commands/stop)
-* [npm restart](/cli-commands/restart)
\ No newline at end of file
+* [npm test](/cli-commands/npm-test)
+* [npm start](/cli-commands/npm-start)
+* [npm stop](/cli-commands/npm-stop)
+* [npm restart](/cli-commands/npm-restart)
\ No newline at end of file
diff --git a/deps/npm/docs/content/cli-commands/npm-root.md b/deps/npm/docs/content/cli-commands/npm-root.md
index fce4490de78eac..2b27878af4c6dc 100644
--- a/deps/npm/docs/content/cli-commands/npm-root.md
+++ b/deps/npm/docs/content/cli-commands/npm-root.md
@@ -19,8 +19,8 @@ Print the effective `node_modules` folder to standard out.
### See Also
-* [npm prefix](/cli-commands/prefix)
-* [npm bin](/cli-commands/bin)
+* [npm prefix](/cli-commands/npm-prefix)
+* [npm bin](/cli-commands/npm-bin)
* [npm folders](/configuring-npm/folders)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
diff --git a/deps/npm/docs/content/cli-commands/npm-run-script.md b/deps/npm/docs/content/cli-commands/npm-run-script.md
index 1ee381e00f2f1e..51def74c3c4c33 100644
--- a/deps/npm/docs/content/cli-commands/npm-run-script.md
+++ b/deps/npm/docs/content/cli-commands/npm-run-script.md
@@ -90,8 +90,8 @@ without breaking the execution chain.
### See Also
* [npm scripts](/using-npm/scripts)
-* [npm test](/cli-commands/test)
-* [npm start](/cli-commands/start)
-* [npm restart](/cli-commands/restart)
-* [npm stop](/cli-commands/stop)
-* [npm config](/cli-commands/config)
+* [npm test](/cli-commands/npm-test)
+* [npm start](/cli-commands/npm-start)
+* [npm restart](/cli-commands/npm-restart)
+* [npm stop](/cli-commands/npm-stop)
+* [npm config](/cli-commands/npm-config)
diff --git a/deps/npm/docs/content/cli-commands/npm-search.md b/deps/npm/docs/content/cli-commands/npm-search.md
index c65e489cba27c8..e066106faf71f4 100644
--- a/deps/npm/docs/content/cli-commands/npm-search.md
+++ b/deps/npm/docs/content/cli-commands/npm-search.md
@@ -109,6 +109,6 @@ setting.
### See Also
* [npm registry](/using-npm/registry)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
-* [npm view](/cli-commands/view)
+* [npm view](/cli-commands/npm-view)
diff --git a/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md b/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md
index a22aed88e125fe..342fb001675ab3 100644
--- a/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md
+++ b/deps/npm/docs/content/cli-commands/npm-shrinkwrap.md
@@ -24,11 +24,11 @@ of package locks in npm, see [package-locks](/configuring-npm/package-locks).
### See Also
-* [npm install](/cli-commands/install)
-* [npm run-script](/cli-commands/run-script)
+* [npm install](/cli-commands/npm-install)
+* [npm run-script](/cli-commands/npm-run-script)
* [npm scripts](/using-npm/scripts)
* [package.js](/configuring-npm/package-json)
* [package-locks](/configuring-npm/package-locks)
* [package-lock.json](/configuring-npm/package-lock-json)
* [shrinkwrap.json](/configuring-npm/shrinkwrap-json)
-* [npm ls](/cli-commands/ls)
+* [npm ls](/cli-commands/npm-ls)
diff --git a/deps/npm/docs/content/cli-commands/npm-star.md b/deps/npm/docs/content/cli-commands/npm-star.md
index 440d15d05c652e..1912e9c654bc28 100644
--- a/deps/npm/docs/content/cli-commands/npm-star.md
+++ b/deps/npm/docs/content/cli-commands/npm-star.md
@@ -26,6 +26,6 @@ It's a boolean thing. Starring repeatedly has no additional effect.
### See Also
-* [npm view](/cli-commands/view)
-* [npm whoami](/cli-commands/whoami)
-* [npm adduser](/cli-commands/adduser)
+* [npm view](/cli-commands/npm-view)
+* [npm whoami](/cli-commands/npm-whoami)
+* [npm adduser](/cli-commands/npm-adduser)
diff --git a/deps/npm/docs/content/cli-commands/npm-stars.md b/deps/npm/docs/content/cli-commands/npm-stars.md
index 87b1664ef8595d..475547bb4b7f2f 100644
--- a/deps/npm/docs/content/cli-commands/npm-stars.md
+++ b/deps/npm/docs/content/cli-commands/npm-stars.md
@@ -23,7 +23,7 @@ you will most certainly enjoy this command.
### See Also
-* [npm star](/cli-commands/star)
-* [npm view](/cli-commands/view)
-* [npm whoami](/cli-commands/whoami)
-* [npm adduser](/cli-commands/adduser)
+* [npm star](/cli-commands/npm-star)
+* [npm view](/cli-commands/npm-view)
+* [npm whoami](/cli-commands/npm-whoami)
+* [npm adduser](/cli-commands/npm-adduser)
diff --git a/deps/npm/docs/content/cli-commands/npm-start.md b/deps/npm/docs/content/cli-commands/npm-start.md
index 70221c9926a5d8..839528257b6d95 100644
--- a/deps/npm/docs/content/cli-commands/npm-start.md
+++ b/deps/npm/docs/content/cli-commands/npm-start.md
@@ -21,12 +21,12 @@ its `"scripts"` object. If no `"start"` property is specified on the
`"scripts"` object, it will run `node server.js`.
As of [`npm@2.0.0`](https://blog.npmjs.org/post/98131109725/npm-2-0-0), you can
-use custom arguments when executing scripts. Refer to [`npm run-script`](/cli-commands/run-script) for more details.
+use custom arguments when executing scripts. Refer to [`npm run-script`](/cli-commands/npm-run-script) for more details.
### See Also
-* [npm run-script](/cli-commands/run-script)
+* [npm run-script](/cli-commands/npm-run-script)
* [npm scripts](/using-npm/scripts)
-* [npm test](/cli-commands/test)
-* [npm restart](/cli-commands/restart)
-* [npm stop](/cli-commands/stop)
+* [npm test](/cli-commands/npm-test)
+* [npm restart](/cli-commands/npm-restart)
+* [npm stop](/cli-commands/npm-stop)
diff --git a/deps/npm/docs/content/cli-commands/npm-stop.md b/deps/npm/docs/content/cli-commands/npm-stop.md
index 889f04ec41e3e2..da759047cb19a5 100644
--- a/deps/npm/docs/content/cli-commands/npm-stop.md
+++ b/deps/npm/docs/content/cli-commands/npm-stop.md
@@ -20,8 +20,8 @@ This runs a package's "stop" script, if one was provided.
### See Also
-* [npm run-script](/cli-commands/run-script)
+* [npm run-script](/cli-commands/npm-run-script)
* [npm scripts](/using-npm/scripts)
-* [npm test](/cli-commands/test)
-* [npm start](/cli-commands/start)
-* [npm restart](/cli-commands/restart)
+* [npm test](/cli-commands/npm-test)
+* [npm start](/cli-commands/npm-start)
+* [npm restart](/cli-commands/npm-restart)
diff --git a/deps/npm/docs/content/cli-commands/npm-team.md b/deps/npm/docs/content/cli-commands/npm-team.md
index 53e084d47d14a3..0d5782f0e04b4f 100644
--- a/deps/npm/docs/content/cli-commands/npm-team.md
+++ b/deps/npm/docs/content/cli-commands/npm-team.md
@@ -62,5 +62,5 @@ use the `npm access` command to grant or revoke the appropriate permissions.
### See Also
-* [npm access](/cli-commands/access)
+* [npm access](/cli-commands/npm-access)
* [npm registry](/using-npm/registry)
diff --git a/deps/npm/docs/content/cli-commands/npm-test.md b/deps/npm/docs/content/cli-commands/npm-test.md
index 11900fd2fbf5e1..99c027e3e057af 100644
--- a/deps/npm/docs/content/cli-commands/npm-test.md
+++ b/deps/npm/docs/content/cli-commands/npm-test.md
@@ -22,8 +22,8 @@ This runs a package's "test" script, if one was provided.
### See Also
-* [npm run-script](/cli-commands/run-script)
+* [npm run-script](/cli-commands/npm-run-script)
* [npm scripts](/using-npm/scripts)
-* [npm start](/cli-commands/start)
-* [npm restart](/cli-commands/restart)
-* [npm stop](/cli-commands/stop)
+* [npm start](/cli-commands/npm-start)
+* [npm restart](/cli-commands/npm-restart)
+* [npm stop](/cli-commands/npm-stop)
diff --git a/deps/npm/docs/content/cli-commands/npm-uninstall.md b/deps/npm/docs/content/cli-commands/npm-uninstall.md
index 2b994ba6180b65..96fdc4ebe05ba9 100644
--- a/deps/npm/docs/content/cli-commands/npm-uninstall.md
+++ b/deps/npm/docs/content/cli-commands/npm-uninstall.md
@@ -57,8 +57,8 @@ npm uninstall lodash --no-save
### See Also
-* [npm prune](/cli-commands/prune)
-* [npm install](/cli-commands/install)
+* [npm prune](/cli-commands/npm-prune)
+* [npm install](/cli-commands/npm-install)
* [npm folders](/configuring-npm/folders)
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
diff --git a/deps/npm/docs/content/cli-commands/npm-unpublish.md b/deps/npm/docs/content/cli-commands/npm-unpublish.md
index 9b918ed432c306..bc4a9bd1930079 100644
--- a/deps/npm/docs/content/cli-commands/npm-unpublish.md
+++ b/deps/npm/docs/content/cli-commands/npm-unpublish.md
@@ -43,8 +43,8 @@ To learn more about how unpublish is treated on the npm registry, see our
### See also
-* [npm team](/cli-commands/team)
-* [npm access](/cli-commands/access)
+* [npm team](/cli-commands/npm-team)
+* [npm access](/cli-commands/npm-access)
* [npm scope](/using-npm/scope)
diff --git a/deps/npm/docs/content/using-npm/registry.md b/deps/npm/docs/content/using-npm/registry.md
index 44d0594132929f..cd6a2e4d71eebc 100644
--- a/deps/npm/docs/content/using-npm/registry.md
+++ b/deps/npm/docs/content/using-npm/registry.md
@@ -33,7 +33,7 @@ available at .
The registry URL used is determined by the scope of the package (see
[`scope`](/using-npm/scope). If no scope is specified, the default registry is used, which is
-supplied by the `registry` config parameter. See [`npm config`](/cli-commands/config),
+supplied by the `registry` config parameter. See [`npm config`](/cli-commands/npm-config),
[`npmrc`](/configuring-npm/npmrc), and [`config`](/using-npm/config) for more on managing npm's configuration.
### Does npm send any information about me back to the registry?
@@ -100,7 +100,7 @@ Yes, head over to
### See also
-* [npm config](/cli-commands/config)
+* [npm config](/cli-commands/npm-config)
* [config](/using-npm/config)
* [npmrc](/configuring-npm/npmrc)
* [npm developers](/using-npm/developers)
diff --git a/deps/npm/docs/content/using-npm/removal.md b/deps/npm/docs/content/using-npm/removal.md
index 20f353dc3475d8..7c836846732403 100644
--- a/deps/npm/docs/content/using-npm/removal.md
+++ b/deps/npm/docs/content/using-npm/removal.md
@@ -66,5 +66,5 @@ find /usr/local/{lib/node,bin} -exec grep -l npm \{\} \; ;
### See also
-* [npm uninstall](/cli-commands/uninstall)
-* [npm prune](/cli-commands/prune)
+* [npm uninstall](/cli-commands/npm-uninstall)
+* [npm prune](/cli-commands/npm-prune)
diff --git a/deps/npm/docs/content/using-npm/scope.md b/deps/npm/docs/content/using-npm/scope.md
index 81c55060ff601e..2cbc108f0db92c 100644
--- a/deps/npm/docs/content/using-npm/scope.md
+++ b/deps/npm/docs/content/using-npm/scope.md
@@ -55,7 +55,7 @@ Or in `package.json`:
```
Note that if the `@` symbol is omitted, in either case, npm will instead attempt to
-install from GitHub; see [`npm install`](/cli-commands/install).
+install from GitHub; see [`npm install`](/cli-commands/npm-install).
### Requiring scoped packages
@@ -125,7 +125,7 @@ that registry instead.
### See also
-* [npm install](/cli-commands/install)
-* [npm publish](/cli-commands/publish)
-* [npm access](/cli-commands/access)
+* [npm install](/cli-commands/npm-install)
+* [npm publish](/cli-commands/npm-publish)
+* [npm access](/cli-commands/npm-access)
* [npm registry](/using-npm/registry)
diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md
index befedd0724aa56..87b65010f0e6e7 100644
--- a/deps/npm/docs/content/using-npm/scripts.md
+++ b/deps/npm/docs/content/using-npm/scripts.md
@@ -78,7 +78,7 @@ The advantage of doing these things at `prepublish` time is that they can be don
### Life Cycle Operation Order
-#### [`npm publish`](/cli-commands/publish)
+#### [`npm publish`](/cli-commands/npm-publish)
* `prepublishOnly`
* `prepare`
@@ -86,12 +86,12 @@ The advantage of doing these things at `prepublish` time is that they can be don
* `publish`
* `postpublish`
-#### [`npm pack`](/cli-commands/pack)
+#### [`npm pack`](/cli-commands/npm-pack)
* `prepack`
* `postpack`
-#### [`npm install`](/cli-commands/install)
+#### [`npm install`](/cli-commands/npm-install)
* `preinstall`
* `install`
@@ -102,7 +102,7 @@ Also triggers
* `prepublish` (when on local)
* `prepare` (when on local)
-#### [`npm start`](/cli-commands/start)
+#### [`npm start`](/cli-commands/npm-start)
`npm run start` has an `npm start` shorthand.
@@ -304,7 +304,7 @@ above.
### See Also
-* [npm run-script](/cli-commands/run-script)
+* [npm run-script](/cli-commands/npm-run-script)
* [package.json](/configuring-npm/package-json)
* [npm developers](/using-npm/developers)
-* [npm install](/cli-commands/install)
+* [npm install](/cli-commands/npm-install)
diff --git a/deps/npm/docs/public/cli-commands/npm-access/index.html b/deps/npm/docs/public/cli-commands/npm-access/index.html
index 63df3a3728374c..2088d14aa48344 100644
--- a/deps/npm/docs/public/cli-commands/npm-access/index.html
+++ b/deps/npm/docs/public/cli-commands/npm-access/index.html
@@ -74,7 +74,7 @@
}
}
})
- npm access
+ npm access
Set access level on published packages
Synopsis
npm access public [<package>]
@@ -137,9 +137,9 @@ See Also
👀 Found a typo? Let us know! The current stable version of npm is here. To upgrade, run: npm install npm@latest -g To report bugs or submit feature requests for the docs, please post here. Submit npm issues here. |