diff --git a/CHANGELOG.md b/CHANGELOG.md
index ed4b71a36a499a..e0153d20fe0fa2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -32,7 +32,8 @@ release.
-16.6.0
+16.6.1
+16.6.0
16.5.0
16.4.2
16.4.1
diff --git a/Makefile b/Makefile
index 81907c9220f202..ec4c774748cd91 100644
--- a/Makefile
+++ b/Makefile
@@ -153,7 +153,7 @@ out/Makefile: config.gypi common.gypi node.gyp \
# and included in config.gypi
config.gypi: configure configure.py src/node_version.h
@if [ -x config.status ]; then \
- ./config.status; \
+ export PATH="$(NO_BIN_OVERRIDE_PATH)" && ./config.status; \
else \
echo Missing or stale $@, please run ./$<; \
exit 1; \
diff --git a/common.gypi b/common.gypi
index 88764c8f6b75a8..d4f1d425f83958 100644
--- a/common.gypi
+++ b/common.gypi
@@ -36,7 +36,7 @@
# Reset this number to 0 on major V8 upgrades.
# Increment by one for each non-official patch applied to deps/v8.
- 'v8_embedder_string': '-node.18',
+ 'v8_embedder_string': '-node.19',
##### V8 defaults for Node.js #####
diff --git a/configure.py b/configure.py
index a4c4d26987cb10..9327d6e5f5da06 100755
--- a/configure.py
+++ b/configure.py
@@ -2005,6 +2005,10 @@ def make_bin_override():
if options.compile_commands_json:
gyp_args += ['-f', 'compile_commands_json']
+# override the variable `python` defined in common.gypi
+if bin_override is not None:
+ gyp_args += ['-Dpython=' + sys.executable]
+
# pass the leftover positional arguments to GYP
gyp_args += args
diff --git a/deps/npm/docs/content/commands/npm-audit.md b/deps/npm/docs/content/commands/npm-audit.md
index 704d7a15fb8f19..94b16b27bd7ed9 100644
--- a/deps/npm/docs/content/commands/npm-audit.md
+++ b/deps/npm/docs/content/commands/npm-audit.md
@@ -232,6 +232,7 @@ mistakes, unnecessary performance degradation, and malicious input.
* 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`
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!
@@ -243,6 +244,9 @@ recommended that you do not use this option!
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`
diff --git a/deps/npm/docs/content/commands/npm-ci.md b/deps/npm/docs/content/commands/npm-ci.md
index 9645bae7e2f43d..31c92b13c5cdd3 100644
--- a/deps/npm/docs/content/commands/npm-ci.md
+++ b/deps/npm/docs/content/commands/npm-ci.md
@@ -69,6 +69,16 @@ cache:
+#### `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`](/commands/npm-audit) for details on what is
+submitted.
+
#### `ignore-scripts`
* Default: false
diff --git a/deps/npm/docs/content/commands/npm-config.md b/deps/npm/docs/content/commands/npm-config.md
index f2868cb8909a91..9e76a23671e861 100644
--- a/deps/npm/docs/content/commands/npm-config.md
+++ b/deps/npm/docs/content/commands/npm-config.md
@@ -104,6 +104,9 @@ global config.
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`
@@ -128,6 +131,14 @@ folder instead of the current working directory. See
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.
+
#### `long`
* Default: false
diff --git a/deps/npm/docs/content/commands/npm-dedupe.md b/deps/npm/docs/content/commands/npm-dedupe.md
index fbccc410532924..324e6a71b7a3eb 100644
--- a/deps/npm/docs/content/commands/npm-dedupe.md
+++ b/deps/npm/docs/content/commands/npm-dedupe.md
@@ -164,9 +164,10 @@ will *not* run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside `npm install` runs to the default
-registry and all registries configured for scopes. See the documentation for
-[`npm audit`](/commands/npm-audit) for details on what is submitted.
+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`](/commands/npm-audit) for details on what is
+submitted.
#### `bin-links`
diff --git a/deps/npm/docs/content/commands/npm-explain.md b/deps/npm/docs/content/commands/npm-explain.md
index 0e50d7ae43343b..3a87ee8e438bad 100644
--- a/deps/npm/docs/content/commands/npm-explain.md
+++ b/deps/npm/docs/content/commands/npm-explain.md
@@ -63,6 +63,9 @@ node_modules/nyc/node_modules/find-up
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`
diff --git a/deps/npm/docs/content/commands/npm-find-dupes.md b/deps/npm/docs/content/commands/npm-find-dupes.md
index 28281d5678ab70..3b28f6443decda 100644
--- a/deps/npm/docs/content/commands/npm-find-dupes.md
+++ b/deps/npm/docs/content/commands/npm-find-dupes.md
@@ -107,9 +107,10 @@ will *not* run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside `npm install` runs to the default
-registry and all registries configured for scopes. See the documentation for
-[`npm audit`](/commands/npm-audit) for details on what is submitted.
+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`](/commands/npm-audit) for details on what is
+submitted.
#### `bin-links`
diff --git a/deps/npm/docs/content/commands/npm-fund.md b/deps/npm/docs/content/commands/npm-fund.md
index 3dc5292b490a17..ec5f5a37fdb716 100644
--- a/deps/npm/docs/content/commands/npm-fund.md
+++ b/deps/npm/docs/content/commands/npm-fund.md
@@ -73,6 +73,9 @@ test-workspaces-fund@1.0.0
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`
diff --git a/deps/npm/docs/content/commands/npm-init.md b/deps/npm/docs/content/commands/npm-init.md
index 23e8e70d9e9132..54c3bdb4b74ab9 100644
--- a/deps/npm/docs/content/commands/npm-init.md
+++ b/deps/npm/docs/content/commands/npm-init.md
@@ -175,6 +175,7 @@ mistakes, unnecessary performance degradation, and malicious input.
* 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`
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!
diff --git a/deps/npm/docs/content/commands/npm-install-ci-test.md b/deps/npm/docs/content/commands/npm-install-ci-test.md
index c337905a0566e9..2640311cf94be7 100644
--- a/deps/npm/docs/content/commands/npm-install-ci-test.md
+++ b/deps/npm/docs/content/commands/npm-install-ci-test.md
@@ -20,6 +20,16 @@ This command runs `npm ci` followed immediately by `npm test`.
+#### `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`](/commands/npm-audit) for details on what is
+submitted.
+
#### `ignore-scripts`
* Default: false
diff --git a/deps/npm/docs/content/commands/npm-install-test.md b/deps/npm/docs/content/commands/npm-install-test.md
index deefbd96b52fd1..c8533cafedd7a3 100644
--- a/deps/npm/docs/content/commands/npm-install-test.md
+++ b/deps/npm/docs/content/commands/npm-install-test.md
@@ -149,9 +149,10 @@ will *not* run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside `npm install` runs to the default
-registry and all registries configured for scopes. See the documentation for
-[`npm audit`](/commands/npm-audit) for details on what is submitted.
+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`](/commands/npm-audit) for details on what is
+submitted.
#### `bin-links`
diff --git a/deps/npm/docs/content/commands/npm-install.md b/deps/npm/docs/content/commands/npm-install.md
index e5091e6604c917..70d4c0d46ffeb2 100644
--- a/deps/npm/docs/content/commands/npm-install.md
+++ b/deps/npm/docs/content/commands/npm-install.md
@@ -533,9 +533,10 @@ will *not* run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside `npm install` runs to the default
-registry and all registries configured for scopes. See the documentation for
-[`npm audit`](/commands/npm-audit) for details on what is submitted.
+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`](/commands/npm-audit) for details on what is
+submitted.
#### `bin-links`
diff --git a/deps/npm/docs/content/commands/npm-link.md b/deps/npm/docs/content/commands/npm-link.md
index b1c6066768a99e..c7b385009519a0 100644
--- a/deps/npm/docs/content/commands/npm-link.md
+++ b/deps/npm/docs/content/commands/npm-link.md
@@ -233,9 +233,10 @@ will *not* run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside `npm install` runs to the default
-registry and all registries configured for scopes. See the documentation for
-[`npm audit`](/commands/npm-audit) for details on what is submitted.
+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`](/commands/npm-audit) for details on what is
+submitted.
#### `bin-links`
diff --git a/deps/npm/docs/content/commands/npm-ls.md b/deps/npm/docs/content/commands/npm-ls.md
index 1f401fa956ff8d..350f40a9991e52 100644
--- a/deps/npm/docs/content/commands/npm-ls.md
+++ b/deps/npm/docs/content/commands/npm-ls.md
@@ -91,6 +91,9 @@ upon by the current project.
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`
diff --git a/deps/npm/docs/content/commands/npm-org.md b/deps/npm/docs/content/commands/npm-org.md
index e6df560acfba36..269f5cc3ee5b88 100644
--- a/deps/npm/docs/content/commands/npm-org.md
+++ b/deps/npm/docs/content/commands/npm-org.md
@@ -87,6 +87,9 @@ password, npm will prompt on the command line for one.
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`
diff --git a/deps/npm/docs/content/commands/npm-outdated.md b/deps/npm/docs/content/commands/npm-outdated.md
index bc9263d7aeda73..40e5feafd4cc61 100644
--- a/deps/npm/docs/content/commands/npm-outdated.md
+++ b/deps/npm/docs/content/commands/npm-outdated.md
@@ -104,6 +104,9 @@ upon by the current project.
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`
diff --git a/deps/npm/docs/content/commands/npm-pack.md b/deps/npm/docs/content/commands/npm-pack.md
index 95070262784378..cd4a175919e7eb 100644
--- a/deps/npm/docs/content/commands/npm-pack.md
+++ b/deps/npm/docs/content/commands/npm-pack.md
@@ -34,6 +34,9 @@ Note: This is NOT honored by other network related commands, eg `dist-tags`,
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`
diff --git a/deps/npm/docs/content/commands/npm-pkg.md b/deps/npm/docs/content/commands/npm-pkg.md
new file mode 100644
index 00000000000000..78b13cf9e9a000
--- /dev/null
+++ b/deps/npm/docs/content/commands/npm-pkg.md
@@ -0,0 +1,245 @@
+---
+title: npm-pkg
+section: 1
+description: Manages your package.json
+---
+
+### Synopsis
+
+```bash
+npm pkg get [ [. ...]]
+npm pkg set = [.= ...]
+npm pkg delete [. ...]
+```
+
+### 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 `packge.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`](/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
+ ```
+
+* `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
+ ```
+
+### Workspaces support
+
+You can set/get/delete items across your configured workspaces by using the
+`workspace` or `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`
+
+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 to selecting all of the
+ nested workspaces)
+
+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: false
+* Type: Boolean
+
+Enable running a command in the context of **all** the configured
+workspaces.
+
+This value is not exported to the environment for child processes.
+
+
+## See Also
+
+* [npm install](/commands/npm-install)
+* [npm init](/commands/npm-init)
+* [npm config](/commands/npm-config)
+* [npm set-script](/commands/npm-set-script)
+* [workspaces](/using-npm/workspaces)
diff --git a/deps/npm/docs/content/commands/npm-profile.md b/deps/npm/docs/content/commands/npm-profile.md
index 63aa46540d32d5..079440d7858153 100644
--- a/deps/npm/docs/content/commands/npm-profile.md
+++ b/deps/npm/docs/content/commands/npm-profile.md
@@ -91,6 +91,9 @@ The base URL of the npm registry.
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`
diff --git a/deps/npm/docs/content/commands/npm-prune.md b/deps/npm/docs/content/commands/npm-prune.md
index ecb6bdcd6cb148..d9b5b068f7a4b3 100644
--- a/deps/npm/docs/content/commands/npm-prune.md
+++ b/deps/npm/docs/content/commands/npm-prune.md
@@ -75,6 +75,9 @@ Note: This is NOT honored by other network related commands, eg `dist-tags`,
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`
diff --git a/deps/npm/docs/content/commands/npm-search.md b/deps/npm/docs/content/commands/npm-search.md
index 08c955e64b5554..e30287635b56f6 100644
--- a/deps/npm/docs/content/commands/npm-search.md
+++ b/deps/npm/docs/content/commands/npm-search.md
@@ -55,6 +55,9 @@ Show extended information in `ls`, `search`, and `help-search`.
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`
diff --git a/deps/npm/docs/content/commands/npm-team.md b/deps/npm/docs/content/commands/npm-team.md
index 31b09c7ce22b75..c7d5defcc63c1d 100644
--- a/deps/npm/docs/content/commands/npm-team.md
+++ b/deps/npm/docs/content/commands/npm-team.md
@@ -138,6 +138,9 @@ Output parseable results from commands that write to standard output. For
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.
diff --git a/deps/npm/docs/content/commands/npm-unpublish.md b/deps/npm/docs/content/commands/npm-unpublish.md
index bc8fbc7a53b3d4..82779ab65938c9 100644
--- a/deps/npm/docs/content/commands/npm-unpublish.md
+++ b/deps/npm/docs/content/commands/npm-unpublish.md
@@ -82,6 +82,7 @@ mistakes, unnecessary performance degradation, and malicious input.
* 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`
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!
diff --git a/deps/npm/docs/content/commands/npm-update.md b/deps/npm/docs/content/commands/npm-update.md
index 4c9271c6633c3a..c4f7694e19a81d 100644
--- a/deps/npm/docs/content/commands/npm-update.md
+++ b/deps/npm/docs/content/commands/npm-update.md
@@ -15,7 +15,9 @@ aliases: up, upgrade
### Description
This command will update all the packages listed to the latest version
-(specified by the `tag` config), respecting semver.
+(specified by the `tag` config), respecting the semver constraints of
+both your package and its dependencies (if they also require the same
+package).
It will also install missing packages.
@@ -101,6 +103,39 @@ Then `npm update` will install `dep1@0.4.1`, because that is the highest-sorting
version that satisfies `^0.4.0` (`>= 0.4.0 <0.5.0`)
+#### Subdependencies
+
+Suppose your app now also has a dependency on `dep2`
+
+```json
+{
+ "name": "my-app",
+ "dependencies": {
+ "dep1": "^1.0.0",
+ "dep2": "1.0.0"
+ }
+}
+```
+
+and `dep2` itself depends on this limited range of `dep1`
+
+```json
+{
+"name": "dep2",
+ "dependencies": {
+ "dep1": "~1.1.1"
+ }
+}
+```
+
+Then `npm update` will install `dep1@1.1.2` because that is the highest
+version that `dep2` allows. npm will prioritize having a single version
+of `dep1` in your tree rather than two when that single version can
+satisfy the semver requirements of multiple dependencies in your tree.
+In this case if you really did need your package to use a newer version
+you would need to use `npm install`.
+
+
#### Updating Globally-Installed Packages
`npm update -g` will apply the `update` action to each globally installed
@@ -220,9 +255,10 @@ will *not* run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside `npm install` runs to the default
-registry and all registries configured for scopes. See the documentation for
-[`npm audit`](/commands/npm-audit) for details on what is submitted.
+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`](/commands/npm-audit) for details on what is
+submitted.
#### `bin-links`
diff --git a/deps/npm/docs/content/commands/npm-version.md b/deps/npm/docs/content/commands/npm-version.md
index d24207d1e7e341..a3e34153a06da8 100644
--- a/deps/npm/docs/content/commands/npm-version.md
+++ b/deps/npm/docs/content/commands/npm-version.md
@@ -47,6 +47,9 @@ Tag the commit when using the `npm version` command.
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.
#### `preid`
diff --git a/deps/npm/docs/content/commands/npm-view.md b/deps/npm/docs/content/commands/npm-view.md
index 8cbd3267b4bf05..b3d5df86e34a40 100644
--- a/deps/npm/docs/content/commands/npm-view.md
+++ b/deps/npm/docs/content/commands/npm-view.md
@@ -49,7 +49,7 @@ npm view opts@$(npm view ronn dependencies.opts)
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 names for the `express` package, you would run:
+the contributor email addresses for the `express` package, you would run:
```bash
npm view express contributors.email
@@ -105,6 +105,9 @@ npm view connect versions
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`
diff --git a/deps/npm/docs/content/configuring-npm/folders.md b/deps/npm/docs/content/configuring-npm/folders.md
index 75e31cd733161f..218870765b2625 100644
--- a/deps/npm/docs/content/configuring-npm/folders.md
+++ b/deps/npm/docs/content/configuring-npm/folders.md
@@ -45,14 +45,16 @@ Global installs on Windows go to `{prefix}/node_modules` (that is, no
Scoped packages are installed the same way, except they are grouped together
in a sub-folder of the relevant `node_modules` folder with the name of that
scope prefix by the @ symbol, e.g. `npm install @myorg/package` would place
-the package in `{prefix}/node_modules/@myorg/package`. See [`scope`](/using-npm/scope) for more details.
+the package in `{prefix}/node_modules/@myorg/package`. See
+[`scope`](/using-npm/scope) for more details.
If you wish to `require()` a package, then install it locally.
#### Executables
When in global mode, executables are linked into `{prefix}/bin` on Unix,
-or directly into `{prefix}` on Windows.
+or directly into `{prefix}` on Windows. Ensure that path is in your
+terminal's `PATH` environment to run them.
When in local mode, executables are linked into
`./node_modules/.bin` so that they can be made available to scripts run
diff --git a/deps/npm/docs/content/configuring-npm/package-json.md b/deps/npm/docs/content/configuring-npm/package-json.md
index 5cacf68ba175f9..0fc5dc5075ee3c 100644
--- a/deps/npm/docs/content/configuring-npm/package-json.md
+++ b/deps/npm/docs/content/configuring-npm/package-json.md
@@ -341,9 +341,12 @@ install into the PATH. npm makes this pretty easy (in fact, it uses this
feature to install the "npm" executable.)
To use this, supply a `bin` field in your package.json which is a map of
-command name to local file name. On install, npm will symlink that file
-into `prefix/bin` for global installs, or `./node_modules/.bin/` for local
-installs.
+command name to local file name. When this package is installed
+globally, that file will be linked where global bins go so it is
+available to run by name. When this package is installed as a
+dependency in another package, the file will be linked where it will be
+available to that package either directly by `npm exec` or by name in other
+scripts when invoking them via `npm run-script`.
For example, myapp could have this:
@@ -388,6 +391,9 @@ executable!
Note that you can also set the executable files using [directories.bin](#directoriesbin).
+See [folders](/configuring-npm/folders#executables) for more info on
+executables.
+
### man
Specify either a single file or an array of filenames to put in place for
diff --git a/deps/npm/docs/content/using-npm/config.md b/deps/npm/docs/content/using-npm/config.md
index 1036895101fcc1..c4d1afed35cc8b 100644
--- a/deps/npm/docs/content/using-npm/config.md
+++ b/deps/npm/docs/content/using-npm/config.md
@@ -67,6 +67,7 @@ The following shorthands are parsed on the command-line:
* `--desc`: `--description`
* `-f`: `--force`
* `-g`: `--global`
+* `-L`: `--location`
* `-d`: `--loglevel info`
* `-s`: `--loglevel silent`
* `--silent`: `--loglevel silent`
@@ -170,9 +171,10 @@ to the same value as the current version.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside `npm install` runs to the default
-registry and all registries configured for scopes. See the documentation for
-[`npm audit`](/commands/npm-audit) for details on what is submitted.
+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`](/commands/npm-audit) for details on what is
+submitted.
#### `audit-level`
@@ -495,6 +497,7 @@ mistakes, unnecessary performance degradation, and malicious input.
* 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`
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!
@@ -694,6 +697,9 @@ number, if not already set in package.json.
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.
#### `key`
@@ -753,6 +759,14 @@ Used with `npm ls`, limiting output to only those packages that are linked.
The IP address of the local interface to use when making connections to the
npm registry. Must be IPv4 in versions of Node prior to 0.12.
+#### `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.
+
#### `loglevel`
* Default: "notice"
diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md
index 8df9660ca8f4cd..8fd5c5c0dbc9d8 100644
--- a/deps/npm/docs/content/using-npm/scripts.md
+++ b/deps/npm/docs/content/using-npm/scripts.md
@@ -54,7 +54,8 @@ situations. These scripts happen in addition to the `pre`, `post`,
the prepare script will be run, before the package is packaged and
installed.
-* As of `npm@7` these scripts run in the background
+* As of `npm@7` these scripts run in the background.
+ To see the output, run with: `--foreground-scripts`.
**prepublish** (DEPRECATED)
* Does not run during `npm publish`, but does run during `npm ci`
@@ -303,8 +304,8 @@ Scripts are run by passing the line as a script argument to `sh`.
If the script exits with a code other than 0, then this will abort the
process.
-Note that these script files don't have to be nodejs or even
-javascript programs. They just have to be some kind of executable
+Note that these script files don't have to be Node.js or even
+JavaScript programs. They just have to be some kind of executable
file.
### Best Practices
diff --git a/deps/npm/docs/content/using-npm/workspaces.md b/deps/npm/docs/content/using-npm/workspaces.md
index 829168864abe45..7cc125b3c7a7cc 100644
--- a/deps/npm/docs/content/using-npm/workspaces.md
+++ b/deps/npm/docs/content/using-npm/workspaces.md
@@ -37,7 +37,7 @@ Workspaces are usually defined via the `workspaces` property of the
Given the above `package.json` example living at a current working
directory `.` that contains a folder named `workspace-a` that itself contains
-a `package.json` inside it, defining a nodejs package, e.g:
+a `package.json` inside it, defining a Node.js package, e.g:
```
.
diff --git a/deps/npm/docs/output/commands/npm-audit.html b/deps/npm/docs/output/commands/npm-audit.html
index a1c58d89633742..5cffb546dc721c 100644
--- a/deps/npm/docs/output/commands/npm-audit.html
+++ b/deps/npm/docs/output/commands/npm-audit.html
@@ -309,6 +309,7 @@ force
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
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!
@@ -318,6 +319,10 @@ json
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
|