Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as
-necessary within directory structure. nested: (formerly
---legacy-bundling) install in place, no hoisting. shallow (formerly
---global-style) only install direct deps at top-level. linked:
-(experimental) install in node_modules/.store, link in place,
-unhoisted.
+(default): Install non-duplicated in top-level, and duplicated as necessary
+within directory structure. nested: (formerly --legacy-bundling) install in
+place, no hoisting. shallow (formerly --global-style) only install direct
+deps at top-level. linked: (experimental) install in node_modules/.store,
+link in place, unhoisted.
When such an override is performed, a warning is printed, explaining
-the conflict and the packages involved. If --strict-peer-deps is
-set, then this warning is treated as a failure.
+conflicting When such an override is performed, a warning is printed, explaining the
+conflict and the packages involved. If --strict-peer-deps is set, then
+this warning is treated as a failure.
Include the workspace root when workspaces are enabled for a command.
-This value is not exported to the environment for child processes.
When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+If you ask npm to install a package and don't tell it a specific
-version, then it will install the specified tag.
+If you ask npm to install a package and don't tell it a specific version,
+then it will install the specified tag.
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.
+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.
This value is not exported to the environment for child processes.
This value is not exported to the environment for child processes.
Include the workspace root when workspaces are enabled for a command.
-This value is not exported to the environment for child processes.
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.
+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.
This value is not exported to the environment for child processes.
This value is not exported to the environment for child processes.
Include the workspace root when workspaces are enabled for a command.
-This value is not exported to the environment for child processes.
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.
+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.
This value is not exported to the environment for child processes.
This value is not exported to the environment for child processes.
Include the workspace root when workspaces are enabled for a command.
-This value is not exported to the environment for child processes.
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.
+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.
This value is not exported to the environment for child processes.
This value is not exported to the environment for child processes.
Include the workspace root when workspaces are enabled for a command.
-This value is not exported to the environment for child processes.
-
+
npm-explain
- @11.6.2
+ @11.6.3
Explain installed packages
@@ -194,8 +194,8 @@ 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.
+- 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
@@ -203,9 +203,9 @@ 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.
+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
@@ -213,9 +213,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+When set for the npm init command, this may be set to the folder of a
+workspace which does not yet exist, to create the folder and set it up as a
+brand new workspace within the project.
This value is not exported to the environment for child processes.
See Also
Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as
-necessary within directory structure. nested: (formerly
---legacy-bundling) install in place, no hoisting. shallow (formerly
---global-style) only install direct deps at top-level. linked:
-(experimental) install in node_modules/.store, link in place,
-unhoisted.
+(default): Install non-duplicated in top-level, and duplicated as necessary
+within directory structure. nested: (formerly --legacy-bundling) install in
+place, no hoisting. shallow (formerly --global-style) only install direct
+deps at top-level. linked: (experimental) install in node_modules/.store,
+link in place, unhoisted.
legacy-bundling
- Default: false
@@ -178,10 +177,10 @@ legacy-bundling
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=nested
-Instead of hoisting package installs in node_modules, install
-packages in the same manner that they are depended on. This may cause
-very deep directory structures and duplicate package installs as
-there is no de-duplicating. Sets --install-strategy=nested.
+Instead of hoisting package installs in node_modules, install packages in
+the same manner that they are depended on. This may cause very deep
+directory structures and duplicate package installs as there is no
+de-duplicating. Sets --install-strategy=nested.
global-style
- Default: false
@@ -189,33 +188,31 @@ global-style
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=shallow
-Only install direct dependencies in the top level node_modules, but
-hoist on deeper dependencies. Sets --install-strategy=shallow.
+Only install direct dependencies in the top level node_modules, but hoist
+on deeper dependencies. Sets --install-strategy=shallow.
strict-peer-deps
- Default: false
- Type: Boolean
If set to true, and --legacy-peer-deps is not set, then any
-conflicting peerDependencies will be treated as an install failure,
-even if npm could reasonably guess the appropriate resolution based
-on non-peer dependency relationships.
-By default, conflicting peerDependencies deep in the dependency
-graph will be resolved using the nearest non-peer dependency
-specification, even if doing so will result in some packages
-receiving a peer dependency outside the range set in their package's
-peerDependencies object.
-When such an override is performed, a warning is printed, explaining
-the conflict and the packages involved. If --strict-peer-deps is
-set, then this warning is treated as a failure.
+conflicting peerDependencies will be treated as an install failure, even
+if npm could reasonably guess the appropriate resolution based on non-peer
+dependency relationships.
+By default, conflicting peerDependencies deep in the dependency graph will
+be resolved using the nearest non-peer dependency specification, even if
+doing so will result in some packages receiving a peer dependency outside
+the range set in their package's peerDependencies object.
+When such an override is performed, a warning is printed, explaining the
+conflict and the packages involved. If --strict-peer-deps is set, then
+this warning is treated as a failure.
package-lock
- Default: true
- Type: Boolean
-If set to false, then ignore package-lock.json files when
-installing. This will also prevent writing package-lock.json if
-save is true.
+If set to false, then ignore package-lock.json files when installing. This
+will also prevent writing package-lock.json if save is true.
omit
- Default: 'dev' if the
NODE_ENV environment variable is set to
@@ -226,41 +223,38 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
include
- Default:
-- Type: "prod", "dev", "optional", or "peer" (can be set multiple
-times)
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-Option that allows for defining which types of dependencies to
-install.
+Option that allows for defining which types of dependencies to install.
This is the inverse of --omit=<type>.
-Dependency types specified in --include will not be omitted,
-regardless of the order in which omit/include are specified on the
-command-line.
+Dependency types specified in --include will not be omitted, regardless of
+the order in which omit/include are specified on the command-line.
ignore-scripts
- Default: false
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
audit
- Default: true
- Type: Boolean
-When "true" submit audit reports alongside the current npm command to
-the default registry and all registries configured for scopes. See
-the documentation for npm audit 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 for details on what is
+submitted.
bin-links
- Default: true
@@ -268,25 +262,24 @@ bin-links
Tells npm to create symlinks (or .cmd shims on Windows) for package
executables.
-Set to false to have it not do this. This can be used to work around
-the fact that some file systems don't support symlinks, even on
-ostensibly Unix systems.
+Set to false to have it not do this. This can be used to work around the
+fact that some file systems don't support symlinks, even on ostensibly Unix
+systems.
fund
- Default: true
- Type: Boolean
When "true" displays the message at the end of each npm install
-acknowledging the number of dependencies looking for funding. See
-npm fund for details.
+acknowledging the number of dependencies looking for funding. See npm fund for details.
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -294,9 +287,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -305,14 +298,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -321,19 +313,18 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
See Also
- npm dedupe
diff --git a/deps/npm/docs/output/commands/npm-fund.html b/deps/npm/docs/output/commands/npm-fund.html
index b50ef08583fb2b..5608c295c2ad26 100644
--- a/deps/npm/docs/output/commands/npm-fund.html
+++ b/deps/npm/docs/output/commands/npm-fund.html
@@ -141,9 +141,9 @@
-
+
npm-fund
- @11.6.2
+ @11.6.3
Retrieve funding information
@@ -195,8 +195,8 @@ 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.
+- 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
@@ -210,21 +210,20 @@ browser
Set to true to use default system URL opener.
unicode
-- Default: false on windows, true on mac/unix systems with a unicode
-locale, as defined by the
LC_ALL, LC_CTYPE, or LANG environment
-variables.
+- Default: false on windows, true on mac/unix systems with a unicode locale,
+as defined by the
LC_ALL, LC_CTYPE, or LANG environment variables.
- Type: Boolean
-When set to true, npm uses unicode characters in the tree output.
-When false, it uses ascii characters instead of unicode glyphs.
+When set to true, npm uses unicode characters in the tree output. When
+false, it uses ascii characters instead of unicode glyphs.
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -232,17 +231,16 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+When set for the npm init command, this may be set to the folder of a
+workspace which does not yet exist, to create the folder and set it up as a
+brand new workspace within the project.
This value is not exported to the environment for child processes.
which
- Default: null
- Type: null or Number
-If there are multiple funding sources, which 1-indexed source URL to
-open.
+If there are multiple funding sources, which 1-indexed source URL to open.
See Also
- package spec
diff --git a/deps/npm/docs/output/commands/npm-help-search.html b/deps/npm/docs/output/commands/npm-help-search.html
index 302450849aa5bb..38715599a43535 100644
--- a/deps/npm/docs/output/commands/npm-help-search.html
+++ b/deps/npm/docs/output/commands/npm-help-search.html
@@ -141,9 +141,9 @@
-
+
npm-help-search
- @11.6.2
+ @11.6.3
Search npm help documentation
diff --git a/deps/npm/docs/output/commands/npm-help.html b/deps/npm/docs/output/commands/npm-help.html
index fcf951538a0cbc..a45b70b65b74b8 100644
--- a/deps/npm/docs/output/commands/npm-help.html
+++ b/deps/npm/docs/output/commands/npm-help.html
@@ -141,9 +141,9 @@
-
+
npm-help
- @11.6.2
+ @11.6.3
Get help on npm
@@ -170,8 +170,7 @@ viewer
- Type: String
The program to use to view help content.
-Set to "browser" to view html help content in the default web
-browser.
+Set to "browser" to view html help content in the default web browser.
See Also
- npm
diff --git a/deps/npm/docs/output/commands/npm-init.html b/deps/npm/docs/output/commands/npm-init.html
index a614375240ac91..7ca120139e16c4 100644
--- a/deps/npm/docs/output/commands/npm-init.html
+++ b/deps/npm/docs/output/commands/npm-init.html
@@ -141,9 +141,9 @@
-
+
npm-init
- @11.6.2
+ @11.6.3
Create a package.json file
@@ -248,8 +248,7 @@ init-author-name
- Default: ""
- Type: String
-The value npm init should use by default for the package author's
-name.
+The value npm init should use by default for the package author's name.
init-author-url
- Default: ""
@@ -270,29 +269,28 @@ init-module
A module that will be loaded by the npm init command. See the
documentation for the
-init-package-json module
-for more information, or npm init.
+init-package-json module for
+more information, or npm init.
init-type
- Default: "commonjs"
- Type: String
-The value that npm init should use by default for the package.json
-type field.
+The value that npm init should use by default for the package.json type
+field.
init-version
- Default: "1.0.0"
- Type: SemVer string
-The value that npm init should use by default for the package
-version number, if not already set in package.json.
+The value that npm init should use by default for the package version
+number, if not already set in package.json.
init-private
- Default: false
- Type: Boolean
-The value npm init should use by default for the package's private
-flag.
+The value npm init should use by default for the package's private flag.
yes
- Default: null
@@ -311,16 +309,14 @@ force
- 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 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.
+- Allow conflicting peerDependencies to be installed in the root project.
- Implicitly set
--yes during npm init.
- Allow clobbering existing values in
npm pkg
- Allow unpublishing of entire packages (not just a single version).
@@ -353,9 +349,9 @@ 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.
+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
@@ -363,9 +359,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -374,14 +370,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
workspaces-update
@@ -389,19 +384,17 @@ workspaces-update
Default: true
Type: Boolean
-If set to true, the npm cli will run an update after operations that
-may possibly change the workspaces installed to the node_modules
-folder.
+If set to true, the npm cli will run an update after operations that may
+possibly change the workspaces installed to the node_modules folder.
include-workspace-root
- Default: false
- Type: Boolean
Include the workspace root when workspaces are enabled for a command.
-When false, specifying individual workspaces via the workspace
-config, or all workspaces via the workspaces flag, will cause npm
-to operate only on the specified workspaces, and not on the root
-project.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
See Also
diff --git a/deps/npm/docs/output/commands/npm-install-ci-test.html b/deps/npm/docs/output/commands/npm-install-ci-test.html
index 5ce09186ea55cd..87ab6df8202828 100644
--- a/deps/npm/docs/output/commands/npm-install-ci-test.html
+++ b/deps/npm/docs/output/commands/npm-install-ci-test.html
@@ -141,9 +141,9 @@
-
+
npm-install-ci-test
- @11.6.2
+ @11.6.3
Install a project with a clean slate and run tests
@@ -167,12 +167,11 @@ install-strategy
- Type: "hoisted", "nested", "shallow", or "linked"
Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as
-necessary within directory structure. nested: (formerly
---legacy-bundling) install in place, no hoisting. shallow (formerly
---global-style) only install direct deps at top-level. linked:
-(experimental) install in node_modules/.store, link in place,
-unhoisted.
+(default): Install non-duplicated in top-level, and duplicated as necessary
+within directory structure. nested: (formerly --legacy-bundling) install in
+place, no hoisting. shallow (formerly --global-style) only install direct
+deps at top-level. linked: (experimental) install in node_modules/.store,
+link in place, unhoisted.
legacy-bundling
- Default: false
@@ -180,10 +179,10 @@ legacy-bundling
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=nested
-Instead of hoisting package installs in node_modules, install
-packages in the same manner that they are depended on. This may cause
-very deep directory structures and duplicate package installs as
-there is no de-duplicating. Sets --install-strategy=nested.
+Instead of hoisting package installs in node_modules, install packages in
+the same manner that they are depended on. This may cause very deep
+directory structures and duplicate package installs as there is no
+de-duplicating. Sets --install-strategy=nested.
global-style
- Default: false
@@ -191,8 +190,8 @@ global-style
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=shallow
-Only install direct dependencies in the top level node_modules, but
-hoist on deeper dependencies. Sets --install-strategy=shallow.
+Only install direct dependencies in the top level node_modules, but hoist
+on deeper dependencies. Sets --install-strategy=shallow.
omit
- Default: 'dev' if the
NODE_ENV environment variable is set to
@@ -203,70 +202,65 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
include
- Default:
-- Type: "prod", "dev", "optional", or "peer" (can be set multiple
-times)
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-Option that allows for defining which types of dependencies to
-install.
+Option that allows for defining which types of dependencies to install.
This is the inverse of --omit=<type>.
-Dependency types specified in --include will not be omitted,
-regardless of the order in which omit/include are specified on the
-command-line.
+Dependency types specified in --include will not be omitted, regardless of
+the order in which omit/include are specified on the command-line.
strict-peer-deps
- Default: false
- Type: Boolean
If set to true, and --legacy-peer-deps is not set, then any
-conflicting peerDependencies will be treated as an install failure,
-even if npm could reasonably guess the appropriate resolution based
-on non-peer dependency relationships.
-By default, conflicting peerDependencies deep in the dependency
-graph will be resolved using the nearest non-peer dependency
-specification, even if doing so will result in some packages
-receiving a peer dependency outside the range set in their package's
-peerDependencies object.
-When such an override is performed, a warning is printed, explaining
-the conflict and the packages involved. If --strict-peer-deps is
-set, then this warning is treated as a failure.
+conflicting peerDependencies will be treated as an install failure, even
+if npm could reasonably guess the appropriate resolution based on non-peer
+dependency relationships.
+By default, conflicting peerDependencies deep in the dependency graph will
+be resolved using the nearest non-peer dependency specification, even if
+doing so will result in some packages receiving a peer dependency outside
+the range set in their package's peerDependencies object.
+When such an override is performed, a warning is printed, explaining the
+conflict and the packages involved. If --strict-peer-deps is set, then
+this warning is treated as a failure.
foreground-scripts
-- Default:
false unless when using npm pack or npm publish where
-it defaults to true
+- Default:
false unless when using npm pack or npm publish where it
+defaults to true
- Type: Boolean
-Run all build scripts (ie, preinstall, install, and
-postinstall) scripts for installed packages in the foreground
-process, sharing standard input, output, and error with the main npm
-process.
-Note that this will generally make installs run slower, and be much
-noisier, but can be useful for debugging.
+Run all build scripts (ie, preinstall, install, and postinstall)
+scripts for installed packages in the foreground process, sharing standard
+input, output, and error with the main npm process.
+Note that this will generally make installs run slower, and be much noisier,
+but can be useful for debugging.
ignore-scripts
- Default: false
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
audit
- Default: true
- Type: Boolean
-When "true" submit audit reports alongside the current npm command to
-the default registry and all registries configured for scopes. See
-the documentation for npm audit 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 for details on what is
+submitted.
bin-links
- Default: true
@@ -274,37 +268,35 @@ bin-links
Tells npm to create symlinks (or .cmd shims on Windows) for package
executables.
-Set to false to have it not do this. This can be used to work around
-the fact that some file systems don't support symlinks, even on
-ostensibly Unix systems.
+Set to false to have it not do this. This can be used to work around the
+fact that some file systems don't support symlinks, even on ostensibly Unix
+systems.
fund
- Default: true
- Type: Boolean
When "true" displays the message at the end of each npm install
-acknowledging the number of dependencies looking for funding. See
-npm fund for details.
+acknowledging the number of dependencies looking for funding. See npm fund for details.
dry-run
- Default: false
- Type: Boolean
-Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -312,9 +304,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -323,14 +315,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -339,19 +330,18 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
See Also
-Dependencies saved to package.json will be configured with an exact
-version rather than using npm's default semver range operator.
+Dependencies saved to package.json will be configured with an exact version
+rather than using npm's default semver range operator.
global
- Default: false
- Type: Boolean
-Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -200,12 +198,11 @@ install-strategy
Type: "hoisted", "nested", "shallow", or "linked"
Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as
-necessary within directory structure. nested: (formerly
---legacy-bundling) install in place, no hoisting. shallow (formerly
---global-style) only install direct deps at top-level. linked:
-(experimental) install in node_modules/.store, link in place,
-unhoisted.
+(default): Install non-duplicated in top-level, and duplicated as necessary
+within directory structure. nested: (formerly --legacy-bundling) install in
+place, no hoisting. shallow (formerly --global-style) only install direct
+deps at top-level. linked: (experimental) install in node_modules/.store,
+link in place, unhoisted.
legacy-bundling
- Default: false
@@ -213,10 +210,10 @@ legacy-bundling
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=nested
-Instead of hoisting package installs in node_modules, install
-packages in the same manner that they are depended on. This may cause
-very deep directory structures and duplicate package installs as
-there is no de-duplicating. Sets --install-strategy=nested.
+Instead of hoisting package installs in node_modules, install packages in
+the same manner that they are depended on. This may cause very deep
+directory structures and duplicate package installs as there is no
+de-duplicating. Sets --install-strategy=nested.
global-style
- Default: false
@@ -224,8 +221,8 @@ global-style
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=shallow
-Only install direct dependencies in the top level node_modules, but
-hoist on deeper dependencies. Sets --install-strategy=shallow.
+Only install direct dependencies in the top level node_modules, but hoist
+on deeper dependencies. Sets --install-strategy=shallow.
omit
- Default: 'dev' if the
NODE_ENV environment variable is set to
@@ -236,110 +233,103 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
include
- Default:
-- Type: "prod", "dev", "optional", or "peer" (can be set multiple
-times)
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-Option that allows for defining which types of dependencies to
-install.
+Option that allows for defining which types of dependencies to install.
This is the inverse of --omit=<type>.
-Dependency types specified in --include will not be omitted,
-regardless of the order in which omit/include are specified on the
-command-line.
+Dependency types specified in --include will not be omitted, regardless of
+the order in which omit/include are specified on the command-line.
strict-peer-deps
- Default: false
- Type: Boolean
If set to true, and --legacy-peer-deps is not set, then any
-conflicting peerDependencies will be treated as an install failure,
-even if npm could reasonably guess the appropriate resolution based
-on non-peer dependency relationships.
-By default, conflicting peerDependencies deep in the dependency
-graph will be resolved using the nearest non-peer dependency
-specification, even if doing so will result in some packages
-receiving a peer dependency outside the range set in their package's
-peerDependencies object.
-When such an override is performed, a warning is printed, explaining
-the conflict and the packages involved. If --strict-peer-deps is
-set, then this warning is treated as a failure.
+conflicting peerDependencies will be treated as an install failure, even
+if npm could reasonably guess the appropriate resolution based on non-peer
+dependency relationships.
+By default, conflicting peerDependencies deep in the dependency graph will
+be resolved using the nearest non-peer dependency specification, even if
+doing so will result in some packages receiving a peer dependency outside
+the range set in their package's peerDependencies object.
+When such an override is performed, a warning is printed, explaining the
+conflict and the packages involved. If --strict-peer-deps is set, then
+this warning is treated as a failure.
prefer-dedupe
- Default: false
- Type: Boolean
-Prefer to deduplicate packages if possible, rather than choosing a
-newer version of a dependency.
+Prefer to deduplicate packages if possible, rather than choosing a newer
+version of a dependency.
package-lock
- Default: true
- Type: Boolean
-If set to false, then ignore package-lock.json files when
-installing. This will also prevent writing package-lock.json if
-save is true.
+If set to false, then ignore package-lock.json files when installing. This
+will also prevent writing package-lock.json if save is true.
package-lock-only
- Default: false
- Type: Boolean
-If set to true, the current operation will only use the
-package-lock.json, ignoring node_modules.
+If set to true, the current operation will only use the package-lock.json,
+ignoring node_modules.
For update this means only the package-lock.json will be updated,
instead of checking node_modules and downloading dependencies.
-For list this means the output will be based on the tree described
-by the package-lock.json, rather than the contents of
-node_modules.
+For list this means the output will be based on the tree described by the
+package-lock.json, rather than the contents of node_modules.
foreground-scripts
-- Default:
false unless when using npm pack or npm publish where
-it defaults to true
+- Default:
false unless when using npm pack or npm publish where it
+defaults to true
- Type: Boolean
-Run all build scripts (ie, preinstall, install, and
-postinstall) scripts for installed packages in the foreground
-process, sharing standard input, output, and error with the main npm
-process.
-Note that this will generally make installs run slower, and be much
-noisier, but can be useful for debugging.
+Run all build scripts (ie, preinstall, install, and postinstall)
+scripts for installed packages in the foreground process, sharing standard
+input, output, and error with the main npm process.
+Note that this will generally make installs run slower, and be much noisier,
+but can be useful for debugging.
ignore-scripts
- Default: false
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
audit
- Default: true
- Type: Boolean
-When "true" submit audit reports alongside the current npm command to
-the default registry and all registries configured for scopes. See
-the documentation for npm audit 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 for details on what is
+submitted.
before
- Default: null
- Type: null or Date
If passed to npm install, will rebuild the npm tree such that only
-versions that were available on or before the given date are
-installed. If there are no versions available for the current set of
-dependencies, the command will error.
-If the requested version is a dist-tag and the given tag does not
-pass the --before filter, the most recent version less than or
-equal to that tag will be used. For example, foo@latest might
-install foo@1.2 even though latest is 2.0.
+versions that were available on or before the given date are installed.
+If there are no versions available for the current set of dependencies, the
+command will error.
+If the requested version is a dist-tag and the given tag does not pass the
+--before filter, the most recent version less than or equal to that tag
+will be used. For example, foo@latest might install foo@1.2 even though
+latest is 2.0.
bin-links
- Default: true
@@ -347,59 +337,56 @@ bin-links
Tells npm to create symlinks (or .cmd shims on Windows) for package
executables.
-Set to false to have it not do this. This can be used to work around
-the fact that some file systems don't support symlinks, even on
-ostensibly Unix systems.
+Set to false to have it not do this. This can be used to work around the
+fact that some file systems don't support symlinks, even on ostensibly Unix
+systems.
fund
- Default: true
- Type: Boolean
When "true" displays the message at the end of each npm install
-acknowledging the number of dependencies looking for funding. See
-npm fund for details.
+acknowledging the number of dependencies looking for funding. See npm fund for details.
dry-run
- Default: false
- Type: Boolean
-Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
cpu
- Default: null
- Type: null or String
-Override CPU architecture of native modules to install. Acceptable
-values are same as cpu field of package.json, which comes from
-process.arch.
+Override CPU architecture of native modules to install. Acceptable values
+are same as cpu field of package.json, which comes from process.arch.
os
- Default: null
- Type: null or String
-Override OS of native modules to install. Acceptable values are same
-as os field of package.json, which comes from process.platform.
+Override OS of native modules to install. Acceptable values are same as os
+field of package.json, which comes from process.platform.
libc
- Default: null
- Type: null or String
-Override libc of native modules to install. Acceptable values are
-same as libc field of package.json
+Override libc of native modules to install. Acceptable values are same as
+libc field of package.json
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -407,9 +394,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -418,14 +405,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -434,19 +420,18 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
See Also
-Dependencies saved to package.json will be configured with an exact
-version rather than using npm's default semver range operator.
+Dependencies saved to package.json will be configured with an exact version
+rather than using npm's default semver range operator.
global
- Default: false
- Type: Boolean
-Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -456,12 +454,11 @@ install-strategy
Type: "hoisted", "nested", "shallow", or "linked"
Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as
-necessary within directory structure. nested: (formerly
---legacy-bundling) install in place, no hoisting. shallow (formerly
---global-style) only install direct deps at top-level. linked:
-(experimental) install in node_modules/.store, link in place,
-unhoisted.
+(default): Install non-duplicated in top-level, and duplicated as necessary
+within directory structure. nested: (formerly --legacy-bundling) install in
+place, no hoisting. shallow (formerly --global-style) only install direct
+deps at top-level. linked: (experimental) install in node_modules/.store,
+link in place, unhoisted.
legacy-bundling
- Default: false
@@ -469,10 +466,10 @@ legacy-bundling
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=nested
-Instead of hoisting package installs in node_modules, install
-packages in the same manner that they are depended on. This may cause
-very deep directory structures and duplicate package installs as
-there is no de-duplicating. Sets --install-strategy=nested.
+Instead of hoisting package installs in node_modules, install packages in
+the same manner that they are depended on. This may cause very deep
+directory structures and duplicate package installs as there is no
+de-duplicating. Sets --install-strategy=nested.
global-style
- Default: false
@@ -480,8 +477,8 @@ global-style
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=shallow
-Only install direct dependencies in the top level node_modules, but
-hoist on deeper dependencies. Sets --install-strategy=shallow.
+Only install direct dependencies in the top level node_modules, but hoist
+on deeper dependencies. Sets --install-strategy=shallow.
omit
- Default: 'dev' if the
NODE_ENV environment variable is set to
@@ -492,110 +489,103 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
include
- Default:
-- Type: "prod", "dev", "optional", or "peer" (can be set multiple
-times)
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-Option that allows for defining which types of dependencies to
-install.
+Option that allows for defining which types of dependencies to install.
This is the inverse of --omit=<type>.
-Dependency types specified in --include will not be omitted,
-regardless of the order in which omit/include are specified on the
-command-line.
+Dependency types specified in --include will not be omitted, regardless of
+the order in which omit/include are specified on the command-line.
strict-peer-deps
- Default: false
- Type: Boolean
If set to true, and --legacy-peer-deps is not set, then any
-conflicting peerDependencies will be treated as an install failure,
-even if npm could reasonably guess the appropriate resolution based
-on non-peer dependency relationships.
-By default, conflicting peerDependencies deep in the dependency
-graph will be resolved using the nearest non-peer dependency
-specification, even if doing so will result in some packages
-receiving a peer dependency outside the range set in their package's
-peerDependencies object.
-When such an override is performed, a warning is printed, explaining
-the conflict and the packages involved. If --strict-peer-deps is
-set, then this warning is treated as a failure.
+conflicting peerDependencies will be treated as an install failure, even
+if npm could reasonably guess the appropriate resolution based on non-peer
+dependency relationships.
+By default, conflicting peerDependencies deep in the dependency graph will
+be resolved using the nearest non-peer dependency specification, even if
+doing so will result in some packages receiving a peer dependency outside
+the range set in their package's peerDependencies object.
+When such an override is performed, a warning is printed, explaining the
+conflict and the packages involved. If --strict-peer-deps is set, then
+this warning is treated as a failure.
prefer-dedupe
- Default: false
- Type: Boolean
-Prefer to deduplicate packages if possible, rather than choosing a
-newer version of a dependency.
+Prefer to deduplicate packages if possible, rather than choosing a newer
+version of a dependency.
package-lock
- Default: true
- Type: Boolean
-If set to false, then ignore package-lock.json files when
-installing. This will also prevent writing package-lock.json if
-save is true.
+If set to false, then ignore package-lock.json files when installing. This
+will also prevent writing package-lock.json if save is true.
package-lock-only
- Default: false
- Type: Boolean
-If set to true, the current operation will only use the
-package-lock.json, ignoring node_modules.
+If set to true, the current operation will only use the package-lock.json,
+ignoring node_modules.
For update this means only the package-lock.json will be updated,
instead of checking node_modules and downloading dependencies.
-For list this means the output will be based on the tree described
-by the package-lock.json, rather than the contents of
-node_modules.
+For list this means the output will be based on the tree described by the
+package-lock.json, rather than the contents of node_modules.
foreground-scripts
-- Default:
false unless when using npm pack or npm publish where
-it defaults to true
+- Default:
false unless when using npm pack or npm publish where it
+defaults to true
- Type: Boolean
-Run all build scripts (ie, preinstall, install, and
-postinstall) scripts for installed packages in the foreground
-process, sharing standard input, output, and error with the main npm
-process.
-Note that this will generally make installs run slower, and be much
-noisier, but can be useful for debugging.
+Run all build scripts (ie, preinstall, install, and postinstall)
+scripts for installed packages in the foreground process, sharing standard
+input, output, and error with the main npm process.
+Note that this will generally make installs run slower, and be much noisier,
+but can be useful for debugging.
ignore-scripts
- Default: false
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
audit
- Default: true
- Type: Boolean
-When "true" submit audit reports alongside the current npm command to
-the default registry and all registries configured for scopes. See
-the documentation for npm audit 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 for details on what is
+submitted.
before
- Default: null
- Type: null or Date
If passed to npm install, will rebuild the npm tree such that only
-versions that were available on or before the given date are
-installed. If there are no versions available for the current set of
-dependencies, the command will error.
-If the requested version is a dist-tag and the given tag does not
-pass the --before filter, the most recent version less than or
-equal to that tag will be used. For example, foo@latest might
-install foo@1.2 even though latest is 2.0.
+versions that were available on or before the given date are installed.
+If there are no versions available for the current set of dependencies, the
+command will error.
+If the requested version is a dist-tag and the given tag does not pass the
+--before filter, the most recent version less than or equal to that tag
+will be used. For example, foo@latest might install foo@1.2 even though
+latest is 2.0.
bin-links
- Default: true
@@ -603,59 +593,56 @@ bin-links
Tells npm to create symlinks (or .cmd shims on Windows) for package
executables.
-Set to false to have it not do this. This can be used to work around
-the fact that some file systems don't support symlinks, even on
-ostensibly Unix systems.
+Set to false to have it not do this. This can be used to work around the
+fact that some file systems don't support symlinks, even on ostensibly Unix
+systems.
fund
- Default: true
- Type: Boolean
When "true" displays the message at the end of each npm install
-acknowledging the number of dependencies looking for funding. See
-npm fund for details.
+acknowledging the number of dependencies looking for funding. See npm fund for details.
dry-run
- Default: false
- Type: Boolean
-Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
cpu
- Default: null
- Type: null or String
-Override CPU architecture of native modules to install. Acceptable
-values are same as cpu field of package.json, which comes from
-process.arch.
+Override CPU architecture of native modules to install. Acceptable values
+are same as cpu field of package.json, which comes from process.arch.
os
- Default: null
- Type: null or String
-Override OS of native modules to install. Acceptable values are same
-as os field of package.json, which comes from process.platform.
+Override OS of native modules to install. Acceptable values are same as os
+field of package.json, which comes from process.platform.
libc
- Default: null
- Type: null or String
-Override libc of native modules to install. Acceptable values are
-same as libc field of package.json
+Override libc of native modules to install. Acceptable values are same as
+libc field of package.json
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -663,9 +650,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -674,14 +661,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -690,19 +676,18 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
Algorithm
Given a package{dep} structure: A{B,C}, B{C}, C{D}, the npm install algorithm produces:
A
diff --git a/deps/npm/docs/output/commands/npm-link.html b/deps/npm/docs/output/commands/npm-link.html
index 72ab0b3ada6997..444de4ffcb36ad 100644
--- a/deps/npm/docs/output/commands/npm-link.html
+++ b/deps/npm/docs/output/commands/npm-link.html
@@ -141,9 +141,9 @@
-
+
npm-link
- @11.6.2
+ @11.6.3
Symlink a package folder
@@ -206,8 +206,7 @@ Workspace Usage
Configuration
save
-- Default:
true unless when using npm update where it defaults to
-false
+- Default:
true unless when using npm update where it defaults to false
- Type: Boolean
Save installed packages to a package.json file as dependencies.
@@ -219,20 +218,19 @@ save-exact
Default: false
Type: Boolean
-Dependencies saved to package.json will be configured with an exact
-version rather than using npm's default semver range operator.
+Dependencies saved to package.json will be configured with an exact version
+rather than using npm's default semver range operator.
global
- Default: false
- Type: Boolean
-Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -242,12 +240,11 @@ install-strategy
Type: "hoisted", "nested", "shallow", or "linked"
Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as
-necessary within directory structure. nested: (formerly
---legacy-bundling) install in place, no hoisting. shallow (formerly
---global-style) only install direct deps at top-level. linked:
-(experimental) install in node_modules/.store, link in place,
-unhoisted.
+(default): Install non-duplicated in top-level, and duplicated as necessary
+within directory structure. nested: (formerly --legacy-bundling) install in
+place, no hoisting. shallow (formerly --global-style) only install direct
+deps at top-level. linked: (experimental) install in node_modules/.store,
+link in place, unhoisted.
legacy-bundling
- Default: false
@@ -255,10 +252,10 @@ legacy-bundling
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=nested
-Instead of hoisting package installs in node_modules, install
-packages in the same manner that they are depended on. This may cause
-very deep directory structures and duplicate package installs as
-there is no de-duplicating. Sets --install-strategy=nested.
+Instead of hoisting package installs in node_modules, install packages in
+the same manner that they are depended on. This may cause very deep
+directory structures and duplicate package installs as there is no
+de-duplicating. Sets --install-strategy=nested.
global-style
- Default: false
@@ -266,33 +263,31 @@ global-style
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=shallow
-Only install direct dependencies in the top level node_modules, but
-hoist on deeper dependencies. Sets --install-strategy=shallow.
+Only install direct dependencies in the top level node_modules, but hoist
+on deeper dependencies. Sets --install-strategy=shallow.
strict-peer-deps
- Default: false
- Type: Boolean
If set to true, and --legacy-peer-deps is not set, then any
-conflicting peerDependencies will be treated as an install failure,
-even if npm could reasonably guess the appropriate resolution based
-on non-peer dependency relationships.
-By default, conflicting peerDependencies deep in the dependency
-graph will be resolved using the nearest non-peer dependency
-specification, even if doing so will result in some packages
-receiving a peer dependency outside the range set in their package's
-peerDependencies object.
-When such an override is performed, a warning is printed, explaining
-the conflict and the packages involved. If --strict-peer-deps is
-set, then this warning is treated as a failure.
+conflicting peerDependencies will be treated as an install failure, even
+if npm could reasonably guess the appropriate resolution based on non-peer
+dependency relationships.
+By default, conflicting peerDependencies deep in the dependency graph will
+be resolved using the nearest non-peer dependency specification, even if
+doing so will result in some packages receiving a peer dependency outside
+the range set in their package's peerDependencies object.
+When such an override is performed, a warning is printed, explaining the
+conflict and the packages involved. If --strict-peer-deps is set, then
+this warning is treated as a failure.
package-lock
- Default: true
- Type: Boolean
-If set to false, then ignore package-lock.json files when
-installing. This will also prevent writing package-lock.json if
-save is true.
+If set to false, then ignore package-lock.json files when installing. This
+will also prevent writing package-lock.json if save is true.
omit
- Default: 'dev' if the
NODE_ENV environment variable is set to
@@ -303,41 +298,38 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
include
- Default:
-- Type: "prod", "dev", "optional", or "peer" (can be set multiple
-times)
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-Option that allows for defining which types of dependencies to
-install.
+Option that allows for defining which types of dependencies to install.
This is the inverse of --omit=<type>.
-Dependency types specified in --include will not be omitted,
-regardless of the order in which omit/include are specified on the
-command-line.
+Dependency types specified in --include will not be omitted, regardless of
+the order in which omit/include are specified on the command-line.
ignore-scripts
- Default: false
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
audit
- Default: true
- Type: Boolean
-When "true" submit audit reports alongside the current npm command to
-the default registry and all registries configured for scopes. See
-the documentation for npm audit 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 for details on what is
+submitted.
bin-links
- Default: true
@@ -345,37 +337,35 @@ bin-links
Tells npm to create symlinks (or .cmd shims on Windows) for package
executables.
-Set to false to have it not do this. This can be used to work around
-the fact that some file systems don't support symlinks, even on
-ostensibly Unix systems.
+Set to false to have it not do this. This can be used to work around the
+fact that some file systems don't support symlinks, even on ostensibly Unix
+systems.
fund
- Default: true
- Type: Boolean
When "true" displays the message at the end of each npm install
-acknowledging the number of dependencies looking for funding. See
-npm fund for details.
+acknowledging the number of dependencies looking for funding. See npm fund for details.
dry-run
- Default: false
- Type: Boolean
-Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -383,9 +373,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -394,14 +384,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -410,19 +399,18 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
See Also
- package spec
diff --git a/deps/npm/docs/output/commands/npm-login.html b/deps/npm/docs/output/commands/npm-login.html
index 1031b01ae7559b..06b57e7c9d729b 100644
--- a/deps/npm/docs/output/commands/npm-login.html
+++ b/deps/npm/docs/output/commands/npm-login.html
@@ -141,9 +141,9 @@
-
+
npm-login
- @11.6.2
+ @11.6.3
Login to a registry user account
@@ -201,8 +201,8 @@ auth-type
- Default: "web"
- Type: "legacy" or "web"
-What authentication strategy to use with login. Note that if an
-otp config is given, this value will always be set to legacy.
+What authentication strategy to use with login. Note that if an otp
+config is given, this value will always be set to legacy.
See Also
- npm registry
diff --git a/deps/npm/docs/output/commands/npm-logout.html b/deps/npm/docs/output/commands/npm-logout.html
index 2959f2369d51b9..9eca555d7258ec 100644
--- a/deps/npm/docs/output/commands/npm-logout.html
+++ b/deps/npm/docs/output/commands/npm-logout.html
@@ -141,9 +141,9 @@
-
+
npm-logout
- @11.6.2
+ @11.6.3
Log out of the registry
diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html
index 2bbca3b4a70bc2..aaa2dcdcdcdfaa 100644
--- a/deps/npm/docs/output/commands/npm-ls.html
+++ b/deps/npm/docs/output/commands/npm-ls.html
@@ -141,9 +141,9 @@
-
+
npm-ls
- @11.6.2
+ @11.6.3
List installed packages
@@ -164,7 +164,7 @@ Description
Positional arguments are name@version-range identifiers, which will limit the results to only the paths to the packages named.
Note that nested packages will also show the paths to the specified packages.
For example, running npm ls promzard in npm's source tree will show:
-npm@11.6.2 /path/to/npm
+npm@11.6.3 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
@@ -178,9 +178,9 @@ all
- Default: false
- Type: Boolean
-When running npm outdated and npm ls, setting --all will show
-all outdated or installed packages, rather than only those directly
-depended upon by the current project.
+When running npm outdated and npm ls, setting --all will show all
+outdated or installed packages, rather than only those directly depended
+upon by the current project.
json
- Default: false
@@ -188,8 +188,8 @@ 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.
+- 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
@@ -203,20 +203,19 @@ parseable
Default: false
Type: Boolean
-Output parseable results from commands that write to standard output.
-For npm search, this will be tab-separated table format.
+Output parseable results from commands that write to standard output. For
+npm search, this will be tab-separated table format.
global
- Default: false
- Type: Boolean
-Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -226,9 +225,8 @@ depth
Type: null or Number
The depth to go when recursing packages for npm ls.
-If not set, npm ls will show only the immediate dependencies of the
-root project. If --all is set, then npm will show all dependencies
-by default.
+If not set, npm ls will show only the immediate dependencies of the root
+project. If --all is set, then npm will show all dependencies by default.
omit
- Default: 'dev' if the
NODE_ENV environment variable is set to
@@ -239,59 +237,52 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
include
- Default:
-- Type: "prod", "dev", "optional", or "peer" (can be set multiple
-times)
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-Option that allows for defining which types of dependencies to
-install.
+Option that allows for defining which types of dependencies to install.
This is the inverse of --omit=<type>.
-Dependency types specified in --include will not be omitted,
-regardless of the order in which omit/include are specified on the
-command-line.
+Dependency types specified in --include will not be omitted, regardless of
+the order in which omit/include are specified on the command-line.
link
- Default: false
- Type: Boolean
-Used with npm ls, limiting output to only those packages that are
-linked.
+Used with npm ls, limiting output to only those packages that are linked.
package-lock-only
- Default: false
- Type: Boolean
-If set to true, the current operation will only use the
-package-lock.json, ignoring node_modules.
+If set to true, the current operation will only use the package-lock.json,
+ignoring node_modules.
For update this means only the package-lock.json will be updated,
instead of checking node_modules and downloading dependencies.
-For list this means the output will be based on the tree described
-by the package-lock.json, rather than the contents of
-node_modules.
+For list this means the output will be based on the tree described by the
+package-lock.json, rather than the contents of node_modules.
unicode
-- Default: false on windows, true on mac/unix systems with a unicode
-locale, as defined by the
LC_ALL, LC_CTYPE, or LANG environment
-variables.
+- Default: false on windows, true on mac/unix systems with a unicode locale,
+as defined by the
LC_ALL, LC_CTYPE, or LANG environment variables.
- Type: Boolean
-When set to true, npm uses unicode characters in the tree output.
-When false, it uses ascii characters instead of unicode glyphs.
+When set to true, npm uses unicode characters in the tree output. When
+false, it uses ascii characters instead of unicode glyphs.
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -299,9 +290,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -310,14 +301,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -326,19 +316,18 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
See Also
- package spec
diff --git a/deps/npm/docs/output/commands/npm-org.html b/deps/npm/docs/output/commands/npm-org.html
index 9082d54b259491..e57fc20d8f7d7d 100644
--- a/deps/npm/docs/output/commands/npm-org.html
+++ b/deps/npm/docs/output/commands/npm-org.html
@@ -141,9 +141,9 @@
-
+
npm-org
- @11.6.2
+ @11.6.3
Manage orgs
@@ -195,10 +195,10 @@ otp
- Default: null
- Type: null or String
-This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
json
- Default: false
@@ -206,8 +206,8 @@ 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.
+- 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
@@ -215,8 +215,8 @@ parseable
Default: false
Type: Boolean
-Output parseable results from commands that write to standard output.
-For npm search, this will be tab-separated table format.
+Output parseable results from commands that write to standard output. For
+npm search, this will be tab-separated table format.
See Also
- using orgs
diff --git a/deps/npm/docs/output/commands/npm-outdated.html b/deps/npm/docs/output/commands/npm-outdated.html
index 441b0a65170d69..e29b0d5dfcda6e 100644
--- a/deps/npm/docs/output/commands/npm-outdated.html
+++ b/deps/npm/docs/output/commands/npm-outdated.html
@@ -141,9 +141,9 @@
-
+
npm-outdated
- @11.6.2
+ @11.6.3
Check for outdated packages
@@ -210,9 +210,9 @@ all
- Default: false
- Type: Boolean
-When running npm outdated and npm ls, setting --all will show
-all outdated or installed packages, rather than only those directly
-depended upon by the current project.
+When running npm outdated and npm ls, setting --all will show all
+outdated or installed packages, rather than only those directly depended
+upon by the current project.
json
- Default: false
@@ -220,8 +220,8 @@ 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.
+- 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
@@ -235,20 +235,19 @@ parseable
Default: false
Type: Boolean
-Output parseable results from commands that write to standard output.
-For npm search, this will be tab-separated table format.
+Output parseable results from commands that write to standard output. For
+npm search, this will be tab-separated table format.
global
- Default: false
- Type: Boolean
-Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -257,9 +256,9 @@ 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.
+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
@@ -267,9 +266,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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.
before
@@ -277,13 +276,13 @@ before
- Type: null or Date
If passed to npm install, will rebuild the npm tree such that only
-versions that were available on or before the given date are
-installed. If there are no versions available for the current set of
-dependencies, the command will error.
-If the requested version is a dist-tag and the given tag does not
-pass the --before filter, the most recent version less than or
-equal to that tag will be used. For example, foo@latest might
-install foo@1.2 even though latest is 2.0.
+versions that were available on or before the given date are installed.
+If there are no versions available for the current set of dependencies, the
+command will error.
+If the requested version is a dist-tag and the given tag does not pass the
+--before filter, the most recent version less than or equal to that tag
+will be used. For example, foo@latest might install foo@1.2 even though
+latest is 2.0.
See Also
- package spec
diff --git a/deps/npm/docs/output/commands/npm-owner.html b/deps/npm/docs/output/commands/npm-owner.html
index c846c1f6ca6339..ae8d37d42be3b1 100644
--- a/deps/npm/docs/output/commands/npm-owner.html
+++ b/deps/npm/docs/output/commands/npm-owner.html
@@ -141,9 +141,9 @@
-
+
npm-owner
- @11.6.2
+ @11.6.3
Manage package owners
@@ -186,18 +186,18 @@ otp
- Default: null
- Type: null or String
-This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -205,9 +205,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -216,14 +216,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
See Also
diff --git a/deps/npm/docs/output/commands/npm-pack.html b/deps/npm/docs/output/commands/npm-pack.html
index c8172c92333766..402f9550fac9bc 100644
--- a/deps/npm/docs/output/commands/npm-pack.html
+++ b/deps/npm/docs/output/commands/npm-pack.html
@@ -141,9 +141,9 @@
-
+
npm-pack
- @11.6.2
+ @11.6.3
Create a tarball from a package
@@ -162,13 +162,12 @@ dry-run
Default: false
Type: Boolean
-Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
json
- Default: false
@@ -176,8 +175,8 @@ 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.
+- 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
@@ -191,9 +190,9 @@ 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.
+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
@@ -201,9 +200,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -212,14 +211,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -228,10 +226,9 @@ include-workspace-root
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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
ignore-scripts
@@ -239,9 +236,10 @@ ignore-scripts
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
Description
For anything that's installable (that is, a package folder, tarball, tarball url, git url, name@tag, name@version, name, or scoped name), this command will fetch it to the cache, copy the tarball to the current working directory as <name>-<version>.tgz, and then write the filenames out to stdout.
If the same package is specified multiple times, then the file will be overwritten the second time.
diff --git a/deps/npm/docs/output/commands/npm-ping.html b/deps/npm/docs/output/commands/npm-ping.html
index 3c99ecd918e10b..594c954e2769cb 100644
--- a/deps/npm/docs/output/commands/npm-ping.html
+++ b/deps/npm/docs/output/commands/npm-ping.html
@@ -141,9 +141,9 @@
-
+
npm-ping
- @11.6.2
+ @11.6.3
Ping npm registry
diff --git a/deps/npm/docs/output/commands/npm-pkg.html b/deps/npm/docs/output/commands/npm-pkg.html
index 64c2c9b83796ca..3fe81a8d81d60f 100644
--- a/deps/npm/docs/output/commands/npm-pkg.html
+++ b/deps/npm/docs/output/commands/npm-pkg.html
@@ -141,9 +141,9 @@
-
+
npm-pkg
- @11.6.2
+ @11.6.3
Manages your package.json
@@ -261,16 +261,14 @@ force
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 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.
+Allow conflicting peerDependencies to be installed in the root project.
Implicitly set --yes during npm init.
Allow clobbering existing values in npm pkg
Allow unpublishing of entire packages (not just a single version).
@@ -284,8 +282,8 @@ 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.
+- 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
@@ -293,9 +291,9 @@ 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.
+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
@@ -303,9 +301,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -314,14 +312,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
See Also
diff --git a/deps/npm/docs/output/commands/npm-prefix.html b/deps/npm/docs/output/commands/npm-prefix.html
index df4c70981f3bc0..53a8c6846a6e70 100644
--- a/deps/npm/docs/output/commands/npm-prefix.html
+++ b/deps/npm/docs/output/commands/npm-prefix.html
@@ -141,9 +141,9 @@
-
+
npm-prefix
- @11.6.2
+ @11.6.3
Display prefix
@@ -175,13 +175,12 @@ global
Default: false
Type: Boolean
-Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
diff --git a/deps/npm/docs/output/commands/npm-profile.html b/deps/npm/docs/output/commands/npm-profile.html
index e6632924f28ecb..6d49dde54698ac 100644
--- a/deps/npm/docs/output/commands/npm-profile.html
+++ b/deps/npm/docs/output/commands/npm-profile.html
@@ -141,9 +141,9 @@
-
+
npm-profile
- @11.6.2
+ @11.6.3
Change settings on your registry profile
@@ -218,8 +218,8 @@ 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.
+- 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
@@ -227,17 +227,17 @@ parseable
Default: false
Type: Boolean
-Output parseable results from commands that write to standard output.
-For npm search, this will be tab-separated table format.
+Output parseable results from commands that write to standard output. For
+npm search, this will be tab-separated table format.
otp
- Default: null
- Type: null or String
-This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
See Also
- npm adduser
diff --git a/deps/npm/docs/output/commands/npm-prune.html b/deps/npm/docs/output/commands/npm-prune.html
index 921556183dc5b0..bedc9c1badf58f 100644
--- a/deps/npm/docs/output/commands/npm-prune.html
+++ b/deps/npm/docs/output/commands/npm-prune.html
@@ -141,9 +141,9 @@
-
+
npm-prune
- @11.6.2
+ @11.6.3
Remove extraneous packages
@@ -176,35 +176,30 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
include
- Default:
-- Type: "prod", "dev", "optional", or "peer" (can be set multiple
-times)
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-Option that allows for defining which types of dependencies to
-install.
+Option that allows for defining which types of dependencies to install.
This is the inverse of --omit=<type>.
-Dependency types specified in --include will not be omitted,
-regardless of the order in which omit/include are specified on the
-command-line.
+Dependency types specified in --include will not be omitted, regardless of
+the order in which omit/include are specified on the command-line.
dry-run
- Default: false
- Type: Boolean
-Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
json
- Default: false
@@ -212,39 +207,39 @@ 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.
+- In
npm pkg set it enables parsing set values with JSON.parse() before
+saving them to your package.json.
Not supported by all npm commands.
foreground-scripts
-- Default:
false unless when using npm pack or npm publish where
-it defaults to true
+- Default:
false unless when using npm pack or npm publish where it
+defaults to true
- Type: Boolean
-Run all build scripts (ie, preinstall, install, and
-postinstall) scripts for installed packages in the foreground
-process, sharing standard input, output, and error with the main npm
-process.
-Note that this will generally make installs run slower, and be much
-noisier, but can be useful for debugging.
+Run all build scripts (ie, preinstall, install, and postinstall)
+scripts for installed packages in the foreground process, sharing standard
+input, output, and error with the main npm process.
+Note that this will generally make installs run slower, and be much noisier,
+but can be useful for debugging.
ignore-scripts
- Default: false
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -252,9 +247,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -263,14 +258,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -279,19 +273,18 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
See Also
- npm uninstall
diff --git a/deps/npm/docs/output/commands/npm-publish.html b/deps/npm/docs/output/commands/npm-publish.html
index df7247cdabc52b..092fe1fe54454c 100644
--- a/deps/npm/docs/output/commands/npm-publish.html
+++ b/deps/npm/docs/output/commands/npm-publish.html
@@ -141,16 +141,16 @@
-
+
npm-publish
- @11.6.2
+ @11.6.3
Publish a package
Synopsis
@@ -158,6 +158,19 @@
Table of contents
Description
Publishes a package to the registry so that it can be installed by name.
+
Examples
+
Publish the package in the current directory:
+
npm publish
+
+
Publish a specific workspace:
+
npm publish --workspace=<workspace-name>
+
+
Publish multiple workspaces:
+
npm publish --workspace=workspace-a --workspace=workspace-b
+
+
Publish all workspaces:
+
npm publish --workspaces
+
By default npm will publish to the public registry.
This can be overridden by specifying a different default registry or using a scope in the name, combined with a scope-configured registry (see package.json).
A package is interpreted the same way as other commands (like npm install) and can be:
@@ -209,55 +222,53 @@
tag
- Default: "latest"
- Type: String
-
If you ask npm to install a package and don't tell it a specific
-version, then it will install the specified tag.
+
If you ask npm to install a package and don't tell it a specific version,
+then it will install the specified tag.
It is the tag added to the package@version specified in the npm dist-tag add command, if no explicit tag is given.
-
When used by the npm diff command, this is the tag used to fetch
-the tarball that will be compared with the local files by default.
-
If used in the npm publish command, this is the tag that will be
-added to the package submitted to the registry.
+
When used by the npm diff command, this is the tag used to fetch the
+tarball that will be compared with the local files by default.
+
If used in the npm publish command, this is the tag that will be added to
+the package submitted to the registry.
access
-- Default: 'public' for new packages, existing packages it will not
-change the current level
+- Default: 'public' for new packages, existing packages it will not change the
+current level
- Type: null, "restricted", or "public"
If you do not want your scoped package to be publicly viewable (and
installable) set --access=restricted.
Unscoped packages cannot be set to restricted.
-
Note: This defaults to not changing the current access level for
-existing packages. Specifying a value of restricted or public
-during publish will change the access for an existing package the
-same way that npm access set status would.
+
Note: This defaults to not changing the current access level for existing
+packages. Specifying a value of restricted or public during publish will
+change the access for an existing package the same way that npm access set status would.
dry-run
- Default: false
- Type: Boolean
-
Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-
Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+
Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+
Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
otp
- Default: null
- Type: null or String
-
This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-
If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+
This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+
If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
workspace
- Default:
- Type: String (can be set multiple times)
-
Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+
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
@@ -265,9 +276,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-
When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+
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
@@ -276,14 +287,13 @@ workspaces
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:
+
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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -292,26 +302,24 @@
include-workspace-root
- 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.
+
When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
provenance
- Default: false
- Type: Boolean
-
When publishing from a supported cloud CI/CD system, the package will
-be publicly linked to where it was built and published from.
+
When publishing from a supported cloud CI/CD system, the package will be
+publicly linked to where it was built and published from.
This config cannot be used with: provenance-file
provenance-file
-
When publishing, the provenance bundle at the given path will be
-used.
+
When publishing, the provenance bundle at the given path will be used.
This config cannot be used with: provenance
See Also
diff --git a/deps/npm/docs/output/commands/npm-query.html b/deps/npm/docs/output/commands/npm-query.html
index 0e4aab89d146dc..5a8113a49b0f7c 100644
--- a/deps/npm/docs/output/commands/npm-query.html
+++ b/deps/npm/docs/output/commands/npm-query.html
@@ -141,9 +141,9 @@
-
+
npm-query
- @11.6.2
+ @11.6.3
Dependency selector query
@@ -289,13 +289,12 @@ global
- Default: false
- Type: Boolean
-
Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+
Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -304,9 +303,9 @@
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.
+
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
@@ -314,9 +313,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-
When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+
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
@@ -325,14 +324,13 @@ workspaces
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:
+
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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -341,30 +339,28 @@
include-workspace-root
- 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.
+
When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
package-lock-only
- Default: false
- Type: Boolean
-
If set to true, the current operation will only use the
-package-lock.json, ignoring node_modules.
+
If set to true, the current operation will only use the package-lock.json,
+ignoring node_modules.
For update this means only the package-lock.json will be updated,
instead of checking node_modules and downloading dependencies.
-
For list this means the output will be based on the tree described
-by the package-lock.json, rather than the contents of
-node_modules.
+
For list this means the output will be based on the tree described by the
+package-lock.json, rather than the contents of node_modules.
expect-results
- Default: null
- Type: null or Boolean
-
Tells npm whether or not to expect results from the command. Can be
-either true (expect some results) or false (expect no results).
+
Tells npm whether or not to expect results from the command. Can be either
+true (expect some results) or false (expect no results).
This config cannot be used with: expect-result-count
expect-result-count
diff --git a/deps/npm/docs/output/commands/npm-rebuild.html b/deps/npm/docs/output/commands/npm-rebuild.html
index 9eac53b7fe6079..e96d953caf1940 100644
--- a/deps/npm/docs/output/commands/npm-rebuild.html
+++ b/deps/npm/docs/output/commands/npm-rebuild.html
@@ -141,9 +141,9 @@
-
+
npm-rebuild
- @11.6.2
+ @11.6.3
Rebuild a package
@@ -184,13 +184,12 @@ global
- Default: false
- Type: Boolean
-
Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+
Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -201,38 +200,38 @@
bin-links
Tells npm to create symlinks (or .cmd shims on Windows) for package
executables.
-
Set to false to have it not do this. This can be used to work around
-the fact that some file systems don't support symlinks, even on
-ostensibly Unix systems.
+
Set to false to have it not do this. This can be used to work around the
+fact that some file systems don't support symlinks, even on ostensibly Unix
+systems.
foreground-scripts
-- Default:
false unless when using npm pack or npm publish where
-it defaults to true
+- Default:
false unless when using npm pack or npm publish where it
+defaults to true
- Type: Boolean
-
Run all build scripts (ie, preinstall, install, and
-postinstall) scripts for installed packages in the foreground
-process, sharing standard input, output, and error with the main npm
-process.
-
Note that this will generally make installs run slower, and be much
-noisier, but can be useful for debugging.
+
Run all build scripts (ie, preinstall, install, and postinstall)
+scripts for installed packages in the foreground process, sharing standard
+input, output, and error with the main npm process.
+
Note that this will generally make installs run slower, and be much noisier,
+but can be useful for debugging.
ignore-scripts
- Default: false
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-
Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+
Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
workspace
- Default:
- Type: String (can be set multiple times)
-
Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+
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
@@ -240,9 +239,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-
When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+
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
@@ -251,14 +250,13 @@ workspaces
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:
+
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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -267,19 +265,18 @@
include-workspace-root
- 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.
+
When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-
When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+
When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
See Also
- package spec
diff --git a/deps/npm/docs/output/commands/npm-repo.html b/deps/npm/docs/output/commands/npm-repo.html
index 2fa1fcc138f40b..d4eb1388728ed1 100644
--- a/deps/npm/docs/output/commands/npm-repo.html
+++ b/deps/npm/docs/output/commands/npm-repo.html
@@ -141,9 +141,9 @@
-
+
npm-repo
- @11.6.2
+ @11.6.3
Open package repository page in the browser
@@ -180,9 +180,9 @@ 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.
+
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
@@ -190,9 +190,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-
When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+
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
@@ -201,14 +201,13 @@ workspaces
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:
+
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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -217,10 +216,9 @@
include-workspace-root
- 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.
+
When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
See Also
diff --git a/deps/npm/docs/output/commands/npm-restart.html b/deps/npm/docs/output/commands/npm-restart.html
index 14fdcfe42503bf..9b3771a4a57d56 100644
--- a/deps/npm/docs/output/commands/npm-restart.html
+++ b/deps/npm/docs/output/commands/npm-restart.html
@@ -141,9 +141,9 @@
-
+
npm-restart
- @11.6.2
+ @11.6.3
Restart a package
@@ -183,16 +183,16 @@ ignore-scripts
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-
Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+
Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
script-shell
- Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
- Type: null or String
-
The shell to use for scripts run with the npm exec, npm run and
-npm init <package-spec> commands.
+
The shell to use for scripts run with the npm exec, npm run and npm init <package-spec> commands.
See Also
- npm run
diff --git a/deps/npm/docs/output/commands/npm-root.html b/deps/npm/docs/output/commands/npm-root.html
index 0498af80a8b4f2..f09fb6805f2420 100644
--- a/deps/npm/docs/output/commands/npm-root.html
+++ b/deps/npm/docs/output/commands/npm-root.html
@@ -141,9 +141,9 @@
-
+
npm-root
- @11.6.2
+ @11.6.3
Display npm root
@@ -171,13 +171,12 @@ global
- Default: false
- Type: Boolean
-
Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+
Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
diff --git a/deps/npm/docs/output/commands/npm-run.html b/deps/npm/docs/output/commands/npm-run.html
index b481925c92e9c3..b5043c6baf5cdc 100644
--- a/deps/npm/docs/output/commands/npm-run.html
+++ b/deps/npm/docs/output/commands/npm-run.html
@@ -141,9 +141,9 @@
-
+
npm-run
- @11.6.2
+ @11.6.3
Run arbitrary package scripts
@@ -226,9 +226,9 @@ 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.
+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
@@ -236,9 +236,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -247,14 +247,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -263,22 +262,21 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
if-present
- Default: false
- Type: Boolean
-If true, npm will not exit with an error code when run is invoked
-for a script that isn't defined in the scripts section of
-package.json. This option can be used when it's desirable to
-optionally run a script when it's present and fail if the script
-fails. This is useful, for example, when running scripts that may
-only apply for some builds in an otherwise generic CI setup.
+If true, npm will not exit with an error code when run is invoked for a
+script that isn't defined in the scripts section of package.json. This
+option can be used when it's desirable to optionally run a script when it's
+present and fail if the script fails. This is useful, for example, when
+running scripts that may only apply for some builds in an otherwise generic
+CI setup.
This value is not exported to the environment for child processes.
ignore-scripts
@@ -286,28 +284,27 @@ ignore-scripts
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
foreground-scripts
-- Default:
false unless when using npm pack or npm publish where
-it defaults to true
+- Default:
false unless when using npm pack or npm publish where it
+defaults to true
- Type: Boolean
-Run all build scripts (ie, preinstall, install, and
-postinstall) scripts for installed packages in the foreground
-process, sharing standard input, output, and error with the main npm
-process.
-Note that this will generally make installs run slower, and be much
-noisier, but can be useful for debugging.
+Run all build scripts (ie, preinstall, install, and postinstall)
+scripts for installed packages in the foreground process, sharing standard
+input, output, and error with the main npm process.
+Note that this will generally make installs run slower, and be much noisier,
+but can be useful for debugging.
script-shell
- Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
- Type: null or String
-The shell to use for scripts run with the npm exec, npm run and
-npm init <package-spec> commands.
+The shell to use for scripts run with the npm exec, npm run and npm init <package-spec> commands.
See Also
- npm scripts
diff --git a/deps/npm/docs/output/commands/npm-sbom.html b/deps/npm/docs/output/commands/npm-sbom.html
index 1aa1d701f3570f..97be8fe8c0e64d 100644
--- a/deps/npm/docs/output/commands/npm-sbom.html
+++ b/deps/npm/docs/output/commands/npm-sbom.html
@@ -141,9 +141,9 @@
-
+
npm-sbom
- @11.6.2
+ @11.6.3
Generate a Software Bill of Materials (SBOM)
@@ -358,23 +358,21 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
package-lock-only
- Default: false
- Type: Boolean
-If set to true, the current operation will only use the
-package-lock.json, ignoring node_modules.
+If set to true, the current operation will only use the package-lock.json,
+ignoring node_modules.
For update this means only the package-lock.json will be updated,
instead of checking node_modules and downloading dependencies.
-For list this means the output will be based on the tree described
-by the package-lock.json, rather than the contents of
-node_modules.
+For list this means the output will be based on the tree described by the
+package-lock.json, rather than the contents of node_modules.
- Default: null
@@ -386,17 +384,17 @@ sbom-type
- Default: "library"
- Type: "library", "application", or "framework"
-The type of package described by the generated SBOM. For SPDX, this
-is the value for the primaryPackagePurpose field. For CycloneDX,
-this is the value for the type field.
+The type of package described by the generated SBOM. For SPDX, this is the
+value for the primaryPackagePurpose field. For CycloneDX, this is the
+value for the type field.
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -404,9 +402,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -415,14 +413,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
See Also
diff --git a/deps/npm/docs/output/commands/npm-search.html b/deps/npm/docs/output/commands/npm-search.html
index 82bf85d1347d26..d663dc288e36ae 100644
--- a/deps/npm/docs/output/commands/npm-search.html
+++ b/deps/npm/docs/output/commands/npm-search.html
@@ -141,9 +141,9 @@
-
+
npm-search
- @11.6.2
+ @11.6.3
Search for packages
@@ -179,25 +179,24 @@ 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.
+- In
npm pkg set it enables parsing set values with JSON.parse() before
+saving them to your package.json.
Not supported by all npm commands.
color
-- Default: true unless the NO_COLOR environ is set to something other
-than '0'
+- Default: true unless the NO_COLOR environ is set to something other than '0'
- Type: "always" or Boolean
-If false, never shows colors. If "always" then always shows colors.
-If true, then only prints color codes for tty file descriptors.
+If false, never shows colors. If "always" then always shows colors. If
+true, then only prints color codes for tty file descriptors.
parseable
- Default: false
- Type: Boolean
-Output parseable results from commands that write to standard output.
-For npm search, this will be tab-separated table format.
+Output parseable results from commands that write to standard output. For
+npm search, this will be tab-separated table format.
description
- Default: true
@@ -209,8 +208,8 @@ searchlimit
- Default: 20
- Type: Number
-Number of items to limit search results to. Will not apply at all to
-legacy searches.
+Number of items to limit search results to. Will not apply at all to legacy
+searches.
searchopts
- Default: ""
@@ -234,24 +233,23 @@ prefer-online
- Default: false
- Type: Boolean
-If true, staleness checks for cached data will be forced, making the
-CLI look for updates immediately even for fresh package data.
+If true, staleness checks for cached data will be forced, making the CLI
+look for updates immediately even for fresh package data.
prefer-offline
- Default: false
- Type: Boolean
-If true, staleness checks for cached data will be bypassed, but
-missing data will be requested from the server. To force full offline
-mode, use --offline.
+If true, staleness checks for cached data will be bypassed, but missing data
+will be requested from the server. To force full offline mode, use
+--offline.
offline
- Default: false
- Type: Boolean
-Force offline mode: no network requests will be done during install.
-To allow the CLI to fill in missing cache data, see
---prefer-offline.
+Force offline mode: no network requests will be done during install. To
+allow the CLI to fill in missing cache data, see --prefer-offline.
See Also
- npm registry
diff --git a/deps/npm/docs/output/commands/npm-shrinkwrap.html b/deps/npm/docs/output/commands/npm-shrinkwrap.html
index f898acb8713c23..ef3f3858819f6a 100644
--- a/deps/npm/docs/output/commands/npm-shrinkwrap.html
+++ b/deps/npm/docs/output/commands/npm-shrinkwrap.html
@@ -141,9 +141,9 @@
-
+
npm-shrinkwrap
- @11.6.2
+ @11.6.3
Lock down dependency versions for publication
diff --git a/deps/npm/docs/output/commands/npm-star.html b/deps/npm/docs/output/commands/npm-star.html
index 4c8a18633f1d59..cec90004e9b6a8 100644
--- a/deps/npm/docs/output/commands/npm-star.html
+++ b/deps/npm/docs/output/commands/npm-star.html
@@ -141,9 +141,9 @@
-
+
npm-star
- @11.6.2
+ @11.6.3
Mark your favorite packages
@@ -178,22 +178,21 @@ registry
The base URL of the npm registry.
unicode
-- Default: false on windows, true on mac/unix systems with a unicode
-locale, as defined by the
LC_ALL, LC_CTYPE, or LANG environment
-variables.
+- Default: false on windows, true on mac/unix systems with a unicode locale,
+as defined by the
LC_ALL, LC_CTYPE, or LANG environment variables.
- Type: Boolean
-When set to true, npm uses unicode characters in the tree output.
-When false, it uses ascii characters instead of unicode glyphs.
+When set to true, npm uses unicode characters in the tree output. When
+false, it uses ascii characters instead of unicode glyphs.
otp
- Default: null
- Type: null or String
-This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
See Also
- package spec
diff --git a/deps/npm/docs/output/commands/npm-stars.html b/deps/npm/docs/output/commands/npm-stars.html
index cbf6a3e230b327..09012e7f3de48d 100644
--- a/deps/npm/docs/output/commands/npm-stars.html
+++ b/deps/npm/docs/output/commands/npm-stars.html
@@ -141,9 +141,9 @@
-
+
npm-stars
- @11.6.2
+ @11.6.3
View packages marked as favorites
diff --git a/deps/npm/docs/output/commands/npm-start.html b/deps/npm/docs/output/commands/npm-start.html
index dc5efc037fbf76..5c60765f584442 100644
--- a/deps/npm/docs/output/commands/npm-start.html
+++ b/deps/npm/docs/output/commands/npm-start.html
@@ -141,9 +141,9 @@
-
+
npm-start
- @11.6.2
+ @11.6.3
Start a package
@@ -184,16 +184,16 @@ ignore-scripts
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
script-shell
- Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
- Type: null or String
-The shell to use for scripts run with the npm exec, npm run and
-npm init <package-spec> commands.
+The shell to use for scripts run with the npm exec, npm run and npm init <package-spec> commands.
See Also
- npm run
diff --git a/deps/npm/docs/output/commands/npm-stop.html b/deps/npm/docs/output/commands/npm-stop.html
index c0adcdc7ba495d..29a4de71806196 100644
--- a/deps/npm/docs/output/commands/npm-stop.html
+++ b/deps/npm/docs/output/commands/npm-stop.html
@@ -141,9 +141,9 @@
-
+
npm-stop
- @11.6.2
+ @11.6.3
Stop a package
@@ -181,16 +181,16 @@ ignore-scripts
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
script-shell
- Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
- Type: null or String
-The shell to use for scripts run with the npm exec, npm run and
-npm init <package-spec> commands.
+The shell to use for scripts run with the npm exec, npm run and npm init <package-spec> commands.
See Also
- npm run
diff --git a/deps/npm/docs/output/commands/npm-team.html b/deps/npm/docs/output/commands/npm-team.html
index 8e88ded725cef9..64050b2a67e565 100644
--- a/deps/npm/docs/output/commands/npm-team.html
+++ b/deps/npm/docs/output/commands/npm-team.html
@@ -141,9 +141,9 @@
-
+
npm-team
- @11.6.2
+ @11.6.3
Manage organization teams and team memberships
@@ -225,17 +225,17 @@ otp
- Default: null
- Type: null or String
-This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
parseable
- Default: false
- Type: Boolean
-Output parseable results from commands that write to standard output.
-For npm search, this will be tab-separated table format.
+Output parseable results from commands that write to standard output. For
+npm search, this will be tab-separated table format.
json
- Default: false
@@ -243,8 +243,8 @@ 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.
+- 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.
See Also
diff --git a/deps/npm/docs/output/commands/npm-test.html b/deps/npm/docs/output/commands/npm-test.html
index d2fd55d9c7d547..adfc216fc7a61b 100644
--- a/deps/npm/docs/output/commands/npm-test.html
+++ b/deps/npm/docs/output/commands/npm-test.html
@@ -141,9 +141,9 @@
-
+
npm-test
- @11.6.2
+ @11.6.3
Test a package
@@ -180,16 +180,16 @@ ignore-scripts
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
script-shell
- Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
- Type: null or String
-The shell to use for scripts run with the npm exec, npm run and
-npm init <package-spec> commands.
+The shell to use for scripts run with the npm exec, npm run and npm init <package-spec> commands.
See Also
- npm run
diff --git a/deps/npm/docs/output/commands/npm-token.html b/deps/npm/docs/output/commands/npm-token.html
index f45149f9fb9463..622160a55931ea 100644
--- a/deps/npm/docs/output/commands/npm-token.html
+++ b/deps/npm/docs/output/commands/npm-token.html
@@ -141,22 +141,22 @@
-
+
npm-token
- @11.6.2
+ @11.6.3
Manage your authentication tokens
Synopsis
npm token list
npm token revoke <id|token>
-npm token create [--read-only] [--cidr=list]
+npm token create --name=<name> [--token-description=<desc>] [--packages=<pkg1,pkg2>] [--packages-all] [--scopes=<scope1,scope2>] [--orgs=<org1,org2>] [--packages-and-scopes-permission=<read-only|read-write|no-access>] [--orgs-permission=<read-only|read-write|no-access>] [--expires=<days>] [--cidr=<ip-range>] [--bypass-2fa] [--password=<pass>]
Note: This command is unaware of workspaces.
Description
@@ -194,20 +194,96 @@
Description
This will NOT accept the truncated token found in the normal
npm token list output.
Configuration
-
read-only
+
name
+
+- Default: null
+- Type: null or String
+
+
When creating a Granular Access Token with npm token create, this sets the
+name/description for the token.
+
token-description
+
+- Default: null
+- Type: null or String
+
+
Description text for the token when using npm token create.
+
expires
+
+- Default: null
+- Type: null or Number
+
+
When creating a Granular Access Token with npm token create, this sets the
+expiration in days. If not specified, the server will determine the default
+expiration.
+
packages
+
+- Default:
+- Type: null or String (can be set multiple times)
+
+
When creating a Granular Access Token with npm token create, this limits
+the token access to specific packages. Provide a comma-separated list of
+package names.
+
packages-all
- Default: false
- Type: Boolean
-
This is used to mark a token as unable to publish when configuring
-limited access tokens with the npm token create command.
+
When creating a Granular Access Token with npm token create, grants the
+token access to all packages instead of limiting to specific packages.
+
scopes
+
+- Default: null
+- Type: null or String (can be set multiple times)
+
+
When creating a Granular Access Token with npm token create, this limits
+the token access to specific scopes. Provide a comma-separated list of scope
+names (with or without @ prefix).
+
orgs
+
+- Default: null
+- Type: null or String (can be set multiple times)
+
+
When creating a Granular Access Token with npm token create, this limits
+the token access to specific organizations. Provide a comma-separated list
+of organization names.
+
packages-and-scopes-permission
+
+- Default: null
+- Type: null, "read-only", "read-write", or "no-access"
+
+
When creating a Granular Access Token with npm token create, sets the
+permission level for packages and scopes. Options are "read-only",
+"read-write", or "no-access".
+
orgs-permission
+
+- Default: null
+- Type: null, "read-only", "read-write", or "no-access"
+
+
When creating a Granular Access Token with npm token create, sets the
+permission level for organizations. Options are "read-only", "read-write",
+or "no-access".
cidr
- Default: null
- Type: null or String (can be set multiple times)
-
This is a list of CIDR address to be used when configuring limited
-access tokens with the npm token create command.
+
This is a list of CIDR address to be used when configuring limited access
+tokens with the npm token create command.
+
bypass-2fa
+
+- Default: false
+- Type: Boolean
+
+
When creating a Granular Access Token with npm token create, setting this
+to true will allow the token to bypass two-factor authentication. This is
+useful for automation and CI/CD workflows.
+
password
+
+- Default: null
+- Type: null or String
+
+
Password for authentication. Can be provided via command line when creating
+tokens, though it's generally safer to be prompted for it.
registry
-
This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-
If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+
This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+
If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
+
read-only
+
+- Default: false
+- Type: Boolean
+
+
This is used to mark a token as unable to publish when configuring limited
+access tokens with the npm token create command.
See Also
- npm adduser
diff --git a/deps/npm/docs/output/commands/npm-undeprecate.html b/deps/npm/docs/output/commands/npm-undeprecate.html
index c1d80ebb5b58ee..c1de6aa4565e94 100644
--- a/deps/npm/docs/output/commands/npm-undeprecate.html
+++ b/deps/npm/docs/output/commands/npm-undeprecate.html
@@ -141,9 +141,9 @@
-
+
npm-undeprecate
- @11.6.2
+ @11.6.3
Undeprecate a version of a package
@@ -172,22 +172,21 @@ otp
- Default: null
- Type: null or String
-
This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-
If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+
This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+
If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
dry-run
- Default: false
- Type: Boolean
-
Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-
Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+
Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+
Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
See Also
-
Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+
Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -208,9 +206,9 @@
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.
+
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
@@ -218,9 +216,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-
When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+
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
@@ -229,14 +227,13 @@ workspaces
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:
+
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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -245,19 +242,18 @@
include-workspace-root
- 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.
+
When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-
When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+
When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
See Also
- npm prune
diff --git a/deps/npm/docs/output/commands/npm-unpublish.html b/deps/npm/docs/output/commands/npm-unpublish.html
index 97c04a4eea2ecc..27ce30074d090b 100644
--- a/deps/npm/docs/output/commands/npm-unpublish.html
+++ b/deps/npm/docs/output/commands/npm-unpublish.html
@@ -141,9 +141,9 @@
-
+
npm-unpublish
- @11.6.2
+ @11.6.3
Remove a package from the registry
@@ -173,13 +173,12 @@ dry-run
- Default: false
- Type: Boolean
-
Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-
Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+
Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+
Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
force
- Default: false
@@ -191,16 +190,14 @@ force
- 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 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.
+- Allow conflicting peerDependencies to be installed in the root project.
- Implicitly set
--yes during npm init.
- Allow clobbering existing values in
npm pkg
- Allow unpublishing of entire packages (not just a single version).
@@ -212,9 +209,9 @@ 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.
+
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
@@ -222,9 +219,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-
When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+
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
@@ -233,14 +230,13 @@ workspaces
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:
+
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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
See Also
diff --git a/deps/npm/docs/output/commands/npm-unstar.html b/deps/npm/docs/output/commands/npm-unstar.html
index b3976de6064321..d5257fc3a379fd 100644
--- a/deps/npm/docs/output/commands/npm-unstar.html
+++ b/deps/npm/docs/output/commands/npm-unstar.html
@@ -141,9 +141,9 @@
-
+
npm-unstar
- @11.6.2
+ @11.6.3
Remove an item from your favorite packages
@@ -174,22 +174,21 @@ registry
The base URL of the npm registry.
unicode
-- Default: false on windows, true on mac/unix systems with a unicode
-locale, as defined by the
LC_ALL, LC_CTYPE, or LANG environment
-variables.
+- Default: false on windows, true on mac/unix systems with a unicode locale,
+as defined by the
LC_ALL, LC_CTYPE, or LANG environment variables.
- Type: Boolean
-When set to true, npm uses unicode characters in the tree output.
-When false, it uses ascii characters instead of unicode glyphs.
+When set to true, npm uses unicode characters in the tree output. When
+false, it uses ascii characters instead of unicode glyphs.
otp
- Default: null
- Type: null or String
-This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
See Also
-Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -272,12 +270,11 @@ install-strategy
- Type: "hoisted", "nested", "shallow", or "linked"
Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as
-necessary within directory structure. nested: (formerly
---legacy-bundling) install in place, no hoisting. shallow (formerly
---global-style) only install direct deps at top-level. linked:
-(experimental) install in node_modules/.store, link in place,
-unhoisted.
+(default): Install non-duplicated in top-level, and duplicated as necessary
+within directory structure. nested: (formerly --legacy-bundling) install in
+place, no hoisting. shallow (formerly --global-style) only install direct
+deps at top-level. linked: (experimental) install in node_modules/.store,
+link in place, unhoisted.
legacy-bundling
- Default: false
@@ -285,10 +282,10 @@ legacy-bundling
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=nested
-Instead of hoisting package installs in node_modules, install
-packages in the same manner that they are depended on. This may cause
-very deep directory structures and duplicate package installs as
-there is no de-duplicating. Sets --install-strategy=nested.
+Instead of hoisting package installs in node_modules, install packages in
+the same manner that they are depended on. This may cause very deep
+directory structures and duplicate package installs as there is no
+de-duplicating. Sets --install-strategy=nested.
global-style
- Default: false
@@ -296,8 +293,8 @@ global-style
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=shallow
-Only install direct dependencies in the top level node_modules, but
-hoist on deeper dependencies. Sets --install-strategy=shallow.
+Only install direct dependencies in the top level node_modules, but hoist
+on deeper dependencies. Sets --install-strategy=shallow.
omit
- Default: 'dev' if the
NODE_ENV environment variable is set to
@@ -308,91 +305,85 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
include
- Default:
-- Type: "prod", "dev", "optional", or "peer" (can be set multiple
-times)
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-Option that allows for defining which types of dependencies to
-install.
+Option that allows for defining which types of dependencies to install.
This is the inverse of --omit=<type>.
-Dependency types specified in --include will not be omitted,
-regardless of the order in which omit/include are specified on the
-command-line.
+Dependency types specified in --include will not be omitted, regardless of
+the order in which omit/include are specified on the command-line.
strict-peer-deps
- Default: false
- Type: Boolean
If set to true, and --legacy-peer-deps is not set, then any
-conflicting peerDependencies will be treated as an install failure,
-even if npm could reasonably guess the appropriate resolution based
-on non-peer dependency relationships.
-By default, conflicting peerDependencies deep in the dependency
-graph will be resolved using the nearest non-peer dependency
-specification, even if doing so will result in some packages
-receiving a peer dependency outside the range set in their package's
-peerDependencies object.
-When such an override is performed, a warning is printed, explaining
-the conflict and the packages involved. If --strict-peer-deps is
-set, then this warning is treated as a failure.
+conflicting peerDependencies will be treated as an install failure, even
+if npm could reasonably guess the appropriate resolution based on non-peer
+dependency relationships.
+By default, conflicting peerDependencies deep in the dependency graph will
+be resolved using the nearest non-peer dependency specification, even if
+doing so will result in some packages receiving a peer dependency outside
+the range set in their package's peerDependencies object.
+When such an override is performed, a warning is printed, explaining the
+conflict and the packages involved. If --strict-peer-deps is set, then
+this warning is treated as a failure.
package-lock
- Default: true
- Type: Boolean
-If set to false, then ignore package-lock.json files when
-installing. This will also prevent writing package-lock.json if
-save is true.
+If set to false, then ignore package-lock.json files when installing. This
+will also prevent writing package-lock.json if save is true.
foreground-scripts
-- Default:
false unless when using npm pack or npm publish where
-it defaults to true
+- Default:
false unless when using npm pack or npm publish where it
+defaults to true
- Type: Boolean
-Run all build scripts (ie, preinstall, install, and
-postinstall) scripts for installed packages in the foreground
-process, sharing standard input, output, and error with the main npm
-process.
-Note that this will generally make installs run slower, and be much
-noisier, but can be useful for debugging.
+Run all build scripts (ie, preinstall, install, and postinstall)
+scripts for installed packages in the foreground process, sharing standard
+input, output, and error with the main npm process.
+Note that this will generally make installs run slower, and be much noisier,
+but can be useful for debugging.
ignore-scripts
- Default: false
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
audit
- Default: true
- Type: Boolean
-When "true" submit audit reports alongside the current npm command to
-the default registry and all registries configured for scopes. See
-the documentation for npm audit 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 for details on what is
+submitted.
before
- Default: null
- Type: null or Date
If passed to npm install, will rebuild the npm tree such that only
-versions that were available on or before the given date are
-installed. If there are no versions available for the current set of
-dependencies, the command will error.
-If the requested version is a dist-tag and the given tag does not
-pass the --before filter, the most recent version less than or
-equal to that tag will be used. For example, foo@latest might
-install foo@1.2 even though latest is 2.0.
+versions that were available on or before the given date are installed.
+If there are no versions available for the current set of dependencies, the
+command will error.
+If the requested version is a dist-tag and the given tag does not pass the
+--before filter, the most recent version less than or equal to that tag
+will be used. For example, foo@latest might install foo@1.2 even though
+latest is 2.0.
bin-links
- Default: true
@@ -400,37 +391,35 @@ bin-links
Tells npm to create symlinks (or .cmd shims on Windows) for package
executables.
-Set to false to have it not do this. This can be used to work around
-the fact that some file systems don't support symlinks, even on
-ostensibly Unix systems.
+Set to false to have it not do this. This can be used to work around the
+fact that some file systems don't support symlinks, even on ostensibly Unix
+systems.
fund
- Default: true
- Type: Boolean
When "true" displays the message at the end of each npm install
-acknowledging the number of dependencies looking for funding. See
-npm fund for details.
+acknowledging the number of dependencies looking for funding. See npm fund for details.
dry-run
- Default: false
- Type: Boolean
-Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
workspace
- Default:
- Type: String (can be set multiple times)
-Enable running a command in the context of the configured workspaces
-of the current project while filtering by running only the workspaces
-defined by this configuration option.
+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
@@ -438,9 +427,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -449,14 +438,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -465,19 +453,18 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
install-links
- Default: false
- Type: Boolean
-When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
See Also
- npm install
diff --git a/deps/npm/docs/output/commands/npm-version.html b/deps/npm/docs/output/commands/npm-version.html
index c2462e2b5bd62f..21af1dd5444a5a 100644
--- a/deps/npm/docs/output/commands/npm-version.html
+++ b/deps/npm/docs/output/commands/npm-version.html
@@ -141,16 +141,16 @@
-
+
npm-version
- @11.6.2
+ @11.6.3
Bump a package version
Synopsis
@@ -164,8 +164,8 @@
allow-same-version
- Default: false
- Type: Boolean
-
Prevents throwing an error when npm version is used to set the new
-version to the same value as the current version.
+
Prevents throwing an error when npm version is used to set the new version
+to the same value as the current version.
commit-hooks
- Default: true
@@ -177,8 +177,8 @@ git-tag-version
- Default: true
- Type: Boolean
-
Tag the commit when using the npm version command. Setting this to
-false results in no commit being made at all.
+
Tag the commit when using the npm version command. Setting this to false
+results in no commit being made at all.
json
- Default: false
@@ -186,8 +186,8 @@ 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.
+- 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
@@ -195,25 +195,34 @@
preid
- Default: ""
- Type: String
-
The "prerelease identifier" to use as a prefix for the "prerelease"
-part of a semver. Like the rc in 1.2.0-rc.8.
+
The "prerelease identifier" to use as a prefix for the "prerelease" part of
+a semver. Like the rc in 1.2.0-rc.8.
sign-git-tag
- Default: false
- Type: Boolean
-
If set to true, then the npm version command will tag the version
-using -s to add a signature.
-
Note that git requires you to have set up GPG keys in your git
-configs for this to work properly.
+
If set to true, then the npm version command will tag the version using
+-s to add a signature.
+
Note that git requires you to have set up GPG keys in your git configs for
+this to work properly.
+
save
+
+- Default:
true unless when using npm update where it defaults to false
+- Type: Boolean
+
+
Save installed packages to a package.json file as dependencies.
+
When used with the npm rm command, removes the dependency from
+package.json.
+
Will also prevent writing to package-lock.json if set to false.
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.
+
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
@@ -221,9 +230,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-
When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+
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
@@ -232,14 +241,13 @@ workspaces
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:
+
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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
workspaces-update
@@ -247,20 +255,28 @@
workspaces-update
- Default: true
- Type: Boolean
-
If set to true, the npm cli will run an update after operations that
-may possibly change the workspaces installed to the node_modules
-folder.
+
If set to true, the npm cli will run an update after operations that may
+possibly change the workspaces installed to the node_modules folder.
include-workspace-root
- Default: false
- Type: Boolean
Include the workspace root when workspaces are enabled for a command.
-
When false, specifying individual workspaces via the workspace
-config, or all workspaces via the workspaces flag, will cause npm
-to operate only on the specified workspaces, and not on the root
-project.
+
When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
+
ignore-scripts
+
+- Default: false
+- Type: Boolean
+
+
If true, npm does not run scripts specified in package.json files.
+
Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
Description
Run this in a package directory to bump the version and write the new data back to package.json, package-lock.json, and, if present,
npm-shrinkwrap.json.
diff --git a/deps/npm/docs/output/commands/npm-view.html b/deps/npm/docs/output/commands/npm-view.html
index e48ae33a4c619d..9c0e30efee1218 100644
--- a/deps/npm/docs/output/commands/npm-view.html
+++ b/deps/npm/docs/output/commands/npm-view.html
@@ -141,9 +141,9 @@
-
+
npm-view
- @11.6.2
+ @11.6.3
View registry info
@@ -217,8 +217,8 @@ 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.
+- 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
@@ -226,9 +226,9 @@ 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.
+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
@@ -236,9 +236,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+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
@@ -247,14 +247,13 @@ workspaces
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:
+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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
include-workspace-root
@@ -263,10 +262,9 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
Output
If only a single string field for a single version is output, then it will not be colorized or quoted, to enable piping the output to another command.
diff --git a/deps/npm/docs/output/commands/npm-whoami.html b/deps/npm/docs/output/commands/npm-whoami.html
index f7407455d0de8b..86515fe7870f42 100644
--- a/deps/npm/docs/output/commands/npm-whoami.html
+++ b/deps/npm/docs/output/commands/npm-whoami.html
@@ -141,9 +141,9 @@
-
+
npm-whoami
- @11.6.2
+ @11.6.3
Display npm username
diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html
index 6bb3e7ffd89962..5cb902d2b16709 100644
--- a/deps/npm/docs/output/commands/npm.html
+++ b/deps/npm/docs/output/commands/npm.html
@@ -141,9 +141,9 @@
-
+
npm
- @11.6.2
+ @11.6.3
javascript package manager
@@ -158,7 +158,7 @@ Table of contents
Note: This command is unaware of workspaces.
Version
-11.6.2
+11.6.3
Description
npm is the package manager for the Node JavaScript platform.
It puts modules in place so that node can find them, and manages dependency conflicts intelligently.
diff --git a/deps/npm/docs/output/commands/npx.html b/deps/npm/docs/output/commands/npx.html
index 1358a8399dce97..721cfd0967e28b 100644
--- a/deps/npm/docs/output/commands/npx.html
+++ b/deps/npm/docs/output/commands/npx.html
@@ -141,9 +141,9 @@
-
+
npx
- @11.6.2
+ @11.6.3
Run a command from a local or remote npm package
diff --git a/deps/npm/docs/output/configuring-npm/folders.html b/deps/npm/docs/output/configuring-npm/folders.html
index 5b0f7946324bdf..506da51d46c0d6 100644
--- a/deps/npm/docs/output/configuring-npm/folders.html
+++ b/deps/npm/docs/output/configuring-npm/folders.html
@@ -141,9 +141,9 @@
-
+
folders
- @11.6.2
+ @11.6.3
Folder Structures Used by npm
diff --git a/deps/npm/docs/output/configuring-npm/install.html b/deps/npm/docs/output/configuring-npm/install.html
index 2c55261fc691f4..a4f342963dd06f 100644
--- a/deps/npm/docs/output/configuring-npm/install.html
+++ b/deps/npm/docs/output/configuring-npm/install.html
@@ -141,9 +141,9 @@
-
+
install
- @11.6.2
+ @11.6.3
Download and install node and npm
diff --git a/deps/npm/docs/output/configuring-npm/npm-global.html b/deps/npm/docs/output/configuring-npm/npm-global.html
index 5b0f7946324bdf..506da51d46c0d6 100644
--- a/deps/npm/docs/output/configuring-npm/npm-global.html
+++ b/deps/npm/docs/output/configuring-npm/npm-global.html
@@ -141,9 +141,9 @@
-
+
folders
- @11.6.2
+ @11.6.3
Folder Structures Used by npm
diff --git a/deps/npm/docs/output/configuring-npm/npm-json.html b/deps/npm/docs/output/configuring-npm/npm-json.html
index bd50e9c1f15907..6682591557b5a4 100644
--- a/deps/npm/docs/output/configuring-npm/npm-json.html
+++ b/deps/npm/docs/output/configuring-npm/npm-json.html
@@ -141,9 +141,9 @@
-
+
package.json
- @11.6.2
+ @11.6.3
Specifics of npm's package.json handling
diff --git a/deps/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html b/deps/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html
index db174340c220bf..2d81edfc27cf39 100644
--- a/deps/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html
+++ b/deps/npm/docs/output/configuring-npm/npm-shrinkwrap-json.html
@@ -141,9 +141,9 @@
-
+
npm-shrinkwrap.json
- @11.6.2
+ @11.6.3
A publishable lockfile
diff --git a/deps/npm/docs/output/configuring-npm/npmrc.html b/deps/npm/docs/output/configuring-npm/npmrc.html
index 819e8c80b66213..2b2b876a44188f 100644
--- a/deps/npm/docs/output/configuring-npm/npmrc.html
+++ b/deps/npm/docs/output/configuring-npm/npmrc.html
@@ -141,9 +141,9 @@
-
+
npmrc
- @11.6.2
+ @11.6.3
The npm config files
diff --git a/deps/npm/docs/output/configuring-npm/package-json.html b/deps/npm/docs/output/configuring-npm/package-json.html
index bd50e9c1f15907..6682591557b5a4 100644
--- a/deps/npm/docs/output/configuring-npm/package-json.html
+++ b/deps/npm/docs/output/configuring-npm/package-json.html
@@ -141,9 +141,9 @@
-
+
package.json
- @11.6.2
+ @11.6.3
Specifics of npm's package.json handling
diff --git a/deps/npm/docs/output/configuring-npm/package-lock-json.html b/deps/npm/docs/output/configuring-npm/package-lock-json.html
index cfb5d95a827395..1065eb0f69bd8f 100644
--- a/deps/npm/docs/output/configuring-npm/package-lock-json.html
+++ b/deps/npm/docs/output/configuring-npm/package-lock-json.html
@@ -141,9 +141,9 @@
-
+
package-lock.json
- @11.6.2
+ @11.6.3
A manifestation of the manifest
diff --git a/deps/npm/docs/output/using-npm/config.html b/deps/npm/docs/output/using-npm/config.html
index 1cffacc56efad2..12fff8d16e8067 100644
--- a/deps/npm/docs/output/using-npm/config.html
+++ b/deps/npm/docs/output/using-npm/config.html
@@ -141,16 +141,16 @@
-
+
config
- @11.6.2
+ @11.6.3
More than you probably want to know about npm configuration
Description
@@ -244,77 +244,75 @@
_auth
- Default: null
- Type: null or String
-
A basic-auth string to use when authenticating against the npm
-registry. This will ONLY be used to authenticate against the npm
-registry. For other registries you will need to scope it like
-"//other-registry.tld/:_auth"
-
Warning: This should generally not be set via a command-line option.
-It is safer to use a registry-provided authentication bearer token
-stored in the ~/.npmrc file by running npm login.
+
A basic-auth string to use when authenticating against the npm registry.
+This will ONLY be used to authenticate against the npm registry. For other
+registries you will need to scope it like "//other-registry.tld/:_auth"
+
Warning: This should generally not be set via a command-line option. It is
+safer to use a registry-provided authentication bearer token stored in the
+~/.npmrc file by running npm login.
access
-- Default: 'public' for new packages, existing packages it will not
-change the current level
+- Default: 'public' for new packages, existing packages it will not change the
+current level
- Type: null, "restricted", or "public"
If you do not want your scoped package to be publicly viewable (and
installable) set --access=restricted.
Unscoped packages cannot be set to restricted.
-
Note: This defaults to not changing the current access level for
-existing packages. Specifying a value of restricted or public
-during publish will change the access for an existing package the
-same way that npm access set status would.
+
Note: This defaults to not changing the current access level for existing
+packages. Specifying a value of restricted or public during publish will
+change the access for an existing package the same way that npm access set status would.
all
- Default: false
- Type: Boolean
-
When running npm outdated and npm ls, setting --all will show
-all outdated or installed packages, rather than only those directly
-depended upon by the current project.
+
When running npm outdated and npm ls, setting --all will show all
+outdated or installed packages, rather than only those directly depended
+upon by the current project.
allow-same-version
- Default: false
- Type: Boolean
-
Prevents throwing an error when npm version is used to set the new
-version to the same value as the current version.
+
Prevents throwing an error when npm version is used to set the new version
+to the same value as the current version.
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 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 for details on what is
+submitted.
audit-level
- Default: null
- Type: null, "info", "low", "moderate", "high", "critical", or "none"
-
The minimum level of vulnerability for npm audit to exit with a
-non-zero exit code.
+
The minimum level of vulnerability for npm audit to exit with a non-zero
+exit code.
auth-type
- Default: "web"
- Type: "legacy" or "web"
-
What authentication strategy to use with login. Note that if an
-otp config is given, this value will always be set to legacy.
+
What authentication strategy to use with login. Note that if an otp
+config is given, this value will always be set to legacy.
before
- Default: null
- Type: null or Date
If passed to npm install, will rebuild the npm tree such that only
-versions that were available on or before the given date are
-installed. If there are no versions available for the current set of
-dependencies, the command will error.
-
If the requested version is a dist-tag and the given tag does not
-pass the --before filter, the most recent version less than or
-equal to that tag will be used. For example, foo@latest might
-install foo@1.2 even though latest is 2.0.
+versions that were available
on or before the given date are installed.
+If there are no versions available for the current set of dependencies, the
+command will error.
+
If the requested version is a dist-tag and the given tag does not pass the
+--before filter, the most recent version less than or equal to that tag
+will be used. For example, foo@latest might install foo@1.2 even though
+latest is 2.0.
bin-links
- Default: true
@@ -322,9 +320,9 @@ bin-links
Tells npm to create symlinks (or .cmd shims on Windows) for package
executables.
-
Set to false to have it not do this. This can be used to work around
-the fact that some file systems don't support symlinks, even on
-ostensibly Unix systems.
+
Set to false to have it not do this. This can be used to work around the
+fact that some file systems don't support symlinks, even on ostensibly Unix
+systems.
browser
- Default: macOS:
"open", Windows: "start", Others: "xdg-open"
@@ -334,19 +332,27 @@ browser
Set to false to suppress browser behavior and instead print urls to
terminal.
Set to true to use default system URL opener.
+bypass-2fa
+
+- Default: false
+- Type: Boolean
+
+When creating a Granular Access Token with npm token create, setting this
+to true will allow the token to bypass two-factor authentication. This is
+useful for automation and CI/CD workflows.
ca
- Default: null
- Type: null or String (can be set multiple times)
The Certificate Authority signing certificate that is trusted for SSL
-connections to the registry. Values should be in PEM format (Windows
-calls it "Base-64 encoded X.509 (.CER)") with newlines replaced by
-the string "\n". For example:
+connections to the registry. Values should be in PEM format (Windows calls
+it "Base-64 encoded X.509 (.CER)") with newlines replaced by the string
+"\n". For example:
ca="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
-
Set to null to only allow "known" registrars, or to a specific CA
-cert to trust only that specific signing authority.
+
Set to null to only allow "known" registrars, or to a specific CA cert to
+trust only that specific signing authority.
Multiple CAs can be trusted by specifying an array of certificates:
ca[]="..."
ca[]="..."
@@ -363,18 +369,16 @@ cafile
- Default: null
- Type: Path
-A path to a file containing one or multiple Certificate Authority
-signing certificates. Similar to the ca setting, but allows for
-multiple CA's, as well as for the CA information to be stored in a
-file on disk.
+A path to a file containing one or multiple Certificate Authority signing
+certificates. Similar to the ca setting, but allows for multiple CA's, as
+well as for the CA information to be stored in a file on disk.
call
-Optional companion option for npm exec, npx that allows for
-specifying a custom command to be run along with the installed
-packages.
+Optional companion option for npm exec, npx that allows for specifying a
+custom command to be run along with the installed packages.
npm exec --package yo --package generator-node --call "yo node"
cidr
@@ -382,16 +386,15 @@ cidr
- Default: null
- Type: null or String (can be set multiple times)
-This is a list of CIDR address to be used when configuring limited
-access tokens with the npm token create command.
+This is a list of CIDR address to be used when configuring limited access
+tokens with the npm token create command.
color
-- Default: true unless the NO_COLOR environ is set to something other
-than '0'
+- Default: true unless the NO_COLOR environ is set to something other than '0'
- Type: "always" or Boolean
-If false, never shows colors. If "always" then always shows colors.
-If true, then only prints color codes for tty file descriptors.
+If false, never shows colors. If "always" then always shows colors. If
+true, then only prints color codes for tty file descriptors.
commit-hooks
- Default: true
@@ -403,18 +406,16 @@ cpu
- Default: null
- Type: null or String
-Override CPU architecture of native modules to install. Acceptable
-values are same as cpu field of package.json, which comes from
-process.arch.
+Override CPU architecture of native modules to install. Acceptable values
+are same as cpu field of package.json, which comes from process.arch.
depth
- Default:
Infinity if --all is set; otherwise, 0
- Type: null or Number
The depth to go when recursing packages for npm ls.
-If not set, npm ls will show only the immediate dependencies of the
-root project. If --all is set, then npm will show all dependencies
-by default.
+If not set, npm ls will show only the immediate dependencies of the root
+project. If --all is set, then npm will show all dependencies by default.
description
- Default: true
@@ -476,13 +477,12 @@ dry-run
- Default: false
- Type: Boolean
-Indicates that you don't want npm to make any changes and that it
-should only report what it would have done. This can be passed into
-any of the commands that modify your local installation, eg,
-install, update, dedupe, uninstall, as well as pack and
-publish.
-Note: This is NOT honored by other network related commands, eg
-dist-tags, owner, etc.
+Indicates that you don't want npm to make any changes and that it should
+only report what it would have done. This can be passed into any of the
+commands that modify your local installation, eg, install, update,
+dedupe, uninstall, as well as pack and publish.
+Note: This is NOT honored by other network related commands, eg dist-tags,
+owner, etc.
editor
- Default: The EDITOR or VISUAL environment variables, or
@@ -495,9 +495,9 @@
engine-strict
- Default: false
- Type: Boolean
-If set to true, then npm will stubbornly refuse to install (or even
-consider installing) any package that claims to not be compatible
-with the current Node.js version.
+If set to true, then npm will stubbornly refuse to install (or even consider
+installing) any package that claims to not be compatible with the current
+Node.js version.
This can be overridden by setting the --force flag.
expect-result-count
@@ -511,25 +511,32 @@ expect-results
- Default: null
- Type: null or Boolean
-Tells npm whether or not to expect results from the command. Can be
-either true (expect some results) or false (expect no results).
+Tells npm whether or not to expect results from the command. Can be either
+true (expect some results) or false (expect no results).
This config cannot be used with: expect-result-count
+expires
+
+- Default: null
+- Type: null or Number
+
+When creating a Granular Access Token with npm token create, this sets the
+expiration in days. If not specified, the server will determine the default
+expiration.
fetch-retries
-The "retries" config for the retry module to use when fetching
-packages from the registry.
-npm will retry idempotent read requests to the registry in the case
-of network failures or 5xx HTTP errors.
+The "retries" config for the retry module to use when fetching packages
+from the registry.
+npm will retry idempotent read requests to the registry in the case of
+network failures or 5xx HTTP errors.
fetch-retry-factor
-The "factor" config for the retry module to use when fetching
-packages.
+The "factor" config for the retry module to use when fetching packages.
fetch-retry-maxtimeout
- Default: 60000 (1 minute)
@@ -561,16 +568,14 @@ force
- 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 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.
+- Allow conflicting peerDependencies to be installed in the root project.
- Implicitly set
--yes during npm init.
- Allow clobbering existing values in
npm pkg
- Allow unpublishing of entire packages (not just a single version).
@@ -579,58 +584,54 @@ force
recommended that you do not use this option!
foreground-scripts
-- Default:
false unless when using npm pack or npm publish where
-it defaults to true
+- Default:
false unless when using npm pack or npm publish where it
+defaults to true
- Type: Boolean
-Run all build scripts (ie, preinstall, install, and
-postinstall) scripts for installed packages in the foreground
-process, sharing standard input, output, and error with the main npm
-process.
-Note that this will generally make installs run slower, and be much
-noisier, but can be useful for debugging.
+Run all build scripts (ie, preinstall, install, and postinstall)
+scripts for installed packages in the foreground process, sharing standard
+input, output, and error with the main npm process.
+Note that this will generally make installs run slower, and be much noisier,
+but can be useful for debugging.
- Default: true
- Type: Boolean
-Format package-lock.json or npm-shrinkwrap.json as a human
-readable file.
+Format package-lock.json or npm-shrinkwrap.json as a human readable
+file.
fund
- Default: true
- Type: Boolean
When "true" displays the message at the end of each npm install
-acknowledging the number of dependencies looking for funding. See
-npm fund for details.
+acknowledging the number of dependencies looking for funding. See npm fund for details.
git
- Default: "git"
- Type: String
-The command to use for git commands. If git is installed on the
-computer, but is not in the PATH, then set this to the full path to
-the git binary.
+The command to use for git commands. If git is installed on the computer,
+but is not in the PATH, then set this to the full path to the git binary.
git-tag-version
- Default: true
- Type: Boolean
-Tag the commit when using the npm version command. Setting this to
-false results in no commit being made at all.
+Tag the commit when using the npm version command. Setting this to false
+results in no commit being made at all.
global
- Default: false
- Type: Boolean
-Operates in "global" mode, so that packages are installed into the
-prefix folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+Operates in "global" mode, so that packages are installed into the prefix
+folder instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
@@ -653,20 +654,20 @@ https-proxy
- Type: null or URL
A proxy to use for outgoing https requests. If the HTTPS_PROXY or
-https_proxy or HTTP_PROXY or http_proxy environment variables
-are set, proxy settings will be honored by the underlying
-make-fetch-happen library.
+https_proxy or HTTP_PROXY or http_proxy environment variables are set,
+proxy settings will be honored by the underlying make-fetch-happen
+library.
if-present
- Default: false
- Type: Boolean
-If true, npm will not exit with an error code when run is invoked
-for a script that isn't defined in the scripts section of
-package.json. This option can be used when it's desirable to
-optionally run a script when it's present and fail if the script
-fails. This is useful, for example, when running scripts that may
-only apply for some builds in an otherwise generic CI setup.
+If true, npm will not exit with an error code when run is invoked for a
+script that isn't defined in the scripts section of package.json. This
+option can be used when it's desirable to optionally run a script when it's
+present and fail if the script fails. This is useful, for example, when
+running scripts that may only apply for some builds in an otherwise generic
+CI setup.
This value is not exported to the environment for child processes.
ignore-scripts
@@ -674,28 +675,26 @@ ignore-scripts
- Type: Boolean
If true, npm does not run scripts specified in package.json files.
-Note that commands explicitly intended to run a particular script,
-such as npm start, npm stop, npm restart, npm test, and npm run will still run their intended script if ignore-scripts is set,
-but they will not run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as
+npm start, npm stop, npm restart, npm test, and npm run will still
+run their intended script if ignore-scripts is set, but they will not
+run any pre- or post-scripts.
include
- Default:
-- Type: "prod", "dev", "optional", or "peer" (can be set multiple
-times)
+- Type: "prod", "dev", "optional", or "peer" (can be set multiple times)
-Option that allows for defining which types of dependencies to
-install.
+Option that allows for defining which types of dependencies to install.
This is the inverse of --omit=<type>.
-Dependency types specified in --include will not be omitted,
-regardless of the order in which omit/include are specified on the
-command-line.
+Dependency types specified in --include will not be omitted, regardless of
+the order in which omit/include are specified on the command-line.
include-staged
- Default: false
- Type: Boolean
-Allow installing "staged" published packages, as defined by npm RFC
-PR #92.
+Allow installing "staged" published packages, as defined by npm RFC PR
+#92.
This is experimental, and not implemented by the npm public registry.
include-workspace-root
@@ -703,25 +702,22 @@ include-workspace-root
- 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.
+When false, specifying individual workspaces via the workspace config, or
+all workspaces via the workspaces flag, will cause npm to operate only on
+the specified workspaces, and not on the root project.
This value is not exported to the environment for child processes.
init-author-email
-The value npm init should use by default for the package author's
-email.
+The value npm init should use by default for the package author's email.
init-author-name
-The value npm init should use by default for the package author's
-name.
+The value npm init should use by default for the package author's name.
init-author-url
- Default: ""
@@ -742,49 +738,47 @@ init-module
A module that will be loaded by the npm init command. See the
documentation for the
-init-package-json module
-for more information, or npm init.
+init-package-json module for
+more information, or npm init.
init-private
- Default: false
- Type: Boolean
-The value npm init should use by default for the package's private
-flag.
+The value npm init should use by default for the package's private flag.
init-type
- Default: "commonjs"
- Type: String
-The value that npm init should use by default for the package.json
-type field.
+The value that npm init should use by default for the package.json type
+field.
init-version
- Default: "1.0.0"
- Type: SemVer string
-The value that npm init should use by default for the package
-version number, if not already set in package.json.
+The value that npm init should use by default for the package version
+number, if not already set in package.json.
install-links
- Default: false
- Type: Boolean
-When set file: protocol dependencies will be packed and installed as
-regular dependencies instead of creating a symlink. This option has
-no effect on workspaces.
+When set file: protocol dependencies will be packed and installed as regular
+dependencies instead of creating a symlink. This option has no effect on
+workspaces.
install-strategy
- Default: "hoisted"
- Type: "hoisted", "nested", "shallow", or "linked"
Sets the strategy for installing packages in node_modules. hoisted
-(default): Install non-duplicated in top-level, and duplicated as
-necessary within directory structure. nested: (formerly
---legacy-bundling) install in place, no hoisting. shallow (formerly
---global-style) only install direct deps at top-level. linked:
-(experimental) install in node_modules/.store, link in place,
-unhoisted.
+(default): Install non-duplicated in top-level, and duplicated as necessary
+within directory structure. nested: (formerly --legacy-bundling) install in
+place, no hoisting. shallow (formerly --global-style) only install direct
+deps at top-level. linked: (experimental) install in node_modules/.store,
+link in place, unhoisted.
json
- Default: false
@@ -792,8 +786,8 @@ 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.
+- 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.
legacy-peer-deps
@@ -801,83 +795,77 @@ legacy-peer-deps
- Default: false
- Type: Boolean
-Causes npm to completely ignore peerDependencies when building a
-package tree, as in npm versions 3 through 6.
-If a package cannot be installed because of overly strict
-peerDependencies that collide, it provides a way to move forward
-resolving the situation.
-This differs from --omit=peer, in that --omit=peer will avoid
-unpacking peerDependencies on disk, but will still design a tree
-such that peerDependencies could be unpacked in a correct place.
-Use of legacy-peer-deps is not recommended, as it will not enforce
-the peerDependencies contract that meta-dependencies may rely on.
+Causes npm to completely ignore peerDependencies when building a package
+tree, as in npm versions 3 through 6.
+If a package cannot be installed because of overly strict peerDependencies
+that collide, it provides a way to move forward resolving the situation.
+This differs from --omit=peer, in that --omit=peer will avoid unpacking
+peerDependencies on disk, but will still design a tree such that
+peerDependencies could be unpacked in a correct place.
+Use of legacy-peer-deps is not recommended, as it will not enforce the
+peerDependencies contract that meta-dependencies may rely on.
libc
- Default: null
- Type: null or String
-Override libc of native modules to install. Acceptable values are
-same as libc field of package.json
+Override libc of native modules to install. Acceptable values are same as
+libc field of package.json
link
- Default: false
- Type: Boolean
-Used with npm ls, limiting output to only those packages that are
-linked.
+Used with npm ls, limiting output to only those packages that are linked.
local-address
- Default: null
- Type: IP Address
-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.
+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"
+- Default: "user" unless
--global is passed, which will also set this value
+to "global"
- Type: "global", "user", or "project"
When passed to npm config this refers to which config file to use.
-When set to "global" mode, packages are installed into the prefix
-folder instead of the current working directory. See
-folders for more on the differences in
-behavior.
+When set to "global" mode, packages are installed into the prefix folder
+instead of the current working directory. See
+folders for more on the differences in behavior.
-- packages are installed into the
{prefix}/lib/node_modules folder,
-instead of the current working directory.
+- packages are installed into the
{prefix}/lib/node_modules folder, instead
+of the current working directory.
- bin files are linked to
{prefix}/bin
- man pages are linked to
{prefix}/share/man
lockfile-version
-- Default: Version 3 if no lockfile, auto-converting v1 lockfiles to
-v3; otherwise, maintain current lockfile version.
+- Default: Version 3 if no lockfile, auto-converting v1 lockfiles to v3;
+otherwise, maintain current lockfile version.
- Type: null, 1, 2, 3, "1", "2", or "3"
Set the lockfile format version to be used in package-lock.json and
npm-shrinkwrap-json files. Possible options are:
-1: The lockfile version used by npm versions 5 and 6. Lacks some data
-that is used during the install, resulting in slower and possibly
-less deterministic installs. Prevents lockfile churn when
-interoperating with older npm versions.
-2: The default lockfile version used by npm version 7 and 8. Includes
-both the version 1 lockfile data and version 3 lockfile data, for
-maximum determinism and interoperability, at the expense of more
-bytes on disk.
-3: Only the new lockfile information introduced in npm version 7.
-Smaller on disk than lockfile version 2, but not interoperable with
-older npm versions. Ideal if all users are on npm version 7 and
-higher.
+1: The lockfile version used by npm versions 5 and 6. Lacks some data that
+is used during the install, resulting in slower and possibly less
+deterministic installs. Prevents lockfile churn when interoperating with
+older npm versions.
+2: The default lockfile version used by npm version 7 and 8. Includes both
+the version 1 lockfile data and version 3 lockfile data, for maximum
+determinism and interoperability, at the expense of more bytes on disk.
+3: Only the new lockfile information introduced in npm version 7. Smaller on
+disk than lockfile version 2, but not interoperable with older npm versions.
+Ideal if all users are on npm version 7 and higher.
loglevel
- Default: "notice"
-- Type: "silent", "error", "warn", "notice", "http", "info", "verbose",
-or "silly"
+- Type: "silent", "error", "warn", "notice", "http", "info", "verbose", or
+"silly"
-What level of logs to report. All logs are written to a debug log,
-with the path to that file printed if the execution of a command
-fails.
+What level of logs to report. All logs are written to a debug log, with the
+path to that file printed if the execution of a command fails.
Any logs of a higher level than the setting are shown. The default is
"notice".
See also the foreground-scripts config.
@@ -886,7 +874,8 @@ logs-dir
- Default: A directory named
_logs inside the cache
- Type: null or Path
-The location of npm's log directory. See npm logging for more information.
+The location of npm's log directory. See npm logging
+for more information.
logs-max
- Default: 10
@@ -905,33 +894,39 @@ maxsockets
- Default: 15
- Type: Number
-The maximum number of connections to use per origin
-(protocol/host/port combination).
+The maximum number of connections to use per origin (protocol/host/port
+combination).
message
- Default: "%s"
- Type: String
-Commit message which is used by npm version when creating version
-commit.
+Commit message which is used by npm version when creating version commit.
Any "%s" in the message will be replaced with the version number.
+name
+
+- Default: null
+- Type: null or String
+
+When creating a Granular Access Token with npm token create, this sets the
+name/description for the token.
node-gyp
- Default: The path to the node-gyp bin that ships with npm
- Type: Path
-This is the location of the "node-gyp" bin. By default it uses one
-that ships with npm itself.
-You can use this config to specify your own "node-gyp" to run when it
-is required to build a package.
+This is the location of the "node-gyp" bin. By default it uses one that
+ships with npm itself.
+You can use this config to specify your own "node-gyp" to run when it is
+required to build a package.
node-options
- Default: null
- Type: null or String
Options to pass through to Node.js via the NODE_OPTIONS environment
-variable. This does not impact how npm itself is executed but it does
-impact how lifecycle scripts are called.
+variable. This does not impact how npm itself is executed but it does impact
+how lifecycle scripts are called.
noproxy
- Default: The value of the NO_PROXY environment variable
@@ -944,9 +939,8 @@ offline
- Default: false
- Type: Boolean
-Force offline mode: no network requests will be done during install.
-To allow the CLI to fill in missing cache data, see
---prefer-offline.
+Force offline mode: no network requests will be done during install. To
+allow the CLI to fill in missing cache data, see --prefer-offline.
omit
- Default: 'dev' if the
NODE_ENV environment variable is set to
@@ -957,36 +951,51 @@ omit
Note that these dependencies are still resolved and added to the
package-lock.json or npm-shrinkwrap.json file. They are just not
physically installed on disk.
-If a package type appears in both the --include and --omit lists,
-then it will be included.
-If the resulting omit list includes 'dev', then the NODE_ENV
-environment variable will be set to 'production' for all lifecycle
-scripts.
+If a package type appears in both the --include and --omit lists, then
+it will be included.
+If the resulting omit list includes 'dev', then the NODE_ENV environment
+variable will be set to 'production' for all lifecycle scripts.
omit-lockfile-registry-resolved
- Default: false
- Type: Boolean
-This option causes npm to create lock files without a resolved key
-for registry dependencies. Subsequent installs will need to resolve
-tarball endpoints with the configured registry, likely resulting in a
-longer install time.
+This option causes npm to create lock files without a resolved key for
+registry dependencies. Subsequent installs will need to resolve tarball
+endpoints with the configured registry, likely resulting in a longer install
+time.
+orgs
+
+- Default: null
+- Type: null or String (can be set multiple times)
+
+When creating a Granular Access Token with npm token create, this limits
+the token access to specific organizations. Provide a comma-separated list
+of organization names.
+orgs-permission
+
+- Default: null
+- Type: null, "read-only", "read-write", or "no-access"
+
+When creating a Granular Access Token with npm token create, sets the
+permission level for organizations. Options are "read-only", "read-write",
+or "no-access".
os
- Default: null
- Type: null or String
-Override OS of native modules to install. Acceptable values are same
-as os field of package.json, which comes from process.platform.
+Override OS of native modules to install. Acceptable values are same as os
+field of package.json, which comes from process.platform.
otp
- Default: null
- Type: null or String
-This is a one-time password from a two-factor authenticator. It's
-needed when publishing or changing package permissions with npm access.
-If not set, and a registry response fails with a challenge for a
-one-time password, npm will prompt on the command line for one.
+This is a one-time password from a two-factor authenticator. It's needed
+when publishing or changing package permissions with npm access.
+If not set, and a registry response fails with a challenge for a one-time
+password, npm will prompt on the command line for one.
pack-destination
- Default: "."
@@ -1004,91 +1013,117 @@ package-lock
- Default: true
- Type: Boolean
-If set to false, then ignore package-lock.json files when
-installing. This will also prevent writing package-lock.json if
-save is true.
+If set to false, then ignore package-lock.json files when installing. This
+will also prevent writing package-lock.json if save is true.
package-lock-only
- Default: false
- Type: Boolean
-If set to true, the current operation will only use the
-package-lock.json, ignoring node_modules.
+If set to true, the current operation will only use the package-lock.json,
+ignoring node_modules.
For update this means only the package-lock.json will be updated,
instead of checking node_modules and downloading dependencies.
-For list this means the output will be based on the tree described
-by the package-lock.json, rather than the contents of
-node_modules.
+For list this means the output will be based on the tree described by the
+package-lock.json, rather than the contents of node_modules.
+packages
+
+- Default:
+- Type: null or String (can be set multiple times)
+
+When creating a Granular Access Token with npm token create, this limits
+the token access to specific packages. Provide a comma-separated list of
+package names.
+packages-all
+
+- Default: false
+- Type: Boolean
+
+When creating a Granular Access Token with npm token create, grants the
+token access to all packages instead of limiting to specific packages.
+packages-and-scopes-permission
+
+- Default: null
+- Type: null, "read-only", "read-write", or "no-access"
+
+When creating a Granular Access Token with npm token create, sets the
+permission level for packages and scopes. Options are "read-only",
+"read-write", or "no-access".
parseable
- Default: false
- Type: Boolean
-Output parseable results from commands that write to standard output.
-For npm search, this will be tab-separated table format.
+Output parseable results from commands that write to standard output. For
+npm search, this will be tab-separated table format.
+password
+
+- Default: null
+- Type: null or String
+
+Password for authentication. Can be provided via command line when creating
+tokens, though it's generally safer to be prompted for it.
prefer-dedupe
- Default: false
- Type: Boolean
-Prefer to deduplicate packages if possible, rather than choosing a
-newer version of a dependency.
+Prefer to deduplicate packages if possible, rather than choosing a newer
+version of a dependency.
prefer-offline
- Default: false
- Type: Boolean
-If true, staleness checks for cached data will be bypassed, but
-missing data will be requested from the server. To force full offline
-mode, use --offline.
+If true, staleness checks for cached data will be bypassed, but missing data
+will be requested from the server. To force full offline mode, use
+--offline.
prefer-online
- Default: false
- Type: Boolean
-If true, staleness checks for cached data will be forced, making the
-CLI look for updates immediately even for fresh package data.
+If true, staleness checks for cached data will be forced, making the CLI
+look for updates immediately even for fresh package data.
prefix
-- Default: In global mode, the folder where the node executable is
-installed. Otherwise, the nearest parent folder containing either a
-package.json file or a node_modules folder.
+- Default: In global mode, the folder where the node executable is installed.
+Otherwise, the nearest parent folder containing either a package.json file
+or a node_modules folder.
- Type: Path
-The location to install global items. If set on the command line,
-then it forces non-global commands to run in the specified folder.
+The location to install global items. If set on the command line, then it
+forces non-global commands to run in the specified folder.
preid
-The "prerelease identifier" to use as a prefix for the "prerelease"
-part of a semver. Like the rc in 1.2.0-rc.8.
+The "prerelease identifier" to use as a prefix for the "prerelease" part of
+a semver. Like the rc in 1.2.0-rc.8.
progress
-- Default:
true when not in CI and both stderr and stdout are TTYs
-and not in a dumb terminal
+- Default:
true when not in CI and both stderr and stdout are TTYs and not
+in a dumb terminal
- Type: Boolean
-When set to true, npm will display a progress bar during time
-intensive operations, if process.stderr and process.stdout are a
-TTY.
+When set to true, npm will display a progress bar during time intensive
+operations, if process.stderr and process.stdout are a TTY.
Set to false to suppress the progress bar.
provenance
- Default: false
- Type: Boolean
-When publishing from a supported cloud CI/CD system, the package will
-be publicly linked to where it was built and published from.
+When publishing from a supported cloud CI/CD system, the package will be
+publicly linked to where it was built and published from.
This config cannot be used with: provenance-file
provenance-file
-When publishing, the provenance bundle at the given path will be
-used.
+When publishing, the provenance bundle at the given path will be used.
This config cannot be used with: provenance
proxy
@@ -1096,15 +1131,15 @@ proxy
- Type: null, false, or URL
A proxy to use for outgoing http requests. If the HTTP_PROXY or
-http_proxy environment variables are set, proxy settings will be
-honored by the underlying request library.
+http_proxy environment variables are set, proxy settings will be honored
+by the underlying request library.
read-only
- Default: false
- Type: Boolean
-This is used to mark a token as unable to publish when configuring
-limited access tokens with the npm token create command.
+This is used to mark a token as unable to publish when configuring limited
+access tokens with the npm token create command.
rebuild-bundle
- Default: true
@@ -1122,17 +1157,16 @@ replace-registry-host
- Default: "npmjs"
- Type: "npmjs", "never", "always", or String
-Defines behavior for replacing the registry host in a lockfile with
-the configured registry.
+Defines behavior for replacing the registry host in a lockfile with the
+configured registry.
The default behavior is to replace package dist URLs from the default
-registry (https://registry.npmjs.org) to the configured registry. If
-set to "never", then use the registry value. If set to "always", then
-replace the registry host with the configured host every time.
+registry (https://registry.npmjs.org) to the configured registry. If set to
+"never", then use the registry value. If set to "always", then replace the
+registry host with the configured host every time.
You may also specify a bare hostname (e.g., "registry.npmjs.org").
save
-- Default:
true unless when using npm update where it defaults to
-false
+- Default:
true unless when using npm update where it defaults to false
- Type: Boolean
Save installed packages to a package.json file as dependencies.
@@ -1147,30 +1181,27 @@ save-bundle
If a package would be saved at install time by the use of --save,
--save-dev, or --save-optional, then also put it in the
bundleDependencies list.
-Ignored if --save-peer is set, since peerDependencies cannot be
-bundled.
+Ignored if --save-peer is set, since peerDependencies cannot be bundled.
save-dev
- Default: false
- Type: Boolean
Save installed packages to a package.json file as devDependencies.
-This config cannot be used with: save-optional, save-peer,
-save-prod
+This config cannot be used with: save-optional, save-peer, save-prod
save-exact
- Default: false
- Type: Boolean
-Dependencies saved to package.json will be configured with an exact
-version rather than using npm's default semver range operator.
+Dependencies saved to package.json will be configured with an exact version
+rather than using npm's default semver range operator.
save-optional
- Default: false
- Type: Boolean
-Save installed packages to a package.json file as
-optionalDependencies.
+Save installed packages to a package.json file as optionalDependencies.
This config cannot be used with: save-dev, save-peer, save-prod
save-peer
@@ -1178,32 +1209,28 @@ save-peer
- Type: Boolean
Save installed packages to a package.json file as peerDependencies
-This config cannot be used with: save-dev, save-optional,
-save-prod
+This config cannot be used with: save-dev, save-optional, save-prod
save-prefix
- Default: "^"
- Type: String
-Configure how versions of packages installed to a package.json file
-via --save or --save-dev get prefixed.
-For example if a package has version 1.2.3, by default its version
-is set to ^1.2.3 which allows minor upgrades for that package, but
-after npm config set save-prefix='~' it would be set to ~1.2.3
-which only allows patch upgrades.
+Configure how versions of packages installed to a package.json file via
+--save or --save-dev get prefixed.
+For example if a package has version 1.2.3, by default its version is set
+to ^1.2.3 which allows minor upgrades for that package, but after npm config set save-prefix='~' it would be set to ~1.2.3 which only allows
+patch upgrades.
save-prod
- Default: false
- Type: Boolean
-Save installed packages into dependencies specifically. This is
-useful if a package already exists in devDependencies or
-optionalDependencies, but you want to move it to be a non-optional
-production dependency.
-This is the default behavior if --save is true, and neither
---save-dev or --save-optional are true.
-This config cannot be used with: save-dev, save-optional,
-save-peer
+Save installed packages into dependencies specifically. This is useful if
+a package already exists in devDependencies or optionalDependencies, but
+you want to move it to be a non-optional production dependency.
+This is the default behavior if --save is true, and neither --save-dev
+or --save-optional are true.
+This config cannot be used with: save-dev, save-optional, save-peer
- Default: null
@@ -1215,9 +1242,9 @@ sbom-type
- Default: "library"
- Type: "library", "application", or "framework"
-The type of package described by the generated SBOM. For SPDX, this
-is the value for the primaryPackagePurpose field. For CycloneDX,
-this is the value for the type field.
+The type of package described by the generated SBOM. For SPDX, this is the
+value for the primaryPackagePurpose field. For CycloneDX, this is the
+value for the type field.
scope
- Default: the scope of the current project, if any, or ""
@@ -1239,13 +1266,20 @@ scope
# instead of just named "whatever"
npm init --scope=@foo --yes
+
scopes
+
+- Default: null
+- Type: null or String (can be set multiple times)
+
+
When creating a Granular Access Token with npm token create, this limits
+the token access to specific scopes. Provide a comma-separated list of scope
+names (with or without @ prefix).
script-shell
- Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
- Type: null or String
-
The shell to use for scripts run with the npm exec, npm run and
-npm init <package-spec> commands.
+
The shell to use for scripts run with the npm exec, npm run and npm init <package-spec> commands.
searchexclude
- Default: ""
@@ -1257,8 +1291,8 @@ searchlimit
- Default: 20
- Type: Number
-
Number of items to limit search results to. Will not apply at all to
-legacy searches.
+
Number of items to limit search results to. Will not apply at all to legacy
+searches.
searchopts
- Default: ""
@@ -1270,12 +1304,12 @@ searchstaleness
- Default: 900
- Type: Number
-
The age of the cache, in seconds, before another registry request is
-made if using legacy search endpoint.
+
The age of the cache, in seconds, before another registry request is made if
+using legacy search endpoint.
shell
-- Default: SHELL environment variable, or "bash" on Posix, or "cmd.exe"
-on Windows
+- Default: SHELL environment variable, or "bash" on Posix, or "cmd.exe" on
+Windows
- Type: String
The shell to run for the npm explore command.
@@ -1284,111 +1318,114 @@
sign-git-commit
- Default: false
- Type: Boolean
-
If set to true, then the npm version command will commit the new
-package version using -S to add a signature.
-
Note that git requires you to have set up GPG keys in your git
-configs for this to work properly.
+
If set to true, then the npm version command will commit the new package
+version using -S to add a signature.
+
Note that git requires you to have set up GPG keys in your git configs for
+this to work properly.
sign-git-tag
- Default: false
- Type: Boolean
-
If set to true, then the npm version command will tag the version
-using -s to add a signature.
-
Note that git requires you to have set up GPG keys in your git
-configs for this to work properly.
+
If set to true, then the npm version command will tag the version using
+-s to add a signature.
+
Note that git requires you to have set up GPG keys in your git configs for
+this to work properly.
strict-peer-deps
- Default: false
- Type: Boolean
If set to true, and --legacy-peer-deps is not set, then any
-conflicting peerDependencies will be treated as an install failure,
-even if npm could reasonably guess the appropriate resolution based
-on non-peer dependency relationships.
-
By default, conflicting peerDependencies deep in the dependency
-graph will be resolved using the nearest non-peer dependency
-specification, even if doing so will result in some packages
-receiving a peer dependency outside the range set in their package's
-peerDependencies object.
-
When such an override is performed, a warning is printed, explaining
-the conflict and the packages involved. If --strict-peer-deps is
-set, then this warning is treated as a failure.
+conflicting
peerDependencies will be treated as an install failure, even
+if npm could reasonably guess the appropriate resolution based on non-peer
+dependency relationships.
+
By default, conflicting peerDependencies deep in the dependency graph will
+be resolved using the nearest non-peer dependency specification, even if
+doing so will result in some packages receiving a peer dependency outside
+the range set in their package's peerDependencies object.
+
When such an override is performed, a warning is printed, explaining the
+conflict and the packages involved. If --strict-peer-deps is set, then
+this warning is treated as a failure.
strict-ssl
- Default: true
- Type: Boolean
-
Whether or not to do SSL key validation when making requests to the
-registry via https.
+
Whether or not to do SSL key validation when making requests to the registry
+via https.
See also the ca config.
tag
- Default: "latest"
- Type: String
-
If you ask npm to install a package and don't tell it a specific
-version, then it will install the specified tag.
+
If you ask npm to install a package and don't tell it a specific version,
+then it will install the specified tag.
It is the tag added to the package@version specified in the npm dist-tag add command, if no explicit tag is given.
-
When used by the npm diff command, this is the tag used to fetch
-the tarball that will be compared with the local files by default.
-
If used in the npm publish command, this is the tag that will be
-added to the package submitted to the registry.
+
When used by the npm diff command, this is the tag used to fetch the
+tarball that will be compared with the local files by default.
+
If used in the npm publish command, this is the tag that will be added to
+the package submitted to the registry.
tag-version-prefix
- Default: "v"
- Type: String
-
If set, alters the prefix used when tagging a new version when
-performing a version increment using npm version. To remove the
-prefix altogether, set it to the empty string: "".
-
Because other tools may rely on the convention that npm version tags
-look like v1.0.0, only use this property if it is absolutely
-necessary. In particular, use care when overriding this setting for
-public packages.
+
If set, alters the prefix used when tagging a new version when performing a
+version increment using npm version. To remove the prefix altogether, set
+it to the empty string: "".
+
Because other tools may rely on the convention that npm version tags look
+like v1.0.0, only use this property if it is absolutely necessary. In
+particular, use care when overriding this setting for public packages.
timing
- Default: false
- Type: Boolean
-
If true, writes timing information to a process specific json file in
-the cache or logs-dir. The file name ends with -timing.json.
-
You can quickly view it with this json command
-line: cat ~/.npm/_logs/*-timing.json | npm exec -- json -g.
-
Timing information will also be reported in the terminal. To suppress
-this while still writing the timing file, use --silent.
+
If true, writes timing information to a process specific json file in the
+cache or logs-dir. The file name ends with -timing.json.
+
You can quickly view it with this json command line:
+cat ~/.npm/_logs/*-timing.json | npm exec -- json -g.
+
Timing information will also be reported in the terminal. To suppress this
+while still writing the timing file, use --silent.
+
token-description
+
+- Default: null
+- Type: null or String
+
+
Description text for the token when using npm token create.
umask
- Default: 0
- Type: Octal numeric string in range 0000..0777 (0..511)
-
The "umask" value to use when setting the file creation mode on files
-and folders.
-
Folders and executables are given a mode which is 0o777 masked
-against this value. Other files are given a mode which is 0o666
-masked against this value.
-
Note that the underlying system will also apply its own umask value
-to files and folders that are created, and npm does not circumvent
-this, but rather adds the --umask config to it.
-
Thus, the effective default umask value on most POSIX systems is
-0o22, meaning that folders and executables are created with a mode of
-0o755 and other files are created with a mode of 0o644.
+
The "umask" value to use when setting the file creation mode on files and
+folders.
+
Folders and executables are given a mode which is 0o777 masked against
+this value. Other files are given a mode which is 0o666 masked against
+this value.
+
Note that the underlying system will also apply its own umask value to
+files and folders that are created, and npm does not circumvent this, but
+rather adds the --umask config to it.
+
Thus, the effective default umask value on most POSIX systems is 0o22,
+meaning that folders and executables are created with a mode of 0o755 and
+other files are created with a mode of 0o644.
unicode
-- Default: false on windows, true on mac/unix systems with a unicode
-locale, as defined by the
LC_ALL, LC_CTYPE, or LANG environment
-variables.
+- Default: false on windows, true on mac/unix systems with a unicode locale,
+as defined by the
LC_ALL, LC_CTYPE, or LANG environment variables.
- Type: Boolean
-
When set to true, npm uses unicode characters in the tree output.
-When false, it uses ascii characters instead of unicode glyphs.
+
When set to true, npm uses unicode characters in the tree output. When
+false, it uses ascii characters instead of unicode glyphs.
update-notifier
- Default: true
- Type: Boolean
-
Set to false to suppress the update notification when using an older
-version of npm than the latest.
+
Set to false to suppress the update notification when using an older version
+of npm than the latest.
usage
- Default: false
@@ -1401,17 +1438,17 @@ user-agent
workspaces/{workspaces} {ci}"
- Type: String
-
Sets the User-Agent request header. The following fields are replaced
-with their actual counterparts:
+
Sets the User-Agent request header. The following fields are replaced with
+their actual counterparts:
{npm-version} - The npm version in use
{node-version} - The Node.js version in use
{platform} - The value of process.platform
{arch} - The value of process.arch
-{workspaces} - Set to true if the workspaces or workspace
-options are set.
-{ci} - The value of the ci-name config, if set, prefixed with
-ci/, or an empty string if ci-name is empty.
+{workspaces} - Set to true if the workspaces or workspace options
+are set.
+{ci} - The value of the ci-name config, if set, prefixed with ci/, or
+an empty string if ci-name is empty.
userconfig
@@ -1419,9 +1456,9 @@ userconfig
- Type: Path
The location of user-level configuration settings.
-
This may be overridden by the npm_config_userconfig environment
-variable or the --userconfig command line option, but may not be
-overridden by settings in the globalconfig file.
+
This may be overridden by the npm_config_userconfig environment variable
+or the --userconfig command line option, but may not be overridden by
+settings in the globalconfig file.
version
- Default: false
@@ -1434,9 +1471,9 @@ versions
- Default: false
- Type: Boolean
-
If true, output the npm version as well as node's process.versions
-map and the version in the current working directory's package.json
-file if one exists, and exit successfully.
+
If true, output the npm version as well as node's process.versions map and
+the version in the current working directory's package.json file if one
+exists, and exit successfully.
Only relevant when specified explicitly on the command line.
viewer
@@ -1444,23 +1481,21 @@ viewer
- Type: String
The program to use to view help content.
-
Set to "browser" to view html help content in the default web
-browser.
+
Set to "browser" to view html help content in the default web browser.
which
- Default: null
- Type: null or Number
-
If there are multiple funding sources, which 1-indexed source URL to
-open.
+
If there are multiple funding sources, which 1-indexed source URL to open.
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.
+
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
@@ -1468,9 +1503,9 @@ workspace
- Path to a parent workspace directory (will result in selecting all
workspaces within that folder)
-
When set for the npm init command, this may be set to the folder of
-a workspace which does not yet exist, to create the folder and set it
-up as a brand new workspace within the project.
+
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
@@ -1479,14 +1514,13 @@ workspaces
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:
+
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.
+- Commands that operate on the
node_modules tree (install, update, etc.)
+will link workspaces into the node_modules folder. - Commands that do
+other things (test, exec, publish, etc.) will operate on the root project,
+unless one or more workspaces are specified in the workspace config.
This value is not exported to the environment for child processes.
workspaces-update
@@ -1494,9 +1528,8 @@
workspaces-update
- Default: true
- Type: Boolean
-
If set to true, the npm cli will run an update after operations that
-may possibly change the workspaces installed to the node_modules
-folder.
+
If set to true, the npm cli will run an update after operations that may
+possibly change the workspaces installed to the node_modules folder.
yes
- Default: null
@@ -1510,22 +1543,19 @@ also
- Type: null, "dev", or "development"
- DEPRECATED: Please use --include=dev instead.
-
When set to dev or development, this is an alias for
---include=dev.
+
When set to dev or development, this is an alias for --include=dev.
cache-max
- Default: Infinity
- Type: Number
-- DEPRECATED: This option has been deprecated in favor of
-
--prefer-online
+- DEPRECATED: This option has been deprecated in favor of
--prefer-online
--cache-max=0 is an alias for --prefer-online
cache-min
- Default: 0
- Type: Number
-- DEPRECATED: This option has been deprecated in favor of
-
--prefer-offline.
+- DEPRECATED: This option has been deprecated in favor of
--prefer-offline.
--cache-min=9999 (or bigger) is an alias for --prefer-offline.
cert
@@ -1533,13 +1563,13 @@
cert
- Default: null
- Type: null or String
- DEPRECATED:
key and cert are no longer used for most registry
-operations. Use registry scoped keyfile and certfile instead.
-Example: //other-registry.tld/:keyfile=/path/to/key.pem
+operations. Use registry scoped keyfile and certfile instead. Example:
+//other-registry.tld/:keyfile=/path/to/key.pem
//other-registry.tld/:certfile=/path/to/cert.crt
-
A client certificate to pass when accessing the registry. Values
-should be in PEM format (Windows calls it "Base-64 encoded X.509
-(.CER)") with newlines replaced by the string "\n". For example:
+
A client certificate to pass when accessing the registry. Values should be
+in PEM format (Windows calls it "Base-64 encoded X.509 (.CER)") with
+newlines replaced by the string "\n". For example:
cert="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
It is not the path to a certificate file, though you can set a
@@ -1559,8 +1589,8 @@
global-style
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=shallow
-
Only install direct dependencies in the top level node_modules, but
-hoist on deeper dependencies. Sets --install-strategy=shallow.
+
Only install direct dependencies in the top level node_modules, but hoist
+on deeper dependencies. Sets --install-strategy=shallow.
init.author.email
- Default: ""
@@ -1608,17 +1638,16 @@ key
- Default: null
- Type: null or String
- DEPRECATED:
key and cert are no longer used for most registry
-operations. Use registry scoped keyfile and certfile instead.
-Example: //other-registry.tld/:keyfile=/path/to/key.pem
+operations. Use registry scoped keyfile and certfile instead. Example:
+//other-registry.tld/:keyfile=/path/to/key.pem
//other-registry.tld/:certfile=/path/to/cert.crt
-
A client key to pass when accessing the registry. Values should be in
-PEM format with newlines replaced by the string "\n". For example:
+
A client key to pass when accessing the registry. Values should be in PEM
+format with newlines replaced by the string "\n". For example:
key="-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----"
-
It is not the path to a key file, though you can set a
-registry-scoped "keyfile" path like
-"//other-registry.tld/:keyfile=/path/to/key.pem".
+
It is not the path to a key file, though you can set a registry-scoped
+"keyfile" path like "//other-registry.tld/:keyfile=/path/to/key.pem".
legacy-bundling
- Default: false
@@ -1626,25 +1655,23 @@ legacy-bundling
- DEPRECATED: This option has been deprecated in favor of
--install-strategy=nested
-
Instead of hoisting package installs in node_modules, install
-packages in the same manner that they are depended on. This may cause
-very deep directory structures and duplicate package installs as
-there is no de-duplicating. Sets --install-strategy=nested.
+
Instead of hoisting package installs in node_modules, install packages in
+the same manner that they are depended on. This may cause very deep
+directory structures and duplicate package installs as there is no
+de-duplicating. Sets --install-strategy=nested.
only
- Default: null
- Type: null, "prod", or "production"
-- DEPRECATED: Use
--omit=dev to omit dev dependencies from the
-install.
+- DEPRECATED: Use
--omit=dev to omit dev dependencies from the install.
-
When set to prod or production, this is an alias for
---omit=dev.
+
When set to prod or production, this is an alias for --omit=dev.
optional
- Default: null
- Type: null or Boolean
-- DEPRECATED: Use
--omit=optional to exclude optional dependencies,
-or --include=optional to include them.
+- DEPRECATED: Use
--omit=optional to exclude optional dependencies, or
+--include=optional to include them.
Default value does install optional deps unless otherwise omitted.
Alias for --include=optional or --omit=optional
diff --git a/deps/npm/docs/output/using-npm/dependency-selectors.html b/deps/npm/docs/output/using-npm/dependency-selectors.html
index 67ea145085b0b6..a333f55fff5ce7 100644
--- a/deps/npm/docs/output/using-npm/dependency-selectors.html
+++ b/deps/npm/docs/output/using-npm/dependency-selectors.html
@@ -141,9 +141,9 @@
-
+
Dependency Selector Syntax & Querying
- @11.6.2
+ @11.6.3
Dependency Selector Syntax & Querying
diff --git a/deps/npm/docs/output/using-npm/developers.html b/deps/npm/docs/output/using-npm/developers.html
index 41890488eead60..3d33984abd9bee 100644
--- a/deps/npm/docs/output/using-npm/developers.html
+++ b/deps/npm/docs/output/using-npm/developers.html
@@ -141,9 +141,9 @@
-
+
developers
- @11.6.2
+ @11.6.3
Developer Guide
diff --git a/deps/npm/docs/output/using-npm/logging.html b/deps/npm/docs/output/using-npm/logging.html
index b2d76c4b1c54c6..6b33e9df878464 100644
--- a/deps/npm/docs/output/using-npm/logging.html
+++ b/deps/npm/docs/output/using-npm/logging.html
@@ -141,9 +141,9 @@
-
+
Logging
- @11.6.2
+ @11.6.3
Why, What & How We Log
diff --git a/deps/npm/docs/output/using-npm/orgs.html b/deps/npm/docs/output/using-npm/orgs.html
index b998bb01581526..4d791ea11feacf 100644
--- a/deps/npm/docs/output/using-npm/orgs.html
+++ b/deps/npm/docs/output/using-npm/orgs.html
@@ -141,9 +141,9 @@
-
+
orgs
- @11.6.2
+ @11.6.3
Working with Teams & Orgs
diff --git a/deps/npm/docs/output/using-npm/package-spec.html b/deps/npm/docs/output/using-npm/package-spec.html
index 764a2ad3eb4291..a6aae850e60b2e 100644
--- a/deps/npm/docs/output/using-npm/package-spec.html
+++ b/deps/npm/docs/output/using-npm/package-spec.html
@@ -141,9 +141,9 @@
-
+
package-spec
- @11.6.2
+ @11.6.3
Package name specifier
diff --git a/deps/npm/docs/output/using-npm/registry.html b/deps/npm/docs/output/using-npm/registry.html
index 95fe69d0f0e1fb..b658abe719e6b5 100644
--- a/deps/npm/docs/output/using-npm/registry.html
+++ b/deps/npm/docs/output/using-npm/registry.html
@@ -141,9 +141,9 @@
-
+
registry
- @11.6.2
+ @11.6.3
The JavaScript Package Registry
diff --git a/deps/npm/docs/output/using-npm/removal.html b/deps/npm/docs/output/using-npm/removal.html
index 23db6a16ca78d5..8caa2947f58bb8 100644
--- a/deps/npm/docs/output/using-npm/removal.html
+++ b/deps/npm/docs/output/using-npm/removal.html
@@ -141,9 +141,9 @@
-
+
removal
- @11.6.2
+ @11.6.3
Cleaning the Slate
diff --git a/deps/npm/docs/output/using-npm/scope.html b/deps/npm/docs/output/using-npm/scope.html
index a2ff83d6221a24..0d50f0417d40e2 100644
--- a/deps/npm/docs/output/using-npm/scope.html
+++ b/deps/npm/docs/output/using-npm/scope.html
@@ -141,9 +141,9 @@
-
+
scope
- @11.6.2
+ @11.6.3
Scoped packages
diff --git a/deps/npm/docs/output/using-npm/scripts.html b/deps/npm/docs/output/using-npm/scripts.html
index 1e76b658763907..8f8f112be4ccc4 100644
--- a/deps/npm/docs/output/using-npm/scripts.html
+++ b/deps/npm/docs/output/using-npm/scripts.html
@@ -141,9 +141,9 @@
-
+
scripts
- @11.6.2
+ @11.6.3
How npm handles the "scripts" field
diff --git a/deps/npm/docs/output/using-npm/workspaces.html b/deps/npm/docs/output/using-npm/workspaces.html
index f1062e2d28399f..e050cafb0a6ee0 100644
--- a/deps/npm/docs/output/using-npm/workspaces.html
+++ b/deps/npm/docs/output/using-npm/workspaces.html
@@ -141,9 +141,9 @@
-
+
workspaces
- @11.6.2
+ @11.6.3
Working with workspaces
diff --git a/deps/npm/lib/commands/completion.js b/deps/npm/lib/commands/completion.js
index 1a1cb901ee5a0d..ae459aaaf31ce5 100644
--- a/deps/npm/lib/commands/completion.js
+++ b/deps/npm/lib/commands/completion.js
@@ -164,7 +164,7 @@ class Completion extends BaseCommand {
return this.wrap(opts, comps)
}
} catch {
- // it wasnt a valid command, so do nothing
+ // it wasn't a valid command, so do nothing
}
}
diff --git a/deps/npm/lib/commands/explain.js b/deps/npm/lib/commands/explain.js
index 1505b4dbf5e9a4..5f37ba9925f410 100644
--- a/deps/npm/lib/commands/explain.js
+++ b/deps/npm/lib/commands/explain.js
@@ -92,7 +92,7 @@ class Explain extends ArboristWorkspaceCmd {
}
// if it's a location, get that node
- const maybeLoc = arg.replace(/\\/g, '/').replace(/\/+$/, '')
+ const maybeLoc = arg.replace(/\\/g, '/').replace(/(? resolve(this.npm.localPrefix, filterArg)
diff --git a/deps/npm/lib/commands/token.js b/deps/npm/lib/commands/token.js
index fac55d46e0c3bd..9cc04f83e7dd24 100644
--- a/deps/npm/lib/commands/token.js
+++ b/deps/npm/lib/commands/token.js
@@ -1,14 +1,38 @@
-const { log, output } = require('proc-log')
-const { listTokens, createToken, removeToken } = require('npm-profile')
+const { log, output, META } = require('proc-log')
+const fetch = require('npm-registry-fetch')
const { otplease } = require('../utils/auth.js')
const readUserInfo = require('../utils/read-user-info.js')
const BaseCommand = require('../base-cmd.js')
+async function paginate (href, opts, items = []) {
+ while (href) {
+ const result = await fetch.json(href, opts)
+ items = items.concat(result.objects)
+ href = result.urls.next
+ }
+ return items
+}
+
class Token extends BaseCommand {
static description = 'Manage your authentication tokens'
static name = 'token'
- static usage = ['list', 'revoke ', 'create [--read-only] [--cidr=list]']
- static params = ['read-only', 'cidr', 'registry', 'otp']
+ static usage = ['list', 'revoke ', 'create --name= [--token-description=] [--packages=] [--packages-all] [--scopes=] [--orgs=] [--packages-and-scopes-permission=] [--orgs-permission=] [--expires=] [--cidr=] [--bypass-2fa] [--password=]']
+ static params = ['name',
+ 'token-description',
+ 'expires',
+ 'packages',
+ 'packages-all',
+ 'scopes',
+ 'orgs',
+ 'packages-and-scopes-permission',
+ 'orgs-permission',
+ 'cidr',
+ 'bypass-2fa',
+ 'password',
+ 'registry',
+ 'otp',
+ 'read-only',
+ ]
static async completion (opts) {
const argv = opts.conf.argv.remain
@@ -48,7 +72,7 @@ class Token extends BaseCommand {
const json = this.npm.config.get('json')
const parseable = this.npm.config.get('parseable')
log.info('token', 'getting list')
- const tokens = await listTokens(this.npm.flatOptions)
+ const tokens = await paginate('/-/npm/v1/tokens', this.npm.flatOptions)
if (json) {
output.buffer(tokens)
return
@@ -89,10 +113,9 @@ class Token extends BaseCommand {
const json = this.npm.config.get('json')
const parseable = this.npm.config.get('parseable')
const toRemove = []
- const opts = { ...this.npm.flatOptions }
log.info('token', `removing ${toRemove.length} tokens`)
- const tokens = await listTokens(opts)
- args.forEach(id => {
+ const tokens = await paginate('/-/npm/v1/tokens', this.npm.flatOptions)
+ for (const id of args) {
const matches = tokens.filter(token => token.key.indexOf(id) === 0)
if (matches.length === 1) {
toRemove.push(matches[0].key)
@@ -108,12 +131,16 @@ class Token extends BaseCommand {
toRemove.push(id)
}
- })
- await Promise.all(
- toRemove.map(key => {
- return otplease(this.npm, opts, c => removeToken(key, c))
- })
- )
+ }
+ for (const tokenKey of toRemove) {
+ await otplease(this.npm, this.npm.flatOptions, opts =>
+ fetch(`/-/npm/v1/tokens/token/${tokenKey}`, {
+ ...opts,
+ method: 'DELETE',
+ ignoreBody: true,
+ })
+ )
+ }
if (json) {
output.buffer(toRemove)
} else if (parseable) {
@@ -127,15 +154,74 @@ class Token extends BaseCommand {
const json = this.npm.config.get('json')
const parseable = this.npm.config.get('parseable')
const cidr = this.npm.config.get('cidr')
- const readonly = this.npm.config.get('read-only')
+ const name = this.npm.config.get('name')
+ const tokenDescription = this.npm.config.get('token-description')
+ const expires = this.npm.config.get('expires')
+ const packages = this.npm.config.get('packages')
+ const packagesAll = this.npm.config.get('packages-all')
+ const scopes = this.npm.config.get('scopes')
+ const orgs = this.npm.config.get('orgs')
+ const packagesAndScopesPermission = this.npm.config.get('packages-and-scopes-permission')
+ const orgsPermission = this.npm.config.get('orgs-permission')
+ const bypassTwoFactor = this.npm.config.get('bypass-2fa')
+ let password = this.npm.config.get('password')
const validCIDR = await this.validateCIDRList(cidr)
- const password = await readUserInfo.password()
+
+ /* istanbul ignore if - skip testing read input */
+ if (!password) {
+ password = await readUserInfo.password()
+ }
+
+ const tokenData = {
+ name: name,
+ password: password,
+ }
+
+ if (tokenDescription) {
+ tokenData.description = tokenDescription
+ }
+
+ if (packages?.length > 0) {
+ tokenData.packages = packages
+ }
+ if (packagesAll) {
+ tokenData.packages_all = true
+ }
+ if (scopes?.length > 0) {
+ tokenData.scopes = scopes
+ }
+ if (orgs?.length > 0) {
+ tokenData.orgs = orgs
+ }
+
+ if (packagesAndScopesPermission) {
+ tokenData.packages_and_scopes_permission = packagesAndScopesPermission
+ }
+ if (orgsPermission) {
+ tokenData.orgs_permission = orgsPermission
+ }
+
+ // Add expiration in days
+ if (expires) {
+ tokenData.expires = parseInt(expires, 10)
+ }
+
+ // Add optional fields
+ if (validCIDR?.length > 0) {
+ tokenData.cidr_whitelist = validCIDR
+ }
+ if (bypassTwoFactor) {
+ tokenData.bypass_2fa = true
+ }
+
log.info('token', 'creating')
- const result = await otplease(
- this.npm,
- { ...this.npm.flatOptions },
- c => createToken(password, readonly, validCIDR, c)
+ const result = await otplease(this.npm, this.npm.flatOptions, opts =>
+ fetch.json('/-/npm/v1/tokens', {
+ ...opts,
+ method: 'POST',
+ body: tokenData,
+ })
)
delete result.key
delete result.updated
@@ -145,12 +231,16 @@ class Token extends BaseCommand {
Object.keys(result).forEach(k => output.standard(k + '\t' + result[k]))
} else {
const chalk = this.npm.chalk
- // Identical to list
- const level = result.readonly ? 'read only' : 'publish'
- output.standard(`Created ${chalk.blue(level)} token ${result.token}`)
+ // Display based on access level
+ // Identical to list? XXX
+ const level = result.access === 'read-only' || result.readonly ? 'read only' : 'publish'
+ output.standard(`Created ${chalk.blue(level)} token ${result.token}`, { [META]: true, redact: false })
if (result.cidr_whitelist?.length) {
output.standard(`with IP whitelist: ${chalk.green(result.cidr_whitelist.join(','))}`)
}
+ if (result.expires) {
+ output.standard(`expires: ${result.expires}`)
+ }
}
}
@@ -180,7 +270,7 @@ class Token extends BaseCommand {
for (const cidr of list) {
if (isCidrV6(cidr)) {
throw this.invalidCIDRError(
- `CIDR whitelist can only contain IPv4 addresses${cidr} is IPv6`
+ `CIDR whitelist can only contain IPv4 addresses, ${cidr} is IPv6`
)
}
diff --git a/deps/npm/lib/commands/version.js b/deps/npm/lib/commands/version.js
index 1d1a6753c70de1..fe70322fd7cb9c 100644
--- a/deps/npm/lib/commands/version.js
+++ b/deps/npm/lib/commands/version.js
@@ -13,10 +13,12 @@ class Version extends BaseCommand {
'json',
'preid',
'sign-git-tag',
+ 'save',
'workspace',
'workspaces',
'workspaces-update',
'include-workspace-root',
+ 'ignore-scripts',
]
static workspaces = true
diff --git a/deps/npm/lib/utils/error-message.js b/deps/npm/lib/utils/error-message.js
index 4fc14c92c17a98..578bcc82287de2 100644
--- a/deps/npm/lib/utils/error-message.js
+++ b/deps/npm/lib/utils/error-message.js
@@ -301,7 +301,7 @@ const errorMessage = (er, npm) => {
'Not compatible with your version of node/npm: ' + er.pkgid,
'Required: ' + JSON.stringify(er.required),
'Actual: ' +
- JSON.stringify({ npm: npm.version, node: process.version }),
+ JSON.stringify({ node: process.version, npm: npm.version }),
].join('\n')])
break
diff --git a/deps/npm/man/man1/npm-access.1 b/deps/npm/man/man1/npm-access.1
index 8165aa386bd0d9..52a667c9847687 100644
--- a/deps/npm/man/man1/npm-access.1
+++ b/deps/npm/man/man1/npm-access.1
@@ -1,4 +1,4 @@
-.TH "NPM-ACCESS" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-ACCESS" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-access\fR - Set access level on published packages
.SS "Synopsis"
@@ -77,8 +77,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "\fBregistry\fR"
diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1
index 9435eb6f819788..16daea9418cc3b 100644
--- a/deps/npm/man/man1/npm-adduser.1
+++ b/deps/npm/man/man1/npm-adduser.1
@@ -1,4 +1,4 @@
-.TH "NPM-ADDUSER" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-ADDUSER" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-adduser\fR - Add a registry user account
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-audit.1 b/deps/npm/man/man1/npm-audit.1
index 70e8b778937a12..f5379fd10a8d49 100644
--- a/deps/npm/man/man1/npm-audit.1
+++ b/deps/npm/man/man1/npm-audit.1
@@ -1,4 +1,4 @@
-.TH "NPM-AUDIT" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-AUDIT" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-audit\fR - Run a security audit
.SS "Synopsis"
@@ -368,8 +368,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBworkspace\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1
index 72053050d6e14f..f7eb770fb44200 100644
--- a/deps/npm/man/man1/npm-bugs.1
+++ b/deps/npm/man/man1/npm-bugs.1
@@ -1,4 +1,4 @@
-.TH "NPM-BUGS" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-BUGS" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-bugs\fR - Report bugs for a package in a web browser
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1
index 41a41ba928e1ed..573907f8b308f6 100644
--- a/deps/npm/man/man1/npm-cache.1
+++ b/deps/npm/man/man1/npm-cache.1
@@ -1,4 +1,4 @@
-.TH "NPM-CACHE" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-CACHE" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-cache\fR - Manipulates packages cache
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-ci.1 b/deps/npm/man/man1/npm-ci.1
index 87ae6170434e39..ed11ab54ed4499 100644
--- a/deps/npm/man/man1/npm-ci.1
+++ b/deps/npm/man/man1/npm-ci.1
@@ -1,4 +1,4 @@
-.TH "NPM-CI" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-CI" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-ci\fR - Clean install a project
.SS "Synopsis"
@@ -167,8 +167,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBaudit\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1
index 06e58655c486d5..09e3965d4641c8 100644
--- a/deps/npm/man/man1/npm-completion.1
+++ b/deps/npm/man/man1/npm-completion.1
@@ -1,4 +1,4 @@
-.TH "NPM-COMPLETION" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-COMPLETION" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-completion\fR - Tab Completion for npm
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1
index 17f27ea10b5f71..4e9b5136fadf7c 100644
--- a/deps/npm/man/man1/npm-config.1
+++ b/deps/npm/man/man1/npm-config.1
@@ -1,4 +1,4 @@
-.TH "NPM-CONFIG" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-CONFIG" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-config\fR - Manage the npm configuration files
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1
index 10472a8aa93446..1154b0f4603ad3 100644
--- a/deps/npm/man/man1/npm-dedupe.1
+++ b/deps/npm/man/man1/npm-dedupe.1
@@ -1,4 +1,4 @@
-.TH "NPM-DEDUPE" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-DEDUPE" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-dedupe\fR - Reduce duplication in the package tree
.SS "Synopsis"
@@ -164,8 +164,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBaudit\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1
index 871577b872385f..50e36d9c989420 100644
--- a/deps/npm/man/man1/npm-deprecate.1
+++ b/deps/npm/man/man1/npm-deprecate.1
@@ -1,4 +1,4 @@
-.TH "NPM-DEPRECATE" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-DEPRECATE" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-deprecate\fR - Deprecate a version of a package
.SS "Synopsis"
@@ -55,8 +55,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "\fBdry-run\fR"
diff --git a/deps/npm/man/man1/npm-diff.1 b/deps/npm/man/man1/npm-diff.1
index a1f2b5f2e38c78..7949ae477b6ad4 100644
--- a/deps/npm/man/man1/npm-diff.1
+++ b/deps/npm/man/man1/npm-diff.1
@@ -1,4 +1,4 @@
-.TH "NPM-DIFF" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-DIFF" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-diff\fR - The registry diff command
.SS "Synopsis"
@@ -233,8 +233,8 @@ Type: String
.P
If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.
.P
-It is the tag added to the package@version specified in the \fBnpm
-dist-tag add\fR command, if no explicit tag is given.
+It is the tag added to the package@version specified in the \fBnpm dist-tag
+add\fR command, if no explicit tag is given.
.P
When used by the \fBnpm diff\fR command, this is the tag used to fetch the tarball that will be compared with the local files by default.
.P
diff --git a/deps/npm/man/man1/npm-dist-tag.1 b/deps/npm/man/man1/npm-dist-tag.1
index 6defc97bdfe2af..6417845460e3d3 100644
--- a/deps/npm/man/man1/npm-dist-tag.1
+++ b/deps/npm/man/man1/npm-dist-tag.1
@@ -1,4 +1,4 @@
-.TH "NPM-DIST-TAG" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-DIST-TAG" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-dist-tag\fR - Modify package distribution tags
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1
index 602888e1d713f1..d07b611895c9e0 100644
--- a/deps/npm/man/man1/npm-docs.1
+++ b/deps/npm/man/man1/npm-docs.1
@@ -1,4 +1,4 @@
-.TH "NPM-DOCS" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-DOCS" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-docs\fR - Open documentation for a package in a web browser
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-doctor.1 b/deps/npm/man/man1/npm-doctor.1
index 1f5f653bbf5ad5..e38807ad2c0dd5 100644
--- a/deps/npm/man/man1/npm-doctor.1
+++ b/deps/npm/man/man1/npm-doctor.1
@@ -1,4 +1,4 @@
-.TH "NPM-DOCTOR" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-DOCTOR" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-doctor\fR - Check the health of your npm environment
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1
index 19d5c537d889f6..5f815c8ddd59f6 100644
--- a/deps/npm/man/man1/npm-edit.1
+++ b/deps/npm/man/man1/npm-edit.1
@@ -1,4 +1,4 @@
-.TH "NPM-EDIT" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-EDIT" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-edit\fR - Edit an installed package
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-exec.1 b/deps/npm/man/man1/npm-exec.1
index d6b3d384eae666..072d60ebe39f91 100644
--- a/deps/npm/man/man1/npm-exec.1
+++ b/deps/npm/man/man1/npm-exec.1
@@ -1,4 +1,4 @@
-.TH "NPM-EXEC" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-EXEC" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-exec\fR - Run a command from a local or remote npm package
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-explain.1 b/deps/npm/man/man1/npm-explain.1
index 88f209f5ddc1b5..be2d0d9bcd9a3e 100644
--- a/deps/npm/man/man1/npm-explain.1
+++ b/deps/npm/man/man1/npm-explain.1
@@ -1,4 +1,4 @@
-.TH "NPM-EXPLAIN" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-EXPLAIN" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-explain\fR - Explain installed packages
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1
index b91eb6dbee5cc9..1d38e872498638 100644
--- a/deps/npm/man/man1/npm-explore.1
+++ b/deps/npm/man/man1/npm-explore.1
@@ -1,4 +1,4 @@
-.TH "NPM-EXPLORE" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-EXPLORE" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-explore\fR - Browse an installed package
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-find-dupes.1 b/deps/npm/man/man1/npm-find-dupes.1
index 2373a842661e3e..5b59f2b70ff2f6 100644
--- a/deps/npm/man/man1/npm-find-dupes.1
+++ b/deps/npm/man/man1/npm-find-dupes.1
@@ -1,4 +1,4 @@
-.TH "NPM-FIND-DUPES" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-FIND-DUPES" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-find-dupes\fR - Find duplication in the package tree
.SS "Synopsis"
@@ -111,8 +111,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBaudit\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-fund.1 b/deps/npm/man/man1/npm-fund.1
index 58eb3cd3577615..ebed13a09c88e9 100644
--- a/deps/npm/man/man1/npm-fund.1
+++ b/deps/npm/man/man1/npm-fund.1
@@ -1,4 +1,4 @@
-.TH "NPM-FUND" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-FUND" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-fund\fR - Retrieve funding information
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1
index 94c7dc9e7b8b2a..14133d023ad663 100644
--- a/deps/npm/man/man1/npm-help-search.1
+++ b/deps/npm/man/man1/npm-help-search.1
@@ -1,4 +1,4 @@
-.TH "NPM-HELP-SEARCH" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-HELP-SEARCH" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-help-search\fR - Search npm help documentation
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1
index 0f07f5a9582fd1..c1141b6383e136 100644
--- a/deps/npm/man/man1/npm-help.1
+++ b/deps/npm/man/man1/npm-help.1
@@ -1,4 +1,4 @@
-.TH "NPM-HELP" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-HELP" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-help\fR - Get help on npm
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1
index 322cd28ccbb29f..ba6f4474ed5018 100644
--- a/deps/npm/man/man1/npm-init.1
+++ b/deps/npm/man/man1/npm-init.1
@@ -1,4 +1,4 @@
-.TH "NPM-INIT" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-INIT" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-init\fR - Create a package.json file
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-install-ci-test.1 b/deps/npm/man/man1/npm-install-ci-test.1
index 035b5c073523de..2273c50a7be872 100644
--- a/deps/npm/man/man1/npm-install-ci-test.1
+++ b/deps/npm/man/man1/npm-install-ci-test.1
@@ -1,4 +1,4 @@
-.TH "NPM-INSTALL-CI-TEST" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-INSTALL-CI-TEST" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-install-ci-test\fR - Install a project with a clean slate and run tests
.SS "Synopsis"
@@ -115,8 +115,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBaudit\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-install-test.1 b/deps/npm/man/man1/npm-install-test.1
index fe6ae37b386184..ea527d0024ab96 100644
--- a/deps/npm/man/man1/npm-install-test.1
+++ b/deps/npm/man/man1/npm-install-test.1
@@ -1,4 +1,4 @@
-.TH "NPM-INSTALL-TEST" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-INSTALL-TEST" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-install-test\fR - Install package(s) and run tests
.SS "Synopsis"
@@ -192,8 +192,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBaudit\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1
index b90459ae8ce71a..8a9eef28d3ddea 100644
--- a/deps/npm/man/man1/npm-install.1
+++ b/deps/npm/man/man1/npm-install.1
@@ -1,4 +1,4 @@
-.TH "NPM-INSTALL" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-INSTALL" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-install\fR - Install a package
.SS "Synopsis"
@@ -553,8 +553,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBaudit\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1
index 9850cd544a93d8..7ffea61ec64e6e 100644
--- a/deps/npm/man/man1/npm-link.1
+++ b/deps/npm/man/man1/npm-link.1
@@ -1,4 +1,4 @@
-.TH "NPM-LINK" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-LINK" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-link\fR - Symlink a package folder
.SS "Synopsis"
@@ -223,8 +223,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBaudit\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-login.1 b/deps/npm/man/man1/npm-login.1
index de24dae466d3ac..fb57066b2f74ad 100644
--- a/deps/npm/man/man1/npm-login.1
+++ b/deps/npm/man/man1/npm-login.1
@@ -1,4 +1,4 @@
-.TH "NPM-LOGIN" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-LOGIN" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-login\fR - Login to a registry user account
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1
index 7d7624bbea3f25..a9ec065ca92591 100644
--- a/deps/npm/man/man1/npm-logout.1
+++ b/deps/npm/man/man1/npm-logout.1
@@ -1,4 +1,4 @@
-.TH "NPM-LOGOUT" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-LOGOUT" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-logout\fR - Log out of the registry
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index 88858109203301..a0eca71370bb45 100644
--- a/deps/npm/man/man1/npm-ls.1
+++ b/deps/npm/man/man1/npm-ls.1
@@ -1,4 +1,4 @@
-.TH "NPM-LS" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-LS" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-ls\fR - List installed packages
.SS "Synopsis"
@@ -20,7 +20,7 @@ Positional arguments are \fBname@version-range\fR identifiers, which will limit
.P
.RS 2
.nf
-npm@11.6.2 /path/to/npm
+npm@11.6.3 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
.fi
diff --git a/deps/npm/man/man1/npm-org.1 b/deps/npm/man/man1/npm-org.1
index 56f6f269509a97..e94126b1b20c15 100644
--- a/deps/npm/man/man1/npm-org.1
+++ b/deps/npm/man/man1/npm-org.1
@@ -1,4 +1,4 @@
-.TH "NPM-ORG" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-ORG" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-org\fR - Manage orgs
.SS "Synopsis"
@@ -86,8 +86,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "\fBjson\fR"
diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1
index 5e715d6bf25b34..eba7b06ae0a986 100644
--- a/deps/npm/man/man1/npm-outdated.1
+++ b/deps/npm/man/man1/npm-outdated.1
@@ -1,4 +1,4 @@
-.TH "NPM-OUTDATED" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-OUTDATED" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-outdated\fR - Check for outdated packages
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1
index 0e51922629f3ce..0472c9e894a3d6 100644
--- a/deps/npm/man/man1/npm-owner.1
+++ b/deps/npm/man/man1/npm-owner.1
@@ -1,4 +1,4 @@
-.TH "NPM-OWNER" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-OWNER" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-owner\fR - Manage package owners
.SS "Synopsis"
@@ -48,8 +48,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "\fBworkspace\fR"
diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1
index 52d7feb68d94d5..8c4f204f02dea5 100644
--- a/deps/npm/man/man1/npm-pack.1
+++ b/deps/npm/man/man1/npm-pack.1
@@ -1,4 +1,4 @@
-.TH "NPM-PACK" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-PACK" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-pack\fR - Create a tarball from a package
.SS "Synopsis"
@@ -117,8 +117,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "Description"
.P
For anything that's installable (that is, a package folder, tarball, tarball url, git url, name@tag, name@version, name, or scoped name), this command will fetch it to the cache, copy the tarball to the current working directory as \fB-.tgz\fR, and then write the filenames out to stdout.
diff --git a/deps/npm/man/man1/npm-ping.1 b/deps/npm/man/man1/npm-ping.1
index 7a686e9fff0539..28d50e2c71f06d 100644
--- a/deps/npm/man/man1/npm-ping.1
+++ b/deps/npm/man/man1/npm-ping.1
@@ -1,4 +1,4 @@
-.TH "NPM-PING" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-PING" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-ping\fR - Ping npm registry
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-pkg.1 b/deps/npm/man/man1/npm-pkg.1
index 4940be8a413210..37f28fcc0592e5 100644
--- a/deps/npm/man/man1/npm-pkg.1
+++ b/deps/npm/man/man1/npm-pkg.1
@@ -1,4 +1,4 @@
-.TH "NPM-PKG" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-PKG" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-pkg\fR - Manages your package.json
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1
index b0c93b019644fd..d0270d8ad8f6ae 100644
--- a/deps/npm/man/man1/npm-prefix.1
+++ b/deps/npm/man/man1/npm-prefix.1
@@ -1,4 +1,4 @@
-.TH "NPM-PREFIX" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-PREFIX" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-prefix\fR - Display prefix
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-profile.1 b/deps/npm/man/man1/npm-profile.1
index 0e53039daf0625..017953fc4364ef 100644
--- a/deps/npm/man/man1/npm-profile.1
+++ b/deps/npm/man/man1/npm-profile.1
@@ -1,4 +1,4 @@
-.TH "NPM-PROFILE" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-PROFILE" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-profile\fR - Change settings on your registry profile
.SS "Synopsis"
@@ -104,8 +104,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "See Also"
diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1
index 8f139fd2f4df9c..f43ee8b687b20e 100644
--- a/deps/npm/man/man1/npm-prune.1
+++ b/deps/npm/man/man1/npm-prune.1
@@ -1,4 +1,4 @@
-.TH "NPM-PRUNE" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-PRUNE" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-prune\fR - Remove extraneous packages
.SS "Synopsis"
@@ -104,8 +104,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBworkspace\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1
index 96be016f9fdacf..b93c07e0563633 100644
--- a/deps/npm/man/man1/npm-publish.1
+++ b/deps/npm/man/man1/npm-publish.1
@@ -1,4 +1,4 @@
-.TH "NPM-PUBLISH" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-PUBLISH" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-publish\fR - Publish a package
.SS "Synopsis"
@@ -11,6 +11,39 @@ npm publish
.SS "Description"
.P
Publishes a package to the registry so that it can be installed by name.
+.SS "Examples"
+.P
+Publish the package in the current directory:
+.P
+.RS 2
+.nf
+npm publish
+.fi
+.RE
+.P
+Publish a specific workspace:
+.P
+.RS 2
+.nf
+npm publish --workspace=
+.fi
+.RE
+.P
+Publish multiple workspaces:
+.P
+.RS 2
+.nf
+npm publish --workspace=workspace-a --workspace=workspace-b
+.fi
+.RE
+.P
+Publish all workspaces:
+.P
+.RS 2
+.nf
+npm publish --workspaces
+.fi
+.RE
.P
By default npm will publish to the public registry. This can be overridden by specifying a different default registry or using a npm help scope in the name, combined with a scope-configured registry (see \fB\[rs]fBpackage.json\[rs]fR\fR \fI\(la/configuring-npm/package-json\(ra\fR).
.P
@@ -74,8 +107,8 @@ Type: String
.P
If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.
.P
-It is the tag added to the package@version specified in the \fBnpm
-dist-tag add\fR command, if no explicit tag is given.
+It is the tag added to the package@version specified in the \fBnpm dist-tag
+add\fR command, if no explicit tag is given.
.P
When used by the \fBnpm diff\fR command, this is the tag used to fetch the tarball that will be compared with the local files by default.
.P
@@ -93,7 +126,8 @@ If you do not want your scoped package to be publicly viewable (and installable)
.P
Unscoped packages cannot be set to \fBrestricted\fR.
.P
-Note: This defaults to not changing the current access level for existing packages. Specifying a value of \fBrestricted\fR or \fBpublic\fR during publish will change the access for an existing package the same way that \fBnpm access set status\fR would.
+Note: This defaults to not changing the current access level for existing packages. Specifying a value of \fBrestricted\fR or \fBpublic\fR during publish will change the access for an existing package the same way that \fBnpm access set
+status\fR would.
.SS "\fBdry-run\fR"
.RS 0
.IP \(bu 4
@@ -115,8 +149,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "\fBworkspace\fR"
diff --git a/deps/npm/man/man1/npm-query.1 b/deps/npm/man/man1/npm-query.1
index 7e626c7f1d4a6a..1fbd15c4308fcf 100644
--- a/deps/npm/man/man1/npm-query.1
+++ b/deps/npm/man/man1/npm-query.1
@@ -1,4 +1,4 @@
-.TH "NPM-QUERY" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-QUERY" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-query\fR - Dependency selector query
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1
index dcd4dfb91210d9..da9c7600a41a6b 100644
--- a/deps/npm/man/man1/npm-rebuild.1
+++ b/deps/npm/man/man1/npm-rebuild.1
@@ -1,4 +1,4 @@
-.TH "NPM-REBUILD" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-REBUILD" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-rebuild\fR - Rebuild a package
.SS "Synopsis"
@@ -100,8 +100,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBworkspace\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1
index 634e6358838e0c..682757d6c506ce 100644
--- a/deps/npm/man/man1/npm-repo.1
+++ b/deps/npm/man/man1/npm-repo.1
@@ -1,4 +1,4 @@
-.TH "NPM-REPO" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-REPO" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-repo\fR - Open package repository page in the browser
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1
index 837fffcfd05d92..11a4f1502ae1a8 100644
--- a/deps/npm/man/man1/npm-restart.1
+++ b/deps/npm/man/man1/npm-restart.1
@@ -1,4 +1,4 @@
-.TH "NPM-RESTART" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-RESTART" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-restart\fR - Restart a package
.SS "Synopsis"
@@ -55,8 +55,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBscript-shell\fR"
.RS 0
.IP \(bu 4
@@ -66,7 +65,8 @@ Type: null or String
.RE 0
.P
-The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm init \fR commands.
+The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm
+init \fR commands.
.SS "See Also"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1
index 97d5c3f868dc06..70dd8b1e31ea1b 100644
--- a/deps/npm/man/man1/npm-root.1
+++ b/deps/npm/man/man1/npm-root.1
@@ -1,4 +1,4 @@
-.TH "NPM-ROOT" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-ROOT" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-root\fR - Display npm root
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-run.1 b/deps/npm/man/man1/npm-run.1
index a1834d3d2bc2df..0a005689055d29 100644
--- a/deps/npm/man/man1/npm-run.1
+++ b/deps/npm/man/man1/npm-run.1
@@ -1,4 +1,4 @@
-.TH "NPM-RUN" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-RUN" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-run\fR - Run arbitrary package scripts
.SS "Synopsis"
@@ -191,8 +191,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBforeground-scripts\fR"
.RS 0
.IP \(bu 4
@@ -214,7 +213,8 @@ Type: null or String
.RE 0
.P
-The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm init \fR commands.
+The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm
+init \fR commands.
.SS "See Also"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-sbom.1 b/deps/npm/man/man1/npm-sbom.1
index 11212d9653b5b0..16bee1a5dae39d 100644
--- a/deps/npm/man/man1/npm-sbom.1
+++ b/deps/npm/man/man1/npm-sbom.1
@@ -1,4 +1,4 @@
-.TH "NPM-SBOM" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-SBOM" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-sbom\fR - Generate a Software Bill of Materials (SBOM)
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1
index 0fb57fafd4512e..fc0030a854141f 100644
--- a/deps/npm/man/man1/npm-search.1
+++ b/deps/npm/man/man1/npm-search.1
@@ -1,4 +1,4 @@
-.TH "NPM-SEARCH" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-SEARCH" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-search\fR - Search for packages
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1
index c47c6b76bc0e8a..683ec9374f3505 100644
--- a/deps/npm/man/man1/npm-shrinkwrap.1
+++ b/deps/npm/man/man1/npm-shrinkwrap.1
@@ -1,4 +1,4 @@
-.TH "NPM-SHRINKWRAP" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-SHRINKWRAP" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-shrinkwrap\fR - Lock down dependency versions for publication
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1
index 2f137195aa92c7..063c07ab838ed6 100644
--- a/deps/npm/man/man1/npm-star.1
+++ b/deps/npm/man/man1/npm-star.1
@@ -1,4 +1,4 @@
-.TH "NPM-STAR" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-STAR" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-star\fR - Mark your favorite packages
.SS "Synopsis"
@@ -56,8 +56,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "See Also"
diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1
index 8c0533aadfb997..656d82a3b9bfc6 100644
--- a/deps/npm/man/man1/npm-stars.1
+++ b/deps/npm/man/man1/npm-stars.1
@@ -1,4 +1,4 @@
-.TH "NPM-STARS" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-STARS" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-stars\fR - View packages marked as favorites
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1
index c9c55e4ec6ee3c..3bc7bb47d1911b 100644
--- a/deps/npm/man/man1/npm-start.1
+++ b/deps/npm/man/man1/npm-start.1
@@ -1,4 +1,4 @@
-.TH "NPM-START" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-START" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-start\fR - Start a package
.SS "Synopsis"
@@ -52,8 +52,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBscript-shell\fR"
.RS 0
.IP \(bu 4
@@ -63,7 +62,8 @@ Type: null or String
.RE 0
.P
-The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm init \fR commands.
+The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm
+init \fR commands.
.SS "See Also"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1
index da49dd07de80a6..5b870c5cb25d29 100644
--- a/deps/npm/man/man1/npm-stop.1
+++ b/deps/npm/man/man1/npm-stop.1
@@ -1,4 +1,4 @@
-.TH "NPM-STOP" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-STOP" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-stop\fR - Stop a package
.SS "Synopsis"
@@ -48,8 +48,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBscript-shell\fR"
.RS 0
.IP \(bu 4
@@ -59,7 +58,8 @@ Type: null or String
.RE 0
.P
-The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm init \fR commands.
+The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm
+init \fR commands.
.SS "See Also"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-team.1 b/deps/npm/man/man1/npm-team.1
index e4c885229a41d7..7a351a7b2ef46b 100644
--- a/deps/npm/man/man1/npm-team.1
+++ b/deps/npm/man/man1/npm-team.1
@@ -1,4 +1,4 @@
-.TH "NPM-TEAM" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-TEAM" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-team\fR - Manage organization teams and team memberships
.SS "Synopsis"
@@ -107,8 +107,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "\fBparseable\fR"
diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1
index d233bd2c54ccd8..6d82bad6e0dd93 100644
--- a/deps/npm/man/man1/npm-test.1
+++ b/deps/npm/man/man1/npm-test.1
@@ -1,4 +1,4 @@
-.TH "NPM-TEST" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-TEST" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-test\fR - Test a package
.SS "Synopsis"
@@ -46,8 +46,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBscript-shell\fR"
.RS 0
.IP \(bu 4
@@ -57,7 +56,8 @@ Type: null or String
.RE 0
.P
-The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm init \fR commands.
+The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm
+init \fR commands.
.SS "See Also"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-token.1 b/deps/npm/man/man1/npm-token.1
index e1005725bdcf74..0c31d163bb7075 100644
--- a/deps/npm/man/man1/npm-token.1
+++ b/deps/npm/man/man1/npm-token.1
@@ -1,4 +1,4 @@
-.TH "NPM-TOKEN" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-TOKEN" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-token\fR - Manage your authentication tokens
.SS "Synopsis"
@@ -7,7 +7,7 @@
.nf
npm token list
npm token revoke
-npm token create \[lB]--read-only\[rB] \[lB]--cidr=list\[rB]
+npm token create --name= \[lB]--token-description=\[rB] \[lB]--packages=\[rB] \[lB]--packages-all\[rB] \[lB]--scopes=\[rB] \[lB]--orgs=\[rB] \[lB]--packages-and-scopes-permission=\[rB] \[lB]--orgs-permission=\[rB] \[lB]--expires=\[rB] \[lB]--cidr=\[rB] \[lB]--bypass-2fa\[rB] \[lB]--password=\[rB]
.fi
.RE
.P
@@ -51,7 +51,47 @@ Created publish token a73c9572-f1b9-8983-983d-ba3ac3cc913d
.RE 0
.SS "Configuration"
-.SS "\fBread-only\fR"
+.SS "\fBname\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this sets the name/description for the token.
+.SS "\fBtoken-description\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String
+.RE 0
+
+.P
+Description text for the token when using \fBnpm token create\fR.
+.SS "\fBexpires\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or Number
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this sets the expiration in days. If not specified, the server will determine the default expiration.
+.SS "\fBpackages\fR"
+.RS 0
+.IP \(bu 4
+Default:
+.IP \(bu 4
+Type: null or String (can be set multiple times)
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this limits the token access to specific packages. Provide a comma-separated list of package names.
+.SS "\fBpackages-all\fR"
.RS 0
.IP \(bu 4
Default: false
@@ -60,7 +100,47 @@ Type: Boolean
.RE 0
.P
-This is used to mark a token as unable to publish when configuring limited access tokens with the \fBnpm token create\fR command.
+When creating a Granular Access Token with \fBnpm token create\fR, grants the token access to all packages instead of limiting to specific packages.
+.SS "\fBscopes\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String (can be set multiple times)
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this limits the token access to specific scopes. Provide a comma-separated list of scope names (with or without @ prefix).
+.SS "\fBorgs\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String (can be set multiple times)
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this limits the token access to specific organizations. Provide a comma-separated list of organization names.
+.SS "\fBpackages-and-scopes-permission\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null, "read-only", "read-write", or "no-access"
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, sets the permission level for packages and scopes. Options are "read-only", "read-write", or "no-access".
+.SS "\fBorgs-permission\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null, "read-only", "read-write", or "no-access"
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, sets the permission level for organizations. Options are "read-only", "read-write", or "no-access".
.SS "\fBcidr\fR"
.RS 0
.IP \(bu 4
@@ -71,6 +151,26 @@ Type: null or String (can be set multiple times)
.P
This is a list of CIDR address to be used when configuring limited access tokens with the \fBnpm token create\fR command.
+.SS "\fBbypass-2fa\fR"
+.RS 0
+.IP \(bu 4
+Default: false
+.IP \(bu 4
+Type: Boolean
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, setting this to true will allow the token to bypass two-factor authentication. This is useful for automation and CI/CD workflows.
+.SS "\fBpassword\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String
+.RE 0
+
+.P
+Password for authentication. Can be provided via command line when creating tokens, though it's generally safer to be prompted for it.
.SS "\fBregistry\fR"
.RS 0
.IP \(bu 4
@@ -90,10 +190,19 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
+.SS "\fBread-only\fR"
+.RS 0
+.IP \(bu 4
+Default: false
+.IP \(bu 4
+Type: Boolean
+.RE 0
+
+.P
+This is used to mark a token as unable to publish when configuring limited access tokens with the \fBnpm token create\fR command.
.SS "See Also"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-undeprecate.1 b/deps/npm/man/man1/npm-undeprecate.1
index 2593ba2bb3adf9..7d9f2b8a0acf6e 100644
--- a/deps/npm/man/man1/npm-undeprecate.1
+++ b/deps/npm/man/man1/npm-undeprecate.1
@@ -1,4 +1,4 @@
-.TH "NPM-UNDEPRECATE" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-UNDEPRECATE" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-undeprecate\fR - Undeprecate a version of a package
.SS "Synopsis"
@@ -35,8 +35,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "\fBdry-run\fR"
diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1
index 9a3713bba4051e..31abec58e8851c 100644
--- a/deps/npm/man/man1/npm-uninstall.1
+++ b/deps/npm/man/man1/npm-uninstall.1
@@ -1,4 +1,4 @@
-.TH "NPM-UNINSTALL" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-UNINSTALL" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-uninstall\fR - Remove a package
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1
index eb8073bf3575d7..574c93034c0f75 100644
--- a/deps/npm/man/man1/npm-unpublish.1
+++ b/deps/npm/man/man1/npm-unpublish.1
@@ -1,4 +1,4 @@
-.TH "NPM-UNPUBLISH" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-UNPUBLISH" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-unpublish\fR - Remove a package from the registry
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-unstar.1 b/deps/npm/man/man1/npm-unstar.1
index 3c0fd6a17d546d..71fcd92da083cc 100644
--- a/deps/npm/man/man1/npm-unstar.1
+++ b/deps/npm/man/man1/npm-unstar.1
@@ -1,4 +1,4 @@
-.TH "NPM-UNSTAR" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-UNSTAR" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-unstar\fR - Remove an item from your favorite packages
.SS "Synopsis"
@@ -52,8 +52,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "See Also"
diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1
index 50eaa09ef1a2de..aad4792b445c68 100644
--- a/deps/npm/man/man1/npm-update.1
+++ b/deps/npm/man/man1/npm-update.1
@@ -1,4 +1,4 @@
-.TH "NPM-UPDATE" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-UPDATE" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-update\fR - Update packages
.SS "Synopsis"
@@ -276,8 +276,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBaudit\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1
index 4d467c1682102b..281b6d05b5f7a1 100644
--- a/deps/npm/man/man1/npm-version.1
+++ b/deps/npm/man/man1/npm-version.1
@@ -1,4 +1,4 @@
-.TH "NPM-VERSION" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-VERSION" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-version\fR - Bump a package version
.SS "Synopsis"
@@ -80,6 +80,20 @@ Type: Boolean
If set to true, then the \fBnpm version\fR command will tag the version using \fB-s\fR to add a signature.
.P
Note that git requires you to have set up GPG keys in your git configs for this to work properly.
+.SS "\fBsave\fR"
+.RS 0
+.IP \(bu 4
+Default: \fBtrue\fR unless when using \fBnpm update\fR where it defaults to \fBfalse\fR
+.IP \(bu 4
+Type: Boolean
+.RE 0
+
+.P
+Save installed packages to a \fBpackage.json\fR file as dependencies.
+.P
+When used with the \fBnpm rm\fR command, removes the dependency from \fBpackage.json\fR.
+.P
+Will also prevent writing to \fBpackage-lock.json\fR if set to \fBfalse\fR.
.SS "\fBworkspace\fR"
.RS 0
.IP \(bu 4
@@ -148,6 +162,18 @@ Include the workspace root when workspaces are enabled for a command.
When false, specifying individual workspaces via the \fBworkspace\fR config, or all workspaces via the \fBworkspaces\fR flag, will cause npm to operate only on the specified workspaces, and not on the root project.
.P
This value is not exported to the environment for child processes.
+.SS "\fBignore-scripts\fR"
+.RS 0
+.IP \(bu 4
+Default: false
+.IP \(bu 4
+Type: Boolean
+.RE 0
+
+.P
+If true, npm does not run scripts specified in package.json files.
+.P
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "Description"
.P
Run this in a package directory to bump the version and write the new data back to \fBpackage.json\fR, \fBpackage-lock.json\fR, and, if present, \fBnpm-shrinkwrap.json\fR.
diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1
index 63c57ffa7156bc..006e021625faff 100644
--- a/deps/npm/man/man1/npm-view.1
+++ b/deps/npm/man/man1/npm-view.1
@@ -1,4 +1,4 @@
-.TH "NPM-VIEW" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-VIEW" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-view\fR - View registry info
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1
index 0a316e3a3fc72f..8e662fde73ad9e 100644
--- a/deps/npm/man/man1/npm-whoami.1
+++ b/deps/npm/man/man1/npm-whoami.1
@@ -1,4 +1,4 @@
-.TH "NPM-WHOAMI" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-WHOAMI" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-whoami\fR - Display npm username
.SS "Synopsis"
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index cda18c5f71c59c..15e8927d3c17f4 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -1,4 +1,4 @@
-.TH "NPM" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPM" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm\fR - javascript package manager
.SS "Synopsis"
@@ -12,7 +12,7 @@ npm
Note: This command is unaware of workspaces.
.SS "Version"
.P
-11.6.2
+11.6.3
.SS "Description"
.P
npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency conflicts intelligently.
diff --git a/deps/npm/man/man1/npx.1 b/deps/npm/man/man1/npx.1
index a862e5d6e8b2b6..beb7652683f09a 100644
--- a/deps/npm/man/man1/npx.1
+++ b/deps/npm/man/man1/npx.1
@@ -1,4 +1,4 @@
-.TH "NPX" "1" "October 2025" "NPM@11.6.2" ""
+.TH "NPX" "1" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpx\fR - Run a command from a local or remote npm package
.SS "Synopsis"
diff --git a/deps/npm/man/man5/folders.5 b/deps/npm/man/man5/folders.5
index e6b255cef3eda8..3a9dc52805d9e1 100644
--- a/deps/npm/man/man5/folders.5
+++ b/deps/npm/man/man5/folders.5
@@ -1,4 +1,4 @@
-.TH "FOLDERS" "5" "October 2025" "NPM@11.6.2" ""
+.TH "FOLDERS" "5" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBfolders\fR - Folder Structures Used by npm
.SS "Description"
diff --git a/deps/npm/man/man5/install.5 b/deps/npm/man/man5/install.5
index 2864350ce80d94..5fc71b73adabda 100644
--- a/deps/npm/man/man5/install.5
+++ b/deps/npm/man/man5/install.5
@@ -1,4 +1,4 @@
-.TH "INSTALL" "5" "October 2025" "NPM@11.6.2" ""
+.TH "INSTALL" "5" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBinstall\fR - Download and install node and npm
.SS "Description"
diff --git a/deps/npm/man/man5/npm-global.5 b/deps/npm/man/man5/npm-global.5
index e6b255cef3eda8..3a9dc52805d9e1 100644
--- a/deps/npm/man/man5/npm-global.5
+++ b/deps/npm/man/man5/npm-global.5
@@ -1,4 +1,4 @@
-.TH "FOLDERS" "5" "October 2025" "NPM@11.6.2" ""
+.TH "FOLDERS" "5" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBfolders\fR - Folder Structures Used by npm
.SS "Description"
diff --git a/deps/npm/man/man5/npm-json.5 b/deps/npm/man/man5/npm-json.5
index c12aa8fe3b1b31..a465ba0ab32ddb 100644
--- a/deps/npm/man/man5/npm-json.5
+++ b/deps/npm/man/man5/npm-json.5
@@ -1,4 +1,4 @@
-.TH "PACKAGE.JSON" "5" "October 2025" "NPM@11.6.2" ""
+.TH "PACKAGE.JSON" "5" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBpackage.json\fR - Specifics of npm's package.json handling
.SS "Description"
diff --git a/deps/npm/man/man5/npm-shrinkwrap-json.5 b/deps/npm/man/man5/npm-shrinkwrap-json.5
index b4b8cee1b390f5..b0ddc4e9b1b004 100644
--- a/deps/npm/man/man5/npm-shrinkwrap-json.5
+++ b/deps/npm/man/man5/npm-shrinkwrap-json.5
@@ -1,4 +1,4 @@
-.TH "NPM-SHRINKWRAP.JSON" "5" "October 2025" "NPM@11.6.2" ""
+.TH "NPM-SHRINKWRAP.JSON" "5" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpm-shrinkwrap.json\fR - A publishable lockfile
.SS "Description"
diff --git a/deps/npm/man/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5
index 1d50198b83e0ab..824d29ecb741d0 100644
--- a/deps/npm/man/man5/npmrc.5
+++ b/deps/npm/man/man5/npmrc.5
@@ -1,4 +1,4 @@
-.TH "NPMRC" "5" "October 2025" "NPM@11.6.2" ""
+.TH "NPMRC" "5" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBnpmrc\fR - The npm config files
.SS "Description"
diff --git a/deps/npm/man/man5/package-json.5 b/deps/npm/man/man5/package-json.5
index c12aa8fe3b1b31..a465ba0ab32ddb 100644
--- a/deps/npm/man/man5/package-json.5
+++ b/deps/npm/man/man5/package-json.5
@@ -1,4 +1,4 @@
-.TH "PACKAGE.JSON" "5" "October 2025" "NPM@11.6.2" ""
+.TH "PACKAGE.JSON" "5" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBpackage.json\fR - Specifics of npm's package.json handling
.SS "Description"
diff --git a/deps/npm/man/man5/package-lock-json.5 b/deps/npm/man/man5/package-lock-json.5
index 3bbf561cce657e..75f1a9d86fa99e 100644
--- a/deps/npm/man/man5/package-lock-json.5
+++ b/deps/npm/man/man5/package-lock-json.5
@@ -1,4 +1,4 @@
-.TH "PACKAGE-LOCK.JSON" "5" "October 2025" "NPM@11.6.2" ""
+.TH "PACKAGE-LOCK.JSON" "5" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBpackage-lock.json\fR - A manifestation of the manifest
.SS "Description"
diff --git a/deps/npm/man/man7/config.7 b/deps/npm/man/man7/config.7
index 3703e0634686b9..6bdae9b9dbeb8a 100644
--- a/deps/npm/man/man7/config.7
+++ b/deps/npm/man/man7/config.7
@@ -1,4 +1,4 @@
-.TH "CONFIG" "7" "October 2025" "NPM@11.6.2" ""
+.TH "CONFIG" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBconfig\fR - More than you probably want to know about npm configuration
.SS "Description"
@@ -167,7 +167,8 @@ If you do not want your scoped package to be publicly viewable (and installable)
.P
Unscoped packages cannot be set to \fBrestricted\fR.
.P
-Note: This defaults to not changing the current access level for existing packages. Specifying a value of \fBrestricted\fR or \fBpublic\fR during publish will change the access for an existing package the same way that \fBnpm access set status\fR would.
+Note: This defaults to not changing the current access level for existing packages. Specifying a value of \fBrestricted\fR or \fBpublic\fR during publish will change the access for an existing package the same way that \fBnpm access set
+status\fR would.
.SS "\fBall\fR"
.RS 0
.IP \(bu 4
@@ -256,6 +257,16 @@ The browser that is called by npm commands to open websites.
Set to \fBfalse\fR to suppress browser behavior and instead print urls to terminal.
.P
Set to \fBtrue\fR to use default system URL opener.
+.SS "\fBbypass-2fa\fR"
+.RS 0
+.IP \(bu 4
+Default: false
+.IP \(bu 4
+Type: Boolean
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, setting this to true will allow the token to bypass two-factor authentication. This is useful for automation and CI/CD workflows.
.SS "\fBca\fR"
.RS 0
.IP \(bu 4
@@ -523,6 +534,16 @@ Type: null or Boolean
Tells npm whether or not to expect results from the command. Can be either true (expect some results) or false (expect no results).
.P
This config cannot be used with: \fBexpect-result-count\fR
+.SS "\fBexpires\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or Number
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this sets the expiration in days. If not specified, the server will determine the default expiration.
.SS "\fBfetch-retries\fR"
.RS 0
.IP \(bu 4
@@ -736,8 +757,7 @@ Type: Boolean
.P
If true, npm does not run scripts specified in package.json files.
.P
-Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm
-run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
+Note that commands explicitly intended to run a particular script, such as \fBnpm start\fR, \fBnpm stop\fR, \fBnpm restart\fR, \fBnpm test\fR, and \fBnpm run\fR will still run their intended script if \fBignore-scripts\fR is set, but they will \fInot\fR run any pre- or post-scripts.
.SS "\fBinclude\fR"
.RS 0
.IP \(bu 4
@@ -1046,6 +1066,16 @@ Type: String
Commit message which is used by \fBnpm version\fR when creating version commit.
.P
Any "%s" in the message will be replaced with the version number.
+.SS "\fBname\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this sets the name/description for the token.
.SS "\fBnode-gyp\fR"
.RS 0
.IP \(bu 4
@@ -1116,6 +1146,26 @@ Type: Boolean
.P
This option causes npm to create lock files without a \fBresolved\fR key for registry dependencies. Subsequent installs will need to resolve tarball endpoints with the configured registry, likely resulting in a longer install time.
+.SS "\fBorgs\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String (can be set multiple times)
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this limits the token access to specific organizations. Provide a comma-separated list of organization names.
+.SS "\fBorgs-permission\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null, "read-only", "read-write", or "no-access"
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, sets the permission level for organizations. Options are "read-only", "read-write", or "no-access".
.SS "\fBos\fR"
.RS 0
.IP \(bu 4
@@ -1135,8 +1185,7 @@ Type: null or String
.RE 0
.P
-This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm
-access\fR.
+This is a one-time password from a two-factor authenticator. It's needed when publishing or changing package permissions with \fBnpm access\fR.
.P
If not set, and a registry response fails with a challenge for a one-time password, npm will prompt on the command line for one.
.SS "\fBpack-destination\fR"
@@ -1183,6 +1232,36 @@ If set to true, the current operation will only use the \fBpackage-lock.json\fR,
For \fBupdate\fR this means only the \fBpackage-lock.json\fR will be updated, instead of checking \fBnode_modules\fR and downloading dependencies.
.P
For \fBlist\fR this means the output will be based on the tree described by the \fBpackage-lock.json\fR, rather than the contents of \fBnode_modules\fR.
+.SS "\fBpackages\fR"
+.RS 0
+.IP \(bu 4
+Default:
+.IP \(bu 4
+Type: null or String (can be set multiple times)
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this limits the token access to specific packages. Provide a comma-separated list of package names.
+.SS "\fBpackages-all\fR"
+.RS 0
+.IP \(bu 4
+Default: false
+.IP \(bu 4
+Type: Boolean
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, grants the token access to all packages instead of limiting to specific packages.
+.SS "\fBpackages-and-scopes-permission\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null, "read-only", "read-write", or "no-access"
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, sets the permission level for packages and scopes. Options are "read-only", "read-write", or "no-access".
.SS "\fBparseable\fR"
.RS 0
.IP \(bu 4
@@ -1193,6 +1272,16 @@ Type: Boolean
.P
Output parseable results from commands that write to standard output. For \fBnpm search\fR, this will be tab-separated table format.
+.SS "\fBpassword\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String
+.RE 0
+
+.P
+Password for authentication. Can be provided via command line when creating tokens, though it's generally safer to be prompted for it.
.SS "\fBprefer-dedupe\fR"
.RS 0
.IP \(bu 4
@@ -1416,7 +1505,8 @@ Type: String
.P
Configure how versions of packages installed to a package.json file via \fB--save\fR or \fB--save-dev\fR get prefixed.
.P
-For example if a package has version \fB1.2.3\fR, by default its version is set to \fB^1.2.3\fR which allows minor upgrades for that package, but after \fBnpm config set save-prefix='~'\fR it would be set to \fB~1.2.3\fR which only allows patch upgrades.
+For example if a package has version \fB1.2.3\fR, by default its version is set to \fB^1.2.3\fR which allows minor upgrades for that package, but after \fBnpm
+config set save-prefix='~'\fR it would be set to \fB~1.2.3\fR which only allows patch upgrades.
.SS "\fBsave-prod\fR"
.RS 0
.IP \(bu 4
@@ -1485,6 +1575,16 @@ This will also cause \fBnpm init\fR to create a scoped package.
npm init --scope=@foo --yes
.fi
.RE
+.SS "\fBscopes\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String (can be set multiple times)
+.RE 0
+
+.P
+When creating a Granular Access Token with \fBnpm token create\fR, this limits the token access to specific scopes. Provide a comma-separated list of scope names (with or without @ prefix).
.SS "\fBscript-shell\fR"
.RS 0
.IP \(bu 4
@@ -1494,7 +1594,8 @@ Type: null or String
.RE 0
.P
-The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm init \fR commands.
+The shell to use for scripts run with the \fBnpm exec\fR, \fBnpm run\fR and \fBnpm
+init \fR commands.
.SS "\fBsearchexclude\fR"
.RS 0
.IP \(bu 4
@@ -1606,8 +1707,8 @@ Type: String
.P
If you ask npm to install a package and don't tell it a specific version, then it will install the specified tag.
.P
-It is the tag added to the package@version specified in the \fBnpm
-dist-tag add\fR command, if no explicit tag is given.
+It is the tag added to the package@version specified in the \fBnpm dist-tag
+add\fR command, if no explicit tag is given.
.P
When used by the \fBnpm diff\fR command, this is the tag used to fetch the tarball that will be compared with the local files by default.
.P
@@ -1638,6 +1739,16 @@ If true, writes timing information to a process specific json file in the cache
You can quickly view it with this \fBjson\fR \fI\(lahttps://npm.im/json\(ra\fR command line: \fBcat ~/.npm/_logs/*-timing.json | npm exec -- json -g\fR.
.P
Timing information will also be reported in the terminal. To suppress this while still writing the timing file, use \fB--silent\fR.
+.SS "\fBtoken-description\fR"
+.RS 0
+.IP \(bu 4
+Default: null
+.IP \(bu 4
+Type: null or String
+.RE 0
+
+.P
+Description text for the token when using \fBnpm token create\fR.
.SS "\fBumask\fR"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/man/man7/dependency-selectors.7 b/deps/npm/man/man7/dependency-selectors.7
index eed3d6c769106f..188ed46f626db4 100644
--- a/deps/npm/man/man7/dependency-selectors.7
+++ b/deps/npm/man/man7/dependency-selectors.7
@@ -1,4 +1,4 @@
-.TH "QUERYING" "7" "October 2025" "NPM@11.6.2" ""
+.TH "QUERYING" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBQuerying\fR - Dependency Selector Syntax & Querying
.SS "Description"
diff --git a/deps/npm/man/man7/developers.7 b/deps/npm/man/man7/developers.7
index a65327f7813f1d..92311087536ef9 100644
--- a/deps/npm/man/man7/developers.7
+++ b/deps/npm/man/man7/developers.7
@@ -1,4 +1,4 @@
-.TH "DEVELOPERS" "7" "October 2025" "NPM@11.6.2" ""
+.TH "DEVELOPERS" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBdevelopers\fR - Developer Guide
.SS "Description"
diff --git a/deps/npm/man/man7/logging.7 b/deps/npm/man/man7/logging.7
index fcdcfcec66c5aa..a8070b5a9f4873 100644
--- a/deps/npm/man/man7/logging.7
+++ b/deps/npm/man/man7/logging.7
@@ -1,4 +1,4 @@
-.TH "LOGGING" "7" "October 2025" "NPM@11.6.2" ""
+.TH "LOGGING" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBLogging\fR - Why, What & How We Log
.SS "Description"
diff --git a/deps/npm/man/man7/orgs.7 b/deps/npm/man/man7/orgs.7
index e68241ff36fe19..5112f9668bf7d6 100644
--- a/deps/npm/man/man7/orgs.7
+++ b/deps/npm/man/man7/orgs.7
@@ -1,4 +1,4 @@
-.TH "ORGS" "7" "October 2025" "NPM@11.6.2" ""
+.TH "ORGS" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBorgs\fR - Working with Teams & Orgs
.SS "Description"
diff --git a/deps/npm/man/man7/package-spec.7 b/deps/npm/man/man7/package-spec.7
index c70815de103705..29121b9ff2a871 100644
--- a/deps/npm/man/man7/package-spec.7
+++ b/deps/npm/man/man7/package-spec.7
@@ -1,4 +1,4 @@
-.TH "PACKAGE-SPEC" "7" "October 2025" "NPM@11.6.2" ""
+.TH "PACKAGE-SPEC" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBpackage-spec\fR - Package name specifier
.SS "Description"
diff --git a/deps/npm/man/man7/registry.7 b/deps/npm/man/man7/registry.7
index 1c0b0bf111a2e6..e23ed66824a6d9 100644
--- a/deps/npm/man/man7/registry.7
+++ b/deps/npm/man/man7/registry.7
@@ -1,4 +1,4 @@
-.TH "REGISTRY" "7" "October 2025" "NPM@11.6.2" ""
+.TH "REGISTRY" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBregistry\fR - The JavaScript Package Registry
.SS "Description"
diff --git a/deps/npm/man/man7/removal.7 b/deps/npm/man/man7/removal.7
index 750f5a0b35ed84..6e12a153ac0788 100644
--- a/deps/npm/man/man7/removal.7
+++ b/deps/npm/man/man7/removal.7
@@ -1,4 +1,4 @@
-.TH "REMOVAL" "7" "October 2025" "NPM@11.6.2" ""
+.TH "REMOVAL" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBremoval\fR - Cleaning the Slate
.SS "Synopsis"
diff --git a/deps/npm/man/man7/scope.7 b/deps/npm/man/man7/scope.7
index c12c8360f3f076..aaadc2f935fae9 100644
--- a/deps/npm/man/man7/scope.7
+++ b/deps/npm/man/man7/scope.7
@@ -1,4 +1,4 @@
-.TH "SCOPE" "7" "October 2025" "NPM@11.6.2" ""
+.TH "SCOPE" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBscope\fR - Scoped packages
.SS "Description"
diff --git a/deps/npm/man/man7/scripts.7 b/deps/npm/man/man7/scripts.7
index cbef73ef64ad2d..e10d871bf3342e 100644
--- a/deps/npm/man/man7/scripts.7
+++ b/deps/npm/man/man7/scripts.7
@@ -1,4 +1,4 @@
-.TH "SCRIPTS" "7" "October 2025" "NPM@11.6.2" ""
+.TH "SCRIPTS" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBscripts\fR - How npm handles the "scripts" field
.SS "Description"
diff --git a/deps/npm/man/man7/workspaces.7 b/deps/npm/man/man7/workspaces.7
index 74a291685b8b29..06517e0ab5c037 100644
--- a/deps/npm/man/man7/workspaces.7
+++ b/deps/npm/man/man7/workspaces.7
@@ -1,4 +1,4 @@
-.TH "WORKSPACES" "7" "October 2025" "NPM@11.6.2" ""
+.TH "WORKSPACES" "7" "November 2025" "NPM@11.6.3" ""
.SH "NAME"
\fBworkspaces\fR - Working with workspaces
.SS "Description"
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
index 3a066d9b6d336f..699735f3498262 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
@@ -42,7 +42,6 @@ const _flagsSuspect = Symbol.for('flagsSuspect')
const _setWorkspaces = Symbol.for('setWorkspaces')
const _updateNames = Symbol.for('updateNames')
const _resolvedAdd = Symbol.for('resolvedAdd')
-const _usePackageLock = Symbol.for('usePackageLock')
const _rpcache = Symbol.for('realpathCache')
const _stcache = Symbol.for('statCache')
@@ -101,39 +100,28 @@ module.exports = cls => class IdealTreeBuilder extends cls {
constructor (options) {
super(options)
- // normalize trailing slash
- const registry = options.registry || 'https://registry.npmjs.org'
- options.registry = this.registry = registry.replace(/\/+$/, '') + '/'
-
const {
follow = false,
installStrategy = 'hoisted',
- idealTree = null,
- installLinks = false,
- legacyPeerDeps = false,
- packageLock = true,
strictPeerDeps = false,
- workspaces,
global,
} = options
this.#strictPeerDeps = !!strictPeerDeps
- this.idealTree = idealTree
- this.installLinks = installLinks
- this.legacyPeerDeps = legacyPeerDeps
-
- this[_usePackageLock] = packageLock
this.#installStrategy = global ? 'shallow' : installStrategy
this.#follow = !!follow
- if (workspaces?.length && global) {
- throw new Error('Cannot operate on workspaces in global mode')
- }
-
this[_updateAll] = false
this[_updateNames] = []
this[_resolvedAdd] = []
+
+ // caches for cached realpath calls
+ const cwd = process.cwd()
+ // assume that the cwd is real enough for our purposes
+ this[_rpcache] = new Map([[cwd, cwd]])
+ this[_stcache] = new Map()
+ this[_flagsSuspect] = false
}
get explicitRequests () {
@@ -298,7 +286,7 @@ module.exports = cls => class IdealTreeBuilder extends cls {
.then(root => {
if (this.options.global) {
return root
- } else if (!this[_usePackageLock] || this[_updateAll]) {
+ } else if (!this.options.usePackageLock || this[_updateAll]) {
return Shrinkwrap.reset({
path: this.path,
lockfileVersion: this.options.lockfileVersion,
@@ -351,7 +339,7 @@ module.exports = cls => class IdealTreeBuilder extends cls {
filter: node => node,
visit: node => {
for (const edge of node.edgesOut.values()) {
- if (!edge.to || !edge.valid) {
+ if ((!edge.to && edge.type !== 'peerOptional') || !edge.valid) {
this.#depsQueue.push(node)
break // no need to continue the loop after the first hit
}
@@ -754,6 +742,7 @@ This is a one-time fix-up, please be patient...
// have to re-calc dep flags, because the nodes don't have edges
// until their packages get assigned, so everything looks extraneous
+ resetDepFlags(this.idealTree)
calcDepFlags(this.idealTree)
// yes, yes, this isn't the "original" version, but now that it's been
@@ -1230,7 +1219,7 @@ This is a one-time fix-up, please be patient...
}
}
- #nodeFromSpec (name, spec, parent, edge) {
+ async #nodeFromSpec (name, spec, parent, edge) {
// pacote will slap integrity on its options, so we have to clone
// the object so it doesn't get mutated.
// Don't bother to load the manifest for link deps, because the target
@@ -1259,7 +1248,13 @@ This is a one-time fix-up, please be patient...
// Decide whether to link or copy the dependency
const shouldLink = (isWorkspace || isProjectInternalFileSpec || !installLinks) && !isTransitiveFileDep
if (spec.type === 'directory' && shouldLink) {
- return this.#linkFromSpec(name, spec, parent, edge)
+ const realpath = spec.fetchSpec
+ const { content: pkg } = await PackageJson.normalize(realpath).catch(() => {
+ return { content: {} }
+ })
+ const link = new Link({ name, parent, realpath, pkg, installLinks, legacyPeerDeps })
+ this.#linkNodes.add(link)
+ return link
}
// if the spec matches a workspace name, then see if the workspace node will satisfy the edge. if it does, we return the workspace node to make sure it takes priority.
@@ -1300,17 +1295,6 @@ This is a one-time fix-up, please be patient...
})
}
- async #linkFromSpec (name, spec, parent) {
- const realpath = spec.fetchSpec
- const { installLinks, legacyPeerDeps } = this
- const { content: pkg } = await PackageJson.normalize(realpath).catch(() => {
- return { content: {} }
- })
- const link = new Link({ name, parent, realpath, pkg, installLinks, legacyPeerDeps })
- this.#linkNodes.add(link)
- return link
- }
-
// load all peer deps and meta-peer deps into the node's parent
// At the end of this, the node's peer-type outward edges are all
// resolved, and so are all of theirs, but other dep types are not.
@@ -1445,6 +1429,7 @@ This is a one-time fix-up, please be patient...
// and add it to the _depsQueue
//
// call buildDepStep if anything was added to the queue; otherwise, we're done
+ // XXX load-virtual also has a #resolveLinks, is there overlap?
#resolveLinks () {
for (const link of this.#linkNodes) {
this.#linkNodes.delete(link)
@@ -1508,11 +1493,7 @@ This is a one-time fix-up, please be patient...
} else {
// otherwise just unset all the flags on the root node
// since they will sometimes have the default value
- this.idealTree.extraneous = false
- this.idealTree.dev = false
- this.idealTree.optional = false
- this.idealTree.devOptional = false
- this.idealTree.peer = false
+ this.idealTree.unsetDepFlags()
}
// at this point, any node marked as extraneous should be pruned.
@@ -1555,12 +1536,7 @@ This is a one-time fix-up, please be patient...
#idealTreePrune () {
for (const node of this.idealTree.inventory.values()) {
- // optional peer dependencies are meant to be added to the tree
- // through an explicit required dependency (most commonly in the
- // root package.json), at which point they won't be optional so
- // any dependencies still marked as both optional and peer at
- // this point can be pruned as a special kind of extraneous
- if (node.extraneous || (node.peer && node.optional)) {
+ if (node.extraneous) {
node.parent = null
}
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js
index 3622f957b7acde..4c1faffa786f35 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js
@@ -68,6 +68,34 @@ class Arborist extends Base {
constructor (options = {}) {
const timeEnd = time.start('arborist:ctor')
super(options)
+
+ // normalize trailing slash
+ const registry = options.registry || 'https://registry.npmjs.org'
+ options.registry = this.registry = registry.replace(/(? class IsolatedReifier extends cls {
result.hasInstallScript = node.hasInstallScript
}
- async [_createBundledTree] () {
+ async #createBundledTree () {
// TODO: make sure that idealTree object exists
const idealTree = this.idealTree
// TODO: test workspaces having bundled deps
@@ -217,7 +216,7 @@ module.exports = cls => class IsolatedReifier extends cls {
const proxiedIdealTree = this.idealGraph
- const bundledTree = await this[_createBundledTree]()
+ const bundledTree = await this.#createBundledTree()
const treeHash = (startNode) => {
// generate short hash based on the dependency tree
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
index 3be44780e01aee..30a11e392cd168 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-actual.js
@@ -41,19 +41,6 @@ module.exports = cls => class ActualLoader extends cls {
#topNodes = new Set()
#transplantFilter
- constructor (options) {
- super(options)
-
- // the tree of nodes on disk
- this.actualTree = options.actualTree
-
- // caches for cached realpath calls
- const cwd = process.cwd()
- // assume that the cwd is real enough for our purposes
- this[_rpcache] = new Map([[cwd, cwd]])
- this[_stcache] = new Map()
- }
-
// public method
// TODO remove options param in next semver major
async loadActual (options = {}) {
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js
index ba1b7478bd510f..e5a96a0b5f0b08 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js
@@ -18,14 +18,6 @@ const setWorkspaces = Symbol.for('setWorkspaces')
module.exports = cls => class VirtualLoader extends cls {
#rootOptionProvided
- constructor (options) {
- super(options)
-
- // the virtual tree we load from a shrinkwrap
- this.virtualTree = options.virtualTree
- this[flagsSuspect] = false
- }
-
// public method
async loadVirtual (options = {}) {
if (this.virtualTree) {
@@ -69,11 +61,7 @@ module.exports = cls => class VirtualLoader extends cls {
if (!this.#rootOptionProvided) {
// root is never any of these things, but might be a brand new
// baby Node object that never had its dep flags calculated.
- root.extraneous = false
- root.dev = false
- root.optional = false
- root.devOptional = false
- root.peer = false
+ root.unsetDepFlags()
} else {
this[flagsSuspect] = true
}
@@ -81,7 +69,21 @@ module.exports = cls => class VirtualLoader extends cls {
this.#checkRootEdges(s, root)
root.meta = s
this.virtualTree = root
- const { links, nodes } = this.#resolveNodes(s, root)
+ // separate out link metadata, and create Node objects for nodes
+ const links = new Map()
+ const nodes = new Map([['', root]])
+ for (const [location, meta] of Object.entries(s.data.packages)) {
+ // skip the root because we already got it
+ if (!location) {
+ continue
+ }
+
+ if (meta.link) {
+ links.set(location, meta)
+ } else {
+ nodes.set(location, this.#loadNode(location, meta))
+ }
+ }
await this.#resolveLinks(links, nodes)
if (!(s.originalLockfileVersion >= 2)) {
this.#assignBundles(nodes)
@@ -93,11 +95,7 @@ module.exports = cls => class VirtualLoader extends cls {
if (node.isRoot || node === this.#rootOptionProvided) {
continue
}
- node.extraneous = true
- node.dev = true
- node.optional = true
- node.devOptional = true
- node.peer = true
+ node.resetDepFlags()
}
calcDepFlags(this.virtualTree, !this.#rootOptionProvided)
}
@@ -168,27 +166,9 @@ module.exports = cls => class VirtualLoader extends cls {
}
}
- // separate out link metadata, and create Node objects for nodes
- #resolveNodes (s, root) {
- const links = new Map()
- const nodes = new Map([['', root]])
- for (const [location, meta] of Object.entries(s.data.packages)) {
- // skip the root because we already got it
- if (!location) {
- continue
- }
-
- if (meta.link) {
- links.set(location, meta)
- } else {
- nodes.set(location, this.#loadNode(location, meta))
- }
- }
- return { links, nodes }
- }
-
// links is the set of metadata, and nodes is the map of non-Link nodes
// Set the targets to nodes in the set, if we have them (we might not)
+ // XXX build-ideal-tree also has a #resolveLinks, is there overlap?
async #resolveLinks (links, nodes) {
for (const [location, meta] of links.entries()) {
const targetPath = resolve(this.path, meta.resolved)
@@ -255,11 +235,6 @@ To fix:
sw.name = nameFromFolder(path)
}
- const dev = sw.dev
- const optional = sw.optional
- const devOptional = dev || optional || sw.devOptional
- const peer = sw.peer
-
const node = new Node({
installLinks: this.installLinks,
legacyPeerDeps: this.legacyPeerDeps,
@@ -270,18 +245,15 @@ To fix:
resolved: consistentResolve(sw.resolved, this.path, path),
pkg: sw,
hasShrinkwrap: sw.hasShrinkwrap,
- dev,
- optional,
- devOptional,
- peer,
loadOverrides,
+ // cast to boolean because they're undefined in the lock file when false
+ extraneous: !!sw.extraneous,
+ devOptional: !!(sw.devOptional || sw.dev || sw.optional),
+ peer: !!sw.peer,
+ optional: !!sw.optional,
+ dev: !!sw.dev,
})
- // cast to boolean because they're undefined in the lock file when false
- node.extraneous = !!sw.extraneous
- node.devOptional = !!(sw.devOptional || sw.dev || sw.optional)
- node.peer = !!sw.peer
- node.optional = !!sw.optional
- node.dev = !!sw.dev
+
return node
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js
index 272d6a4122aef7..eef557208208d9 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js
@@ -24,13 +24,12 @@ const _trashList = Symbol.for('trashList')
module.exports = cls => class Builder extends cls {
#doHandleOptionalFailure
#oldMeta = null
- #queues
-
- constructor (options) {
- super(options)
-
- this.scriptsRun = new Set()
- this.#resetQueues()
+ #queues = {
+ preinstall: [],
+ install: [],
+ postinstall: [],
+ prepare: [],
+ bin: [],
}
async rebuild ({ nodes, handleOptionalFailure = false } = {}) {
@@ -62,7 +61,13 @@ module.exports = cls => class Builder extends cls {
// build link deps
if (linkNodes.size) {
- this.#resetQueues()
+ this.#queues = {
+ preinstall: [],
+ install: [],
+ postinstall: [],
+ prepare: [],
+ bin: [],
+ }
await this.#build(linkNodes, { type: 'links' })
}
@@ -132,16 +137,6 @@ module.exports = cls => class Builder extends cls {
}
}
- #resetQueues () {
- this.#queues = {
- preinstall: [],
- install: [],
- postinstall: [],
- prepare: [],
- bin: [],
- }
- }
-
async #build (nodes, { type = 'deps' }) {
const timeEnd = time.start(`build:${type}`)
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js
index 70d4d9796d2e72..ff71044536d8c8 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js
@@ -57,11 +57,9 @@ const _rollbackRetireShallowNodes = Symbol.for('rollbackRetireShallowNodes')
const _rollbackCreateSparseTree = Symbol.for('rollbackCreateSparseTree')
const _rollbackMoveBackRetiredUnchanged = Symbol.for('rollbackMoveBackRetiredUnchanged')
const _saveIdealTree = Symbol.for('saveIdealTree')
-const _reifyPackages = Symbol.for('reifyPackages')
// defined by build-ideal-tree mixin
const _resolvedAdd = Symbol.for('resolvedAdd')
-const _usePackageLock = Symbol.for('usePackageLock')
// used by build-ideal-tree mixin
const _addNodeToTrashList = Symbol.for('addNodeToTrashList')
@@ -70,12 +68,10 @@ const _createIsolatedTree = Symbol.for('createIsolatedTree')
module.exports = cls => class Reifier extends cls {
#bundleMissing = new Set() // child nodes we'd EXPECT to be included in a bundle, but aren't
#bundleUnpacked = new Set() // the nodes we unpack to read their bundles
- #dryRun
#nmValidated = new Set()
#omit
#retiredPaths = {}
#retiredUnchanged = {}
- #savePrefix
#shrinkwrapInflated = new Set()
#sparseTreeDirs = new Set()
#sparseTreeRoots = new Set()
@@ -122,7 +118,7 @@ module.exports = cls => class Reifier extends cls {
this.idealTree = await this[_createIsolatedTree]()
}
await this[_diffTrees]()
- await this[_reifyPackages]()
+ await this.#reifyPackages()
if (linked) {
// swap back in the idealTree
// so that the lockfile is preserved
@@ -261,7 +257,7 @@ module.exports = cls => class Reifier extends cls {
return treeCheck(this.actualTree)
}
- async [_reifyPackages] () {
+ async #reifyPackages () {
// we don't submit the audit report or write to disk on dry runs
if (this.options.dryRun) {
return
@@ -817,9 +813,17 @@ module.exports = cls => class Reifier extends cls {
// Make sure we don't double-include the path if it's already there
const registryPath = registryURL.pathname.replace(/\/$/, '')
- if (registryPath && registryPath !== '/' && !resolvedURL.pathname.startsWith(registryPath)) {
- // Since hostname is changed, we need to ensure the registry path is included
- resolvedURL.pathname = registryPath + resolvedURL.pathname
+ if (registryPath && registryPath !== '/') {
+ // Check if the resolved pathname already starts with the registry path
+ // We need to ensure it's a proper path prefix, not just a string prefix
+ // e.g., registry path '/npm' should not match '/npm-run-path'
+ const hasRegistryPath = resolvedURL.pathname === registryPath ||
+ resolvedURL.pathname.startsWith(registryPath + '/')
+
+ if (!hasRegistryPath) {
+ // Since hostname is changed, we need to ensure the registry path is included
+ resolvedURL.pathname = registryPath + resolvedURL.pathname
+ }
}
return resolvedURL.toString()
@@ -1496,7 +1500,7 @@ module.exports = cls => class Reifier extends cls {
// before now edge specs could be changing, affecting the `requires` field
// in the package lock, so we hold off saving to the very last action
- if (this[_usePackageLock]) {
+ if (this.options.usePackageLock) {
// preserve indentation, if possible
let format = this.idealTree.package[Symbol.for('indent')]
if (format === undefined) {
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/calc-dep-flags.js b/deps/npm/node_modules/@npmcli/arborist/lib/calc-dep-flags.js
index 76de452ed3d80f..5f2484858094dc 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/calc-dep-flags.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/calc-dep-flags.js
@@ -1,144 +1,102 @@
-const { depth } = require('treeverse')
-
+// Dep flag (dev, peer, etc.) calculation requires default or reset flags.
+// Flags are true by default and are unset to false as we walk deps.
+// We iterate outward edges looking for dep flags that can
+// be unset based on the current nodes flags and edge type.
+// Examples:
+// - a non-optional node with a non-optional edge out, the edge node should not be optional
+// - a non-peer node with a non-peer edge out, the edge node should not be peer
+// If a node is changed, we add to the queue and continue until no more changes.
+// Flags that remain after all this unsetting should be valid.
+// Examples:
+// - a node still flagged optional must only be reachable via optional edges
+// - a node still flagged peer must only be reachable via peer edges
const calcDepFlags = (tree, resetRoot = true) => {
if (resetRoot) {
- tree.dev = false
- tree.optional = false
- tree.devOptional = false
- tree.peer = false
+ tree.unsetDepFlags()
}
- const ret = depth({
- tree,
- visit: node => calcDepFlagsStep(node),
- filter: node => node,
- getChildren: (node, tree) =>
- [...tree.edgesOut.values()].map(edge => edge.to),
- })
- return ret
-}
-
-const calcDepFlagsStep = (node) => {
- // This rewalk is necessary to handle cases where devDep and optional
- // or normal dependency graphs overlap deep in the dep graph.
- // Since we're only walking through deps that are not already flagged
- // as non-dev/non-optional, it's typically a very shallow traversal
-
- node.extraneous = false
- resetParents(node, 'extraneous')
- resetParents(node, 'dev')
- resetParents(node, 'peer')
- resetParents(node, 'devOptional')
- resetParents(node, 'optional')
-
- // for links, map their hierarchy appropriately
- if (node.isLink) {
- // node.target can be null, we check to ensure it's not null before proceeding
- if (node.target == null) {
- return node
- }
- node.target.dev = node.dev
- node.target.optional = node.optional
- node.target.devOptional = node.devOptional
- node.target.peer = node.peer
- return calcDepFlagsStep(node.target)
- }
-
- node.edgesOut.forEach(({ peer, optional, dev, to }) => {
- // if the dep is missing, then its flags are already maximally unset
- if (!to) {
- return
- }
- // everything with any kind of edge into it is not extraneous
- to.extraneous = false
-
- // If this is a peer edge, mark the target as peer
- if (peer) {
- to.peer = true
- } else if (to.peer && !hasIncomingPeerEdge(to)) {
- unsetFlag(to, 'peer')
- }
- // devOptional is the *overlap* of the dev and optional tree.
- // however, for convenience and to save an extra rewalk, we leave
- // it set when we are in *either* tree, and then omit it from the
- // package-lock if either dev or optional are set.
- const unsetDevOpt = !node.devOptional && !node.dev && !node.optional && !dev && !optional
+ const seen = new Set()
+ const queue = [tree]
- // if we are not in the devOpt tree, then we're also not in
- // either the dev or opt trees
- const unsetDev = unsetDevOpt || !node.dev && !dev
- const unsetOpt = unsetDevOpt || !node.optional && !optional
+ let node
+ while (node = queue.pop()) {
+ seen.add(node)
- if (unsetDevOpt) {
- unsetFlag(to, 'devOptional')
+ // Unset extraneous from all parents to avoid removal of children.
+ if (!node.extraneous) {
+ for (let n = node.resolveParent; n?.extraneous; n = n.resolveParent) {
+ n.extraneous = false
+ }
}
- if (unsetDev) {
- unsetFlag(to, 'dev')
+ // for links, map their hierarchy appropriately
+ if (node.isLink) {
+ // node.target can be null, we check to ensure it's not null before proceeding
+ if (node.target == null) {
+ continue
+ }
+ node.target.dev = node.dev
+ node.target.optional = node.optional
+ node.target.devOptional = node.devOptional
+ node.target.peer = node.peer
+ node.target.extraneous = node.extraneous
+ queue.push(node.target)
+ continue
}
- if (unsetOpt) {
- unsetFlag(to, 'optional')
- }
- })
-
- return node
-}
-
-const hasIncomingPeerEdge = (node) => {
- const target = node.isLink && node.target ? node.target : node
- for (const edge of target.edgesIn) {
- if (edge.type === 'peer') {
- return true
+ for (const { peer, optional, dev, to } of node.edgesOut.values()) {
+ // if the dep is missing, then its flags are already maximally unset
+ if (!to) {
+ continue
+ }
+
+ let changed = false
+
+ // only optional peer dependencies should stay extraneous
+ if (to.extraneous && !node.extraneous && !(peer && optional)) {
+ to.extraneous = false
+ changed = true
+ }
+
+ if (to.dev && !node.dev && !dev) {
+ to.dev = false
+ changed = true
+ }
+
+ if (to.optional && !node.optional && !optional) {
+ to.optional = false
+ changed = true
+ }
+
+ // devOptional is the *overlap* of the dev and optional tree.
+ // A node may be depended on by separate dev and optional nodes.
+ // It SHOULD NOT be removed when pruning dev OR optional.
+ // It SHOULD be removed when pruning dev AND optional.
+ // We only unset here if a node is not dev AND not optional because
+ // if we did unset, it would prevent any overlap deeper in the tree.
+ // We correct this later by removing if dev OR optional is set.
+ if (to.devOptional && !node.devOptional && !node.dev && !node.optional && !dev && !optional) {
+ to.devOptional = false
+ changed = true
+ }
+
+ if (to.peer && !node.peer && !peer) {
+ to.peer = false
+ changed = true
+ }
+
+ if (changed) {
+ queue.push(to)
+ }
}
}
- return false
-}
-const resetParents = (node, flag) => {
- if (node[flag]) {
- return
- }
-
- for (let p = node; p && (p === node || p[flag]); p = p.resolveParent) {
- p[flag] = false
- }
-}
-
-// typically a short walk, since it only traverses deps that have the flag set.
-const unsetFlag = (node, flag) => {
- if (node[flag]) {
- node[flag] = false
- depth({
- tree: node,
- visit: node => {
- node.extraneous = node[flag] = false
- if (node.isLink && node.target) {
- node.target.extraneous = node.target[flag] = false
- }
- },
- getChildren: node => {
- const children = []
- const targetNode = node.isLink && node.target ? node.target : node
- for (const edge of targetNode.edgesOut.values()) {
- if (edge.to?.[flag]) {
- // For the peer flag, only follow peer edges to unset the flag
- // Don't propagate peer flag through prod/dev/optional edges
- if (flag === 'peer') {
- if (edge.type === 'peer') {
- children.push(edge.to)
- }
- } else {
- // For other flags, follow prod edges (and peer edges for non-peer flags)
- if (edge.type === 'prod' || edge.type === 'peer') {
- children.push(edge.to)
- }
- }
- }
- }
- return children
- },
- })
+ // Remove incorrect devOptional flags now that we have walked all deps.
+ seen.delete(tree)
+ for (const node of seen.values()) {
+ if (node.devOptional && (node.dev || node.optional)) {
+ node.devOptional = false
+ }
}
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/edge.js b/deps/npm/node_modules/@npmcli/arborist/lib/edge.js
index 242d2669ae4ca3..32e523cbc83cac 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/edge.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/edge.js
@@ -276,9 +276,15 @@ class Edge {
} else if (!this.satisfiedBy(this.#to)) {
this.#error = 'INVALID'
} else if (this.overrides && this.#to.edgesOut.size && OverrideSet.doOverrideSetsConflict(this.overrides, this.#to.overrides)) {
- // Any inconsistency between the edge's override set and the target's override set is potentially problematic.
- // But we only say the edge is in error if the override sets are plainly conflicting.
- // Note that if the target doesn't have any dependencies of their own, then this inconsistency is irrelevant.
+ // Check for conflicts between the edge's override set and the target node's override set.
+ // This catches cases where different parts of the tree have genuinely incompatible
+ // version requirements for the same package.
+ // The improved conflict detection uses semantic comparison (checking for incompatible
+ // version ranges) rather than pure structural equality, avoiding false positives from:
+ // - Reference overrides ($syntax) that resolve to compatible versions
+ // - Peer dependencies with different but compatible override contexts
+ // Note: We only check if the target has dependencies (edgesOut.size > 0), since
+ // override conflicts are only relevant if the target has its own dependencies.
this.#error = 'INVALID'
} else {
this.#error = 'OK'
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/node.js b/deps/npm/node_modules/@npmcli/arborist/lib/node.js
index 41871756c221cc..8c6d361e863858 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/node.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/node.js
@@ -1613,6 +1613,22 @@ class Node {
[util.inspect.custom] () {
return this.toJSON()
}
+
+ resetDepFlags () {
+ this.extraneous = true
+ this.dev = true
+ this.optional = true
+ this.devOptional = true
+ this.peer = true
+ }
+
+ unsetDepFlags () {
+ this.extraneous = false
+ this.dev = false
+ this.optional = false
+ this.devOptional = false
+ this.peer = false
+ }
}
module.exports = Node
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/optional-set.js b/deps/npm/node_modules/@npmcli/arborist/lib/optional-set.js
index 76d557c0e52c55..021a0ef72aa172 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/optional-set.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/optional-set.js
@@ -10,10 +10,6 @@
const gatherDepSet = require('./gather-dep-set.js')
const optionalSet = node => {
- if (!node.optional) {
- return new Set()
- }
-
// start with the node, then walk up the dependency graph until we
// get to the boundaries that define the optional set. since the
// node is optional, we know that all paths INTO this area of the
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/override-set.js b/deps/npm/node_modules/@npmcli/arborist/lib/override-set.js
index 3f05609bfacc1f..b4a11ba589df77 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/override-set.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/override-set.js
@@ -201,8 +201,82 @@ class OverrideSet {
static doOverrideSetsConflict (first, second) {
// If override sets contain one another then we can try to use the more specific one.
- // If neither one is more specific, then we consider them to be in conflict.
- return (this.findSpecificOverrideSet(first, second) === undefined)
+ // If neither one is more specific, check for semantic conflicts.
+ const specificSet = this.findSpecificOverrideSet(first, second)
+ if (specificSet !== undefined) {
+ // One contains the other, so no conflict
+ return false
+ }
+
+ // The override sets are structurally incomparable, but this doesn't necessarily
+ // mean they conflict. We need to check if they have conflicting version requirements
+ // for any package that appears in both rulesets.
+ return this.haveConflictingRules(first, second)
+ }
+
+ static haveConflictingRules (first, second) {
+ // Get all rules from both override sets
+ const firstRules = first.ruleset
+ const secondRules = second.ruleset
+
+ // Check each package that appears in both rulesets
+ for (const [key, firstRule] of firstRules) {
+ const secondRule = secondRules.get(key)
+ if (!secondRule) {
+ // Package only appears in one ruleset, no conflict
+ continue
+ }
+
+ // Same rule object means no conflict
+ if (firstRule === secondRule || firstRule.isEqual(secondRule)) {
+ continue
+ }
+
+ // Both rulesets have rules for this package with different values.
+ // Check if the version requirements are actually incompatible.
+ const firstValue = firstRule.value
+ const secondValue = secondRule.value
+
+ // If either value is a reference (starts with $), we can't determine
+ // compatibility here - the reference might resolve to compatible versions.
+ // We defer to runtime resolution rather than failing early.
+ if (firstValue.startsWith('$') || secondValue.startsWith('$')) {
+ continue
+ }
+
+ // Check if the version ranges are compatible using semver
+ // If both specify version ranges, they conflict only if they have no overlap
+ try {
+ const firstSpec = npa(`${firstRule.name}@${firstValue}`)
+ const secondSpec = npa(`${secondRule.name}@${secondValue}`)
+
+ // For range/version types, check if they intersect
+ if ((firstSpec.type === 'range' || firstSpec.type === 'version') &&
+ (secondSpec.type === 'range' || secondSpec.type === 'version')) {
+ // Check if the ranges intersect
+ const firstRange = firstSpec.fetchSpec
+ const secondRange = secondSpec.fetchSpec
+
+ // If the ranges don't intersect, we have a real conflict
+ if (!semver.intersects(firstRange, secondRange)) {
+ log.silly('Found conflicting override rules', {
+ package: firstRule.name,
+ first: firstValue,
+ second: secondValue,
+ })
+ return true
+ }
+ }
+ // For other types (git, file, directory, tag), we can't easily determine
+ // compatibility, so we conservatively assume no conflict
+ } catch {
+ // If we can't parse the specs, conservatively assume no conflict
+ // Real conflicts will be caught during dependency resolution
+ }
+ }
+
+ // No conflicting rules found
+ return false
}
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/reset-dep-flags.js b/deps/npm/node_modules/@npmcli/arborist/lib/reset-dep-flags.js
index e259e901a56254..6bb4ceceb6972f 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/reset-dep-flags.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/reset-dep-flags.js
@@ -6,10 +6,6 @@
// we can find the set that is actually extraneous.
module.exports = tree => {
for (const node of tree.inventory.values()) {
- node.extraneous = true
- node.dev = true
- node.devOptional = true
- node.peer = true
- node.optional = true
+ node.resetDepFlags()
}
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/package.json b/deps/npm/node_modules/@npmcli/arborist/package.json
index ed00181eceaec0..ae7dbc433c5b28 100644
--- a/deps/npm/node_modules/@npmcli/arborist/package.json
+++ b/deps/npm/node_modules/@npmcli/arborist/package.json
@@ -1,20 +1,20 @@
{
"name": "@npmcli/arborist",
- "version": "9.1.6",
+ "version": "9.1.7",
"description": "Manage node_modules trees",
"dependencies": {
"@isaacs/string-locale-compare": "^1.1.0",
"@npmcli/fs": "^4.0.0",
- "@npmcli/installed-package-contents": "^3.0.0",
+ "@npmcli/installed-package-contents": "^4.0.0",
"@npmcli/map-workspaces": "^5.0.0",
"@npmcli/metavuln-calculator": "^9.0.2",
- "@npmcli/name-from-folder": "^3.0.0",
- "@npmcli/node-gyp": "^4.0.0",
+ "@npmcli/name-from-folder": "^4.0.0",
+ "@npmcli/node-gyp": "^5.0.0",
"@npmcli/package-json": "^7.0.0",
"@npmcli/query": "^4.0.0",
- "@npmcli/redact": "^3.0.0",
+ "@npmcli/redact": "^4.0.0",
"@npmcli/run-script": "^10.0.0",
- "bin-links": "^5.0.0",
+ "bin-links": "^6.0.0",
"cacache": "^20.0.1",
"common-ancestor-path": "^1.0.1",
"hosted-git-info": "^9.0.0",
@@ -22,18 +22,18 @@
"lru-cache": "^11.2.1",
"minimatch": "^10.0.3",
"nopt": "^8.0.0",
- "npm-install-checks": "^7.1.0",
+ "npm-install-checks": "^8.0.0",
"npm-package-arg": "^13.0.0",
"npm-pick-manifest": "^11.0.1",
"npm-registry-fetch": "^19.0.0",
"pacote": "^21.0.2",
- "parse-conflict-json": "^4.0.0",
- "proc-log": "^5.0.0",
+ "parse-conflict-json": "^5.0.1",
+ "proc-log": "^6.0.0",
"proggy": "^3.0.0",
"promise-all-reject-late": "^1.0.0",
"promise-call-limit": "^3.0.1",
"semver": "^7.3.7",
- "ssri": "^12.0.0",
+ "ssri": "^13.0.0",
"treeverse": "^3.0.0",
"walk-up-path": "^4.0.0"
},
diff --git a/deps/npm/node_modules/@npmcli/config/lib/definitions/definitions.js b/deps/npm/node_modules/@npmcli/config/lib/definitions/definitions.js
index 739428508d2fe9..a91baf6927dfa3 100644
--- a/deps/npm/node_modules/@npmcli/config/lib/definitions/definitions.js
+++ b/deps/npm/node_modules/@npmcli/config/lib/definitions/definitions.js
@@ -274,6 +274,16 @@ const definitions = {
`,
flatten,
}),
+ 'bypass-2fa': new Definition('bypass-2fa', {
+ default: false,
+ type: Boolean,
+ description: `
+ When creating a Granular Access Token with \`npm token create\`,
+ setting this to true will allow the token to bypass two-factor
+ authentication. This is useful for automation and CI/CD workflows.
+ `,
+ flatten,
+ }),
ca: new Definition('ca', {
default: null,
type: [null, String, Array],
@@ -624,6 +634,16 @@ const definitions = {
Can be either true (expect some results) or false (expect no results).
`,
}),
+ expires: new Definition('expires', {
+ default: null,
+ type: [null, Number],
+ description: `
+ When creating a Granular Access Token with \`npm token create\`,
+ this sets the expiration in days. If not specified, the server
+ will determine the default expiration.
+ `,
+ flatten,
+ }),
'fetch-retries': new Definition('fetch-retries', {
default: 2,
type: Number,
@@ -1281,6 +1301,16 @@ const definitions = {
Show extended information in \`ls\`, \`search\`, and \`help-search\`.
`,
}),
+ name: new Definition('name', {
+ default: null,
+ type: [null, String],
+ hint: '',
+ description: `
+ When creating a Granular Access Token with \`npm token create\`,
+ this sets the name/description for the token.
+ `,
+ flatten,
+ }),
maxsockets: new Definition('maxsockets', {
default: 15,
type: Number,
@@ -1409,6 +1439,17 @@ const definitions = {
definitions.omit.flatten('omit', obj, flatOptions)
},
}),
+ orgs: new Definition('orgs', {
+ default: null,
+ type: [null, String, Array],
+ hint: '',
+ description: `
+ When creating a Granular Access Token with \`npm token create\`,
+ this limits the token access to specific organizations. Provide
+ a comma-separated list of organization names.
+ `,
+ flatten,
+ }),
optional: new Definition('optional', {
default: null,
type: [null, Boolean],
@@ -1505,6 +1546,17 @@ const definitions = {
`,
flatten,
}),
+ packages: new Definition('packages', {
+ default: [],
+ type: [null, String, Array],
+ hint: '',
+ description: `
+ When creating a Granular Access Token with \`npm token create\`,
+ this limits the token access to specific packages. Provide
+ a comma-separated list of package names.
+ `,
+ flatten,
+ }),
parseable: new Definition('parseable', {
default: false,
type: Boolean,
@@ -1900,6 +1952,64 @@ const definitions = {
flatOptions.projectScope = scope
},
}),
+ scopes: new Definition('scopes', {
+ default: null,
+ type: [null, String, Array],
+ hint: '<@scope1,@scope2>',
+ description: `
+ When creating a Granular Access Token with \`npm token create\`,
+ this limits the token access to specific scopes. Provide
+ a comma-separated list of scope names (with or without @ prefix).
+ `,
+ flatten,
+ }),
+ 'packages-all': new Definition('packages-all', {
+ default: false,
+ type: Boolean,
+ description: `
+ When creating a Granular Access Token with \`npm token create\`,
+ grants the token access to all packages instead of limiting to
+ specific packages.
+ `,
+ flatten,
+ }),
+ 'packages-and-scopes-permission': new Definition('packages-and-scopes-permission', {
+ default: null,
+ type: [null, 'read-only', 'read-write', 'no-access'],
+ description: `
+ When creating a Granular Access Token with \`npm token create\`,
+ sets the permission level for packages and scopes. Options are
+ "read-only", "read-write", or "no-access".
+ `,
+ flatten,
+ }),
+ 'orgs-permission': new Definition('orgs-permission', {
+ default: null,
+ type: [null, 'read-only', 'read-write', 'no-access'],
+ description: `
+ When creating a Granular Access Token with \`npm token create\`,
+ sets the permission level for organizations. Options are
+ "read-only", "read-write", or "no-access".
+ `,
+ flatten,
+ }),
+ password: new Definition('password', {
+ default: null,
+ type: [null, String],
+ description: `
+ Password for authentication. Can be provided via command line when
+ creating tokens, though it's generally safer to be prompted for it.
+ `,
+ flatten,
+ }),
+ 'token-description': new Definition('token-description', {
+ default: null,
+ type: [null, String],
+ description: `
+ Description text for the token when using \`npm token create\`.
+ `,
+ flatten,
+ }),
'script-shell': new Definition('script-shell', {
default: null,
defaultDescription: `
diff --git a/deps/npm/node_modules/@npmcli/config/package.json b/deps/npm/node_modules/@npmcli/config/package.json
index 651e2135893f48..7317cda73cd816 100644
--- a/deps/npm/node_modules/@npmcli/config/package.json
+++ b/deps/npm/node_modules/@npmcli/config/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/config",
- "version": "10.4.2",
+ "version": "10.4.3",
"files": [
"bin/",
"lib/"
@@ -40,9 +40,9 @@
"@npmcli/map-workspaces": "^5.0.0",
"@npmcli/package-json": "^7.0.0",
"ci-info": "^4.0.0",
- "ini": "^5.0.0",
+ "ini": "^6.0.0",
"nopt": "^8.1.0",
- "proc-log": "^5.0.0",
+ "proc-log": "^6.0.0",
"semver": "^7.3.5",
"walk-up-path": "^4.0.0"
},
diff --git a/deps/npm/node_modules/@npmcli/git/package.json b/deps/npm/node_modules/@npmcli/git/package.json
index f4e844bccab0db..78d077513dd81a 100644
--- a/deps/npm/node_modules/@npmcli/git/package.json
+++ b/deps/npm/node_modules/@npmcli/git/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/git",
- "version": "7.0.0",
+ "version": "7.0.1",
"main": "lib/index.js",
"files": [
"bin/",
@@ -38,14 +38,14 @@
"tap": "^16.0.1"
},
"dependencies": {
- "@npmcli/promise-spawn": "^8.0.0",
- "ini": "^5.0.0",
+ "@npmcli/promise-spawn": "^9.0.0",
+ "ini": "^6.0.0",
"lru-cache": "^11.2.1",
"npm-pick-manifest": "^11.0.1",
- "proc-log": "^5.0.0",
+ "proc-log": "^6.0.0",
"promise-retry": "^2.0.1",
"semver": "^7.3.5",
- "which": "^5.0.0"
+ "which": "^6.0.0"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
diff --git a/deps/npm/node_modules/@npmcli/installed-package-contents/package.json b/deps/npm/node_modules/@npmcli/installed-package-contents/package.json
index d5b68a737daf49..599b285fb467d7 100644
--- a/deps/npm/node_modules/@npmcli/installed-package-contents/package.json
+++ b/deps/npm/node_modules/@npmcli/installed-package-contents/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/installed-package-contents",
- "version": "3.0.0",
+ "version": "4.0.0",
"description": "Get the list of files installed in a package in node_modules, including bundled dependencies",
"author": "GitHub Inc.",
"main": "lib/index.js",
@@ -20,12 +20,12 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.23.3",
+ "@npmcli/template-oss": "4.27.1",
"tap": "^16.3.0"
},
"dependencies": {
- "npm-bundled": "^4.0.0",
- "npm-normalize-package-bin": "^4.0.0"
+ "npm-bundled": "^5.0.0",
+ "npm-normalize-package-bin": "^5.0.0"
},
"repository": {
"type": "git",
@@ -36,11 +36,11 @@
"lib/"
],
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.23.3",
+ "version": "4.27.1",
"publish": true
},
"tap": {
diff --git a/deps/npm/node_modules/@npmcli/map-workspaces/package.json b/deps/npm/node_modules/@npmcli/map-workspaces/package.json
index fb77ea8615c1ca..5f6c9c24f5ed76 100644
--- a/deps/npm/node_modules/@npmcli/map-workspaces/package.json
+++ b/deps/npm/node_modules/@npmcli/map-workspaces/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/map-workspaces",
- "version": "5.0.0",
+ "version": "5.0.1",
"main": "lib/index.js",
"files": [
"bin/",
@@ -44,18 +44,18 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.25.0",
+ "@npmcli/template-oss": "4.27.1",
"tap": "^16.0.1"
},
"dependencies": {
- "@npmcli/name-from-folder": "^3.0.0",
+ "@npmcli/name-from-folder": "^4.0.0",
"@npmcli/package-json": "^7.0.0",
"glob": "^11.0.3",
"minimatch": "^10.0.3"
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.25.0",
+ "version": "4.27.1",
"publish": "true"
}
}
diff --git a/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json b/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json
index 9d17000653c0e7..02b13bc8e82193 100644
--- a/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json
+++ b/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/metavuln-calculator",
- "version": "9.0.2",
+ "version": "9.0.3",
"main": "lib/index.js",
"files": [
"bin/",
@@ -34,15 +34,15 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.25.0",
+ "@npmcli/template-oss": "4.27.1",
"require-inject": "^1.4.4",
"tap": "^16.0.1"
},
"dependencies": {
"cacache": "^20.0.0",
- "json-parse-even-better-errors": "^4.0.0",
+ "json-parse-even-better-errors": "^5.0.0",
"pacote": "^21.0.0",
- "proc-log": "^5.0.0",
+ "proc-log": "^6.0.0",
"semver": "^7.3.5"
},
"engines": {
@@ -50,7 +50,7 @@
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.25.0",
+ "version": "4.27.1",
"publish": "true",
"ciVersions": [
"16.14.0",
diff --git a/deps/npm/node_modules/@npmcli/name-from-folder/package.json b/deps/npm/node_modules/@npmcli/name-from-folder/package.json
index 323edd81d22fb4..503667521565d4 100644
--- a/deps/npm/node_modules/@npmcli/name-from-folder/package.json
+++ b/deps/npm/node_modules/@npmcli/name-from-folder/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/name-from-folder",
- "version": "3.0.0",
+ "version": "4.0.0",
"files": [
"bin/",
"lib/"
@@ -25,15 +25,15 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.23.3",
+ "@npmcli/template-oss": "4.27.1",
"tap": "^16.3.2"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.23.3",
+ "version": "4.27.1",
"publish": true
},
"tap": {
diff --git a/deps/npm/node_modules/@npmcli/node-gyp/package.json b/deps/npm/node_modules/@npmcli/node-gyp/package.json
index 3be9663a39de04..a34dc6be617516 100644
--- a/deps/npm/node_modules/@npmcli/node-gyp/package.json
+++ b/deps/npm/node_modules/@npmcli/node-gyp/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/node-gyp",
- "version": "4.0.0",
+ "version": "5.0.0",
"description": "Tools for dealing with node-gyp packages",
"scripts": {
"test": "tap",
@@ -30,15 +30,15 @@
"license": "ISC",
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.23.3",
+ "@npmcli/template-oss": "4.27.1",
"tap": "^16.0.1"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.23.3",
+ "version": "4.27.1",
"publish": true
},
"tap": {
diff --git a/deps/npm/node_modules/@npmcli/package-json/lib/index.js b/deps/npm/node_modules/@npmcli/package-json/lib/index.js
index fabe5fbcda7bc5..adcbac67eabbac 100644
--- a/deps/npm/node_modules/@npmcli/package-json/lib/index.js
+++ b/deps/npm/node_modules/@npmcli/package-json/lib/index.js
@@ -225,7 +225,7 @@ class PackageJson {
this.#manifest = step({ content, originalContent: this.content })
}
- // unknown properties will just be overwitten
+ // unknown properties will just be overwritten
for (const [key, value] of Object.entries(content)) {
if (!knownKeys.has(key)) {
this.content[key] = value
diff --git a/deps/npm/node_modules/@npmcli/package-json/package.json b/deps/npm/node_modules/@npmcli/package-json/package.json
index 46c39c22a19007..3dc9f45c847cf4 100644
--- a/deps/npm/node_modules/@npmcli/package-json/package.json
+++ b/deps/npm/node_modules/@npmcli/package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/package-json",
- "version": "7.0.1",
+ "version": "7.0.2",
"description": "Programmatic API to update package.json",
"keywords": [
"npm",
@@ -32,14 +32,14 @@
"@npmcli/git": "^7.0.0",
"glob": "^11.0.3",
"hosted-git-info": "^9.0.0",
- "json-parse-even-better-errors": "^4.0.0",
- "proc-log": "^5.0.0",
+ "json-parse-even-better-errors": "^5.0.0",
+ "proc-log": "^6.0.0",
"semver": "^7.5.3",
"validate-npm-package-license": "^3.0.4"
},
"devDependencies": {
- "@npmcli/eslint-config": "^5.1.0",
- "@npmcli/template-oss": "4.25.0",
+ "@npmcli/eslint-config": "^6.0.0",
+ "@npmcli/template-oss": "4.28.0",
"tap": "^16.0.1"
},
"engines": {
@@ -47,7 +47,7 @@
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.25.0",
+ "version": "4.28.0",
"publish": "true"
},
"tap": {
diff --git a/deps/npm/node_modules/@npmcli/promise-spawn/lib/escape.js b/deps/npm/node_modules/@npmcli/promise-spawn/lib/escape.js
index 9aca8bde70a6e9..5fab00210f26c1 100644
--- a/deps/npm/node_modules/@npmcli/promise-spawn/lib/escape.js
+++ b/deps/npm/node_modules/@npmcli/promise-spawn/lib/escape.js
@@ -1,6 +1,5 @@
'use strict'
-// eslint-disable-next-line max-len
// this code adapted from: https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/
const cmd = (input, doubleEscape) => {
if (!input.length) {
diff --git a/deps/npm/node_modules/@npmcli/promise-spawn/package.json b/deps/npm/node_modules/@npmcli/promise-spawn/package.json
index 1436659a446126..f00ee324355c8f 100644
--- a/deps/npm/node_modules/@npmcli/promise-spawn/package.json
+++ b/deps/npm/node_modules/@npmcli/promise-spawn/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/promise-spawn",
- "version": "8.0.3",
+ "version": "9.0.1",
"files": [
"bin/",
"lib/"
@@ -32,20 +32,20 @@
]
},
"devDependencies": {
- "@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.25.0",
+ "@npmcli/eslint-config": "^6.0.0",
+ "@npmcli/template-oss": "4.28.0",
"spawk": "^1.7.1",
"tap": "^16.0.1"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.25.0",
+ "version": "4.28.0",
"publish": true
},
"dependencies": {
- "which": "^5.0.0"
+ "which": "^6.0.0"
}
}
diff --git a/deps/npm/node_modules/@npmcli/redact/package.json b/deps/npm/node_modules/@npmcli/redact/package.json
index b5070113b1330c..53d0edf50b73d4 100644
--- a/deps/npm/node_modules/@npmcli/redact/package.json
+++ b/deps/npm/node_modules/@npmcli/redact/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/redact",
- "version": "3.2.2",
+ "version": "4.0.0",
"description": "Redact sensitive npm information from output",
"main": "lib/index.js",
"exports": {
@@ -31,7 +31,7 @@
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.24.3",
+ "version": "4.27.1",
"publish": true
},
"tap": {
@@ -43,10 +43,10 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.24.3",
+ "@npmcli/template-oss": "4.27.1",
"tap": "^16.3.10"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
}
}
diff --git a/deps/npm/node_modules/@npmcli/run-script/package.json b/deps/npm/node_modules/@npmcli/run-script/package.json
index 2873f7cbf91c52..9ddb499084173c 100644
--- a/deps/npm/node_modules/@npmcli/run-script/package.json
+++ b/deps/npm/node_modules/@npmcli/run-script/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/run-script",
- "version": "10.0.0",
+ "version": "10.0.3",
"description": "Run a lifecycle script for a package (descendant of npm-lifecycle)",
"author": "GitHub Inc.",
"license": "ISC",
@@ -15,18 +15,18 @@
"template-oss-apply": "template-oss-apply --force"
},
"devDependencies": {
- "@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.25.0",
+ "@npmcli/eslint-config": "^6.0.0",
+ "@npmcli/template-oss": "4.28.0",
"spawk": "^1.8.1",
"tap": "^16.0.1"
},
"dependencies": {
- "@npmcli/node-gyp": "^4.0.0",
+ "@npmcli/node-gyp": "^5.0.0",
"@npmcli/package-json": "^7.0.0",
- "@npmcli/promise-spawn": "^8.0.0",
- "node-gyp": "^11.0.0",
- "proc-log": "^5.0.0",
- "which": "^5.0.0"
+ "@npmcli/promise-spawn": "^9.0.0",
+ "node-gyp": "^12.1.0",
+ "proc-log": "^6.0.0",
+ "which": "^6.0.0"
},
"files": [
"bin/",
@@ -42,7 +42,7 @@
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.25.0",
+ "version": "4.28.0",
"publish": "true"
},
"tap": {
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/LICENSE b/deps/npm/node_modules/@pkgjs/parseargs/LICENSE
deleted file mode 100644
index 261eeb9e9f8b2b..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/LICENSE
+++ /dev/null
@@ -1,201 +0,0 @@
- Apache License
- Version 2.0, January 2004
- http://www.apache.org/licenses/
-
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
- 1. Definitions.
-
- "License" shall mean the terms and conditions for use, reproduction,
- and distribution as defined by Sections 1 through 9 of this document.
-
- "Licensor" shall mean the copyright owner or entity authorized by
- the copyright owner that is granting the License.
-
- "Legal Entity" shall mean the union of the acting entity and all
- other entities that control, are controlled by, or are under common
- control with that entity. For the purposes of this definition,
- "control" means (i) the power, direct or indirect, to cause the
- direction or management of such entity, whether by contract or
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
- outstanding shares, or (iii) beneficial ownership of such entity.
-
- "You" (or "Your") shall mean an individual or Legal Entity
- exercising permissions granted by this License.
-
- "Source" form shall mean the preferred form for making modifications,
- including but not limited to software source code, documentation
- source, and configuration files.
-
- "Object" form shall mean any form resulting from mechanical
- transformation or translation of a Source form, including but
- not limited to compiled object code, generated documentation,
- and conversions to other media types.
-
- "Work" shall mean the work of authorship, whether in Source or
- Object form, made available under the License, as indicated by a
- copyright notice that is included in or attached to the work
- (an example is provided in the Appendix below).
-
- "Derivative Works" shall mean any work, whether in Source or Object
- form, that is based on (or derived from) the Work and for which the
- editorial revisions, annotations, elaborations, or other modifications
- represent, as a whole, an original work of authorship. For the purposes
- of this License, Derivative Works shall not include works that remain
- separable from, or merely link (or bind by name) to the interfaces of,
- the Work and Derivative Works thereof.
-
- "Contribution" shall mean any work of authorship, including
- the original version of the Work and any modifications or additions
- to that Work or Derivative Works thereof, that is intentionally
- submitted to Licensor for inclusion in the Work by the copyright owner
- or by an individual or Legal Entity authorized to submit on behalf of
- the copyright owner. For the purposes of this definition, "submitted"
- means any form of electronic, verbal, or written communication sent
- to the Licensor or its representatives, including but not limited to
- communication on electronic mailing lists, source code control systems,
- and issue tracking systems that are managed by, or on behalf of, the
- Licensor for the purpose of discussing and improving the Work, but
- excluding communication that is conspicuously marked or otherwise
- designated in writing by the copyright owner as "Not a Contribution."
-
- "Contributor" shall mean Licensor and any individual or Legal Entity
- on behalf of whom a Contribution has been received by Licensor and
- subsequently incorporated within the Work.
-
- 2. Grant of Copyright License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- copyright license to reproduce, prepare Derivative Works of,
- publicly display, publicly perform, sublicense, and distribute the
- Work and such Derivative Works in Source or Object form.
-
- 3. Grant of Patent License. Subject to the terms and conditions of
- this License, each Contributor hereby grants to You a perpetual,
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
- (except as stated in this section) patent license to make, have made,
- use, offer to sell, sell, import, and otherwise transfer the Work,
- where such license applies only to those patent claims licensable
- by such Contributor that are necessarily infringed by their
- Contribution(s) alone or by combination of their Contribution(s)
- with the Work to which such Contribution(s) was submitted. If You
- institute patent litigation against any entity (including a
- cross-claim or counterclaim in a lawsuit) alleging that the Work
- or a Contribution incorporated within the Work constitutes direct
- or contributory patent infringement, then any patent licenses
- granted to You under this License for that Work shall terminate
- as of the date such litigation is filed.
-
- 4. Redistribution. You may reproduce and distribute copies of the
- Work or Derivative Works thereof in any medium, with or without
- modifications, and in Source or Object form, provided that You
- meet the following conditions:
-
- (a) You must give any other recipients of the Work or
- Derivative Works a copy of this License; and
-
- (b) You must cause any modified files to carry prominent notices
- stating that You changed the files; and
-
- (c) You must retain, in the Source form of any Derivative Works
- that You distribute, all copyright, patent, trademark, and
- attribution notices from the Source form of the Work,
- excluding those notices that do not pertain to any part of
- the Derivative Works; and
-
- (d) If the Work includes a "NOTICE" text file as part of its
- distribution, then any Derivative Works that You distribute must
- include a readable copy of the attribution notices contained
- within such NOTICE file, excluding those notices that do not
- pertain to any part of the Derivative Works, in at least one
- of the following places: within a NOTICE text file distributed
- as part of the Derivative Works; within the Source form or
- documentation, if provided along with the Derivative Works; or,
- within a display generated by the Derivative Works, if and
- wherever such third-party notices normally appear. The contents
- of the NOTICE file are for informational purposes only and
- do not modify the License. You may add Your own attribution
- notices within Derivative Works that You distribute, alongside
- or as an addendum to the NOTICE text from the Work, provided
- that such additional attribution notices cannot be construed
- as modifying the License.
-
- You may add Your own copyright statement to Your modifications and
- may provide additional or different license terms and conditions
- for use, reproduction, or distribution of Your modifications, or
- for any such Derivative Works as a whole, provided Your use,
- reproduction, and distribution of the Work otherwise complies with
- the conditions stated in this License.
-
- 5. Submission of Contributions. Unless You explicitly state otherwise,
- any Contribution intentionally submitted for inclusion in the Work
- by You to the Licensor shall be under the terms and conditions of
- this License, without any additional terms or conditions.
- Notwithstanding the above, nothing herein shall supersede or modify
- the terms of any separate license agreement you may have executed
- with Licensor regarding such Contributions.
-
- 6. Trademarks. This License does not grant permission to use the trade
- names, trademarks, service marks, or product names of the Licensor,
- except as required for reasonable and customary use in describing the
- origin of the Work and reproducing the content of the NOTICE file.
-
- 7. Disclaimer of Warranty. Unless required by applicable law or
- agreed to in writing, Licensor provides the Work (and each
- Contributor provides its Contributions) on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
- implied, including, without limitation, any warranties or conditions
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
- PARTICULAR PURPOSE. You are solely responsible for determining the
- appropriateness of using or redistributing the Work and assume any
- risks associated with Your exercise of permissions under this License.
-
- 8. Limitation of Liability. In no event and under no legal theory,
- whether in tort (including negligence), contract, or otherwise,
- unless required by applicable law (such as deliberate and grossly
- negligent acts) or agreed to in writing, shall any Contributor be
- liable to You for damages, including any direct, indirect, special,
- incidental, or consequential damages of any character arising as a
- result of this License or out of the use or inability to use the
- Work (including but not limited to damages for loss of goodwill,
- work stoppage, computer failure or malfunction, or any and all
- other commercial damages or losses), even if such Contributor
- has been advised of the possibility of such damages.
-
- 9. Accepting Warranty or Additional Liability. While redistributing
- the Work or Derivative Works thereof, You may choose to offer,
- and charge a fee for, acceptance of support, warranty, indemnity,
- or other liability obligations and/or rights consistent with this
- License. However, in accepting such obligations, You may act only
- on Your own behalf and on Your sole responsibility, not on behalf
- of any other Contributor, and only if You agree to indemnify,
- defend, and hold each Contributor harmless for any liability
- incurred by, or claims asserted against, such Contributor by reason
- of your accepting any such warranty or additional liability.
-
- END OF TERMS AND CONDITIONS
-
- APPENDIX: How to apply the Apache License to your work.
-
- To apply the Apache License to your work, attach the following
- boilerplate notice, with the fields enclosed by brackets "[]"
- replaced with your own identifying information. (Don't include
- the brackets!) The text should be enclosed in the appropriate
- comment syntax for the file format. We also recommend that a
- file or class name and description of purpose be included on the
- same "printed page" as the copyright notice for easier
- identification within third-party archives.
-
- Copyright [yyyy] [name of copyright owner]
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/examples/is-default-value.js b/deps/npm/node_modules/@pkgjs/parseargs/examples/is-default-value.js
deleted file mode 100644
index 0a67972b71d135..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/examples/is-default-value.js
+++ /dev/null
@@ -1,25 +0,0 @@
-'use strict';
-
-// This example shows how to understand if a default value is used or not.
-
-// 1. const { parseArgs } = require('node:util'); // from node
-// 2. const { parseArgs } = require('@pkgjs/parseargs'); // from package
-const { parseArgs } = require('..'); // in repo
-
-const options = {
- file: { short: 'f', type: 'string', default: 'FOO' },
-};
-
-const { values, tokens } = parseArgs({ options, tokens: true });
-
-const isFileDefault = !tokens.some((token) => token.kind === 'option' &&
- token.name === 'file'
-);
-
-console.log(values);
-console.log(`Is the file option [${values.file}] the default value? ${isFileDefault}`);
-
-// Try the following:
-// node is-default-value.js
-// node is-default-value.js -f FILE
-// node is-default-value.js --file FILE
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/examples/limit-long-syntax.js b/deps/npm/node_modules/@pkgjs/parseargs/examples/limit-long-syntax.js
deleted file mode 100644
index 943e643ee9553b..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/examples/limit-long-syntax.js
+++ /dev/null
@@ -1,35 +0,0 @@
-'use strict';
-
-// This is an example of using tokens to add a custom behaviour.
-//
-// Require the use of `=` for long options and values by blocking
-// the use of space separated values.
-// So allow `--foo=bar`, and not allow `--foo bar`.
-//
-// Note: this is not a common behaviour, most CLIs allow both forms.
-
-// 1. const { parseArgs } = require('node:util'); // from node
-// 2. const { parseArgs } = require('@pkgjs/parseargs'); // from package
-const { parseArgs } = require('..'); // in repo
-
-const options = {
- file: { short: 'f', type: 'string' },
- log: { type: 'string' },
-};
-
-const { values, tokens } = parseArgs({ options, tokens: true });
-
-const badToken = tokens.find((token) => token.kind === 'option' &&
- token.value != null &&
- token.rawName.startsWith('--') &&
- !token.inlineValue
-);
-if (badToken) {
- throw new Error(`Option value for '${badToken.rawName}' must be inline, like '${badToken.rawName}=VALUE'`);
-}
-
-console.log(values);
-
-// Try the following:
-// node limit-long-syntax.js -f FILE --log=LOG
-// node limit-long-syntax.js --file FILE
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/examples/negate.js b/deps/npm/node_modules/@pkgjs/parseargs/examples/negate.js
deleted file mode 100644
index b6634690a4a0c0..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/examples/negate.js
+++ /dev/null
@@ -1,43 +0,0 @@
-'use strict';
-
-// This example is used in the documentation.
-
-// How might I add my own support for --no-foo?
-
-// 1. const { parseArgs } = require('node:util'); // from node
-// 2. const { parseArgs } = require('@pkgjs/parseargs'); // from package
-const { parseArgs } = require('..'); // in repo
-
-const options = {
- 'color': { type: 'boolean' },
- 'no-color': { type: 'boolean' },
- 'logfile': { type: 'string' },
- 'no-logfile': { type: 'boolean' },
-};
-const { values, tokens } = parseArgs({ options, tokens: true });
-
-// Reprocess the option tokens and overwrite the returned values.
-tokens
- .filter((token) => token.kind === 'option')
- .forEach((token) => {
- if (token.name.startsWith('no-')) {
- // Store foo:false for --no-foo
- const positiveName = token.name.slice(3);
- values[positiveName] = false;
- delete values[token.name];
- } else {
- // Resave value so last one wins if both --foo and --no-foo.
- values[token.name] = token.value ?? true;
- }
- });
-
-const color = values.color;
-const logfile = values.logfile ?? 'default.log';
-
-console.log({ logfile, color });
-
-// Try the following:
-// node negate.js
-// node negate.js --no-logfile --no-color
-// negate.js --logfile=test.log --color
-// node negate.js --no-logfile --logfile=test.log --color --no-color
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/examples/no-repeated-options.js b/deps/npm/node_modules/@pkgjs/parseargs/examples/no-repeated-options.js
deleted file mode 100644
index 0c324688af0305..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/examples/no-repeated-options.js
+++ /dev/null
@@ -1,31 +0,0 @@
-'use strict';
-
-// This is an example of using tokens to add a custom behaviour.
-//
-// Throw an error if an option is used more than once.
-
-// 1. const { parseArgs } = require('node:util'); // from node
-// 2. const { parseArgs } = require('@pkgjs/parseargs'); // from package
-const { parseArgs } = require('..'); // in repo
-
-const options = {
- ding: { type: 'boolean', short: 'd' },
- beep: { type: 'boolean', short: 'b' }
-};
-const { values, tokens } = parseArgs({ options, tokens: true });
-
-const seenBefore = new Set();
-tokens.forEach((token) => {
- if (token.kind !== 'option') return;
- if (seenBefore.has(token.name)) {
- throw new Error(`option '${token.name}' used multiple times`);
- }
- seenBefore.add(token.name);
-});
-
-console.log(values);
-
-// Try the following:
-// node no-repeated-options --ding --beep
-// node no-repeated-options --beep -b
-// node no-repeated-options -ddd
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/examples/ordered-options.mjs b/deps/npm/node_modules/@pkgjs/parseargs/examples/ordered-options.mjs
deleted file mode 100644
index 8ab7367b8bbb11..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/examples/ordered-options.mjs
+++ /dev/null
@@ -1,41 +0,0 @@
-// This is an example of using tokens to add a custom behaviour.
-//
-// This adds a option order check so that --some-unstable-option
-// may only be used after --enable-experimental-options
-//
-// Note: this is not a common behaviour, the order of different options
-// does not usually matter.
-
-import { parseArgs } from '../index.js';
-
-function findTokenIndex(tokens, target) {
- return tokens.findIndex((token) => token.kind === 'option' &&
- token.name === target
- );
-}
-
-const experimentalName = 'enable-experimental-options';
-const unstableName = 'some-unstable-option';
-
-const options = {
- [experimentalName]: { type: 'boolean' },
- [unstableName]: { type: 'boolean' },
-};
-
-const { values, tokens } = parseArgs({ options, tokens: true });
-
-const experimentalIndex = findTokenIndex(tokens, experimentalName);
-const unstableIndex = findTokenIndex(tokens, unstableName);
-if (unstableIndex !== -1 &&
- ((experimentalIndex === -1) || (unstableIndex < experimentalIndex))) {
- throw new Error(`'--${experimentalName}' must be specified before '--${unstableName}'`);
-}
-
-console.log(values);
-
-/* eslint-disable max-len */
-// Try the following:
-// node ordered-options.mjs
-// node ordered-options.mjs --some-unstable-option
-// node ordered-options.mjs --some-unstable-option --enable-experimental-options
-// node ordered-options.mjs --enable-experimental-options --some-unstable-option
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/examples/simple-hard-coded.js b/deps/npm/node_modules/@pkgjs/parseargs/examples/simple-hard-coded.js
deleted file mode 100644
index eff04c2a60fa21..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/examples/simple-hard-coded.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict';
-
-// This example is used in the documentation.
-
-// 1. const { parseArgs } = require('node:util'); // from node
-// 2. const { parseArgs } = require('@pkgjs/parseargs'); // from package
-const { parseArgs } = require('..'); // in repo
-
-const args = ['-f', '--bar', 'b'];
-const options = {
- foo: {
- type: 'boolean',
- short: 'f'
- },
- bar: {
- type: 'string'
- }
-};
-const {
- values,
- positionals
-} = parseArgs({ args, options });
-console.log(values, positionals);
-
-// Try the following:
-// node simple-hard-coded.js
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/index.js b/deps/npm/node_modules/@pkgjs/parseargs/index.js
deleted file mode 100644
index b1004c7b72f271..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/index.js
+++ /dev/null
@@ -1,396 +0,0 @@
-'use strict';
-
-const {
- ArrayPrototypeForEach,
- ArrayPrototypeIncludes,
- ArrayPrototypeMap,
- ArrayPrototypePush,
- ArrayPrototypePushApply,
- ArrayPrototypeShift,
- ArrayPrototypeSlice,
- ArrayPrototypeUnshiftApply,
- ObjectEntries,
- ObjectPrototypeHasOwnProperty: ObjectHasOwn,
- StringPrototypeCharAt,
- StringPrototypeIndexOf,
- StringPrototypeSlice,
- StringPrototypeStartsWith,
-} = require('./internal/primordials');
-
-const {
- validateArray,
- validateBoolean,
- validateBooleanArray,
- validateObject,
- validateString,
- validateStringArray,
- validateUnion,
-} = require('./internal/validators');
-
-const {
- kEmptyObject,
-} = require('./internal/util');
-
-const {
- findLongOptionForShort,
- isLoneLongOption,
- isLoneShortOption,
- isLongOptionAndValue,
- isOptionValue,
- isOptionLikeValue,
- isShortOptionAndValue,
- isShortOptionGroup,
- useDefaultValueOption,
- objectGetOwn,
- optionsGetOwn,
-} = require('./utils');
-
-const {
- codes: {
- ERR_INVALID_ARG_VALUE,
- ERR_PARSE_ARGS_INVALID_OPTION_VALUE,
- ERR_PARSE_ARGS_UNKNOWN_OPTION,
- ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL,
- },
-} = require('./internal/errors');
-
-function getMainArgs() {
- // Work out where to slice process.argv for user supplied arguments.
-
- // Check node options for scenarios where user CLI args follow executable.
- const execArgv = process.execArgv;
- if (ArrayPrototypeIncludes(execArgv, '-e') ||
- ArrayPrototypeIncludes(execArgv, '--eval') ||
- ArrayPrototypeIncludes(execArgv, '-p') ||
- ArrayPrototypeIncludes(execArgv, '--print')) {
- return ArrayPrototypeSlice(process.argv, 1);
- }
-
- // Normally first two arguments are executable and script, then CLI arguments
- return ArrayPrototypeSlice(process.argv, 2);
-}
-
-/**
- * In strict mode, throw for possible usage errors like --foo --bar
- *
- * @param {object} token - from tokens as available from parseArgs
- */
-function checkOptionLikeValue(token) {
- if (!token.inlineValue && isOptionLikeValue(token.value)) {
- // Only show short example if user used short option.
- const example = StringPrototypeStartsWith(token.rawName, '--') ?
- `'${token.rawName}=-XYZ'` :
- `'--${token.name}=-XYZ' or '${token.rawName}-XYZ'`;
- const errorMessage = `Option '${token.rawName}' argument is ambiguous.
-Did you forget to specify the option argument for '${token.rawName}'?
-To specify an option argument starting with a dash use ${example}.`;
- throw new ERR_PARSE_ARGS_INVALID_OPTION_VALUE(errorMessage);
- }
-}
-
-/**
- * In strict mode, throw for usage errors.
- *
- * @param {object} config - from config passed to parseArgs
- * @param {object} token - from tokens as available from parseArgs
- */
-function checkOptionUsage(config, token) {
- if (!ObjectHasOwn(config.options, token.name)) {
- throw new ERR_PARSE_ARGS_UNKNOWN_OPTION(
- token.rawName, config.allowPositionals);
- }
-
- const short = optionsGetOwn(config.options, token.name, 'short');
- const shortAndLong = `${short ? `-${short}, ` : ''}--${token.name}`;
- const type = optionsGetOwn(config.options, token.name, 'type');
- if (type === 'string' && typeof token.value !== 'string') {
- throw new ERR_PARSE_ARGS_INVALID_OPTION_VALUE(`Option '${shortAndLong} ' argument missing`);
- }
- // (Idiomatic test for undefined||null, expecting undefined.)
- if (type === 'boolean' && token.value != null) {
- throw new ERR_PARSE_ARGS_INVALID_OPTION_VALUE(`Option '${shortAndLong}' does not take an argument`);
- }
-}
-
-
-/**
- * Store the option value in `values`.
- *
- * @param {string} longOption - long option name e.g. 'foo'
- * @param {string|undefined} optionValue - value from user args
- * @param {object} options - option configs, from parseArgs({ options })
- * @param {object} values - option values returned in `values` by parseArgs
- */
-function storeOption(longOption, optionValue, options, values) {
- if (longOption === '__proto__') {
- return; // No. Just no.
- }
-
- // We store based on the option value rather than option type,
- // preserving the users intent for author to deal with.
- const newValue = optionValue ?? true;
- if (optionsGetOwn(options, longOption, 'multiple')) {
- // Always store value in array, including for boolean.
- // values[longOption] starts out not present,
- // first value is added as new array [newValue],
- // subsequent values are pushed to existing array.
- // (note: values has null prototype, so simpler usage)
- if (values[longOption]) {
- ArrayPrototypePush(values[longOption], newValue);
- } else {
- values[longOption] = [newValue];
- }
- } else {
- values[longOption] = newValue;
- }
-}
-
-/**
- * Store the default option value in `values`.
- *
- * @param {string} longOption - long option name e.g. 'foo'
- * @param {string
- * | boolean
- * | string[]
- * | boolean[]} optionValue - default value from option config
- * @param {object} values - option values returned in `values` by parseArgs
- */
-function storeDefaultOption(longOption, optionValue, values) {
- if (longOption === '__proto__') {
- return; // No. Just no.
- }
-
- values[longOption] = optionValue;
-}
-
-/**
- * Process args and turn into identified tokens:
- * - option (along with value, if any)
- * - positional
- * - option-terminator
- *
- * @param {string[]} args - from parseArgs({ args }) or mainArgs
- * @param {object} options - option configs, from parseArgs({ options })
- */
-function argsToTokens(args, options) {
- const tokens = [];
- let index = -1;
- let groupCount = 0;
-
- const remainingArgs = ArrayPrototypeSlice(args);
- while (remainingArgs.length > 0) {
- const arg = ArrayPrototypeShift(remainingArgs);
- const nextArg = remainingArgs[0];
- if (groupCount > 0)
- groupCount--;
- else
- index++;
-
- // Check if `arg` is an options terminator.
- // Guideline 10 in https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html
- if (arg === '--') {
- // Everything after a bare '--' is considered a positional argument.
- ArrayPrototypePush(tokens, { kind: 'option-terminator', index });
- ArrayPrototypePushApply(
- tokens, ArrayPrototypeMap(remainingArgs, (arg) => {
- return { kind: 'positional', index: ++index, value: arg };
- })
- );
- break; // Finished processing args, leave while loop.
- }
-
- if (isLoneShortOption(arg)) {
- // e.g. '-f'
- const shortOption = StringPrototypeCharAt(arg, 1);
- const longOption = findLongOptionForShort(shortOption, options);
- let value;
- let inlineValue;
- if (optionsGetOwn(options, longOption, 'type') === 'string' &&
- isOptionValue(nextArg)) {
- // e.g. '-f', 'bar'
- value = ArrayPrototypeShift(remainingArgs);
- inlineValue = false;
- }
- ArrayPrototypePush(
- tokens,
- { kind: 'option', name: longOption, rawName: arg,
- index, value, inlineValue });
- if (value != null) ++index;
- continue;
- }
-
- if (isShortOptionGroup(arg, options)) {
- // Expand -fXzy to -f -X -z -y
- const expanded = [];
- for (let index = 1; index < arg.length; index++) {
- const shortOption = StringPrototypeCharAt(arg, index);
- const longOption = findLongOptionForShort(shortOption, options);
- if (optionsGetOwn(options, longOption, 'type') !== 'string' ||
- index === arg.length - 1) {
- // Boolean option, or last short in group. Well formed.
- ArrayPrototypePush(expanded, `-${shortOption}`);
- } else {
- // String option in middle. Yuck.
- // Expand -abfFILE to -a -b -fFILE
- ArrayPrototypePush(expanded, `-${StringPrototypeSlice(arg, index)}`);
- break; // finished short group
- }
- }
- ArrayPrototypeUnshiftApply(remainingArgs, expanded);
- groupCount = expanded.length;
- continue;
- }
-
- if (isShortOptionAndValue(arg, options)) {
- // e.g. -fFILE
- const shortOption = StringPrototypeCharAt(arg, 1);
- const longOption = findLongOptionForShort(shortOption, options);
- const value = StringPrototypeSlice(arg, 2);
- ArrayPrototypePush(
- tokens,
- { kind: 'option', name: longOption, rawName: `-${shortOption}`,
- index, value, inlineValue: true });
- continue;
- }
-
- if (isLoneLongOption(arg)) {
- // e.g. '--foo'
- const longOption = StringPrototypeSlice(arg, 2);
- let value;
- let inlineValue;
- if (optionsGetOwn(options, longOption, 'type') === 'string' &&
- isOptionValue(nextArg)) {
- // e.g. '--foo', 'bar'
- value = ArrayPrototypeShift(remainingArgs);
- inlineValue = false;
- }
- ArrayPrototypePush(
- tokens,
- { kind: 'option', name: longOption, rawName: arg,
- index, value, inlineValue });
- if (value != null) ++index;
- continue;
- }
-
- if (isLongOptionAndValue(arg)) {
- // e.g. --foo=bar
- const equalIndex = StringPrototypeIndexOf(arg, '=');
- const longOption = StringPrototypeSlice(arg, 2, equalIndex);
- const value = StringPrototypeSlice(arg, equalIndex + 1);
- ArrayPrototypePush(
- tokens,
- { kind: 'option', name: longOption, rawName: `--${longOption}`,
- index, value, inlineValue: true });
- continue;
- }
-
- ArrayPrototypePush(tokens, { kind: 'positional', index, value: arg });
- }
-
- return tokens;
-}
-
-const parseArgs = (config = kEmptyObject) => {
- const args = objectGetOwn(config, 'args') ?? getMainArgs();
- const strict = objectGetOwn(config, 'strict') ?? true;
- const allowPositionals = objectGetOwn(config, 'allowPositionals') ?? !strict;
- const returnTokens = objectGetOwn(config, 'tokens') ?? false;
- const options = objectGetOwn(config, 'options') ?? { __proto__: null };
- // Bundle these up for passing to strict-mode checks.
- const parseConfig = { args, strict, options, allowPositionals };
-
- // Validate input configuration.
- validateArray(args, 'args');
- validateBoolean(strict, 'strict');
- validateBoolean(allowPositionals, 'allowPositionals');
- validateBoolean(returnTokens, 'tokens');
- validateObject(options, 'options');
- ArrayPrototypeForEach(
- ObjectEntries(options),
- ({ 0: longOption, 1: optionConfig }) => {
- validateObject(optionConfig, `options.${longOption}`);
-
- // type is required
- const optionType = objectGetOwn(optionConfig, 'type');
- validateUnion(optionType, `options.${longOption}.type`, ['string', 'boolean']);
-
- if (ObjectHasOwn(optionConfig, 'short')) {
- const shortOption = optionConfig.short;
- validateString(shortOption, `options.${longOption}.short`);
- if (shortOption.length !== 1) {
- throw new ERR_INVALID_ARG_VALUE(
- `options.${longOption}.short`,
- shortOption,
- 'must be a single character'
- );
- }
- }
-
- const multipleOption = objectGetOwn(optionConfig, 'multiple');
- if (ObjectHasOwn(optionConfig, 'multiple')) {
- validateBoolean(multipleOption, `options.${longOption}.multiple`);
- }
-
- const defaultValue = objectGetOwn(optionConfig, 'default');
- if (defaultValue !== undefined) {
- let validator;
- switch (optionType) {
- case 'string':
- validator = multipleOption ? validateStringArray : validateString;
- break;
-
- case 'boolean':
- validator = multipleOption ? validateBooleanArray : validateBoolean;
- break;
- }
- validator(defaultValue, `options.${longOption}.default`);
- }
- }
- );
-
- // Phase 1: identify tokens
- const tokens = argsToTokens(args, options);
-
- // Phase 2: process tokens into parsed option values and positionals
- const result = {
- values: { __proto__: null },
- positionals: [],
- };
- if (returnTokens) {
- result.tokens = tokens;
- }
- ArrayPrototypeForEach(tokens, (token) => {
- if (token.kind === 'option') {
- if (strict) {
- checkOptionUsage(parseConfig, token);
- checkOptionLikeValue(token);
- }
- storeOption(token.name, token.value, options, result.values);
- } else if (token.kind === 'positional') {
- if (!allowPositionals) {
- throw new ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL(token.value);
- }
- ArrayPrototypePush(result.positionals, token.value);
- }
- });
-
- // Phase 3: fill in default values for missing args
- ArrayPrototypeForEach(ObjectEntries(options), ({ 0: longOption,
- 1: optionConfig }) => {
- const mustSetDefault = useDefaultValueOption(longOption,
- optionConfig,
- result.values);
- if (mustSetDefault) {
- storeDefaultOption(longOption,
- objectGetOwn(optionConfig, 'default'),
- result.values);
- }
- });
-
-
- return result;
-};
-
-module.exports = {
- parseArgs,
-};
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/internal/errors.js b/deps/npm/node_modules/@pkgjs/parseargs/internal/errors.js
deleted file mode 100644
index e1b237b5b16395..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/internal/errors.js
+++ /dev/null
@@ -1,47 +0,0 @@
-'use strict';
-
-class ERR_INVALID_ARG_TYPE extends TypeError {
- constructor(name, expected, actual) {
- super(`${name} must be ${expected} got ${actual}`);
- this.code = 'ERR_INVALID_ARG_TYPE';
- }
-}
-
-class ERR_INVALID_ARG_VALUE extends TypeError {
- constructor(arg1, arg2, expected) {
- super(`The property ${arg1} ${expected}. Received '${arg2}'`);
- this.code = 'ERR_INVALID_ARG_VALUE';
- }
-}
-
-class ERR_PARSE_ARGS_INVALID_OPTION_VALUE extends Error {
- constructor(message) {
- super(message);
- this.code = 'ERR_PARSE_ARGS_INVALID_OPTION_VALUE';
- }
-}
-
-class ERR_PARSE_ARGS_UNKNOWN_OPTION extends Error {
- constructor(option, allowPositionals) {
- const suggestDashDash = allowPositionals ? `. To specify a positional argument starting with a '-', place it at the end of the command after '--', as in '-- ${JSON.stringify(option)}` : '';
- super(`Unknown option '${option}'${suggestDashDash}`);
- this.code = 'ERR_PARSE_ARGS_UNKNOWN_OPTION';
- }
-}
-
-class ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL extends Error {
- constructor(positional) {
- super(`Unexpected argument '${positional}'. This command does not take positional arguments`);
- this.code = 'ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL';
- }
-}
-
-module.exports = {
- codes: {
- ERR_INVALID_ARG_TYPE,
- ERR_INVALID_ARG_VALUE,
- ERR_PARSE_ARGS_INVALID_OPTION_VALUE,
- ERR_PARSE_ARGS_UNKNOWN_OPTION,
- ERR_PARSE_ARGS_UNEXPECTED_POSITIONAL,
- }
-};
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/internal/primordials.js b/deps/npm/node_modules/@pkgjs/parseargs/internal/primordials.js
deleted file mode 100644
index 63e23ab117a9cc..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/internal/primordials.js
+++ /dev/null
@@ -1,393 +0,0 @@
-/*
-This file is copied from https://github.com/nodejs/node/blob/v14.19.3/lib/internal/per_context/primordials.js
-under the following license:
-
-Copyright Node.js contributors. All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to
-deal in the Software without restriction, including without limitation the
-rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
-sell copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-IN THE SOFTWARE.
-*/
-
-'use strict';
-
-/* eslint-disable node-core/prefer-primordials */
-
-// This file subclasses and stores the JS builtins that come from the VM
-// so that Node.js's builtin modules do not need to later look these up from
-// the global proxy, which can be mutated by users.
-
-// Use of primordials have sometimes a dramatic impact on performance, please
-// benchmark all changes made in performance-sensitive areas of the codebase.
-// See: https://github.com/nodejs/node/pull/38248
-
-const primordials = {};
-
-const {
- defineProperty: ReflectDefineProperty,
- getOwnPropertyDescriptor: ReflectGetOwnPropertyDescriptor,
- ownKeys: ReflectOwnKeys,
-} = Reflect;
-
-// `uncurryThis` is equivalent to `func => Function.prototype.call.bind(func)`.
-// It is using `bind.bind(call)` to avoid using `Function.prototype.bind`
-// and `Function.prototype.call` after it may have been mutated by users.
-const { apply, bind, call } = Function.prototype;
-const uncurryThis = bind.bind(call);
-primordials.uncurryThis = uncurryThis;
-
-// `applyBind` is equivalent to `func => Function.prototype.apply.bind(func)`.
-// It is using `bind.bind(apply)` to avoid using `Function.prototype.bind`
-// and `Function.prototype.apply` after it may have been mutated by users.
-const applyBind = bind.bind(apply);
-primordials.applyBind = applyBind;
-
-// Methods that accept a variable number of arguments, and thus it's useful to
-// also create `${prefix}${key}Apply`, which uses `Function.prototype.apply`,
-// instead of `Function.prototype.call`, and thus doesn't require iterator
-// destructuring.
-const varargsMethods = [
- // 'ArrayPrototypeConcat' is omitted, because it performs the spread
- // on its own for arrays and array-likes with a truthy
- // @@isConcatSpreadable symbol property.
- 'ArrayOf',
- 'ArrayPrototypePush',
- 'ArrayPrototypeUnshift',
- // 'FunctionPrototypeCall' is omitted, since there's 'ReflectApply'
- // and 'FunctionPrototypeApply'.
- 'MathHypot',
- 'MathMax',
- 'MathMin',
- 'StringPrototypeConcat',
- 'TypedArrayOf',
-];
-
-function getNewKey(key) {
- return typeof key === 'symbol' ?
- `Symbol${key.description[7].toUpperCase()}${key.description.slice(8)}` :
- `${key[0].toUpperCase()}${key.slice(1)}`;
-}
-
-function copyAccessor(dest, prefix, key, { enumerable, get, set }) {
- ReflectDefineProperty(dest, `${prefix}Get${key}`, {
- value: uncurryThis(get),
- enumerable
- });
- if (set !== undefined) {
- ReflectDefineProperty(dest, `${prefix}Set${key}`, {
- value: uncurryThis(set),
- enumerable
- });
- }
-}
-
-function copyPropsRenamed(src, dest, prefix) {
- for (const key of ReflectOwnKeys(src)) {
- const newKey = getNewKey(key);
- const desc = ReflectGetOwnPropertyDescriptor(src, key);
- if ('get' in desc) {
- copyAccessor(dest, prefix, newKey, desc);
- } else {
- const name = `${prefix}${newKey}`;
- ReflectDefineProperty(dest, name, desc);
- if (varargsMethods.includes(name)) {
- ReflectDefineProperty(dest, `${name}Apply`, {
- // `src` is bound as the `this` so that the static `this` points
- // to the object it was defined on,
- // e.g.: `ArrayOfApply` gets a `this` of `Array`:
- value: applyBind(desc.value, src),
- });
- }
- }
- }
-}
-
-function copyPropsRenamedBound(src, dest, prefix) {
- for (const key of ReflectOwnKeys(src)) {
- const newKey = getNewKey(key);
- const desc = ReflectGetOwnPropertyDescriptor(src, key);
- if ('get' in desc) {
- copyAccessor(dest, prefix, newKey, desc);
- } else {
- const { value } = desc;
- if (typeof value === 'function') {
- desc.value = value.bind(src);
- }
-
- const name = `${prefix}${newKey}`;
- ReflectDefineProperty(dest, name, desc);
- if (varargsMethods.includes(name)) {
- ReflectDefineProperty(dest, `${name}Apply`, {
- value: applyBind(value, src),
- });
- }
- }
- }
-}
-
-function copyPrototype(src, dest, prefix) {
- for (const key of ReflectOwnKeys(src)) {
- const newKey = getNewKey(key);
- const desc = ReflectGetOwnPropertyDescriptor(src, key);
- if ('get' in desc) {
- copyAccessor(dest, prefix, newKey, desc);
- } else {
- const { value } = desc;
- if (typeof value === 'function') {
- desc.value = uncurryThis(value);
- }
-
- const name = `${prefix}${newKey}`;
- ReflectDefineProperty(dest, name, desc);
- if (varargsMethods.includes(name)) {
- ReflectDefineProperty(dest, `${name}Apply`, {
- value: applyBind(value),
- });
- }
- }
- }
-}
-
-// Create copies of configurable value properties of the global object
-[
- 'Proxy',
- 'globalThis',
-].forEach((name) => {
- // eslint-disable-next-line no-restricted-globals
- primordials[name] = globalThis[name];
-});
-
-// Create copies of URI handling functions
-[
- decodeURI,
- decodeURIComponent,
- encodeURI,
- encodeURIComponent,
-].forEach((fn) => {
- primordials[fn.name] = fn;
-});
-
-// Create copies of the namespace objects
-[
- 'JSON',
- 'Math',
- 'Proxy',
- 'Reflect',
-].forEach((name) => {
- // eslint-disable-next-line no-restricted-globals
- copyPropsRenamed(global[name], primordials, name);
-});
-
-// Create copies of intrinsic objects
-[
- 'Array',
- 'ArrayBuffer',
- 'BigInt',
- 'BigInt64Array',
- 'BigUint64Array',
- 'Boolean',
- 'DataView',
- 'Date',
- 'Error',
- 'EvalError',
- 'Float32Array',
- 'Float64Array',
- 'Function',
- 'Int16Array',
- 'Int32Array',
- 'Int8Array',
- 'Map',
- 'Number',
- 'Object',
- 'RangeError',
- 'ReferenceError',
- 'RegExp',
- 'Set',
- 'String',
- 'Symbol',
- 'SyntaxError',
- 'TypeError',
- 'URIError',
- 'Uint16Array',
- 'Uint32Array',
- 'Uint8Array',
- 'Uint8ClampedArray',
- 'WeakMap',
- 'WeakSet',
-].forEach((name) => {
- // eslint-disable-next-line no-restricted-globals
- const original = global[name];
- primordials[name] = original;
- copyPropsRenamed(original, primordials, name);
- copyPrototype(original.prototype, primordials, `${name}Prototype`);
-});
-
-// Create copies of intrinsic objects that require a valid `this` to call
-// static methods.
-// Refs: https://www.ecma-international.org/ecma-262/#sec-promise.all
-[
- 'Promise',
-].forEach((name) => {
- // eslint-disable-next-line no-restricted-globals
- const original = global[name];
- primordials[name] = original;
- copyPropsRenamedBound(original, primordials, name);
- copyPrototype(original.prototype, primordials, `${name}Prototype`);
-});
-
-// Create copies of abstract intrinsic objects that are not directly exposed
-// on the global object.
-// Refs: https://tc39.es/ecma262/#sec-%typedarray%-intrinsic-object
-[
- { name: 'TypedArray', original: Reflect.getPrototypeOf(Uint8Array) },
- { name: 'ArrayIterator', original: {
- prototype: Reflect.getPrototypeOf(Array.prototype[Symbol.iterator]()),
- } },
- { name: 'StringIterator', original: {
- prototype: Reflect.getPrototypeOf(String.prototype[Symbol.iterator]()),
- } },
-].forEach(({ name, original }) => {
- primordials[name] = original;
- // The static %TypedArray% methods require a valid `this`, but can't be bound,
- // as they need a subclass constructor as the receiver:
- copyPrototype(original, primordials, name);
- copyPrototype(original.prototype, primordials, `${name}Prototype`);
-});
-
-/* eslint-enable node-core/prefer-primordials */
-
-const {
- ArrayPrototypeForEach,
- FunctionPrototypeCall,
- Map,
- ObjectFreeze,
- ObjectSetPrototypeOf,
- Set,
- SymbolIterator,
- WeakMap,
- WeakSet,
-} = primordials;
-
-// Because these functions are used by `makeSafe`, which is exposed
-// on the `primordials` object, it's important to use const references
-// to the primordials that they use:
-const createSafeIterator = (factory, next) => {
- class SafeIterator {
- constructor(iterable) {
- this._iterator = factory(iterable);
- }
- next() {
- return next(this._iterator);
- }
- [SymbolIterator]() {
- return this;
- }
- }
- ObjectSetPrototypeOf(SafeIterator.prototype, null);
- ObjectFreeze(SafeIterator.prototype);
- ObjectFreeze(SafeIterator);
- return SafeIterator;
-};
-
-primordials.SafeArrayIterator = createSafeIterator(
- primordials.ArrayPrototypeSymbolIterator,
- primordials.ArrayIteratorPrototypeNext
-);
-primordials.SafeStringIterator = createSafeIterator(
- primordials.StringPrototypeSymbolIterator,
- primordials.StringIteratorPrototypeNext
-);
-
-const copyProps = (src, dest) => {
- ArrayPrototypeForEach(ReflectOwnKeys(src), (key) => {
- if (!ReflectGetOwnPropertyDescriptor(dest, key)) {
- ReflectDefineProperty(
- dest,
- key,
- ReflectGetOwnPropertyDescriptor(src, key));
- }
- });
-};
-
-const makeSafe = (unsafe, safe) => {
- if (SymbolIterator in unsafe.prototype) {
- const dummy = new unsafe();
- let next; // We can reuse the same `next` method.
-
- ArrayPrototypeForEach(ReflectOwnKeys(unsafe.prototype), (key) => {
- if (!ReflectGetOwnPropertyDescriptor(safe.prototype, key)) {
- const desc = ReflectGetOwnPropertyDescriptor(unsafe.prototype, key);
- if (
- typeof desc.value === 'function' &&
- desc.value.length === 0 &&
- SymbolIterator in (FunctionPrototypeCall(desc.value, dummy) ?? {})
- ) {
- const createIterator = uncurryThis(desc.value);
- next = next ?? uncurryThis(createIterator(dummy).next);
- const SafeIterator = createSafeIterator(createIterator, next);
- desc.value = function() {
- return new SafeIterator(this);
- };
- }
- ReflectDefineProperty(safe.prototype, key, desc);
- }
- });
- } else {
- copyProps(unsafe.prototype, safe.prototype);
- }
- copyProps(unsafe, safe);
-
- ObjectSetPrototypeOf(safe.prototype, null);
- ObjectFreeze(safe.prototype);
- ObjectFreeze(safe);
- return safe;
-};
-primordials.makeSafe = makeSafe;
-
-// Subclass the constructors because we need to use their prototype
-// methods later.
-// Defining the `constructor` is necessary here to avoid the default
-// constructor which uses the user-mutable `%ArrayIteratorPrototype%.next`.
-primordials.SafeMap = makeSafe(
- Map,
- class SafeMap extends Map {
- constructor(i) { super(i); } // eslint-disable-line no-useless-constructor
- }
-);
-primordials.SafeWeakMap = makeSafe(
- WeakMap,
- class SafeWeakMap extends WeakMap {
- constructor(i) { super(i); } // eslint-disable-line no-useless-constructor
- }
-);
-primordials.SafeSet = makeSafe(
- Set,
- class SafeSet extends Set {
- constructor(i) { super(i); } // eslint-disable-line no-useless-constructor
- }
-);
-primordials.SafeWeakSet = makeSafe(
- WeakSet,
- class SafeWeakSet extends WeakSet {
- constructor(i) { super(i); } // eslint-disable-line no-useless-constructor
- }
-);
-
-ObjectSetPrototypeOf(primordials, null);
-ObjectFreeze(primordials);
-
-module.exports = primordials;
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/internal/util.js b/deps/npm/node_modules/@pkgjs/parseargs/internal/util.js
deleted file mode 100644
index b9b8fe5b8d7c02..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/internal/util.js
+++ /dev/null
@@ -1,14 +0,0 @@
-'use strict';
-
-// This is a placeholder for util.js in node.js land.
-
-const {
- ObjectCreate,
- ObjectFreeze,
-} = require('./primordials');
-
-const kEmptyObject = ObjectFreeze(ObjectCreate(null));
-
-module.exports = {
- kEmptyObject,
-};
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/internal/validators.js b/deps/npm/node_modules/@pkgjs/parseargs/internal/validators.js
deleted file mode 100644
index b5ac4fb501eff4..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/internal/validators.js
+++ /dev/null
@@ -1,89 +0,0 @@
-'use strict';
-
-// This file is a proxy of the original file located at:
-// https://github.com/nodejs/node/blob/main/lib/internal/validators.js
-// Every addition or modification to this file must be evaluated
-// during the PR review.
-
-const {
- ArrayIsArray,
- ArrayPrototypeIncludes,
- ArrayPrototypeJoin,
-} = require('./primordials');
-
-const {
- codes: {
- ERR_INVALID_ARG_TYPE
- }
-} = require('./errors');
-
-function validateString(value, name) {
- if (typeof value !== 'string') {
- throw new ERR_INVALID_ARG_TYPE(name, 'String', value);
- }
-}
-
-function validateUnion(value, name, union) {
- if (!ArrayPrototypeIncludes(union, value)) {
- throw new ERR_INVALID_ARG_TYPE(name, `('${ArrayPrototypeJoin(union, '|')}')`, value);
- }
-}
-
-function validateBoolean(value, name) {
- if (typeof value !== 'boolean') {
- throw new ERR_INVALID_ARG_TYPE(name, 'Boolean', value);
- }
-}
-
-function validateArray(value, name) {
- if (!ArrayIsArray(value)) {
- throw new ERR_INVALID_ARG_TYPE(name, 'Array', value);
- }
-}
-
-function validateStringArray(value, name) {
- validateArray(value, name);
- for (let i = 0; i < value.length; i++) {
- validateString(value[i], `${name}[${i}]`);
- }
-}
-
-function validateBooleanArray(value, name) {
- validateArray(value, name);
- for (let i = 0; i < value.length; i++) {
- validateBoolean(value[i], `${name}[${i}]`);
- }
-}
-
-/**
- * @param {unknown} value
- * @param {string} name
- * @param {{
- * allowArray?: boolean,
- * allowFunction?: boolean,
- * nullable?: boolean
- * }} [options]
- */
-function validateObject(value, name, options) {
- const useDefaultOptions = options == null;
- const allowArray = useDefaultOptions ? false : options.allowArray;
- const allowFunction = useDefaultOptions ? false : options.allowFunction;
- const nullable = useDefaultOptions ? false : options.nullable;
- if ((!nullable && value === null) ||
- (!allowArray && ArrayIsArray(value)) ||
- (typeof value !== 'object' && (
- !allowFunction || typeof value !== 'function'
- ))) {
- throw new ERR_INVALID_ARG_TYPE(name, 'Object', value);
- }
-}
-
-module.exports = {
- validateArray,
- validateObject,
- validateString,
- validateStringArray,
- validateUnion,
- validateBoolean,
- validateBooleanArray,
-};
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/package.json b/deps/npm/node_modules/@pkgjs/parseargs/package.json
deleted file mode 100644
index 0bcc05c0d4a3ec..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/package.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "name": "@pkgjs/parseargs",
- "version": "0.11.0",
- "description": "Polyfill of future proposal for `util.parseArgs()`",
- "engines": {
- "node": ">=14"
- },
- "main": "index.js",
- "exports": {
- ".": "./index.js",
- "./package.json": "./package.json"
- },
- "scripts": {
- "coverage": "c8 --check-coverage tape 'test/*.js'",
- "test": "c8 tape 'test/*.js'",
- "posttest": "eslint .",
- "fix": "npm run posttest -- --fix"
- },
- "repository": {
- "type": "git",
- "url": "git@github.com:pkgjs/parseargs.git"
- },
- "keywords": [],
- "author": "",
- "license": "MIT",
- "bugs": {
- "url": "https://github.com/pkgjs/parseargs/issues"
- },
- "homepage": "https://github.com/pkgjs/parseargs#readme",
- "devDependencies": {
- "c8": "^7.10.0",
- "eslint": "^8.2.0",
- "eslint-plugin-node-core": "iansu/eslint-plugin-node-core",
- "tape": "^5.2.2"
- }
-}
diff --git a/deps/npm/node_modules/@pkgjs/parseargs/utils.js b/deps/npm/node_modules/@pkgjs/parseargs/utils.js
deleted file mode 100644
index d7f420a2339246..00000000000000
--- a/deps/npm/node_modules/@pkgjs/parseargs/utils.js
+++ /dev/null
@@ -1,198 +0,0 @@
-'use strict';
-
-const {
- ArrayPrototypeFind,
- ObjectEntries,
- ObjectPrototypeHasOwnProperty: ObjectHasOwn,
- StringPrototypeCharAt,
- StringPrototypeIncludes,
- StringPrototypeStartsWith,
-} = require('./internal/primordials');
-
-const {
- validateObject,
-} = require('./internal/validators');
-
-// These are internal utilities to make the parsing logic easier to read, and
-// add lots of detail for the curious. They are in a separate file to allow
-// unit testing, although that is not essential (this could be rolled into
-// main file and just tested implicitly via API).
-//
-// These routines are for internal use, not for export to client.
-
-/**
- * Return the named property, but only if it is an own property.
- */
-function objectGetOwn(obj, prop) {
- if (ObjectHasOwn(obj, prop))
- return obj[prop];
-}
-
-/**
- * Return the named options property, but only if it is an own property.
- */
-function optionsGetOwn(options, longOption, prop) {
- if (ObjectHasOwn(options, longOption))
- return objectGetOwn(options[longOption], prop);
-}
-
-/**
- * Determines if the argument may be used as an option value.
- * @example
- * isOptionValue('V') // returns true
- * isOptionValue('-v') // returns true (greedy)
- * isOptionValue('--foo') // returns true (greedy)
- * isOptionValue(undefined) // returns false
- */
-function isOptionValue(value) {
- if (value == null) return false;
-
- // Open Group Utility Conventions are that an option-argument
- // is the argument after the option, and may start with a dash.
- return true; // greedy!
-}
-
-/**
- * Detect whether there is possible confusion and user may have omitted
- * the option argument, like `--port --verbose` when `port` of type:string.
- * In strict mode we throw errors if value is option-like.
- */
-function isOptionLikeValue(value) {
- if (value == null) return false;
-
- return value.length > 1 && StringPrototypeCharAt(value, 0) === '-';
-}
-
-/**
- * Determines if `arg` is just a short option.
- * @example '-f'
- */
-function isLoneShortOption(arg) {
- return arg.length === 2 &&
- StringPrototypeCharAt(arg, 0) === '-' &&
- StringPrototypeCharAt(arg, 1) !== '-';
-}
-
-/**
- * Determines if `arg` is a lone long option.
- * @example
- * isLoneLongOption('a') // returns false
- * isLoneLongOption('-a') // returns false
- * isLoneLongOption('--foo') // returns true
- * isLoneLongOption('--foo=bar') // returns false
- */
-function isLoneLongOption(arg) {
- return arg.length > 2 &&
- StringPrototypeStartsWith(arg, '--') &&
- !StringPrototypeIncludes(arg, '=', 3);
-}
-
-/**
- * Determines if `arg` is a long option and value in the same argument.
- * @example
- * isLongOptionAndValue('--foo') // returns false
- * isLongOptionAndValue('--foo=bar') // returns true
- */
-function isLongOptionAndValue(arg) {
- return arg.length > 2 &&
- StringPrototypeStartsWith(arg, '--') &&
- StringPrototypeIncludes(arg, '=', 3);
-}
-
-/**
- * Determines if `arg` is a short option group.
- *
- * See Guideline 5 of the [Open Group Utility Conventions](https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html).
- * One or more options without option-arguments, followed by at most one
- * option that takes an option-argument, should be accepted when grouped
- * behind one '-' delimiter.
- * @example
- * isShortOptionGroup('-a', {}) // returns false
- * isShortOptionGroup('-ab', {}) // returns true
- * // -fb is an option and a value, not a short option group
- * isShortOptionGroup('-fb', {
- * options: { f: { type: 'string' } }
- * }) // returns false
- * isShortOptionGroup('-bf', {
- * options: { f: { type: 'string' } }
- * }) // returns true
- * // -bfb is an edge case, return true and caller sorts it out
- * isShortOptionGroup('-bfb', {
- * options: { f: { type: 'string' } }
- * }) // returns true
- */
-function isShortOptionGroup(arg, options) {
- if (arg.length <= 2) return false;
- if (StringPrototypeCharAt(arg, 0) !== '-') return false;
- if (StringPrototypeCharAt(arg, 1) === '-') return false;
-
- const firstShort = StringPrototypeCharAt(arg, 1);
- const longOption = findLongOptionForShort(firstShort, options);
- return optionsGetOwn(options, longOption, 'type') !== 'string';
-}
-
-/**
- * Determine if arg is a short string option followed by its value.
- * @example
- * isShortOptionAndValue('-a', {}); // returns false
- * isShortOptionAndValue('-ab', {}); // returns false
- * isShortOptionAndValue('-fFILE', {
- * options: { foo: { short: 'f', type: 'string' }}
- * }) // returns true
- */
-function isShortOptionAndValue(arg, options) {
- validateObject(options, 'options');
-
- if (arg.length <= 2) return false;
- if (StringPrototypeCharAt(arg, 0) !== '-') return false;
- if (StringPrototypeCharAt(arg, 1) === '-') return false;
-
- const shortOption = StringPrototypeCharAt(arg, 1);
- const longOption = findLongOptionForShort(shortOption, options);
- return optionsGetOwn(options, longOption, 'type') === 'string';
-}
-
-/**
- * Find the long option associated with a short option. Looks for a configured
- * `short` and returns the short option itself if a long option is not found.
- * @example
- * findLongOptionForShort('a', {}) // returns 'a'
- * findLongOptionForShort('b', {
- * options: { bar: { short: 'b' } }
- * }) // returns 'bar'
- */
-function findLongOptionForShort(shortOption, options) {
- validateObject(options, 'options');
- const longOptionEntry = ArrayPrototypeFind(
- ObjectEntries(options),
- ({ 1: optionConfig }) => objectGetOwn(optionConfig, 'short') === shortOption
- );
- return longOptionEntry?.[0] ?? shortOption;
-}
-
-/**
- * Check if the given option includes a default value
- * and that option has not been set by the input args.
- *
- * @param {string} longOption - long option name e.g. 'foo'
- * @param {object} optionConfig - the option configuration properties
- * @param {object} values - option values returned in `values` by parseArgs
- */
-function useDefaultValueOption(longOption, optionConfig, values) {
- return objectGetOwn(optionConfig, 'default') !== undefined &&
- values[longOption] === undefined;
-}
-
-module.exports = {
- findLongOptionForShort,
- isLoneLongOption,
- isLoneShortOption,
- isLongOptionAndValue,
- isOptionValue,
- isOptionLikeValue,
- isShortOptionAndValue,
- isShortOptionGroup,
- useDefaultValueOption,
- objectGetOwn,
- optionsGetOwn,
-};
diff --git a/deps/npm/node_modules/minimatch/LICENSE b/deps/npm/node_modules/@sigstore/sign/node_modules/proc-log/LICENSE
similarity index 92%
rename from deps/npm/node_modules/minimatch/LICENSE
rename to deps/npm/node_modules/@sigstore/sign/node_modules/proc-log/LICENSE
index 1493534e60dce4..83837797202b70 100644
--- a/deps/npm/node_modules/minimatch/LICENSE
+++ b/deps/npm/node_modules/@sigstore/sign/node_modules/proc-log/LICENSE
@@ -1,6 +1,6 @@
The ISC License
-Copyright (c) 2011-2023 Isaac Z. Schlueter and Contributors
+Copyright (c) GitHub, Inc.
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
diff --git a/deps/npm/node_modules/@sigstore/sign/node_modules/proc-log/lib/index.js b/deps/npm/node_modules/@sigstore/sign/node_modules/proc-log/lib/index.js
new file mode 100644
index 00000000000000..86d90861078dab
--- /dev/null
+++ b/deps/npm/node_modules/@sigstore/sign/node_modules/proc-log/lib/index.js
@@ -0,0 +1,153 @@
+const META = Symbol('proc-log.meta')
+module.exports = {
+ META: META,
+ output: {
+ LEVELS: [
+ 'standard',
+ 'error',
+ 'buffer',
+ 'flush',
+ ],
+ KEYS: {
+ standard: 'standard',
+ error: 'error',
+ buffer: 'buffer',
+ flush: 'flush',
+ },
+ standard: function (...args) {
+ return process.emit('output', 'standard', ...args)
+ },
+ error: function (...args) {
+ return process.emit('output', 'error', ...args)
+ },
+ buffer: function (...args) {
+ return process.emit('output', 'buffer', ...args)
+ },
+ flush: function (...args) {
+ return process.emit('output', 'flush', ...args)
+ },
+ },
+ log: {
+ LEVELS: [
+ 'notice',
+ 'error',
+ 'warn',
+ 'info',
+ 'verbose',
+ 'http',
+ 'silly',
+ 'timing',
+ 'pause',
+ 'resume',
+ ],
+ KEYS: {
+ notice: 'notice',
+ error: 'error',
+ warn: 'warn',
+ info: 'info',
+ verbose: 'verbose',
+ http: 'http',
+ silly: 'silly',
+ timing: 'timing',
+ pause: 'pause',
+ resume: 'resume',
+ },
+ error: function (...args) {
+ return process.emit('log', 'error', ...args)
+ },
+ notice: function (...args) {
+ return process.emit('log', 'notice', ...args)
+ },
+ warn: function (...args) {
+ return process.emit('log', 'warn', ...args)
+ },
+ info: function (...args) {
+ return process.emit('log', 'info', ...args)
+ },
+ verbose: function (...args) {
+ return process.emit('log', 'verbose', ...args)
+ },
+ http: function (...args) {
+ return process.emit('log', 'http', ...args)
+ },
+ silly: function (...args) {
+ return process.emit('log', 'silly', ...args)
+ },
+ timing: function (...args) {
+ return process.emit('log', 'timing', ...args)
+ },
+ pause: function () {
+ return process.emit('log', 'pause')
+ },
+ resume: function () {
+ return process.emit('log', 'resume')
+ },
+ },
+ time: {
+ LEVELS: [
+ 'start',
+ 'end',
+ ],
+ KEYS: {
+ start: 'start',
+ end: 'end',
+ },
+ start: function (name, fn) {
+ process.emit('time', 'start', name)
+ function end () {
+ return process.emit('time', 'end', name)
+ }
+ if (typeof fn === 'function') {
+ const res = fn()
+ if (res && res.finally) {
+ return res.finally(end)
+ }
+ end()
+ return res
+ }
+ return end
+ },
+ end: function (name) {
+ return process.emit('time', 'end', name)
+ },
+ },
+ input: {
+ LEVELS: [
+ 'start',
+ 'end',
+ 'read',
+ ],
+ KEYS: {
+ start: 'start',
+ end: 'end',
+ read: 'read',
+ },
+ start: function (fn) {
+ process.emit('input', 'start')
+ function end () {
+ return process.emit('input', 'end')
+ }
+ if (typeof fn === 'function') {
+ const res = fn()
+ if (res && res.finally) {
+ return res.finally(end)
+ }
+ end()
+ return res
+ }
+ return end
+ },
+ end: function () {
+ return process.emit('input', 'end')
+ },
+ read: function (...args) {
+ let resolve, reject
+ const promise = new Promise((_resolve, _reject) => {
+ resolve = _resolve
+ reject = _reject
+ })
+ process.emit('input', 'read', resolve, reject, ...args)
+ return promise
+ },
+ },
+}
diff --git a/deps/npm/node_modules/@sigstore/sign/node_modules/proc-log/package.json b/deps/npm/node_modules/@sigstore/sign/node_modules/proc-log/package.json
new file mode 100644
index 00000000000000..957209d3954e53
--- /dev/null
+++ b/deps/npm/node_modules/@sigstore/sign/node_modules/proc-log/package.json
@@ -0,0 +1,46 @@
+{
+ "name": "proc-log",
+ "version": "5.0.0",
+ "files": [
+ "bin/",
+ "lib/"
+ ],
+ "main": "lib/index.js",
+ "description": "just emit 'log' events on the process object",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/npm/proc-log.git"
+ },
+ "author": "GitHub Inc.",
+ "license": "ISC",
+ "scripts": {
+ "test": "tap",
+ "snap": "tap",
+ "posttest": "npm run lint",
+ "postsnap": "eslint index.js test/*.js --fix",
+ "lint": "npm run eslint",
+ "postlint": "template-oss-check",
+ "lintfix": "npm run eslint -- --fix",
+ "template-oss-apply": "template-oss-apply --force",
+ "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
+ },
+ "devDependencies": {
+ "@npmcli/eslint-config": "^5.0.0",
+ "@npmcli/template-oss": "4.23.3",
+ "tap": "^16.0.1"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
+ },
+ "templateOSS": {
+ "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
+ "version": "4.23.3",
+ "publish": true
+ },
+ "tap": {
+ "nyc-arg": [
+ "--exclude",
+ "tap-snapshots/**"
+ ]
+ }
+}
diff --git a/deps/npm/node_modules/abbrev/package.json b/deps/npm/node_modules/abbrev/package.json
index 077d4bccd0e69e..f17aaccfa56add 100644
--- a/deps/npm/node_modules/abbrev/package.json
+++ b/deps/npm/node_modules/abbrev/package.json
@@ -1,18 +1,19 @@
{
"name": "abbrev",
- "version": "3.0.1",
+ "version": "4.0.0",
"description": "Like ruby's abbrev module, but in js",
"author": "GitHub Inc.",
"main": "lib/index.js",
"scripts": {
- "test": "tap",
+ "test": "node --test",
"lint": "npm run eslint",
"postlint": "template-oss-check",
"template-oss-apply": "template-oss-apply --force",
"lintfix": "npm run eslint -- --fix",
- "snap": "tap",
+ "snap": "node --test --test-update-snapshots",
"posttest": "npm run lint",
- "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
+ "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\"",
+ "test:cover": "node --test --experimental-test-coverage --test-timeout=3000 --test-coverage-lines=100 --test-coverage-functions=100 --test-coverage-branches=100"
},
"repository": {
"type": "git",
@@ -21,25 +22,20 @@
"license": "ISC",
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.24.3",
- "tap": "^16.3.0"
- },
- "tap": {
- "nyc-arg": [
- "--exclude",
- "tap-snapshots/**"
- ]
+ "@npmcli/template-oss": "4.26.1"
},
"files": [
"bin/",
"lib/"
],
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.24.3",
- "publish": true
+ "version": "4.26.1",
+ "publish": true,
+ "testRunner": "node:test",
+ "latestCiVersion": 24
}
}
diff --git a/deps/npm/node_modules/bin-links/package.json b/deps/npm/node_modules/bin-links/package.json
index 22858d660ae0b9..23f52cfc96ec46 100644
--- a/deps/npm/node_modules/bin-links/package.json
+++ b/deps/npm/node_modules/bin-links/package.json
@@ -1,6 +1,6 @@
{
"name": "bin-links",
- "version": "5.0.0",
+ "version": "6.0.0",
"description": "JavaScript package binary linker",
"main": "./lib/index.js",
"scripts": {
@@ -24,15 +24,15 @@
],
"license": "ISC",
"dependencies": {
- "cmd-shim": "^7.0.0",
- "npm-normalize-package-bin": "^4.0.0",
- "proc-log": "^5.0.0",
- "read-cmd-shim": "^5.0.0",
- "write-file-atomic": "^6.0.0"
+ "cmd-shim": "^8.0.0",
+ "npm-normalize-package-bin": "^5.0.0",
+ "proc-log": "^6.0.0",
+ "read-cmd-shim": "^6.0.0",
+ "write-file-atomic": "^7.0.0"
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.23.3",
+ "@npmcli/template-oss": "4.27.1",
"require-inject": "^1.4.4",
"tap": "^16.0.1"
},
@@ -49,13 +49,13 @@
"lib/"
],
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"author": "GitHub Inc.",
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
"windowsCI": false,
- "version": "4.23.3",
+ "version": "4.27.1",
"publish": true
}
}
diff --git a/deps/npm/node_modules/cacache/package.json b/deps/npm/node_modules/cacache/package.json
index 6eec0a8375e5cc..40a84748948ac2 100644
--- a/deps/npm/node_modules/cacache/package.json
+++ b/deps/npm/node_modules/cacache/package.json
@@ -1,6 +1,6 @@
{
"name": "cacache",
- "version": "20.0.1",
+ "version": "20.0.2",
"cache-version": {
"content": "2",
"index": "5"
@@ -55,7 +55,7 @@
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
"p-map": "^7.0.2",
- "ssri": "^12.0.0",
+ "ssri": "^13.0.0",
"unique-filename": "^4.0.0"
},
"devDependencies": {
diff --git a/deps/npm/node_modules/cmd-shim/package.json b/deps/npm/node_modules/cmd-shim/package.json
index 5f2e85d1c73db0..0da1978b985d2c 100644
--- a/deps/npm/node_modules/cmd-shim/package.json
+++ b/deps/npm/node_modules/cmd-shim/package.json
@@ -1,6 +1,6 @@
{
"name": "cmd-shim",
- "version": "7.0.0",
+ "version": "8.0.0",
"description": "Used in npm for command line application support",
"scripts": {
"test": "tap",
@@ -19,7 +19,7 @@
"license": "ISC",
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.23.1",
+ "@npmcli/template-oss": "4.27.1",
"tap": "^16.0.1"
},
"files": [
@@ -37,12 +37,12 @@
]
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"author": "GitHub Inc.",
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.23.1",
+ "version": "4.27.1",
"publish": true
}
}
diff --git a/deps/npm/node_modules/exponential-backoff/package.json b/deps/npm/node_modules/exponential-backoff/package.json
index 53fb159f827828..e3e8dc9a5dccd1 100644
--- a/deps/npm/node_modules/exponential-backoff/package.json
+++ b/deps/npm/node_modules/exponential-backoff/package.json
@@ -1,6 +1,6 @@
{
"name": "exponential-backoff",
- "version": "3.1.2",
+ "version": "3.1.3",
"description": "A utility that allows retrying a function with an exponential delay between attempts.",
"files": [
"dist/",
diff --git a/deps/npm/node_modules/ini/package.json b/deps/npm/node_modules/ini/package.json
index 6a3995f158cc5b..7bbc0576937c50 100644
--- a/deps/npm/node_modules/ini/package.json
+++ b/deps/npm/node_modules/ini/package.json
@@ -2,7 +2,7 @@
"author": "GitHub Inc.",
"name": "ini",
"description": "An ini encoder/decoder for node",
- "version": "5.0.0",
+ "version": "6.0.0",
"repository": {
"type": "git",
"url": "git+https://github.com/npm/ini.git"
@@ -20,7 +20,7 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.23.3",
+ "@npmcli/template-oss": "4.27.1",
"tap": "^16.0.1"
},
"license": "ISC",
@@ -29,11 +29,11 @@
"lib/"
],
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.23.3",
+ "version": "4.27.1",
"publish": "true"
},
"tap": {
diff --git a/deps/npm/node_modules/init-package-json/package.json b/deps/npm/node_modules/init-package-json/package.json
index de404b658c7b76..715fc64673598a 100644
--- a/deps/npm/node_modules/init-package-json/package.json
+++ b/deps/npm/node_modules/init-package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "init-package-json",
- "version": "8.2.2",
+ "version": "8.2.3",
"main": "lib/init-package-json.js",
"scripts": {
"test": "tap",
@@ -26,7 +26,7 @@
"read": "^4.0.0",
"semver": "^7.7.2",
"validate-npm-package-license": "^3.0.4",
- "validate-npm-package-name": "^6.0.2"
+ "validate-npm-package-name": "^7.0.0"
},
"devDependencies": {
"@npmcli/config": "^10.0.0",
diff --git a/deps/npm/node_modules/json-parse-even-better-errors/package.json b/deps/npm/node_modules/json-parse-even-better-errors/package.json
index 193f0d9d459a53..6e696c98548db5 100644
--- a/deps/npm/node_modules/json-parse-even-better-errors/package.json
+++ b/deps/npm/node_modules/json-parse-even-better-errors/package.json
@@ -1,6 +1,6 @@
{
"name": "json-parse-even-better-errors",
- "version": "4.0.0",
+ "version": "5.0.0",
"description": "JSON.parse with context information on error",
"main": "lib/index.js",
"files": [
@@ -29,7 +29,7 @@
"license": "MIT",
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.23.3",
+ "@npmcli/template-oss": "4.27.1",
"tap": "^16.3.0"
},
"tap": {
@@ -40,11 +40,11 @@
]
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.23.3",
+ "version": "4.27.1",
"publish": true
}
}
diff --git a/deps/npm/node_modules/libnpmdiff/package.json b/deps/npm/node_modules/libnpmdiff/package.json
index ff894976468dbc..6813bf882e44b4 100644
--- a/deps/npm/node_modules/libnpmdiff/package.json
+++ b/deps/npm/node_modules/libnpmdiff/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmdiff",
- "version": "8.0.9",
+ "version": "8.0.10",
"description": "The registry diff",
"repository": {
"type": "git",
@@ -47,7 +47,7 @@
"tap": "^16.3.8"
},
"dependencies": {
- "@npmcli/arborist": "^9.1.6",
+ "@npmcli/arborist": "^9.1.7",
"@npmcli/installed-package-contents": "^3.0.0",
"binary-extensions": "^3.0.0",
"diff": "^8.0.2",
diff --git a/deps/npm/node_modules/libnpmexec/lib/with-lock.js b/deps/npm/node_modules/libnpmexec/lib/with-lock.js
index 897046adedb8a7..c7ba531ca5484d 100644
--- a/deps/npm/node_modules/libnpmexec/lib/with-lock.js
+++ b/deps/npm/node_modules/libnpmexec/lib/with-lock.js
@@ -18,9 +18,10 @@ const { onExit } = require('signal-exit')
// - more ergonomic compromised lock handling (i.e. withLock will reject, and callbacks have access to an AbortSignal)
// - uses a more recent version of signal-exit
+// mtime precision is platform dependent, so deal in seconds
const touchInterval = 1_000
-// mtime precision is platform dependent, so use a reasonably large threshold
-const staleThreshold = 5_000
+// use a reasonably large threshold, in case stat calls take a while
+const staleThreshold = 60_000
// track current locks and their cleanup functions
const currentLocks = new Map()
@@ -144,6 +145,7 @@ async function maintainLock (lockPath) {
let mtime = Math.round(stats.mtimeMs / 1000)
const signal = controller.signal
+ let timeout
async function touchLock () {
try {
const currentStats = (await fs.stat(lockPath))
@@ -156,16 +158,16 @@ async function maintainLock (lockPath) {
if (currentLocks.has(lockPath)) {
await fs.utimes(lockPath, mtime, mtime)
}
+ timeout = setTimeout(touchLock, touchInterval).unref()
} catch (err) {
// stats mismatch or other fs error means the lock was compromised
controller.abort()
}
}
- const timeout = setInterval(touchLock, touchInterval)
- timeout.unref()
+ timeout = setTimeout(touchLock, touchInterval).unref()
function cleanup () {
- clearInterval(timeout)
+ clearTimeout(timeout)
deleteLock(lockPath)
}
currentLocks.set(lockPath, cleanup)
diff --git a/deps/npm/node_modules/libnpmexec/package.json b/deps/npm/node_modules/libnpmexec/package.json
index d06081ce21a609..cd380abf3cb9cd 100644
--- a/deps/npm/node_modules/libnpmexec/package.json
+++ b/deps/npm/node_modules/libnpmexec/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmexec",
- "version": "10.1.8",
+ "version": "10.1.9",
"files": [
"bin/",
"lib/"
@@ -53,20 +53,20 @@
"@npmcli/eslint-config": "^5.0.1",
"@npmcli/mock-registry": "^1.0.0",
"@npmcli/template-oss": "4.25.1",
- "bin-links": "^5.0.0",
+ "bin-links": "^6.0.0",
"chalk": "^5.2.0",
"just-extend": "^6.2.0",
"just-safe-set": "^4.2.1",
"tap": "^16.3.8"
},
"dependencies": {
- "@npmcli/arborist": "^9.1.6",
+ "@npmcli/arborist": "^9.1.7",
"@npmcli/package-json": "^7.0.0",
"@npmcli/run-script": "^10.0.0",
"ci-info": "^4.0.0",
"npm-package-arg": "^13.0.0",
"pacote": "^21.0.2",
- "proc-log": "^5.0.0",
+ "proc-log": "^6.0.0",
"promise-retry": "^2.0.1",
"read": "^4.0.0",
"semver": "^7.3.7",
diff --git a/deps/npm/node_modules/libnpmfund/package.json b/deps/npm/node_modules/libnpmfund/package.json
index 7b9bf8e703a5f5..d77a056fc6884d 100644
--- a/deps/npm/node_modules/libnpmfund/package.json
+++ b/deps/npm/node_modules/libnpmfund/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmfund",
- "version": "7.0.9",
+ "version": "7.0.10",
"main": "lib/index.js",
"files": [
"bin/",
@@ -46,7 +46,7 @@
"tap": "^16.3.8"
},
"dependencies": {
- "@npmcli/arborist": "^9.1.6"
+ "@npmcli/arborist": "^9.1.7"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
diff --git a/deps/npm/node_modules/libnpmpack/package.json b/deps/npm/node_modules/libnpmpack/package.json
index dc4def4651723c..b105cb045cc0a7 100644
--- a/deps/npm/node_modules/libnpmpack/package.json
+++ b/deps/npm/node_modules/libnpmpack/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmpack",
- "version": "9.0.9",
+ "version": "9.0.10",
"description": "Programmatic API for the bits behind npm pack",
"author": "GitHub Inc.",
"main": "lib/index.js",
@@ -37,7 +37,7 @@
"bugs": "https://github.com/npm/libnpmpack/issues",
"homepage": "https://npmjs.com/package/libnpmpack",
"dependencies": {
- "@npmcli/arborist": "^9.1.6",
+ "@npmcli/arborist": "^9.1.7",
"@npmcli/run-script": "^10.0.0",
"npm-package-arg": "^13.0.0",
"pacote": "^21.0.2"
diff --git a/deps/npm/node_modules/libnpmpublish/package.json b/deps/npm/node_modules/libnpmpublish/package.json
index d9f00aaffac6c5..65a4ae3c11d0ce 100644
--- a/deps/npm/node_modules/libnpmpublish/package.json
+++ b/deps/npm/node_modules/libnpmpublish/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmpublish",
- "version": "11.1.2",
+ "version": "11.1.3",
"description": "Programmatic API for the bits behind npm publish and unpublish",
"author": "GitHub Inc.",
"main": "lib/index.js",
@@ -42,10 +42,10 @@
"ci-info": "^4.0.0",
"npm-package-arg": "^13.0.0",
"npm-registry-fetch": "^19.0.0",
- "proc-log": "^5.0.0",
+ "proc-log": "^6.0.0",
"semver": "^7.3.7",
"sigstore": "^4.0.0",
- "ssri": "^12.0.0"
+ "ssri": "^13.0.0"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
diff --git a/deps/npm/node_modules/libnpmversion/package.json b/deps/npm/node_modules/libnpmversion/package.json
index db1538b5721cce..e80966b6aeeb8c 100644
--- a/deps/npm/node_modules/libnpmversion/package.json
+++ b/deps/npm/node_modules/libnpmversion/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmversion",
- "version": "8.0.2",
+ "version": "8.0.3",
"main": "lib/index.js",
"files": [
"bin/",
@@ -40,8 +40,8 @@
"dependencies": {
"@npmcli/git": "^7.0.0",
"@npmcli/run-script": "^10.0.0",
- "json-parse-even-better-errors": "^4.0.0",
- "proc-log": "^5.0.0",
+ "json-parse-even-better-errors": "^5.0.0",
+ "proc-log": "^6.0.0",
"semver": "^7.3.7"
},
"engines": {
diff --git a/deps/npm/node_modules/make-fetch-happen/package.json b/deps/npm/node_modules/make-fetch-happen/package.json
index 41815ec3c8f110..203b32304c461c 100644
--- a/deps/npm/node_modules/make-fetch-happen/package.json
+++ b/deps/npm/node_modules/make-fetch-happen/package.json
@@ -1,6 +1,6 @@
{
"name": "make-fetch-happen",
- "version": "15.0.2",
+ "version": "15.0.3",
"description": "Opinionated, caching, retrying fetch client",
"main": "lib/index.js",
"files": [
@@ -37,13 +37,13 @@
"cacache": "^20.0.1",
"http-cache-semantics": "^4.1.1",
"minipass": "^7.0.2",
- "minipass-fetch": "^4.0.0",
+ "minipass-fetch": "^5.0.0",
"minipass-flush": "^1.0.5",
"minipass-pipeline": "^1.2.4",
"negotiator": "^1.0.0",
- "proc-log": "^5.0.0",
+ "proc-log": "^6.0.0",
"promise-retry": "^2.0.1",
- "ssri": "^12.0.0"
+ "ssri": "^13.0.0"
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
diff --git a/deps/npm/node_modules/node-gyp/node_modules/jackspeak/LICENSE.md b/deps/npm/node_modules/minimatch/LICENSE.md
similarity index 100%
rename from deps/npm/node_modules/node-gyp/node_modules/jackspeak/LICENSE.md
rename to deps/npm/node_modules/minimatch/LICENSE.md
diff --git a/deps/npm/node_modules/minimatch/dist/commonjs/ast.js b/deps/npm/node_modules/minimatch/dist/commonjs/ast.js
index 9e1f9e765c597e..997343fbd1eab1 100644
--- a/deps/npm/node_modules/minimatch/dist/commonjs/ast.js
+++ b/deps/npm/node_modules/minimatch/dist/commonjs/ast.js
@@ -415,7 +415,9 @@ class AST {
if (this.#root === this)
this.#fillNegs();
if (!this.type) {
- const noEmpty = this.isStart() && this.isEnd();
+ const noEmpty = this.isStart() &&
+ this.isEnd() &&
+ !this.#parts.some(s => typeof s !== 'string');
const src = this.#parts
.map(p => {
const [re, _, hasMagic, uflag] = typeof p === 'string'
@@ -571,10 +573,7 @@ class AST {
}
}
if (c === '*') {
- if (noEmpty && glob === '*')
- re += starNoEmpty;
- else
- re += star;
+ re += noEmpty && glob === '*' ? starNoEmpty : star;
hasMagic = true;
continue;
}
diff --git a/deps/npm/node_modules/minimatch/dist/commonjs/escape.js b/deps/npm/node_modules/minimatch/dist/commonjs/escape.js
index 02a4f8a8e0a588..6fb634fb41033c 100644
--- a/deps/npm/node_modules/minimatch/dist/commonjs/escape.js
+++ b/deps/npm/node_modules/minimatch/dist/commonjs/escape.js
@@ -4,16 +4,24 @@ exports.escape = void 0;
/**
* Escape all magic characters in a glob pattern.
*
- * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}
+ * If the {@link MinimatchOptions.windowsPathsNoEscape}
* option is used, then characters are escaped by wrapping in `[]`, because
* a magic character wrapped in a character class can only be satisfied by
* that exact character. In this mode, `\` is _not_ escaped, because it is
* not interpreted as a magic character, but instead as a path separator.
+ *
+ * If the {@link MinimatchOptions.magicalBraces} option is used,
+ * then braces (`{` and `}`) will be escaped.
*/
-const escape = (s, { windowsPathsNoEscape = false, } = {}) => {
+const escape = (s, { windowsPathsNoEscape = false, magicalBraces = false, } = {}) => {
// don't need to escape +@! because we escape the parens
// that make those magic, and escaping ! as [!] isn't valid,
// because [!]] is a valid glob class meaning not ']'.
+ if (magicalBraces) {
+ return windowsPathsNoEscape
+ ? s.replace(/[?*()[\]{}]/g, '[$&]')
+ : s.replace(/[?*()[\]\\{}]/g, '\\$&');
+ }
return windowsPathsNoEscape
? s.replace(/[?*()[\]]/g, '[$&]')
: s.replace(/[?*()[\]\\]/g, '\\$&');
diff --git a/deps/npm/node_modules/minimatch/dist/commonjs/index.js b/deps/npm/node_modules/minimatch/dist/commonjs/index.js
index f58fb8616aa9ab..966dc9b8bb2165 100644
--- a/deps/npm/node_modules/minimatch/dist/commonjs/index.js
+++ b/deps/npm/node_modules/minimatch/dist/commonjs/index.js
@@ -640,7 +640,7 @@ class Minimatch {
}
}
// resolve and reduce . and .. portions in the file as well.
- // dont' need to do the second phase, because it's only one string[]
+ // don't need to do the second phase, because it's only one string[]
const { optimizationLevel = 1 } = this.options;
if (optimizationLevel >= 2) {
file = this.levelTwoFileOptimize(file);
@@ -893,14 +893,25 @@ class Minimatch {
}
}
else if (next === undefined) {
- pp[i - 1] = prev + '(?:\\/|' + twoStar + ')?';
+ pp[i - 1] = prev + '(?:\\/|\\/' + twoStar + ')?';
}
else if (next !== exports.GLOBSTAR) {
pp[i - 1] = prev + '(?:\\/|\\/' + twoStar + '\\/)' + next;
pp[i + 1] = exports.GLOBSTAR;
}
});
- return pp.filter(p => p !== exports.GLOBSTAR).join('/');
+ const filtered = pp.filter(p => p !== exports.GLOBSTAR);
+ // For partial matches, we need to make the pattern match
+ // any prefix of the full path. We do this by generating
+ // alternative patterns that match progressively longer prefixes.
+ if (this.partial && filtered.length >= 1) {
+ const prefixes = [];
+ for (let i = 1; i <= filtered.length; i++) {
+ prefixes.push(filtered.slice(0, i).join('/'));
+ }
+ return '(?:' + prefixes.join('|') + ')';
+ }
+ return filtered.join('/');
})
.join('|');
// need to wrap in parens if we had more than one thing with |,
@@ -909,6 +920,10 @@ class Minimatch {
// must match entire pattern
// ending in a * or ** will make it less strict.
re = '^' + open + re + close + '$';
+ // In partial mode, '/' should always match as it's a valid prefix for any pattern
+ if (this.partial) {
+ re = '^(?:\\/|' + open + re.slice(1, -1) + close + ')$';
+ }
// can match anything, as long as it's not this.
if (this.negate)
re = '^(?!' + re + ').+$';
diff --git a/deps/npm/node_modules/minimatch/dist/commonjs/unescape.js b/deps/npm/node_modules/minimatch/dist/commonjs/unescape.js
index 47c36bcee5a02a..171098d8a4ceb5 100644
--- a/deps/npm/node_modules/minimatch/dist/commonjs/unescape.js
+++ b/deps/npm/node_modules/minimatch/dist/commonjs/unescape.js
@@ -4,21 +4,35 @@ exports.unescape = void 0;
/**
* Un-escape a string that has been escaped with {@link escape}.
*
- * If the {@link windowsPathsNoEscape} option is used, then square-brace
- * escapes are removed, but not backslash escapes. For example, it will turn
- * the string `'[*]'` into `*`, but it will not turn `'\\*'` into `'*'`,
- * becuase `\` is a path separator in `windowsPathsNoEscape` mode.
+ * If the {@link MinimatchOptions.windowsPathsNoEscape} option is used, then
+ * square-bracket escapes are removed, but not backslash escapes.
*
- * When `windowsPathsNoEscape` is not set, then both brace escapes and
+ * For example, it will turn the string `'[*]'` into `*`, but it will not
+ * turn `'\\*'` into `'*'`, because `\` is a path separator in
+ * `windowsPathsNoEscape` mode.
+ *
+ * When `windowsPathsNoEscape` is not set, then both square-bracket escapes and
* backslash escapes are removed.
*
* Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped
* or unescaped.
+ *
+ * When `magicalBraces` is not set, escapes of braces (`{` and `}`) will not be
+ * unescaped.
*/
-const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {
+const unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true, } = {}) => {
+ if (magicalBraces) {
+ return windowsPathsNoEscape
+ ? s.replace(/\[([^\/\\])\]/g, '$1')
+ : s
+ .replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2')
+ .replace(/\\([^\/])/g, '$1');
+ }
return windowsPathsNoEscape
- ? s.replace(/\[([^\/\\])\]/g, '$1')
- : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2').replace(/\\([^\/])/g, '$1');
+ ? s.replace(/\[([^\/\\{}])\]/g, '$1')
+ : s
+ .replace(/((?!\\).|^)\[([^\/\\{}])\]/g, '$1$2')
+ .replace(/\\([^\/{}])/g, '$1');
};
exports.unescape = unescape;
//# sourceMappingURL=unescape.js.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/minimatch/dist/esm/ast.js b/deps/npm/node_modules/minimatch/dist/esm/ast.js
index 02c6bda68427fc..0ae609ad10d519 100644
--- a/deps/npm/node_modules/minimatch/dist/esm/ast.js
+++ b/deps/npm/node_modules/minimatch/dist/esm/ast.js
@@ -412,7 +412,9 @@ export class AST {
if (this.#root === this)
this.#fillNegs();
if (!this.type) {
- const noEmpty = this.isStart() && this.isEnd();
+ const noEmpty = this.isStart() &&
+ this.isEnd() &&
+ !this.#parts.some(s => typeof s !== 'string');
const src = this.#parts
.map(p => {
const [re, _, hasMagic, uflag] = typeof p === 'string'
@@ -568,10 +570,7 @@ export class AST {
}
}
if (c === '*') {
- if (noEmpty && glob === '*')
- re += starNoEmpty;
- else
- re += star;
+ re += noEmpty && glob === '*' ? starNoEmpty : star;
hasMagic = true;
continue;
}
diff --git a/deps/npm/node_modules/minimatch/dist/esm/escape.js b/deps/npm/node_modules/minimatch/dist/esm/escape.js
index 16f7c8c7bdc646..bab968ff3d83c9 100644
--- a/deps/npm/node_modules/minimatch/dist/esm/escape.js
+++ b/deps/npm/node_modules/minimatch/dist/esm/escape.js
@@ -1,16 +1,24 @@
/**
* Escape all magic characters in a glob pattern.
*
- * If the {@link windowsPathsNoEscape | GlobOptions.windowsPathsNoEscape}
+ * If the {@link MinimatchOptions.windowsPathsNoEscape}
* option is used, then characters are escaped by wrapping in `[]`, because
* a magic character wrapped in a character class can only be satisfied by
* that exact character. In this mode, `\` is _not_ escaped, because it is
* not interpreted as a magic character, but instead as a path separator.
+ *
+ * If the {@link MinimatchOptions.magicalBraces} option is used,
+ * then braces (`{` and `}`) will be escaped.
*/
-export const escape = (s, { windowsPathsNoEscape = false, } = {}) => {
+export const escape = (s, { windowsPathsNoEscape = false, magicalBraces = false, } = {}) => {
// don't need to escape +@! because we escape the parens
// that make those magic, and escaping ! as [!] isn't valid,
// because [!]] is a valid glob class meaning not ']'.
+ if (magicalBraces) {
+ return windowsPathsNoEscape
+ ? s.replace(/[?*()[\]{}]/g, '[$&]')
+ : s.replace(/[?*()[\]\\{}]/g, '\\$&');
+ }
return windowsPathsNoEscape
? s.replace(/[?*()[\]]/g, '[$&]')
: s.replace(/[?*()[\]\\]/g, '\\$&');
diff --git a/deps/npm/node_modules/minimatch/dist/esm/index.js b/deps/npm/node_modules/minimatch/dist/esm/index.js
index 790d6c02a2f22e..e83823fa6e1b55 100644
--- a/deps/npm/node_modules/minimatch/dist/esm/index.js
+++ b/deps/npm/node_modules/minimatch/dist/esm/index.js
@@ -631,7 +631,7 @@ export class Minimatch {
}
}
// resolve and reduce . and .. portions in the file as well.
- // dont' need to do the second phase, because it's only one string[]
+ // don't need to do the second phase, because it's only one string[]
const { optimizationLevel = 1 } = this.options;
if (optimizationLevel >= 2) {
file = this.levelTwoFileOptimize(file);
@@ -884,14 +884,25 @@ export class Minimatch {
}
}
else if (next === undefined) {
- pp[i - 1] = prev + '(?:\\/|' + twoStar + ')?';
+ pp[i - 1] = prev + '(?:\\/|\\/' + twoStar + ')?';
}
else if (next !== GLOBSTAR) {
pp[i - 1] = prev + '(?:\\/|\\/' + twoStar + '\\/)' + next;
pp[i + 1] = GLOBSTAR;
}
});
- return pp.filter(p => p !== GLOBSTAR).join('/');
+ const filtered = pp.filter(p => p !== GLOBSTAR);
+ // For partial matches, we need to make the pattern match
+ // any prefix of the full path. We do this by generating
+ // alternative patterns that match progressively longer prefixes.
+ if (this.partial && filtered.length >= 1) {
+ const prefixes = [];
+ for (let i = 1; i <= filtered.length; i++) {
+ prefixes.push(filtered.slice(0, i).join('/'));
+ }
+ return '(?:' + prefixes.join('|') + ')';
+ }
+ return filtered.join('/');
})
.join('|');
// need to wrap in parens if we had more than one thing with |,
@@ -900,6 +911,10 @@ export class Minimatch {
// must match entire pattern
// ending in a * or ** will make it less strict.
re = '^' + open + re + close + '$';
+ // In partial mode, '/' should always match as it's a valid prefix for any pattern
+ if (this.partial) {
+ re = '^(?:\\/|' + open + re.slice(1, -1) + close + ')$';
+ }
// can match anything, as long as it's not this.
if (this.negate)
re = '^(?!' + re + ').+$';
diff --git a/deps/npm/node_modules/minimatch/dist/esm/unescape.js b/deps/npm/node_modules/minimatch/dist/esm/unescape.js
index 0faf9a2b7306f7..dfa408d39853bc 100644
--- a/deps/npm/node_modules/minimatch/dist/esm/unescape.js
+++ b/deps/npm/node_modules/minimatch/dist/esm/unescape.js
@@ -1,20 +1,34 @@
/**
* Un-escape a string that has been escaped with {@link escape}.
*
- * If the {@link windowsPathsNoEscape} option is used, then square-brace
- * escapes are removed, but not backslash escapes. For example, it will turn
- * the string `'[*]'` into `*`, but it will not turn `'\\*'` into `'*'`,
- * becuase `\` is a path separator in `windowsPathsNoEscape` mode.
+ * If the {@link MinimatchOptions.windowsPathsNoEscape} option is used, then
+ * square-bracket escapes are removed, but not backslash escapes.
*
- * When `windowsPathsNoEscape` is not set, then both brace escapes and
+ * For example, it will turn the string `'[*]'` into `*`, but it will not
+ * turn `'\\*'` into `'*'`, because `\` is a path separator in
+ * `windowsPathsNoEscape` mode.
+ *
+ * When `windowsPathsNoEscape` is not set, then both square-bracket escapes and
* backslash escapes are removed.
*
* Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot be escaped
* or unescaped.
+ *
+ * When `magicalBraces` is not set, escapes of braces (`{` and `}`) will not be
+ * unescaped.
*/
-export const unescape = (s, { windowsPathsNoEscape = false, } = {}) => {
+export const unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true, } = {}) => {
+ if (magicalBraces) {
+ return windowsPathsNoEscape
+ ? s.replace(/\[([^\/\\])\]/g, '$1')
+ : s
+ .replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2')
+ .replace(/\\([^\/])/g, '$1');
+ }
return windowsPathsNoEscape
- ? s.replace(/\[([^\/\\])\]/g, '$1')
- : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, '$1$2').replace(/\\([^\/])/g, '$1');
+ ? s.replace(/\[([^\/\\{}])\]/g, '$1')
+ : s
+ .replace(/((?!\\).|^)\[([^\/\\{}])\]/g, '$1$2')
+ .replace(/\\([^\/{}])/g, '$1');
};
//# sourceMappingURL=unescape.js.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/minimatch/package.json b/deps/npm/node_modules/minimatch/package.json
index bfa2423f50b5e2..620c0309f0d16d 100644
--- a/deps/npm/node_modules/minimatch/package.json
+++ b/deps/npm/node_modules/minimatch/package.json
@@ -2,10 +2,10 @@
"author": "Isaac Z. Schlueter (http://blog.izs.me)",
"name": "minimatch",
"description": "a glob matcher in javascript",
- "version": "10.0.3",
+ "version": "10.1.1",
"repository": {
"type": "git",
- "url": "git://github.com/isaacs/minimatch.git"
+ "url": "git@github.com:isaacs/minimatch"
},
"main": "./dist/commonjs/index.js",
"types": "./dist/commonjs/index.d.ts",
@@ -34,9 +34,9 @@
"presnap": "npm run prepare",
"test": "tap",
"snap": "tap",
- "format": "prettier --write . --loglevel warn",
+ "format": "prettier --write . --log-level warn",
"benchmark": "node benchmark/index.js",
- "typedoc": "typedoc --tsconfig tsconfig-esm.json ./src/*.ts"
+ "typedoc": "typedoc --tsconfig .tshy/esm.json ./src/*.ts"
},
"prettier": {
"semi": false,
@@ -53,10 +53,9 @@
"node": "20 || >=22"
},
"devDependencies": {
- "@types/brace-expansion": "^1.1.2",
"@types/node": "^24.0.0",
"mkdirp": "^3.0.1",
- "prettier": "^3.3.2",
+ "prettier": "^3.6.2",
"tap": "^21.1.0",
"tshy": "^3.0.2",
"typedoc": "^0.28.5"
@@ -64,7 +63,7 @@
"funding": {
"url": "https://github.com/sponsors/isaacs"
},
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"tshy": {
"exports": {
"./package.json": "./package.json",
diff --git a/deps/npm/node_modules/minipass-fetch/package.json b/deps/npm/node_modules/minipass-fetch/package.json
index eb8a4d4fac40d4..7863e7e5e9dee9 100644
--- a/deps/npm/node_modules/minipass-fetch/package.json
+++ b/deps/npm/node_modules/minipass-fetch/package.json
@@ -1,6 +1,6 @@
{
"name": "minipass-fetch",
- "version": "4.0.1",
+ "version": "5.0.0",
"description": "An implementation of window.fetch in Node.js using Minipass streams",
"license": "MIT",
"main": "lib/index.js",
@@ -25,7 +25,7 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.23.3",
+ "@npmcli/template-oss": "4.27.1",
"@ungap/url-search-params": "^0.2.2",
"abort-controller": "^3.0.0",
"abortcontroller-polyfill": "~1.7.3",
@@ -59,12 +59,12 @@
"lib/"
],
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": "^20.17.0 || >=22.9.0"
},
"author": "GitHub Inc.",
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.23.3",
+ "version": "4.27.1",
"publish": "true"
}
}
diff --git a/deps/npm/node_modules/node-gyp/.release-please-manifest.json b/deps/npm/node_modules/node-gyp/.release-please-manifest.json
index a94451c9e13429..4899c67643487d 100644
--- a/deps/npm/node_modules/node-gyp/.release-please-manifest.json
+++ b/deps/npm/node_modules/node-gyp/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "11.4.2"
+ ".": "12.1.0"
}
diff --git a/deps/npm/node_modules/node-gyp/CHANGELOG.md b/deps/npm/node_modules/node-gyp/CHANGELOG.md
index 952284d697f828..2bdec2cc6b5e4e 100644
--- a/deps/npm/node_modules/node-gyp/CHANGELOG.md
+++ b/deps/npm/node_modules/node-gyp/CHANGELOG.md
@@ -1,5 +1,62 @@
# Changelog
+## [12.1.0](https://github.com/nodejs/node-gyp/compare/v12.0.0...v12.1.0) (2025-11-12)
+
+
+### Features
+
+* Add support for Visual Studio 2026 (18.x) ([69e5fd2](https://github.com/nodejs/node-gyp/commit/69e5fd2c98ac83dad5200a47515b301ccd80d2d3))
+* Support for Visual Studio 2026 (18.x) ([69e5fd2](https://github.com/nodejs/node-gyp/commit/69e5fd2c98ac83dad5200a47515b301ccd80d2d3))
+
+## [12.0.0](https://github.com/nodejs/node-gyp/compare/v11.5.0...v12.0.0) (2025-11-10)
+
+
+### âš BREAKING CHANGES
+
+* align to npm 11 node engine range
+
+### Features
+
+* align to npm 11 node engine range ([2f85686](https://github.com/nodejs/node-gyp/commit/2f85686bbe745673350a8f9dbb0e86ee0190f213))
+* update gyp-next to v0.21.0 ([c57cd2e](https://github.com/nodejs/node-gyp/commit/c57cd2e86dc57707475b9f7e676e189f064817de))
+
+
+### Core
+
+* **deps:** bump actions/setup-node from 5 to 6 ([ae90e63](https://github.com/nodejs/node-gyp/commit/ae90e632d9fab85f4cd902dc9205ba9dfafaf3bc))
+* **deps:** bump env-paths from 2.2.1 to 3.0.0 ([#3235](https://github.com/nodejs/node-gyp/issues/3235)) ([5fffb2f](https://github.com/nodejs/node-gyp/commit/5fffb2ffee304cc898fdea7a0cd9e41d54c53839))
+* **deps:** bump which from 5.0.0 to 6.0.0 ([#3238](https://github.com/nodejs/node-gyp/issues/3238)) ([eaa8e34](https://github.com/nodejs/node-gyp/commit/eaa8e34cb5a0710bef0602c42e5840b47eb76822))
+* make-fetch-happen@15.0.0 ([e2b9d21](https://github.com/nodejs/node-gyp/commit/e2b9d21bce27c35d18fcb6f8583e386d15ce395c))
+* nopt@9.0.0 ([9bdeaf3](https://github.com/nodejs/node-gyp/commit/9bdeaf307cd7a254946859d306465989fa39dfb2))
+* proc-log@6.0.0 ([dfc68df](https://github.com/nodejs/node-gyp/commit/dfc68dfba3c17deb0bda9a395bb49d8fb9fa5951))
+
+
+### Miscellaneous
+
+* increase test timeouts ([#3237](https://github.com/nodejs/node-gyp/issues/3237)) ([3b41971](https://github.com/nodejs/node-gyp/commit/3b41971e2f6b90e02b1d7df592d403b8dfc8fa4d))
+* setup dependabot for npm ([86d65c7](https://github.com/nodejs/node-gyp/commit/86d65c7874eb41eb49c9b8bbf342becac8e57c6f))
+* update devDependencies ([41b0cea](https://github.com/nodejs/node-gyp/commit/41b0cea2f12342a790580cc8f844f075d49e096c))
+
+## [11.5.0](https://github.com/nodejs/node-gyp/compare/v11.4.2...v11.5.0) (2025-10-15)
+
+
+### Features
+
+* update gyp-next to v0.20.5 ([#3222](https://github.com/nodejs/node-gyp/issues/3222)) ([848e950](https://github.com/nodejs/node-gyp/commit/848e950833b90f0b25f346710ee42e9be4797604))
+
+
+### Bug Fixes
+
+* **ci:** Run Visual Studio test on Windows 11 on ARM ([#3217](https://github.com/nodejs/node-gyp/issues/3217)) ([8bd3f63](https://github.com/nodejs/node-gyp/commit/8bd3f6354b8bd43262a4d99d58a568beab0459e8))
+* **ci:** Test on Python 3.14 release candidate 3 on Linux and macOS ([#3216](https://github.com/nodejs/node-gyp/issues/3216)) ([085b445](https://github.com/nodejs/node-gyp/commit/085b445d1c00f8f1fc6a6ff80d8a93c6643f11ee))
+
+
+### Core
+
+* **deps:** bump actions/github-script from 7 to 8 ([#3213](https://github.com/nodejs/node-gyp/issues/3213)) ([c6b968c](https://github.com/nodejs/node-gyp/commit/c6b968caf7f4e22687fc10716162675b1411f713))
+* **deps:** bump actions/setup-node from 4 to 5 ([#3211](https://github.com/nodejs/node-gyp/issues/3211)) ([921c04d](https://github.com/nodejs/node-gyp/commit/921c04d142549f172d3aeae4097c9e0af05599dd))
+* **deps:** bump actions/setup-python from 5 to 6 ([#3210](https://github.com/nodejs/node-gyp/issues/3210)) ([6b70b05](https://github.com/nodejs/node-gyp/commit/6b70b05ed21cb977214348c97c2b97515c0d08f3))
+
## [11.4.2](https://github.com/nodejs/node-gyp/compare/v11.4.1...v11.4.2) (2025-08-26)
diff --git a/deps/npm/node_modules/node-gyp/gyp/.release-please-manifest.json b/deps/npm/node_modules/node-gyp/gyp/.release-please-manifest.json
index bdb726346fc28b..ca64307ab84750 100644
--- a/deps/npm/node_modules/node-gyp/gyp/.release-please-manifest.json
+++ b/deps/npm/node_modules/node-gyp/gyp/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.20.4"
+ ".": "0.21.0"
}
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py
index 09baf44b2b0f8a..2d8e4ceab9a94c 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/MSVSVersion.py
@@ -270,6 +270,18 @@ def _CreateVersion(name, path, sdk_based=False):
if path:
path = os.path.normpath(path)
versions = {
+ "2026": VisualStudioVersion(
+ "2026",
+ "Visual Studio 2026",
+ solution_version="12.00",
+ project_version="18.0",
+ flat_sln=False,
+ uses_vcxproj=True,
+ path=path,
+ sdk_based=sdk_based,
+ default_toolset="v145",
+ compatible_sdks=["v8.1", "v10.0"],
+ ),
"2022": VisualStudioVersion(
"2022",
"Visual Studio 2022",
@@ -462,6 +474,7 @@ def _DetectVisualStudioVersions(versions_to_check, force_express):
"15.0": "2017",
"16.0": "2019",
"17.0": "2022",
+ "18.0": "2026",
}
versions = []
for version in versions_to_check:
@@ -537,7 +550,18 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True):
if version == "auto":
version = os.environ.get("GYP_MSVS_VERSION", "auto")
version_map = {
- "auto": ("17.0", "16.0", "15.0", "14.0", "12.0", "10.0", "9.0", "8.0", "11.0"),
+ "auto": (
+ "18.0",
+ "17.0",
+ "16.0",
+ "15.0",
+ "14.0",
+ "12.0",
+ "10.0",
+ "9.0",
+ "8.0",
+ "11.0",
+ ),
"2005": ("8.0",),
"2005e": ("8.0",),
"2008": ("9.0",),
@@ -552,6 +576,7 @@ def SelectVisualStudioVersion(version="auto", allow_fallback=True):
"2017": ("15.0",),
"2019": ("16.0",),
"2022": ("17.0",),
+ "2026": ("18.0",),
}
if override_path := os.environ.get("GYP_MSVS_OVERRIDE_PATH"):
msvs_version = os.environ.get("GYP_MSVS_VERSION")
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py
index cfc0681f6bb049..5d5cae2afbf668 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/android.py
@@ -378,7 +378,7 @@ def WriteRules(self, rules, extra_sources, extra_outputs):
inputs = rule.get("inputs")
for rule_source in rule.get("rule_sources", []):
(rule_source_dirname, rule_source_basename) = os.path.split(rule_source)
- (rule_source_root, rule_source_ext) = os.path.splitext(
+ (rule_source_root, _rule_source_ext) = os.path.splitext(
rule_source_basename
)
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py
index bebb1303154e16..1361aeca48d0cd 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/compile_commands_json.py
@@ -100,7 +100,7 @@ def resolve(filename):
def GenerateOutput(target_list, target_dicts, data, params):
per_config_commands = {}
for qualified_target, target in target_dicts.items():
- build_file, target_name, toolset = gyp.common.ParseQualifiedTarget(
+ build_file, _target_name, _toolset = gyp.common.ParseQualifiedTarget(
qualified_target
)
if IsMac(params):
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py
index 3c70b81fd25625..89af24a201b101 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/gypd.py
@@ -73,7 +73,7 @@
def GenerateOutput(target_list, target_dicts, data, params):
output_files = {}
for qualified_target in target_list:
- [input_file, target] = gyp.common.ParseQualifiedTarget(qualified_target)[0:2]
+ [input_file, _target] = gyp.common.ParseQualifiedTarget(qualified_target)[0:2]
if input_file[-4:] != ".gyp":
continue
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py
index 1f0995718b59b7..5f30f39fc503e5 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py
@@ -1169,7 +1169,7 @@ def WriteRules(
for rule_source in rule.get("rule_sources", []):
dirs = set()
(rule_source_dirname, rule_source_basename) = os.path.split(rule_source)
- (rule_source_root, rule_source_ext) = os.path.splitext(
+ (rule_source_root, _rule_source_ext) = os.path.splitext(
rule_source_basename
)
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py
index 3b258ee8f395e7..0f14c055049add 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/msvs.py
@@ -1666,7 +1666,7 @@ def _HandlePreCompiledHeaders(p, sources, spec):
p.AddFileConfig(
source, _ConfigFullName(config_name, config), {}, tools=[tool]
)
- basename, extension = os.path.splitext(source)
+ _basename, extension = os.path.splitext(source)
if extension == ".c":
extensions_excluded_from_precompile = [".cc", ".cpp", ".cxx"]
else:
@@ -1677,7 +1677,7 @@ def DisableForSourceTree(source_tree):
if isinstance(source, MSVSProject.Filter):
DisableForSourceTree(source.contents)
else:
- basename, extension = os.path.splitext(source)
+ _basename, extension = os.path.splitext(source)
if extension in extensions_excluded_from_precompile:
for config_name, config in spec["configurations"].items():
tool = MSVSProject.Tool(
@@ -3579,7 +3579,7 @@ def _AddSources2(
# If the precompiled header is generated by a C source,
# we must not try to use it for C++ sources,
# and vice versa.
- basename, extension = os.path.splitext(precompiled_source)
+ _basename, extension = os.path.splitext(precompiled_source)
if extension == ".c":
extensions_excluded_from_precompile = [
".cc",
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py
index 8e05657961fe98..db4b45d1a04d25 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/generator/xcode.py
@@ -531,7 +531,7 @@ def AddSourceToTarget(source, type, pbxp, xct):
library_extensions = ["a", "dylib", "framework", "o"]
basename = posixpath.basename(source)
- (root, ext) = posixpath.splitext(basename)
+ (_root, ext) = posixpath.splitext(basename)
if ext:
ext = ext[1:].lower()
@@ -696,7 +696,7 @@ def GenerateOutput(target_list, target_dicts, data, params):
xcode_targets = {}
xcode_target_to_target_dict = {}
for qualified_target in target_list:
- [build_file, target_name, toolset] = gyp.common.ParseQualifiedTarget(
+ [build_file, target_name, _toolset] = gyp.common.ParseQualifiedTarget(
qualified_target
)
@@ -1215,7 +1215,7 @@ def GenerateOutput(target_list, target_dicts, data, params):
# Add "sources".
for source in spec.get("sources", []):
- (source_root, source_extension) = posixpath.splitext(source)
+ (_source_root, source_extension) = posixpath.splitext(source)
if source_extension[1:] not in rules_by_ext:
# AddSourceToTarget will add the file to a root group if it's not
# already there.
@@ -1227,7 +1227,7 @@ def GenerateOutput(target_list, target_dicts, data, params):
# it's a bundle of any type.
if is_bundle:
for resource in tgt_mac_bundle_resources:
- (resource_root, resource_extension) = posixpath.splitext(resource)
+ (_resource_root, resource_extension) = posixpath.splitext(resource)
if resource_extension[1:] not in rules_by_ext:
AddResourceToTarget(resource, pbxp, xct)
else:
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
index 4965ff1571c73c..f3a5e168f2075d 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/input.py
@@ -2757,7 +2757,7 @@ def ValidateRulesInTarget(target, target_dict, extra_sources_for_rules):
source_keys.extend(extra_sources_for_rules)
for source_key in source_keys:
for source in target_dict.get(source_key, []):
- (source_root, source_extension) = os.path.splitext(source)
+ (_source_root, source_extension) = os.path.splitext(source)
if source_extension.startswith("."):
source_extension = source_extension[1:]
if source_extension == rule_extension:
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
index 192a523529fddd..d13eaa9af240b7 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py
@@ -1534,18 +1534,20 @@ def CLTVersion():
FROM_XCODE_PKG_ID = "com.apple.pkg.DeveloperToolsCLI"
MAVERICKS_PKG_ID = "com.apple.pkg.CLTools_Executables"
- regex = re.compile("version: (?P.+)")
+ regex = re.compile(r"version: (?P.+)")
for key in [MAVERICKS_PKG_ID, STANDALONE_PKG_ID, FROM_XCODE_PKG_ID]:
try:
output = GetStdout(["/usr/sbin/pkgutil", "--pkg-info", key])
- return re.search(regex, output).groupdict()["version"]
+ if m := re.search(regex, output):
+ return m.groupdict()["version"]
except (GypError, OSError):
continue
regex = re.compile(r"Command Line Tools for Xcode\s+(?P\S+)")
try:
output = GetStdout(["/usr/sbin/softwareupdate", "--history"])
- return re.search(regex, output).groupdict()["version"]
+ if m := re.search(regex, output):
+ return m.groupdict()["version"]
except (GypError, OSError):
return None
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py
index 1a97a06c51d9f5..a133fdbe8b4f58 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcode_ninja.py
@@ -22,7 +22,7 @@
def _WriteWorkspace(main_gyp, sources_gyp, params):
"""Create a workspace to wrap main and sources gyp paths."""
- (build_file_root, build_file_ext) = os.path.splitext(main_gyp)
+ (build_file_root, _build_file_ext) = os.path.splitext(main_gyp)
workspace_path = build_file_root + ".xcworkspace"
options = params["options"]
if options.generator_output:
diff --git a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py
index 11e2be07372230..cb467470d3044b 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py
+++ b/deps/npm/node_modules/node-gyp/gyp/pylib/gyp/xcodeproj_file.py
@@ -487,7 +487,7 @@ def Children(self):
children = []
for property, attributes in self._schema.items():
- (is_list, property_type, is_strong) = attributes[0:3]
+ (is_list, _property_type, is_strong) = attributes[0:3]
if is_strong and property in self._properties:
if not is_list:
children.append(self._properties[property])
@@ -913,7 +913,7 @@ def VerifyHasRequiredProperties(self):
# TODO(mark): A stronger verification mechanism is needed. Some
# subclasses need to perform validation beyond what the schema can enforce.
for property, attributes in self._schema.items():
- (is_list, property_type, is_strong, is_required) = attributes[0:4]
+ (_is_list, _property_type, _is_strong, is_required) = attributes[0:4]
if is_required and property not in self._properties:
raise KeyError(self.__class__.__name__ + " requires " + property)
@@ -923,7 +923,7 @@ def _SetDefaultsFromSchema(self):
defaults = {}
for property, attributes in self._schema.items():
- (is_list, property_type, is_strong, is_required) = attributes[0:4]
+ (_is_list, _property_type, _is_strong, is_required) = attributes[0:4]
if (
is_required
and len(attributes) >= 5
@@ -1616,7 +1616,7 @@ def __init__(self, properties=None, id=None, parent=None):
prop_name = "lastKnownFileType"
else:
basename = posixpath.basename(self._properties["path"])
- (root, ext) = posixpath.splitext(basename)
+ (_root, ext) = posixpath.splitext(basename)
# Check the map using a lowercase extension.
# TODO(mark): Maybe it should try with the original case first and fall
# back to lowercase, in case there are any instances where case
@@ -2010,7 +2010,7 @@ def Name(self):
return "Frameworks"
def FileGroup(self, path):
- (root, ext) = posixpath.splitext(path)
+ (_root, ext) = posixpath.splitext(path)
if ext != "":
ext = ext[1:].lower()
if ext == "o":
diff --git a/deps/npm/node_modules/node-gyp/gyp/pyproject.toml b/deps/npm/node_modules/node-gyp/gyp/pyproject.toml
index 3a029c4fc5140c..cd4f0383fd37c7 100644
--- a/deps/npm/node_modules/node-gyp/gyp/pyproject.toml
+++ b/deps/npm/node_modules/node-gyp/gyp/pyproject.toml
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "gyp-next"
-version = "0.20.4"
+version = "0.21.0"
authors = [
{ name="Node.js contributors", email="ryzokuken@disroot.org" },
]
diff --git a/deps/npm/node_modules/node-gyp/lib/find-visualstudio.js b/deps/npm/node_modules/node-gyp/lib/find-visualstudio.js
index e9aa7fafdc98a4..e0cf383489e282 100644
--- a/deps/npm/node_modules/node-gyp/lib/find-visualstudio.js
+++ b/deps/npm/node_modules/node-gyp/lib/find-visualstudio.js
@@ -119,7 +119,7 @@ class VisualStudioFinder {
}
async findVisualStudio2019OrNewerFromSpecifiedLocation () {
- return this.findVSFromSpecifiedLocation([2019, 2022])
+ return this.findVSFromSpecifiedLocation([2019, 2022, 2026])
}
async findVisualStudio2017FromSpecifiedLocation () {
@@ -162,7 +162,7 @@ class VisualStudioFinder {
}
async findVisualStudio2019OrNewerUsingSetupModule () {
- return this.findNewVSUsingSetupModule([2019, 2022])
+ return this.findNewVSUsingSetupModule([2019, 2022, 2026])
}
async findVisualStudio2017UsingSetupModule () {
@@ -223,7 +223,7 @@ class VisualStudioFinder {
// Invoke the PowerShell script to get information about Visual Studio 2019
// or newer installations
async findVisualStudio2019OrNewer () {
- return this.findNewVS([2019, 2022])
+ return this.findNewVS([2019, 2022, 2026])
}
// Invoke the PowerShell script to get information about Visual Studio 2017
@@ -389,6 +389,10 @@ class VisualStudioFinder {
ret.versionYear = 2022
return ret
}
+ if (ret.versionMajor === 18) {
+ ret.versionYear = 2026
+ return ret
+ }
this.log.silly('- unsupported version:', ret.versionMajor)
return {}
}
@@ -456,6 +460,8 @@ class VisualStudioFinder {
return 'v142'
} else if (versionYear === 2022) {
return 'v143'
+ } else if (versionYear === 2026) {
+ return 'v145'
}
this.log.silly('- invalid versionYear:', versionYear)
return null
diff --git a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/agents.js b/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/agents.js
deleted file mode 100644
index c541b93001517e..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/agents.js
+++ /dev/null
@@ -1,206 +0,0 @@
-'use strict'
-
-const net = require('net')
-const tls = require('tls')
-const { once } = require('events')
-const timers = require('timers/promises')
-const { normalizeOptions, cacheOptions } = require('./options')
-const { getProxy, getProxyAgent, proxyCache } = require('./proxy.js')
-const Errors = require('./errors.js')
-const { Agent: AgentBase } = require('agent-base')
-
-module.exports = class Agent extends AgentBase {
- #options
- #timeouts
- #proxy
- #noProxy
- #ProxyAgent
-
- constructor (options = {}) {
- const { timeouts, proxy, noProxy, ...normalizedOptions } = normalizeOptions(options)
-
- super(normalizedOptions)
-
- this.#options = normalizedOptions
- this.#timeouts = timeouts
-
- if (proxy) {
- this.#proxy = new URL(proxy)
- this.#noProxy = noProxy
- this.#ProxyAgent = getProxyAgent(proxy)
- }
- }
-
- get proxy () {
- return this.#proxy ? { url: this.#proxy } : {}
- }
-
- #getProxy (options) {
- if (!this.#proxy) {
- return
- }
-
- const proxy = getProxy(`${options.protocol}//${options.host}:${options.port}`, {
- proxy: this.#proxy,
- noProxy: this.#noProxy,
- })
-
- if (!proxy) {
- return
- }
-
- const cacheKey = cacheOptions({
- ...options,
- ...this.#options,
- timeouts: this.#timeouts,
- proxy,
- })
-
- if (proxyCache.has(cacheKey)) {
- return proxyCache.get(cacheKey)
- }
-
- let ProxyAgent = this.#ProxyAgent
- if (Array.isArray(ProxyAgent)) {
- ProxyAgent = this.isSecureEndpoint(options) ? ProxyAgent[1] : ProxyAgent[0]
- }
-
- const proxyAgent = new ProxyAgent(proxy, {
- ...this.#options,
- socketOptions: { family: this.#options.family },
- })
- proxyCache.set(cacheKey, proxyAgent)
-
- return proxyAgent
- }
-
- // takes an array of promises and races them against the connection timeout
- // which will throw the necessary error if it is hit. This will return the
- // result of the promise race.
- async #timeoutConnection ({ promises, options, timeout }, ac = new AbortController()) {
- if (timeout) {
- const connectionTimeout = timers.setTimeout(timeout, null, { signal: ac.signal })
- .then(() => {
- throw new Errors.ConnectionTimeoutError(`${options.host}:${options.port}`)
- }).catch((err) => {
- if (err.name === 'AbortError') {
- return
- }
- throw err
- })
- promises.push(connectionTimeout)
- }
-
- let result
- try {
- result = await Promise.race(promises)
- ac.abort()
- } catch (err) {
- ac.abort()
- throw err
- }
- return result
- }
-
- async connect (request, options) {
- // if the connection does not have its own lookup function
- // set, then use the one from our options
- options.lookup ??= this.#options.lookup
-
- let socket
- let timeout = this.#timeouts.connection
- const isSecureEndpoint = this.isSecureEndpoint(options)
-
- const proxy = this.#getProxy(options)
- if (proxy) {
- // some of the proxies will wait for the socket to fully connect before
- // returning so we have to await this while also racing it against the
- // connection timeout.
- const start = Date.now()
- socket = await this.#timeoutConnection({
- options,
- timeout,
- promises: [proxy.connect(request, options)],
- })
- // see how much time proxy.connect took and subtract it from
- // the timeout
- if (timeout) {
- timeout = timeout - (Date.now() - start)
- }
- } else {
- socket = (isSecureEndpoint ? tls : net).connect(options)
- }
-
- socket.setKeepAlive(this.keepAlive, this.keepAliveMsecs)
- socket.setNoDelay(this.keepAlive)
-
- const abortController = new AbortController()
- const { signal } = abortController
-
- const connectPromise = socket[isSecureEndpoint ? 'secureConnecting' : 'connecting']
- ? once(socket, isSecureEndpoint ? 'secureConnect' : 'connect', { signal })
- : Promise.resolve()
-
- await this.#timeoutConnection({
- options,
- timeout,
- promises: [
- connectPromise,
- once(socket, 'error', { signal }).then((err) => {
- throw err[0]
- }),
- ],
- }, abortController)
-
- if (this.#timeouts.idle) {
- socket.setTimeout(this.#timeouts.idle, () => {
- socket.destroy(new Errors.IdleTimeoutError(`${options.host}:${options.port}`))
- })
- }
-
- return socket
- }
-
- addRequest (request, options) {
- const proxy = this.#getProxy(options)
- // it would be better to call proxy.addRequest here but this causes the
- // http-proxy-agent to call its super.addRequest which causes the request
- // to be added to the agent twice. since we only support 3 agents
- // currently (see the required agents in proxy.js) we have manually
- // checked that the only public methods we need to call are called in the
- // next block. this could change in the future and presumably we would get
- // failing tests until we have properly called the necessary methods on
- // each of our proxy agents
- if (proxy?.setRequestProps) {
- proxy.setRequestProps(request, options)
- }
-
- request.setHeader('connection', this.keepAlive ? 'keep-alive' : 'close')
-
- if (this.#timeouts.response) {
- let responseTimeout
- request.once('finish', () => {
- setTimeout(() => {
- request.destroy(new Errors.ResponseTimeoutError(request, this.#proxy))
- }, this.#timeouts.response)
- })
- request.once('response', () => {
- clearTimeout(responseTimeout)
- })
- }
-
- if (this.#timeouts.transfer) {
- let transferTimeout
- request.once('response', (res) => {
- setTimeout(() => {
- res.destroy(new Errors.TransferTimeoutError(request, this.#proxy))
- }, this.#timeouts.transfer)
- res.once('close', () => {
- clearTimeout(transferTimeout)
- })
- })
- }
-
- return super.addRequest(request, options)
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/dns.js b/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/dns.js
deleted file mode 100644
index 3c6946c566d736..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/dns.js
+++ /dev/null
@@ -1,53 +0,0 @@
-'use strict'
-
-const { LRUCache } = require('lru-cache')
-const dns = require('dns')
-
-// this is a factory so that each request can have its own opts (i.e. ttl)
-// while still sharing the cache across all requests
-const cache = new LRUCache({ max: 50 })
-
-const getOptions = ({
- family = 0,
- hints = dns.ADDRCONFIG,
- all = false,
- verbatim = undefined,
- ttl = 5 * 60 * 1000,
- lookup = dns.lookup,
-}) => ({
- // hints and lookup are returned since both are top level properties to (net|tls).connect
- hints,
- lookup: (hostname, ...args) => {
- const callback = args.pop() // callback is always last arg
- const lookupOptions = args[0] ?? {}
-
- const options = {
- family,
- hints,
- all,
- verbatim,
- ...(typeof lookupOptions === 'number' ? { family: lookupOptions } : lookupOptions),
- }
-
- const key = JSON.stringify({ hostname, ...options })
-
- if (cache.has(key)) {
- const cached = cache.get(key)
- return process.nextTick(callback, null, ...cached)
- }
-
- lookup(hostname, options, (err, ...result) => {
- if (err) {
- return callback(err)
- }
-
- cache.set(key, result, { ttl })
- return callback(null, ...result)
- })
- },
-})
-
-module.exports = {
- cache,
- getOptions,
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/errors.js b/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/errors.js
deleted file mode 100644
index 70475aec8eb357..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/errors.js
+++ /dev/null
@@ -1,61 +0,0 @@
-'use strict'
-
-class InvalidProxyProtocolError extends Error {
- constructor (url) {
- super(`Invalid protocol \`${url.protocol}\` connecting to proxy \`${url.host}\``)
- this.code = 'EINVALIDPROXY'
- this.proxy = url
- }
-}
-
-class ConnectionTimeoutError extends Error {
- constructor (host) {
- super(`Timeout connecting to host \`${host}\``)
- this.code = 'ECONNECTIONTIMEOUT'
- this.host = host
- }
-}
-
-class IdleTimeoutError extends Error {
- constructor (host) {
- super(`Idle timeout reached for host \`${host}\``)
- this.code = 'EIDLETIMEOUT'
- this.host = host
- }
-}
-
-class ResponseTimeoutError extends Error {
- constructor (request, proxy) {
- let msg = 'Response timeout '
- if (proxy) {
- msg += `from proxy \`${proxy.host}\` `
- }
- msg += `connecting to host \`${request.host}\``
- super(msg)
- this.code = 'ERESPONSETIMEOUT'
- this.proxy = proxy
- this.request = request
- }
-}
-
-class TransferTimeoutError extends Error {
- constructor (request, proxy) {
- let msg = 'Transfer timeout '
- if (proxy) {
- msg += `from proxy \`${proxy.host}\` `
- }
- msg += `for \`${request.host}\``
- super(msg)
- this.code = 'ETRANSFERTIMEOUT'
- this.proxy = proxy
- this.request = request
- }
-}
-
-module.exports = {
- InvalidProxyProtocolError,
- ConnectionTimeoutError,
- IdleTimeoutError,
- ResponseTimeoutError,
- TransferTimeoutError,
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/index.js b/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/index.js
deleted file mode 100644
index b33d6eaef07a21..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/index.js
+++ /dev/null
@@ -1,56 +0,0 @@
-'use strict'
-
-const { LRUCache } = require('lru-cache')
-const { normalizeOptions, cacheOptions } = require('./options')
-const { getProxy, proxyCache } = require('./proxy.js')
-const dns = require('./dns.js')
-const Agent = require('./agents.js')
-
-const agentCache = new LRUCache({ max: 20 })
-
-const getAgent = (url, { agent, proxy, noProxy, ...options } = {}) => {
- // false has meaning so this can't be a simple truthiness check
- if (agent != null) {
- return agent
- }
-
- url = new URL(url)
-
- const proxyForUrl = getProxy(url, { proxy, noProxy })
- const normalizedOptions = {
- ...normalizeOptions(options),
- proxy: proxyForUrl,
- }
-
- const cacheKey = cacheOptions({
- ...normalizedOptions,
- secureEndpoint: url.protocol === 'https:',
- })
-
- if (agentCache.has(cacheKey)) {
- return agentCache.get(cacheKey)
- }
-
- const newAgent = new Agent(normalizedOptions)
- agentCache.set(cacheKey, newAgent)
-
- return newAgent
-}
-
-module.exports = {
- getAgent,
- Agent,
- // these are exported for backwards compatability
- HttpAgent: Agent,
- HttpsAgent: Agent,
- cache: {
- proxy: proxyCache,
- agent: agentCache,
- dns: dns.cache,
- clear: () => {
- proxyCache.clear()
- agentCache.clear()
- dns.cache.clear()
- },
- },
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/options.js b/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/options.js
deleted file mode 100644
index 0bf53f725f0846..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/options.js
+++ /dev/null
@@ -1,86 +0,0 @@
-'use strict'
-
-const dns = require('./dns')
-
-const normalizeOptions = (opts) => {
- const family = parseInt(opts.family ?? '0', 10)
- const keepAlive = opts.keepAlive ?? true
-
- const normalized = {
- // nodejs http agent options. these are all the defaults
- // but kept here to increase the likelihood of cache hits
- // https://nodejs.org/api/http.html#new-agentoptions
- keepAliveMsecs: keepAlive ? 1000 : undefined,
- maxSockets: opts.maxSockets ?? 15,
- maxTotalSockets: Infinity,
- maxFreeSockets: keepAlive ? 256 : undefined,
- scheduling: 'fifo',
- // then spread the rest of the options
- ...opts,
- // we already set these to their defaults that we want
- family,
- keepAlive,
- // our custom timeout options
- timeouts: {
- // the standard timeout option is mapped to our idle timeout
- // and then deleted below
- idle: opts.timeout ?? 0,
- connection: 0,
- response: 0,
- transfer: 0,
- ...opts.timeouts,
- },
- // get the dns options that go at the top level of socket connection
- ...dns.getOptions({ family, ...opts.dns }),
- }
-
- // remove timeout since we already used it to set our own idle timeout
- delete normalized.timeout
-
- return normalized
-}
-
-const createKey = (obj) => {
- let key = ''
- const sorted = Object.entries(obj).sort((a, b) => a[0] - b[0])
- for (let [k, v] of sorted) {
- if (v == null) {
- v = 'null'
- } else if (v instanceof URL) {
- v = v.toString()
- } else if (typeof v === 'object') {
- v = createKey(v)
- }
- key += `${k}:${v}:`
- }
- return key
-}
-
-const cacheOptions = ({ secureEndpoint, ...options }) => createKey({
- secureEndpoint: !!secureEndpoint,
- // socket connect options
- family: options.family,
- hints: options.hints,
- localAddress: options.localAddress,
- // tls specific connect options
- strictSsl: secureEndpoint ? !!options.rejectUnauthorized : false,
- ca: secureEndpoint ? options.ca : null,
- cert: secureEndpoint ? options.cert : null,
- key: secureEndpoint ? options.key : null,
- // http agent options
- keepAlive: options.keepAlive,
- keepAliveMsecs: options.keepAliveMsecs,
- maxSockets: options.maxSockets,
- maxTotalSockets: options.maxTotalSockets,
- maxFreeSockets: options.maxFreeSockets,
- scheduling: options.scheduling,
- // timeout options
- timeouts: options.timeouts,
- // proxy
- proxy: options.proxy,
-})
-
-module.exports = {
- normalizeOptions,
- cacheOptions,
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/proxy.js b/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/proxy.js
deleted file mode 100644
index 6272e929e57bcf..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/@npmcli/agent/lib/proxy.js
+++ /dev/null
@@ -1,88 +0,0 @@
-'use strict'
-
-const { HttpProxyAgent } = require('http-proxy-agent')
-const { HttpsProxyAgent } = require('https-proxy-agent')
-const { SocksProxyAgent } = require('socks-proxy-agent')
-const { LRUCache } = require('lru-cache')
-const { InvalidProxyProtocolError } = require('./errors.js')
-
-const PROXY_CACHE = new LRUCache({ max: 20 })
-
-const SOCKS_PROTOCOLS = new Set(SocksProxyAgent.protocols)
-
-const PROXY_ENV_KEYS = new Set(['https_proxy', 'http_proxy', 'proxy', 'no_proxy'])
-
-const PROXY_ENV = Object.entries(process.env).reduce((acc, [key, value]) => {
- key = key.toLowerCase()
- if (PROXY_ENV_KEYS.has(key)) {
- acc[key] = value
- }
- return acc
-}, {})
-
-const getProxyAgent = (url) => {
- url = new URL(url)
-
- const protocol = url.protocol.slice(0, -1)
- if (SOCKS_PROTOCOLS.has(protocol)) {
- return SocksProxyAgent
- }
- if (protocol === 'https' || protocol === 'http') {
- return [HttpProxyAgent, HttpsProxyAgent]
- }
-
- throw new InvalidProxyProtocolError(url)
-}
-
-const isNoProxy = (url, noProxy) => {
- if (typeof noProxy === 'string') {
- noProxy = noProxy.split(',').map((p) => p.trim()).filter(Boolean)
- }
-
- if (!noProxy || !noProxy.length) {
- return false
- }
-
- const hostSegments = url.hostname.split('.').reverse()
-
- return noProxy.some((no) => {
- const noSegments = no.split('.').filter(Boolean).reverse()
- if (!noSegments.length) {
- return false
- }
-
- for (let i = 0; i < noSegments.length; i++) {
- if (hostSegments[i] !== noSegments[i]) {
- return false
- }
- }
-
- return true
- })
-}
-
-const getProxy = (url, { proxy, noProxy }) => {
- url = new URL(url)
-
- if (!proxy) {
- proxy = url.protocol === 'https:'
- ? PROXY_ENV.https_proxy
- : PROXY_ENV.https_proxy || PROXY_ENV.http_proxy || PROXY_ENV.proxy
- }
-
- if (!noProxy) {
- noProxy = PROXY_ENV.no_proxy
- }
-
- if (!proxy || isNoProxy(url, noProxy)) {
- return null
- }
-
- return new URL(proxy)
-}
-
-module.exports = {
- getProxyAgent,
- getProxy,
- proxyCache: PROXY_CACHE,
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/LICENSE.md b/deps/npm/node_modules/node-gyp/node_modules/cacache/LICENSE.md
deleted file mode 100644
index 8d28acf866d932..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/LICENSE.md
+++ /dev/null
@@ -1,16 +0,0 @@
-ISC License
-
-Copyright (c) npm, Inc.
-
-Permission to use, copy, modify, and/or distribute this software for
-any purpose with or without fee is hereby granted, provided that the
-above copyright notice and this permission notice appear in all copies.
-
-THE SOFTWARE IS PROVIDED "AS IS" AND THE COPYRIGHT HOLDER DISCLAIMS
-ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
-COPYRIGHT HOLDER BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR
-CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
-OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
-OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE
-USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/path.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/path.js
deleted file mode 100644
index ad5a76a4f73f26..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/path.js
+++ /dev/null
@@ -1,29 +0,0 @@
-'use strict'
-
-const contentVer = require('../../package.json')['cache-version'].content
-const hashToSegments = require('../util/hash-to-segments')
-const path = require('path')
-const ssri = require('ssri')
-
-// Current format of content file path:
-//
-// sha512-BaSE64Hex= ->
-// ~/.my-cache/content-v2/sha512/ba/da/55deadbeefc0ffee
-//
-module.exports = contentPath
-
-function contentPath (cache, integrity) {
- const sri = ssri.parse(integrity, { single: true })
- // contentPath is the *strongest* algo given
- return path.join(
- contentDir(cache),
- sri.algorithm,
- ...hashToSegments(sri.hexDigest())
- )
-}
-
-module.exports.contentDir = contentDir
-
-function contentDir (cache) {
- return path.join(cache, `content-v${contentVer}`)
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/read.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/read.js
deleted file mode 100644
index 5f6192c3cec566..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/read.js
+++ /dev/null
@@ -1,165 +0,0 @@
-'use strict'
-
-const fs = require('fs/promises')
-const fsm = require('fs-minipass')
-const ssri = require('ssri')
-const contentPath = require('./path')
-const Pipeline = require('minipass-pipeline')
-
-module.exports = read
-
-const MAX_SINGLE_READ_SIZE = 64 * 1024 * 1024
-async function read (cache, integrity, opts = {}) {
- const { size } = opts
- const { stat, cpath, sri } = await withContentSri(cache, integrity, async (cpath, sri) => {
- // get size
- const stat = size ? { size } : await fs.stat(cpath)
- return { stat, cpath, sri }
- })
-
- if (stat.size > MAX_SINGLE_READ_SIZE) {
- return readPipeline(cpath, stat.size, sri, new Pipeline()).concat()
- }
-
- const data = await fs.readFile(cpath, { encoding: null })
-
- if (stat.size !== data.length) {
- throw sizeError(stat.size, data.length)
- }
-
- if (!ssri.checkData(data, sri)) {
- throw integrityError(sri, cpath)
- }
-
- return data
-}
-
-const readPipeline = (cpath, size, sri, stream) => {
- stream.push(
- new fsm.ReadStream(cpath, {
- size,
- readSize: MAX_SINGLE_READ_SIZE,
- }),
- ssri.integrityStream({
- integrity: sri,
- size,
- })
- )
- return stream
-}
-
-module.exports.stream = readStream
-module.exports.readStream = readStream
-
-function readStream (cache, integrity, opts = {}) {
- const { size } = opts
- const stream = new Pipeline()
- // Set all this up to run on the stream and then just return the stream
- Promise.resolve().then(async () => {
- const { stat, cpath, sri } = await withContentSri(cache, integrity, async (cpath, sri) => {
- // get size
- const stat = size ? { size } : await fs.stat(cpath)
- return { stat, cpath, sri }
- })
-
- return readPipeline(cpath, stat.size, sri, stream)
- }).catch(err => stream.emit('error', err))
-
- return stream
-}
-
-module.exports.copy = copy
-
-function copy (cache, integrity, dest) {
- return withContentSri(cache, integrity, (cpath) => {
- return fs.copyFile(cpath, dest)
- })
-}
-
-module.exports.hasContent = hasContent
-
-async function hasContent (cache, integrity) {
- if (!integrity) {
- return false
- }
-
- try {
- return await withContentSri(cache, integrity, async (cpath, sri) => {
- const stat = await fs.stat(cpath)
- return { size: stat.size, sri, stat }
- })
- } catch (err) {
- if (err.code === 'ENOENT') {
- return false
- }
-
- if (err.code === 'EPERM') {
- /* istanbul ignore else */
- if (process.platform !== 'win32') {
- throw err
- } else {
- return false
- }
- }
- }
-}
-
-async function withContentSri (cache, integrity, fn) {
- const sri = ssri.parse(integrity)
- // If `integrity` has multiple entries, pick the first digest
- // with available local data.
- const algo = sri.pickAlgorithm()
- const digests = sri[algo]
-
- if (digests.length <= 1) {
- const cpath = contentPath(cache, digests[0])
- return fn(cpath, digests[0])
- } else {
- // Can't use race here because a generic error can happen before
- // a ENOENT error, and can happen before a valid result
- const results = await Promise.all(digests.map(async (meta) => {
- try {
- return await withContentSri(cache, meta, fn)
- } catch (err) {
- if (err.code === 'ENOENT') {
- return Object.assign(
- new Error('No matching content found for ' + sri.toString()),
- { code: 'ENOENT' }
- )
- }
- return err
- }
- }))
- // Return the first non error if it is found
- const result = results.find((r) => !(r instanceof Error))
- if (result) {
- return result
- }
-
- // Throw the No matching content found error
- const enoentError = results.find((r) => r.code === 'ENOENT')
- if (enoentError) {
- throw enoentError
- }
-
- // Throw generic error
- throw results.find((r) => r instanceof Error)
- }
-}
-
-function sizeError (expected, found) {
- /* eslint-disable-next-line max-len */
- const err = new Error(`Bad data size: expected inserted data to be ${expected} bytes, but got ${found} instead`)
- err.expected = expected
- err.found = found
- err.code = 'EBADSIZE'
- return err
-}
-
-function integrityError (sri, path) {
- const err = new Error(`Integrity verification failed for ${sri} (${path})`)
- err.code = 'EINTEGRITY'
- err.sri = sri
- err.path = path
- return err
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/rm.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/rm.js
deleted file mode 100644
index ce58d679e4cb25..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/rm.js
+++ /dev/null
@@ -1,18 +0,0 @@
-'use strict'
-
-const fs = require('fs/promises')
-const contentPath = require('./path')
-const { hasContent } = require('./read')
-
-module.exports = rm
-
-async function rm (cache, integrity) {
- const content = await hasContent(cache, integrity)
- // ~pretty~ sure we can't end up with a content lacking sri, but be safe
- if (content && content.sri) {
- await fs.rm(contentPath(cache, content.sri), { recursive: true, force: true })
- return true
- } else {
- return false
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/write.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/write.js
deleted file mode 100644
index e7187abca8788a..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/content/write.js
+++ /dev/null
@@ -1,206 +0,0 @@
-'use strict'
-
-const events = require('events')
-
-const contentPath = require('./path')
-const fs = require('fs/promises')
-const { moveFile } = require('@npmcli/fs')
-const { Minipass } = require('minipass')
-const Pipeline = require('minipass-pipeline')
-const Flush = require('minipass-flush')
-const path = require('path')
-const ssri = require('ssri')
-const uniqueFilename = require('unique-filename')
-const fsm = require('fs-minipass')
-
-module.exports = write
-
-// Cache of move operations in process so we don't duplicate
-const moveOperations = new Map()
-
-async function write (cache, data, opts = {}) {
- const { algorithms, size, integrity } = opts
-
- if (typeof size === 'number' && data.length !== size) {
- throw sizeError(size, data.length)
- }
-
- const sri = ssri.fromData(data, algorithms ? { algorithms } : {})
- if (integrity && !ssri.checkData(data, integrity, opts)) {
- throw checksumError(integrity, sri)
- }
-
- for (const algo in sri) {
- const tmp = await makeTmp(cache, opts)
- const hash = sri[algo].toString()
- try {
- await fs.writeFile(tmp.target, data, { flag: 'wx' })
- await moveToDestination(tmp, cache, hash, opts)
- } finally {
- if (!tmp.moved) {
- await fs.rm(tmp.target, { recursive: true, force: true })
- }
- }
- }
- return { integrity: sri, size: data.length }
-}
-
-module.exports.stream = writeStream
-
-// writes proxied to the 'inputStream' that is passed to the Promise
-// 'end' is deferred until content is handled.
-class CacacheWriteStream extends Flush {
- constructor (cache, opts) {
- super()
- this.opts = opts
- this.cache = cache
- this.inputStream = new Minipass()
- this.inputStream.on('error', er => this.emit('error', er))
- this.inputStream.on('drain', () => this.emit('drain'))
- this.handleContentP = null
- }
-
- write (chunk, encoding, cb) {
- if (!this.handleContentP) {
- this.handleContentP = handleContent(
- this.inputStream,
- this.cache,
- this.opts
- )
- this.handleContentP.catch(error => this.emit('error', error))
- }
- return this.inputStream.write(chunk, encoding, cb)
- }
-
- flush (cb) {
- this.inputStream.end(() => {
- if (!this.handleContentP) {
- const e = new Error('Cache input stream was empty')
- e.code = 'ENODATA'
- // empty streams are probably emitting end right away.
- // defer this one tick by rejecting a promise on it.
- return Promise.reject(e).catch(cb)
- }
- // eslint-disable-next-line promise/catch-or-return
- this.handleContentP.then(
- (res) => {
- res.integrity && this.emit('integrity', res.integrity)
- // eslint-disable-next-line promise/always-return
- res.size !== null && this.emit('size', res.size)
- cb()
- },
- (er) => cb(er)
- )
- })
- }
-}
-
-function writeStream (cache, opts = {}) {
- return new CacacheWriteStream(cache, opts)
-}
-
-async function handleContent (inputStream, cache, opts) {
- const tmp = await makeTmp(cache, opts)
- try {
- const res = await pipeToTmp(inputStream, cache, tmp.target, opts)
- await moveToDestination(
- tmp,
- cache,
- res.integrity,
- opts
- )
- return res
- } finally {
- if (!tmp.moved) {
- await fs.rm(tmp.target, { recursive: true, force: true })
- }
- }
-}
-
-async function pipeToTmp (inputStream, cache, tmpTarget, opts) {
- const outStream = new fsm.WriteStream(tmpTarget, {
- flags: 'wx',
- })
-
- if (opts.integrityEmitter) {
- // we need to create these all simultaneously since they can fire in any order
- const [integrity, size] = await Promise.all([
- events.once(opts.integrityEmitter, 'integrity').then(res => res[0]),
- events.once(opts.integrityEmitter, 'size').then(res => res[0]),
- new Pipeline(inputStream, outStream).promise(),
- ])
- return { integrity, size }
- }
-
- let integrity
- let size
- const hashStream = ssri.integrityStream({
- integrity: opts.integrity,
- algorithms: opts.algorithms,
- size: opts.size,
- })
- hashStream.on('integrity', i => {
- integrity = i
- })
- hashStream.on('size', s => {
- size = s
- })
-
- const pipeline = new Pipeline(inputStream, hashStream, outStream)
- await pipeline.promise()
- return { integrity, size }
-}
-
-async function makeTmp (cache, opts) {
- const tmpTarget = uniqueFilename(path.join(cache, 'tmp'), opts.tmpPrefix)
- await fs.mkdir(path.dirname(tmpTarget), { recursive: true })
- return {
- target: tmpTarget,
- moved: false,
- }
-}
-
-async function moveToDestination (tmp, cache, sri) {
- const destination = contentPath(cache, sri)
- const destDir = path.dirname(destination)
- if (moveOperations.has(destination)) {
- return moveOperations.get(destination)
- }
- moveOperations.set(
- destination,
- fs.mkdir(destDir, { recursive: true })
- .then(async () => {
- await moveFile(tmp.target, destination, { overwrite: false })
- tmp.moved = true
- return tmp.moved
- })
- .catch(err => {
- if (!err.message.startsWith('The destination file exists')) {
- throw Object.assign(err, { code: 'EEXIST' })
- }
- }).finally(() => {
- moveOperations.delete(destination)
- })
-
- )
- return moveOperations.get(destination)
-}
-
-function sizeError (expected, found) {
- /* eslint-disable-next-line max-len */
- const err = new Error(`Bad data size: expected inserted data to be ${expected} bytes, but got ${found} instead`)
- err.expected = expected
- err.found = found
- err.code = 'EBADSIZE'
- return err
-}
-
-function checksumError (expected, found) {
- const err = new Error(`Integrity check failed:
- Wanted: ${expected}
- Found: ${found}`)
- err.code = 'EINTEGRITY'
- err.expected = expected
- err.found = found
- return err
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/entry-index.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/entry-index.js
deleted file mode 100644
index 0e09b10818d097..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/entry-index.js
+++ /dev/null
@@ -1,336 +0,0 @@
-'use strict'
-
-const crypto = require('crypto')
-const {
- appendFile,
- mkdir,
- readFile,
- readdir,
- rm,
- writeFile,
-} = require('fs/promises')
-const { Minipass } = require('minipass')
-const path = require('path')
-const ssri = require('ssri')
-const uniqueFilename = require('unique-filename')
-
-const contentPath = require('./content/path')
-const hashToSegments = require('./util/hash-to-segments')
-const indexV = require('../package.json')['cache-version'].index
-const { moveFile } = require('@npmcli/fs')
-
-const lsStreamConcurrency = 5
-
-module.exports.NotFoundError = class NotFoundError extends Error {
- constructor (cache, key) {
- super(`No cache entry for ${key} found in ${cache}`)
- this.code = 'ENOENT'
- this.cache = cache
- this.key = key
- }
-}
-
-module.exports.compact = compact
-
-async function compact (cache, key, matchFn, opts = {}) {
- const bucket = bucketPath(cache, key)
- const entries = await bucketEntries(bucket)
- const newEntries = []
- // we loop backwards because the bottom-most result is the newest
- // since we add new entries with appendFile
- for (let i = entries.length - 1; i >= 0; --i) {
- const entry = entries[i]
- // a null integrity could mean either a delete was appended
- // or the user has simply stored an index that does not map
- // to any content. we determine if the user wants to keep the
- // null integrity based on the validateEntry function passed in options.
- // if the integrity is null and no validateEntry is provided, we break
- // as we consider the null integrity to be a deletion of everything
- // that came before it.
- if (entry.integrity === null && !opts.validateEntry) {
- break
- }
-
- // if this entry is valid, and it is either the first entry or
- // the newEntries array doesn't already include an entry that
- // matches this one based on the provided matchFn, then we add
- // it to the beginning of our list
- if ((!opts.validateEntry || opts.validateEntry(entry) === true) &&
- (newEntries.length === 0 ||
- !newEntries.find((oldEntry) => matchFn(oldEntry, entry)))) {
- newEntries.unshift(entry)
- }
- }
-
- const newIndex = '\n' + newEntries.map((entry) => {
- const stringified = JSON.stringify(entry)
- const hash = hashEntry(stringified)
- return `${hash}\t${stringified}`
- }).join('\n')
-
- const setup = async () => {
- const target = uniqueFilename(path.join(cache, 'tmp'), opts.tmpPrefix)
- await mkdir(path.dirname(target), { recursive: true })
- return {
- target,
- moved: false,
- }
- }
-
- const teardown = async (tmp) => {
- if (!tmp.moved) {
- return rm(tmp.target, { recursive: true, force: true })
- }
- }
-
- const write = async (tmp) => {
- await writeFile(tmp.target, newIndex, { flag: 'wx' })
- await mkdir(path.dirname(bucket), { recursive: true })
- // we use @npmcli/move-file directly here because we
- // want to overwrite the existing file
- await moveFile(tmp.target, bucket)
- tmp.moved = true
- }
-
- // write the file atomically
- const tmp = await setup()
- try {
- await write(tmp)
- } finally {
- await teardown(tmp)
- }
-
- // we reverse the list we generated such that the newest
- // entries come first in order to make looping through them easier
- // the true passed to formatEntry tells it to keep null
- // integrity values, if they made it this far it's because
- // validateEntry returned true, and as such we should return it
- return newEntries.reverse().map((entry) => formatEntry(cache, entry, true))
-}
-
-module.exports.insert = insert
-
-async function insert (cache, key, integrity, opts = {}) {
- const { metadata, size, time } = opts
- const bucket = bucketPath(cache, key)
- const entry = {
- key,
- integrity: integrity && ssri.stringify(integrity),
- time: time || Date.now(),
- size,
- metadata,
- }
- try {
- await mkdir(path.dirname(bucket), { recursive: true })
- const stringified = JSON.stringify(entry)
- // NOTE - Cleverness ahoy!
- //
- // This works because it's tremendously unlikely for an entry to corrupt
- // another while still preserving the string length of the JSON in
- // question. So, we just slap the length in there and verify it on read.
- //
- // Thanks to @isaacs for the whiteboarding session that ended up with
- // this.
- await appendFile(bucket, `\n${hashEntry(stringified)}\t${stringified}`)
- } catch (err) {
- if (err.code === 'ENOENT') {
- return undefined
- }
-
- throw err
- }
- return formatEntry(cache, entry)
-}
-
-module.exports.find = find
-
-async function find (cache, key) {
- const bucket = bucketPath(cache, key)
- try {
- const entries = await bucketEntries(bucket)
- return entries.reduce((latest, next) => {
- if (next && next.key === key) {
- return formatEntry(cache, next)
- } else {
- return latest
- }
- }, null)
- } catch (err) {
- if (err.code === 'ENOENT') {
- return null
- } else {
- throw err
- }
- }
-}
-
-module.exports.delete = del
-
-function del (cache, key, opts = {}) {
- if (!opts.removeFully) {
- return insert(cache, key, null, opts)
- }
-
- const bucket = bucketPath(cache, key)
- return rm(bucket, { recursive: true, force: true })
-}
-
-module.exports.lsStream = lsStream
-
-function lsStream (cache) {
- const indexDir = bucketDir(cache)
- const stream = new Minipass({ objectMode: true })
-
- // Set all this up to run on the stream and then just return the stream
- Promise.resolve().then(async () => {
- const { default: pMap } = await import('p-map')
- const buckets = await readdirOrEmpty(indexDir)
- await pMap(buckets, async (bucket) => {
- const bucketPath = path.join(indexDir, bucket)
- const subbuckets = await readdirOrEmpty(bucketPath)
- await pMap(subbuckets, async (subbucket) => {
- const subbucketPath = path.join(bucketPath, subbucket)
-
- // "/cachename//./*"
- const subbucketEntries = await readdirOrEmpty(subbucketPath)
- await pMap(subbucketEntries, async (entry) => {
- const entryPath = path.join(subbucketPath, entry)
- try {
- const entries = await bucketEntries(entryPath)
- // using a Map here prevents duplicate keys from showing up
- // twice, I guess?
- const reduced = entries.reduce((acc, entry) => {
- acc.set(entry.key, entry)
- return acc
- }, new Map())
- // reduced is a map of key => entry
- for (const entry of reduced.values()) {
- const formatted = formatEntry(cache, entry)
- if (formatted) {
- stream.write(formatted)
- }
- }
- } catch (err) {
- if (err.code === 'ENOENT') {
- return undefined
- }
- throw err
- }
- },
- { concurrency: lsStreamConcurrency })
- },
- { concurrency: lsStreamConcurrency })
- },
- { concurrency: lsStreamConcurrency })
- stream.end()
- return stream
- }).catch(err => stream.emit('error', err))
-
- return stream
-}
-
-module.exports.ls = ls
-
-async function ls (cache) {
- const entries = await lsStream(cache).collect()
- return entries.reduce((acc, xs) => {
- acc[xs.key] = xs
- return acc
- }, {})
-}
-
-module.exports.bucketEntries = bucketEntries
-
-async function bucketEntries (bucket, filter) {
- const data = await readFile(bucket, 'utf8')
- return _bucketEntries(data, filter)
-}
-
-function _bucketEntries (data) {
- const entries = []
- data.split('\n').forEach((entry) => {
- if (!entry) {
- return
- }
-
- const pieces = entry.split('\t')
- if (!pieces[1] || hashEntry(pieces[1]) !== pieces[0]) {
- // Hash is no good! Corruption or malice? Doesn't matter!
- // EJECT EJECT
- return
- }
- let obj
- try {
- obj = JSON.parse(pieces[1])
- } catch (_) {
- // eslint-ignore-next-line no-empty-block
- }
- // coverage disabled here, no need to test with an entry that parses to something falsey
- // istanbul ignore else
- if (obj) {
- entries.push(obj)
- }
- })
- return entries
-}
-
-module.exports.bucketDir = bucketDir
-
-function bucketDir (cache) {
- return path.join(cache, `index-v${indexV}`)
-}
-
-module.exports.bucketPath = bucketPath
-
-function bucketPath (cache, key) {
- const hashed = hashKey(key)
- return path.join.apply(
- path,
- [bucketDir(cache)].concat(hashToSegments(hashed))
- )
-}
-
-module.exports.hashKey = hashKey
-
-function hashKey (key) {
- return hash(key, 'sha256')
-}
-
-module.exports.hashEntry = hashEntry
-
-function hashEntry (str) {
- return hash(str, 'sha1')
-}
-
-function hash (str, digest) {
- return crypto
- .createHash(digest)
- .update(str)
- .digest('hex')
-}
-
-function formatEntry (cache, entry, keepAll) {
- // Treat null digests as deletions. They'll shadow any previous entries.
- if (!entry.integrity && !keepAll) {
- return null
- }
-
- return {
- key: entry.key,
- integrity: entry.integrity,
- path: entry.integrity ? contentPath(cache, entry.integrity) : undefined,
- size: entry.size,
- time: entry.time,
- metadata: entry.metadata,
- }
-}
-
-function readdirOrEmpty (dir) {
- return readdir(dir).catch((err) => {
- if (err.code === 'ENOENT' || err.code === 'ENOTDIR') {
- return []
- }
-
- throw err
- })
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/get.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/get.js
deleted file mode 100644
index 80ec206c7ecaaa..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/get.js
+++ /dev/null
@@ -1,170 +0,0 @@
-'use strict'
-
-const Collect = require('minipass-collect')
-const { Minipass } = require('minipass')
-const Pipeline = require('minipass-pipeline')
-
-const index = require('./entry-index')
-const memo = require('./memoization')
-const read = require('./content/read')
-
-async function getData (cache, key, opts = {}) {
- const { integrity, memoize, size } = opts
- const memoized = memo.get(cache, key, opts)
- if (memoized && memoize !== false) {
- return {
- metadata: memoized.entry.metadata,
- data: memoized.data,
- integrity: memoized.entry.integrity,
- size: memoized.entry.size,
- }
- }
-
- const entry = await index.find(cache, key, opts)
- if (!entry) {
- throw new index.NotFoundError(cache, key)
- }
- const data = await read(cache, entry.integrity, { integrity, size })
- if (memoize) {
- memo.put(cache, entry, data, opts)
- }
-
- return {
- data,
- metadata: entry.metadata,
- size: entry.size,
- integrity: entry.integrity,
- }
-}
-module.exports = getData
-
-async function getDataByDigest (cache, key, opts = {}) {
- const { integrity, memoize, size } = opts
- const memoized = memo.get.byDigest(cache, key, opts)
- if (memoized && memoize !== false) {
- return memoized
- }
-
- const res = await read(cache, key, { integrity, size })
- if (memoize) {
- memo.put.byDigest(cache, key, res, opts)
- }
- return res
-}
-module.exports.byDigest = getDataByDigest
-
-const getMemoizedStream = (memoized) => {
- const stream = new Minipass()
- stream.on('newListener', function (ev, cb) {
- ev === 'metadata' && cb(memoized.entry.metadata)
- ev === 'integrity' && cb(memoized.entry.integrity)
- ev === 'size' && cb(memoized.entry.size)
- })
- stream.end(memoized.data)
- return stream
-}
-
-function getStream (cache, key, opts = {}) {
- const { memoize, size } = opts
- const memoized = memo.get(cache, key, opts)
- if (memoized && memoize !== false) {
- return getMemoizedStream(memoized)
- }
-
- const stream = new Pipeline()
- // Set all this up to run on the stream and then just return the stream
- Promise.resolve().then(async () => {
- const entry = await index.find(cache, key)
- if (!entry) {
- throw new index.NotFoundError(cache, key)
- }
-
- stream.emit('metadata', entry.metadata)
- stream.emit('integrity', entry.integrity)
- stream.emit('size', entry.size)
- stream.on('newListener', function (ev, cb) {
- ev === 'metadata' && cb(entry.metadata)
- ev === 'integrity' && cb(entry.integrity)
- ev === 'size' && cb(entry.size)
- })
-
- const src = read.readStream(
- cache,
- entry.integrity,
- { ...opts, size: typeof size !== 'number' ? entry.size : size }
- )
-
- if (memoize) {
- const memoStream = new Collect.PassThrough()
- memoStream.on('collect', data => memo.put(cache, entry, data, opts))
- stream.unshift(memoStream)
- }
- stream.unshift(src)
- return stream
- }).catch((err) => stream.emit('error', err))
-
- return stream
-}
-
-module.exports.stream = getStream
-
-function getStreamDigest (cache, integrity, opts = {}) {
- const { memoize } = opts
- const memoized = memo.get.byDigest(cache, integrity, opts)
- if (memoized && memoize !== false) {
- const stream = new Minipass()
- stream.end(memoized)
- return stream
- } else {
- const stream = read.readStream(cache, integrity, opts)
- if (!memoize) {
- return stream
- }
-
- const memoStream = new Collect.PassThrough()
- memoStream.on('collect', data => memo.put.byDigest(
- cache,
- integrity,
- data,
- opts
- ))
- return new Pipeline(stream, memoStream)
- }
-}
-
-module.exports.stream.byDigest = getStreamDigest
-
-function info (cache, key, opts = {}) {
- const { memoize } = opts
- const memoized = memo.get(cache, key, opts)
- if (memoized && memoize !== false) {
- return Promise.resolve(memoized.entry)
- } else {
- return index.find(cache, key)
- }
-}
-module.exports.info = info
-
-async function copy (cache, key, dest, opts = {}) {
- const entry = await index.find(cache, key, opts)
- if (!entry) {
- throw new index.NotFoundError(cache, key)
- }
- await read.copy(cache, entry.integrity, dest, opts)
- return {
- metadata: entry.metadata,
- size: entry.size,
- integrity: entry.integrity,
- }
-}
-
-module.exports.copy = copy
-
-async function copyByDigest (cache, key, dest, opts = {}) {
- await read.copy(cache, key, dest, opts)
- return key
-}
-
-module.exports.copy.byDigest = copyByDigest
-
-module.exports.hasContent = read.hasContent
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/index.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/index.js
deleted file mode 100644
index c9b0da5f3a271b..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/index.js
+++ /dev/null
@@ -1,42 +0,0 @@
-'use strict'
-
-const get = require('./get.js')
-const put = require('./put.js')
-const rm = require('./rm.js')
-const verify = require('./verify.js')
-const { clearMemoized } = require('./memoization.js')
-const tmp = require('./util/tmp.js')
-const index = require('./entry-index.js')
-
-module.exports.index = {}
-module.exports.index.compact = index.compact
-module.exports.index.insert = index.insert
-
-module.exports.ls = index.ls
-module.exports.ls.stream = index.lsStream
-
-module.exports.get = get
-module.exports.get.byDigest = get.byDigest
-module.exports.get.stream = get.stream
-module.exports.get.stream.byDigest = get.stream.byDigest
-module.exports.get.copy = get.copy
-module.exports.get.copy.byDigest = get.copy.byDigest
-module.exports.get.info = get.info
-module.exports.get.hasContent = get.hasContent
-
-module.exports.put = put
-module.exports.put.stream = put.stream
-
-module.exports.rm = rm.entry
-module.exports.rm.all = rm.all
-module.exports.rm.entry = module.exports.rm
-module.exports.rm.content = rm.content
-
-module.exports.clearMemoized = clearMemoized
-
-module.exports.tmp = {}
-module.exports.tmp.mkdir = tmp.mkdir
-module.exports.tmp.withTmp = tmp.withTmp
-
-module.exports.verify = verify
-module.exports.verify.lastRun = verify.lastRun
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/memoization.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/memoization.js
deleted file mode 100644
index 2ecc60912e4563..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/memoization.js
+++ /dev/null
@@ -1,72 +0,0 @@
-'use strict'
-
-const { LRUCache } = require('lru-cache')
-
-const MEMOIZED = new LRUCache({
- max: 500,
- maxSize: 50 * 1024 * 1024, // 50MB
- ttl: 3 * 60 * 1000, // 3 minutes
- sizeCalculation: (entry, key) => key.startsWith('key:') ? entry.data.length : entry.length,
-})
-
-module.exports.clearMemoized = clearMemoized
-
-function clearMemoized () {
- const old = {}
- MEMOIZED.forEach((v, k) => {
- old[k] = v
- })
- MEMOIZED.clear()
- return old
-}
-
-module.exports.put = put
-
-function put (cache, entry, data, opts) {
- pickMem(opts).set(`key:${cache}:${entry.key}`, { entry, data })
- putDigest(cache, entry.integrity, data, opts)
-}
-
-module.exports.put.byDigest = putDigest
-
-function putDigest (cache, integrity, data, opts) {
- pickMem(opts).set(`digest:${cache}:${integrity}`, data)
-}
-
-module.exports.get = get
-
-function get (cache, key, opts) {
- return pickMem(opts).get(`key:${cache}:${key}`)
-}
-
-module.exports.get.byDigest = getDigest
-
-function getDigest (cache, integrity, opts) {
- return pickMem(opts).get(`digest:${cache}:${integrity}`)
-}
-
-class ObjProxy {
- constructor (obj) {
- this.obj = obj
- }
-
- get (key) {
- return this.obj[key]
- }
-
- set (key, val) {
- this.obj[key] = val
- }
-}
-
-function pickMem (opts) {
- if (!opts || !opts.memoize) {
- return MEMOIZED
- } else if (opts.memoize.get && opts.memoize.set) {
- return opts.memoize
- } else if (typeof opts.memoize === 'object') {
- return new ObjProxy(opts.memoize)
- } else {
- return MEMOIZED
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/put.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/put.js
deleted file mode 100644
index 9fc932d5f6dec5..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/put.js
+++ /dev/null
@@ -1,80 +0,0 @@
-'use strict'
-
-const index = require('./entry-index')
-const memo = require('./memoization')
-const write = require('./content/write')
-const Flush = require('minipass-flush')
-const { PassThrough } = require('minipass-collect')
-const Pipeline = require('minipass-pipeline')
-
-const putOpts = (opts) => ({
- algorithms: ['sha512'],
- ...opts,
-})
-
-module.exports = putData
-
-async function putData (cache, key, data, opts = {}) {
- const { memoize } = opts
- opts = putOpts(opts)
- const res = await write(cache, data, opts)
- const entry = await index.insert(cache, key, res.integrity, { ...opts, size: res.size })
- if (memoize) {
- memo.put(cache, entry, data, opts)
- }
-
- return res.integrity
-}
-
-module.exports.stream = putStream
-
-function putStream (cache, key, opts = {}) {
- const { memoize } = opts
- opts = putOpts(opts)
- let integrity
- let size
- let error
-
- let memoData
- const pipeline = new Pipeline()
- // first item in the pipeline is the memoizer, because we need
- // that to end first and get the collected data.
- if (memoize) {
- const memoizer = new PassThrough().on('collect', data => {
- memoData = data
- })
- pipeline.push(memoizer)
- }
-
- // contentStream is a write-only, not a passthrough
- // no data comes out of it.
- const contentStream = write.stream(cache, opts)
- .on('integrity', (int) => {
- integrity = int
- })
- .on('size', (s) => {
- size = s
- })
- .on('error', (err) => {
- error = err
- })
-
- pipeline.push(contentStream)
-
- // last but not least, we write the index and emit hash and size,
- // and memoize if we're doing that
- pipeline.push(new Flush({
- async flush () {
- if (!error) {
- const entry = await index.insert(cache, key, integrity, { ...opts, size })
- if (memoize && memoData) {
- memo.put(cache, entry, memoData, opts)
- }
- pipeline.emit('integrity', integrity)
- pipeline.emit('size', size)
- }
- },
- }))
-
- return pipeline
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/rm.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/rm.js
deleted file mode 100644
index a94760c7cf2430..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/rm.js
+++ /dev/null
@@ -1,31 +0,0 @@
-'use strict'
-
-const { rm } = require('fs/promises')
-const glob = require('./util/glob.js')
-const index = require('./entry-index')
-const memo = require('./memoization')
-const path = require('path')
-const rmContent = require('./content/rm')
-
-module.exports = entry
-module.exports.entry = entry
-
-function entry (cache, key, opts) {
- memo.clearMemoized()
- return index.delete(cache, key, opts)
-}
-
-module.exports.content = content
-
-function content (cache, integrity) {
- memo.clearMemoized()
- return rmContent(cache, integrity)
-}
-
-module.exports.all = all
-
-async function all (cache) {
- memo.clearMemoized()
- const paths = await glob(path.join(cache, '*(content-*|index-*)'), { silent: true, nosort: true })
- return Promise.all(paths.map((p) => rm(p, { recursive: true, force: true })))
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/util/glob.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/util/glob.js
deleted file mode 100644
index 8500c1c16a429f..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/util/glob.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-const { glob } = require('glob')
-const path = require('path')
-
-const globify = (pattern) => pattern.split(path.win32.sep).join(path.posix.sep)
-module.exports = (path, options) => glob(globify(path), options)
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/util/hash-to-segments.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/util/hash-to-segments.js
deleted file mode 100644
index 445599b5038088..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/util/hash-to-segments.js
+++ /dev/null
@@ -1,7 +0,0 @@
-'use strict'
-
-module.exports = hashToSegments
-
-function hashToSegments (hash) {
- return [hash.slice(0, 2), hash.slice(2, 4), hash.slice(4)]
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/util/tmp.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/util/tmp.js
deleted file mode 100644
index 0bf5302136ebeb..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/util/tmp.js
+++ /dev/null
@@ -1,26 +0,0 @@
-'use strict'
-
-const { withTempDir } = require('@npmcli/fs')
-const fs = require('fs/promises')
-const path = require('path')
-
-module.exports.mkdir = mktmpdir
-
-async function mktmpdir (cache, opts = {}) {
- const { tmpPrefix } = opts
- const tmpDir = path.join(cache, 'tmp')
- await fs.mkdir(tmpDir, { recursive: true, owner: 'inherit' })
- // do not use path.join(), it drops the trailing / if tmpPrefix is unset
- const target = `${tmpDir}${path.sep}${tmpPrefix || ''}`
- return fs.mkdtemp(target, { owner: 'inherit' })
-}
-
-module.exports.withTmp = withTmp
-
-function withTmp (cache, opts, cb) {
- if (!cb) {
- cb = opts
- opts = {}
- }
- return withTempDir(path.join(cache, 'tmp'), cb, opts)
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/verify.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/verify.js
deleted file mode 100644
index dcff3aa73f3173..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/lib/verify.js
+++ /dev/null
@@ -1,258 +0,0 @@
-'use strict'
-
-const {
- mkdir,
- readFile,
- rm,
- stat,
- truncate,
- writeFile,
-} = require('fs/promises')
-const contentPath = require('./content/path')
-const fsm = require('fs-minipass')
-const glob = require('./util/glob.js')
-const index = require('./entry-index')
-const path = require('path')
-const ssri = require('ssri')
-
-const hasOwnProperty = (obj, key) =>
- Object.prototype.hasOwnProperty.call(obj, key)
-
-const verifyOpts = (opts) => ({
- concurrency: 20,
- log: { silly () {} },
- ...opts,
-})
-
-module.exports = verify
-
-async function verify (cache, opts) {
- opts = verifyOpts(opts)
- opts.log.silly('verify', 'verifying cache at', cache)
-
- const steps = [
- markStartTime,
- fixPerms,
- garbageCollect,
- rebuildIndex,
- cleanTmp,
- writeVerifile,
- markEndTime,
- ]
-
- const stats = {}
- for (const step of steps) {
- const label = step.name
- const start = new Date()
- const s = await step(cache, opts)
- if (s) {
- Object.keys(s).forEach((k) => {
- stats[k] = s[k]
- })
- }
- const end = new Date()
- if (!stats.runTime) {
- stats.runTime = {}
- }
- stats.runTime[label] = end - start
- }
- stats.runTime.total = stats.endTime - stats.startTime
- opts.log.silly(
- 'verify',
- 'verification finished for',
- cache,
- 'in',
- `${stats.runTime.total}ms`
- )
- return stats
-}
-
-async function markStartTime () {
- return { startTime: new Date() }
-}
-
-async function markEndTime () {
- return { endTime: new Date() }
-}
-
-async function fixPerms (cache, opts) {
- opts.log.silly('verify', 'fixing cache permissions')
- await mkdir(cache, { recursive: true })
- return null
-}
-
-// Implements a naive mark-and-sweep tracing garbage collector.
-//
-// The algorithm is basically as follows:
-// 1. Read (and filter) all index entries ("pointers")
-// 2. Mark each integrity value as "live"
-// 3. Read entire filesystem tree in `content-vX/` dir
-// 4. If content is live, verify its checksum and delete it if it fails
-// 5. If content is not marked as live, rm it.
-//
-async function garbageCollect (cache, opts) {
- opts.log.silly('verify', 'garbage collecting content')
- const { default: pMap } = await import('p-map')
- const indexStream = index.lsStream(cache)
- const liveContent = new Set()
- indexStream.on('data', (entry) => {
- if (opts.filter && !opts.filter(entry)) {
- return
- }
-
- // integrity is stringified, re-parse it so we can get each hash
- const integrity = ssri.parse(entry.integrity)
- for (const algo in integrity) {
- liveContent.add(integrity[algo].toString())
- }
- })
- await new Promise((resolve, reject) => {
- indexStream.on('end', resolve).on('error', reject)
- })
- const contentDir = contentPath.contentDir(cache)
- const files = await glob(path.join(contentDir, '**'), {
- follow: false,
- nodir: true,
- nosort: true,
- })
- const stats = {
- verifiedContent: 0,
- reclaimedCount: 0,
- reclaimedSize: 0,
- badContentCount: 0,
- keptSize: 0,
- }
- await pMap(
- files,
- async (f) => {
- const split = f.split(/[/\\]/)
- const digest = split.slice(split.length - 3).join('')
- const algo = split[split.length - 4]
- const integrity = ssri.fromHex(digest, algo)
- if (liveContent.has(integrity.toString())) {
- const info = await verifyContent(f, integrity)
- if (!info.valid) {
- stats.reclaimedCount++
- stats.badContentCount++
- stats.reclaimedSize += info.size
- } else {
- stats.verifiedContent++
- stats.keptSize += info.size
- }
- } else {
- // No entries refer to this content. We can delete.
- stats.reclaimedCount++
- const s = await stat(f)
- await rm(f, { recursive: true, force: true })
- stats.reclaimedSize += s.size
- }
- return stats
- },
- { concurrency: opts.concurrency }
- )
- return stats
-}
-
-async function verifyContent (filepath, sri) {
- const contentInfo = {}
- try {
- const { size } = await stat(filepath)
- contentInfo.size = size
- contentInfo.valid = true
- await ssri.checkStream(new fsm.ReadStream(filepath), sri)
- } catch (err) {
- if (err.code === 'ENOENT') {
- return { size: 0, valid: false }
- }
- if (err.code !== 'EINTEGRITY') {
- throw err
- }
-
- await rm(filepath, { recursive: true, force: true })
- contentInfo.valid = false
- }
- return contentInfo
-}
-
-async function rebuildIndex (cache, opts) {
- opts.log.silly('verify', 'rebuilding index')
- const { default: pMap } = await import('p-map')
- const entries = await index.ls(cache)
- const stats = {
- missingContent: 0,
- rejectedEntries: 0,
- totalEntries: 0,
- }
- const buckets = {}
- for (const k in entries) {
- /* istanbul ignore else */
- if (hasOwnProperty(entries, k)) {
- const hashed = index.hashKey(k)
- const entry = entries[k]
- const excluded = opts.filter && !opts.filter(entry)
- excluded && stats.rejectedEntries++
- if (buckets[hashed] && !excluded) {
- buckets[hashed].push(entry)
- } else if (buckets[hashed] && excluded) {
- // skip
- } else if (excluded) {
- buckets[hashed] = []
- buckets[hashed]._path = index.bucketPath(cache, k)
- } else {
- buckets[hashed] = [entry]
- buckets[hashed]._path = index.bucketPath(cache, k)
- }
- }
- }
- await pMap(
- Object.keys(buckets),
- (key) => {
- return rebuildBucket(cache, buckets[key], stats, opts)
- },
- { concurrency: opts.concurrency }
- )
- return stats
-}
-
-async function rebuildBucket (cache, bucket, stats) {
- await truncate(bucket._path)
- // This needs to be serialized because cacache explicitly
- // lets very racy bucket conflicts clobber each other.
- for (const entry of bucket) {
- const content = contentPath(cache, entry.integrity)
- try {
- await stat(content)
- await index.insert(cache, entry.key, entry.integrity, {
- metadata: entry.metadata,
- size: entry.size,
- time: entry.time,
- })
- stats.totalEntries++
- } catch (err) {
- if (err.code === 'ENOENT') {
- stats.rejectedEntries++
- stats.missingContent++
- } else {
- throw err
- }
- }
- }
-}
-
-function cleanTmp (cache, opts) {
- opts.log.silly('verify', 'cleaning tmp directory')
- return rm(path.join(cache, 'tmp'), { recursive: true, force: true })
-}
-
-async function writeVerifile (cache, opts) {
- const verifile = path.join(cache, '_lastverified')
- opts.log.silly('verify', 'writing verifile to ' + verifile)
- return writeFile(verifile, `${Date.now()}`)
-}
-
-module.exports.lastRun = lastRun
-
-async function lastRun (cache) {
- const data = await readFile(path.join(cache, '_lastverified'), { encoding: 'utf8' })
- return new Date(+data)
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/package.json b/deps/npm/node_modules/node-gyp/node_modules/cacache/package.json
deleted file mode 100644
index ebb0f3f8ed4108..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/package.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
- "name": "cacache",
- "version": "19.0.1",
- "cache-version": {
- "content": "2",
- "index": "5"
- },
- "description": "Fast, fault-tolerant, cross-platform, disk-based, data-agnostic, content-addressable cache.",
- "main": "lib/index.js",
- "files": [
- "bin/",
- "lib/"
- ],
- "scripts": {
- "test": "tap",
- "snap": "tap",
- "coverage": "tap",
- "test-docker": "docker run -it --rm --name pacotest -v \"$PWD\":/tmp -w /tmp node:latest npm test",
- "lint": "npm run eslint",
- "npmclilint": "npmcli-lint",
- "lintfix": "npm run eslint -- --fix",
- "postsnap": "npm run lintfix --",
- "postlint": "template-oss-check",
- "posttest": "npm run lint",
- "template-oss-apply": "template-oss-apply --force",
- "eslint": "eslint \"**/*.{js,cjs,ts,mjs,jsx,tsx}\""
- },
- "repository": {
- "type": "git",
- "url": "git+https://github.com/npm/cacache.git"
- },
- "keywords": [
- "cache",
- "caching",
- "content-addressable",
- "sri",
- "sri hash",
- "subresource integrity",
- "cache",
- "storage",
- "store",
- "file store",
- "filesystem",
- "disk cache",
- "disk storage"
- ],
- "license": "ISC",
- "dependencies": {
- "@npmcli/fs": "^4.0.0",
- "fs-minipass": "^3.0.0",
- "glob": "^10.2.2",
- "lru-cache": "^10.0.1",
- "minipass": "^7.0.3",
- "minipass-collect": "^2.0.1",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "p-map": "^7.0.2",
- "ssri": "^12.0.0",
- "tar": "^7.4.3",
- "unique-filename": "^4.0.0"
- },
- "devDependencies": {
- "@npmcli/eslint-config": "^5.0.0",
- "@npmcli/template-oss": "4.23.3",
- "tap": "^16.0.0"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- },
- "templateOSS": {
- "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "windowsCI": false,
- "version": "4.23.3",
- "publish": "true"
- },
- "author": "GitHub Inc.",
- "tap": {
- "nyc-arg": [
- "--exclude",
- "tap-snapshots/**"
- ]
- }
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/README.md b/deps/npm/node_modules/node-gyp/node_modules/glob/README.md
deleted file mode 100644
index 023cd7796820e0..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/README.md
+++ /dev/null
@@ -1,1265 +0,0 @@
-# Glob
-
-Match files using the patterns the shell uses.
-
-The most correct and second fastest glob implementation in
-JavaScript. (See **Comparison to Other JavaScript Glob
-Implementations** at the bottom of this readme.)
-
-
-
-## Usage
-
-Install with npm
-
-```
-npm i glob
-```
-
-**Note** the npm package name is _not_ `node-glob` that's a
-different thing that was abandoned years ago. Just `glob`.
-
-```js
-// load using import
-import { glob, globSync, globStream, globStreamSync, Glob } from 'glob'
-// or using commonjs, that's fine, too
-const {
- glob,
- globSync,
- globStream,
- globStreamSync,
- Glob,
-} = require('glob')
-
-// the main glob() and globSync() resolve/return array of filenames
-
-// all js files, but don't look in node_modules
-const jsfiles = await glob('**/*.js', { ignore: 'node_modules/**' })
-
-// pass in a signal to cancel the glob walk
-const stopAfter100ms = await glob('**/*.css', {
- signal: AbortSignal.timeout(100),
-})
-
-// multiple patterns supported as well
-const images = await glob(['css/*.{png,jpeg}', 'public/*.{png,jpeg}'])
-
-// but of course you can do that with the glob pattern also
-// the sync function is the same, just returns a string[] instead
-// of Promise
-const imagesAlt = globSync('{css,public}/*.{png,jpeg}')
-
-// you can also stream them, this is a Minipass stream
-const filesStream = globStream(['**/*.dat', 'logs/**/*.log'])
-
-// construct a Glob object if you wanna do it that way, which
-// allows for much faster walks if you have to look in the same
-// folder multiple times.
-const g = new Glob('**/foo', {})
-// glob objects are async iterators, can also do globIterate() or
-// g.iterate(), same deal
-for await (const file of g) {
- console.log('found a foo file:', file)
-}
-// pass a glob as the glob options to reuse its settings and caches
-const g2 = new Glob('**/bar', g)
-// sync iteration works as well
-for (const file of g2) {
- console.log('found a bar file:', file)
-}
-
-// you can also pass withFileTypes: true to get Path objects
-// these are like a Dirent, but with some more added powers
-// check out http://npm.im/path-scurry for more info on their API
-const g3 = new Glob('**/baz/**', { withFileTypes: true })
-g3.stream().on('data', path => {
- console.log(
- 'got a path object',
- path.fullpath(),
- path.isDirectory(),
- path.readdirSync().map(e => e.name),
- )
-})
-
-// if you use stat:true and withFileTypes, you can sort results
-// by things like modified time, filter by permission mode, etc.
-// All Stats fields will be available in that case. Slightly
-// slower, though.
-// For example:
-const results = await glob('**', { stat: true, withFileTypes: true })
-
-const timeSortedFiles = results
- .sort((a, b) => a.mtimeMs - b.mtimeMs)
- .map(path => path.fullpath())
-
-const groupReadableFiles = results
- .filter(path => path.mode & 0o040)
- .map(path => path.fullpath())
-
-// custom ignores can be done like this, for example by saying
-// you'll ignore all markdown files, and all folders named 'docs'
-const customIgnoreResults = await glob('**', {
- ignore: {
- ignored: p => /\.md$/.test(p.name),
- childrenIgnored: p => p.isNamed('docs'),
- },
-})
-
-// another fun use case, only return files with the same name as
-// their parent folder, plus either `.ts` or `.js`
-const folderNamedModules = await glob('**/*.{ts,js}', {
- ignore: {
- ignored: p => {
- const pp = p.parent
- return !(p.isNamed(pp.name + '.ts') || p.isNamed(pp.name + '.js'))
- },
- },
-})
-
-// find all files edited in the last hour, to do this, we ignore
-// all of them that are more than an hour old
-const newFiles = await glob('**', {
- // need stat so we have mtime
- stat: true,
- // only want the files, not the dirs
- nodir: true,
- ignore: {
- ignored: p => {
- return new Date() - p.mtime > 60 * 60 * 1000
- },
- // could add similar childrenIgnored here as well, but
- // directory mtime is inconsistent across platforms, so
- // probably better not to, unless you know the system
- // tracks this reliably.
- },
-})
-```
-
-**Note** Glob patterns should always use `/` as a path separator,
-even on Windows systems, as `\` is used to escape glob
-characters. If you wish to use `\` as a path separator _instead
-of_ using it as an escape character on Windows platforms, you may
-set `windowsPathsNoEscape:true` in the options. In this mode,
-special glob characters cannot be escaped, making it impossible
-to match a literal `*` `?` and so on in filenames.
-
-## Command Line Interface
-
-```
-$ glob -h
-
-Usage:
- glob [options] [ [ ...]]
-
-Expand the positional glob expression arguments into any matching file system
-paths found.
-
- -c --cmd=
- Run the command provided, passing the glob expression
- matches as arguments.
-
- -A --all By default, the glob cli command will not expand any
- arguments that are an exact match to a file on disk.
-
- This prevents double-expanding, in case the shell
- expands an argument whose filename is a glob
- expression.
-
- For example, if 'app/*.ts' would match 'app/[id].ts',
- then on Windows powershell or cmd.exe, 'glob app/*.ts'
- will expand to 'app/[id].ts', as expected. However, in
- posix shells such as bash or zsh, the shell will first
- expand 'app/*.ts' to a list of filenames. Then glob
- will look for a file matching 'app/[id].ts' (ie,
- 'app/i.ts' or 'app/d.ts'), which is unexpected.
-
- Setting '--all' prevents this behavior, causing glob to
- treat ALL patterns as glob expressions to be expanded,
- even if they are an exact match to a file on disk.
-
- When setting this option, be sure to enquote arguments
- so that the shell will not expand them prior to passing
- them to the glob command process.
-
- -a --absolute Expand to absolute paths
- -d --dot-relative Prepend './' on relative matches
- -m --mark Append a / on any directories matched
- -x --posix Always resolve to posix style paths, using '/' as the
- directory separator, even on Windows. Drive letter
- absolute matches on Windows will be expanded to their
- full resolved UNC maths, eg instead of 'C:\foo\bar', it
- will expand to '//?/C:/foo/bar'.
-
- -f --follow Follow symlinked directories when expanding '**'
- -R --realpath Call 'fs.realpath' on all of the results. In the case
- of an entry that cannot be resolved, the entry is
- omitted. This incurs a slight performance penalty, of
- course, because of the added system calls.
-
- -s --stat Call 'fs.lstat' on all entries, whether required or not
- to determine if it's a valid match.
-
- -b --match-base Perform a basename-only match if the pattern does not
- contain any slash characters. That is, '*.js' would be
- treated as equivalent to '**/*.js', matching js files
- in all directories.
-
- --dot Allow patterns to match files/directories that start
- with '.', even if the pattern does not start with '.'
-
- --nobrace Do not expand {...} patterns
- --nocase Perform a case-insensitive match. This defaults to
- 'true' on macOS and Windows platforms, and false on all
- others.
-
- Note: 'nocase' should only be explicitly set when it is
- known that the filesystem's case sensitivity differs
- from the platform default. If set 'true' on
- case-insensitive file systems, then the walk may return
- more or less results than expected.
-
- --nodir Do not match directories, only files.
-
- Note: to *only* match directories, append a '/' at the
- end of the pattern.
-
- --noext Do not expand extglob patterns, such as '+(a|b)'
- --noglobstar Do not expand '**' against multiple path portions. Ie,
- treat it as a normal '*' instead.
-
- --windows-path-no-escape
- Use '\' as a path separator *only*, and *never* as an
- escape character. If set, all '\' characters are
- replaced with '/' in the pattern.
-
- -D --max-depth= Maximum depth to traverse from the current working
- directory
-
- -C --cwd= Current working directory to execute/match in
- -r --root= A string path resolved against the 'cwd', which is used
- as the starting point for absolute patterns that start
- with '/' (but not drive letters or UNC paths on
- Windows).
-
- Note that this *doesn't* necessarily limit the walk to
- the 'root' directory, and doesn't affect the cwd
- starting point for non-absolute patterns. A pattern
- containing '..' will still be able to traverse out of
- the root directory, if it is not an actual root
- directory on the filesystem, and any non-absolute
- patterns will still be matched in the 'cwd'.
-
- To start absolute and non-absolute patterns in the same
- path, you can use '--root=' to set it to the empty
- string. However, be aware that on Windows systems, a
- pattern like 'x:/*' or '//host/share/*' will *always*
- start in the 'x:/' or '//host/share/' directory,
- regardless of the --root setting.
-
- --platform= Defaults to the value of 'process.platform' if
- available, or 'linux' if not. Setting --platform=win32
- on non-Windows systems may cause strange behavior!
-
- -i --ignore=
- Glob patterns to ignore Can be set multiple times
- -v --debug Output a huge amount of noisy debug information about
- patterns as they are parsed and used to match files.
-
- -h --help Show this usage information
-```
-
-## `glob(pattern: string | string[], options?: GlobOptions) => Promise`
-
-Perform an asynchronous glob search for the pattern(s) specified.
-Returns
-[Path](https://isaacs.github.io/path-scurry/classes/PathBase)
-objects if the `withFileTypes` option is set to `true`. See below
-for full options field desciptions.
-
-## `globSync(pattern: string | string[], options?: GlobOptions) => string[] | Path[]`
-
-Synchronous form of `glob()`.
-
-Alias: `glob.sync()`
-
-## `globIterate(pattern: string | string[], options?: GlobOptions) => AsyncGenerator`
-
-Return an async iterator for walking glob pattern matches.
-
-Alias: `glob.iterate()`
-
-## `globIterateSync(pattern: string | string[], options?: GlobOptions) => Generator`
-
-Return a sync iterator for walking glob pattern matches.
-
-Alias: `glob.iterate.sync()`, `glob.sync.iterate()`
-
-## `globStream(pattern: string | string[], options?: GlobOptions) => Minipass`
-
-Return a stream that emits all the strings or `Path` objects and
-then emits `end` when completed.
-
-Alias: `glob.stream()`
-
-## `globStreamSync(pattern: string | string[], options?: GlobOptions) => Minipass`
-
-Syncronous form of `globStream()`. Will read all the matches as
-fast as you consume them, even all in a single tick if you
-consume them immediately, but will still respond to backpressure
-if they're not consumed immediately.
-
-Alias: `glob.stream.sync()`, `glob.sync.stream()`
-
-## `hasMagic(pattern: string | string[], options?: GlobOptions) => boolean`
-
-Returns `true` if the provided pattern contains any "magic" glob
-characters, given the options provided.
-
-Brace expansion is not considered "magic" unless the
-`magicalBraces` option is set, as brace expansion just turns one
-string into an array of strings. So a pattern like `'x{a,b}y'`
-would return `false`, because `'xay'` and `'xby'` both do not
-contain any magic glob characters, and it's treated the same as
-if you had called it on `['xay', 'xby']`. When
-`magicalBraces:true` is in the options, brace expansion _is_
-treated as a pattern having magic.
-
-## `escape(pattern: string, options?: GlobOptions) => string`
-
-Escape all magic characters in a glob pattern, so that it will
-only ever match literal strings
-
-If the `windowsPathsNoEscape` option is used, then characters are
-escaped by wrapping in `[]`, because a magic character wrapped in
-a character class can only be satisfied by that exact character.
-
-Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot
-be escaped or unescaped.
-
-## `unescape(pattern: string, options?: GlobOptions) => string`
-
-Un-escape a glob string that may contain some escaped characters.
-
-If the `windowsPathsNoEscape` option is used, then square-brace
-escapes are removed, but not backslash escapes. For example, it
-will turn the string `'[*]'` into `*`, but it will not turn
-`'\\*'` into `'*'`, because `\` is a path separator in
-`windowsPathsNoEscape` mode.
-
-When `windowsPathsNoEscape` is not set, then both brace escapes
-and backslash escapes are removed.
-
-Slashes (and backslashes in `windowsPathsNoEscape` mode) cannot
-be escaped or unescaped.
-
-## Class `Glob`
-
-An object that can perform glob pattern traversals.
-
-### `const g = new Glob(pattern: string | string[], options: GlobOptions)`
-
-Options object is required.
-
-See full options descriptions below.
-
-Note that a previous `Glob` object can be passed as the
-`GlobOptions` to another `Glob` instantiation to re-use settings
-and caches with a new pattern.
-
-Traversal functions can be called multiple times to run the walk
-again.
-
-### `g.stream()`
-
-Stream results asynchronously,
-
-### `g.streamSync()`
-
-Stream results synchronously.
-
-### `g.iterate()`
-
-Default async iteration function. Returns an AsyncGenerator that
-iterates over the results.
-
-### `g.iterateSync()`
-
-Default sync iteration function. Returns a Generator that
-iterates over the results.
-
-### `g.walk()`
-
-Returns a Promise that resolves to the results array.
-
-### `g.walkSync()`
-
-Returns a results array.
-
-### Properties
-
-All options are stored as properties on the `Glob` object.
-
-- `opts` The options provided to the constructor.
-- `patterns` An array of parsed immutable `Pattern` objects.
-
-## Options
-
-Exported as `GlobOptions` TypeScript interface. A `GlobOptions`
-object may be provided to any of the exported methods, and must
-be provided to the `Glob` constructor.
-
-All options are optional, boolean, and false by default, unless
-otherwise noted.
-
-All resolved options are added to the Glob object as properties.
-
-If you are running many `glob` operations, you can pass a Glob
-object as the `options` argument to a subsequent operation to
-share the previously loaded cache.
-
-- `cwd` String path or `file://` string or URL object. The
- current working directory in which to search. Defaults to
- `process.cwd()`. See also: "Windows, CWDs, Drive Letters, and
- UNC Paths", below.
-
- This option may be either a string path or a `file://` URL
- object or string.
-
-- `root` A string path resolved against the `cwd` option, which
- is used as the starting point for absolute patterns that start
- with `/`, (but not drive letters or UNC paths on Windows).
-
- Note that this _doesn't_ necessarily limit the walk to the
- `root` directory, and doesn't affect the cwd starting point for
- non-absolute patterns. A pattern containing `..` will still be
- able to traverse out of the root directory, if it is not an
- actual root directory on the filesystem, and any non-absolute
- patterns will be matched in the `cwd`. For example, the
- pattern `/../*` with `{root:'/some/path'}` will return all
- files in `/some`, not all files in `/some/path`. The pattern
- `*` with `{root:'/some/path'}` will return all the entries in
- the cwd, not the entries in `/some/path`.
-
- To start absolute and non-absolute patterns in the same
- path, you can use `{root:''}`. However, be aware that on
- Windows systems, a pattern like `x:/*` or `//host/share/*` will
- _always_ start in the `x:/` or `//host/share` directory,
- regardless of the `root` setting.
-
-- `windowsPathsNoEscape` Use `\\` as a path separator _only_, and
- _never_ as an escape character. If set, all `\\` characters are
- replaced with `/` in the pattern.
-
- Note that this makes it **impossible** to match against paths
- containing literal glob pattern characters, but allows matching
- with patterns constructed using `path.join()` and
- `path.resolve()` on Windows platforms, mimicking the (buggy!)
- behavior of Glob v7 and before on Windows. Please use with
- caution, and be mindful of [the caveat below about Windows
- paths](#windows). (For legacy reasons, this is also set if
- `allowWindowsEscape` is set to the exact value `false`.)
-
-- `dot` Include `.dot` files in normal matches and `globstar`
- matches. Note that an explicit dot in a portion of the pattern
- will always match dot files.
-
-- `magicalBraces` Treat brace expansion like `{a,b}` as a "magic"
- pattern. Has no effect if {@link nobrace} is set.
-
- Only has effect on the {@link hasMagic} function, no effect on
- glob pattern matching itself.
-
-- `dotRelative` Prepend all relative path strings with `./` (or
- `.\` on Windows).
-
- Without this option, returned relative paths are "bare", so
- instead of returning `'./foo/bar'`, they are returned as
- `'foo/bar'`.
-
- Relative patterns starting with `'../'` are not prepended with
- `./`, even if this option is set.
-
-- `mark` Add a `/` character to directory matches. Note that this
- requires additional stat calls.
-
-- `nobrace` Do not expand `{a,b}` and `{1..3}` brace sets.
-
-- `noglobstar` Do not match `**` against multiple filenames. (Ie,
- treat it as a normal `*` instead.)
-
-- `noext` Do not match "extglob" patterns such as `+(a|b)`.
-
-- `nocase` Perform a case-insensitive match. This defaults to
- `true` on macOS and Windows systems, and `false` on all others.
-
- **Note** `nocase` should only be explicitly set when it is
- known that the filesystem's case sensitivity differs from the
- platform default. If set `true` on case-sensitive file
- systems, or `false` on case-insensitive file systems, then the
- walk may return more or less results than expected.
-
-- `maxDepth` Specify a number to limit the depth of the directory
- traversal to this many levels below the `cwd`.
-
-- `matchBase` Perform a basename-only match if the pattern does
- not contain any slash characters. That is, `*.js` would be
- treated as equivalent to `**/*.js`, matching all js files in
- all directories.
-
-- `nodir` Do not match directories, only files. (Note: to match
- _only_ directories, put a `/` at the end of the pattern.)
-
- Note: when `follow` and `nodir` are both set, then symbolic
- links to directories are also omitted.
-
-- `stat` Call `lstat()` on all entries, whether required or not
- to determine whether it's a valid match. When used with
- `withFileTypes`, this means that matches will include data such
- as modified time, permissions, and so on. Note that this will
- incur a performance cost due to the added system calls.
-
-- `ignore` string or string[], or an object with `ignore` and
- `ignoreChildren` methods.
-
- If a string or string[] is provided, then this is treated as a
- glob pattern or array of glob patterns to exclude from matches.
- To ignore all children within a directory, as well as the entry
- itself, append `'/**'` to the ignore pattern.
-
- **Note** `ignore` patterns are _always_ in `dot:true` mode,
- regardless of any other settings.
-
- If an object is provided that has `ignored(path)` and/or
- `childrenIgnored(path)` methods, then these methods will be
- called to determine whether any Path is a match or if its
- children should be traversed, respectively.
-
-- `follow` Follow symlinked directories when expanding `**`
- patterns. This can result in a lot of duplicate references in
- the presence of cyclic links, and make performance quite bad.
-
- By default, a `**` in a pattern will follow 1 symbolic link if
- it is not the first item in the pattern, or none if it is the
- first item in the pattern, following the same behavior as Bash.
-
- Note: when `follow` and `nodir` are both set, then symbolic
- links to directories are also omitted.
-
-- `realpath` Set to true to call `fs.realpath` on all of the
- results. In the case of an entry that cannot be resolved, the
- entry is omitted. This incurs a slight performance penalty, of
- course, because of the added system calls.
-
-- `absolute` Set to true to always receive absolute paths for
- matched files. Set to `false` to always receive relative paths
- for matched files.
-
- By default, when this option is not set, absolute paths are
- returned for patterns that are absolute, and otherwise paths
- are returned that are relative to the `cwd` setting.
-
- This does _not_ make an extra system call to get the realpath,
- it only does string path resolution.
-
- `absolute` may not be used along with `withFileTypes`.
-
-- `posix` Set to true to use `/` as the path separator in
- returned results. On posix systems, this has no effect. On
- Windows systems, this will return `/` delimited path results,
- and absolute paths will be returned in their full resolved UNC
- path form, eg insted of `'C:\\foo\\bar'`, it will return
- `//?/C:/foo/bar`.
-
-- `platform` Defaults to value of `process.platform` if
- available, or `'linux'` if not. Setting `platform:'win32'` on
- non-Windows systems may cause strange behavior.
-
-- `withFileTypes` Return [PathScurry](http://npm.im/path-scurry)
- `Path` objects instead of strings. These are similar to a
- NodeJS `Dirent` object, but with additional methods and
- properties.
-
- `withFileTypes` may not be used along with `absolute`.
-
-- `signal` An AbortSignal which will cancel the Glob walk when
- triggered.
-
-- `fs` An override object to pass in custom filesystem methods.
- See [PathScurry docs](http://npm.im/path-scurry) for what can
- be overridden.
-
-- `scurry` A [PathScurry](http://npm.im/path-scurry) object used
- to traverse the file system. If the `nocase` option is set
- explicitly, then any provided `scurry` object must match this
- setting.
-
-- `includeChildMatches` boolean, default `true`. Do not match any
- children of any matches. For example, the pattern `**\/foo`
- would match `a/foo`, but not `a/foo/b/foo` in this mode.
-
- This is especially useful for cases like "find all
- `node_modules` folders, but not the ones in `node_modules`".
-
- In order to support this, the `Ignore` implementation must
- support an `add(pattern: string)` method. If using the default
- `Ignore` class, then this is fine, but if this is set to
- `false`, and a custom `Ignore` is provided that does not have
- an `add()` method, then it will throw an error.
-
- **Caveat** It _only_ ignores matches that would be a descendant
- of a previous match, and only if that descendant is matched
- _after_ the ancestor is encountered. Since the file system walk
- happens in indeterminate order, it's possible that a match will
- already be added before its ancestor, if multiple or braced
- patterns are used.
-
- For example:
-
- ```js
- const results = await glob(
- [
- // likely to match first, since it's just a stat
- 'a/b/c/d/e/f',
-
- // this pattern is more complicated! It must to various readdir()
- // calls and test the results against a regular expression, and that
- // is certainly going to take a little bit longer.
- //
- // So, later on, it encounters a match at 'a/b/c/d/e', but it's too
- // late to ignore a/b/c/d/e/f, because it's already been emitted.
- 'a/[bdf]/?/[a-z]/*',
- ],
- { includeChildMatches: false },
- )
- ```
-
- It's best to only set this to `false` if you can be reasonably
- sure that no components of the pattern will potentially match
- one another's file system descendants, or if the occasional
- included child entry will not cause problems.
-
-## Glob Primer
-
-Much more information about glob pattern expansion can be found
-by running `man bash` and searching for `Pattern Matching`.
-
-"Globs" are the patterns you type when you do stuff like `ls
-*.js` on the command line, or put `build/*` in a `.gitignore`
-file.
-
-Before parsing the path part patterns, braced sections are
-expanded into a set. Braced sections start with `{` and end with
-`}`, with 2 or more comma-delimited sections within. Braced
-sections may contain slash characters, so `a{/b/c,bcd}` would
-expand into `a/b/c` and `abcd`.
-
-The following characters have special magic meaning when used in
-a path portion. With the exception of `**`, none of these match
-path separators (ie, `/` on all platforms, and `\` on Windows).
-
-- `*` Matches 0 or more characters in a single path portion.
- When alone in a path portion, it must match at least 1
- character. If `dot:true` is not specified, then `*` will not
- match against a `.` character at the start of a path portion.
-- `?` Matches 1 character. If `dot:true` is not specified, then
- `?` will not match against a `.` character at the start of a
- path portion.
-- `[...]` Matches a range of characters, similar to a RegExp
- range. If the first character of the range is `!` or `^` then
- it matches any character not in the range. If the first
- character is `]`, then it will be considered the same as `\]`,
- rather than the end of the character class.
-- `!(pattern|pattern|pattern)` Matches anything that does not
- match any of the patterns provided. May _not_ contain `/`
- characters. Similar to `*`, if alone in a path portion, then
- the path portion must have at least one character.
-- `?(pattern|pattern|pattern)` Matches zero or one occurrence of
- the patterns provided. May _not_ contain `/` characters.
-- `+(pattern|pattern|pattern)` Matches one or more occurrences of
- the patterns provided. May _not_ contain `/` characters.
-- `*(a|b|c)` Matches zero or more occurrences of the patterns
- provided. May _not_ contain `/` characters.
-- `@(pattern|pat*|pat?erN)` Matches exactly one of the patterns
- provided. May _not_ contain `/` characters.
-- `**` If a "globstar" is alone in a path portion, then it
- matches zero or more directories and subdirectories searching
- for matches. It does not crawl symlinked directories, unless
- `{follow:true}` is passed in the options object. A pattern
- like `a/b/**` will only match `a/b` if it is a directory.
- Follows 1 symbolic link if not the first item in the pattern,
- or 0 if it is the first item, unless `follow:true` is set, in
- which case it follows all symbolic links.
-
-`[:class:]` patterns are supported by this implementation, but
-`[=c=]` and `[.symbol.]` style class patterns are not.
-
-### Dots
-
-If a file or directory path portion has a `.` as the first
-character, then it will not match any glob pattern unless that
-pattern's corresponding path part also has a `.` as its first
-character.
-
-For example, the pattern `a/.*/c` would match the file at
-`a/.b/c`. However the pattern `a/*/c` would not, because `*` does
-not start with a dot character.
-
-You can make glob treat dots as normal characters by setting
-`dot:true` in the options.
-
-### Basename Matching
-
-If you set `matchBase:true` in the options, and the pattern has
-no slashes in it, then it will seek for any file anywhere in the
-tree with a matching basename. For example, `*.js` would match
-`test/simple/basic.js`.
-
-### Empty Sets
-
-If no matching files are found, then an empty array is returned.
-This differs from the shell, where the pattern itself is
-returned. For example:
-
-```sh
-$ echo a*s*d*f
-a*s*d*f
-```
-
-## Comparisons to other fnmatch/glob implementations
-
-While strict compliance with the existing standards is a
-worthwhile goal, some discrepancies exist between node-glob and
-other implementations, and are intentional.
-
-The double-star character `**` is supported by default, unless
-the `noglobstar` flag is set. This is supported in the manner of
-bsdglob and bash 5, where `**` only has special significance if
-it is the only thing in a path part. That is, `a/**/b` will match
-`a/x/y/b`, but `a/**b` will not.
-
-Note that symlinked directories are not traversed as part of a
-`**`, though their contents may match against subsequent portions
-of the pattern. This prevents infinite loops and duplicates and
-the like. You can force glob to traverse symlinks with `**` by
-setting `{follow:true}` in the options.
-
-There is no equivalent of the `nonull` option. A pattern that
-does not find any matches simply resolves to nothing. (An empty
-array, immediately ended stream, etc.)
-
-If brace expansion is not disabled, then it is performed before
-any other interpretation of the glob pattern. Thus, a pattern
-like `+(a|{b),c)}`, which would not be valid in bash or zsh, is
-expanded **first** into the set of `+(a|b)` and `+(a|c)`, and
-those patterns are checked for validity. Since those two are
-valid, matching proceeds.
-
-The character class patterns `[:class:]` (posix standard named
-classes) style class patterns are supported and unicode-aware,
-but `[=c=]` (locale-specific character collation weight), and
-`[.symbol.]` (collating symbol), are not.
-
-### Repeated Slashes
-
-Unlike Bash and zsh, repeated `/` are always coalesced into a
-single path separator.
-
-### Comments and Negation
-
-Previously, this module let you mark a pattern as a "comment" if
-it started with a `#` character, or a "negated" pattern if it
-started with a `!` character.
-
-These options were deprecated in version 5, and removed in
-version 6.
-
-To specify things that should not match, use the `ignore` option.
-
-## Windows
-
-**Please only use forward-slashes in glob expressions.**
-
-Though windows uses either `/` or `\` as its path separator, only
-`/` characters are used by this glob implementation. You must use
-forward-slashes **only** in glob expressions. Back-slashes will
-always be interpreted as escape characters, not path separators.
-
-Results from absolute patterns such as `/foo/*` are mounted onto
-the root setting using `path.join`. On windows, this will by
-default result in `/foo/*` matching `C:\foo\bar.txt`.
-
-To automatically coerce all `\` characters to `/` in pattern
-strings, **thus making it impossible to escape literal glob
-characters**, you may set the `windowsPathsNoEscape` option to
-`true`.
-
-### Windows, CWDs, Drive Letters, and UNC Paths
-
-On posix systems, when a pattern starts with `/`, any `cwd`
-option is ignored, and the traversal starts at `/`, plus any
-non-magic path portions specified in the pattern.
-
-On Windows systems, the behavior is similar, but the concept of
-an "absolute path" is somewhat more involved.
-
-#### UNC Paths
-
-A UNC path may be used as the start of a pattern on Windows
-platforms. For example, a pattern like: `//?/x:/*` will return
-all file entries in the root of the `x:` drive. A pattern like
-`//ComputerName/Share/*` will return all files in the associated
-share.
-
-UNC path roots are always compared case insensitively.
-
-#### Drive Letters
-
-A pattern starting with a drive letter, like `c:/*`, will search
-in that drive, regardless of any `cwd` option provided.
-
-If the pattern starts with `/`, and is not a UNC path, and there
-is an explicit `cwd` option set with a drive letter, then the
-drive letter in the `cwd` is used as the root of the directory
-traversal.
-
-For example, `glob('/tmp', { cwd: 'c:/any/thing' })` will return
-`['c:/tmp']` as the result.
-
-If an explicit `cwd` option is not provided, and the pattern
-starts with `/`, then the traversal will run on the root of the
-drive provided as the `cwd` option. (That is, it is the result of
-`path.resolve('/')`.)
-
-## Race Conditions
-
-Glob searching, by its very nature, is susceptible to race
-conditions, since it relies on directory walking.
-
-As a result, it is possible that a file that exists when glob
-looks for it may have been deleted or modified by the time it
-returns the result.
-
-By design, this implementation caches all readdir calls that it
-makes, in order to cut down on system overhead. However, this
-also makes it even more susceptible to races, especially if the
-cache object is reused between glob calls.
-
-Users are thus advised not to use a glob result as a guarantee of
-filesystem state in the face of rapid changes. For the vast
-majority of operations, this is never a problem.
-
-### See Also:
-
-- `man sh`
-- `man bash` [Pattern
- Matching](https://www.gnu.org/software/bash/manual/html_node/Pattern-Matching.html)
-- `man 3 fnmatch`
-- `man 5 gitignore`
-- [minimatch documentation](https://github.com/isaacs/minimatch)
-
-## Glob Logo
-
-Glob's logo was created by [Tanya
-Brassie](http://tanyabrassie.com/). Logo files can be found
-[here](https://github.com/isaacs/node-glob/tree/master/logo).
-
-The logo is licensed under a [Creative Commons
-Attribution-ShareAlike 4.0 International
-License](https://creativecommons.org/licenses/by-sa/4.0/).
-
-## Contributing
-
-Any change to behavior (including bugfixes) must come with a
-test.
-
-Patches that fail tests or reduce performance will be rejected.
-
-```sh
-# to run tests
-npm test
-
-# to re-generate test fixtures
-npm run test-regen
-
-# run the benchmarks
-npm run bench
-
-# to profile javascript
-npm run prof
-```
-
-## Comparison to Other JavaScript Glob Implementations
-
-**tl;dr**
-
-- If you want glob matching that is as faithful as possible to
- Bash pattern expansion semantics, and as fast as possible
- within that constraint, _use this module_.
-- If you are reasonably sure that the patterns you will encounter
- are relatively simple, and want the absolutely fastest glob
- matcher out there, _use [fast-glob](http://npm.im/fast-glob)_.
-- If you are reasonably sure that the patterns you will encounter
- are relatively simple, and want the convenience of
- automatically respecting `.gitignore` files, _use
- [globby](http://npm.im/globby)_.
-
-There are some other glob matcher libraries on npm, but these
-three are (in my opinion, as of 2023) the best.
-
----
-
-**full explanation**
-
-Every library reflects a set of opinions and priorities in the
-trade-offs it makes. Other than this library, I can personally
-recommend both [globby](http://npm.im/globby) and
-[fast-glob](http://npm.im/fast-glob), though they differ in their
-benefits and drawbacks.
-
-Both have very nice APIs and are reasonably fast.
-
-`fast-glob` is, as far as I am aware, the fastest glob
-implementation in JavaScript today. However, there are many
-cases where the choices that `fast-glob` makes in pursuit of
-speed mean that its results differ from the results returned by
-Bash and other sh-like shells, which may be surprising.
-
-In my testing, `fast-glob` is around 10-20% faster than this
-module when walking over 200k files nested 4 directories
-deep[1](#fn-webscale). However, there are some inconsistencies
-with Bash matching behavior that this module does not suffer
-from:
-
-- `**` only matches files, not directories
-- `..` path portions are not handled unless they appear at the
- start of the pattern
-- `./!()` will not match any files that _start_ with
- ``, even if they do not match ``. For
- example, `!(9).txt` will not match `9999.txt`.
-- Some brace patterns in the middle of a pattern will result in
- failing to find certain matches.
-- Extglob patterns are allowed to contain `/` characters.
-
-Globby exhibits all of the same pattern semantics as fast-glob,
-(as it is a wrapper around fast-glob) and is slightly slower than
-node-glob (by about 10-20% in the benchmark test set, or in other
-words, anywhere from 20-50% slower than fast-glob). However, it
-adds some API conveniences that may be worth the costs.
-
-- Support for `.gitignore` and other ignore files.
-- Support for negated globs (ie, patterns starting with `!`
- rather than using a separate `ignore` option).
-
-The priority of this module is "correctness" in the sense of
-performing a glob pattern expansion as faithfully as possible to
-the behavior of Bash and other sh-like shells, with as much speed
-as possible.
-
-Note that prior versions of `node-glob` are _not_ on this list.
-Former versions of this module are far too slow for any cases
-where performance matters at all, and were designed with APIs
-that are extremely dated by current JavaScript standards.
-
----
-
-[1]: In the cases where this module
-returns results and `fast-glob` doesn't, it's even faster, of
-course.
-
-
-
-### Benchmark Results
-
-First number is time, smaller is better.
-
-Second number is the count of results returned.
-
-```
---- pattern: '**' ---
-~~ sync ~~
-node fast-glob sync 0m0.598s 200364
-node globby sync 0m0.765s 200364
-node current globSync mjs 0m0.683s 222656
-node current glob syncStream 0m0.649s 222656
-~~ async ~~
-node fast-glob async 0m0.350s 200364
-node globby async 0m0.509s 200364
-node current glob async mjs 0m0.463s 222656
-node current glob stream 0m0.411s 222656
-
---- pattern: '**/..' ---
-~~ sync ~~
-node fast-glob sync 0m0.486s 0
-node globby sync 0m0.769s 200364
-node current globSync mjs 0m0.564s 2242
-node current glob syncStream 0m0.583s 2242
-~~ async ~~
-node fast-glob async 0m0.283s 0
-node globby async 0m0.512s 200364
-node current glob async mjs 0m0.299s 2242
-node current glob stream 0m0.312s 2242
-
---- pattern: './**/0/**/0/**/0/**/0/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.490s 10
-node globby sync 0m0.517s 10
-node current globSync mjs 0m0.540s 10
-node current glob syncStream 0m0.550s 10
-~~ async ~~
-node fast-glob async 0m0.290s 10
-node globby async 0m0.296s 10
-node current glob async mjs 0m0.278s 10
-node current glob stream 0m0.302s 10
-
---- pattern: './**/[01]/**/[12]/**/[23]/**/[45]/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.500s 160
-node globby sync 0m0.528s 160
-node current globSync mjs 0m0.556s 160
-node current glob syncStream 0m0.573s 160
-~~ async ~~
-node fast-glob async 0m0.283s 160
-node globby async 0m0.301s 160
-node current glob async mjs 0m0.306s 160
-node current glob stream 0m0.322s 160
-
---- pattern: './**/0/**/0/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.502s 5230
-node globby sync 0m0.527s 5230
-node current globSync mjs 0m0.544s 5230
-node current glob syncStream 0m0.557s 5230
-~~ async ~~
-node fast-glob async 0m0.285s 5230
-node globby async 0m0.305s 5230
-node current glob async mjs 0m0.304s 5230
-node current glob stream 0m0.310s 5230
-
---- pattern: '**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.580s 200023
-node globby sync 0m0.771s 200023
-node current globSync mjs 0m0.685s 200023
-node current glob syncStream 0m0.649s 200023
-~~ async ~~
-node fast-glob async 0m0.349s 200023
-node globby async 0m0.509s 200023
-node current glob async mjs 0m0.427s 200023
-node current glob stream 0m0.388s 200023
-
---- pattern: '{**/*.txt,**/?/**/*.txt,**/?/**/?/**/*.txt,**/?/**/?/**/?/**/*.txt,**/?/**/?/**/?/**/?/**/*.txt}' ---
-~~ sync ~~
-node fast-glob sync 0m0.589s 200023
-node globby sync 0m0.771s 200023
-node current globSync mjs 0m0.716s 200023
-node current glob syncStream 0m0.684s 200023
-~~ async ~~
-node fast-glob async 0m0.351s 200023
-node globby async 0m0.518s 200023
-node current glob async mjs 0m0.462s 200023
-node current glob stream 0m0.468s 200023
-
---- pattern: '**/5555/0000/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.496s 1000
-node globby sync 0m0.519s 1000
-node current globSync mjs 0m0.539s 1000
-node current glob syncStream 0m0.567s 1000
-~~ async ~~
-node fast-glob async 0m0.285s 1000
-node globby async 0m0.299s 1000
-node current glob async mjs 0m0.305s 1000
-node current glob stream 0m0.301s 1000
-
---- pattern: './**/0/**/../[01]/**/0/../**/0/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.484s 0
-node globby sync 0m0.507s 0
-node current globSync mjs 0m0.577s 4880
-node current glob syncStream 0m0.586s 4880
-~~ async ~~
-node fast-glob async 0m0.280s 0
-node globby async 0m0.298s 0
-node current glob async mjs 0m0.327s 4880
-node current glob stream 0m0.324s 4880
-
---- pattern: '**/????/????/????/????/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.547s 100000
-node globby sync 0m0.673s 100000
-node current globSync mjs 0m0.626s 100000
-node current glob syncStream 0m0.618s 100000
-~~ async ~~
-node fast-glob async 0m0.315s 100000
-node globby async 0m0.414s 100000
-node current glob async mjs 0m0.366s 100000
-node current glob stream 0m0.345s 100000
-
---- pattern: './{**/?{/**/?{/**/?{/**/?,,,,},,,,},,,,},,,}/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.588s 100000
-node globby sync 0m0.670s 100000
-node current globSync mjs 0m0.717s 200023
-node current glob syncStream 0m0.687s 200023
-~~ async ~~
-node fast-glob async 0m0.343s 100000
-node globby async 0m0.418s 100000
-node current glob async mjs 0m0.519s 200023
-node current glob stream 0m0.451s 200023
-
---- pattern: '**/!(0|9).txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.573s 160023
-node globby sync 0m0.731s 160023
-node current globSync mjs 0m0.680s 180023
-node current glob syncStream 0m0.659s 180023
-~~ async ~~
-node fast-glob async 0m0.345s 160023
-node globby async 0m0.476s 160023
-node current glob async mjs 0m0.427s 180023
-node current glob stream 0m0.388s 180023
-
---- pattern: './{*/**/../{*/**/../{*/**/../{*/**/../{*/**,,,,},,,,},,,,},,,,},,,,}/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.483s 0
-node globby sync 0m0.512s 0
-node current globSync mjs 0m0.811s 200023
-node current glob syncStream 0m0.773s 200023
-~~ async ~~
-node fast-glob async 0m0.280s 0
-node globby async 0m0.299s 0
-node current glob async mjs 0m0.617s 200023
-node current glob stream 0m0.568s 200023
-
---- pattern: './*/**/../*/**/../*/**/../*/**/../*/**/../*/**/../*/**/../*/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.485s 0
-node globby sync 0m0.507s 0
-node current globSync mjs 0m0.759s 200023
-node current glob syncStream 0m0.740s 200023
-~~ async ~~
-node fast-glob async 0m0.281s 0
-node globby async 0m0.297s 0
-node current glob async mjs 0m0.544s 200023
-node current glob stream 0m0.464s 200023
-
---- pattern: './*/**/../*/**/../*/**/../*/**/../*/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.486s 0
-node globby sync 0m0.513s 0
-node current globSync mjs 0m0.734s 200023
-node current glob syncStream 0m0.696s 200023
-~~ async ~~
-node fast-glob async 0m0.286s 0
-node globby async 0m0.296s 0
-node current glob async mjs 0m0.506s 200023
-node current glob stream 0m0.483s 200023
-
---- pattern: './0/**/../1/**/../2/**/../3/**/../4/**/../5/**/../6/**/../7/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.060s 0
-node globby sync 0m0.074s 0
-node current globSync mjs 0m0.067s 0
-node current glob syncStream 0m0.066s 0
-~~ async ~~
-node fast-glob async 0m0.060s 0
-node globby async 0m0.075s 0
-node current glob async mjs 0m0.066s 0
-node current glob stream 0m0.067s 0
-
---- pattern: './**/?/**/?/**/?/**/?/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.568s 100000
-node globby sync 0m0.651s 100000
-node current globSync mjs 0m0.619s 100000
-node current glob syncStream 0m0.617s 100000
-~~ async ~~
-node fast-glob async 0m0.332s 100000
-node globby async 0m0.409s 100000
-node current glob async mjs 0m0.372s 100000
-node current glob stream 0m0.351s 100000
-
---- pattern: '**/*/**/*/**/*/**/*/**' ---
-~~ sync ~~
-node fast-glob sync 0m0.603s 200113
-node globby sync 0m0.798s 200113
-node current globSync mjs 0m0.730s 222137
-node current glob syncStream 0m0.693s 222137
-~~ async ~~
-node fast-glob async 0m0.356s 200113
-node globby async 0m0.525s 200113
-node current glob async mjs 0m0.508s 222137
-node current glob stream 0m0.455s 222137
-
---- pattern: './**/*/**/*/**/*/**/*/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.622s 200000
-node globby sync 0m0.792s 200000
-node current globSync mjs 0m0.722s 200000
-node current glob syncStream 0m0.695s 200000
-~~ async ~~
-node fast-glob async 0m0.369s 200000
-node globby async 0m0.527s 200000
-node current glob async mjs 0m0.502s 200000
-node current glob stream 0m0.481s 200000
-
---- pattern: '**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.588s 200023
-node globby sync 0m0.771s 200023
-node current globSync mjs 0m0.684s 200023
-node current glob syncStream 0m0.658s 200023
-~~ async ~~
-node fast-glob async 0m0.352s 200023
-node globby async 0m0.516s 200023
-node current glob async mjs 0m0.432s 200023
-node current glob stream 0m0.384s 200023
-
---- pattern: './**/**/**/**/**/**/**/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.589s 200023
-node globby sync 0m0.766s 200023
-node current globSync mjs 0m0.682s 200023
-node current glob syncStream 0m0.652s 200023
-~~ async ~~
-node fast-glob async 0m0.352s 200023
-node globby async 0m0.523s 200023
-node current glob async mjs 0m0.436s 200023
-node current glob stream 0m0.380s 200023
-
---- pattern: '**/*/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.592s 200023
-node globby sync 0m0.776s 200023
-node current globSync mjs 0m0.691s 200023
-node current glob syncStream 0m0.659s 200023
-~~ async ~~
-node fast-glob async 0m0.357s 200023
-node globby async 0m0.513s 200023
-node current glob async mjs 0m0.471s 200023
-node current glob stream 0m0.424s 200023
-
---- pattern: '**/*/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.585s 200023
-node globby sync 0m0.766s 200023
-node current globSync mjs 0m0.694s 200023
-node current glob syncStream 0m0.664s 200023
-~~ async ~~
-node fast-glob async 0m0.350s 200023
-node globby async 0m0.514s 200023
-node current glob async mjs 0m0.472s 200023
-node current glob stream 0m0.424s 200023
-
---- pattern: '**/[0-9]/**/*.txt' ---
-~~ sync ~~
-node fast-glob sync 0m0.544s 100000
-node globby sync 0m0.636s 100000
-node current globSync mjs 0m0.626s 100000
-node current glob syncStream 0m0.621s 100000
-~~ async ~~
-node fast-glob async 0m0.322s 100000
-node globby async 0m0.404s 100000
-node current glob async mjs 0m0.360s 100000
-node current glob stream 0m0.352s 100000
-```
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.d.ts b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.d.ts
deleted file mode 100644
index 25262b3ddf489e..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.d.ts
+++ /dev/null
@@ -1,388 +0,0 @@
-import { Minimatch } from 'minimatch';
-import { Minipass } from 'minipass';
-import { FSOption, Path, PathScurry } from 'path-scurry';
-import { IgnoreLike } from './ignore.js';
-import { Pattern } from './pattern.js';
-export type MatchSet = Minimatch['set'];
-export type GlobParts = Exclude;
-/**
- * A `GlobOptions` object may be provided to any of the exported methods, and
- * must be provided to the `Glob` constructor.
- *
- * All options are optional, boolean, and false by default, unless otherwise
- * noted.
- *
- * All resolved options are added to the Glob object as properties.
- *
- * If you are running many `glob` operations, you can pass a Glob object as the
- * `options` argument to a subsequent operation to share the previously loaded
- * cache.
- */
-export interface GlobOptions {
- /**
- * Set to `true` to always receive absolute paths for
- * matched files. Set to `false` to always return relative paths.
- *
- * When this option is not set, absolute paths are returned for patterns
- * that are absolute, and otherwise paths are returned that are relative
- * to the `cwd` setting.
- *
- * This does _not_ make an extra system call to get
- * the realpath, it only does string path resolution.
- *
- * Conflicts with {@link withFileTypes}
- */
- absolute?: boolean;
- /**
- * Set to false to enable {@link windowsPathsNoEscape}
- *
- * @deprecated
- */
- allowWindowsEscape?: boolean;
- /**
- * The current working directory in which to search. Defaults to
- * `process.cwd()`.
- *
- * May be eiher a string path or a `file://` URL object or string.
- */
- cwd?: string | URL;
- /**
- * Include `.dot` files in normal matches and `globstar`
- * matches. Note that an explicit dot in a portion of the pattern
- * will always match dot files.
- */
- dot?: boolean;
- /**
- * Prepend all relative path strings with `./` (or `.\` on Windows).
- *
- * Without this option, returned relative paths are "bare", so instead of
- * returning `'./foo/bar'`, they are returned as `'foo/bar'`.
- *
- * Relative patterns starting with `'../'` are not prepended with `./`, even
- * if this option is set.
- */
- dotRelative?: boolean;
- /**
- * Follow symlinked directories when expanding `**`
- * patterns. This can result in a lot of duplicate references in
- * the presence of cyclic links, and make performance quite bad.
- *
- * By default, a `**` in a pattern will follow 1 symbolic link if
- * it is not the first item in the pattern, or none if it is the
- * first item in the pattern, following the same behavior as Bash.
- */
- follow?: boolean;
- /**
- * string or string[], or an object with `ignore` and `ignoreChildren`
- * methods.
- *
- * If a string or string[] is provided, then this is treated as a glob
- * pattern or array of glob patterns to exclude from matches. To ignore all
- * children within a directory, as well as the entry itself, append `'/**'`
- * to the ignore pattern.
- *
- * **Note** `ignore` patterns are _always_ in `dot:true` mode, regardless of
- * any other settings.
- *
- * If an object is provided that has `ignored(path)` and/or
- * `childrenIgnored(path)` methods, then these methods will be called to
- * determine whether any Path is a match or if its children should be
- * traversed, respectively.
- */
- ignore?: string | string[] | IgnoreLike;
- /**
- * Treat brace expansion like `{a,b}` as a "magic" pattern. Has no
- * effect if {@link nobrace} is set.
- *
- * Only has effect on the {@link hasMagic} function.
- */
- magicalBraces?: boolean;
- /**
- * Add a `/` character to directory matches. Note that this requires
- * additional stat calls in some cases.
- */
- mark?: boolean;
- /**
- * Perform a basename-only match if the pattern does not contain any slash
- * characters. That is, `*.js` would be treated as equivalent to
- * `**\/*.js`, matching all js files in all directories.
- */
- matchBase?: boolean;
- /**
- * Limit the directory traversal to a given depth below the cwd.
- * Note that this does NOT prevent traversal to sibling folders,
- * root patterns, and so on. It only limits the maximum folder depth
- * that the walk will descend, relative to the cwd.
- */
- maxDepth?: number;
- /**
- * Do not expand `{a,b}` and `{1..3}` brace sets.
- */
- nobrace?: boolean;
- /**
- * Perform a case-insensitive match. This defaults to `true` on macOS and
- * Windows systems, and `false` on all others.
- *
- * **Note** `nocase` should only be explicitly set when it is
- * known that the filesystem's case sensitivity differs from the
- * platform default. If set `true` on case-sensitive file
- * systems, or `false` on case-insensitive file systems, then the
- * walk may return more or less results than expected.
- */
- nocase?: boolean;
- /**
- * Do not match directories, only files. (Note: to match
- * _only_ directories, put a `/` at the end of the pattern.)
- */
- nodir?: boolean;
- /**
- * Do not match "extglob" patterns such as `+(a|b)`.
- */
- noext?: boolean;
- /**
- * Do not match `**` against multiple filenames. (Ie, treat it as a normal
- * `*` instead.)
- *
- * Conflicts with {@link matchBase}
- */
- noglobstar?: boolean;
- /**
- * Defaults to value of `process.platform` if available, or `'linux'` if
- * not. Setting `platform:'win32'` on non-Windows systems may cause strange
- * behavior.
- */
- platform?: NodeJS.Platform;
- /**
- * Set to true to call `fs.realpath` on all of the
- * results. In the case of an entry that cannot be resolved, the
- * entry is omitted. This incurs a slight performance penalty, of
- * course, because of the added system calls.
- */
- realpath?: boolean;
- /**
- *
- * A string path resolved against the `cwd` option, which
- * is used as the starting point for absolute patterns that start
- * with `/`, (but not drive letters or UNC paths on Windows).
- *
- * Note that this _doesn't_ necessarily limit the walk to the
- * `root` directory, and doesn't affect the cwd starting point for
- * non-absolute patterns. A pattern containing `..` will still be
- * able to traverse out of the root directory, if it is not an
- * actual root directory on the filesystem, and any non-absolute
- * patterns will be matched in the `cwd`. For example, the
- * pattern `/../*` with `{root:'/some/path'}` will return all
- * files in `/some`, not all files in `/some/path`. The pattern
- * `*` with `{root:'/some/path'}` will return all the entries in
- * the cwd, not the entries in `/some/path`.
- *
- * To start absolute and non-absolute patterns in the same
- * path, you can use `{root:''}`. However, be aware that on
- * Windows systems, a pattern like `x:/*` or `//host/share/*` will
- * _always_ start in the `x:/` or `//host/share` directory,
- * regardless of the `root` setting.
- */
- root?: string;
- /**
- * A [PathScurry](http://npm.im/path-scurry) object used
- * to traverse the file system. If the `nocase` option is set
- * explicitly, then any provided `scurry` object must match this
- * setting.
- */
- scurry?: PathScurry;
- /**
- * Call `lstat()` on all entries, whether required or not to determine
- * if it's a valid match. When used with {@link withFileTypes}, this means
- * that matches will include data such as modified time, permissions, and
- * so on. Note that this will incur a performance cost due to the added
- * system calls.
- */
- stat?: boolean;
- /**
- * An AbortSignal which will cancel the Glob walk when
- * triggered.
- */
- signal?: AbortSignal;
- /**
- * Use `\\` as a path separator _only_, and
- * _never_ as an escape character. If set, all `\\` characters are
- * replaced with `/` in the pattern.
- *
- * Note that this makes it **impossible** to match against paths
- * containing literal glob pattern characters, but allows matching
- * with patterns constructed using `path.join()` and
- * `path.resolve()` on Windows platforms, mimicking the (buggy!)
- * behavior of Glob v7 and before on Windows. Please use with
- * caution, and be mindful of [the caveat below about Windows
- * paths](#windows). (For legacy reasons, this is also set if
- * `allowWindowsEscape` is set to the exact value `false`.)
- */
- windowsPathsNoEscape?: boolean;
- /**
- * Return [PathScurry](http://npm.im/path-scurry)
- * `Path` objects instead of strings. These are similar to a
- * NodeJS `Dirent` object, but with additional methods and
- * properties.
- *
- * Conflicts with {@link absolute}
- */
- withFileTypes?: boolean;
- /**
- * An fs implementation to override some or all of the defaults. See
- * http://npm.im/path-scurry for details about what can be overridden.
- */
- fs?: FSOption;
- /**
- * Just passed along to Minimatch. Note that this makes all pattern
- * matching operations slower and *extremely* noisy.
- */
- debug?: boolean;
- /**
- * Return `/` delimited paths, even on Windows.
- *
- * On posix systems, this has no effect. But, on Windows, it means that
- * paths will be `/` delimited, and absolute paths will be their full
- * resolved UNC forms, eg instead of `'C:\\foo\\bar'`, it would return
- * `'//?/C:/foo/bar'`
- */
- posix?: boolean;
- /**
- * Do not match any children of any matches. For example, the pattern
- * `**\/foo` would match `a/foo`, but not `a/foo/b/foo` in this mode.
- *
- * This is especially useful for cases like "find all `node_modules`
- * folders, but not the ones in `node_modules`".
- *
- * In order to support this, the `Ignore` implementation must support an
- * `add(pattern: string)` method. If using the default `Ignore` class, then
- * this is fine, but if this is set to `false`, and a custom `Ignore` is
- * provided that does not have an `add()` method, then it will throw an
- * error.
- *
- * **Caveat** It *only* ignores matches that would be a descendant of a
- * previous match, and only if that descendant is matched *after* the
- * ancestor is encountered. Since the file system walk happens in
- * indeterminate order, it's possible that a match will already be added
- * before its ancestor, if multiple or braced patterns are used.
- *
- * For example:
- *
- * ```ts
- * const results = await glob([
- * // likely to match first, since it's just a stat
- * 'a/b/c/d/e/f',
- *
- * // this pattern is more complicated! It must to various readdir()
- * // calls and test the results against a regular expression, and that
- * // is certainly going to take a little bit longer.
- * //
- * // So, later on, it encounters a match at 'a/b/c/d/e', but it's too
- * // late to ignore a/b/c/d/e/f, because it's already been emitted.
- * 'a/[bdf]/?/[a-z]/*',
- * ], { includeChildMatches: false })
- * ```
- *
- * It's best to only set this to `false` if you can be reasonably sure that
- * no components of the pattern will potentially match one another's file
- * system descendants, or if the occasional included child entry will not
- * cause problems.
- *
- * @default true
- */
- includeChildMatches?: boolean;
-}
-export type GlobOptionsWithFileTypesTrue = GlobOptions & {
- withFileTypes: true;
- absolute?: undefined;
- mark?: undefined;
- posix?: undefined;
-};
-export type GlobOptionsWithFileTypesFalse = GlobOptions & {
- withFileTypes?: false;
-};
-export type GlobOptionsWithFileTypesUnset = GlobOptions & {
- withFileTypes?: undefined;
-};
-export type Result = Opts extends GlobOptionsWithFileTypesTrue ? Path : Opts extends GlobOptionsWithFileTypesFalse ? string : Opts extends GlobOptionsWithFileTypesUnset ? string : string | Path;
-export type Results = Result[];
-export type FileTypes = Opts extends GlobOptionsWithFileTypesTrue ? true : Opts extends GlobOptionsWithFileTypesFalse ? false : Opts extends GlobOptionsWithFileTypesUnset ? false : boolean;
-/**
- * An object that can perform glob pattern traversals.
- */
-export declare class Glob implements GlobOptions {
- absolute?: boolean;
- cwd: string;
- root?: string;
- dot: boolean;
- dotRelative: boolean;
- follow: boolean;
- ignore?: string | string[] | IgnoreLike;
- magicalBraces: boolean;
- mark?: boolean;
- matchBase: boolean;
- maxDepth: number;
- nobrace: boolean;
- nocase: boolean;
- nodir: boolean;
- noext: boolean;
- noglobstar: boolean;
- pattern: string[];
- platform: NodeJS.Platform;
- realpath: boolean;
- scurry: PathScurry;
- stat: boolean;
- signal?: AbortSignal;
- windowsPathsNoEscape: boolean;
- withFileTypes: FileTypes;
- includeChildMatches: boolean;
- /**
- * The options provided to the constructor.
- */
- opts: Opts;
- /**
- * An array of parsed immutable {@link Pattern} objects.
- */
- patterns: Pattern[];
- /**
- * All options are stored as properties on the `Glob` object.
- *
- * See {@link GlobOptions} for full options descriptions.
- *
- * Note that a previous `Glob` object can be passed as the
- * `GlobOptions` to another `Glob` instantiation to re-use settings
- * and caches with a new pattern.
- *
- * Traversal functions can be called multiple times to run the walk
- * again.
- */
- constructor(pattern: string | string[], opts: Opts);
- /**
- * Returns a Promise that resolves to the results array.
- */
- walk(): Promise>;
- /**
- * synchronous {@link Glob.walk}
- */
- walkSync(): Results;
- /**
- * Stream results asynchronously.
- */
- stream(): Minipass, Result>;
- /**
- * Stream results synchronously.
- */
- streamSync(): Minipass, Result>;
- /**
- * Default sync iteration function. Returns a Generator that
- * iterates over the results.
- */
- iterateSync(): Generator, void, void>;
- [Symbol.iterator](): Generator, void, void>;
- /**
- * Default async iteration function. Returns an AsyncGenerator that
- * iterates over the results.
- */
- iterate(): AsyncGenerator, void, void>;
- [Symbol.asyncIterator](): AsyncGenerator, void, void>;
-}
-//# sourceMappingURL=glob.d.ts.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.d.ts.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.d.ts.map
deleted file mode 100644
index c32dc74c967741..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../src/glob.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.js b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.js
deleted file mode 100644
index e1339bbbcf57f3..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.js
+++ /dev/null
@@ -1,247 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Glob = void 0;
-const minimatch_1 = require("minimatch");
-const node_url_1 = require("node:url");
-const path_scurry_1 = require("path-scurry");
-const pattern_js_1 = require("./pattern.js");
-const walker_js_1 = require("./walker.js");
-// if no process global, just call it linux.
-// so we default to case-sensitive, / separators
-const defaultPlatform = (typeof process === 'object' &&
- process &&
- typeof process.platform === 'string') ?
- process.platform
- : 'linux';
-/**
- * An object that can perform glob pattern traversals.
- */
-class Glob {
- absolute;
- cwd;
- root;
- dot;
- dotRelative;
- follow;
- ignore;
- magicalBraces;
- mark;
- matchBase;
- maxDepth;
- nobrace;
- nocase;
- nodir;
- noext;
- noglobstar;
- pattern;
- platform;
- realpath;
- scurry;
- stat;
- signal;
- windowsPathsNoEscape;
- withFileTypes;
- includeChildMatches;
- /**
- * The options provided to the constructor.
- */
- opts;
- /**
- * An array of parsed immutable {@link Pattern} objects.
- */
- patterns;
- /**
- * All options are stored as properties on the `Glob` object.
- *
- * See {@link GlobOptions} for full options descriptions.
- *
- * Note that a previous `Glob` object can be passed as the
- * `GlobOptions` to another `Glob` instantiation to re-use settings
- * and caches with a new pattern.
- *
- * Traversal functions can be called multiple times to run the walk
- * again.
- */
- constructor(pattern, opts) {
- /* c8 ignore start */
- if (!opts)
- throw new TypeError('glob options required');
- /* c8 ignore stop */
- this.withFileTypes = !!opts.withFileTypes;
- this.signal = opts.signal;
- this.follow = !!opts.follow;
- this.dot = !!opts.dot;
- this.dotRelative = !!opts.dotRelative;
- this.nodir = !!opts.nodir;
- this.mark = !!opts.mark;
- if (!opts.cwd) {
- this.cwd = '';
- }
- else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) {
- opts.cwd = (0, node_url_1.fileURLToPath)(opts.cwd);
- }
- this.cwd = opts.cwd || '';
- this.root = opts.root;
- this.magicalBraces = !!opts.magicalBraces;
- this.nobrace = !!opts.nobrace;
- this.noext = !!opts.noext;
- this.realpath = !!opts.realpath;
- this.absolute = opts.absolute;
- this.includeChildMatches = opts.includeChildMatches !== false;
- this.noglobstar = !!opts.noglobstar;
- this.matchBase = !!opts.matchBase;
- this.maxDepth =
- typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity;
- this.stat = !!opts.stat;
- this.ignore = opts.ignore;
- if (this.withFileTypes && this.absolute !== undefined) {
- throw new Error('cannot set absolute and withFileTypes:true');
- }
- if (typeof pattern === 'string') {
- pattern = [pattern];
- }
- this.windowsPathsNoEscape =
- !!opts.windowsPathsNoEscape ||
- opts.allowWindowsEscape ===
- false;
- if (this.windowsPathsNoEscape) {
- pattern = pattern.map(p => p.replace(/\\/g, '/'));
- }
- if (this.matchBase) {
- if (opts.noglobstar) {
- throw new TypeError('base matching requires globstar');
- }
- pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`));
- }
- this.pattern = pattern;
- this.platform = opts.platform || defaultPlatform;
- this.opts = { ...opts, platform: this.platform };
- if (opts.scurry) {
- this.scurry = opts.scurry;
- if (opts.nocase !== undefined &&
- opts.nocase !== opts.scurry.nocase) {
- throw new Error('nocase option contradicts provided scurry option');
- }
- }
- else {
- const Scurry = opts.platform === 'win32' ? path_scurry_1.PathScurryWin32
- : opts.platform === 'darwin' ? path_scurry_1.PathScurryDarwin
- : opts.platform ? path_scurry_1.PathScurryPosix
- : path_scurry_1.PathScurry;
- this.scurry = new Scurry(this.cwd, {
- nocase: opts.nocase,
- fs: opts.fs,
- });
- }
- this.nocase = this.scurry.nocase;
- // If you do nocase:true on a case-sensitive file system, then
- // we need to use regexps instead of strings for non-magic
- // path portions, because statting `aBc` won't return results
- // for the file `AbC` for example.
- const nocaseMagicOnly = this.platform === 'darwin' || this.platform === 'win32';
- const mmo = {
- // default nocase based on platform
- ...opts,
- dot: this.dot,
- matchBase: this.matchBase,
- nobrace: this.nobrace,
- nocase: this.nocase,
- nocaseMagicOnly,
- nocomment: true,
- noext: this.noext,
- nonegate: true,
- optimizationLevel: 2,
- platform: this.platform,
- windowsPathsNoEscape: this.windowsPathsNoEscape,
- debug: !!this.opts.debug,
- };
- const mms = this.pattern.map(p => new minimatch_1.Minimatch(p, mmo));
- const [matchSet, globParts] = mms.reduce((set, m) => {
- set[0].push(...m.set);
- set[1].push(...m.globParts);
- return set;
- }, [[], []]);
- this.patterns = matchSet.map((set, i) => {
- const g = globParts[i];
- /* c8 ignore start */
- if (!g)
- throw new Error('invalid pattern object');
- /* c8 ignore stop */
- return new pattern_js_1.Pattern(set, g, 0, this.platform);
- });
- }
- async walk() {
- // Walkers always return array of Path objects, so we just have to
- // coerce them into the right shape. It will have already called
- // realpath() if the option was set to do so, so we know that's cached.
- // start out knowing the cwd, at least
- return [
- ...(await new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
- ...this.opts,
- maxDepth: this.maxDepth !== Infinity ?
- this.maxDepth + this.scurry.cwd.depth()
- : Infinity,
- platform: this.platform,
- nocase: this.nocase,
- includeChildMatches: this.includeChildMatches,
- }).walk()),
- ];
- }
- walkSync() {
- return [
- ...new walker_js_1.GlobWalker(this.patterns, this.scurry.cwd, {
- ...this.opts,
- maxDepth: this.maxDepth !== Infinity ?
- this.maxDepth + this.scurry.cwd.depth()
- : Infinity,
- platform: this.platform,
- nocase: this.nocase,
- includeChildMatches: this.includeChildMatches,
- }).walkSync(),
- ];
- }
- stream() {
- return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
- ...this.opts,
- maxDepth: this.maxDepth !== Infinity ?
- this.maxDepth + this.scurry.cwd.depth()
- : Infinity,
- platform: this.platform,
- nocase: this.nocase,
- includeChildMatches: this.includeChildMatches,
- }).stream();
- }
- streamSync() {
- return new walker_js_1.GlobStream(this.patterns, this.scurry.cwd, {
- ...this.opts,
- maxDepth: this.maxDepth !== Infinity ?
- this.maxDepth + this.scurry.cwd.depth()
- : Infinity,
- platform: this.platform,
- nocase: this.nocase,
- includeChildMatches: this.includeChildMatches,
- }).streamSync();
- }
- /**
- * Default sync iteration function. Returns a Generator that
- * iterates over the results.
- */
- iterateSync() {
- return this.streamSync()[Symbol.iterator]();
- }
- [Symbol.iterator]() {
- return this.iterateSync();
- }
- /**
- * Default async iteration function. Returns an AsyncGenerator that
- * iterates over the results.
- */
- iterate() {
- return this.stream()[Symbol.asyncIterator]();
- }
- [Symbol.asyncIterator]() {
- return this.iterate();
- }
-}
-exports.Glob = Glob;
-//# sourceMappingURL=glob.js.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.js.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.js.map
deleted file mode 100644
index ddab419717efa5..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/glob.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../src/glob.ts"],"names":[],"mappings":"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","sourcesContent":["import { Minimatch, MinimatchOptions } from 'minimatch'\nimport { Minipass } from 'minipass'\nimport { fileURLToPath } from 'node:url'\nimport {\n FSOption,\n Path,\n PathScurry,\n PathScurryDarwin,\n PathScurryPosix,\n PathScurryWin32,\n} from 'path-scurry'\nimport { IgnoreLike } from './ignore.js'\nimport { Pattern } from './pattern.js'\nimport { GlobStream, GlobWalker } from './walker.js'\n\nexport type MatchSet = Minimatch['set']\nexport type GlobParts = Exclude\n\n// if no process global, just call it linux.\n// so we default to case-sensitive, / separators\nconst defaultPlatform: NodeJS.Platform =\n (\n typeof process === 'object' &&\n process &&\n typeof process.platform === 'string'\n ) ?\n process.platform\n : 'linux'\n\n/**\n * A `GlobOptions` object may be provided to any of the exported methods, and\n * must be provided to the `Glob` constructor.\n *\n * All options are optional, boolean, and false by default, unless otherwise\n * noted.\n *\n * All resolved options are added to the Glob object as properties.\n *\n * If you are running many `glob` operations, you can pass a Glob object as the\n * `options` argument to a subsequent operation to share the previously loaded\n * cache.\n */\nexport interface GlobOptions {\n /**\n * Set to `true` to always receive absolute paths for\n * matched files. Set to `false` to always return relative paths.\n *\n * When this option is not set, absolute paths are returned for patterns\n * that are absolute, and otherwise paths are returned that are relative\n * to the `cwd` setting.\n *\n * This does _not_ make an extra system call to get\n * the realpath, it only does string path resolution.\n *\n * Conflicts with {@link withFileTypes}\n */\n absolute?: boolean\n\n /**\n * Set to false to enable {@link windowsPathsNoEscape}\n *\n * @deprecated\n */\n allowWindowsEscape?: boolean\n\n /**\n * The current working directory in which to search. Defaults to\n * `process.cwd()`.\n *\n * May be eiher a string path or a `file://` URL object or string.\n */\n cwd?: string | URL\n\n /**\n * Include `.dot` files in normal matches and `globstar`\n * matches. Note that an explicit dot in a portion of the pattern\n * will always match dot files.\n */\n dot?: boolean\n\n /**\n * Prepend all relative path strings with `./` (or `.\\` on Windows).\n *\n * Without this option, returned relative paths are \"bare\", so instead of\n * returning `'./foo/bar'`, they are returned as `'foo/bar'`.\n *\n * Relative patterns starting with `'../'` are not prepended with `./`, even\n * if this option is set.\n */\n dotRelative?: boolean\n\n /**\n * Follow symlinked directories when expanding `**`\n * patterns. This can result in a lot of duplicate references in\n * the presence of cyclic links, and make performance quite bad.\n *\n * By default, a `**` in a pattern will follow 1 symbolic link if\n * it is not the first item in the pattern, or none if it is the\n * first item in the pattern, following the same behavior as Bash.\n */\n follow?: boolean\n\n /**\n * string or string[], or an object with `ignore` and `ignoreChildren`\n * methods.\n *\n * If a string or string[] is provided, then this is treated as a glob\n * pattern or array of glob patterns to exclude from matches. To ignore all\n * children within a directory, as well as the entry itself, append `'/**'`\n * to the ignore pattern.\n *\n * **Note** `ignore` patterns are _always_ in `dot:true` mode, regardless of\n * any other settings.\n *\n * If an object is provided that has `ignored(path)` and/or\n * `childrenIgnored(path)` methods, then these methods will be called to\n * determine whether any Path is a match or if its children should be\n * traversed, respectively.\n */\n ignore?: string | string[] | IgnoreLike\n\n /**\n * Treat brace expansion like `{a,b}` as a \"magic\" pattern. Has no\n * effect if {@link nobrace} is set.\n *\n * Only has effect on the {@link hasMagic} function.\n */\n magicalBraces?: boolean\n\n /**\n * Add a `/` character to directory matches. Note that this requires\n * additional stat calls in some cases.\n */\n mark?: boolean\n\n /**\n * Perform a basename-only match if the pattern does not contain any slash\n * characters. That is, `*.js` would be treated as equivalent to\n * `**\\/*.js`, matching all js files in all directories.\n */\n matchBase?: boolean\n\n /**\n * Limit the directory traversal to a given depth below the cwd.\n * Note that this does NOT prevent traversal to sibling folders,\n * root patterns, and so on. It only limits the maximum folder depth\n * that the walk will descend, relative to the cwd.\n */\n maxDepth?: number\n\n /**\n * Do not expand `{a,b}` and `{1..3}` brace sets.\n */\n nobrace?: boolean\n\n /**\n * Perform a case-insensitive match. This defaults to `true` on macOS and\n * Windows systems, and `false` on all others.\n *\n * **Note** `nocase` should only be explicitly set when it is\n * known that the filesystem's case sensitivity differs from the\n * platform default. If set `true` on case-sensitive file\n * systems, or `false` on case-insensitive file systems, then the\n * walk may return more or less results than expected.\n */\n nocase?: boolean\n\n /**\n * Do not match directories, only files. (Note: to match\n * _only_ directories, put a `/` at the end of the pattern.)\n */\n nodir?: boolean\n\n /**\n * Do not match \"extglob\" patterns such as `+(a|b)`.\n */\n noext?: boolean\n\n /**\n * Do not match `**` against multiple filenames. (Ie, treat it as a normal\n * `*` instead.)\n *\n * Conflicts with {@link matchBase}\n */\n noglobstar?: boolean\n\n /**\n * Defaults to value of `process.platform` if available, or `'linux'` if\n * not. Setting `platform:'win32'` on non-Windows systems may cause strange\n * behavior.\n */\n platform?: NodeJS.Platform\n\n /**\n * Set to true to call `fs.realpath` on all of the\n * results. In the case of an entry that cannot be resolved, the\n * entry is omitted. This incurs a slight performance penalty, of\n * course, because of the added system calls.\n */\n realpath?: boolean\n\n /**\n *\n * A string path resolved against the `cwd` option, which\n * is used as the starting point for absolute patterns that start\n * with `/`, (but not drive letters or UNC paths on Windows).\n *\n * Note that this _doesn't_ necessarily limit the walk to the\n * `root` directory, and doesn't affect the cwd starting point for\n * non-absolute patterns. A pattern containing `..` will still be\n * able to traverse out of the root directory, if it is not an\n * actual root directory on the filesystem, and any non-absolute\n * patterns will be matched in the `cwd`. For example, the\n * pattern `/../*` with `{root:'/some/path'}` will return all\n * files in `/some`, not all files in `/some/path`. The pattern\n * `*` with `{root:'/some/path'}` will return all the entries in\n * the cwd, not the entries in `/some/path`.\n *\n * To start absolute and non-absolute patterns in the same\n * path, you can use `{root:''}`. However, be aware that on\n * Windows systems, a pattern like `x:/*` or `//host/share/*` will\n * _always_ start in the `x:/` or `//host/share` directory,\n * regardless of the `root` setting.\n */\n root?: string\n\n /**\n * A [PathScurry](http://npm.im/path-scurry) object used\n * to traverse the file system. If the `nocase` option is set\n * explicitly, then any provided `scurry` object must match this\n * setting.\n */\n scurry?: PathScurry\n\n /**\n * Call `lstat()` on all entries, whether required or not to determine\n * if it's a valid match. When used with {@link withFileTypes}, this means\n * that matches will include data such as modified time, permissions, and\n * so on. Note that this will incur a performance cost due to the added\n * system calls.\n */\n stat?: boolean\n\n /**\n * An AbortSignal which will cancel the Glob walk when\n * triggered.\n */\n signal?: AbortSignal\n\n /**\n * Use `\\\\` as a path separator _only_, and\n * _never_ as an escape character. If set, all `\\\\` characters are\n * replaced with `/` in the pattern.\n *\n * Note that this makes it **impossible** to match against paths\n * containing literal glob pattern characters, but allows matching\n * with patterns constructed using `path.join()` and\n * `path.resolve()` on Windows platforms, mimicking the (buggy!)\n * behavior of Glob v7 and before on Windows. Please use with\n * caution, and be mindful of [the caveat below about Windows\n * paths](#windows). (For legacy reasons, this is also set if\n * `allowWindowsEscape` is set to the exact value `false`.)\n */\n windowsPathsNoEscape?: boolean\n\n /**\n * Return [PathScurry](http://npm.im/path-scurry)\n * `Path` objects instead of strings. These are similar to a\n * NodeJS `Dirent` object, but with additional methods and\n * properties.\n *\n * Conflicts with {@link absolute}\n */\n withFileTypes?: boolean\n\n /**\n * An fs implementation to override some or all of the defaults. See\n * http://npm.im/path-scurry for details about what can be overridden.\n */\n fs?: FSOption\n\n /**\n * Just passed along to Minimatch. Note that this makes all pattern\n * matching operations slower and *extremely* noisy.\n */\n debug?: boolean\n\n /**\n * Return `/` delimited paths, even on Windows.\n *\n * On posix systems, this has no effect. But, on Windows, it means that\n * paths will be `/` delimited, and absolute paths will be their full\n * resolved UNC forms, eg instead of `'C:\\\\foo\\\\bar'`, it would return\n * `'//?/C:/foo/bar'`\n */\n posix?: boolean\n\n /**\n * Do not match any children of any matches. For example, the pattern\n * `**\\/foo` would match `a/foo`, but not `a/foo/b/foo` in this mode.\n *\n * This is especially useful for cases like \"find all `node_modules`\n * folders, but not the ones in `node_modules`\".\n *\n * In order to support this, the `Ignore` implementation must support an\n * `add(pattern: string)` method. If using the default `Ignore` class, then\n * this is fine, but if this is set to `false`, and a custom `Ignore` is\n * provided that does not have an `add()` method, then it will throw an\n * error.\n *\n * **Caveat** It *only* ignores matches that would be a descendant of a\n * previous match, and only if that descendant is matched *after* the\n * ancestor is encountered. Since the file system walk happens in\n * indeterminate order, it's possible that a match will already be added\n * before its ancestor, if multiple or braced patterns are used.\n *\n * For example:\n *\n * ```ts\n * const results = await glob([\n * // likely to match first, since it's just a stat\n * 'a/b/c/d/e/f',\n *\n * // this pattern is more complicated! It must to various readdir()\n * // calls and test the results against a regular expression, and that\n * // is certainly going to take a little bit longer.\n * //\n * // So, later on, it encounters a match at 'a/b/c/d/e', but it's too\n * // late to ignore a/b/c/d/e/f, because it's already been emitted.\n * 'a/[bdf]/?/[a-z]/*',\n * ], { includeChildMatches: false })\n * ```\n *\n * It's best to only set this to `false` if you can be reasonably sure that\n * no components of the pattern will potentially match one another's file\n * system descendants, or if the occasional included child entry will not\n * cause problems.\n *\n * @default true\n */\n includeChildMatches?: boolean\n}\n\nexport type GlobOptionsWithFileTypesTrue = GlobOptions & {\n withFileTypes: true\n // string options not relevant if returning Path objects.\n absolute?: undefined\n mark?: undefined\n posix?: undefined\n}\n\nexport type GlobOptionsWithFileTypesFalse = GlobOptions & {\n withFileTypes?: false\n}\n\nexport type GlobOptionsWithFileTypesUnset = GlobOptions & {\n withFileTypes?: undefined\n}\n\nexport type Result =\n Opts extends GlobOptionsWithFileTypesTrue ? Path\n : Opts extends GlobOptionsWithFileTypesFalse ? string\n : Opts extends GlobOptionsWithFileTypesUnset ? string\n : string | Path\nexport type Results = Result[]\n\nexport type FileTypes =\n Opts extends GlobOptionsWithFileTypesTrue ? true\n : Opts extends GlobOptionsWithFileTypesFalse ? false\n : Opts extends GlobOptionsWithFileTypesUnset ? false\n : boolean\n\n/**\n * An object that can perform glob pattern traversals.\n */\nexport class Glob implements GlobOptions {\n absolute?: boolean\n cwd: string\n root?: string\n dot: boolean\n dotRelative: boolean\n follow: boolean\n ignore?: string | string[] | IgnoreLike\n magicalBraces: boolean\n mark?: boolean\n matchBase: boolean\n maxDepth: number\n nobrace: boolean\n nocase: boolean\n nodir: boolean\n noext: boolean\n noglobstar: boolean\n pattern: string[]\n platform: NodeJS.Platform\n realpath: boolean\n scurry: PathScurry\n stat: boolean\n signal?: AbortSignal\n windowsPathsNoEscape: boolean\n withFileTypes: FileTypes\n includeChildMatches: boolean\n\n /**\n * The options provided to the constructor.\n */\n opts: Opts\n\n /**\n * An array of parsed immutable {@link Pattern} objects.\n */\n patterns: Pattern[]\n\n /**\n * All options are stored as properties on the `Glob` object.\n *\n * See {@link GlobOptions} for full options descriptions.\n *\n * Note that a previous `Glob` object can be passed as the\n * `GlobOptions` to another `Glob` instantiation to re-use settings\n * and caches with a new pattern.\n *\n * Traversal functions can be called multiple times to run the walk\n * again.\n */\n constructor(pattern: string | string[], opts: Opts) {\n /* c8 ignore start */\n if (!opts) throw new TypeError('glob options required')\n /* c8 ignore stop */\n this.withFileTypes = !!opts.withFileTypes as FileTypes\n this.signal = opts.signal\n this.follow = !!opts.follow\n this.dot = !!opts.dot\n this.dotRelative = !!opts.dotRelative\n this.nodir = !!opts.nodir\n this.mark = !!opts.mark\n if (!opts.cwd) {\n this.cwd = ''\n } else if (opts.cwd instanceof URL || opts.cwd.startsWith('file://')) {\n opts.cwd = fileURLToPath(opts.cwd)\n }\n this.cwd = opts.cwd || ''\n this.root = opts.root\n this.magicalBraces = !!opts.magicalBraces\n this.nobrace = !!opts.nobrace\n this.noext = !!opts.noext\n this.realpath = !!opts.realpath\n this.absolute = opts.absolute\n this.includeChildMatches = opts.includeChildMatches !== false\n\n this.noglobstar = !!opts.noglobstar\n this.matchBase = !!opts.matchBase\n this.maxDepth =\n typeof opts.maxDepth === 'number' ? opts.maxDepth : Infinity\n this.stat = !!opts.stat\n this.ignore = opts.ignore\n\n if (this.withFileTypes && this.absolute !== undefined) {\n throw new Error('cannot set absolute and withFileTypes:true')\n }\n\n if (typeof pattern === 'string') {\n pattern = [pattern]\n }\n\n this.windowsPathsNoEscape =\n !!opts.windowsPathsNoEscape ||\n (opts as { allowWindowsEscape?: boolean }).allowWindowsEscape ===\n false\n\n if (this.windowsPathsNoEscape) {\n pattern = pattern.map(p => p.replace(/\\\\/g, '/'))\n }\n\n if (this.matchBase) {\n if (opts.noglobstar) {\n throw new TypeError('base matching requires globstar')\n }\n pattern = pattern.map(p => (p.includes('/') ? p : `./**/${p}`))\n }\n\n this.pattern = pattern\n\n this.platform = opts.platform || defaultPlatform\n this.opts = { ...opts, platform: this.platform }\n if (opts.scurry) {\n this.scurry = opts.scurry\n if (\n opts.nocase !== undefined &&\n opts.nocase !== opts.scurry.nocase\n ) {\n throw new Error('nocase option contradicts provided scurry option')\n }\n } else {\n const Scurry =\n opts.platform === 'win32' ? PathScurryWin32\n : opts.platform === 'darwin' ? PathScurryDarwin\n : opts.platform ? PathScurryPosix\n : PathScurry\n this.scurry = new Scurry(this.cwd, {\n nocase: opts.nocase,\n fs: opts.fs,\n })\n }\n this.nocase = this.scurry.nocase\n\n // If you do nocase:true on a case-sensitive file system, then\n // we need to use regexps instead of strings for non-magic\n // path portions, because statting `aBc` won't return results\n // for the file `AbC` for example.\n const nocaseMagicOnly =\n this.platform === 'darwin' || this.platform === 'win32'\n\n const mmo: MinimatchOptions = {\n // default nocase based on platform\n ...opts,\n dot: this.dot,\n matchBase: this.matchBase,\n nobrace: this.nobrace,\n nocase: this.nocase,\n nocaseMagicOnly,\n nocomment: true,\n noext: this.noext,\n nonegate: true,\n optimizationLevel: 2,\n platform: this.platform,\n windowsPathsNoEscape: this.windowsPathsNoEscape,\n debug: !!this.opts.debug,\n }\n\n const mms = this.pattern.map(p => new Minimatch(p, mmo))\n const [matchSet, globParts] = mms.reduce(\n (set: [MatchSet, GlobParts], m) => {\n set[0].push(...m.set)\n set[1].push(...m.globParts)\n return set\n },\n [[], []],\n )\n this.patterns = matchSet.map((set, i) => {\n const g = globParts[i]\n /* c8 ignore start */\n if (!g) throw new Error('invalid pattern object')\n /* c8 ignore stop */\n return new Pattern(set, g, 0, this.platform)\n })\n }\n\n /**\n * Returns a Promise that resolves to the results array.\n */\n async walk(): Promise>\n async walk(): Promise<(string | Path)[]> {\n // Walkers always return array of Path objects, so we just have to\n // coerce them into the right shape. It will have already called\n // realpath() if the option was set to do so, so we know that's cached.\n // start out knowing the cwd, at least\n return [\n ...(await new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity ?\n this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n includeChildMatches: this.includeChildMatches,\n }).walk()),\n ]\n }\n\n /**\n * synchronous {@link Glob.walk}\n */\n walkSync(): Results\n walkSync(): (string | Path)[] {\n return [\n ...new GlobWalker(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity ?\n this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n includeChildMatches: this.includeChildMatches,\n }).walkSync(),\n ]\n }\n\n /**\n * Stream results asynchronously.\n */\n stream(): Minipass, Result>\n stream(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity ?\n this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n includeChildMatches: this.includeChildMatches,\n }).stream()\n }\n\n /**\n * Stream results synchronously.\n */\n streamSync(): Minipass, Result>\n streamSync(): Minipass {\n return new GlobStream(this.patterns, this.scurry.cwd, {\n ...this.opts,\n maxDepth:\n this.maxDepth !== Infinity ?\n this.maxDepth + this.scurry.cwd.depth()\n : Infinity,\n platform: this.platform,\n nocase: this.nocase,\n includeChildMatches: this.includeChildMatches,\n }).streamSync()\n }\n\n /**\n * Default sync iteration function. Returns a Generator that\n * iterates over the results.\n */\n iterateSync(): Generator, void, void> {\n return this.streamSync()[Symbol.iterator]()\n }\n [Symbol.iterator]() {\n return this.iterateSync()\n }\n\n /**\n * Default async iteration function. Returns an AsyncGenerator that\n * iterates over the results.\n */\n iterate(): AsyncGenerator, void, void> {\n return this.stream()[Symbol.asyncIterator]()\n }\n [Symbol.asyncIterator]() {\n return this.iterate()\n }\n}\n"]}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.d.ts b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.d.ts
deleted file mode 100644
index 8aec3bd9725175..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.d.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-import { GlobOptions } from './glob.js';
-/**
- * Return true if the patterns provided contain any magic glob characters,
- * given the options provided.
- *
- * Brace expansion is not considered "magic" unless the `magicalBraces` option
- * is set, as brace expansion just turns one string into an array of strings.
- * So a pattern like `'x{a,b}y'` would return `false`, because `'xay'` and
- * `'xby'` both do not contain any magic glob characters, and it's treated the
- * same as if you had called it on `['xay', 'xby']`. When `magicalBraces:true`
- * is in the options, brace expansion _is_ treated as a pattern having magic.
- */
-export declare const hasMagic: (pattern: string | string[], options?: GlobOptions) => boolean;
-//# sourceMappingURL=has-magic.d.ts.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.d.ts.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.d.ts.map
deleted file mode 100644
index b24dd4ec47e0bb..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"has-magic.d.ts","sourceRoot":"","sources":["../../src/has-magic.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC;;;;;;;;;;GAUG;AACH,eAAO,MAAM,QAAQ,YACV,MAAM,GAAG,MAAM,EAAE,YACjB,WAAW,KACnB,OAQF,CAAA"}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.js b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.js
deleted file mode 100644
index 0918bd57e0f1c2..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.js
+++ /dev/null
@@ -1,27 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.hasMagic = void 0;
-const minimatch_1 = require("minimatch");
-/**
- * Return true if the patterns provided contain any magic glob characters,
- * given the options provided.
- *
- * Brace expansion is not considered "magic" unless the `magicalBraces` option
- * is set, as brace expansion just turns one string into an array of strings.
- * So a pattern like `'x{a,b}y'` would return `false`, because `'xay'` and
- * `'xby'` both do not contain any magic glob characters, and it's treated the
- * same as if you had called it on `['xay', 'xby']`. When `magicalBraces:true`
- * is in the options, brace expansion _is_ treated as a pattern having magic.
- */
-const hasMagic = (pattern, options = {}) => {
- if (!Array.isArray(pattern)) {
- pattern = [pattern];
- }
- for (const p of pattern) {
- if (new minimatch_1.Minimatch(p, options).hasMagic())
- return true;
- }
- return false;
-};
-exports.hasMagic = hasMagic;
-//# sourceMappingURL=has-magic.js.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.js.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.js.map
deleted file mode 100644
index 44deab29058276..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/has-magic.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"has-magic.js","sourceRoot":"","sources":["../../src/has-magic.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAGrC;;;;;;;;;;GAUG;AACI,MAAM,QAAQ,GAAG,CACtB,OAA0B,EAC1B,UAAuB,EAAE,EAChB,EAAE;IACX,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,IAAI,qBAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE;YAAE,OAAO,IAAI,CAAA;IACvD,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAXY,QAAA,QAAQ,YAWpB","sourcesContent":["import { Minimatch } from 'minimatch'\nimport { GlobOptions } from './glob.js'\n\n/**\n * Return true if the patterns provided contain any magic glob characters,\n * given the options provided.\n *\n * Brace expansion is not considered \"magic\" unless the `magicalBraces` option\n * is set, as brace expansion just turns one string into an array of strings.\n * So a pattern like `'x{a,b}y'` would return `false`, because `'xay'` and\n * `'xby'` both do not contain any magic glob characters, and it's treated the\n * same as if you had called it on `['xay', 'xby']`. When `magicalBraces:true`\n * is in the options, brace expansion _is_ treated as a pattern having magic.\n */\nexport const hasMagic = (\n pattern: string | string[],\n options: GlobOptions = {},\n): boolean => {\n if (!Array.isArray(pattern)) {\n pattern = [pattern]\n }\n for (const p of pattern) {\n if (new Minimatch(p, options).hasMagic()) return true\n }\n return false\n}\n"]}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.d.ts b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.d.ts
deleted file mode 100644
index 1893b16df877c9..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.d.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-import { Minimatch, MinimatchOptions } from 'minimatch';
-import { Path } from 'path-scurry';
-import { GlobWalkerOpts } from './walker.js';
-export interface IgnoreLike {
- ignored?: (p: Path) => boolean;
- childrenIgnored?: (p: Path) => boolean;
- add?: (ignore: string) => void;
-}
-/**
- * Class used to process ignored patterns
- */
-export declare class Ignore implements IgnoreLike {
- relative: Minimatch[];
- relativeChildren: Minimatch[];
- absolute: Minimatch[];
- absoluteChildren: Minimatch[];
- platform: NodeJS.Platform;
- mmopts: MinimatchOptions;
- constructor(ignored: string[], { nobrace, nocase, noext, noglobstar, platform, }: GlobWalkerOpts);
- add(ign: string): void;
- ignored(p: Path): boolean;
- childrenIgnored(p: Path): boolean;
-}
-//# sourceMappingURL=ignore.d.ts.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.d.ts.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.d.ts.map
deleted file mode 100644
index 57d6ab6153d770..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"ignore.d.ts","sourceRoot":"","sources":["../../src/ignore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACvD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,MAAM,WAAW,UAAU;IACzB,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,CAAA;IAC9B,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,CAAA;IACtC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CAC/B;AAWD;;GAEG;AACH,qBAAa,MAAO,YAAW,UAAU;IACvC,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,gBAAgB,EAAE,SAAS,EAAE,CAAA;IAC7B,QAAQ,EAAE,SAAS,EAAE,CAAA;IACrB,gBAAgB,EAAE,SAAS,EAAE,CAAA;IAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAA;IACzB,MAAM,EAAE,gBAAgB,CAAA;gBAGtB,OAAO,EAAE,MAAM,EAAE,EACjB,EACE,OAAO,EACP,MAAM,EACN,KAAK,EACL,UAAU,EACV,QAA0B,GAC3B,EAAE,cAAc;IAqBnB,GAAG,CAAC,GAAG,EAAE,MAAM;IAyCf,OAAO,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO;IAczB,eAAe,CAAC,CAAC,EAAE,IAAI,GAAG,OAAO;CAWlC"}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.js b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.js
deleted file mode 100644
index 5f1fde0680dea3..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.js
+++ /dev/null
@@ -1,119 +0,0 @@
-"use strict";
-// give it a pattern, and it'll be able to tell you if
-// a given path should be ignored.
-// Ignoring a path ignores its children if the pattern ends in /**
-// Ignores are always parsed in dot:true mode
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Ignore = void 0;
-const minimatch_1 = require("minimatch");
-const pattern_js_1 = require("./pattern.js");
-const defaultPlatform = (typeof process === 'object' &&
- process &&
- typeof process.platform === 'string') ?
- process.platform
- : 'linux';
-/**
- * Class used to process ignored patterns
- */
-class Ignore {
- relative;
- relativeChildren;
- absolute;
- absoluteChildren;
- platform;
- mmopts;
- constructor(ignored, { nobrace, nocase, noext, noglobstar, platform = defaultPlatform, }) {
- this.relative = [];
- this.absolute = [];
- this.relativeChildren = [];
- this.absoluteChildren = [];
- this.platform = platform;
- this.mmopts = {
- dot: true,
- nobrace,
- nocase,
- noext,
- noglobstar,
- optimizationLevel: 2,
- platform,
- nocomment: true,
- nonegate: true,
- };
- for (const ign of ignored)
- this.add(ign);
- }
- add(ign) {
- // this is a little weird, but it gives us a clean set of optimized
- // minimatch matchers, without getting tripped up if one of them
- // ends in /** inside a brace section, and it's only inefficient at
- // the start of the walk, not along it.
- // It'd be nice if the Pattern class just had a .test() method, but
- // handling globstars is a bit of a pita, and that code already lives
- // in minimatch anyway.
- // Another way would be if maybe Minimatch could take its set/globParts
- // as an option, and then we could at least just use Pattern to test
- // for absolute-ness.
- // Yet another way, Minimatch could take an array of glob strings, and
- // a cwd option, and do the right thing.
- const mm = new minimatch_1.Minimatch(ign, this.mmopts);
- for (let i = 0; i < mm.set.length; i++) {
- const parsed = mm.set[i];
- const globParts = mm.globParts[i];
- /* c8 ignore start */
- if (!parsed || !globParts) {
- throw new Error('invalid pattern object');
- }
- // strip off leading ./ portions
- // https://github.com/isaacs/node-glob/issues/570
- while (parsed[0] === '.' && globParts[0] === '.') {
- parsed.shift();
- globParts.shift();
- }
- /* c8 ignore stop */
- const p = new pattern_js_1.Pattern(parsed, globParts, 0, this.platform);
- const m = new minimatch_1.Minimatch(p.globString(), this.mmopts);
- const children = globParts[globParts.length - 1] === '**';
- const absolute = p.isAbsolute();
- if (absolute)
- this.absolute.push(m);
- else
- this.relative.push(m);
- if (children) {
- if (absolute)
- this.absoluteChildren.push(m);
- else
- this.relativeChildren.push(m);
- }
- }
- }
- ignored(p) {
- const fullpath = p.fullpath();
- const fullpaths = `${fullpath}/`;
- const relative = p.relative() || '.';
- const relatives = `${relative}/`;
- for (const m of this.relative) {
- if (m.match(relative) || m.match(relatives))
- return true;
- }
- for (const m of this.absolute) {
- if (m.match(fullpath) || m.match(fullpaths))
- return true;
- }
- return false;
- }
- childrenIgnored(p) {
- const fullpath = p.fullpath() + '/';
- const relative = (p.relative() || '.') + '/';
- for (const m of this.relativeChildren) {
- if (m.match(relative))
- return true;
- }
- for (const m of this.absoluteChildren) {
- if (m.match(fullpath))
- return true;
- }
- return false;
- }
-}
-exports.Ignore = Ignore;
-//# sourceMappingURL=ignore.js.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.js.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.js.map
deleted file mode 100644
index d9dfdfa34ab5c0..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/ignore.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"ignore.js","sourceRoot":"","sources":["../../src/ignore.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,kCAAkC;AAClC,kEAAkE;AAClE,6CAA6C;;;AAE7C,yCAAuD;AAEvD,6CAAsC;AAStC,MAAM,eAAe,GACnB,CACE,OAAO,OAAO,KAAK,QAAQ;IAC3B,OAAO;IACP,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,CACrC,CAAC,CAAC;IACD,OAAO,CAAC,QAAQ;IAClB,CAAC,CAAC,OAAO,CAAA;AAEX;;GAEG;AACH,MAAa,MAAM;IACjB,QAAQ,CAAa;IACrB,gBAAgB,CAAa;IAC7B,QAAQ,CAAa;IACrB,gBAAgB,CAAa;IAC7B,QAAQ,CAAiB;IACzB,MAAM,CAAkB;IAExB,YACE,OAAiB,EACjB,EACE,OAAO,EACP,MAAM,EACN,KAAK,EACL,UAAU,EACV,QAAQ,GAAG,eAAe,GACX;QAEjB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAA;QAClB,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAA;QAC1B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,EAAE,IAAI;YACT,OAAO;YACP,MAAM;YACN,KAAK;YACL,UAAU;YACV,iBAAiB,EAAE,CAAC;YACpB,QAAQ;YACR,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI;SACf,CAAA;QACD,KAAK,MAAM,GAAG,IAAI,OAAO;YAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IAC1C,CAAC;IAED,GAAG,CAAC,GAAW;QACb,mEAAmE;QACnE,gEAAgE;QAChE,mEAAmE;QACnE,uCAAuC;QACvC,mEAAmE;QACnE,qEAAqE;QACrE,uBAAuB;QACvB,uEAAuE;QACvE,oEAAoE;QACpE,qBAAqB;QACrB,sEAAsE;QACtE,wCAAwC;QACxC,MAAM,EAAE,GAAG,IAAI,qBAAS,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YACxB,MAAM,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YACjC,qBAAqB;YACrB,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAA;YAC3C,CAAC;YACD,gCAAgC;YAChC,iDAAiD;YACjD,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;gBACjD,MAAM,CAAC,KAAK,EAAE,CAAA;gBACd,SAAS,CAAC,KAAK,EAAE,CAAA;YACnB,CAAC;YACD,oBAAoB;YACpB,MAAM,CAAC,GAAG,IAAI,oBAAO,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC1D,MAAM,CAAC,GAAG,IAAI,qBAAS,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;YACpD,MAAM,QAAQ,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAA;YACzD,MAAM,QAAQ,GAAG,CAAC,CAAC,UAAU,EAAE,CAAA;YAC/B,IAAI,QAAQ;gBAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;gBAC9B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YAC1B,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,QAAQ;oBAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;;oBACtC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACpC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,CAAO;QACb,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAA;QAC7B,MAAM,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAA;QAChC,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAA;QACpC,MAAM,SAAS,GAAG,GAAG,QAAQ,GAAG,CAAA;QAChC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAA;QAC1D,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;gBAAE,OAAO,IAAI,CAAA;QAC1D,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,eAAe,CAAC,CAAO;QACrB,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAA;QACnC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,IAAI,GAAG,CAAC,GAAG,GAAG,CAAA;QAC5C,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAA;QACpC,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;gBAAE,OAAO,IAAI,CAAA;QACpC,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;CACF;AAvGD,wBAuGC","sourcesContent":["// give it a pattern, and it'll be able to tell you if\n// a given path should be ignored.\n// Ignoring a path ignores its children if the pattern ends in /**\n// Ignores are always parsed in dot:true mode\n\nimport { Minimatch, MinimatchOptions } from 'minimatch'\nimport { Path } from 'path-scurry'\nimport { Pattern } from './pattern.js'\nimport { GlobWalkerOpts } from './walker.js'\n\nexport interface IgnoreLike {\n ignored?: (p: Path) => boolean\n childrenIgnored?: (p: Path) => boolean\n add?: (ignore: string) => void\n}\n\nconst defaultPlatform: NodeJS.Platform =\n (\n typeof process === 'object' &&\n process &&\n typeof process.platform === 'string'\n ) ?\n process.platform\n : 'linux'\n\n/**\n * Class used to process ignored patterns\n */\nexport class Ignore implements IgnoreLike {\n relative: Minimatch[]\n relativeChildren: Minimatch[]\n absolute: Minimatch[]\n absoluteChildren: Minimatch[]\n platform: NodeJS.Platform\n mmopts: MinimatchOptions\n\n constructor(\n ignored: string[],\n {\n nobrace,\n nocase,\n noext,\n noglobstar,\n platform = defaultPlatform,\n }: GlobWalkerOpts,\n ) {\n this.relative = []\n this.absolute = []\n this.relativeChildren = []\n this.absoluteChildren = []\n this.platform = platform\n this.mmopts = {\n dot: true,\n nobrace,\n nocase,\n noext,\n noglobstar,\n optimizationLevel: 2,\n platform,\n nocomment: true,\n nonegate: true,\n }\n for (const ign of ignored) this.add(ign)\n }\n\n add(ign: string) {\n // this is a little weird, but it gives us a clean set of optimized\n // minimatch matchers, without getting tripped up if one of them\n // ends in /** inside a brace section, and it's only inefficient at\n // the start of the walk, not along it.\n // It'd be nice if the Pattern class just had a .test() method, but\n // handling globstars is a bit of a pita, and that code already lives\n // in minimatch anyway.\n // Another way would be if maybe Minimatch could take its set/globParts\n // as an option, and then we could at least just use Pattern to test\n // for absolute-ness.\n // Yet another way, Minimatch could take an array of glob strings, and\n // a cwd option, and do the right thing.\n const mm = new Minimatch(ign, this.mmopts)\n for (let i = 0; i < mm.set.length; i++) {\n const parsed = mm.set[i]\n const globParts = mm.globParts[i]\n /* c8 ignore start */\n if (!parsed || !globParts) {\n throw new Error('invalid pattern object')\n }\n // strip off leading ./ portions\n // https://github.com/isaacs/node-glob/issues/570\n while (parsed[0] === '.' && globParts[0] === '.') {\n parsed.shift()\n globParts.shift()\n }\n /* c8 ignore stop */\n const p = new Pattern(parsed, globParts, 0, this.platform)\n const m = new Minimatch(p.globString(), this.mmopts)\n const children = globParts[globParts.length - 1] === '**'\n const absolute = p.isAbsolute()\n if (absolute) this.absolute.push(m)\n else this.relative.push(m)\n if (children) {\n if (absolute) this.absoluteChildren.push(m)\n else this.relativeChildren.push(m)\n }\n }\n }\n\n ignored(p: Path): boolean {\n const fullpath = p.fullpath()\n const fullpaths = `${fullpath}/`\n const relative = p.relative() || '.'\n const relatives = `${relative}/`\n for (const m of this.relative) {\n if (m.match(relative) || m.match(relatives)) return true\n }\n for (const m of this.absolute) {\n if (m.match(fullpath) || m.match(fullpaths)) return true\n }\n return false\n }\n\n childrenIgnored(p: Path): boolean {\n const fullpath = p.fullpath() + '/'\n const relative = (p.relative() || '.') + '/'\n for (const m of this.relativeChildren) {\n if (m.match(relative)) return true\n }\n for (const m of this.absoluteChildren) {\n if (m.match(fullpath)) return true\n }\n return false\n }\n}\n"]}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.d.ts b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.d.ts
deleted file mode 100644
index 9c326ddc895b61..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.d.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-import { Minipass } from 'minipass';
-import { Path } from 'path-scurry';
-import type { GlobOptions, GlobOptionsWithFileTypesFalse, GlobOptionsWithFileTypesTrue, GlobOptionsWithFileTypesUnset } from './glob.js';
-import { Glob } from './glob.js';
-export { escape, unescape } from 'minimatch';
-export type { FSOption, Path, WalkOptions, WalkOptionsWithFileTypesTrue, WalkOptionsWithFileTypesUnset, } from 'path-scurry';
-export { Glob } from './glob.js';
-export type { GlobOptions, GlobOptionsWithFileTypesFalse, GlobOptionsWithFileTypesTrue, GlobOptionsWithFileTypesUnset, } from './glob.js';
-export { hasMagic } from './has-magic.js';
-export { Ignore } from './ignore.js';
-export type { IgnoreLike } from './ignore.js';
-export type { MatchStream } from './walker.js';
-/**
- * Syncronous form of {@link globStream}. Will read all the matches as fast as
- * you consume them, even all in a single tick if you consume them immediately,
- * but will still respond to backpressure if they're not consumed immediately.
- */
-export declare function globStreamSync(pattern: string | string[], options: GlobOptionsWithFileTypesTrue): Minipass;
-export declare function globStreamSync(pattern: string | string[], options: GlobOptionsWithFileTypesFalse): Minipass;
-export declare function globStreamSync(pattern: string | string[], options: GlobOptionsWithFileTypesUnset): Minipass;
-export declare function globStreamSync(pattern: string | string[], options: GlobOptions): Minipass | Minipass;
-/**
- * Return a stream that emits all the strings or `Path` objects and
- * then emits `end` when completed.
- */
-export declare function globStream(pattern: string | string[], options: GlobOptionsWithFileTypesFalse): Minipass;
-export declare function globStream(pattern: string | string[], options: GlobOptionsWithFileTypesTrue): Minipass;
-export declare function globStream(pattern: string | string[], options?: GlobOptionsWithFileTypesUnset | undefined): Minipass;
-export declare function globStream(pattern: string | string[], options: GlobOptions): Minipass | Minipass;
-/**
- * Synchronous form of {@link glob}
- */
-export declare function globSync(pattern: string | string[], options: GlobOptionsWithFileTypesFalse): string[];
-export declare function globSync(pattern: string | string[], options: GlobOptionsWithFileTypesTrue): Path[];
-export declare function globSync(pattern: string | string[], options?: GlobOptionsWithFileTypesUnset | undefined): string[];
-export declare function globSync(pattern: string | string[], options: GlobOptions): Path[] | string[];
-/**
- * Perform an asynchronous glob search for the pattern(s) specified. Returns
- * [Path](https://isaacs.github.io/path-scurry/classes/PathBase) objects if the
- * {@link withFileTypes} option is set to `true`. See {@link GlobOptions} for
- * full option descriptions.
- */
-declare function glob_(pattern: string | string[], options?: GlobOptionsWithFileTypesUnset | undefined): Promise;
-declare function glob_(pattern: string | string[], options: GlobOptionsWithFileTypesTrue): Promise;
-declare function glob_(pattern: string | string[], options: GlobOptionsWithFileTypesFalse): Promise;
-declare function glob_(pattern: string | string[], options: GlobOptions): Promise;
-/**
- * Return a sync iterator for walking glob pattern matches.
- */
-export declare function globIterateSync(pattern: string | string[], options?: GlobOptionsWithFileTypesUnset | undefined): Generator;
-export declare function globIterateSync(pattern: string | string[], options: GlobOptionsWithFileTypesTrue): Generator;
-export declare function globIterateSync(pattern: string | string[], options: GlobOptionsWithFileTypesFalse): Generator;
-export declare function globIterateSync(pattern: string | string[], options: GlobOptions): Generator | Generator;
-/**
- * Return an async iterator for walking glob pattern matches.
- */
-export declare function globIterate(pattern: string | string[], options?: GlobOptionsWithFileTypesUnset | undefined): AsyncGenerator;
-export declare function globIterate(pattern: string | string[], options: GlobOptionsWithFileTypesTrue): AsyncGenerator;
-export declare function globIterate(pattern: string | string[], options: GlobOptionsWithFileTypesFalse): AsyncGenerator;
-export declare function globIterate(pattern: string | string[], options: GlobOptions): AsyncGenerator | AsyncGenerator;
-export declare const streamSync: typeof globStreamSync;
-export declare const stream: typeof globStream & {
- sync: typeof globStreamSync;
-};
-export declare const iterateSync: typeof globIterateSync;
-export declare const iterate: typeof globIterate & {
- sync: typeof globIterateSync;
-};
-export declare const sync: typeof globSync & {
- stream: typeof globStreamSync;
- iterate: typeof globIterateSync;
-};
-export declare const glob: typeof glob_ & {
- glob: typeof glob_;
- globSync: typeof globSync;
- sync: typeof globSync & {
- stream: typeof globStreamSync;
- iterate: typeof globIterateSync;
- };
- globStream: typeof globStream;
- stream: typeof globStream & {
- sync: typeof globStreamSync;
- };
- globStreamSync: typeof globStreamSync;
- streamSync: typeof globStreamSync;
- globIterate: typeof globIterate;
- iterate: typeof globIterate & {
- sync: typeof globIterateSync;
- };
- globIterateSync: typeof globIterateSync;
- iterateSync: typeof globIterateSync;
- Glob: typeof Glob;
- hasMagic: (pattern: string | string[], options?: GlobOptions) => boolean;
- escape: (s: string, { windowsPathsNoEscape, }?: Pick) => string;
- unescape: (s: string, { windowsPathsNoEscape, }?: Pick) => string;
-};
-//# sourceMappingURL=index.d.ts.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.d.ts.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.d.ts.map
deleted file mode 100644
index 5fb32252b63747..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.js b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.js
deleted file mode 100644
index 151495d170efa2..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.js
+++ /dev/null
@@ -1,68 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.glob = exports.sync = exports.iterate = exports.iterateSync = exports.stream = exports.streamSync = exports.Ignore = exports.hasMagic = exports.Glob = exports.unescape = exports.escape = void 0;
-exports.globStreamSync = globStreamSync;
-exports.globStream = globStream;
-exports.globSync = globSync;
-exports.globIterateSync = globIterateSync;
-exports.globIterate = globIterate;
-const minimatch_1 = require("minimatch");
-const glob_js_1 = require("./glob.js");
-const has_magic_js_1 = require("./has-magic.js");
-var minimatch_2 = require("minimatch");
-Object.defineProperty(exports, "escape", { enumerable: true, get: function () { return minimatch_2.escape; } });
-Object.defineProperty(exports, "unescape", { enumerable: true, get: function () { return minimatch_2.unescape; } });
-var glob_js_2 = require("./glob.js");
-Object.defineProperty(exports, "Glob", { enumerable: true, get: function () { return glob_js_2.Glob; } });
-var has_magic_js_2 = require("./has-magic.js");
-Object.defineProperty(exports, "hasMagic", { enumerable: true, get: function () { return has_magic_js_2.hasMagic; } });
-var ignore_js_1 = require("./ignore.js");
-Object.defineProperty(exports, "Ignore", { enumerable: true, get: function () { return ignore_js_1.Ignore; } });
-function globStreamSync(pattern, options = {}) {
- return new glob_js_1.Glob(pattern, options).streamSync();
-}
-function globStream(pattern, options = {}) {
- return new glob_js_1.Glob(pattern, options).stream();
-}
-function globSync(pattern, options = {}) {
- return new glob_js_1.Glob(pattern, options).walkSync();
-}
-async function glob_(pattern, options = {}) {
- return new glob_js_1.Glob(pattern, options).walk();
-}
-function globIterateSync(pattern, options = {}) {
- return new glob_js_1.Glob(pattern, options).iterateSync();
-}
-function globIterate(pattern, options = {}) {
- return new glob_js_1.Glob(pattern, options).iterate();
-}
-// aliases: glob.sync.stream() glob.stream.sync() glob.sync() etc
-exports.streamSync = globStreamSync;
-exports.stream = Object.assign(globStream, { sync: globStreamSync });
-exports.iterateSync = globIterateSync;
-exports.iterate = Object.assign(globIterate, {
- sync: globIterateSync,
-});
-exports.sync = Object.assign(globSync, {
- stream: globStreamSync,
- iterate: globIterateSync,
-});
-exports.glob = Object.assign(glob_, {
- glob: glob_,
- globSync,
- sync: exports.sync,
- globStream,
- stream: exports.stream,
- globStreamSync,
- streamSync: exports.streamSync,
- globIterate,
- iterate: exports.iterate,
- globIterateSync,
- iterateSync: exports.iterateSync,
- Glob: glob_js_1.Glob,
- hasMagic: has_magic_js_1.hasMagic,
- escape: minimatch_1.escape,
- unescape: minimatch_1.unescape,
-});
-exports.glob.glob = exports.glob;
-//# sourceMappingURL=index.js.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.js.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.js.map
deleted file mode 100644
index e648b1d01939bc..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/index.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAqDA,wCAKC;AAsBD,gCAKC;AAqBD,4BAKC;AAkDD,0CAKC;AAqBD,kCAKC;AAhMD,yCAA4C;AAS5C,uCAAgC;AAChC,iDAAyC;AAEzC,uCAA4C;AAAnC,mGAAA,MAAM,OAAA;AAAE,qGAAA,QAAQ,OAAA;AAQzB,qCAAgC;AAAvB,+FAAA,IAAI,OAAA;AAOb,+CAAyC;AAAhC,wGAAA,QAAQ,OAAA;AACjB,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AAyBf,SAAgB,cAAc,CAC5B,OAA0B,EAC1B,UAAuB,EAAE;IAEzB,OAAO,IAAI,cAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,UAAU,EAAE,CAAA;AAChD,CAAC;AAsBD,SAAgB,UAAU,CACxB,OAA0B,EAC1B,UAAuB,EAAE;IAEzB,OAAO,IAAI,cAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,MAAM,EAAE,CAAA;AAC5C,CAAC;AAqBD,SAAgB,QAAQ,CACtB,OAA0B,EAC1B,UAAuB,EAAE;IAEzB,OAAO,IAAI,cAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAA;AAC9C,CAAC;AAwBD,KAAK,UAAU,KAAK,CAClB,OAA0B,EAC1B,UAAuB,EAAE;IAEzB,OAAO,IAAI,cAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;AAC1C,CAAC;AAqBD,SAAgB,eAAe,CAC7B,OAA0B,EAC1B,UAAuB,EAAE;IAEzB,OAAO,IAAI,cAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,WAAW,EAAE,CAAA;AACjD,CAAC;AAqBD,SAAgB,WAAW,CACzB,OAA0B,EAC1B,UAAuB,EAAE;IAEzB,OAAO,IAAI,cAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,EAAE,CAAA;AAC7C,CAAC;AAED,iEAAiE;AACpD,QAAA,UAAU,GAAG,cAAc,CAAA;AAC3B,QAAA,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;AAC5D,QAAA,WAAW,GAAG,eAAe,CAAA;AAC7B,QAAA,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;IAChD,IAAI,EAAE,eAAe;CACtB,CAAC,CAAA;AACW,QAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE;IAC1C,MAAM,EAAE,cAAc;IACtB,OAAO,EAAE,eAAe;CACzB,CAAC,CAAA;AAEW,QAAA,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;IACvC,IAAI,EAAE,KAAK;IACX,QAAQ;IACR,IAAI,EAAJ,YAAI;IACJ,UAAU;IACV,MAAM,EAAN,cAAM;IACN,cAAc;IACd,UAAU,EAAV,kBAAU;IACV,WAAW;IACX,OAAO,EAAP,eAAO;IACP,eAAe;IACf,WAAW,EAAX,mBAAW;IACX,IAAI,EAAJ,cAAI;IACJ,QAAQ,EAAR,uBAAQ;IACR,MAAM,EAAN,kBAAM;IACN,QAAQ,EAAR,oBAAQ;CACT,CAAC,CAAA;AACF,YAAI,CAAC,IAAI,GAAG,YAAI,CAAA","sourcesContent":["import { escape, unescape } from 'minimatch'\nimport { Minipass } from 'minipass'\nimport { Path } from 'path-scurry'\nimport type {\n GlobOptions,\n GlobOptionsWithFileTypesFalse,\n GlobOptionsWithFileTypesTrue,\n GlobOptionsWithFileTypesUnset,\n} from './glob.js'\nimport { Glob } from './glob.js'\nimport { hasMagic } from './has-magic.js'\n\nexport { escape, unescape } from 'minimatch'\nexport type {\n FSOption,\n Path,\n WalkOptions,\n WalkOptionsWithFileTypesTrue,\n WalkOptionsWithFileTypesUnset,\n} from 'path-scurry'\nexport { Glob } from './glob.js'\nexport type {\n GlobOptions,\n GlobOptionsWithFileTypesFalse,\n GlobOptionsWithFileTypesTrue,\n GlobOptionsWithFileTypesUnset,\n} from './glob.js'\nexport { hasMagic } from './has-magic.js'\nexport { Ignore } from './ignore.js'\nexport type { IgnoreLike } from './ignore.js'\nexport type { MatchStream } from './walker.js'\n\n/**\n * Syncronous form of {@link globStream}. Will read all the matches as fast as\n * you consume them, even all in a single tick if you consume them immediately,\n * but will still respond to backpressure if they're not consumed immediately.\n */\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Minipass\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): Minipass\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesUnset,\n): Minipass\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptions,\n): Minipass | Minipass\nexport function globStreamSync(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).streamSync()\n}\n\n/**\n * Return a stream that emits all the strings or `Path` objects and\n * then emits `end` when completed.\n */\nexport function globStream(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): Minipass\nexport function globStream(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Minipass\nexport function globStream(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): Minipass\nexport function globStream(\n pattern: string | string[],\n options: GlobOptions,\n): Minipass | Minipass\nexport function globStream(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).stream()\n}\n\n/**\n * Synchronous form of {@link glob}\n */\nexport function globSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): string[]\nexport function globSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Path[]\nexport function globSync(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): string[]\nexport function globSync(\n pattern: string | string[],\n options: GlobOptions,\n): Path[] | string[]\nexport function globSync(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).walkSync()\n}\n\n/**\n * Perform an asynchronous glob search for the pattern(s) specified. Returns\n * [Path](https://isaacs.github.io/path-scurry/classes/PathBase) objects if the\n * {@link withFileTypes} option is set to `true`. See {@link GlobOptions} for\n * full option descriptions.\n */\nasync function glob_(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): Promise\nasync function glob_(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Promise\nasync function glob_(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): Promise\nasync function glob_(\n pattern: string | string[],\n options: GlobOptions,\n): Promise\nasync function glob_(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).walk()\n}\n\n/**\n * Return a sync iterator for walking glob pattern matches.\n */\nexport function globIterateSync(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): Generator\nexport function globIterateSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): Generator\nexport function globIterateSync(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): Generator\nexport function globIterateSync(\n pattern: string | string[],\n options: GlobOptions,\n): Generator | Generator\nexport function globIterateSync(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).iterateSync()\n}\n\n/**\n * Return an async iterator for walking glob pattern matches.\n */\nexport function globIterate(\n pattern: string | string[],\n options?: GlobOptionsWithFileTypesUnset | undefined,\n): AsyncGenerator\nexport function globIterate(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesTrue,\n): AsyncGenerator\nexport function globIterate(\n pattern: string | string[],\n options: GlobOptionsWithFileTypesFalse,\n): AsyncGenerator\nexport function globIterate(\n pattern: string | string[],\n options: GlobOptions,\n): AsyncGenerator | AsyncGenerator\nexport function globIterate(\n pattern: string | string[],\n options: GlobOptions = {},\n) {\n return new Glob(pattern, options).iterate()\n}\n\n// aliases: glob.sync.stream() glob.stream.sync() glob.sync() etc\nexport const streamSync = globStreamSync\nexport const stream = Object.assign(globStream, { sync: globStreamSync })\nexport const iterateSync = globIterateSync\nexport const iterate = Object.assign(globIterate, {\n sync: globIterateSync,\n})\nexport const sync = Object.assign(globSync, {\n stream: globStreamSync,\n iterate: globIterateSync,\n})\n\nexport const glob = Object.assign(glob_, {\n glob: glob_,\n globSync,\n sync,\n globStream,\n stream,\n globStreamSync,\n streamSync,\n globIterate,\n iterate,\n globIterateSync,\n iterateSync,\n Glob,\n hasMagic,\n escape,\n unescape,\n})\nglob.glob = glob\n"]}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/package.json b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/package.json
deleted file mode 100644
index 5bbefffbabee39..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "type": "commonjs"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.d.ts b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.d.ts
deleted file mode 100644
index 9636df3b54df29..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.d.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import { GLOBSTAR } from 'minimatch';
-export type MMPattern = string | RegExp | typeof GLOBSTAR;
-export type PatternList = [p: MMPattern, ...rest: MMPattern[]];
-export type UNCPatternList = [
- p0: '',
- p1: '',
- p2: string,
- p3: string,
- ...rest: MMPattern[]
-];
-export type DrivePatternList = [p0: string, ...rest: MMPattern[]];
-export type AbsolutePatternList = [p0: '', ...rest: MMPattern[]];
-export type GlobList = [p: string, ...rest: string[]];
-/**
- * An immutable-ish view on an array of glob parts and their parsed
- * results
- */
-export declare class Pattern {
- #private;
- readonly length: number;
- constructor(patternList: MMPattern[], globList: string[], index: number, platform: NodeJS.Platform);
- /**
- * The first entry in the parsed list of patterns
- */
- pattern(): MMPattern;
- /**
- * true of if pattern() returns a string
- */
- isString(): boolean;
- /**
- * true of if pattern() returns GLOBSTAR
- */
- isGlobstar(): boolean;
- /**
- * true if pattern() returns a regexp
- */
- isRegExp(): boolean;
- /**
- * The /-joined set of glob parts that make up this pattern
- */
- globString(): string;
- /**
- * true if there are more pattern parts after this one
- */
- hasMore(): boolean;
- /**
- * The rest of the pattern after this part, or null if this is the end
- */
- rest(): Pattern | null;
- /**
- * true if the pattern represents a //unc/path/ on windows
- */
- isUNC(): boolean;
- /**
- * True if the pattern starts with a drive letter on Windows
- */
- isDrive(): boolean;
- /**
- * True if the pattern is rooted on an absolute path
- */
- isAbsolute(): boolean;
- /**
- * consume the root of the pattern, and return it
- */
- root(): string;
- /**
- * Check to see if the current globstar pattern is allowed to follow
- * a symbolic link.
- */
- checkFollowGlobstar(): boolean;
- /**
- * Mark that the current globstar pattern is following a symbolic link
- */
- markFollowGlobstar(): boolean;
-}
-//# sourceMappingURL=pattern.d.ts.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.d.ts.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.d.ts.map
deleted file mode 100644
index cdf322346317d8..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"pattern.d.ts","sourceRoot":"","sources":["../../src/pattern.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AACpC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,QAAQ,CAAA;AAGzD,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;AAC9D,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,MAAM;IACV,EAAE,EAAE,MAAM;IACV,GAAG,IAAI,EAAE,SAAS,EAAE;CACrB,CAAA;AACD,MAAM,MAAM,gBAAgB,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;AACjE,MAAM,MAAM,mBAAmB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,SAAS,EAAE,CAAC,CAAA;AAChE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAA;AAMrD;;;GAGG;AACH,qBAAa,OAAO;;IAIlB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;gBAUrB,WAAW,EAAE,SAAS,EAAE,EACxB,QAAQ,EAAE,MAAM,EAAE,EAClB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;IA6D3B;;OAEG;IACH,OAAO,IAAI,SAAS;IAIpB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAGnB;;OAEG;IACH,UAAU,IAAI,OAAO;IAGrB;;OAEG;IACH,QAAQ,IAAI,OAAO;IAInB;;OAEG;IACH,UAAU,IAAI,MAAM;IAUpB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,IAAI,IAAI,OAAO,GAAG,IAAI;IAetB;;OAEG;IACH,KAAK,IAAI,OAAO;IAoBhB;;OAEG;IACH,OAAO,IAAI,OAAO;IAelB;;OAEG;IACH,UAAU,IAAI,OAAO;IAUrB;;OAEG;IACH,IAAI,IAAI,MAAM;IASd;;;OAGG;IACH,mBAAmB,IAAI,OAAO;IAQ9B;;OAEG;IACH,kBAAkB,IAAI,OAAO;CAM9B"}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.js b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.js
deleted file mode 100644
index f0de35fb5bed9d..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.js
+++ /dev/null
@@ -1,219 +0,0 @@
-"use strict";
-// this is just a very light wrapper around 2 arrays with an offset index
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Pattern = void 0;
-const minimatch_1 = require("minimatch");
-const isPatternList = (pl) => pl.length >= 1;
-const isGlobList = (gl) => gl.length >= 1;
-/**
- * An immutable-ish view on an array of glob parts and their parsed
- * results
- */
-class Pattern {
- #patternList;
- #globList;
- #index;
- length;
- #platform;
- #rest;
- #globString;
- #isDrive;
- #isUNC;
- #isAbsolute;
- #followGlobstar = true;
- constructor(patternList, globList, index, platform) {
- if (!isPatternList(patternList)) {
- throw new TypeError('empty pattern list');
- }
- if (!isGlobList(globList)) {
- throw new TypeError('empty glob list');
- }
- if (globList.length !== patternList.length) {
- throw new TypeError('mismatched pattern list and glob list lengths');
- }
- this.length = patternList.length;
- if (index < 0 || index >= this.length) {
- throw new TypeError('index out of range');
- }
- this.#patternList = patternList;
- this.#globList = globList;
- this.#index = index;
- this.#platform = platform;
- // normalize root entries of absolute patterns on initial creation.
- if (this.#index === 0) {
- // c: => ['c:/']
- // C:/ => ['C:/']
- // C:/x => ['C:/', 'x']
- // //host/share => ['//host/share/']
- // //host/share/ => ['//host/share/']
- // //host/share/x => ['//host/share/', 'x']
- // /etc => ['/', 'etc']
- // / => ['/']
- if (this.isUNC()) {
- // '' / '' / 'host' / 'share'
- const [p0, p1, p2, p3, ...prest] = this.#patternList;
- const [g0, g1, g2, g3, ...grest] = this.#globList;
- if (prest[0] === '') {
- // ends in /
- prest.shift();
- grest.shift();
- }
- const p = [p0, p1, p2, p3, ''].join('/');
- const g = [g0, g1, g2, g3, ''].join('/');
- this.#patternList = [p, ...prest];
- this.#globList = [g, ...grest];
- this.length = this.#patternList.length;
- }
- else if (this.isDrive() || this.isAbsolute()) {
- const [p1, ...prest] = this.#patternList;
- const [g1, ...grest] = this.#globList;
- if (prest[0] === '') {
- // ends in /
- prest.shift();
- grest.shift();
- }
- const p = p1 + '/';
- const g = g1 + '/';
- this.#patternList = [p, ...prest];
- this.#globList = [g, ...grest];
- this.length = this.#patternList.length;
- }
- }
- }
- /**
- * The first entry in the parsed list of patterns
- */
- pattern() {
- return this.#patternList[this.#index];
- }
- /**
- * true of if pattern() returns a string
- */
- isString() {
- return typeof this.#patternList[this.#index] === 'string';
- }
- /**
- * true of if pattern() returns GLOBSTAR
- */
- isGlobstar() {
- return this.#patternList[this.#index] === minimatch_1.GLOBSTAR;
- }
- /**
- * true if pattern() returns a regexp
- */
- isRegExp() {
- return this.#patternList[this.#index] instanceof RegExp;
- }
- /**
- * The /-joined set of glob parts that make up this pattern
- */
- globString() {
- return (this.#globString =
- this.#globString ||
- (this.#index === 0 ?
- this.isAbsolute() ?
- this.#globList[0] + this.#globList.slice(1).join('/')
- : this.#globList.join('/')
- : this.#globList.slice(this.#index).join('/')));
- }
- /**
- * true if there are more pattern parts after this one
- */
- hasMore() {
- return this.length > this.#index + 1;
- }
- /**
- * The rest of the pattern after this part, or null if this is the end
- */
- rest() {
- if (this.#rest !== undefined)
- return this.#rest;
- if (!this.hasMore())
- return (this.#rest = null);
- this.#rest = new Pattern(this.#patternList, this.#globList, this.#index + 1, this.#platform);
- this.#rest.#isAbsolute = this.#isAbsolute;
- this.#rest.#isUNC = this.#isUNC;
- this.#rest.#isDrive = this.#isDrive;
- return this.#rest;
- }
- /**
- * true if the pattern represents a //unc/path/ on windows
- */
- isUNC() {
- const pl = this.#patternList;
- return this.#isUNC !== undefined ?
- this.#isUNC
- : (this.#isUNC =
- this.#platform === 'win32' &&
- this.#index === 0 &&
- pl[0] === '' &&
- pl[1] === '' &&
- typeof pl[2] === 'string' &&
- !!pl[2] &&
- typeof pl[3] === 'string' &&
- !!pl[3]);
- }
- // pattern like C:/...
- // split = ['C:', ...]
- // XXX: would be nice to handle patterns like `c:*` to test the cwd
- // in c: for *, but I don't know of a way to even figure out what that
- // cwd is without actually chdir'ing into it?
- /**
- * True if the pattern starts with a drive letter on Windows
- */
- isDrive() {
- const pl = this.#patternList;
- return this.#isDrive !== undefined ?
- this.#isDrive
- : (this.#isDrive =
- this.#platform === 'win32' &&
- this.#index === 0 &&
- this.length > 1 &&
- typeof pl[0] === 'string' &&
- /^[a-z]:$/i.test(pl[0]));
- }
- // pattern = '/' or '/...' or '/x/...'
- // split = ['', ''] or ['', ...] or ['', 'x', ...]
- // Drive and UNC both considered absolute on windows
- /**
- * True if the pattern is rooted on an absolute path
- */
- isAbsolute() {
- const pl = this.#patternList;
- return this.#isAbsolute !== undefined ?
- this.#isAbsolute
- : (this.#isAbsolute =
- (pl[0] === '' && pl.length > 1) ||
- this.isDrive() ||
- this.isUNC());
- }
- /**
- * consume the root of the pattern, and return it
- */
- root() {
- const p = this.#patternList[0];
- return (typeof p === 'string' && this.isAbsolute() && this.#index === 0) ?
- p
- : '';
- }
- /**
- * Check to see if the current globstar pattern is allowed to follow
- * a symbolic link.
- */
- checkFollowGlobstar() {
- return !(this.#index === 0 ||
- !this.isGlobstar() ||
- !this.#followGlobstar);
- }
- /**
- * Mark that the current globstar pattern is following a symbolic link
- */
- markFollowGlobstar() {
- if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)
- return false;
- this.#followGlobstar = false;
- return true;
- }
-}
-exports.Pattern = Pattern;
-//# sourceMappingURL=pattern.js.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.js.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.js.map
deleted file mode 100644
index fc10ea5d6c4ef4..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/pattern.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"pattern.js","sourceRoot":"","sources":["../../src/pattern.ts"],"names":[],"mappings":"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","sourcesContent":["// this is just a very light wrapper around 2 arrays with an offset index\n\nimport { GLOBSTAR } from 'minimatch'\nexport type MMPattern = string | RegExp | typeof GLOBSTAR\n\n// an array of length >= 1\nexport type PatternList = [p: MMPattern, ...rest: MMPattern[]]\nexport type UNCPatternList = [\n p0: '',\n p1: '',\n p2: string,\n p3: string,\n ...rest: MMPattern[],\n]\nexport type DrivePatternList = [p0: string, ...rest: MMPattern[]]\nexport type AbsolutePatternList = [p0: '', ...rest: MMPattern[]]\nexport type GlobList = [p: string, ...rest: string[]]\n\nconst isPatternList = (pl: MMPattern[]): pl is PatternList =>\n pl.length >= 1\nconst isGlobList = (gl: string[]): gl is GlobList => gl.length >= 1\n\n/**\n * An immutable-ish view on an array of glob parts and their parsed\n * results\n */\nexport class Pattern {\n readonly #patternList: PatternList\n readonly #globList: GlobList\n readonly #index: number\n readonly length: number\n readonly #platform: NodeJS.Platform\n #rest?: Pattern | null\n #globString?: string\n #isDrive?: boolean\n #isUNC?: boolean\n #isAbsolute?: boolean\n #followGlobstar: boolean = true\n\n constructor(\n patternList: MMPattern[],\n globList: string[],\n index: number,\n platform: NodeJS.Platform,\n ) {\n if (!isPatternList(patternList)) {\n throw new TypeError('empty pattern list')\n }\n if (!isGlobList(globList)) {\n throw new TypeError('empty glob list')\n }\n if (globList.length !== patternList.length) {\n throw new TypeError('mismatched pattern list and glob list lengths')\n }\n this.length = patternList.length\n if (index < 0 || index >= this.length) {\n throw new TypeError('index out of range')\n }\n this.#patternList = patternList\n this.#globList = globList\n this.#index = index\n this.#platform = platform\n\n // normalize root entries of absolute patterns on initial creation.\n if (this.#index === 0) {\n // c: => ['c:/']\n // C:/ => ['C:/']\n // C:/x => ['C:/', 'x']\n // //host/share => ['//host/share/']\n // //host/share/ => ['//host/share/']\n // //host/share/x => ['//host/share/', 'x']\n // /etc => ['/', 'etc']\n // / => ['/']\n if (this.isUNC()) {\n // '' / '' / 'host' / 'share'\n const [p0, p1, p2, p3, ...prest] = this.#patternList\n const [g0, g1, g2, g3, ...grest] = this.#globList\n if (prest[0] === '') {\n // ends in /\n prest.shift()\n grest.shift()\n }\n const p = [p0, p1, p2, p3, ''].join('/')\n const g = [g0, g1, g2, g3, ''].join('/')\n this.#patternList = [p, ...prest]\n this.#globList = [g, ...grest]\n this.length = this.#patternList.length\n } else if (this.isDrive() || this.isAbsolute()) {\n const [p1, ...prest] = this.#patternList\n const [g1, ...grest] = this.#globList\n if (prest[0] === '') {\n // ends in /\n prest.shift()\n grest.shift()\n }\n const p = (p1 as string) + '/'\n const g = g1 + '/'\n this.#patternList = [p, ...prest]\n this.#globList = [g, ...grest]\n this.length = this.#patternList.length\n }\n }\n }\n\n /**\n * The first entry in the parsed list of patterns\n */\n pattern(): MMPattern {\n return this.#patternList[this.#index] as MMPattern\n }\n\n /**\n * true of if pattern() returns a string\n */\n isString(): boolean {\n return typeof this.#patternList[this.#index] === 'string'\n }\n /**\n * true of if pattern() returns GLOBSTAR\n */\n isGlobstar(): boolean {\n return this.#patternList[this.#index] === GLOBSTAR\n }\n /**\n * true if pattern() returns a regexp\n */\n isRegExp(): boolean {\n return this.#patternList[this.#index] instanceof RegExp\n }\n\n /**\n * The /-joined set of glob parts that make up this pattern\n */\n globString(): string {\n return (this.#globString =\n this.#globString ||\n (this.#index === 0 ?\n this.isAbsolute() ?\n this.#globList[0] + this.#globList.slice(1).join('/')\n : this.#globList.join('/')\n : this.#globList.slice(this.#index).join('/')))\n }\n\n /**\n * true if there are more pattern parts after this one\n */\n hasMore(): boolean {\n return this.length > this.#index + 1\n }\n\n /**\n * The rest of the pattern after this part, or null if this is the end\n */\n rest(): Pattern | null {\n if (this.#rest !== undefined) return this.#rest\n if (!this.hasMore()) return (this.#rest = null)\n this.#rest = new Pattern(\n this.#patternList,\n this.#globList,\n this.#index + 1,\n this.#platform,\n )\n this.#rest.#isAbsolute = this.#isAbsolute\n this.#rest.#isUNC = this.#isUNC\n this.#rest.#isDrive = this.#isDrive\n return this.#rest\n }\n\n /**\n * true if the pattern represents a //unc/path/ on windows\n */\n isUNC(): boolean {\n const pl = this.#patternList\n return this.#isUNC !== undefined ?\n this.#isUNC\n : (this.#isUNC =\n this.#platform === 'win32' &&\n this.#index === 0 &&\n pl[0] === '' &&\n pl[1] === '' &&\n typeof pl[2] === 'string' &&\n !!pl[2] &&\n typeof pl[3] === 'string' &&\n !!pl[3])\n }\n\n // pattern like C:/...\n // split = ['C:', ...]\n // XXX: would be nice to handle patterns like `c:*` to test the cwd\n // in c: for *, but I don't know of a way to even figure out what that\n // cwd is without actually chdir'ing into it?\n /**\n * True if the pattern starts with a drive letter on Windows\n */\n isDrive(): boolean {\n const pl = this.#patternList\n return this.#isDrive !== undefined ?\n this.#isDrive\n : (this.#isDrive =\n this.#platform === 'win32' &&\n this.#index === 0 &&\n this.length > 1 &&\n typeof pl[0] === 'string' &&\n /^[a-z]:$/i.test(pl[0]))\n }\n\n // pattern = '/' or '/...' or '/x/...'\n // split = ['', ''] or ['', ...] or ['', 'x', ...]\n // Drive and UNC both considered absolute on windows\n /**\n * True if the pattern is rooted on an absolute path\n */\n isAbsolute(): boolean {\n const pl = this.#patternList\n return this.#isAbsolute !== undefined ?\n this.#isAbsolute\n : (this.#isAbsolute =\n (pl[0] === '' && pl.length > 1) ||\n this.isDrive() ||\n this.isUNC())\n }\n\n /**\n * consume the root of the pattern, and return it\n */\n root(): string {\n const p = this.#patternList[0]\n return (\n typeof p === 'string' && this.isAbsolute() && this.#index === 0\n ) ?\n p\n : ''\n }\n\n /**\n * Check to see if the current globstar pattern is allowed to follow\n * a symbolic link.\n */\n checkFollowGlobstar(): boolean {\n return !(\n this.#index === 0 ||\n !this.isGlobstar() ||\n !this.#followGlobstar\n )\n }\n\n /**\n * Mark that the current globstar pattern is following a symbolic link\n */\n markFollowGlobstar(): boolean {\n if (this.#index === 0 || !this.isGlobstar() || !this.#followGlobstar)\n return false\n this.#followGlobstar = false\n return true\n }\n}\n"]}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.d.ts b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.d.ts
deleted file mode 100644
index ccedfbf2820f7d..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.d.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import { MMRegExp } from 'minimatch';
-import { Path } from 'path-scurry';
-import { Pattern } from './pattern.js';
-import { GlobWalkerOpts } from './walker.js';
-/**
- * A cache of which patterns have been processed for a given Path
- */
-export declare class HasWalkedCache {
- store: Map>;
- constructor(store?: Map>);
- copy(): HasWalkedCache;
- hasWalked(target: Path, pattern: Pattern): boolean | undefined;
- storeWalked(target: Path, pattern: Pattern): void;
-}
-/**
- * A record of which paths have been matched in a given walk step,
- * and whether they only are considered a match if they are a directory,
- * and whether their absolute or relative path should be returned.
- */
-export declare class MatchRecord {
- store: Map;
- add(target: Path, absolute: boolean, ifDir: boolean): void;
- entries(): [Path, boolean, boolean][];
-}
-/**
- * A collection of patterns that must be processed in a subsequent step
- * for a given path.
- */
-export declare class SubWalks {
- store: Map;
- add(target: Path, pattern: Pattern): void;
- get(target: Path): Pattern[];
- entries(): [Path, Pattern[]][];
- keys(): Path[];
-}
-/**
- * The class that processes patterns for a given path.
- *
- * Handles child entry filtering, and determining whether a path's
- * directory contents must be read.
- */
-export declare class Processor {
- hasWalkedCache: HasWalkedCache;
- matches: MatchRecord;
- subwalks: SubWalks;
- patterns?: Pattern[];
- follow: boolean;
- dot: boolean;
- opts: GlobWalkerOpts;
- constructor(opts: GlobWalkerOpts, hasWalkedCache?: HasWalkedCache);
- processPatterns(target: Path, patterns: Pattern[]): this;
- subwalkTargets(): Path[];
- child(): Processor;
- filterEntries(parent: Path, entries: Path[]): Processor;
- testGlobstar(e: Path, pattern: Pattern, rest: Pattern | null, absolute: boolean): void;
- testRegExp(e: Path, p: MMRegExp, rest: Pattern | null, absolute: boolean): void;
- testString(e: Path, p: string, rest: Pattern | null, absolute: boolean): void;
-}
-//# sourceMappingURL=processor.d.ts.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.d.ts.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.d.ts.map
deleted file mode 100644
index aa266fee4a0544..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../src/processor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,QAAQ,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAa,OAAO,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C;;GAEG;AACH,qBAAa,cAAc;IACzB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAA;gBACnB,KAAK,GAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IAGvD,IAAI;IAGJ,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;IAGxC,WAAW,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;CAM3C;AAED;;;;GAIG;AACH,qBAAa,WAAW;IACtB,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAY;IACpC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO;IAMnD,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE;CAOtC;AAED;;;GAGG;AACH,qBAAa,QAAQ;IACnB,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAY;IACvC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO;IAWlC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,OAAO,EAAE;IAS5B,OAAO,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE;IAG9B,IAAI,IAAI,IAAI,EAAE;CAGf;AAED;;;;;GAKG;AACH,qBAAa,SAAS;IACpB,cAAc,EAAE,cAAc,CAAA;IAC9B,OAAO,cAAoB;IAC3B,QAAQ,WAAiB;IACzB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAA;IACpB,MAAM,EAAE,OAAO,CAAA;IACf,GAAG,EAAE,OAAO,CAAA;IACZ,IAAI,EAAE,cAAc,CAAA;gBAER,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,EAAE,cAAc;IAQjE,eAAe,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE;IAmGjD,cAAc,IAAI,IAAI,EAAE;IAIxB,KAAK;IAQL,aAAa,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,SAAS;IAqBvD,YAAY,CACV,CAAC,EAAE,IAAI,EACP,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,OAAO,GAAG,IAAI,EACpB,QAAQ,EAAE,OAAO;IA8CnB,UAAU,CACR,CAAC,EAAE,IAAI,EACP,CAAC,EAAE,QAAQ,EACX,IAAI,EAAE,OAAO,GAAG,IAAI,EACpB,QAAQ,EAAE,OAAO;IAUnB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO;CASvE"}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.js b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.js
deleted file mode 100644
index ee3bb4397e0b2d..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.js
+++ /dev/null
@@ -1,301 +0,0 @@
-"use strict";
-// synchronous utility for filtering entries and calculating subwalks
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.Processor = exports.SubWalks = exports.MatchRecord = exports.HasWalkedCache = void 0;
-const minimatch_1 = require("minimatch");
-/**
- * A cache of which patterns have been processed for a given Path
- */
-class HasWalkedCache {
- store;
- constructor(store = new Map()) {
- this.store = store;
- }
- copy() {
- return new HasWalkedCache(new Map(this.store));
- }
- hasWalked(target, pattern) {
- return this.store.get(target.fullpath())?.has(pattern.globString());
- }
- storeWalked(target, pattern) {
- const fullpath = target.fullpath();
- const cached = this.store.get(fullpath);
- if (cached)
- cached.add(pattern.globString());
- else
- this.store.set(fullpath, new Set([pattern.globString()]));
- }
-}
-exports.HasWalkedCache = HasWalkedCache;
-/**
- * A record of which paths have been matched in a given walk step,
- * and whether they only are considered a match if they are a directory,
- * and whether their absolute or relative path should be returned.
- */
-class MatchRecord {
- store = new Map();
- add(target, absolute, ifDir) {
- const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0);
- const current = this.store.get(target);
- this.store.set(target, current === undefined ? n : n & current);
- }
- // match, absolute, ifdir
- entries() {
- return [...this.store.entries()].map(([path, n]) => [
- path,
- !!(n & 2),
- !!(n & 1),
- ]);
- }
-}
-exports.MatchRecord = MatchRecord;
-/**
- * A collection of patterns that must be processed in a subsequent step
- * for a given path.
- */
-class SubWalks {
- store = new Map();
- add(target, pattern) {
- if (!target.canReaddir()) {
- return;
- }
- const subs = this.store.get(target);
- if (subs) {
- if (!subs.find(p => p.globString() === pattern.globString())) {
- subs.push(pattern);
- }
- }
- else
- this.store.set(target, [pattern]);
- }
- get(target) {
- const subs = this.store.get(target);
- /* c8 ignore start */
- if (!subs) {
- throw new Error('attempting to walk unknown path');
- }
- /* c8 ignore stop */
- return subs;
- }
- entries() {
- return this.keys().map(k => [k, this.store.get(k)]);
- }
- keys() {
- return [...this.store.keys()].filter(t => t.canReaddir());
- }
-}
-exports.SubWalks = SubWalks;
-/**
- * The class that processes patterns for a given path.
- *
- * Handles child entry filtering, and determining whether a path's
- * directory contents must be read.
- */
-class Processor {
- hasWalkedCache;
- matches = new MatchRecord();
- subwalks = new SubWalks();
- patterns;
- follow;
- dot;
- opts;
- constructor(opts, hasWalkedCache) {
- this.opts = opts;
- this.follow = !!opts.follow;
- this.dot = !!opts.dot;
- this.hasWalkedCache =
- hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache();
- }
- processPatterns(target, patterns) {
- this.patterns = patterns;
- const processingSet = patterns.map(p => [target, p]);
- // map of paths to the magic-starting subwalks they need to walk
- // first item in patterns is the filter
- for (let [t, pattern] of processingSet) {
- this.hasWalkedCache.storeWalked(t, pattern);
- const root = pattern.root();
- const absolute = pattern.isAbsolute() && this.opts.absolute !== false;
- // start absolute patterns at root
- if (root) {
- t = t.resolve(root === '/' && this.opts.root !== undefined ?
- this.opts.root
- : root);
- const rest = pattern.rest();
- if (!rest) {
- this.matches.add(t, true, false);
- continue;
- }
- else {
- pattern = rest;
- }
- }
- if (t.isENOENT())
- continue;
- let p;
- let rest;
- let changed = false;
- while (typeof (p = pattern.pattern()) === 'string' &&
- (rest = pattern.rest())) {
- const c = t.resolve(p);
- t = c;
- pattern = rest;
- changed = true;
- }
- p = pattern.pattern();
- rest = pattern.rest();
- if (changed) {
- if (this.hasWalkedCache.hasWalked(t, pattern))
- continue;
- this.hasWalkedCache.storeWalked(t, pattern);
- }
- // now we have either a final string for a known entry,
- // more strings for an unknown entry,
- // or a pattern starting with magic, mounted on t.
- if (typeof p === 'string') {
- // must not be final entry, otherwise we would have
- // concatenated it earlier.
- const ifDir = p === '..' || p === '' || p === '.';
- this.matches.add(t.resolve(p), absolute, ifDir);
- continue;
- }
- else if (p === minimatch_1.GLOBSTAR) {
- // if no rest, match and subwalk pattern
- // if rest, process rest and subwalk pattern
- // if it's a symlink, but we didn't get here by way of a
- // globstar match (meaning it's the first time THIS globstar
- // has traversed a symlink), then we follow it. Otherwise, stop.
- if (!t.isSymbolicLink() ||
- this.follow ||
- pattern.checkFollowGlobstar()) {
- this.subwalks.add(t, pattern);
- }
- const rp = rest?.pattern();
- const rrest = rest?.rest();
- if (!rest || ((rp === '' || rp === '.') && !rrest)) {
- // only HAS to be a dir if it ends in **/ or **/.
- // but ending in ** will match files as well.
- this.matches.add(t, absolute, rp === '' || rp === '.');
- }
- else {
- if (rp === '..') {
- // this would mean you're matching **/.. at the fs root,
- // and no thanks, I'm not gonna test that specific case.
- /* c8 ignore start */
- const tp = t.parent || t;
- /* c8 ignore stop */
- if (!rrest)
- this.matches.add(tp, absolute, true);
- else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {
- this.subwalks.add(tp, rrest);
- }
- }
- }
- }
- else if (p instanceof RegExp) {
- this.subwalks.add(t, pattern);
- }
- }
- return this;
- }
- subwalkTargets() {
- return this.subwalks.keys();
- }
- child() {
- return new Processor(this.opts, this.hasWalkedCache);
- }
- // return a new Processor containing the subwalks for each
- // child entry, and a set of matches, and
- // a hasWalkedCache that's a copy of this one
- // then we're going to call
- filterEntries(parent, entries) {
- const patterns = this.subwalks.get(parent);
- // put matches and entry walks into the results processor
- const results = this.child();
- for (const e of entries) {
- for (const pattern of patterns) {
- const absolute = pattern.isAbsolute();
- const p = pattern.pattern();
- const rest = pattern.rest();
- if (p === minimatch_1.GLOBSTAR) {
- results.testGlobstar(e, pattern, rest, absolute);
- }
- else if (p instanceof RegExp) {
- results.testRegExp(e, p, rest, absolute);
- }
- else {
- results.testString(e, p, rest, absolute);
- }
- }
- }
- return results;
- }
- testGlobstar(e, pattern, rest, absolute) {
- if (this.dot || !e.name.startsWith('.')) {
- if (!pattern.hasMore()) {
- this.matches.add(e, absolute, false);
- }
- if (e.canReaddir()) {
- // if we're in follow mode or it's not a symlink, just keep
- // testing the same pattern. If there's more after the globstar,
- // then this symlink consumes the globstar. If not, then we can
- // follow at most ONE symlink along the way, so we mark it, which
- // also checks to ensure that it wasn't already marked.
- if (this.follow || !e.isSymbolicLink()) {
- this.subwalks.add(e, pattern);
- }
- else if (e.isSymbolicLink()) {
- if (rest && pattern.checkFollowGlobstar()) {
- this.subwalks.add(e, rest);
- }
- else if (pattern.markFollowGlobstar()) {
- this.subwalks.add(e, pattern);
- }
- }
- }
- }
- // if the NEXT thing matches this entry, then also add
- // the rest.
- if (rest) {
- const rp = rest.pattern();
- if (typeof rp === 'string' &&
- // dots and empty were handled already
- rp !== '..' &&
- rp !== '' &&
- rp !== '.') {
- this.testString(e, rp, rest.rest(), absolute);
- }
- else if (rp === '..') {
- /* c8 ignore start */
- const ep = e.parent || e;
- /* c8 ignore stop */
- this.subwalks.add(ep, rest);
- }
- else if (rp instanceof RegExp) {
- this.testRegExp(e, rp, rest.rest(), absolute);
- }
- }
- }
- testRegExp(e, p, rest, absolute) {
- if (!p.test(e.name))
- return;
- if (!rest) {
- this.matches.add(e, absolute, false);
- }
- else {
- this.subwalks.add(e, rest);
- }
- }
- testString(e, p, rest, absolute) {
- // should never happen?
- if (!e.isNamed(p))
- return;
- if (!rest) {
- this.matches.add(e, absolute, false);
- }
- else {
- this.subwalks.add(e, rest);
- }
- }
-}
-exports.Processor = Processor;
-//# sourceMappingURL=processor.js.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.js.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.js.map
deleted file mode 100644
index 58a70882e9462f..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/processor.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/processor.ts"],"names":[],"mappings":"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","sourcesContent":["// synchronous utility for filtering entries and calculating subwalks\n\nimport { GLOBSTAR, MMRegExp } from 'minimatch'\nimport { Path } from 'path-scurry'\nimport { MMPattern, Pattern } from './pattern.js'\nimport { GlobWalkerOpts } from './walker.js'\n\n/**\n * A cache of which patterns have been processed for a given Path\n */\nexport class HasWalkedCache {\n store: Map>\n constructor(store: Map> = new Map()) {\n this.store = store\n }\n copy() {\n return new HasWalkedCache(new Map(this.store))\n }\n hasWalked(target: Path, pattern: Pattern) {\n return this.store.get(target.fullpath())?.has(pattern.globString())\n }\n storeWalked(target: Path, pattern: Pattern) {\n const fullpath = target.fullpath()\n const cached = this.store.get(fullpath)\n if (cached) cached.add(pattern.globString())\n else this.store.set(fullpath, new Set([pattern.globString()]))\n }\n}\n\n/**\n * A record of which paths have been matched in a given walk step,\n * and whether they only are considered a match if they are a directory,\n * and whether their absolute or relative path should be returned.\n */\nexport class MatchRecord {\n store: Map = new Map()\n add(target: Path, absolute: boolean, ifDir: boolean) {\n const n = (absolute ? 2 : 0) | (ifDir ? 1 : 0)\n const current = this.store.get(target)\n this.store.set(target, current === undefined ? n : n & current)\n }\n // match, absolute, ifdir\n entries(): [Path, boolean, boolean][] {\n return [...this.store.entries()].map(([path, n]) => [\n path,\n !!(n & 2),\n !!(n & 1),\n ])\n }\n}\n\n/**\n * A collection of patterns that must be processed in a subsequent step\n * for a given path.\n */\nexport class SubWalks {\n store: Map = new Map()\n add(target: Path, pattern: Pattern) {\n if (!target.canReaddir()) {\n return\n }\n const subs = this.store.get(target)\n if (subs) {\n if (!subs.find(p => p.globString() === pattern.globString())) {\n subs.push(pattern)\n }\n } else this.store.set(target, [pattern])\n }\n get(target: Path): Pattern[] {\n const subs = this.store.get(target)\n /* c8 ignore start */\n if (!subs) {\n throw new Error('attempting to walk unknown path')\n }\n /* c8 ignore stop */\n return subs\n }\n entries(): [Path, Pattern[]][] {\n return this.keys().map(k => [k, this.store.get(k) as Pattern[]])\n }\n keys(): Path[] {\n return [...this.store.keys()].filter(t => t.canReaddir())\n }\n}\n\n/**\n * The class that processes patterns for a given path.\n *\n * Handles child entry filtering, and determining whether a path's\n * directory contents must be read.\n */\nexport class Processor {\n hasWalkedCache: HasWalkedCache\n matches = new MatchRecord()\n subwalks = new SubWalks()\n patterns?: Pattern[]\n follow: boolean\n dot: boolean\n opts: GlobWalkerOpts\n\n constructor(opts: GlobWalkerOpts, hasWalkedCache?: HasWalkedCache) {\n this.opts = opts\n this.follow = !!opts.follow\n this.dot = !!opts.dot\n this.hasWalkedCache =\n hasWalkedCache ? hasWalkedCache.copy() : new HasWalkedCache()\n }\n\n processPatterns(target: Path, patterns: Pattern[]) {\n this.patterns = patterns\n const processingSet: [Path, Pattern][] = patterns.map(p => [target, p])\n\n // map of paths to the magic-starting subwalks they need to walk\n // first item in patterns is the filter\n\n for (let [t, pattern] of processingSet) {\n this.hasWalkedCache.storeWalked(t, pattern)\n\n const root = pattern.root()\n const absolute = pattern.isAbsolute() && this.opts.absolute !== false\n\n // start absolute patterns at root\n if (root) {\n t = t.resolve(\n root === '/' && this.opts.root !== undefined ?\n this.opts.root\n : root,\n )\n const rest = pattern.rest()\n if (!rest) {\n this.matches.add(t, true, false)\n continue\n } else {\n pattern = rest\n }\n }\n\n if (t.isENOENT()) continue\n\n let p: MMPattern\n let rest: Pattern | null\n let changed = false\n while (\n typeof (p = pattern.pattern()) === 'string' &&\n (rest = pattern.rest())\n ) {\n const c = t.resolve(p)\n t = c\n pattern = rest\n changed = true\n }\n p = pattern.pattern()\n rest = pattern.rest()\n if (changed) {\n if (this.hasWalkedCache.hasWalked(t, pattern)) continue\n this.hasWalkedCache.storeWalked(t, pattern)\n }\n\n // now we have either a final string for a known entry,\n // more strings for an unknown entry,\n // or a pattern starting with magic, mounted on t.\n if (typeof p === 'string') {\n // must not be final entry, otherwise we would have\n // concatenated it earlier.\n const ifDir = p === '..' || p === '' || p === '.'\n this.matches.add(t.resolve(p), absolute, ifDir)\n continue\n } else if (p === GLOBSTAR) {\n // if no rest, match and subwalk pattern\n // if rest, process rest and subwalk pattern\n // if it's a symlink, but we didn't get here by way of a\n // globstar match (meaning it's the first time THIS globstar\n // has traversed a symlink), then we follow it. Otherwise, stop.\n if (\n !t.isSymbolicLink() ||\n this.follow ||\n pattern.checkFollowGlobstar()\n ) {\n this.subwalks.add(t, pattern)\n }\n const rp = rest?.pattern()\n const rrest = rest?.rest()\n if (!rest || ((rp === '' || rp === '.') && !rrest)) {\n // only HAS to be a dir if it ends in **/ or **/.\n // but ending in ** will match files as well.\n this.matches.add(t, absolute, rp === '' || rp === '.')\n } else {\n if (rp === '..') {\n // this would mean you're matching **/.. at the fs root,\n // and no thanks, I'm not gonna test that specific case.\n /* c8 ignore start */\n const tp = t.parent || t\n /* c8 ignore stop */\n if (!rrest) this.matches.add(tp, absolute, true)\n else if (!this.hasWalkedCache.hasWalked(tp, rrest)) {\n this.subwalks.add(tp, rrest)\n }\n }\n }\n } else if (p instanceof RegExp) {\n this.subwalks.add(t, pattern)\n }\n }\n\n return this\n }\n\n subwalkTargets(): Path[] {\n return this.subwalks.keys()\n }\n\n child() {\n return new Processor(this.opts, this.hasWalkedCache)\n }\n\n // return a new Processor containing the subwalks for each\n // child entry, and a set of matches, and\n // a hasWalkedCache that's a copy of this one\n // then we're going to call\n filterEntries(parent: Path, entries: Path[]): Processor {\n const patterns = this.subwalks.get(parent)\n // put matches and entry walks into the results processor\n const results = this.child()\n for (const e of entries) {\n for (const pattern of patterns) {\n const absolute = pattern.isAbsolute()\n const p = pattern.pattern()\n const rest = pattern.rest()\n if (p === GLOBSTAR) {\n results.testGlobstar(e, pattern, rest, absolute)\n } else if (p instanceof RegExp) {\n results.testRegExp(e, p, rest, absolute)\n } else {\n results.testString(e, p, rest, absolute)\n }\n }\n }\n return results\n }\n\n testGlobstar(\n e: Path,\n pattern: Pattern,\n rest: Pattern | null,\n absolute: boolean,\n ) {\n if (this.dot || !e.name.startsWith('.')) {\n if (!pattern.hasMore()) {\n this.matches.add(e, absolute, false)\n }\n if (e.canReaddir()) {\n // if we're in follow mode or it's not a symlink, just keep\n // testing the same pattern. If there's more after the globstar,\n // then this symlink consumes the globstar. If not, then we can\n // follow at most ONE symlink along the way, so we mark it, which\n // also checks to ensure that it wasn't already marked.\n if (this.follow || !e.isSymbolicLink()) {\n this.subwalks.add(e, pattern)\n } else if (e.isSymbolicLink()) {\n if (rest && pattern.checkFollowGlobstar()) {\n this.subwalks.add(e, rest)\n } else if (pattern.markFollowGlobstar()) {\n this.subwalks.add(e, pattern)\n }\n }\n }\n }\n // if the NEXT thing matches this entry, then also add\n // the rest.\n if (rest) {\n const rp = rest.pattern()\n if (\n typeof rp === 'string' &&\n // dots and empty were handled already\n rp !== '..' &&\n rp !== '' &&\n rp !== '.'\n ) {\n this.testString(e, rp, rest.rest(), absolute)\n } else if (rp === '..') {\n /* c8 ignore start */\n const ep = e.parent || e\n /* c8 ignore stop */\n this.subwalks.add(ep, rest)\n } else if (rp instanceof RegExp) {\n this.testRegExp(e, rp, rest.rest(), absolute)\n }\n }\n }\n\n testRegExp(\n e: Path,\n p: MMRegExp,\n rest: Pattern | null,\n absolute: boolean,\n ) {\n if (!p.test(e.name)) return\n if (!rest) {\n this.matches.add(e, absolute, false)\n } else {\n this.subwalks.add(e, rest)\n }\n }\n\n testString(e: Path, p: string, rest: Pattern | null, absolute: boolean) {\n // should never happen?\n if (!e.isNamed(p)) return\n if (!rest) {\n this.matches.add(e, absolute, false)\n } else {\n this.subwalks.add(e, rest)\n }\n }\n}\n"]}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.d.ts b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.d.ts
deleted file mode 100644
index 499c8f4933857a..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.d.ts
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Single-use utility classes to provide functionality to the {@link Glob}
- * methods.
- *
- * @module
- */
-import { Minipass } from 'minipass';
-import { Path } from 'path-scurry';
-import { IgnoreLike } from './ignore.js';
-import { Pattern } from './pattern.js';
-import { Processor } from './processor.js';
-export interface GlobWalkerOpts {
- absolute?: boolean;
- allowWindowsEscape?: boolean;
- cwd?: string | URL;
- dot?: boolean;
- dotRelative?: boolean;
- follow?: boolean;
- ignore?: string | string[] | IgnoreLike;
- mark?: boolean;
- matchBase?: boolean;
- maxDepth?: number;
- nobrace?: boolean;
- nocase?: boolean;
- nodir?: boolean;
- noext?: boolean;
- noglobstar?: boolean;
- platform?: NodeJS.Platform;
- posix?: boolean;
- realpath?: boolean;
- root?: string;
- stat?: boolean;
- signal?: AbortSignal;
- windowsPathsNoEscape?: boolean;
- withFileTypes?: boolean;
- includeChildMatches?: boolean;
-}
-export type GWOFileTypesTrue = GlobWalkerOpts & {
- withFileTypes: true;
-};
-export type GWOFileTypesFalse = GlobWalkerOpts & {
- withFileTypes: false;
-};
-export type GWOFileTypesUnset = GlobWalkerOpts & {
- withFileTypes?: undefined;
-};
-export type Result = O extends GWOFileTypesTrue ? Path : O extends GWOFileTypesFalse ? string : O extends GWOFileTypesUnset ? string : Path | string;
-export type Matches = O extends GWOFileTypesTrue ? Set : O extends GWOFileTypesFalse ? Set : O extends GWOFileTypesUnset ? Set : Set;
-export type MatchStream = Minipass, Result>;
-/**
- * basic walking utilities that all the glob walker types use
- */
-export declare abstract class GlobUtil {
- #private;
- path: Path;
- patterns: Pattern[];
- opts: O;
- seen: Set;
- paused: boolean;
- aborted: boolean;
- signal?: AbortSignal;
- maxDepth: number;
- includeChildMatches: boolean;
- constructor(patterns: Pattern[], path: Path, opts: O);
- pause(): void;
- resume(): void;
- onResume(fn: () => any): void;
- matchCheck(e: Path, ifDir: boolean): Promise;
- matchCheckTest(e: Path | undefined, ifDir: boolean): Path | undefined;
- matchCheckSync(e: Path, ifDir: boolean): Path | undefined;
- abstract matchEmit(p: Result): void;
- abstract matchEmit(p: string | Path): void;
- matchFinish(e: Path, absolute: boolean): void;
- match(e: Path, absolute: boolean, ifDir: boolean): Promise;
- matchSync(e: Path, absolute: boolean, ifDir: boolean): void;
- walkCB(target: Path, patterns: Pattern[], cb: () => any): void;
- walkCB2(target: Path, patterns: Pattern[], processor: Processor, cb: () => any): any;
- walkCB3(target: Path, entries: Path[], processor: Processor, cb: () => any): void;
- walkCBSync(target: Path, patterns: Pattern[], cb: () => any): void;
- walkCB2Sync(target: Path, patterns: Pattern[], processor: Processor, cb: () => any): any;
- walkCB3Sync(target: Path, entries: Path[], processor: Processor, cb: () => any): void;
-}
-export declare class GlobWalker extends GlobUtil {
- matches: Set>;
- constructor(patterns: Pattern[], path: Path, opts: O);
- matchEmit(e: Result): void;
- walk(): Promise>>;
- walkSync(): Set>;
-}
-export declare class GlobStream extends GlobUtil {
- results: Minipass, Result>;
- constructor(patterns: Pattern[], path: Path, opts: O);
- matchEmit(e: Result): void;
- stream(): MatchStream;
- streamSync(): MatchStream;
-}
-//# sourceMappingURL=walker.d.ts.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.d.ts.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.d.ts.map
deleted file mode 100644
index 769957bd59bb1c..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.d.ts.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"walker.d.ts","sourceRoot":"","sources":["../../src/walker.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAClC,OAAO,EAAU,UAAU,EAAE,MAAM,aAAa,CAAA;AAOhD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,GAAG,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;IAClB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,UAAU,CAAA;IACvC,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAA;IAGnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAA;IAC1B,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG;IAC9C,aAAa,EAAE,IAAI,CAAA;CACpB,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,aAAa,EAAE,KAAK,CAAA;CACrB,CAAA;AACD,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,aAAa,CAAC,EAAE,SAAS,CAAA;CAC1B,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,cAAc,IACzC,CAAC,SAAS,gBAAgB,GAAG,IAAI,GAC/B,CAAC,SAAS,iBAAiB,GAAG,MAAM,GACpC,CAAC,SAAS,iBAAiB,GAAG,MAAM,GACpC,IAAI,GAAG,MAAM,CAAA;AAEjB,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,cAAc,IAC1C,CAAC,SAAS,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,GACpC,CAAC,SAAS,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,GACzC,CAAC,SAAS,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,GACzC,GAAG,CAAC,IAAI,GAAG,MAAM,CAAC,CAAA;AAEtB,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,cAAc,IAAI,QAAQ,CAC1D,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,CAAC,CAAC,CACV,CAAA;AAUD;;GAEG;AACH,8BAAsB,QAAQ,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc;;IACtE,IAAI,EAAE,IAAI,CAAA;IACV,QAAQ,EAAE,OAAO,EAAE,CAAA;IACnB,IAAI,EAAE,CAAC,CAAA;IACP,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAkB;IACjC,MAAM,EAAE,OAAO,CAAQ;IACvB,OAAO,EAAE,OAAO,CAAQ;IAIxB,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,mBAAmB,EAAE,OAAO,CAAA;gBAEhB,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAsCpD,KAAK;IAGL,MAAM;IAUN,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG;IAahB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC;IAqBpE,cAAc,CAAC,CAAC,EAAE,IAAI,GAAG,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS;IAgBrE,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS;IAmBzD,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IACtC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAE1C,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO;IA2BhC,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK3D,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG;IAOvD,OAAO,CACL,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,GAAG;IA2Cf,OAAO,CACL,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,IAAI,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,GAAG;IAsBf,UAAU,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG;IAO3D,WAAW,CACT,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,OAAO,EAAE,EACnB,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,GAAG;IAqCf,WAAW,CACT,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,IAAI,EAAE,EACf,SAAS,EAAE,SAAS,EACpB,EAAE,EAAE,MAAM,GAAG;CAoBhB;AAED,qBAAa,UAAU,CACrB,CAAC,SAAS,cAAc,GAAG,cAAc,CACzC,SAAQ,QAAQ,CAAC,CAAC,CAAC;IACnB,OAAO,iBAAuB;gBAElB,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAIpD,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAIvB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAiBrC,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;CAW3B;AAED,qBAAa,UAAU,CACrB,CAAC,SAAS,cAAc,GAAG,cAAc,CACzC,SAAQ,QAAQ,CAAC,CAAC,CAAC;IACnB,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;gBAE3B,QAAQ,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAUpD,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI;IAK7B,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC;IAYxB,UAAU,IAAI,WAAW,CAAC,CAAC,CAAC;CAO7B"}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.js b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.js
deleted file mode 100644
index cb15946d9a852c..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.js
+++ /dev/null
@@ -1,387 +0,0 @@
-"use strict";
-Object.defineProperty(exports, "__esModule", { value: true });
-exports.GlobStream = exports.GlobWalker = exports.GlobUtil = void 0;
-/**
- * Single-use utility classes to provide functionality to the {@link Glob}
- * methods.
- *
- * @module
- */
-const minipass_1 = require("minipass");
-const ignore_js_1 = require("./ignore.js");
-const processor_js_1 = require("./processor.js");
-const makeIgnore = (ignore, opts) => typeof ignore === 'string' ? new ignore_js_1.Ignore([ignore], opts)
- : Array.isArray(ignore) ? new ignore_js_1.Ignore(ignore, opts)
- : ignore;
-/**
- * basic walking utilities that all the glob walker types use
- */
-class GlobUtil {
- path;
- patterns;
- opts;
- seen = new Set();
- paused = false;
- aborted = false;
- #onResume = [];
- #ignore;
- #sep;
- signal;
- maxDepth;
- includeChildMatches;
- constructor(patterns, path, opts) {
- this.patterns = patterns;
- this.path = path;
- this.opts = opts;
- this.#sep = !opts.posix && opts.platform === 'win32' ? '\\' : '/';
- this.includeChildMatches = opts.includeChildMatches !== false;
- if (opts.ignore || !this.includeChildMatches) {
- this.#ignore = makeIgnore(opts.ignore ?? [], opts);
- if (!this.includeChildMatches &&
- typeof this.#ignore.add !== 'function') {
- const m = 'cannot ignore child matches, ignore lacks add() method.';
- throw new Error(m);
- }
- }
- // ignore, always set with maxDepth, but it's optional on the
- // GlobOptions type
- /* c8 ignore start */
- this.maxDepth = opts.maxDepth || Infinity;
- /* c8 ignore stop */
- if (opts.signal) {
- this.signal = opts.signal;
- this.signal.addEventListener('abort', () => {
- this.#onResume.length = 0;
- });
- }
- }
- #ignored(path) {
- return this.seen.has(path) || !!this.#ignore?.ignored?.(path);
- }
- #childrenIgnored(path) {
- return !!this.#ignore?.childrenIgnored?.(path);
- }
- // backpressure mechanism
- pause() {
- this.paused = true;
- }
- resume() {
- /* c8 ignore start */
- if (this.signal?.aborted)
- return;
- /* c8 ignore stop */
- this.paused = false;
- let fn = undefined;
- while (!this.paused && (fn = this.#onResume.shift())) {
- fn();
- }
- }
- onResume(fn) {
- if (this.signal?.aborted)
- return;
- /* c8 ignore start */
- if (!this.paused) {
- fn();
- }
- else {
- /* c8 ignore stop */
- this.#onResume.push(fn);
- }
- }
- // do the requisite realpath/stat checking, and return the path
- // to add or undefined to filter it out.
- async matchCheck(e, ifDir) {
- if (ifDir && this.opts.nodir)
- return undefined;
- let rpc;
- if (this.opts.realpath) {
- rpc = e.realpathCached() || (await e.realpath());
- if (!rpc)
- return undefined;
- e = rpc;
- }
- const needStat = e.isUnknown() || this.opts.stat;
- const s = needStat ? await e.lstat() : e;
- if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
- const target = await s.realpath();
- /* c8 ignore start */
- if (target && (target.isUnknown() || this.opts.stat)) {
- await target.lstat();
- }
- /* c8 ignore stop */
- }
- return this.matchCheckTest(s, ifDir);
- }
- matchCheckTest(e, ifDir) {
- return (e &&
- (this.maxDepth === Infinity || e.depth() <= this.maxDepth) &&
- (!ifDir || e.canReaddir()) &&
- (!this.opts.nodir || !e.isDirectory()) &&
- (!this.opts.nodir ||
- !this.opts.follow ||
- !e.isSymbolicLink() ||
- !e.realpathCached()?.isDirectory()) &&
- !this.#ignored(e)) ?
- e
- : undefined;
- }
- matchCheckSync(e, ifDir) {
- if (ifDir && this.opts.nodir)
- return undefined;
- let rpc;
- if (this.opts.realpath) {
- rpc = e.realpathCached() || e.realpathSync();
- if (!rpc)
- return undefined;
- e = rpc;
- }
- const needStat = e.isUnknown() || this.opts.stat;
- const s = needStat ? e.lstatSync() : e;
- if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {
- const target = s.realpathSync();
- if (target && (target?.isUnknown() || this.opts.stat)) {
- target.lstatSync();
- }
- }
- return this.matchCheckTest(s, ifDir);
- }
- matchFinish(e, absolute) {
- if (this.#ignored(e))
- return;
- // we know we have an ignore if this is false, but TS doesn't
- if (!this.includeChildMatches && this.#ignore?.add) {
- const ign = `${e.relativePosix()}/**`;
- this.#ignore.add(ign);
- }
- const abs = this.opts.absolute === undefined ? absolute : this.opts.absolute;
- this.seen.add(e);
- const mark = this.opts.mark && e.isDirectory() ? this.#sep : '';
- // ok, we have what we need!
- if (this.opts.withFileTypes) {
- this.matchEmit(e);
- }
- else if (abs) {
- const abs = this.opts.posix ? e.fullpathPosix() : e.fullpath();
- this.matchEmit(abs + mark);
- }
- else {
- const rel = this.opts.posix ? e.relativePosix() : e.relative();
- const pre = this.opts.dotRelative && !rel.startsWith('..' + this.#sep) ?
- '.' + this.#sep
- : '';
- this.matchEmit(!rel ? '.' + mark : pre + rel + mark);
- }
- }
- async match(e, absolute, ifDir) {
- const p = await this.matchCheck(e, ifDir);
- if (p)
- this.matchFinish(p, absolute);
- }
- matchSync(e, absolute, ifDir) {
- const p = this.matchCheckSync(e, ifDir);
- if (p)
- this.matchFinish(p, absolute);
- }
- walkCB(target, patterns, cb) {
- /* c8 ignore start */
- if (this.signal?.aborted)
- cb();
- /* c8 ignore stop */
- this.walkCB2(target, patterns, new processor_js_1.Processor(this.opts), cb);
- }
- walkCB2(target, patterns, processor, cb) {
- if (this.#childrenIgnored(target))
- return cb();
- if (this.signal?.aborted)
- cb();
- if (this.paused) {
- this.onResume(() => this.walkCB2(target, patterns, processor, cb));
- return;
- }
- processor.processPatterns(target, patterns);
- // done processing. all of the above is sync, can be abstracted out.
- // subwalks is a map of paths to the entry filters they need
- // matches is a map of paths to [absolute, ifDir] tuples.
- let tasks = 1;
- const next = () => {
- if (--tasks === 0)
- cb();
- };
- for (const [m, absolute, ifDir] of processor.matches.entries()) {
- if (this.#ignored(m))
- continue;
- tasks++;
- this.match(m, absolute, ifDir).then(() => next());
- }
- for (const t of processor.subwalkTargets()) {
- if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
- continue;
- }
- tasks++;
- const childrenCached = t.readdirCached();
- if (t.calledReaddir())
- this.walkCB3(t, childrenCached, processor, next);
- else {
- t.readdirCB((_, entries) => this.walkCB3(t, entries, processor, next), true);
- }
- }
- next();
- }
- walkCB3(target, entries, processor, cb) {
- processor = processor.filterEntries(target, entries);
- let tasks = 1;
- const next = () => {
- if (--tasks === 0)
- cb();
- };
- for (const [m, absolute, ifDir] of processor.matches.entries()) {
- if (this.#ignored(m))
- continue;
- tasks++;
- this.match(m, absolute, ifDir).then(() => next());
- }
- for (const [target, patterns] of processor.subwalks.entries()) {
- tasks++;
- this.walkCB2(target, patterns, processor.child(), next);
- }
- next();
- }
- walkCBSync(target, patterns, cb) {
- /* c8 ignore start */
- if (this.signal?.aborted)
- cb();
- /* c8 ignore stop */
- this.walkCB2Sync(target, patterns, new processor_js_1.Processor(this.opts), cb);
- }
- walkCB2Sync(target, patterns, processor, cb) {
- if (this.#childrenIgnored(target))
- return cb();
- if (this.signal?.aborted)
- cb();
- if (this.paused) {
- this.onResume(() => this.walkCB2Sync(target, patterns, processor, cb));
- return;
- }
- processor.processPatterns(target, patterns);
- // done processing. all of the above is sync, can be abstracted out.
- // subwalks is a map of paths to the entry filters they need
- // matches is a map of paths to [absolute, ifDir] tuples.
- let tasks = 1;
- const next = () => {
- if (--tasks === 0)
- cb();
- };
- for (const [m, absolute, ifDir] of processor.matches.entries()) {
- if (this.#ignored(m))
- continue;
- this.matchSync(m, absolute, ifDir);
- }
- for (const t of processor.subwalkTargets()) {
- if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {
- continue;
- }
- tasks++;
- const children = t.readdirSync();
- this.walkCB3Sync(t, children, processor, next);
- }
- next();
- }
- walkCB3Sync(target, entries, processor, cb) {
- processor = processor.filterEntries(target, entries);
- let tasks = 1;
- const next = () => {
- if (--tasks === 0)
- cb();
- };
- for (const [m, absolute, ifDir] of processor.matches.entries()) {
- if (this.#ignored(m))
- continue;
- this.matchSync(m, absolute, ifDir);
- }
- for (const [target, patterns] of processor.subwalks.entries()) {
- tasks++;
- this.walkCB2Sync(target, patterns, processor.child(), next);
- }
- next();
- }
-}
-exports.GlobUtil = GlobUtil;
-class GlobWalker extends GlobUtil {
- matches = new Set();
- constructor(patterns, path, opts) {
- super(patterns, path, opts);
- }
- matchEmit(e) {
- this.matches.add(e);
- }
- async walk() {
- if (this.signal?.aborted)
- throw this.signal.reason;
- if (this.path.isUnknown()) {
- await this.path.lstat();
- }
- await new Promise((res, rej) => {
- this.walkCB(this.path, this.patterns, () => {
- if (this.signal?.aborted) {
- rej(this.signal.reason);
- }
- else {
- res(this.matches);
- }
- });
- });
- return this.matches;
- }
- walkSync() {
- if (this.signal?.aborted)
- throw this.signal.reason;
- if (this.path.isUnknown()) {
- this.path.lstatSync();
- }
- // nothing for the callback to do, because this never pauses
- this.walkCBSync(this.path, this.patterns, () => {
- if (this.signal?.aborted)
- throw this.signal.reason;
- });
- return this.matches;
- }
-}
-exports.GlobWalker = GlobWalker;
-class GlobStream extends GlobUtil {
- results;
- constructor(patterns, path, opts) {
- super(patterns, path, opts);
- this.results = new minipass_1.Minipass({
- signal: this.signal,
- objectMode: true,
- });
- this.results.on('drain', () => this.resume());
- this.results.on('resume', () => this.resume());
- }
- matchEmit(e) {
- this.results.write(e);
- if (!this.results.flowing)
- this.pause();
- }
- stream() {
- const target = this.path;
- if (target.isUnknown()) {
- target.lstat().then(() => {
- this.walkCB(target, this.patterns, () => this.results.end());
- });
- }
- else {
- this.walkCB(target, this.patterns, () => this.results.end());
- }
- return this.results;
- }
- streamSync() {
- if (this.path.isUnknown()) {
- this.path.lstatSync();
- }
- this.walkCBSync(this.path, this.patterns, () => this.results.end());
- return this.results;
- }
-}
-exports.GlobStream = GlobStream;
-//# sourceMappingURL=walker.js.map
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.js.map b/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.js.map
deleted file mode 100644
index 49b013864d534b..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/dist/commonjs/walker.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"walker.js","sourceRoot":"","sources":["../../src/walker.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,uCAAmC;AAEnC,2CAAgD;AAQhD,iDAA0C;AA0D1C,MAAM,UAAU,GAAG,CACjB,MAAsC,EACtC,IAAoB,EACR,EAAE,CACd,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,kBAAM,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;IACvD,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,kBAAM,CAAC,MAAM,EAAE,IAAI,CAAC;QAClD,CAAC,CAAC,MAAM,CAAA;AAEV;;GAEG;AACH,MAAsB,QAAQ;IAC5B,IAAI,CAAM;IACV,QAAQ,CAAW;IACnB,IAAI,CAAG;IACP,IAAI,GAAc,IAAI,GAAG,EAAQ,CAAA;IACjC,MAAM,GAAY,KAAK,CAAA;IACvB,OAAO,GAAY,KAAK,CAAA;IACxB,SAAS,GAAkB,EAAE,CAAA;IAC7B,OAAO,CAAa;IACpB,IAAI,CAAY;IAChB,MAAM,CAAc;IACpB,QAAQ,CAAQ;IAChB,mBAAmB,CAAS;IAG5B,YAAY,QAAmB,EAAE,IAAU,EAAE,IAAO;QAClD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;QACjE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,KAAK,KAAK,CAAA;QAC7D,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,CAAA;YAClD,IACE,CAAC,IAAI,CAAC,mBAAmB;gBACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,EACtC,CAAC;gBACD,MAAM,CAAC,GAAG,yDAAyD,CAAA;gBACnE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,CAAA;YACpB,CAAC;QACH,CAAC;QACD,6DAA6D;QAC7D,mBAAmB;QACnB,qBAAqB;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAA;QACzC,oBAAoB;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAA;YACzB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACzC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAU;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,CAAA;IAC/D,CAAC;IACD,gBAAgB,CAAC,IAAU;QACzB,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,yBAAyB;IACzB,KAAK;QACH,IAAI,CAAC,MAAM,GAAG,IAAI,CAAA;IACpB,CAAC;IACD,MAAM;QACJ,qBAAqB;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,OAAM;QAChC,oBAAoB;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,EAAE,GAA4B,SAAS,CAAA;QAC3C,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YACrD,EAAE,EAAE,CAAA;QACN,CAAC;IACH,CAAC;IACD,QAAQ,CAAC,EAAa;QACpB,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,OAAM;QAChC,qBAAqB;QACrB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,EAAE,EAAE,CAAA;QACN,CAAC;aAAM,CAAC;YACN,oBAAoB;YACpB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,+DAA+D;IAC/D,wCAAwC;IACxC,KAAK,CAAC,UAAU,CAAC,CAAO,EAAE,KAAc;QACtC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAA;QAC9C,IAAI,GAAqB,CAAA;QACzB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvB,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAA;YAC1B,CAAC,GAAG,GAAG,CAAA;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;QAChD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACxC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAA;YACjC,qBAAqB;YACrB,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAA;YACtB,CAAC;YACD,oBAAoB;QACtB,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACtC,CAAC;IAED,cAAc,CAAC,CAAmB,EAAE,KAAc;QAChD,OAAO,CACH,CAAC;YACC,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC;YAC1D,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC1B,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK;gBACf,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBACjB,CAAC,CAAC,CAAC,cAAc,EAAE;gBACnB,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,WAAW,EAAE,CAAC;YACrC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpB,CAAC,CAAC;YACD,CAAC;YACH,CAAC,CAAC,SAAS,CAAA;IACf,CAAC;IAED,cAAc,CAAC,CAAO,EAAE,KAAc;QACpC,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAA;QAC9C,IAAI,GAAqB,CAAA;QACzB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvB,GAAG,GAAG,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC,YAAY,EAAE,CAAA;YAC5C,IAAI,CAAC,GAAG;gBAAE,OAAO,SAAS,CAAA;YAC1B,CAAC,GAAG,GAAG,CAAA;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;QAChD,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QACtC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE,cAAc,EAAE,EAAE,CAAC;YAC/D,MAAM,MAAM,GAAG,CAAC,CAAC,YAAY,EAAE,CAAA;YAC/B,IAAI,MAAM,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtD,MAAM,CAAC,SAAS,EAAE,CAAA;YACpB,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;IACtC,CAAC;IAKD,WAAW,CAAC,CAAO,EAAE,QAAiB;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,OAAM;QAC5B,6DAA6D;QAC7D,IAAI,CAAC,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC;YACnD,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC,aAAa,EAAE,KAAK,CAAA;YACrC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC;QACD,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAA;QAClE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;QAC/D,4BAA4B;QAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC9D,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,CAAA;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;YAC9D,MAAM,GAAG,GACP,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1D,GAAG,GAAG,IAAI,CAAC,IAAI;gBACjB,CAAC,CAAC,EAAE,CAAA;YACN,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,GAAG,IAAI,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,CAAO,EAAE,QAAiB,EAAE,KAAc;QACpD,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACzC,IAAI,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,SAAS,CAAC,CAAO,EAAE,QAAiB,EAAE,KAAc;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;QACvC,IAAI,CAAC;YAAE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,MAAY,EAAE,QAAmB,EAAE,EAAa;QACrD,qBAAqB;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,EAAE,EAAE,CAAA;QAC9B,oBAAoB;QACpB,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,wBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,CACL,MAAY,EACZ,QAAmB,EACnB,SAAoB,EACpB,EAAa;QAEb,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,EAAE,CAAA;QAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,EAAE,EAAE,CAAA;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAA;YAClE,OAAM;QACR,CAAC;QACD,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE3C,qEAAqE;QACrE,4DAA4D;QAC5D,yDAAyD;QACzD,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,EAAE,KAAK,KAAK,CAAC;gBAAE,EAAE,EAAE,CAAA;QACzB,CAAC,CAAA;QAED,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,SAAQ;YAC9B,KAAK,EAAE,CAAA;YACP,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7D,SAAQ;YACV,CAAC;YACD,KAAK,EAAE,CAAA;YACP,MAAM,cAAc,GAAG,CAAC,CAAC,aAAa,EAAE,CAAA;YACxC,IAAI,CAAC,CAAC,aAAa,EAAE;gBACnB,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;iBAC7C,CAAC;gBACJ,CAAC,CAAC,SAAS,CACT,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,EACzD,IAAI,CACL,CAAA;YACH,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAA;IACR,CAAC;IAED,OAAO,CACL,MAAY,EACZ,OAAe,EACf,SAAoB,EACpB,EAAa;QAEb,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAEpD,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,EAAE,KAAK,KAAK,CAAC;gBAAE,EAAE,EAAE,CAAA;QACzB,CAAC,CAAA;QAED,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,SAAQ;YAC9B,KAAK,EAAE,CAAA;YACP,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QACnD,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,KAAK,EAAE,CAAA;YACP,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,EAAE,CAAA;IACR,CAAC;IAED,UAAU,CAAC,MAAY,EAAE,QAAmB,EAAE,EAAa;QACzD,qBAAqB;QACrB,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,EAAE,EAAE,CAAA;QAC9B,oBAAoB;QACpB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,wBAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAA;IAClE,CAAC;IAED,WAAW,CACT,MAAY,EACZ,QAAmB,EACnB,SAAoB,EACpB,EAAa;QAEb,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC;YAAE,OAAO,EAAE,EAAE,CAAA;QAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,EAAE,EAAE,CAAA;QAC9B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CACjB,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,CAAC,CAClD,CAAA;YACD,OAAM;QACR,CAAC;QACD,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAE3C,qEAAqE;QACrE,4DAA4D;QAC5D,yDAAyD;QACzD,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,EAAE,KAAK,KAAK,CAAC;gBAAE,EAAE,EAAE,CAAA;QACzB,CAAC,CAAA;QAED,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,SAAQ;YAC9B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;QAED,KAAK,MAAM,CAAC,IAAI,SAAS,CAAC,cAAc,EAAE,EAAE,CAAC;YAC3C,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC7D,SAAQ;YACV,CAAC;YACD,KAAK,EAAE,CAAA;YACP,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,EAAE,CAAA;YAChC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,CAAA;QAChD,CAAC;QAED,IAAI,EAAE,CAAA;IACR,CAAC;IAED,WAAW,CACT,MAAY,EACZ,OAAe,EACf,SAAoB,EACpB,EAAa;QAEb,SAAS,GAAG,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;QAEpD,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,MAAM,IAAI,GAAG,GAAG,EAAE;YAChB,IAAI,EAAE,KAAK,KAAK,CAAC;gBAAE,EAAE,EAAE,CAAA;QACzB,CAAC,CAAA;QAED,KAAK,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC/D,IAAI,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAAE,SAAQ;YAC9B,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;QACpC,CAAC;QACD,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC;YAC9D,KAAK,EAAE,CAAA;YACP,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAA;QAC7D,CAAC;QAED,IAAI,EAAE,CAAA;IACR,CAAC;CACF;AAtUD,4BAsUC;AAED,MAAa,UAEX,SAAQ,QAAW;IACnB,OAAO,GAAG,IAAI,GAAG,EAAa,CAAA;IAE9B,YAAY,QAAmB,EAAE,IAAU,EAAE,IAAO;QAClD,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,SAAS,CAAC,CAAY;QACpB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAClD,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;gBACzC,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC;oBACzB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;gBACzB,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACnB,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,QAAQ;QACN,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QAClD,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;QACvB,CAAC;QACD,4DAA4D;QAC5D,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC7C,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO;gBAAE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAA;QACpD,CAAC,CAAC,CAAA;QACF,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AAzCD,gCAyCC;AAED,MAAa,UAEX,SAAQ,QAAW;IACnB,OAAO,CAAgC;IAEvC,YAAY,QAAmB,EAAE,IAAU,EAAE,IAAO;QAClD,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,mBAAQ,CAAuB;YAChD,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAA;QACF,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;QAC7C,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;IAChD,CAAC;IAED,SAAS,CAAC,CAAY;QACpB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QACrB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO;YAAE,IAAI,CAAC,KAAK,EAAE,CAAA;IACzC,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAA;QACxB,IAAI,MAAM,CAAC,SAAS,EAAE,EAAE,CAAC;YACvB,MAAM,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;gBACvB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;YAC9D,CAAC,CAAC,CAAA;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC9D,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,UAAU;QACR,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAA;QACvB,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QACnE,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;CACF;AAvCD,gCAuCC","sourcesContent":["/**\n * Single-use utility classes to provide functionality to the {@link Glob}\n * methods.\n *\n * @module\n */\nimport { Minipass } from 'minipass'\nimport { Path } from 'path-scurry'\nimport { Ignore, IgnoreLike } from './ignore.js'\n\n// XXX can we somehow make it so that it NEVER processes a given path more than\n// once, enough that the match set tracking is no longer needed? that'd speed\n// things up a lot. Or maybe bring back nounique, and skip it in that case?\n\n// a single minimatch set entry with 1 or more parts\nimport { Pattern } from './pattern.js'\nimport { Processor } from './processor.js'\n\nexport interface GlobWalkerOpts {\n absolute?: boolean\n allowWindowsEscape?: boolean\n cwd?: string | URL\n dot?: boolean\n dotRelative?: boolean\n follow?: boolean\n ignore?: string | string[] | IgnoreLike\n mark?: boolean\n matchBase?: boolean\n // Note: maxDepth here means \"maximum actual Path.depth()\",\n // not \"maximum depth beyond cwd\"\n maxDepth?: number\n nobrace?: boolean\n nocase?: boolean\n nodir?: boolean\n noext?: boolean\n noglobstar?: boolean\n platform?: NodeJS.Platform\n posix?: boolean\n realpath?: boolean\n root?: string\n stat?: boolean\n signal?: AbortSignal\n windowsPathsNoEscape?: boolean\n withFileTypes?: boolean\n includeChildMatches?: boolean\n}\n\nexport type GWOFileTypesTrue = GlobWalkerOpts & {\n withFileTypes: true\n}\nexport type GWOFileTypesFalse = GlobWalkerOpts & {\n withFileTypes: false\n}\nexport type GWOFileTypesUnset = GlobWalkerOpts & {\n withFileTypes?: undefined\n}\n\nexport type Result =\n O extends GWOFileTypesTrue ? Path\n : O extends GWOFileTypesFalse ? string\n : O extends GWOFileTypesUnset ? string\n : Path | string\n\nexport type Matches =\n O extends GWOFileTypesTrue ? Set\n : O extends GWOFileTypesFalse ? Set\n : O extends GWOFileTypesUnset ? Set\n : Set\n\nexport type MatchStream = Minipass<\n Result,\n Result\n>\n\nconst makeIgnore = (\n ignore: string | string[] | IgnoreLike,\n opts: GlobWalkerOpts,\n): IgnoreLike =>\n typeof ignore === 'string' ? new Ignore([ignore], opts)\n : Array.isArray(ignore) ? new Ignore(ignore, opts)\n : ignore\n\n/**\n * basic walking utilities that all the glob walker types use\n */\nexport abstract class GlobUtil {\n path: Path\n patterns: Pattern[]\n opts: O\n seen: Set = new Set()\n paused: boolean = false\n aborted: boolean = false\n #onResume: (() => any)[] = []\n #ignore?: IgnoreLike\n #sep: '\\\\' | '/'\n signal?: AbortSignal\n maxDepth: number\n includeChildMatches: boolean\n\n constructor(patterns: Pattern[], path: Path, opts: O)\n constructor(patterns: Pattern[], path: Path, opts: O) {\n this.patterns = patterns\n this.path = path\n this.opts = opts\n this.#sep = !opts.posix && opts.platform === 'win32' ? '\\\\' : '/'\n this.includeChildMatches = opts.includeChildMatches !== false\n if (opts.ignore || !this.includeChildMatches) {\n this.#ignore = makeIgnore(opts.ignore ?? [], opts)\n if (\n !this.includeChildMatches &&\n typeof this.#ignore.add !== 'function'\n ) {\n const m = 'cannot ignore child matches, ignore lacks add() method.'\n throw new Error(m)\n }\n }\n // ignore, always set with maxDepth, but it's optional on the\n // GlobOptions type\n /* c8 ignore start */\n this.maxDepth = opts.maxDepth || Infinity\n /* c8 ignore stop */\n if (opts.signal) {\n this.signal = opts.signal\n this.signal.addEventListener('abort', () => {\n this.#onResume.length = 0\n })\n }\n }\n\n #ignored(path: Path): boolean {\n return this.seen.has(path) || !!this.#ignore?.ignored?.(path)\n }\n #childrenIgnored(path: Path): boolean {\n return !!this.#ignore?.childrenIgnored?.(path)\n }\n\n // backpressure mechanism\n pause() {\n this.paused = true\n }\n resume() {\n /* c8 ignore start */\n if (this.signal?.aborted) return\n /* c8 ignore stop */\n this.paused = false\n let fn: (() => any) | undefined = undefined\n while (!this.paused && (fn = this.#onResume.shift())) {\n fn()\n }\n }\n onResume(fn: () => any) {\n if (this.signal?.aborted) return\n /* c8 ignore start */\n if (!this.paused) {\n fn()\n } else {\n /* c8 ignore stop */\n this.#onResume.push(fn)\n }\n }\n\n // do the requisite realpath/stat checking, and return the path\n // to add or undefined to filter it out.\n async matchCheck(e: Path, ifDir: boolean): Promise {\n if (ifDir && this.opts.nodir) return undefined\n let rpc: Path | undefined\n if (this.opts.realpath) {\n rpc = e.realpathCached() || (await e.realpath())\n if (!rpc) return undefined\n e = rpc\n }\n const needStat = e.isUnknown() || this.opts.stat\n const s = needStat ? await e.lstat() : e\n if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {\n const target = await s.realpath()\n /* c8 ignore start */\n if (target && (target.isUnknown() || this.opts.stat)) {\n await target.lstat()\n }\n /* c8 ignore stop */\n }\n return this.matchCheckTest(s, ifDir)\n }\n\n matchCheckTest(e: Path | undefined, ifDir: boolean): Path | undefined {\n return (\n e &&\n (this.maxDepth === Infinity || e.depth() <= this.maxDepth) &&\n (!ifDir || e.canReaddir()) &&\n (!this.opts.nodir || !e.isDirectory()) &&\n (!this.opts.nodir ||\n !this.opts.follow ||\n !e.isSymbolicLink() ||\n !e.realpathCached()?.isDirectory()) &&\n !this.#ignored(e)\n ) ?\n e\n : undefined\n }\n\n matchCheckSync(e: Path, ifDir: boolean): Path | undefined {\n if (ifDir && this.opts.nodir) return undefined\n let rpc: Path | undefined\n if (this.opts.realpath) {\n rpc = e.realpathCached() || e.realpathSync()\n if (!rpc) return undefined\n e = rpc\n }\n const needStat = e.isUnknown() || this.opts.stat\n const s = needStat ? e.lstatSync() : e\n if (this.opts.follow && this.opts.nodir && s?.isSymbolicLink()) {\n const target = s.realpathSync()\n if (target && (target?.isUnknown() || this.opts.stat)) {\n target.lstatSync()\n }\n }\n return this.matchCheckTest(s, ifDir)\n }\n\n abstract matchEmit(p: Result): void\n abstract matchEmit(p: string | Path): void\n\n matchFinish(e: Path, absolute: boolean) {\n if (this.#ignored(e)) return\n // we know we have an ignore if this is false, but TS doesn't\n if (!this.includeChildMatches && this.#ignore?.add) {\n const ign = `${e.relativePosix()}/**`\n this.#ignore.add(ign)\n }\n const abs =\n this.opts.absolute === undefined ? absolute : this.opts.absolute\n this.seen.add(e)\n const mark = this.opts.mark && e.isDirectory() ? this.#sep : ''\n // ok, we have what we need!\n if (this.opts.withFileTypes) {\n this.matchEmit(e)\n } else if (abs) {\n const abs = this.opts.posix ? e.fullpathPosix() : e.fullpath()\n this.matchEmit(abs + mark)\n } else {\n const rel = this.opts.posix ? e.relativePosix() : e.relative()\n const pre =\n this.opts.dotRelative && !rel.startsWith('..' + this.#sep) ?\n '.' + this.#sep\n : ''\n this.matchEmit(!rel ? '.' + mark : pre + rel + mark)\n }\n }\n\n async match(e: Path, absolute: boolean, ifDir: boolean): Promise {\n const p = await this.matchCheck(e, ifDir)\n if (p) this.matchFinish(p, absolute)\n }\n\n matchSync(e: Path, absolute: boolean, ifDir: boolean): void {\n const p = this.matchCheckSync(e, ifDir)\n if (p) this.matchFinish(p, absolute)\n }\n\n walkCB(target: Path, patterns: Pattern[], cb: () => any) {\n /* c8 ignore start */\n if (this.signal?.aborted) cb()\n /* c8 ignore stop */\n this.walkCB2(target, patterns, new Processor(this.opts), cb)\n }\n\n walkCB2(\n target: Path,\n patterns: Pattern[],\n processor: Processor,\n cb: () => any,\n ) {\n if (this.#childrenIgnored(target)) return cb()\n if (this.signal?.aborted) cb()\n if (this.paused) {\n this.onResume(() => this.walkCB2(target, patterns, processor, cb))\n return\n }\n processor.processPatterns(target, patterns)\n\n // done processing. all of the above is sync, can be abstracted out.\n // subwalks is a map of paths to the entry filters they need\n // matches is a map of paths to [absolute, ifDir] tuples.\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n tasks++\n this.match(m, absolute, ifDir).then(() => next())\n }\n\n for (const t of processor.subwalkTargets()) {\n if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {\n continue\n }\n tasks++\n const childrenCached = t.readdirCached()\n if (t.calledReaddir())\n this.walkCB3(t, childrenCached, processor, next)\n else {\n t.readdirCB(\n (_, entries) => this.walkCB3(t, entries, processor, next),\n true,\n )\n }\n }\n\n next()\n }\n\n walkCB3(\n target: Path,\n entries: Path[],\n processor: Processor,\n cb: () => any,\n ) {\n processor = processor.filterEntries(target, entries)\n\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n tasks++\n this.match(m, absolute, ifDir).then(() => next())\n }\n for (const [target, patterns] of processor.subwalks.entries()) {\n tasks++\n this.walkCB2(target, patterns, processor.child(), next)\n }\n\n next()\n }\n\n walkCBSync(target: Path, patterns: Pattern[], cb: () => any) {\n /* c8 ignore start */\n if (this.signal?.aborted) cb()\n /* c8 ignore stop */\n this.walkCB2Sync(target, patterns, new Processor(this.opts), cb)\n }\n\n walkCB2Sync(\n target: Path,\n patterns: Pattern[],\n processor: Processor,\n cb: () => any,\n ) {\n if (this.#childrenIgnored(target)) return cb()\n if (this.signal?.aborted) cb()\n if (this.paused) {\n this.onResume(() =>\n this.walkCB2Sync(target, patterns, processor, cb),\n )\n return\n }\n processor.processPatterns(target, patterns)\n\n // done processing. all of the above is sync, can be abstracted out.\n // subwalks is a map of paths to the entry filters they need\n // matches is a map of paths to [absolute, ifDir] tuples.\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n this.matchSync(m, absolute, ifDir)\n }\n\n for (const t of processor.subwalkTargets()) {\n if (this.maxDepth !== Infinity && t.depth() >= this.maxDepth) {\n continue\n }\n tasks++\n const children = t.readdirSync()\n this.walkCB3Sync(t, children, processor, next)\n }\n\n next()\n }\n\n walkCB3Sync(\n target: Path,\n entries: Path[],\n processor: Processor,\n cb: () => any,\n ) {\n processor = processor.filterEntries(target, entries)\n\n let tasks = 1\n const next = () => {\n if (--tasks === 0) cb()\n }\n\n for (const [m, absolute, ifDir] of processor.matches.entries()) {\n if (this.#ignored(m)) continue\n this.matchSync(m, absolute, ifDir)\n }\n for (const [target, patterns] of processor.subwalks.entries()) {\n tasks++\n this.walkCB2Sync(target, patterns, processor.child(), next)\n }\n\n next()\n }\n}\n\nexport class GlobWalker<\n O extends GlobWalkerOpts = GlobWalkerOpts,\n> extends GlobUtil {\n matches = new Set>()\n\n constructor(patterns: Pattern[], path: Path, opts: O) {\n super(patterns, path, opts)\n }\n\n matchEmit(e: Result): void {\n this.matches.add(e)\n }\n\n async walk(): Promise