Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorGar <gar+gh@danger.computer>2021-07-28 01:38:07 +0300
committerLuke Karrys <luke@lukekarrys.com>2021-09-30 23:35:23 +0300
commitf17dfa0ced7d8df9bb7baf378bb20d33175c8e8b (patch)
tree68ddb44f93c8f139e8cb592340a1612e608c65a6 /docs
parent8349c3c1557ac52973ad08c10db492e3a5a30204 (diff)
feat(workspaces): --include-workspace-root
Adds a new config item that includes the workspace root when running non-arborist commands (i.e. repo, version, publish). Arborist will need to be udpated to look for this flag to change its behavior to include the workspace root for its functions. This also changes --workspaces to a trinary, so that setting it to false will explicitly exclude workspaces altogether. This is also going to require an arborist change so that it ignores workspaces altogether. Co-author: @fritzy PR-URL: https://github.com/npm/cli/pull/3816 Credit: @isaacs Close: #3816 Reviewed-by: @wraithgar
Diffstat (limited to 'docs')
-rw-r--r--docs/content/commands/npm-audit.md32
-rw-r--r--docs/content/commands/npm-dedupe.md32
-rw-r--r--docs/content/commands/npm-diff.md32
-rw-r--r--docs/content/commands/npm-dist-tag.md32
-rw-r--r--docs/content/commands/npm-docs.md32
-rw-r--r--docs/content/commands/npm-exec.md32
-rw-r--r--docs/content/commands/npm-explain.md4
-rw-r--r--docs/content/commands/npm-find-dupes.md32
-rw-r--r--docs/content/commands/npm-fund.md4
-rw-r--r--docs/content/commands/npm-init.md18
-rw-r--r--docs/content/commands/npm-install-test.md32
-rw-r--r--docs/content/commands/npm-install.md32
-rw-r--r--docs/content/commands/npm-link.md32
-rw-r--r--docs/content/commands/npm-ls.md32
-rw-r--r--docs/content/commands/npm-outdated.md4
-rw-r--r--docs/content/commands/npm-pack.md32
-rw-r--r--docs/content/commands/npm-pkg.md18
-rw-r--r--docs/content/commands/npm-prune.md32
-rw-r--r--docs/content/commands/npm-publish.md32
-rw-r--r--docs/content/commands/npm-rebuild.md32
-rw-r--r--docs/content/commands/npm-repo.md32
-rw-r--r--docs/content/commands/npm-run-script.md32
-rw-r--r--docs/content/commands/npm-set-script.md32
-rw-r--r--docs/content/commands/npm-uninstall.md32
-rw-r--r--docs/content/commands/npm-unpublish.md18
-rw-r--r--docs/content/commands/npm-update.md32
-rw-r--r--docs/content/commands/npm-version.md32
-rw-r--r--docs/content/commands/npm-view.md32
-rw-r--r--docs/content/using-npm/config.md32
29 files changed, 666 insertions, 136 deletions
diff --git a/docs/content/commands/npm-audit.md b/docs/content/commands/npm-audit.md
index 9fa8c0fcc..58c614d79 100644
--- a/docs/content/commands/npm-audit.md
+++ b/docs/content/commands/npm-audit.md
@@ -313,8 +313,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -327,17 +327,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-dedupe.md b/docs/content/commands/npm-dedupe.md
index dcb2a98fe..377e17d81 100644
--- a/docs/content/commands/npm-dedupe.md
+++ b/docs/content/commands/npm-dedupe.md
@@ -247,8 +247,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -261,17 +261,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-diff.md b/docs/content/commands/npm-diff.md
index cf0bbec15..8d05df779 100644
--- a/docs/content/commands/npm-diff.md
+++ b/docs/content/commands/npm-diff.md
@@ -286,8 +286,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -300,17 +300,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
## See Also
diff --git a/docs/content/commands/npm-dist-tag.md b/docs/content/commands/npm-dist-tag.md
index 4ad68ff56..a4e0243aa 100644
--- a/docs/content/commands/npm-dist-tag.md
+++ b/docs/content/commands/npm-dist-tag.md
@@ -106,8 +106,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -120,17 +120,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-docs.md b/docs/content/commands/npm-docs.md
index 9f1387dae..970d17aa8 100644
--- a/docs/content/commands/npm-docs.md
+++ b/docs/content/commands/npm-docs.md
@@ -63,8 +63,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -77,17 +77,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-exec.md b/docs/content/commands/npm-exec.md
index 82908d65e..db2353662 100644
--- a/docs/content/commands/npm-exec.md
+++ b/docs/content/commands/npm-exec.md
@@ -164,8 +164,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -178,17 +178,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### Examples
diff --git a/docs/content/commands/npm-explain.md b/docs/content/commands/npm-explain.md
index 4a8af2f70..5f05cac0f 100644
--- a/docs/content/commands/npm-explain.md
+++ b/docs/content/commands/npm-explain.md
@@ -85,8 +85,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
diff --git a/docs/content/commands/npm-find-dupes.md b/docs/content/commands/npm-find-dupes.md
index e9dbac6d1..f7dc84f9c 100644
--- a/docs/content/commands/npm-find-dupes.md
+++ b/docs/content/commands/npm-find-dupes.md
@@ -174,8 +174,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -188,17 +188,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-fund.md b/docs/content/commands/npm-fund.md
index 83c0b13d8..606b0a188 100644
--- a/docs/content/commands/npm-fund.md
+++ b/docs/content/commands/npm-fund.md
@@ -122,8 +122,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
diff --git a/docs/content/commands/npm-init.md b/docs/content/commands/npm-init.md
index 7355c7588..d5a02494f 100644
--- a/docs/content/commands/npm-init.md
+++ b/docs/content/commands/npm-init.md
@@ -200,8 +200,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -214,12 +214,20 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
diff --git a/docs/content/commands/npm-install-test.md b/docs/content/commands/npm-install-test.md
index c2f9ab3d2..c464e5bd0 100644
--- a/docs/content/commands/npm-install-test.md
+++ b/docs/content/commands/npm-install-test.md
@@ -241,8 +241,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -255,17 +255,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-install.md b/docs/content/commands/npm-install.md
index de7378718..a103845d1 100644
--- a/docs/content/commands/npm-install.md
+++ b/docs/content/commands/npm-install.md
@@ -625,8 +625,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -639,17 +639,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### Algorithm
diff --git a/docs/content/commands/npm-link.md b/docs/content/commands/npm-link.md
index 5811a8b23..d4ef41ae9 100644
--- a/docs/content/commands/npm-link.md
+++ b/docs/content/commands/npm-link.md
@@ -325,8 +325,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -339,17 +339,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-ls.md b/docs/content/commands/npm-ls.md
index 528140bee..3b33f0a36 100644
--- a/docs/content/commands/npm-ls.md
+++ b/docs/content/commands/npm-ls.md
@@ -227,8 +227,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -241,17 +241,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-outdated.md b/docs/content/commands/npm-outdated.md
index 8eb5528c3..1b58a6afd 100644
--- a/docs/content/commands/npm-outdated.md
+++ b/docs/content/commands/npm-outdated.md
@@ -167,8 +167,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
diff --git a/docs/content/commands/npm-pack.md b/docs/content/commands/npm-pack.md
index dda30512d..539459868 100644
--- a/docs/content/commands/npm-pack.md
+++ b/docs/content/commands/npm-pack.md
@@ -69,8 +69,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -83,17 +83,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### Description
diff --git a/docs/content/commands/npm-pkg.md b/docs/content/commands/npm-pkg.md
index bf6a2df5d..beee9c1c4 100644
--- a/docs/content/commands/npm-pkg.md
+++ b/docs/content/commands/npm-pkg.md
@@ -223,8 +223,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -237,12 +237,20 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
diff --git a/docs/content/commands/npm-prune.md b/docs/content/commands/npm-prune.md
index 7bd7ad131..658ab2610 100644
--- a/docs/content/commands/npm-prune.md
+++ b/docs/content/commands/npm-prune.md
@@ -103,8 +103,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -117,17 +117,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-publish.md b/docs/content/commands/npm-publish.md
index 946109de4..6958b1066 100644
--- a/docs/content/commands/npm-publish.md
+++ b/docs/content/commands/npm-publish.md
@@ -188,8 +188,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -202,17 +202,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-rebuild.md b/docs/content/commands/npm-rebuild.md
index 19684796f..75e71c60e 100644
--- a/docs/content/commands/npm-rebuild.md
+++ b/docs/content/commands/npm-rebuild.md
@@ -89,8 +89,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -103,17 +103,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-repo.md b/docs/content/commands/npm-repo.md
index c3c509e0b..cd47fde47 100644
--- a/docs/content/commands/npm-repo.md
+++ b/docs/content/commands/npm-repo.md
@@ -50,8 +50,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -64,17 +64,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-run-script.md b/docs/content/commands/npm-run-script.md
index e436bc27f..6dd602d03 100644
--- a/docs/content/commands/npm-run-script.md
+++ b/docs/content/commands/npm-run-script.md
@@ -152,8 +152,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -166,17 +166,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
#### `if-present`
* Default: false
diff --git a/docs/content/commands/npm-set-script.md b/docs/content/commands/npm-set-script.md
index e39b7a18c..869ceede0 100644
--- a/docs/content/commands/npm-set-script.md
+++ b/docs/content/commands/npm-set-script.md
@@ -44,8 +44,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -58,17 +58,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-uninstall.md b/docs/content/commands/npm-uninstall.md
index c04e1a7fd..824d0d876 100644
--- a/docs/content/commands/npm-uninstall.md
+++ b/docs/content/commands/npm-uninstall.md
@@ -85,8 +85,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -99,17 +99,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-unpublish.md b/docs/content/commands/npm-unpublish.md
index 1678bb305..13589a03e 100644
--- a/docs/content/commands/npm-unpublish.md
+++ b/docs/content/commands/npm-unpublish.md
@@ -107,8 +107,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -121,12 +121,20 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
diff --git a/docs/content/commands/npm-update.md b/docs/content/commands/npm-update.md
index 57b9b91f9..ad02118e4 100644
--- a/docs/content/commands/npm-update.md
+++ b/docs/content/commands/npm-update.md
@@ -341,8 +341,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -355,17 +355,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/docs/content/commands/npm-version.md b/docs/content/commands/npm-version.md
index a02bf5bb9..91ab0dee0 100644
--- a/docs/content/commands/npm-version.md
+++ b/docs/content/commands/npm-version.md
@@ -103,8 +103,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -117,17 +117,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### Description
diff --git a/docs/content/commands/npm-view.md b/docs/content/commands/npm-view.md
index af354deb8..9a1793f13 100644
--- a/docs/content/commands/npm-view.md
+++ b/docs/content/commands/npm-view.md
@@ -127,8 +127,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -141,17 +141,39 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### Output
diff --git a/docs/content/using-npm/config.md b/docs/content/using-npm/config.md
index 10e8ca9b9..647a9e1e0 100644
--- a/docs/content/using-npm/config.md
+++ b/docs/content/using-npm/config.md
@@ -806,6 +806,20 @@ This is experimental, and not implemented by the npm public registry.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `include-workspace-root`
+
+* Default: false
+* Type: Boolean
+
+Include the workspace root when workspaces are enabled for a command.
+
+When false, specifying individual workspaces via the `workspace` config, or
+all workspaces via the `workspaces` flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
#### `init-author-email`
* Default: ""
@@ -1744,8 +1758,8 @@ 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)
+* Path to a parent workspace directory (will result in selecting all
+ workspaces within that folder)
When set for the `npm init` command, this may be set to the folder of a
workspace which does not yet exist, to create the folder and set it up as a
@@ -1758,12 +1772,20 @@ This value is not exported to the environment for child processes.
#### `workspaces`
-* Default: false
-* Type: Boolean
+* Default: null
+* Type: null or Boolean
-Enable running a command in the context of **all** the configured
+Set to true to run the command in the context of **all** configured
workspaces.
+Explicitly setting this to false will cause commands like `install` to
+ignore workspaces altogether. When not set explicitly:
+
+- Commands that operate on the `node_modules` tree (install, update, etc.)
+will link workspaces into the `node_modules` folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+_unless_ one or more workspaces are specified in the `workspace` config.
+
This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->