diff --git a/deps/npm/docs/content/commands/npm-ls.md b/deps/npm/docs/content/commands/npm-ls.md
index 791e5f88b082bb..b6c1750d7c1bfe 100644
--- a/deps/npm/docs/content/commands/npm-ls.md
+++ b/deps/npm/docs/content/commands/npm-ls.md
@@ -27,7 +27,7 @@ packages will *also* show the paths to the specified packages. For
example, running `npm ls promzard` in npm's source tree will show:
```bash
-npm@10.2.0 /path/to/npm
+npm@10.2.1 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
```
diff --git a/deps/npm/docs/content/commands/npm-rebuild.md b/deps/npm/docs/content/commands/npm-rebuild.md
index c42e09767ef4b4..596ae97df24448 100644
--- a/deps/npm/docs/content/commands/npm-rebuild.md
+++ b/deps/npm/docs/content/commands/npm-rebuild.md
@@ -14,14 +14,29 @@ alias: rb
### Description
-This command runs the `npm build` command on the matched folders. This is
-useful when you install a new version of node, and must recompile all your
-C++ addons with the new binary. It is also useful when installing with
-`--ignore-scripts` and `--no-bin-links`, to explicitly choose which
-packages to build and/or link bins.
-
-If one or more package specs are provided, then only packages with a
-name and version matching one of the specifiers will be rebuilt.
+This command does the following:
+
+1. Execute lifecycle scripts (`preinstall`, `install`, `postinstall`, `prepare`)
+2. Links bins depending on whether bin links are enabled
+
+This command is particularly useful in scenarios including but not limited to:
+
+1. Installing a new version of **node.js**, where you need to recompile all your C++ add-ons with the updated binary.
+2. Installing with `--ignore-scripts` and `--no-bin-links`, to explicitly choose which packages to build and/or link bins.
+
+If one or more package specs are provided, then only packages with a name and version matching one of the specifiers will be rebuilt.
+
+Usually, you should not need to run `npm rebuild` as it is already done for you as part of npm install (unless you suppressed these steps with `--ignore-scripts` or `--no-bin-links`).
+
+If there is a `binding.gyp` file in the root of your package, then npm will use a default install hook:
+
+```
+"scripts": {
+ "install": "node-gyp rebuild"
+}
+```
+
+This default behavior is suppressed if the `package.json` has its own `install` or `preinstall` scripts. It is also suppressed if the package specifies `"gypfile": false`
### Configuration
diff --git a/deps/npm/docs/content/commands/npm.md b/deps/npm/docs/content/commands/npm.md
index 0a5b88d7083c8a..4f6f7ef55d7364 100644
--- a/deps/npm/docs/content/commands/npm.md
+++ b/deps/npm/docs/content/commands/npm.md
@@ -14,7 +14,7 @@ Note: This command is unaware of workspaces.
### Version
-10.2.0
+10.2.1
### Description
diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md
index bf212c5db24f77..b25815a428cd4c 100644
--- a/deps/npm/docs/content/using-npm/scripts.md
+++ b/deps/npm/docs/content/using-npm/scripts.md
@@ -159,8 +159,6 @@ These are run from the scripts of ``
* `publish`
* `postpublish`
-`prepare` will not run during `--dry-run`
-
#### [`npm rebuild`](/commands/npm-rebuild)
* `preinstall`
diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html
index fda40e2beabf14..8f881c8d41a9ad 100644
--- a/deps/npm/docs/output/commands/npm-ls.html
+++ b/deps/npm/docs/output/commands/npm-ls.html
@@ -160,7 +160,7 @@ Description
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@10.2.0 /path/to/npm
+npm@10.2.1 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
diff --git a/deps/npm/docs/output/commands/npm-rebuild.html b/deps/npm/docs/output/commands/npm-rebuild.html
index 4d2ce115e6a362..3a1a5a401a6a06 100644
--- a/deps/npm/docs/output/commands/npm-rebuild.html
+++ b/deps/npm/docs/output/commands/npm-rebuild.html
@@ -151,13 +151,24 @@ Table of contents
alias: rb
Description
-This command runs the npm build
command on the matched folders. This is
-useful when you install a new version of node, and must recompile all your
-C++ addons with the new binary. It is also useful when installing with
---ignore-scripts
and --no-bin-links
, to explicitly choose which
-packages to build and/or link bins.
-If one or more package specs are provided, then only packages with a
-name and version matching one of the specifiers will be rebuilt.
+This command does the following:
+
+- Execute lifecycle scripts (
preinstall
, install
, postinstall
, prepare
)
+- Links bins depending on whether bin links are enabled
+
+This command is particularly useful in scenarios including but not limited to:
+
+- Installing a new version of node.js, where you need to recompile all your C++ add-ons with the updated binary.
+- Installing with
--ignore-scripts
and --no-bin-links
, to explicitly choose which packages to build and/or link bins.
+
+If one or more package specs are provided, then only packages with a name and version matching one of the specifiers will be rebuilt.
+Usually, you should not need to run npm rebuild
as it is already done for you as part of npm install (unless you suppressed these steps with --ignore-scripts
or --no-bin-links
).
+If there is a binding.gyp
file in the root of your package, then npm will use a default install hook:
+"scripts": {
+ "install": "node-gyp rebuild"
+}
+
+This default behavior is suppressed if the package.json
has its own install
or preinstall
scripts. It is also suppressed if the package specifies "gypfile": false
Configuration
global
diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html
index dafc8c4f92c3e5..11e0168c0bab02 100644
--- a/deps/npm/docs/output/commands/npm.html
+++ b/deps/npm/docs/output/commands/npm.html
@@ -150,7 +150,7 @@ Table of contents
Note: This command is unaware of workspaces.
Version
-10.2.0
+10.2.1
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
diff --git a/deps/npm/docs/output/using-npm/scripts.html b/deps/npm/docs/output/using-npm/scripts.html
index 6cc14bff7aeabe..5628c7724f8ca7 100644
--- a/deps/npm/docs/output/using-npm/scripts.html
+++ b/deps/npm/docs/output/using-npm/scripts.html
@@ -293,7 +293,6 @@
-prepare
will not run during --dry-run
preinstall
diff --git a/deps/npm/lib/commands/audit.js b/deps/npm/lib/commands/audit.js
index c95d992c05c99f..8c10a36cfee3cf 100644
--- a/deps/npm/lib/commands/audit.js
+++ b/deps/npm/lib/commands/audit.js
@@ -55,7 +55,7 @@ class VerifySignatures {
// Didn't find any dependencies that could be verified, e.g. only local
// deps, missing version, not on a registry etc.
if (!this.auditedWithKeysCount) {
- throw new Error('found no dependencies to audit that where installed from ' +
+ throw new Error('found no dependencies to audit that were installed from ' +
'a supported registry')
}
diff --git a/deps/npm/lib/commands/logout.js b/deps/npm/lib/commands/logout.js
index aea5e93652b0e8..665580930639cf 100644
--- a/deps/npm/lib/commands/logout.js
+++ b/deps/npm/lib/commands/logout.js
@@ -1,5 +1,5 @@
-const getAuth = require('npm-registry-fetch/lib/auth.js')
const npmFetch = require('npm-registry-fetch')
+const { getAuth } = npmFetch
const log = require('../utils/log-shim')
const BaseCommand = require('../base-command.js')
@@ -19,10 +19,14 @@ class Logout extends BaseCommand {
const auth = getAuth(reg, this.npm.flatOptions)
+ const level = this.npm.config.find(`${auth.regKey}:${auth.authKey}`)
+
+ // find the config level and only delete from there
if (auth.token) {
log.verbose('logout', `clearing token for ${reg}`)
await npmFetch(`/-/user/token/${encodeURIComponent(auth.token)}`, {
...this.npm.flatOptions,
+ registry: reg,
method: 'DELETE',
ignoreBody: true,
})
@@ -34,12 +38,12 @@ class Logout extends BaseCommand {
}
if (scope) {
- this.npm.config.delete(regRef, 'user')
+ this.npm.config.delete(regRef, level)
}
- this.npm.config.clearCredentialsByURI(reg)
+ this.npm.config.clearCredentialsByURI(reg, level)
- await this.npm.config.save('user')
+ await this.npm.config.save(level)
}
}
module.exports = Logout
diff --git a/deps/npm/lib/utils/queryable.js b/deps/npm/lib/utils/queryable.js
index 5ddcf636e83836..69621d928e8ddc 100644
--- a/deps/npm/lib/utils/queryable.js
+++ b/deps/npm/lib/utils/queryable.js
@@ -111,13 +111,9 @@ const getter = ({ data, key }) => {
}, {})
return _data
} else {
- // if can't find any more values, it means it's just over
- // and there's nothing to return
- if (!_data[k]) {
+ if (!Object.hasOwn(_data, k)) {
return undefined
}
-
- // otherwise sets the next value
_data = _data[k]
}
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index 385138d4876f99..069880d317dc23 100644
--- a/deps/npm/man/man1/npm-ls.1
+++ b/deps/npm/man/man1/npm-ls.1
@@ -20,7 +20,7 @@ Positional arguments are \fBname@version-range\fR identifiers, which will limit
.P
.RS 2
.nf
-npm@10.2.0 /path/to/npm
+npm@10.2.1 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
.fi
diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1
index 882b27fa6e0722..46704f180ca3e0 100644
--- a/deps/npm/man/man1/npm-rebuild.1
+++ b/deps/npm/man/man1/npm-rebuild.1
@@ -12,9 +12,39 @@ alias: rb
.RE
.SS "Description"
.P
-This command runs the \fBnpm build\fR command on the matched folders. This is useful when you install a new version of node, and must recompile all your C++ addons with the new binary. It is also useful when installing with \fB--ignore-scripts\fR and \fB--no-bin-links\fR, to explicitly choose which packages to build and/or link bins.
+This command does the following:
+.RS 0
+.IP 1. 4
+Execute lifecycle scripts (\fBpreinstall\fR, \fBinstall\fR, \fBpostinstall\fR, \fBprepare\fR)
+.IP 2. 4
+Links bins depending on whether bin links are enabled
+.RE 0
+
+.P
+This command is particularly useful in scenarios including but not limited to:
+.RS 0
+.IP 1. 4
+Installing a new version of \fBnode.js\fR, where you need to recompile all your C++ add-ons with the updated binary.
+.IP 2. 4
+Installing with \fB--ignore-scripts\fR and \fB--no-bin-links\fR, to explicitly choose which packages to build and/or link bins.
+.RE 0
+
.P
If one or more package specs are provided, then only packages with a name and version matching one of the specifiers will be rebuilt.
+.P
+Usually, you should not need to run \fBnpm rebuild\fR as it is already done for you as part of npm install (unless you suppressed these steps with \fB--ignore-scripts\fR or \fB--no-bin-links\fR).
+.P
+If there is a \fBbinding.gyp\fR file in the root of your package, then npm will use a default install hook:
+.P
+.RS 2
+.nf
+"scripts": {
+ "install": "node-gyp rebuild"
+}
+.fi
+.RE
+.P
+This default behavior is suppressed if the \fBpackage.json\fR has its own \fBinstall\fR or \fBpreinstall\fR scripts. It is also suppressed if the package specifies \fB"gypfile": false\fR
.SS "Configuration"
.SS "\fBglobal\fR"
.RS 0
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 740c99ee0be370..b75d2884c6bdc9 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -12,7 +12,7 @@ npm
Note: This command is unaware of workspaces.
.SS "Version"
.P
-10.2.0
+10.2.1
.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/man7/scripts.7 b/deps/npm/man/man7/scripts.7
index 8306b12e37fa8a..c7ddff6f8d30f1 100644
--- a/deps/npm/man/man7/scripts.7
+++ b/deps/npm/man/man7/scripts.7
@@ -201,8 +201,6 @@ These are run from the scripts of \fB\fR
\fBpostpublish\fR
.RE 0
-.P
-\fBprepare\fR will not run during \fB--dry-run\fR
.SS "npm help rebuild"
.RS 0
.IP \(bu 4
diff --git a/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/dist/index.js b/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/dist/index.js
index e3bbfe632c454d..978af031baf3aa 100644
--- a/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/dist/index.js
+++ b/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/dist/index.js
@@ -81,7 +81,11 @@ class HttpsProxyAgent extends agent_base_1.Agent {
let socket;
if (proxy.protocol === 'https:') {
debug('Creating `tls.Socket`: %o', this.connectOpts);
- socket = tls.connect(this.connectOpts);
+ const servername = this.connectOpts.servername || this.connectOpts.host;
+ socket = tls.connect({
+ ...this.connectOpts,
+ servername: servername && net.isIP(servername) ? undefined : servername
+ });
}
else {
debug('Creating `net.Socket`: %o', this.connectOpts);
diff --git a/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/dist/parse-proxy-response.js b/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/dist/parse-proxy-response.js
index a28f1d811805f8..d3f506f9413066 100644
--- a/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/dist/parse-proxy-response.js
+++ b/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/dist/parse-proxy-response.js
@@ -47,7 +47,10 @@ function parseProxyResponse(socket) {
read();
return;
}
- const headerParts = buffered.slice(0, endOfHeaders).toString('ascii').split('\r\n');
+ const headerParts = buffered
+ .slice(0, endOfHeaders)
+ .toString('ascii')
+ .split('\r\n');
const firstLine = headerParts.shift();
if (!firstLine) {
socket.destroy();
diff --git a/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/package.json b/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/package.json
index fc5f988d3b02bf..07c04f82a9c3ab 100644
--- a/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/package.json
+++ b/deps/npm/node_modules/@npmcli/agent/node_modules/https-proxy-agent/package.json
@@ -1,6 +1,6 @@
{
"name": "https-proxy-agent",
- "version": "7.0.1",
+ "version": "7.0.2",
"description": "An HTTP(s) proxy `http.Agent` implementation for HTTPS",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
diff --git a/deps/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent/dist/index.js b/deps/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent/dist/index.js
index 8189e014c13a0d..102ecd64c0b9d6 100644
--- a/deps/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent/dist/index.js
+++ b/deps/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent/dist/index.js
@@ -33,6 +33,7 @@ const debug_1 = __importDefault(require("debug"));
const dns = __importStar(require("dns"));
const net = __importStar(require("net"));
const tls = __importStar(require("tls"));
+const url_1 = require("url");
const debug = (0, debug_1.default)('socks-proxy-agent');
function parseSocksURL(url) {
let lookup = false;
@@ -88,7 +89,7 @@ function parseSocksURL(url) {
class SocksProxyAgent extends agent_base_1.Agent {
constructor(uri, opts) {
super(opts);
- const url = typeof uri === 'string' ? new URL(uri) : uri;
+ const url = typeof uri === 'string' ? new url_1.URL(uri) : uri;
const { proxy, lookup } = parseSocksURL(url);
this.shouldLookup = lookup;
this.proxy = proxy;
diff --git a/deps/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent/package.json b/deps/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent/package.json
index a6c7c0741641a1..6e1c2c12de3674 100644
--- a/deps/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent/package.json
+++ b/deps/npm/node_modules/@npmcli/agent/node_modules/socks-proxy-agent/package.json
@@ -1,6 +1,6 @@
{
"name": "socks-proxy-agent",
- "version": "8.0.1",
+ "version": "8.0.2",
"description": "A SOCKS proxy `http.Agent` implementation for HTTP and HTTPS",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -107,7 +107,7 @@
"socks5h"
],
"dependencies": {
- "agent-base": "^7.0.1",
+ "agent-base": "^7.0.2",
"debug": "^4.3.4",
"socks": "^2.7.1"
},
@@ -117,7 +117,7 @@
"@types/dns2": "^2.0.3",
"@types/jest": "^29.5.1",
"@types/node": "^14.18.45",
- "async-listen": "^2.1.0",
+ "async-listen": "^3.0.0",
"async-retry": "^1.3.3",
"cacheable-lookup": "^6.1.0",
"dns2": "^2.1.0",
@@ -125,8 +125,8 @@
"socksv5": "github:TooTallNate/socksv5#fix/dstSock-close-event",
"ts-jest": "^29.1.0",
"typescript": "^5.0.4",
- "tsconfig": "0.0.0",
- "proxy": "2.0.1"
+ "proxy": "2.1.1",
+ "tsconfig": "0.0.0"
},
"engines": {
"node": ">= 14"
diff --git a/deps/npm/node_modules/@npmcli/config/README.md b/deps/npm/node_modules/@npmcli/config/README.md
index 32418381a4c76a..12a5e23331d3ae 100644
--- a/deps/npm/node_modules/@npmcli/config/README.md
+++ b/deps/npm/node_modules/@npmcli/config/README.md
@@ -55,20 +55,17 @@ The resulting hierarchy of configs:
```js
const Config = require('@npmcli/config')
-// the types of all the configs we know about
-const types = require('./config/types.js')
-// default values for all the configs we know about
-const defaults = require('./config/defaults.js')
-// if you want -c to be short for --call and so on, define it here
-const shorthands = require('./config/shorthands.js')
+const { shorthands, definitions, flatten } = require('@npmcli/config/lib/definitions')
const conf = new Config({
// path to the npm module being run
npmPath: resolve(__dirname, '..'),
- types,
+ definitions,
shorthands,
- defaults,
+ flatten,
// optional, defaults to process.argv
+ // argv: [] <- if you are using this package in your own cli
+ // and dont want to have colliding argv
argv: process.argv,
// optional, defaults to process.env
env: process.env,
diff --git a/deps/npm/node_modules/@npmcli/config/lib/index.js b/deps/npm/node_modules/@npmcli/config/lib/index.js
index ad07fcdf51826a..b09ecc478f64fd 100644
--- a/deps/npm/node_modules/@npmcli/config/lib/index.js
+++ b/deps/npm/node_modules/@npmcli/config/lib/index.js
@@ -774,29 +774,29 @@ class Config {
await chmod(conf.source, mode)
}
- clearCredentialsByURI (uri) {
+ clearCredentialsByURI (uri, level = 'user') {
const nerfed = nerfDart(uri)
const def = nerfDart(this.get('registry'))
if (def === nerfed) {
- this.delete(`-authtoken`, 'user')
- this.delete(`_authToken`, 'user')
- this.delete(`_authtoken`, 'user')
- this.delete(`_auth`, 'user')
- this.delete(`_password`, 'user')
- this.delete(`username`, 'user')
+ this.delete(`-authtoken`, level)
+ this.delete(`_authToken`, level)
+ this.delete(`_authtoken`, level)
+ this.delete(`_auth`, level)
+ this.delete(`_password`, level)
+ this.delete(`username`, level)
// de-nerf email if it's nerfed to the default registry
- const email = this.get(`${nerfed}:email`, 'user')
+ const email = this.get(`${nerfed}:email`, level)
if (email) {
- this.set('email', email, 'user')
+ this.set('email', email, level)
}
}
- this.delete(`${nerfed}:_authToken`, 'user')
- this.delete(`${nerfed}:_auth`, 'user')
- this.delete(`${nerfed}:_password`, 'user')
- this.delete(`${nerfed}:username`, 'user')
- this.delete(`${nerfed}:email`, 'user')
- this.delete(`${nerfed}:certfile`, 'user')
- this.delete(`${nerfed}:keyfile`, 'user')
+ this.delete(`${nerfed}:_authToken`, level)
+ this.delete(`${nerfed}:_auth`, level)
+ this.delete(`${nerfed}:_password`, level)
+ this.delete(`${nerfed}:username`, level)
+ this.delete(`${nerfed}:email`, level)
+ this.delete(`${nerfed}:certfile`, level)
+ this.delete(`${nerfed}:keyfile`, level)
}
setCredentialsByURI (uri, { token, username, password, email, certfile, keyfile }) {
diff --git a/deps/npm/node_modules/@npmcli/config/package.json b/deps/npm/node_modules/@npmcli/config/package.json
index 85af7ee1c7d405..2f30c7ff98a644 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": "8.0.0",
+ "version": "8.0.1",
"files": [
"bin/",
"lib/"
diff --git a/deps/npm/node_modules/are-we-there-yet/lib/tracker-base.js b/deps/npm/node_modules/are-we-there-yet/lib/tracker-base.js
index 6f436875578a7a..1b5e0dc30c49bb 100644
--- a/deps/npm/node_modules/are-we-there-yet/lib/tracker-base.js
+++ b/deps/npm/node_modules/are-we-there-yet/lib/tracker-base.js
@@ -1,11 +1,13 @@
'use strict'
-var EventEmitter = require('events').EventEmitter
-var util = require('util')
+const EventEmitter = require('events')
-var trackerId = 0
-var TrackerBase = module.exports = function (name) {
- EventEmitter.call(this)
- this.id = ++trackerId
- this.name = name
+let trackerId = 0
+class TrackerBase extends EventEmitter {
+ constructor (name) {
+ super()
+ this.id = ++trackerId
+ this.name = name
+ }
}
-util.inherits(TrackerBase, EventEmitter)
+
+module.exports = TrackerBase
diff --git a/deps/npm/node_modules/are-we-there-yet/lib/tracker-group.js b/deps/npm/node_modules/are-we-there-yet/lib/tracker-group.js
index a3c7af804c4d3b..162c22584cdc53 100644
--- a/deps/npm/node_modules/are-we-there-yet/lib/tracker-group.js
+++ b/deps/npm/node_modules/are-we-there-yet/lib/tracker-group.js
@@ -1,116 +1,112 @@
'use strict'
-var util = require('util')
-var TrackerBase = require('./tracker-base.js')
-var Tracker = require('./tracker.js')
-var TrackerStream = require('./tracker-stream.js')
+const TrackerBase = require('./tracker-base.js')
+const Tracker = require('./tracker.js')
+const TrackerStream = require('./tracker-stream.js')
-var TrackerGroup = module.exports = function (name) {
- TrackerBase.call(this, name)
- this.parentGroup = null
- this.trackers = []
- this.completion = {}
- this.weight = {}
- this.totalWeight = 0
- this.finished = false
- this.bubbleChange = bubbleChange(this)
-}
-util.inherits(TrackerGroup, TrackerBase)
+class TrackerGroup extends TrackerBase {
+ parentGroup = null
+ trackers = []
+ completion = {}
+ weight = {}
+ totalWeight = 0
+ finished = false
+ bubbleChange = bubbleChange(this)
-function bubbleChange (trackerGroup) {
- return function (name, completed, tracker) {
- trackerGroup.completion[tracker.id] = completed
- if (trackerGroup.finished) {
- return
+ nameInTree () {
+ var names = []
+ var from = this
+ while (from) {
+ names.unshift(from.name)
+ from = from.parentGroup
}
- trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup)
+ return names.join('/')
}
-}
-TrackerGroup.prototype.nameInTree = function () {
- var names = []
- var from = this
- while (from) {
- names.unshift(from.name)
- from = from.parentGroup
- }
- return names.join('/')
-}
-
-TrackerGroup.prototype.addUnit = function (unit, weight) {
- if (unit.addUnit) {
- var toTest = this
- while (toTest) {
- if (unit === toTest) {
- throw new Error(
- 'Attempted to add tracker group ' +
- unit.name + ' to tree that already includes it ' +
- this.nameInTree(this))
+ addUnit (unit, weight) {
+ if (unit.addUnit) {
+ var toTest = this
+ while (toTest) {
+ if (unit === toTest) {
+ throw new Error(
+ 'Attempted to add tracker group ' +
+ unit.name + ' to tree that already includes it ' +
+ this.nameInTree(this))
+ }
+ toTest = toTest.parentGroup
}
- toTest = toTest.parentGroup
+ unit.parentGroup = this
}
- unit.parentGroup = this
+ this.weight[unit.id] = weight || 1
+ this.totalWeight += this.weight[unit.id]
+ this.trackers.push(unit)
+ this.completion[unit.id] = unit.completed()
+ unit.on('change', this.bubbleChange)
+ if (!this.finished) {
+ this.emit('change', unit.name, this.completion[unit.id], unit)
+ }
+ return unit
}
- this.weight[unit.id] = weight || 1
- this.totalWeight += this.weight[unit.id]
- this.trackers.push(unit)
- this.completion[unit.id] = unit.completed()
- unit.on('change', this.bubbleChange)
- if (!this.finished) {
- this.emit('change', unit.name, this.completion[unit.id], unit)
+
+ completed () {
+ if (this.trackers.length === 0) {
+ return 0
+ }
+ var valPerWeight = 1 / this.totalWeight
+ var completed = 0
+ for (var ii = 0; ii < this.trackers.length; ii++) {
+ var trackerId = this.trackers[ii].id
+ completed +=
+ valPerWeight * this.weight[trackerId] * this.completion[trackerId]
+ }
+ return completed
}
- return unit
-}
-TrackerGroup.prototype.completed = function () {
- if (this.trackers.length === 0) {
- return 0
+ newGroup (name, weight) {
+ return this.addUnit(new TrackerGroup(name), weight)
}
- var valPerWeight = 1 / this.totalWeight
- var completed = 0
- for (var ii = 0; ii < this.trackers.length; ii++) {
- var trackerId = this.trackers[ii].id
- completed +=
- valPerWeight * this.weight[trackerId] * this.completion[trackerId]
+
+ newItem (name, todo, weight) {
+ return this.addUnit(new Tracker(name, todo), weight)
}
- return completed
-}
-TrackerGroup.prototype.newGroup = function (name, weight) {
- return this.addUnit(new TrackerGroup(name), weight)
-}
+ newStream (name, todo, weight) {
+ return this.addUnit(new TrackerStream(name, todo), weight)
+ }
-TrackerGroup.prototype.newItem = function (name, todo, weight) {
- return this.addUnit(new Tracker(name, todo), weight)
-}
+ finish () {
+ this.finished = true
+ if (!this.trackers.length) {
+ this.addUnit(new Tracker(), 1, true)
+ }
+ for (var ii = 0; ii < this.trackers.length; ii++) {
+ var tracker = this.trackers[ii]
+ tracker.finish()
+ tracker.removeListener('change', this.bubbleChange)
+ }
+ this.emit('change', this.name, 1, this)
+ }
-TrackerGroup.prototype.newStream = function (name, todo, weight) {
- return this.addUnit(new TrackerStream(name, todo), weight)
-}
+ debug (depth = 0) {
+ const indent = ' '.repeat(depth)
+ let output = `${indent}${this.name || 'top'}: ${this.completed()}\n`
-TrackerGroup.prototype.finish = function () {
- this.finished = true
- if (!this.trackers.length) {
- this.addUnit(new Tracker(), 1, true)
- }
- for (var ii = 0; ii < this.trackers.length; ii++) {
- var tracker = this.trackers[ii]
- tracker.finish()
- tracker.removeListener('change', this.bubbleChange)
+ this.trackers.forEach(function (tracker) {
+ output += tracker instanceof TrackerGroup
+ ? tracker.debug(depth + 1)
+ : `${indent} ${tracker.name}: ${tracker.completed()}\n`
+ })
+ return output
}
- this.emit('change', this.name, 1, this)
}
-var buffer = ' '
-TrackerGroup.prototype.debug = function (depth) {
- depth = depth || 0
- var indent = depth ? buffer.slice(0, depth) : ''
- var output = indent + (this.name || 'top') + ': ' + this.completed() + '\n'
- this.trackers.forEach(function (tracker) {
- if (tracker instanceof TrackerGroup) {
- output += tracker.debug(depth + 1)
- } else {
- output += indent + ' ' + tracker.name + ': ' + tracker.completed() + '\n'
+function bubbleChange (trackerGroup) {
+ return function (name, completed, tracker) {
+ trackerGroup.completion[tracker.id] = completed
+ if (trackerGroup.finished) {
+ return
}
- })
- return output
+ trackerGroup.emit('change', name || trackerGroup.name, trackerGroup.completed(), trackerGroup)
+ }
}
+
+module.exports = TrackerGroup
diff --git a/deps/npm/node_modules/are-we-there-yet/lib/tracker-stream.js b/deps/npm/node_modules/are-we-there-yet/lib/tracker-stream.js
index e1cf85055702a7..4b111b6bae8a81 100644
--- a/deps/npm/node_modules/are-we-there-yet/lib/tracker-stream.js
+++ b/deps/npm/node_modules/are-we-there-yet/lib/tracker-stream.js
@@ -1,17 +1,28 @@
'use strict'
-var util = require('util')
-var stream = require('readable-stream')
-var delegate = require('delegates')
-var Tracker = require('./tracker.js')
+const stream = require('readable-stream')
+const delegate = require('delegates')
+const Tracker = require('./tracker.js')
-var TrackerStream = module.exports = function (name, size, options) {
- stream.Transform.call(this, options)
- this.tracker = new Tracker(name, size)
- this.name = name
- this.id = this.tracker.id
- this.tracker.on('change', delegateChange(this))
+class TrackerStream extends stream.Transform {
+ constructor (name, size, options) {
+ super(options)
+ this.tracker = new Tracker(name, size)
+ this.name = name
+ this.id = this.tracker.id
+ this.tracker.on('change', delegateChange(this))
+ }
+
+ _transform (data, encoding, cb) {
+ this.tracker.completeWork(data.length ? data.length : 1)
+ this.push(data)
+ cb()
+ }
+
+ _flush (cb) {
+ this.tracker.finish()
+ cb()
+ }
}
-util.inherits(TrackerStream, stream.Transform)
function delegateChange (trackerStream) {
return function (name, completion, tracker) {
@@ -19,18 +30,9 @@ function delegateChange (trackerStream) {
}
}
-TrackerStream.prototype._transform = function (data, encoding, cb) {
- this.tracker.completeWork(data.length ? data.length : 1)
- this.push(data)
- cb()
-}
-
-TrackerStream.prototype._flush = function (cb) {
- this.tracker.finish()
- cb()
-}
-
delegate(TrackerStream.prototype, 'tracker')
.method('completed')
.method('addWork')
.method('finish')
+
+module.exports = TrackerStream
diff --git a/deps/npm/node_modules/are-we-there-yet/lib/tracker.js b/deps/npm/node_modules/are-we-there-yet/lib/tracker.js
index a8f8b3ba013915..02e879ce6e3e26 100644
--- a/deps/npm/node_modules/are-we-there-yet/lib/tracker.js
+++ b/deps/npm/node_modules/are-we-there-yet/lib/tracker.js
@@ -1,32 +1,34 @@
'use strict'
-var util = require('util')
-var TrackerBase = require('./tracker-base.js')
+const TrackerBase = require('./tracker-base.js')
-var Tracker = module.exports = function (name, todo) {
- TrackerBase.call(this, name)
- this.workDone = 0
- this.workTodo = todo || 0
-}
-util.inherits(Tracker, TrackerBase)
+class Tracker extends TrackerBase {
+ constructor (name, todo) {
+ super(name)
+ this.workDone = 0
+ this.workTodo = todo || 0
+ }
-Tracker.prototype.completed = function () {
- return this.workTodo === 0 ? 0 : this.workDone / this.workTodo
-}
+ completed () {
+ return this.workTodo === 0 ? 0 : this.workDone / this.workTodo
+ }
-Tracker.prototype.addWork = function (work) {
- this.workTodo += work
- this.emit('change', this.name, this.completed(), this)
-}
+ addWork (work) {
+ this.workTodo += work
+ this.emit('change', this.name, this.completed(), this)
+ }
-Tracker.prototype.completeWork = function (work) {
- this.workDone += work
- if (this.workDone > this.workTodo) {
- this.workDone = this.workTodo
+ completeWork (work) {
+ this.workDone += work
+ if (this.workDone > this.workTodo) {
+ this.workDone = this.workTodo
+ }
+ this.emit('change', this.name, this.completed(), this)
}
- this.emit('change', this.name, this.completed(), this)
-}
-Tracker.prototype.finish = function () {
- this.workTodo = this.workDone = 1
- this.emit('change', this.name, 1, this)
+ finish () {
+ this.workTodo = this.workDone = 1
+ this.emit('change', this.name, 1, this)
+ }
}
+
+module.exports = Tracker
diff --git a/deps/npm/node_modules/are-we-there-yet/package.json b/deps/npm/node_modules/are-we-there-yet/package.json
index 919cb9a1dc5a73..e238c6581df667 100644
--- a/deps/npm/node_modules/are-we-there-yet/package.json
+++ b/deps/npm/node_modules/are-we-there-yet/package.json
@@ -1,6 +1,6 @@
{
"name": "are-we-there-yet",
- "version": "4.0.0",
+ "version": "4.0.1",
"description": "Keep track of the overall completion of many disparate processes",
"main": "lib/index.js",
"scripts": {
@@ -24,8 +24,8 @@
},
"homepage": "https://github.com/npm/are-we-there-yet",
"devDependencies": {
- "@npmcli/eslint-config": "^3.0.1",
- "@npmcli/template-oss": "4.5.1",
+ "@npmcli/eslint-config": "^4.0.0",
+ "@npmcli/template-oss": "4.17.0",
"tap": "^16.0.1"
},
"dependencies": {
@@ -51,6 +51,7 @@
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.5.1"
+ "version": "4.17.0",
+ "publish": true
}
}
diff --git a/deps/npm/node_modules/bin-links/lib/link-mans.js b/deps/npm/node_modules/bin-links/lib/link-mans.js
index 656e179b6ca54b..b6dd214cebdfe7 100644
--- a/deps/npm/node_modules/bin-links/lib/link-mans.js
+++ b/deps/npm/node_modules/bin-links/lib/link-mans.js
@@ -2,22 +2,23 @@ const { dirname, relative, join, resolve, basename } = require('path')
const linkGently = require('./link-gently.js')
const manTarget = require('./man-target.js')
-const linkMans = ({ path, pkg, top, force }) => {
+const linkMans = async ({ path, pkg, top, force }) => {
const target = manTarget({ path, top })
- if (!target || !pkg.man || !Array.isArray(pkg.man) || !pkg.man.length) {
- return Promise.resolve([])
+ if (!target || !Array.isArray(pkg?.man) || !pkg.man.length) {
+ return []
}
- // break any links to c:\\blah or /foo/blah or ../blah
- // and filter out duplicates
- const set = [...new Set(pkg.man.map(man =>
- man ? join('/', man).replace(/\\|:/g, '/').slice(1) : null)
- .filter(man => typeof man === 'string'))]
-
- return Promise.all(set.map(man => {
- const parseMan = man.match(/(.*\.([0-9]+)(\.gz)?)$/)
+ const links = []
+ // `new Set` to filter out duplicates
+ for (let man of new Set(pkg.man)) {
+ if (!man || typeof man !== 'string') {
+ continue
+ }
+ // break any links to c:\\blah or /foo/blah or ../blah
+ man = join('/', man).replace(/\\|:/g, '/').slice(1)
+ const parseMan = man.match(/\.([0-9]+)(\.gz)?$/)
if (!parseMan) {
- return Promise.reject(Object.assign(new Error('invalid man entry name\n' +
+ throw Object.assign(new Error('invalid man entry name\n' +
'Man files must end with a number, ' +
'and optionally a .gz suffix if they are compressed.'
), {
@@ -25,28 +26,28 @@ const linkMans = ({ path, pkg, top, force }) => {
path,
pkgid: pkg._id,
man,
- }))
+ })
}
- const stem = parseMan[1]
- const sxn = parseMan[2]
- const base = basename(stem)
+ const section = parseMan[1]
+ const base = basename(man)
const absFrom = resolve(path, man)
/* istanbul ignore if - that unpossible */
if (absFrom.indexOf(path) !== 0) {
- return Promise.reject(Object.assign(new Error('invalid man entry'), {
+ throw Object.assign(new Error('invalid man entry'), {
code: 'EBADMAN',
path,
pkgid: pkg._id,
man,
- }))
+ })
}
- const to = resolve(target, 'man' + sxn, base)
+ const to = resolve(target, 'man' + section, base)
const from = relative(dirname(to), absFrom)
- return linkGently({ from, to, path, absFrom, force })
- }))
+ links.push(linkGently({ from, to, path, absFrom, force }))
+ }
+ return Promise.all(links)
}
module.exports = linkMans
diff --git a/deps/npm/node_modules/bin-links/package.json b/deps/npm/node_modules/bin-links/package.json
index e6abb0b589808b..d5c11f7971f942 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": "4.0.2",
+ "version": "4.0.3",
"description": "JavaScript package binary linker",
"main": "./lib/index.js",
"scripts": {
@@ -30,7 +30,7 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^4.0.0",
- "@npmcli/template-oss": "4.15.1",
+ "@npmcli/template-oss": "4.19.0",
"require-inject": "^1.4.4",
"tap": "^16.0.1"
},
@@ -53,7 +53,7 @@
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
"windowsCI": false,
- "version": "4.15.1",
+ "version": "4.19.0",
"publish": true
}
}
diff --git a/deps/npm/node_modules/ci-info/LICENSE b/deps/npm/node_modules/ci-info/LICENSE
index 44ca33aa611e73..95f61daaaf485f 100644
--- a/deps/npm/node_modules/ci-info/LICENSE
+++ b/deps/npm/node_modules/ci-info/LICENSE
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2016-2023 Thomas Watson Steen
+Copyright (c) 2016 Thomas Watson Steen
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/deps/npm/node_modules/ci-info/package.json b/deps/npm/node_modules/ci-info/package.json
index 3edae7417a33ef..8d3ff0030cc919 100644
--- a/deps/npm/node_modules/ci-info/package.json
+++ b/deps/npm/node_modules/ci-info/package.json
@@ -1,6 +1,6 @@
{
"name": "ci-info",
- "version": "3.8.0",
+ "version": "3.9.0",
"description": "Get details about the current Continuous Integration environment",
"main": "index.js",
"typings": "index.d.ts",
@@ -35,9 +35,9 @@
},
"devDependencies": {
"clear-module": "^4.1.2",
- "husky": "^8.0.2",
- "standard": "^17.0.0",
- "tape": "^5.6.1"
+ "husky": "^8.0.3",
+ "standard": "^17.1.0",
+ "tape": "^5.7.0"
},
"engines": {
"node": ">=8"
diff --git a/deps/npm/node_modules/ci-info/vendors.json b/deps/npm/node_modules/ci-info/vendors.json
index 213711755273ae..7bedd96a7972fa 100644
--- a/deps/npm/node_modules/ci-info/vendors.json
+++ b/deps/npm/node_modules/ci-info/vendors.json
@@ -18,8 +18,10 @@
{
"name": "Azure Pipelines",
"constant": "AZURE_PIPELINES",
- "env": "SYSTEM_TEAMFOUNDATIONCOLLECTIONURI",
- "pr": "SYSTEM_PULLREQUEST_PULLREQUESTID"
+ "env": "TF_BUILD",
+ "pr": {
+ "BUILD_REASON": "PullRequest"
+ }
},
{
"name": "Bamboo",
@@ -287,7 +289,8 @@
"NOW_BUILDER",
"VERCEL"
]
- }
+ },
+ "pr": "VERCEL_GIT_PULL_REQUEST_ID"
},
{
"name": "Visual Studio App Center",
diff --git a/deps/npm/node_modules/cmd-shim/lib/index.js b/deps/npm/node_modules/cmd-shim/lib/index.js
index 76ea2cb6d624d8..9cf2243ebf035f 100644
--- a/deps/npm/node_modules/cmd-shim/lib/index.js
+++ b/deps/npm/node_modules/cmd-shim/lib/index.js
@@ -122,7 +122,11 @@ const writeShim_ = (from, to, prog, args, variables) => {
// basedir=`dirname "$0"`
//
// case `uname` in
- // *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
+ // *CYGWIN*|*MINGW*|*MSYS*)
+ // if command -v cygpath > /dev/null 2>&1; then
+ // basedir=`cygpath -w "$basedir"`
+ // fi
+ // ;;
// esac
//
// if [ -x "$basedir/node.exe" ]; then
@@ -137,7 +141,11 @@ const writeShim_ = (from, to, prog, args, variables) => {
+ `basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")\n`
+ '\n'
+ 'case `uname` in\n'
- + ' *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;\n'
+ + ' *CYGWIN*|*MINGW*|*MSYS*)\n'
+ + ' if command -v cygpath > /dev/null 2>&1; then\n'
+ + ' basedir=`cygpath -w "$basedir"`\n'
+ + ' fi\n'
+ + ' ;;\n'
+ 'esac\n'
+ '\n'
diff --git a/deps/npm/node_modules/cmd-shim/package.json b/deps/npm/node_modules/cmd-shim/package.json
index 4e52de2412f24a..ec274b2768fbb7 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": "6.0.1",
+ "version": "6.0.2",
"description": "Used in npm for command line application support",
"scripts": {
"test": "tap",
@@ -18,7 +18,7 @@
"license": "ISC",
"devDependencies": {
"@npmcli/eslint-config": "^4.0.0",
- "@npmcli/template-oss": "4.11.0",
+ "@npmcli/template-oss": "4.19.0",
"tap": "^16.0.1"
},
"files": [
@@ -41,6 +41,7 @@
"author": "GitHub Inc.",
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.11.0"
+ "version": "4.19.0",
+ "publish": true
}
}
diff --git a/deps/npm/node_modules/is-core-module/core.json b/deps/npm/node_modules/is-core-module/core.json
index af29f0b734b225..3cda693d7d0fd3 100644
--- a/deps/npm/node_modules/is-core-module/core.json
+++ b/deps/npm/node_modules/is-core-module/core.json
@@ -115,7 +115,7 @@
"sys": [">= 0.4 && < 0.7", ">= 0.8"],
"node:sys": [">= 14.18 && < 15", ">= 16"],
"test/reporters": ">= 19.9 && < 20.2",
- "node:test/reporters": [">= 19.9", ">= 20"],
+ "node:test/reporters": [">= 18.17 && < 19", ">= 19.9", ">= 20"],
"node:test": [">= 16.17 && < 17", ">= 18"],
"timers": true,
"node:timers": [">= 14.18 && < 15", ">= 16"],
@@ -149,8 +149,8 @@
"node:v8": [">= 14.18 && < 15", ">= 16"],
"vm": true,
"node:vm": [">= 14.18 && < 15", ">= 16"],
- "wasi": [">= 13.4 && < 13.5", ">= 20"],
- "node:wasi": ">= 20",
+ "wasi": [">= 13.4 && < 13.5", ">= 18.17 && < 19", ">= 20"],
+ "node:wasi": [">= 18.17 && < 19", ">= 20"],
"worker_threads": ">= 11.7",
"node:worker_threads": [">= 14.18 && < 15", ">= 16"],
"zlib": ">= 0.5",
diff --git a/deps/npm/node_modules/is-core-module/package.json b/deps/npm/node_modules/is-core-module/package.json
index 62bb065e8364a8..1269c80c5520d8 100644
--- a/deps/npm/node_modules/is-core-module/package.json
+++ b/deps/npm/node_modules/is-core-module/package.json
@@ -1,6 +1,6 @@
{
"name": "is-core-module",
- "version": "2.12.1",
+ "version": "2.13.0",
"description": "Is this specifier a node.js core module?",
"main": "index.js",
"sideEffects": false,
@@ -45,8 +45,8 @@
"has": "^1.0.3"
},
"devDependencies": {
- "@ljharb/eslint-config": "^21.0.1",
- "aud": "^2.0.2",
+ "@ljharb/eslint-config": "^21.1.0",
+ "aud": "^2.0.3",
"auto-changelog": "^2.4.0",
"eslint": "=8.8.0",
"in-publish": "^2.0.1",
@@ -54,8 +54,8 @@
"npmignore": "^0.3.0",
"nyc": "^10.3.2",
"safe-publish-latest": "^2.0.0",
- "semver": "^6.3.0",
- "tape": "^5.6.3"
+ "semver": "^6.3.1",
+ "tape": "^5.6.6"
},
"auto-changelog": {
"output": "CHANGELOG.md",
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/cjs/package.json b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/cjs/package.json
deleted file mode 100644
index 5bbefffbabee39..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/cjs/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "type": "commonjs"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/cjs/index.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/commonjs/index.js
similarity index 100%
rename from deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/cjs/index.js
rename to deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/commonjs/index.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/commonjs/package.json b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/commonjs/package.json
new file mode 100644
index 00000000000000..0292b9956f2e40
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/commonjs/package.json
@@ -0,0 +1 @@
+{"type":"commonjs"}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/mjs/index.js b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/esm/index.js
similarity index 100%
rename from deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/mjs/index.js
rename to deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/esm/index.js
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/esm/package.json b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/esm/package.json
new file mode 100644
index 00000000000000..7c34deb5837d8d
--- /dev/null
+++ b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/esm/package.json
@@ -0,0 +1 @@
+{"type":"module"}
\ No newline at end of file
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/mjs/package.json b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/mjs/package.json
deleted file mode 100644
index 3dbc1ca591c055..00000000000000
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/dist/mjs/package.json
+++ /dev/null
@@ -1,3 +0,0 @@
-{
- "type": "module"
-}
diff --git a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/package.json b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/package.json
index 6faaa247a5bc66..4398347289164c 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/cacache/node_modules/minipass/package.json
@@ -1,22 +1,29 @@
{
"name": "minipass",
- "version": "7.0.3",
+ "version": "7.0.4",
"description": "minimal implementation of a PassThrough stream",
- "main": "./dist/cjs/index.js",
- "module": "./dist/mjs/index.js",
- "types": "./dist/cjs/index.js",
+ "main": "./dist/commonjs/index.js",
+ "types": "./dist/commonjs/index.d.ts",
+ "type": "module",
+ "tshy": {
+ "main": true,
+ "exports": {
+ "./package.json": "./package.json",
+ ".": "./src/index.ts"
+ }
+ },
"exports": {
+ "./package.json": "./package.json",
".": {
"import": {
- "types": "./dist/mjs/index.d.ts",
- "default": "./dist/mjs/index.js"
+ "types": "./dist/esm/index.d.ts",
+ "default": "./dist/esm/index.js"
},
"require": {
- "types": "./dist/cjs/index.d.ts",
- "default": "./dist/cjs/index.js"
+ "types": "./dist/commonjs/index.d.ts",
+ "default": "./dist/commonjs/index.js"
}
- },
- "./package.json": "./package.json"
+ }
},
"files": [
"dist"
@@ -25,24 +32,13 @@
"preversion": "npm test",
"postversion": "npm publish",
"prepublishOnly": "git push origin --follow-tags",
- "preprepare": "rm -rf dist",
- "prepare": "tsc -p tsconfig.json && tsc -p tsconfig-esm.json && bash ./scripts/fixup.sh",
+ "prepare": "tshy",
"pretest": "npm run prepare",
"presnap": "npm run prepare",
- "test": "c8 tap",
- "snap": "c8 tap",
+ "test": "tap",
+ "snap": "tap",
"format": "prettier --write . --loglevel warn",
- "typedoc": "typedoc --tsconfig tsconfig-esm.json ./src/*.ts"
- },
- "tap": {
- "coverage": false,
- "node-arg": [
- "--enable-source-maps",
- "--no-warnings",
- "--loader",
- "ts-node/esm"
- ],
- "ts": false
+ "typedoc": "typedoc --tsconfig .tshy/esm.json ./src/*.ts"
},
"prettier": {
"semi": false,
@@ -56,18 +52,17 @@
"endOfLine": "lf"
},
"devDependencies": {
+ "@types/end-of-stream": "^1.4.2",
"@types/node": "^20.1.2",
- "@types/tap": "^15.0.8",
- "c8": "^7.13.0",
- "prettier": "^2.6.2",
- "tap": "^16.3.0",
- "ts-node": "^10.9.1",
- "typedoc": "^0.24.8",
- "typescript": "^5.1.3",
"end-of-stream": "^1.4.0",
"node-abort-controller": "^3.1.1",
+ "prettier": "^2.6.2",
"sync-content": "^1.0.2",
- "through2": "^2.0.3"
+ "tap": "^18.3.0",
+ "through2": "^2.0.3",
+ "tshy": "^1.2.2",
+ "typedoc": "^0.25.1",
+ "typescript": "^5.2.2"
},
"repository": "https://github.com/isaacs/minipass",
"keywords": [
@@ -78,5 +73,10 @@
"license": "ISC",
"engines": {
"node": ">=16 || 14 >=14.17"
+ },
+ "tap": {
+ "include": [
+ "test/*.ts"
+ ]
}
}
diff --git a/deps/npm/node_modules/npm-install-checks/lib/index.js b/deps/npm/node_modules/npm-install-checks/lib/index.js
index f0ba2c07ad0812..545472b61dc604 100644
--- a/deps/npm/node_modules/npm-install-checks/lib/index.js
+++ b/deps/npm/node_modules/npm-install-checks/lib/index.js
@@ -36,7 +36,9 @@ const checkPlatform = (target, force = false, environment = {}) => {
let libcFamily = null
if (target.libc) {
// libc checks only work in linux, any value is a failure if we aren't
- if (platform !== 'linux') {
+ if (environment.libc) {
+ libcOk = checkList(environment.libc, target.libc)
+ } else if (platform !== 'linux') {
libcOk = false
} else {
const report = process.report.getReport()
diff --git a/deps/npm/node_modules/npm-install-checks/package.json b/deps/npm/node_modules/npm-install-checks/package.json
index 50378808d75d08..11a3b87750e25a 100644
--- a/deps/npm/node_modules/npm-install-checks/package.json
+++ b/deps/npm/node_modules/npm-install-checks/package.json
@@ -1,6 +1,6 @@
{
"name": "npm-install-checks",
- "version": "6.2.0",
+ "version": "6.3.0",
"description": "Check the engines and platform fields in package.json",
"main": "lib/index.js",
"dependencies": {
@@ -8,7 +8,7 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^4.0.0",
- "@npmcli/template-oss": "4.18.0",
+ "@npmcli/template-oss": "4.19.0",
"tap": "^16.0.1"
},
"scripts": {
@@ -39,7 +39,7 @@
"author": "GitHub Inc.",
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.18.0",
+ "version": "4.19.0",
"publish": "true"
},
"tap": {
diff --git a/deps/npm/node_modules/npm-registry-fetch/lib/auth.js b/deps/npm/node_modules/npm-registry-fetch/lib/auth.js
index 870ce0d923cd0f..9270025fa8d902 100644
--- a/deps/npm/node_modules/npm-registry-fetch/lib/auth.js
+++ b/deps/npm/node_modules/npm-registry-fetch/lib/auth.js
@@ -4,8 +4,8 @@ const npa = require('npm-package-arg')
const { URL } = require('url')
// Find the longest registry key that is used for some kind of auth
-// in the options.
-const regKeyFromURI = (uri, opts) => {
+// in the options. Returns the registry key and the auth config.
+const regFromURI = (uri, opts) => {
const parsed = new URL(uri)
// try to find a config key indicating we have auth for this registry
// can be one of :_authToken, :_auth, :_password and :username, or
@@ -14,23 +14,40 @@ const regKeyFromURI = (uri, opts) => {
// stopping when we reach '//'.
let regKey = `//${parsed.host}${parsed.pathname}`
while (regKey.length > '//'.length) {
+ const authKey = hasAuth(regKey, opts)
// got some auth for this URI
- if (hasAuth(regKey, opts)) {
- return regKey
+ if (authKey) {
+ return { regKey, authKey }
}
// can be either //host/some/path/:_auth or //host/some/path:_auth
// walk up by removing EITHER what's after the slash OR the slash itself
regKey = regKey.replace(/([^/]+|\/)$/, '')
}
+ return { regKey: false, authKey: null }
}
-const hasAuth = (regKey, opts) => (
- opts[`${regKey}:_authToken`] ||
- opts[`${regKey}:_auth`] ||
- opts[`${regKey}:username`] && opts[`${regKey}:_password`] ||
- opts[`${regKey}:certfile`] && opts[`${regKey}:keyfile`]
-)
+// Not only do we want to know if there is auth, but if we are calling `npm
+// logout` we want to know what config value specifically provided it. This is
+// so we can look up where the config came from to delete it (i.e. user vs
+// project)
+const hasAuth = (regKey, opts) => {
+ if (opts[`${regKey}:_authToken`]) {
+ return '_authToken'
+ }
+ if (opts[`${regKey}:_auth`]) {
+ return '_auth'
+ }
+ if (opts[`${regKey}:username`] && opts[`${regKey}:_password`]) {
+ // 'password' can be inferred to also be present
+ return 'username'
+ }
+ if (opts[`${regKey}:certfile`] && opts[`${regKey}:keyfile`]) {
+ // 'keyfile' can be inferred to also be present
+ return 'certfile'
+ }
+ return false
+}
const sameHost = (a, b) => {
const parsedA = new URL(a)
@@ -63,11 +80,14 @@ const getAuth = (uri, opts = {}) => {
if (!uri) {
throw new Error('URI is required')
}
- const regKey = regKeyFromURI(uri, forceAuth || opts)
+ const { regKey, authKey } = regFromURI(uri, forceAuth || opts)
// we are only allowed to use what's in forceAuth if specified
if (forceAuth && !regKey) {
return new Auth({
+ // if we force auth we don't want to refer back to anything in config
+ regKey: false,
+ authKey: null,
scopeAuthKey: null,
token: forceAuth._authToken || forceAuth.token,
username: forceAuth.username,
@@ -88,8 +108,8 @@ const getAuth = (uri, opts = {}) => {
// registry where we logged in, but the same auth SHOULD be sent
// to that artifact host, then we track where it was coming in from,
// and warn the user if we get a 4xx error on it.
- const scopeAuthKey = regKeyFromURI(registry, opts)
- return new Auth({ scopeAuthKey })
+ const { regKey: scopeAuthKey, authKey: _authKey } = regFromURI(registry, opts)
+ return new Auth({ scopeAuthKey, regKey: scopeAuthKey, authKey: _authKey })
}
}
@@ -104,6 +124,8 @@ const getAuth = (uri, opts = {}) => {
return new Auth({
scopeAuthKey: null,
+ regKey,
+ authKey,
token,
auth,
username,
@@ -114,8 +136,22 @@ const getAuth = (uri, opts = {}) => {
}
class Auth {
- constructor ({ token, auth, username, password, scopeAuthKey, certfile, keyfile }) {
+ constructor ({
+ token,
+ auth,
+ username,
+ password,
+ scopeAuthKey,
+ certfile,
+ keyfile,
+ regKey,
+ authKey,
+ }) {
+ // same as regKey but only present for scoped auth. Should have been named scopeRegKey
this.scopeAuthKey = scopeAuthKey
+ // `${regKey}:${authKey}` will get you back to the auth config that gave us auth
+ this.regKey = regKey
+ this.authKey = authKey
this.token = null
this.auth = null
this.isBasicAuth = false
diff --git a/deps/npm/node_modules/npm-registry-fetch/lib/index.js b/deps/npm/node_modules/npm-registry-fetch/lib/index.js
index 23e349c5c5b96d..bb413f862d92d0 100644
--- a/deps/npm/node_modules/npm-registry-fetch/lib/index.js
+++ b/deps/npm/node_modules/npm-registry-fetch/lib/index.js
@@ -166,6 +166,8 @@ function regFetch (uri, /* istanbul ignore next */ opts_ = {}) {
return Promise.resolve(body).then(doFetch)
}
+module.exports.getAuth = getAuth
+
module.exports.json = fetchJSON
function fetchJSON (uri, opts) {
return regFetch(uri, opts).then(res => res.json())
diff --git a/deps/npm/node_modules/npm-registry-fetch/package.json b/deps/npm/node_modules/npm-registry-fetch/package.json
index 2afadf939743b8..b715d52391a933 100644
--- a/deps/npm/node_modules/npm-registry-fetch/package.json
+++ b/deps/npm/node_modules/npm-registry-fetch/package.json
@@ -1,6 +1,6 @@
{
"name": "npm-registry-fetch",
- "version": "16.0.0",
+ "version": "16.1.0",
"description": "Fetch-based http client for use with npm registry APIs",
"main": "lib",
"files": [
@@ -41,7 +41,7 @@
},
"devDependencies": {
"@npmcli/eslint-config": "^4.0.0",
- "@npmcli/template-oss": "4.18.0",
+ "@npmcli/template-oss": "4.19.0",
"cacache": "^18.0.0",
"nock": "^13.2.4",
"require-inject": "^1.4.4",
@@ -61,13 +61,7 @@
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
- "version": "4.18.0",
- "publish": "true",
- "ciVersions": [
- "16.14.0",
- "16.x",
- "18.0.0",
- "18.x"
- ]
+ "version": "4.19.0",
+ "publish": "true"
}
}
diff --git a/deps/npm/node_modules/readable-stream/lib/stream/promises.js b/deps/npm/node_modules/readable-stream/lib/stream/promises.js
index b85c51f47f1ce1..5d4ce15f4904b7 100644
--- a/deps/npm/node_modules/readable-stream/lib/stream/promises.js
+++ b/deps/npm/node_modules/readable-stream/lib/stream/promises.js
@@ -4,7 +4,7 @@ const { ArrayPrototypePop, Promise } = require('../ours/primordials')
const { isIterable, isNodeStream, isWebStream } = require('../internal/streams/utils')
const { pipelineImpl: pl } = require('../internal/streams/pipeline')
const { finished } = require('../internal/streams/end-of-stream')
-require('stream')
+require('../../lib/stream.js')
function pipeline(...streams) {
return new Promise((resolve, reject) => {
let signal
diff --git a/deps/npm/node_modules/readable-stream/package.json b/deps/npm/node_modules/readable-stream/package.json
index c4f6504cc7cc66..289f3a45a634f3 100644
--- a/deps/npm/node_modules/readable-stream/package.json
+++ b/deps/npm/node_modules/readable-stream/package.json
@@ -1,6 +1,6 @@
{
"name": "readable-stream",
- "version": "4.4.0",
+ "version": "4.4.2",
"description": "Node.js Streams, a user-land copy of the stream library from Node.js",
"homepage": "https://github.com/nodejs/readable-stream",
"license": "MIT",
@@ -39,6 +39,7 @@
"test:prepare": "node test/browser/runner-prepare.mjs",
"test:browsers": "node test/browser/runner-browser.mjs",
"test:bundlers": "node test/browser/runner-node.mjs",
+ "test:readable-stream-only": "node readable-stream-test/runner-prepare.mjs",
"coverage": "c8 -c ./c8.json tap --rcfile=./tap.yml test/parallel/test-*.js test/ours/test-*.js",
"format": "prettier -w src lib test",
"lint": "eslint src"
@@ -47,7 +48,8 @@
"abort-controller": "^3.0.0",
"buffer": "^6.0.3",
"events": "^3.3.0",
- "process": "^0.11.10"
+ "process": "^0.11.10",
+ "string_decoder": "^1.3.0"
},
"devDependencies": {
"@babel/core": "^7.17.10",
diff --git a/deps/npm/node_modules/spdx-license-ids/deprecated.json b/deps/npm/node_modules/spdx-license-ids/deprecated.json
index 278531e40c613d..a877dc3efd8bd2 100644
--- a/deps/npm/node_modules/spdx-license-ids/deprecated.json
+++ b/deps/npm/node_modules/spdx-license-ids/deprecated.json
@@ -7,18 +7,24 @@
"GFDL-1.2",
"GFDL-1.3",
"GPL-1.0",
+ "GPL-1.0+",
"GPL-2.0",
+ "GPL-2.0+",
"GPL-2.0-with-GCC-exception",
"GPL-2.0-with-autoconf-exception",
"GPL-2.0-with-bison-exception",
"GPL-2.0-with-classpath-exception",
"GPL-2.0-with-font-exception",
"GPL-3.0",
+ "GPL-3.0+",
"GPL-3.0-with-GCC-exception",
"GPL-3.0-with-autoconf-exception",
"LGPL-2.0",
+ "LGPL-2.0+",
"LGPL-2.1",
+ "LGPL-2.1+",
"LGPL-3.0",
+ "LGPL-3.0+",
"Nunit",
"StandardML-NJ",
"bzip2-1.0.5",
diff --git a/deps/npm/node_modules/spdx-license-ids/index.json b/deps/npm/node_modules/spdx-license-ids/index.json
index 04c03126d98eb8..a7b98b24b6273e 100644
--- a/deps/npm/node_modules/spdx-license-ids/index.json
+++ b/deps/npm/node_modules/spdx-license-ids/index.json
@@ -22,10 +22,13 @@
"APSL-1.1",
"APSL-1.2",
"APSL-2.0",
+ "ASWF-Digital-Assets-1.0",
+ "ASWF-Digital-Assets-1.1",
"Abstyles",
"AdaCore-doc",
"Adobe-2006",
"Adobe-Glyph",
+ "Adobe-Utopia",
"Afmparse",
"Aladdin",
"Apache-1.0",
@@ -44,6 +47,7 @@
"BSD-3-Clause",
"BSD-3-Clause-Attribution",
"BSD-3-Clause-Clear",
+ "BSD-3-Clause-HP",
"BSD-3-Clause-LBNL",
"BSD-3-Clause-Modification",
"BSD-3-Clause-No-Military-License",
@@ -51,6 +55,8 @@
"BSD-3-Clause-No-Nuclear-License-2014",
"BSD-3-Clause-No-Nuclear-Warranty",
"BSD-3-Clause-Open-MPI",
+ "BSD-3-Clause-Sun",
+ "BSD-3-Clause-flex",
"BSD-4-Clause",
"BSD-4-Clause-Shortened",
"BSD-4-Clause-UC",
@@ -58,8 +64,10 @@
"BSD-4.3TAHOE",
"BSD-Advertising-Acknowledgement",
"BSD-Attribution-HPND-disclaimer",
+ "BSD-Inferno-Nettverk",
"BSD-Protection",
"BSD-Source-Code",
+ "BSD-Systemics",
"BSL-1.0",
"BUSL-1.1",
"Baekmuk",
@@ -71,6 +79,7 @@
"Bitstream-Charter",
"Bitstream-Vera",
"BlueOak-1.0.0",
+ "Boehm-GC",
"Borceux",
"Brian-Gladman-3-Clause",
"C-UDA-1.0",
@@ -125,6 +134,7 @@
"CC-BY-SA-3.0",
"CC-BY-SA-3.0-AT",
"CC-BY-SA-3.0-DE",
+ "CC-BY-SA-3.0-IGO",
"CC-BY-SA-4.0",
"CC-PDDC",
"CC0-1.0",
@@ -161,11 +171,13 @@
"Community-Spec-1.0",
"Condor-1.1",
"Cornell-Lossless-JPEG",
+ "Cronyx",
"Crossword",
"CrystalStacker",
"Cube",
"D-FSL-1.0",
"DL-DE-BY-2.0",
+ "DL-DE-ZERO-2.0",
"DOC",
"DRL-1.0",
"DSDP",
@@ -185,6 +197,7 @@
"Entessa",
"ErlPL-1.1",
"Eurosym",
+ "FBM",
"FDK-AAC",
"FSFAP",
"FSFUL",
@@ -192,9 +205,11 @@
"FSFULLRWD",
"FTL",
"Fair",
+ "Ferguson-Twofish",
"Frameworx-1.0",
"FreeBSD-DOC",
"FreeImage",
+ "Furuseth",
"GD",
"GFDL-1.1-invariants-only",
"GFDL-1.1-invariants-or-later",
@@ -227,9 +242,17 @@
"Glulxe",
"Graphics-Gems",
"HP-1986",
+ "HP-1989",
"HPND",
+ "HPND-DEC",
"HPND-Markus-Kuhn",
+ "HPND-Pbmplus",
+ "HPND-UC",
+ "HPND-doc",
+ "HPND-doc-sell",
"HPND-export-US",
+ "HPND-export-US-modify",
+ "HPND-sell-regexpr",
"HPND-sell-variant",
"HPND-sell-variant-MIT-disclaimer",
"HTMLTIDY",
@@ -246,6 +269,7 @@
"ImageMagick",
"Imlib2",
"Info-ZIP",
+ "Inner-Net-2.0",
"Intel",
"Intel-ACPI",
"Interbase-1.0",
@@ -254,6 +278,7 @@
"JSON",
"Jam",
"JasPer-2.0",
+ "Kastrup",
"Kazlib",
"Knuth-CTAN",
"LAL-1.2",
@@ -276,23 +301,32 @@
"LZMA-SDK-9.11-to-9.20",
"LZMA-SDK-9.22",
"Latex2e",
+ "Latex2e-translated-notice",
"Leptonica",
"LiLiQ-P-1.1",
"LiLiQ-R-1.1",
"LiLiQ-Rplus-1.1",
"Libpng",
"Linux-OpenIB",
+ "Linux-man-pages-1-para",
"Linux-man-pages-copyleft",
+ "Linux-man-pages-copyleft-2-para",
+ "Linux-man-pages-copyleft-var",
+ "Lucida-Bitmap-Fonts",
"MIT",
"MIT-0",
"MIT-CMU",
+ "MIT-Festival",
"MIT-Modern-Variant",
"MIT-Wu",
"MIT-advertising",
"MIT-enna",
"MIT-feh",
"MIT-open-group",
+ "MIT-testregex",
"MITNFA",
+ "MMIXware",
+ "MPEG-SSG",
"MPL-1.0",
"MPL-1.1",
"MPL-2.0",
@@ -303,6 +337,7 @@
"MTLL",
"MakeIndex",
"Martin-Birgmeier",
+ "McPhee-slideshow",
"Minpack",
"MirOS",
"Motosoto",
@@ -319,6 +354,7 @@
"NICTA-1.0",
"NIST-PD",
"NIST-PD-fallback",
+ "NIST-Software",
"NLOD-1.0",
"NLOD-2.0",
"NLPL",
@@ -370,8 +406,10 @@
"OLDAP-2.6",
"OLDAP-2.7",
"OLDAP-2.8",
+ "OLFL-1.3",
"OML",
"OPL-1.0",
+ "OPL-UK-3.0",
"OPUBL-1.0",
"OSET-PL-2.1",
"OSL-1.0",
@@ -381,6 +419,7 @@
"OSL-3.0",
"OpenPBS-2.3",
"OpenSSL",
+ "PADL",
"PDDL-1.0",
"PHP-3.0",
"PHP-3.01",
@@ -409,10 +448,13 @@
"SGI-B-1.0",
"SGI-B-1.1",
"SGI-B-2.0",
+ "SGI-OpenGL",
+ "SGP4",
"SHL-0.5",
"SHL-0.51",
"SISSL",
"SISSL-1.2",
+ "SL",
"SMLNJ",
"SMPPL",
"SNIA",
@@ -427,6 +469,7 @@
"Sendmail-8.23",
"SimPL-2.0",
"Sleepycat",
+ "Soundex",
"Spencer-86",
"Spencer-94",
"Spencer-99",
@@ -442,14 +485,18 @@
"TPDL",
"TPL-1.0",
"TTWL",
+ "TTYP0",
"TU-Berlin-1.0",
"TU-Berlin-2.0",
+ "TermReadKey",
"UCAR",
"UCL-1.0",
"UPL-1.0",
+ "URT-RLE",
"Unicode-DFS-2015",
"Unicode-DFS-2016",
"Unicode-TOU",
+ "UnixCrypt",
"Unlicense",
"VOSTROM",
"VSL-1.0",
@@ -459,12 +506,15 @@
"W3C-20150513",
"WTFPL",
"Watcom-1.0",
+ "Widget-Workshop",
"Wsuipa",
"X11",
"X11-distribute-modifications-variant",
"XFree86-1.1",
"XSkat",
+ "Xdebug-1.03",
"Xerox",
+ "Xfig",
"Xnet",
"YPL-1.0",
"YPL-1.1",
@@ -472,20 +522,24 @@
"ZPL-2.0",
"ZPL-2.1",
"Zed",
+ "Zeeff",
"Zend-2.0",
"Zimbra-1.3",
"Zimbra-1.4",
"Zlib",
"blessing",
"bzip2-1.0.6",
+ "check-cvs",
"checkmk",
"copyleft-next-0.3.0",
"copyleft-next-0.3.1",
"curl",
"diffmark",
+ "dtoa",
"dvipdfm",
"eGenix",
"etalab-2.0",
+ "fwlw",
"gSOAP-1.3b",
"gnuplot",
"iMatix",
@@ -493,12 +547,20 @@
"libselinux-1.0",
"libtiff",
"libutil-David-Nugent",
+ "lsof",
+ "magaz",
+ "metamail",
"mpi-permissive",
"mpich2",
"mplus",
+ "pnmstitch",
"psfrag",
"psutils",
+ "python-ldap",
"snprintf",
+ "ssh-keyscan",
+ "swrule",
+ "ulem",
"w3m",
"xinetd",
"xlock",
diff --git a/deps/npm/node_modules/spdx-license-ids/package.json b/deps/npm/node_modules/spdx-license-ids/package.json
index ea060776d9cf76..196b02705769a9 100644
--- a/deps/npm/node_modules/spdx-license-ids/package.json
+++ b/deps/npm/node_modules/spdx-license-ids/package.json
@@ -1,6 +1,6 @@
{
"name": "spdx-license-ids",
- "version": "3.0.13",
+ "version": "3.0.16",
"description": "A list of SPDX license identifiers",
"repository": "jslicense/spdx-license-ids",
"author": "Shinnosuke Watanabe (https://github.com/shinnn)",
@@ -28,10 +28,10 @@
],
"devDependencies": {
"@shinnn/eslint-config": "^7.0.0",
- "eslint": "^8.2.0",
+ "eslint": "^8.49.0",
"eslint-formatter-codeframe": "^7.32.1",
"rmfr": "^2.0.0",
- "tape": "^5.3.1"
+ "tape": "^5.6.6"
},
"eslintConfig": {
"extends": "@shinnn"
diff --git a/deps/npm/package.json b/deps/npm/package.json
index 3246377f0cb725..4affae1428e3fc 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "10.2.0",
+ "version": "10.2.1",
"name": "npm",
"description": "a package manager for JavaScript",
"workspaces": [
@@ -53,7 +53,7 @@
"dependencies": {
"@isaacs/string-locale-compare": "^1.1.0",
"@npmcli/arborist": "^7.2.0",
- "@npmcli/config": "^8.0.0",
+ "@npmcli/config": "^8.0.1",
"@npmcli/fs": "^3.1.0",
"@npmcli/map-workspaces": "^3.0.4",
"@npmcli/package-json": "^5.0.0",
@@ -64,7 +64,7 @@
"archy": "~1.0.0",
"cacache": "^18.0.0",
"chalk": "^5.3.0",
- "ci-info": "^3.8.0",
+ "ci-info": "^3.9.0",
"cli-columns": "^4.0.0",
"cli-table3": "^0.6.3",
"columnify": "^1.6.0",
@@ -97,11 +97,11 @@
"nopt": "^7.2.0",
"normalize-package-data": "^6.0.0",
"npm-audit-report": "^5.0.0",
- "npm-install-checks": "^6.2.0",
+ "npm-install-checks": "^6.3.0",
"npm-package-arg": "^11.0.1",
"npm-pick-manifest": "^9.0.0",
"npm-profile": "^9.0.0",
- "npm-registry-fetch": "^16.0.0",
+ "npm-registry-fetch": "^16.1.0",
"npm-user-validate": "^2.0.0",
"npmlog": "^7.0.1",
"p-map": "^4.0.0",
diff --git a/deps/npm/tap-snapshots/test/lib/commands/view.js.test.cjs b/deps/npm/tap-snapshots/test/lib/commands/view.js.test.cjs
index d5b7a3b4a79068..5248d439afad95 100644
--- a/deps/npm/tap-snapshots/test/lib/commands/view.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/commands/view.js.test.cjs
@@ -315,6 +315,10 @@ maintainers[0].name = 'claudia'
maintainers[1].name = 'isaacs'
`
+exports[`test/lib/commands/view.js TAP specific field names fields with empty values > must match snapshot 1`] = `
+
+`
+
exports[`test/lib/commands/view.js TAP specific field names maintainers with email > must match snapshot 1`] = `
maintainers = [
{ name: 'claudia', email: 'c@yellow.com', twitter: 'cyellow' },
diff --git a/deps/npm/test/lib/commands/audit.js b/deps/npm/test/lib/commands/audit.js
index 25ced6655e654a..623c7b6485159f 100644
--- a/deps/npm/test/lib/commands/audit.js
+++ b/deps/npm/test/lib/commands/audit.js
@@ -1393,7 +1393,7 @@ t.test('audit signatures', async t => {
await t.rejects(
npm.exec('audit', ['signatures']),
- /found no dependencies to audit that where installed from a supported registry/
+ /found no dependencies to audit that were installed from a supported registry/
)
})
@@ -1424,7 +1424,7 @@ t.test('audit signatures', async t => {
await t.rejects(
npm.exec('audit', ['signatures']),
- /found no dependencies to audit that where installed from a supported registry/
+ /found no dependencies to audit that were installed from a supported registry/
)
})
@@ -1766,7 +1766,7 @@ t.test('audit signatures', async t => {
await t.rejects(
npm.exec('audit', ['signatures']),
- /found no dependencies to audit that where installed from a supported registry/
+ /found no dependencies to audit that were installed from a supported registry/
)
})
@@ -1787,7 +1787,7 @@ t.test('audit signatures', async t => {
await t.rejects(
npm.exec('audit', ['signatures']),
- /found no dependencies to audit that where installed from a supported registry/
+ /found no dependencies to audit that were installed from a supported registry/
)
})
@@ -1815,7 +1815,7 @@ t.test('audit signatures', async t => {
await t.rejects(
npm.exec('audit', ['signatures']),
- /found no dependencies to audit that where installed from a supported registry/
+ /found no dependencies to audit that were installed from a supported registry/
)
})
@@ -1844,7 +1844,7 @@ t.test('audit signatures', async t => {
await t.rejects(
npm.exec('audit', ['signatures']),
- /found no dependencies to audit that where installed from a supported registry/
+ /found no dependencies to audit that were installed from a supported registry/
)
})
diff --git a/deps/npm/test/lib/commands/logout.js b/deps/npm/test/lib/commands/logout.js
index 4ff21665f30354..881003729ab4a1 100644
--- a/deps/npm/test/lib/commands/logout.js
+++ b/deps/npm/test/lib/commands/logout.js
@@ -1,170 +1,154 @@
const t = require('tap')
const fs = require('fs/promises')
-const npmFetch = require('npm-registry-fetch')
-const mockNpm = require('../../fixtures/mock-npm')
+const { load: loadMockNpm } = require('../../fixtures/mock-npm.js')
+const MockRegistry = require('@npmcli/mock-registry')
const { join } = require('path')
-const mockLogout = async (t, { userRc = [], ...npmOpts } = {}) => {
- let result = null
-
- const mock = await mockNpm(t, {
- command: 'logout',
- mocks: {
- // XXX: refactor to use mock registry
- 'npm-registry-fetch': Object.assign(async (url, opts) => {
- result = { url, opts }
- }, npmFetch),
- },
- ...npmOpts,
+t.test('token logout - user config', async t => {
+ const { npm, home, logs } = await loadMockNpm(t, {
homeDir: {
- '.npmrc': userRc.join('\n'),
+ '.npmrc': [
+ '//registry.npmjs.org/:_authToken=@foo/',
+ 'other-config=true',
+ ].join('\n'),
},
})
- return {
- ...mock,
- result: () => result,
- // get only the message portion of the verbose log from the command
- logMsg: () => mock.logs.verbose.find(l => l[0] === 'logout')[1],
- userRc: () => fs.readFile(join(mock.home, '.npmrc'), 'utf-8').then(r => r.trim()),
- }
-}
-
-t.test('token logout', async t => {
- const { logout, logMsg, result, userRc } = await mockLogout(t, {
- userRc: [
- '//registry.npmjs.org/:_authToken=@foo/',
- 'other-config=true',
- ],
- })
-
- await logout.exec([])
-
+ const mockRegistry = new MockRegistry({ tap: t, registry: 'https://registry.npmjs.org/' })
+ mockRegistry.logout('@foo/')
+ await npm.exec('logout', [])
t.equal(
- logMsg(),
+ logs.verbose.find(l => l[0] === 'logout')[1],
'clearing token for https://registry.npmjs.org/',
'should log message with correct registry'
)
+ const userRc = await fs.readFile(join(home, '.npmrc'), 'utf-8')
+ t.equal(userRc.trim(), 'other-config=true')
+})
- t.match(
- result(),
- {
- url: '/-/user/token/%40foo%2F',
- opts: {
- registry: 'https://registry.npmjs.org/',
- scope: '',
- '//registry.npmjs.org/:_authToken': '@foo/',
- method: 'DELETE',
- ignoreBody: true,
- },
+t.test('token scoped logout - user config', async t => {
+ const { npm, home, logs } = await loadMockNpm(t, {
+ config: {
+ scope: '@myscope',
},
- 'should call npm-registry-fetch with expected values'
- )
-
- t.equal(await userRc(), 'other-config=true')
-})
+ homeDir: {
+ '.npmrc': [
+ '//diff-registry.npmjs.com/:_authToken=@bar/',
+ '//registry.npmjs.org/:_authToken=@foo/',
+ '@myscope:registry=https://diff-registry.npmjs.com/',
-t.test('token scoped logout', async t => {
- const { logout, logMsg, result, userRc } = await mockLogout(t, {
- config: { scope: '@myscope' },
- userRc: [
- '//diff-registry.npmjs.com/:_authToken=@bar/',
- '//registry.npmjs.org/:_authToken=@foo/',
- '@myscope:registry=https://diff-registry.npmjs.com/',
- ],
+ ].join('\n'),
+ },
})
- await logout.exec([])
-
+ const mockRegistry = new MockRegistry({ tap: t, registry: 'https://diff-registry.npmjs.com/' })
+ mockRegistry.logout('@bar/')
+ await npm.exec('logout', [])
t.equal(
- logMsg(),
+ logs.verbose.find(l => l[0] === 'logout')[1],
'clearing token for https://diff-registry.npmjs.com/',
'should log message with correct registry'
)
- t.match(
- result(),
- {
- url: '/-/user/token/%40bar%2F',
- opts: {
- registry: 'https://registry.npmjs.org/',
- '@myscope:registry': 'https://diff-registry.npmjs.com/',
- scope: '@myscope',
- '//registry.npmjs.org/:_authToken': '@foo/', // <- removed by npm-registry-fetch
- '//diff-registry.npmjs.com/:_authToken': '@bar/',
- method: 'DELETE',
- ignoreBody: true,
- },
- },
- 'should call npm-registry-fetch with expected values'
- )
-
- t.equal(await userRc(), '//registry.npmjs.org/:_authToken=@foo/')
+ const userRc = await fs.readFile(join(home, '.npmrc'), 'utf-8')
+ t.equal(userRc.trim(), '//registry.npmjs.org/:_authToken=@foo/')
})
-t.test('user/pass logout', async t => {
- const { logout, logMsg, userRc } = await mockLogout(t, {
- userRc: [
- '//registry.npmjs.org/:username=foo',
- '//registry.npmjs.org/:_password=bar',
- 'other-config=true',
- ],
+t.test('user/pass logout - user config', async t => {
+ const { npm, home, logs } = await loadMockNpm(t, {
+ homeDir: {
+ '.npmrc': [
+ '//registry.npmjs.org/:username=foo',
+ '//registry.npmjs.org/:_password=bar',
+ 'other-config=true',
+ ].join('\n'),
+ },
})
- await logout.exec([])
-
+ await npm.exec('logout', [])
t.equal(
- logMsg(),
+ logs.verbose.find(l => l[0] === 'logout')[1],
'clearing user credentials for https://registry.npmjs.org/',
'should log message with correct registry'
)
- t.equal(await userRc(), 'other-config=true')
+ const userRc = await fs.readFile(join(home, '.npmrc'), 'utf-8')
+ t.equal(userRc.trim(), 'other-config=true')
})
t.test('missing credentials', async t => {
- const { logout } = await mockLogout(t)
+ const { npm } = await loadMockNpm(t)
await t.rejects(
- logout.exec([]),
+ npm.exec('logout', []),
{
code: 'ENEEDAUTH',
message: /not logged in to https:\/\/registry.npmjs.org\/, so can't log out!/,
},
- 'should throw with expected error code'
+ 'should reject with expected error code'
)
})
t.test('ignore invalid scoped registry config', async t => {
- const { logout, logMsg, result, userRc } = await mockLogout(t, {
+ const { npm, home, logs } = await loadMockNpm(t, {
config: { scope: '@myscope' },
- userRc: [
- '//registry.npmjs.org/:_authToken=@foo/',
- 'other-config=true',
- ],
+ homeDir: {
+ '.npmrc': [
+ '//registry.npmjs.org/:_authToken=@foo/',
+ 'other-config=true',
+
+ ].join('\n'),
+ },
})
- await logout.exec([])
+ const mockRegistry = new MockRegistry({ tap: t, registry: 'https://registry.npmjs.org/' })
+ mockRegistry.logout('@foo/')
+ await npm.exec('logout', [])
t.equal(
- logMsg(),
+ logs.verbose.find(l => l[0] === 'logout')[1],
'clearing token for https://registry.npmjs.org/',
'should log message with correct registry'
)
+ const userRc = await fs.readFile(join(home, '.npmrc'), 'utf-8')
+ t.equal(userRc.trim(), 'other-config=true')
+})
- t.match(
- result(),
- {
- url: '/-/user/token/%40foo%2F',
- opts: {
- '//registry.npmjs.org/:_authToken': '@foo/',
- registry: 'https://registry.npmjs.org/',
- method: 'DELETE',
- ignoreBody: true,
- },
+t.test('token logout - project config', async t => {
+ const { npm, home, logs, prefix } = await loadMockNpm(t, {
+ homeDir: {
+ '.npmrc': [
+ '//registry.npmjs.org/:_authToken=@foo/',
+ 'other-config=true',
+ ].join('\n'),
},
- 'should call npm-registry-fetch with expected values'
- )
+ prefixDir: {
+ '.npmrc': [
+ '//registry.npmjs.org/:_authToken=@bar/',
+ 'other-config=true',
+ ].join('\n'),
+ },
+ })
- t.equal(await userRc(), 'other-config=true')
+ const mockRegistry = new MockRegistry({ tap: t, registry: 'https://registry.npmjs.org/' })
+ mockRegistry.logout('@bar/')
+ await npm.exec('logout', [])
+
+ t.equal(
+ logs.verbose.find(l => l[0] === 'logout')[1],
+ 'clearing token for https://registry.npmjs.org/',
+ 'should log message with correct registry'
+ )
+ const userRc = await fs.readFile(join(home, '.npmrc'), 'utf-8')
+ t.equal(userRc.trim(), [
+ '//registry.npmjs.org/:_authToken=@foo/',
+ 'other-config=true',
+ ].join('\n'), 'leaves user config alone')
+ t.equal(
+ logs.verbose.find(l => l[0] === 'logout')[1],
+ 'clearing token for https://registry.npmjs.org/',
+ 'should log message with correct registry'
+ )
+ const projectRc = await fs.readFile(join(prefix, '.npmrc'), 'utf-8')
+ t.equal(projectRc.trim(), 'other-config=true', 'removes project config')
})
diff --git a/deps/npm/test/lib/commands/pkg.js b/deps/npm/test/lib/commands/pkg.js
index e915ef942410f5..f3401bde5226a8 100644
--- a/deps/npm/test/lib/commands/pkg.js
+++ b/deps/npm/test/lib/commands/pkg.js
@@ -83,6 +83,50 @@ t.test('get single arg', async t => {
)
})
+t.test('get multiple arg', async t => {
+ const { pkg, OUTPUT } = await mockNpm(t, {
+ prefixDir: {
+ 'package.json': JSON.stringify({
+ name: 'foo',
+ version: '1.1.1',
+ }),
+ },
+ })
+
+ await pkg('get', 'name', 'version')
+
+ t.strictSame(
+ JSON.parse(OUTPUT()),
+ {
+ name: 'foo',
+ version: '1.1.1',
+ },
+ 'should print retrieved package.json field'
+ )
+})
+
+t.test('get multiple arg with empty value', async t => {
+ const { pkg, OUTPUT } = await mockNpm(t, {
+ prefixDir: {
+ 'package.json': JSON.stringify({
+ name: 'foo',
+ author: '',
+ }),
+ },
+ })
+
+ await pkg('get', 'name', 'author')
+
+ t.strictSame(
+ JSON.parse(OUTPUT()),
+ {
+ name: 'foo',
+ author: '',
+ },
+ 'should print retrieved package.json field regardless of empty value'
+ )
+})
+
t.test('get nested arg', async t => {
const { pkg, OUTPUT } = await mockNpm(t, {
prefixDir: {
diff --git a/deps/npm/test/lib/commands/view.js b/deps/npm/test/lib/commands/view.js
index ca07ef9eec2ff6..a99c8d6242212c 100644
--- a/deps/npm/test/lib/commands/view.js
+++ b/deps/npm/test/lib/commands/view.js
@@ -101,6 +101,7 @@ const packument = (nv, opts) => {
email: 'foo@yellow.com',
twitter: 'foo',
},
+ empty: '',
readme: 'a very useful readme',
versions: {
'1.0.0': {
@@ -425,6 +426,11 @@ t.test('specific field names', async t => {
await view.exec(['yellow@1.x.x', 'maintainers.name'])
t.matchSnapshot(outputs.join('\n'))
})
+
+ t.test('fields with empty values', async t => {
+ await view.exec(['yellow', 'empty'])
+ t.matchSnapshot(outputs.join('\n'))
+ })
})
t.test('throw error if global mode', async t => {