diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 5ef23759b3e18e..29831604b79f7b 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -158,8 +158,7 @@
/doc/contributing/maintaining/maintaining-single-executable-application-support.md @nodejs/single-executable
/src/node_sea* @nodejs/single-executable
/test/fixtures/postject-copy @nodejs/single-executable
-/test/parallel/test-single-executable-* @nodejs/single-executable
-/test/sequential/test-single-executable-* @nodejs/single-executable
+/test/sea @nodejs/single-executable
/tools/dep_updaters/update-postject.sh @nodejs/single-executable
# Permission Model
@@ -229,3 +228,6 @@
/lib/path.js @nodejs/path
/lib/path/* @nodejs/path
/test/parallel/test-path-* @nodejs/path
+
+# userland-migrations
+/doc/api/deprecations.md @nodejs/userland-migrations
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 9cc673d5a62fe7..998f55603a8720 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -6,10 +6,10 @@ updates:
directory: /
schedule:
interval: monthly
- cooldown:
- - semver-major-days: 5
- - semver-minor-days: 5
- - semver-patch-days: 5
+ cooldown:
+ semver-major-days: 5
+ semver-minor-days: 5
+ semver-patch-days: 5
commit-message:
prefix: meta
@@ -19,10 +19,10 @@ updates:
directory: /tools/eslint
schedule:
interval: monthly
- cooldown:
- - semver-major-days: 5
- - semver-minor-days: 5
- - semver-patch-days: 5
+ cooldown:
+ semver-major-days: 5
+ semver-minor-days: 5
+ semver-patch-days: 5
commit-message:
prefix: tools
open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}}
@@ -36,10 +36,10 @@ updates:
directory: /tools/lint-md
schedule:
interval: monthly
- cooldown:
- - semver-major-days: 5
- - semver-minor-days: 5
- - semver-patch-days: 5
+ cooldown:
+ semver-major-days: 5
+ semver-minor-days: 5
+ semver-patch-days: 5
commit-message:
prefix: tools
open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}}
@@ -53,10 +53,10 @@ updates:
directory: /tools/doc
schedule:
interval: weekly
- cooldown:
- - semver-major-days: 5
- - semver-minor-days: 5
- - semver-patch-days: 5
+ cooldown:
+ semver-major-days: 5
+ semver-minor-days: 5
+ semver-patch-days: 5
commit-message:
prefix: tools
open-pull-requests-limit: ${{secrets.OPEN_PR_LIMIT}}
diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml
index 0a17981b65c2ff..cc43d579436f68 100644
--- a/.github/workflows/tools.yml
+++ b/.github/workflows/tools.yml
@@ -25,6 +25,7 @@ on:
- gyp-next
- histogram
- icu
+ - inspector_protocol
- libuv
- llhttp
- minimatch
@@ -149,6 +150,14 @@ jobs:
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
+ - id: inspector_protocol
+ subsystem: deps
+ label: dependencies, inspector
+ run: |
+ ./tools/dep_updaters/update-inspector-protocol.sh > temp-output
+ cat temp-output
+ tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
+ rm temp-output
- id: libuv
subsystem: deps
label: dependencies
@@ -276,7 +285,9 @@ jobs:
with:
persist-credentials: false
- name: Set up Python ${{ env.PYTHON_VERSION }}
- if: matrix.id == 'icu' && (github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id)
+ if: |
+ (matrix.id == 'icu' || matrix.id == 'inspector_protocol') &&
+ (github.event_name == 'schedule' || inputs.id == 'all' || inputs.id == matrix.id)
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c # v6.0.0
with:
python-version: ${{ env.PYTHON_VERSION }}
diff --git a/BUILDING.md b/BUILDING.md
index 3e28e3349950d2..a02bd3562e34ea 100644
--- a/BUILDING.md
+++ b/BUILDING.md
@@ -352,6 +352,27 @@ You can also execute the tests in a test suite directory
tools/test.py test/message
```
+You can execute tests that match a specific naming pattern using the wildcard
+`*`. For example, to run all tests under `test/parallel` with a name that starts
+with `test-stream-`:
+
+```bash
+tools/test.py test/parallel/test-stream-*
+tools/test.py parallel/test-stream-* # The test/ prefix can be omitted
+# In some shell environments, you may need to quote the pattern
+tools/test.py "test/parallel/test-stream-*"
+```
+
+The whildcard `*` can be used in any part of the path. For example, to run all tests
+with a name that starts with `test-inspector-`, regardless of the directory they are in:
+
+```bash
+# Matches test/sequential/test-inspector-*, test/parallel/test-inspector-*,
+# test/known_issues/test-inspector-*, etc.
+tools/test.py "test/*/test-inspector-*"
+tools/test.py "*/test-inspector-*" # The test/ prefix can be omitted
+```
+
If you want to check the other options, please refer to the help by using
the `--help` option:
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 60b61e21a4e795..6448d112797b8e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -40,7 +40,8 @@ release.
-24.11.0
+24.11.1
+24.11.0
24.10.0
24.9.0
24.8.0
diff --git a/README.md b/README.md
index 281420dfc89c23..e7f4d7ba2b4792 100644
--- a/README.md
+++ b/README.md
@@ -323,8 +323,6 @@ For information about the governance of the Node.js project, see
**Erick Wendel** <> (he/him)
* [Ethan-Arrowood](https://github.com/Ethan-Arrowood) -
**Ethan Arrowood** <> (he/him)
-* [F3n67u](https://github.com/F3n67u) -
- **Feng Yu** <> (he/him)
* [fhinkel](https://github.com/fhinkel) -
**Franziska Hinkelmann** <> (she/her)
* [Flarna](https://github.com/Flarna) -
@@ -527,6 +525,8 @@ For information about the governance of the Node.js project, see
**Eugene Ostroukhov** <>
* [evanlucas](https://github.com/evanlucas) -
**Evan Lucas** <> (he/him)
+* [F3n67u](https://github.com/F3n67u) -
+ **Feng Yu** <> (he/him)
* [firedfox](https://github.com/firedfox) -
**Daniel Wang** <>
* [Fishrock123](https://github.com/Fishrock123) -
@@ -751,8 +751,6 @@ maintaining the Node.js project.
**Oliver Medhurst** <> (they/them)
* [daeyeon](https://github.com/daeyeon) -
**Daeyeon Jeong** <> (he/him)
-* [F3n67u](https://github.com/F3n67u) -
- **Feng Yu** <> (he/him)
* [gireeshpunathil](https://github.com/gireeshpunathil) -
**Gireesh Punathil** <> (he/him)
* [gurgunday](https://github.com/gurgunday) -
diff --git a/benchmark/cpu.sh b/benchmark/cpu.sh
index 9c9dd7fa4ddc58..7e35c0ef0de8c8 100755
--- a/benchmark/cpu.sh
+++ b/benchmark/cpu.sh
@@ -4,21 +4,73 @@ CPUPATH=/sys/devices/system/cpu
MAXID=$(cat $CPUPATH/present | awk -F- '{print $NF}')
+[ "$(uname -s || true)" = "Linux" ] || \
+ echo "Warning: This script supports Linux only." >&2
+
+[ "$(id -u || true)" = "0" ] || \
+ echo "Warning: This script typically needs root access to modify CPU governor. Consider running it with sudo." >&2
+
+get_default_governor() {
+ case "$(cat "$CPUPATH/cpu0/cpufreq/scaling_available_governors")" in
+ *"schedutil"*) echo "schedutil" ;;
+ *"ondemand"*) echo "ondemand" ;;
+ *"conservative"*) echo "conservative";;
+ *) echo "powersave" ;;
+ esac
+
+}
+
set_governor() {
- echo "Setting CPU frequency governor to \"$1\""
+ governor_name="$1"
+
+ echo "Setting governor for all CPU cores to \"$governor_name\"..."
+
i=0
while [ "$i" -le "$MAXID" ]; do
echo "$1" > "$CPUPATH/cpu$i/cpufreq/scaling_governor"
i=$((i + 1))
done
+
+ echo "Done."
+}
+
+usage() {
+ default_gov=$(get_default_governor)
+ echo "CPU Governor Management Script"
+ echo "----------------------------------------------------------------------------"
+ echo "Usage: $0 [command]"
+ echo
+ echo "Commands:"
+ echo " fast Sets the governor to 'performance' for maximum speed."
+ echo " (Warning: Increases heat/power use. Use for short-term tasks.)"
+ echo
+ echo " reset Resets the governor to the system's recommended default ('$default_gov')."
+ echo
+ echo " get Shows the current CPU governor for ALL cores."
+ echo "----------------------------------------------------------------------------"
}
case "$1" in
fast | performance)
+ echo "Warning: The 'performance' mode locks the CPU at its highest speed."
+ echo "It is highly recommended to 'reset' after your task is complete."
set_governor "performance"
;;
+
+ reset | default)
+ default_governor=$(get_default_governor)
+ set_governor "$default_governor"
+ ;;
+
+ get | status)
+ echo "Current governor status for all cores:"
+ grep . "$CPUPATH"/cpu*/cpufreq/scaling_governor
+ ;;
+
*)
- echo "Usage: $0 fast"
+ usage
exit 1
;;
esac
+
+exit 0
diff --git a/benchmark/esm/import-esm-reload.js b/benchmark/esm/import-esm-reload.js
new file mode 100644
index 00000000000000..40143930b04ed8
--- /dev/null
+++ b/benchmark/esm/import-esm-reload.js
@@ -0,0 +1,37 @@
+'use strict';
+
+const common = require('../common');
+const fs = require('fs');
+const tmpdir = require('../../test/common/tmpdir');
+const assert = require('assert');
+const { pathToFileURL } = require('url');
+const bench = common.createBenchmark(main, {
+ count: [1, 100],
+ n: [1000],
+});
+
+function prepare(count) {
+ tmpdir.refresh();
+ const dir = tmpdir.resolve('modules');
+ fs.mkdirSync(dir, { recursive: true });
+ let modSource = '';
+ for (let i = 0; i < count; ++i) {
+ modSource += `export const value${i} = 1;\n`;
+ }
+ const script = tmpdir.resolve('mod.js');
+ fs.writeFileSync(script, modSource, 'utf8');
+ return script;
+}
+
+async function main({ n, count }) {
+ const script = prepare(count);
+ const url = pathToFileURL(script).href;
+ let result = 0;
+ bench.start();
+ for (let i = 0; i < n; i++) {
+ const mod = await import(`${url}?t=${i}`);
+ result += mod[`value${count - 1}`];
+ }
+ bench.end(n);
+ assert.strictEqual(result, n);
+}
diff --git a/benchmark/napi/function_args/binding.cc b/benchmark/napi/function_args/binding.cc
index e7c3cb40586ce9..5cdca8bd3578cc 100644
--- a/benchmark/napi/function_args/binding.cc
+++ b/benchmark/napi/function_args/binding.cc
@@ -23,7 +23,8 @@ void CallWithString(const FunctionCallbackInfo& args) {
Local str = args[0].As();
const size_t length = str->Utf8LengthV2(args.GetIsolate()) + 1;
char* buf = new char[length];
- str->WriteUtf8(args.GetIsolate(), buf, length);
+ str->WriteUtf8V2(
+ args.GetIsolate(), buf, length, String::WriteFlags::kNullTerminate);
delete[] buf;
}
}
diff --git a/benchmark/vm/source-text-module-chained.js b/benchmark/vm/source-text-module-chained.js
new file mode 100644
index 00000000000000..691af2561883e5
--- /dev/null
+++ b/benchmark/vm/source-text-module-chained.js
@@ -0,0 +1,48 @@
+'use strict';
+
+const vm = require('vm');
+const common = require('../common.js');
+const assert = require('assert');
+
+const bench = common.createBenchmark(main, {
+ stage: ['all', 'instantiate', 'evaluate'],
+ n: [1000],
+}, {
+ flags: ['--experimental-vm-modules'],
+});
+
+function main({ stage, n }) {
+ const arr = [new vm.SourceTextModule(`
+ export const value = 42;
+ `)];
+
+ if (stage === 'all') {
+ bench.start();
+ }
+
+ for (let i = 0; i < n; i++) {
+ const m = new vm.SourceTextModule(`
+ export { value } from 'mod${i}';
+ `);
+ arr.push(m);
+ m.linkRequests([arr[i]]);
+ }
+
+ if (stage === 'instantiate') {
+ bench.start();
+ }
+ arr[n].instantiate();
+ if (stage === 'instantiate') {
+ bench.end(n);
+ }
+
+ if (stage === 'evaluate') {
+ bench.start();
+ }
+ arr[n].evaluate();
+ if (stage === 'evaluate' || stage === 'all') {
+ bench.end(n);
+ }
+
+ assert.strictEqual(arr[n].namespace.value, 42);
+}
diff --git a/benchmark/vm/source-text-module-flat.js b/benchmark/vm/source-text-module-flat.js
new file mode 100644
index 00000000000000..06acacb25a550c
--- /dev/null
+++ b/benchmark/vm/source-text-module-flat.js
@@ -0,0 +1,68 @@
+'use strict';
+
+const vm = require('vm');
+const common = require('../common.js');
+const assert = require('assert');
+
+const bench = common.createBenchmark(main, {
+ stage: ['all', 'link', 'instantiate', 'evaluate'],
+ n: [1000],
+}, {
+ flags: ['--experimental-vm-modules'],
+});
+
+function main({ stage, n }) {
+ const arr = [];
+ let importSource = '';
+ let useSource = 'export const result = 0 ';
+ for (let i = 0; i < n; i++) {
+ importSource += `import { value${i} } from 'mod${i}';\n`;
+ useSource += ` + value${i}\n`;
+ }
+
+ if (stage === 'all') {
+ bench.start();
+ }
+ for (let i = 0; i < n; i++) {
+ const m = new vm.SourceTextModule(`
+ export const value${i} = 1;
+ `);
+ arr.push(m);
+ }
+
+ const root = new vm.SourceTextModule(`
+ ${importSource}
+ ${useSource};
+ `);
+
+ if (stage === 'link') {
+ bench.start();
+ }
+
+ root.linkRequests(arr);
+ for (let i = 0; i < n; i++) {
+ arr[i].linkRequests([]);
+ }
+
+ if (stage === 'link') {
+ bench.end(n);
+ }
+
+ if (stage === 'instantiate') {
+ bench.start();
+ }
+ root.instantiate();
+ if (stage === 'instantiate') {
+ bench.end(n);
+ }
+
+ if (stage === 'evaluate') {
+ bench.start();
+ }
+ root.evaluate();
+ if (stage === 'evaluate' || stage === 'all') {
+ bench.end(n);
+ }
+
+ assert.strictEqual(root.namespace.result, n);
+}
diff --git a/benchmark/vm/source-text-module-leaf.js b/benchmark/vm/source-text-module-leaf.js
new file mode 100644
index 00000000000000..66d942556c6ac8
--- /dev/null
+++ b/benchmark/vm/source-text-module-leaf.js
@@ -0,0 +1,84 @@
+'use strict';
+
+const vm = require('vm');
+const common = require('../common.js');
+const assert = require('assert');
+
+const bench = common.createBenchmark(main, {
+ stage: ['all', 'compile', 'link', 'instantiate', 'evaluate'],
+ type: ['sync', 'async'],
+ n: [1000],
+}, {
+ flags: ['--experimental-vm-modules'],
+});
+
+function main({ stage, type, n }) {
+ const arr = [];
+ if (stage === 'all' || stage === 'compile') {
+ bench.start();
+ }
+
+ for (let i = 0; i < n; i++) {
+ let source = `export const value${i} = 1;`;
+ if (type === 'async') {
+ source += `\nawait Promise.resolve();\n`;
+ }
+ const m = new vm.SourceTextModule(source);
+ arr.push(m);
+ }
+
+ if (stage === 'compile') {
+ bench.end(n);
+ return;
+ }
+
+ if (stage === 'link') {
+ bench.start();
+ }
+
+ for (let i = 0; i < n; i++) {
+ arr[i].linkRequests([]);
+ }
+
+ if (stage === 'link') {
+ bench.end(n);
+ return;
+ }
+
+ if (stage === 'instantiate') {
+ bench.start();
+ }
+
+ for (let i = 0; i < n; i++) {
+ arr[i].instantiate();
+ }
+
+ if (stage === 'instantiate') {
+ bench.end(n);
+ return;
+ }
+
+ if (stage === 'evaluate') {
+ bench.start();
+ }
+
+ function finalize() {
+ bench.end(n);
+ for (let i = 0; i < n; i++) {
+ assert.strictEqual(arr[i].namespace[`value${i}`], 1);
+ }
+ }
+
+ if (type === 'sync') {
+ for (let i = 0; i < n; i++) {
+ arr[i].evaluate();
+ }
+ finalize();
+ } else {
+ const promises = [];
+ for (let i = 0; i < n; i++) {
+ promises.push(arr[i].evaluate());
+ }
+ Promise.all(promises).then(finalize);
+ }
+}
diff --git a/common.gypi b/common.gypi
index 7727dfc4c62100..60585d136f7ee1 100644
--- a/common.gypi
+++ b/common.gypi
@@ -446,12 +446,12 @@
['v8_enable_pointer_compression == 1', {
'defines': ['V8_COMPRESS_POINTERS'],
}],
+ ['v8_enable_pointer_compression == 1 and v8_enable_pointer_compression_shared_cage != 1', {
+ 'defines': ['V8_COMPRESS_POINTERS_IN_MULTIPLE_CAGES'],
+ }],
['v8_enable_pointer_compression_shared_cage == 1', {
'defines': ['V8_COMPRESS_POINTERS_IN_SHARED_CAGE'],
}],
- ['v8_enable_pointer_compression == 1 and v8_enable_pointer_compression_shared_cage != 1', {
- 'defines': ['V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE'],
- }],
['v8_enable_pointer_compression == 1 or v8_enable_31bit_smis_on_64bit_arch == 1', {
'defines': ['V8_31BIT_SMIS_ON_64BIT_ARCH'],
}],
diff --git a/configure.py b/configure.py
index 7f73f084ef1a83..750ddc8ace6cad 100755
--- a/configure.py
+++ b/configure.py
@@ -646,6 +646,12 @@
default=None,
help='[Experimental] Enable V8 pointer compression (limits max heap to 4GB and breaks ABI compatibility)')
+parser.add_argument('--experimental-pointer-compression-shared-cage',
+ action='store_true',
+ dest='pointer_compression_shared_cage',
+ default=None,
+ help='[Experimental] Use V8 pointer compression with shared cage (requires --experimental-enable-pointer-compression)')
+
parser.add_argument('--v8-options',
action='store',
dest='v8_options',
@@ -1731,7 +1737,10 @@ def configure_v8(o, configs):
# Note that enabling pointer compression without enabling sandbox is unsupported by V8,
# so this can be broken at any time.
o['variables']['v8_enable_sandbox'] = 0
- o['variables']['v8_enable_pointer_compression_shared_cage'] = 1 if options.enable_pointer_compression else 0
+ # We set v8_enable_pointer_compression_shared_cage to 0 always, even when
+ # pointer compression is enabled so that we don't accidentally enable shared
+ # cage mode when pointer compression is on.
+ o['variables']['v8_enable_pointer_compression_shared_cage'] = 1 if options.pointer_compression_shared_cage else 0
o['variables']['v8_enable_external_code_space'] = 1 if options.enable_pointer_compression else 0
o['variables']['v8_enable_31bit_smis_on_64bit_arch'] = 1 if options.enable_pointer_compression else 0
o['variables']['v8_enable_extensible_ro_snapshot'] = 0
diff --git a/deps/corepack/CHANGELOG.md b/deps/corepack/CHANGELOG.md
index fdf937785ca5d4..6dfcc2549a5f8a 100644
--- a/deps/corepack/CHANGELOG.md
+++ b/deps/corepack/CHANGELOG.md
@@ -1,5 +1,21 @@
# Changelog
+## [0.34.2](https://github.com/nodejs/corepack/compare/v0.34.1...v0.34.2) (2025-10-31)
+
+
+### Bug Fixes
+
+* bump package manager versions ([#754](https://github.com/nodejs/corepack/issues/754)) ([35e3869](https://github.com/nodejs/corepack/commit/35e3869f3f4d21bbfccdf78ea564ab0723d6f36f))
+* fix potential race condition in `node-tar` ([#757](https://github.com/nodejs/corepack/pull/757)) ([78808a7](78808a72691655fe5140c02ae41d4baef88cd9fa))
+
+## [0.34.1](https://github.com/nodejs/corepack/compare/v0.34.0...v0.34.1) (2025-10-17)
+
+
+### Bug Fixes
+
+* incorrect registry origin check ([#743](https://github.com/nodejs/corepack/issues/743)) ([cc840b2](https://github.com/nodejs/corepack/commit/cc840b2d232a29c225d2436d350640f0035ed28b))
+* update package manager versions ([#728](https://github.com/nodejs/corepack/issues/728)) ([78ce029](https://github.com/nodejs/corepack/commit/78ce0297a9152bb5c68f724821a9a0095b408334))
+
## [0.34.0](https://github.com/nodejs/corepack/compare/v0.33.0...v0.34.0) (2025-07-19)
diff --git a/deps/corepack/dist/lib/corepack.cjs b/deps/corepack/dist/lib/corepack.cjs
index 78fb4372832e3b..51a8bc86fe820e 100644
--- a/deps/corepack/dist/lib/corepack.cjs
+++ b/deps/corepack/dist/lib/corepack.cjs
@@ -15,11 +15,11 @@ var __export = (target, all) => {
for (var name2 in all)
__defProp(target, name2, { get: all[name2], enumerable: true });
};
-var __copyProps = (to, from, except, desc) => {
+var __copyProps = (to, from, except, desc2) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc2 = __getOwnPropDesc(from, key)) || desc2.enumerable });
}
return to;
};
@@ -604,12 +604,12 @@ function as(value, validator, { coerce = false, errors: storeErrors, throw: thro
}
function fn(validators, fn2) {
const isValidArgList = isTuple(validators);
- return (...args) => {
+ return ((...args) => {
const check = isValidArgList(args);
if (!check)
throw new TypeAssertionError();
return fn2(...args);
- };
+ });
}
function hasMinLength(length) {
return makeValidator({
@@ -1090,18 +1090,20 @@ var require_node = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/debug.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/debug.js
var require_debug = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/debug.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/debug.js"(exports2, module2) {
+ "use strict";
var debug2 = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {
};
module2.exports = debug2;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/constants.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/constants.js
var require_constants = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/constants.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/constants.js"(exports2, module2) {
+ "use strict";
var SEMVER_SPEC_VERSION = "2.0.0";
var MAX_LENGTH = 256;
var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
@@ -1130,9 +1132,10 @@ var require_constants = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/re.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/re.js
var require_re = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/re.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/re.js"(exports2, module2) {
+ "use strict";
var {
MAX_SAFE_COMPONENT_LENGTH,
MAX_SAFE_BUILD_LENGTH,
@@ -1173,8 +1176,8 @@ var require_re = __commonJS({
createToken("NONNUMERICIDENTIFIER", `\\d*[a-zA-Z-]${LETTERDASHNUMBER}*`);
createToken("MAINVERSION", `(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})\\.(${src[t.NUMERICIDENTIFIER]})`);
createToken("MAINVERSIONLOOSE", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})\\.(${src[t.NUMERICIDENTIFIERLOOSE]})`);
- createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);
- createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);
+ createToken("PRERELEASEIDENTIFIER", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIER]})`);
+ createToken("PRERELEASEIDENTIFIERLOOSE", `(?:${src[t.NONNUMERICIDENTIFIER]}|${src[t.NUMERICIDENTIFIERLOOSE]})`);
createToken("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
@@ -1217,9 +1220,10 @@ var require_re = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/parse-options.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/parse-options.js
var require_parse_options = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/parse-options.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/parse-options.js"(exports2, module2) {
+ "use strict";
var looseOption = Object.freeze({ loose: true });
var emptyOpts = Object.freeze({});
var parseOptions = (options) => {
@@ -1235,11 +1239,15 @@ var require_parse_options = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/identifiers.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/identifiers.js
var require_identifiers = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/identifiers.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/identifiers.js"(exports2, module2) {
+ "use strict";
var numeric = /^[0-9]+$/;
var compareIdentifiers = (a, b) => {
+ if (typeof a === "number" && typeof b === "number") {
+ return a === b ? 0 : a < b ? -1 : 1;
+ }
const anum = numeric.test(a);
const bnum = numeric.test(b);
if (anum && bnum) {
@@ -1256,40 +1264,41 @@ var require_identifiers = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/classes/semver.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/classes/semver.js
var require_semver = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/classes/semver.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/classes/semver.js"(exports2, module2) {
+ "use strict";
var debug2 = require_debug();
var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
- var { safeRe: re, safeSrc: src, t } = require_re();
+ var { safeRe: re, t } = require_re();
var parseOptions = require_parse_options();
var { compareIdentifiers } = require_identifiers();
var SemVer3 = class _SemVer {
- constructor(version3, options) {
+ constructor(version2, options) {
options = parseOptions(options);
- if (version3 instanceof _SemVer) {
- if (version3.loose === !!options.loose && version3.includePrerelease === !!options.includePrerelease) {
- return version3;
+ if (version2 instanceof _SemVer) {
+ if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) {
+ return version2;
} else {
- version3 = version3.version;
+ version2 = version2.version;
}
- } else if (typeof version3 !== "string") {
- throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version3}".`);
+ } else if (typeof version2 !== "string") {
+ throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`);
}
- if (version3.length > MAX_LENGTH) {
+ if (version2.length > MAX_LENGTH) {
throw new TypeError(
`version is longer than ${MAX_LENGTH} characters`
);
}
- debug2("SemVer", version3, options);
+ debug2("SemVer", version2, options);
this.options = options;
this.loose = !!options.loose;
this.includePrerelease = !!options.includePrerelease;
- const m = version3.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
+ const m = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
if (!m) {
- throw new TypeError(`Invalid Version: ${version3}`);
+ throw new TypeError(`Invalid Version: ${version2}`);
}
- this.raw = version3;
+ this.raw = version2;
this.major = +m[1];
this.minor = +m[2];
this.patch = +m[3];
@@ -1345,7 +1354,25 @@ var require_semver = __commonJS({
if (!(other instanceof _SemVer)) {
other = new _SemVer(other, this.options);
}
- return compareIdentifiers(this.major, other.major) || compareIdentifiers(this.minor, other.minor) || compareIdentifiers(this.patch, other.patch);
+ if (this.major < other.major) {
+ return -1;
+ }
+ if (this.major > other.major) {
+ return 1;
+ }
+ if (this.minor < other.minor) {
+ return -1;
+ }
+ if (this.minor > other.minor) {
+ return 1;
+ }
+ if (this.patch < other.patch) {
+ return -1;
+ }
+ if (this.patch > other.patch) {
+ return 1;
+ }
+ return 0;
}
comparePre(other) {
if (!(other instanceof _SemVer)) {
@@ -1406,8 +1433,7 @@ var require_semver = __commonJS({
throw new Error("invalid increment argument: identifier is empty");
}
if (identifier) {
- const r = new RegExp(`^${this.options.loose ? src[t.PRERELEASELOOSE] : src[t.PRERELEASE]}$`);
- const match = `-${identifier}`.match(r);
+ const match = `-${identifier}`.match(this.options.loose ? re[t.PRERELEASELOOSE] : re[t.PRERELEASE]);
if (!match || match[1] !== identifier) {
throw new Error(`invalid identifier: ${identifier}`);
}
@@ -1517,34 +1543,37 @@ var require_semver = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/compare.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/compare.js
var require_compare = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/compare.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/compare.js"(exports2, module2) {
+ "use strict";
var SemVer3 = require_semver();
var compare = (a, b, loose) => new SemVer3(a, loose).compare(new SemVer3(b, loose));
module2.exports = compare;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/rcompare.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/rcompare.js
var require_rcompare = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/rcompare.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/rcompare.js"(exports2, module2) {
+ "use strict";
var compare = require_compare();
var rcompare = (a, b, loose) => compare(b, a, loose);
module2.exports = rcompare;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/parse.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/parse.js
var require_parse = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/parse.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/parse.js"(exports2, module2) {
+ "use strict";
var SemVer3 = require_semver();
- var parse5 = (version3, options, throwErrors = false) => {
- if (version3 instanceof SemVer3) {
- return version3;
+ var parse4 = (version2, options, throwErrors = false) => {
+ if (version2 instanceof SemVer3) {
+ return version2;
}
try {
- return new SemVer3(version3, options);
+ return new SemVer3(version2, options);
} catch (er) {
if (!throwErrors) {
return null;
@@ -1552,25 +1581,27 @@ var require_parse = __commonJS({
throw er;
}
};
- module2.exports = parse5;
+ module2.exports = parse4;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/valid.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/valid.js
var require_valid = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/valid.js"(exports2, module2) {
- var parse5 = require_parse();
- var valid = (version3, options) => {
- const v = parse5(version3, options);
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/valid.js"(exports2, module2) {
+ "use strict";
+ var parse4 = require_parse();
+ var valid = (version2, options) => {
+ const v = parse4(version2, options);
return v ? v.version : null;
};
module2.exports = valid;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/lrucache.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/lrucache.js
var require_lrucache = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/internal/lrucache.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/internal/lrucache.js"(exports2, module2) {
+ "use strict";
var LRUCache = class {
constructor() {
this.max = 1e3;
@@ -1605,63 +1636,70 @@ var require_lrucache = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/eq.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/eq.js
var require_eq = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/eq.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/eq.js"(exports2, module2) {
+ "use strict";
var compare = require_compare();
var eq = (a, b, loose) => compare(a, b, loose) === 0;
module2.exports = eq;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/neq.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/neq.js
var require_neq = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/neq.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/neq.js"(exports2, module2) {
+ "use strict";
var compare = require_compare();
var neq = (a, b, loose) => compare(a, b, loose) !== 0;
module2.exports = neq;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/gt.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/gt.js
var require_gt = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/gt.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/gt.js"(exports2, module2) {
+ "use strict";
var compare = require_compare();
var gt = (a, b, loose) => compare(a, b, loose) > 0;
module2.exports = gt;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/gte.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/gte.js
var require_gte = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/gte.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/gte.js"(exports2, module2) {
+ "use strict";
var compare = require_compare();
var gte = (a, b, loose) => compare(a, b, loose) >= 0;
module2.exports = gte;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/lt.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/lt.js
var require_lt = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/lt.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/lt.js"(exports2, module2) {
+ "use strict";
var compare = require_compare();
var lt = (a, b, loose) => compare(a, b, loose) < 0;
module2.exports = lt;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/lte.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/lte.js
var require_lte = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/lte.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/lte.js"(exports2, module2) {
+ "use strict";
var compare = require_compare();
var lte = (a, b, loose) => compare(a, b, loose) <= 0;
module2.exports = lte;
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/cmp.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/cmp.js
var require_cmp = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/cmp.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/cmp.js"(exports2, module2) {
+ "use strict";
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
@@ -1708,9 +1746,10 @@ var require_cmp = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/classes/comparator.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/classes/comparator.js
var require_comparator = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/classes/comparator.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/classes/comparator.js"(exports2, module2) {
+ "use strict";
var ANY = Symbol("SemVer ANY");
var Comparator = class _Comparator {
static get ANY() {
@@ -1756,19 +1795,19 @@ var require_comparator = __commonJS({
toString() {
return this.value;
}
- test(version3) {
- debug2("Comparator.test", version3, this.options.loose);
- if (this.semver === ANY || version3 === ANY) {
+ test(version2) {
+ debug2("Comparator.test", version2, this.options.loose);
+ if (this.semver === ANY || version2 === ANY) {
return true;
}
- if (typeof version3 === "string") {
+ if (typeof version2 === "string") {
try {
- version3 = new SemVer3(version3, this.options);
+ version2 = new SemVer3(version2, this.options);
} catch (er) {
return false;
}
}
- return cmp(version3, this.operator, this.semver, this.options);
+ return cmp(version2, this.operator, this.semver, this.options);
}
intersects(comp, options) {
if (!(comp instanceof _Comparator)) {
@@ -1820,9 +1859,10 @@ var require_comparator = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/classes/range.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/classes/range.js
var require_range = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/classes/range.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/classes/range.js"(exports2, module2) {
+ "use strict";
var SPACE_CHARACTERS = /\s+/g;
var Range3 = class _Range {
constructor(range, options) {
@@ -1891,7 +1931,7 @@ var require_range = __commonJS({
parseRange(range) {
const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
const memoKey = memoOpts + ":" + range;
- const cached = cache.get(memoKey);
+ const cached = cache2.get(memoKey);
if (cached) {
return cached;
}
@@ -1925,7 +1965,7 @@ var require_range = __commonJS({
rangeMap.delete("");
}
const result = [...rangeMap.values()];
- cache.set(memoKey, result);
+ cache2.set(memoKey, result);
return result;
}
intersects(range, options) {
@@ -1943,19 +1983,19 @@ var require_range = __commonJS({
});
}
// if ANY of the sets match ALL of its comparators, then pass
- test(version3) {
- if (!version3) {
+ test(version2) {
+ if (!version2) {
return false;
}
- if (typeof version3 === "string") {
+ if (typeof version2 === "string") {
try {
- version3 = new SemVer3(version3, this.options);
+ version2 = new SemVer3(version2, this.options);
} catch (er) {
return false;
}
}
for (let i = 0; i < this.set.length; i++) {
- if (testSet(this.set[i], version3, this.options)) {
+ if (testSet(this.set[i], version2, this.options)) {
return true;
}
}
@@ -1964,7 +2004,7 @@ var require_range = __commonJS({
};
module2.exports = Range3;
var LRU = require_lrucache();
- var cache = new LRU();
+ var cache2 = new LRU();
var parseOptions = require_parse_options();
var Comparator = require_comparator();
var debug2 = require_debug();
@@ -1992,6 +2032,7 @@ var require_range = __commonJS({
return result;
};
var parseComparator = (comp, options) => {
+ comp = comp.replace(re[t.BUILD], "");
debug2("comp", comp, options);
comp = replaceCarets(comp, options);
debug2("caret", comp);
@@ -2169,13 +2210,13 @@ var require_range = __commonJS({
}
return `${from} ${to}`.trim();
};
- var testSet = (set, version3, options) => {
+ var testSet = (set, version2, options) => {
for (let i = 0; i < set.length; i++) {
- if (!set[i].test(version3)) {
+ if (!set[i].test(version2)) {
return false;
}
}
- if (version3.prerelease.length && !options.includePrerelease) {
+ if (version2.prerelease.length && !options.includePrerelease) {
for (let i = 0; i < set.length; i++) {
debug2(set[i].semver);
if (set[i].semver === Comparator.ANY) {
@@ -2183,7 +2224,7 @@ var require_range = __commonJS({
}
if (set[i].semver.prerelease.length > 0) {
const allowed = set[i].semver;
- if (allowed.major === version3.major && allowed.minor === version3.minor && allowed.patch === version3.patch) {
+ if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) {
return true;
}
}
@@ -2195,9 +2236,10 @@ var require_range = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/ranges/valid.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/ranges/valid.js
var require_valid2 = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/ranges/valid.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/ranges/valid.js"(exports2, module2) {
+ "use strict";
var Range3 = require_range();
var validRange = (range, options) => {
try {
@@ -2223,7 +2265,7 @@ var require_ms = __commonJS({
options = options || {};
var type = typeof val;
if (type === "string" && val.length > 0) {
- return parse5(val);
+ return parse4(val);
} else if (type === "number" && isFinite(val)) {
return options.long ? fmtLong(val) : fmtShort(val);
}
@@ -2231,7 +2273,7 @@ var require_ms = __commonJS({
"val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
);
};
- function parse5(str) {
+ function parse4(str) {
str = String(str);
if (str.length > 100) {
return;
@@ -2326,9 +2368,9 @@ var require_ms = __commonJS({
}
});
-// .yarn/__virtual__/debug-virtual-f48feae4da/0/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip/node_modules/debug/src/common.js
+// .yarn/__virtual__/debug-virtual-436baa457e/0/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip/node_modules/debug/src/common.js
var require_common = __commonJS({
- ".yarn/__virtual__/debug-virtual-f48feae4da/0/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip/node_modules/debug/src/common.js"(exports2, module2) {
+ ".yarn/__virtual__/debug-virtual-436baa457e/0/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip/node_modules/debug/src/common.js"(exports2, module2) {
function setup(env2) {
createDebug.debug = createDebug;
createDebug.default = createDebug;
@@ -2429,7 +2471,7 @@ var require_common = __commonJS({
createDebug.namespaces = namespaces;
createDebug.names = [];
createDebug.skips = [];
- const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(" ", ",").split(",").filter(Boolean);
+ const split = (typeof namespaces === "string" ? namespaces : "").trim().replace(/\s+/g, ",").split(",").filter(Boolean);
for (const ns of split) {
if (ns[0] === "-") {
createDebug.skips.push(ns.slice(1));
@@ -2503,9 +2545,9 @@ var require_common = __commonJS({
}
});
-// .yarn/__virtual__/debug-virtual-f48feae4da/0/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip/node_modules/debug/src/browser.js
+// .yarn/__virtual__/debug-virtual-436baa457e/0/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip/node_modules/debug/src/browser.js
var require_browser = __commonJS({
- ".yarn/__virtual__/debug-virtual-f48feae4da/0/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip/node_modules/debug/src/browser.js"(exports2, module2) {
+ ".yarn/__virtual__/debug-virtual-436baa457e/0/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip/node_modules/debug/src/browser.js"(exports2, module2) {
exports2.formatArgs = formatArgs;
exports2.save = save;
exports2.load = load;
@@ -2647,7 +2689,7 @@ var require_browser = __commonJS({
function load() {
let r;
try {
- r = exports2.storage.getItem("debug");
+ r = exports2.storage.getItem("debug") || exports2.storage.getItem("DEBUG");
} catch (error) {
}
if (!r && typeof process !== "undefined" && "env" in process) {
@@ -2673,7 +2715,7 @@ var require_browser = __commonJS({
}
});
-// .yarn/cache/supports-color-npm-10.0.0-6cd1bb42a6-0e7884dfd0.zip/node_modules/supports-color/index.js
+// .yarn/cache/supports-color-npm-10.2.2-e43ac15f9f-fb28dd7e0c.zip/node_modules/supports-color/index.js
var supports_color_exports = {};
__export(supports_color_exports, {
createSupportsColor: () => createSupportsColor,
@@ -2767,11 +2809,17 @@ function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
if (env.TERM === "xterm-kitty") {
return 3;
}
+ if (env.TERM === "xterm-ghostty") {
+ return 3;
+ }
+ if (env.TERM === "wezterm") {
+ return 3;
+ }
if ("TERM_PROGRAM" in env) {
- const version3 = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
+ const version2 = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
switch (env.TERM_PROGRAM) {
case "iTerm.app": {
- return version3 >= 3 ? 3 : 2;
+ return version2 >= 3 ? 3 : 2;
}
case "Apple_Terminal": {
return 2;
@@ -2798,7 +2846,7 @@ function createSupportsColor(stream, options = {}) {
}
var import_node_process, import_node_os, import_node_tty, env, flagForceColor, supportsColor, supports_color_default;
var init_supports_color = __esm({
- ".yarn/cache/supports-color-npm-10.0.0-6cd1bb42a6-0e7884dfd0.zip/node_modules/supports-color/index.js"() {
+ ".yarn/cache/supports-color-npm-10.2.2-e43ac15f9f-fb28dd7e0c.zip/node_modules/supports-color/index.js"() {
import_node_process = __toESM(require("node:process"), 1);
import_node_os = __toESM(require("node:os"), 1);
import_node_tty = __toESM(require("node:tty"), 1);
@@ -2816,9 +2864,9 @@ var init_supports_color = __esm({
}
});
-// .yarn/__virtual__/debug-virtual-f48feae4da/0/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip/node_modules/debug/src/node.js
+// .yarn/__virtual__/debug-virtual-436baa457e/0/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip/node_modules/debug/src/node.js
var require_node2 = __commonJS({
- ".yarn/__virtual__/debug-virtual-f48feae4da/0/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip/node_modules/debug/src/node.js"(exports2, module2) {
+ ".yarn/__virtual__/debug-virtual-436baa457e/0/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip/node_modules/debug/src/node.js"(exports2, module2) {
var tty2 = require("tty");
var util = require("util");
exports2.init = init;
@@ -2990,9 +3038,9 @@ var require_node2 = __commonJS({
}
});
-// .yarn/__virtual__/debug-virtual-f48feae4da/0/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip/node_modules/debug/src/index.js
+// .yarn/__virtual__/debug-virtual-436baa457e/0/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip/node_modules/debug/src/index.js
var require_src = __commonJS({
- ".yarn/__virtual__/debug-virtual-f48feae4da/0/cache/debug-npm-4.4.0-f6efe76023-db94f1a182.zip/node_modules/debug/src/index.js"(exports2, module2) {
+ ".yarn/__virtual__/debug-virtual-436baa457e/0/cache/debug-npm-4.4.3-0105c6123a-d79136ec6c.zip/node_modules/debug/src/index.js"(exports2, module2) {
if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
module2.exports = require_browser();
} else {
@@ -3071,17 +3119,23 @@ var require_proxy_from_env = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/errors.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/errors.js
var require_errors = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/errors.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/errors.js"(exports2, module2) {
"use strict";
+ var kUndiciError = Symbol.for("undici.error.UND_ERR");
var UndiciError = class extends Error {
constructor(message) {
super(message);
this.name = "UndiciError";
this.code = "UND_ERR";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kUndiciError] === true;
+ }
+ [kUndiciError] = true;
};
+ var kConnectTimeoutError = Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT");
var ConnectTimeoutError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3089,7 +3143,12 @@ var require_errors = __commonJS({
this.message = message || "Connect Timeout Error";
this.code = "UND_ERR_CONNECT_TIMEOUT";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kConnectTimeoutError] === true;
+ }
+ [kConnectTimeoutError] = true;
};
+ var kHeadersTimeoutError = Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT");
var HeadersTimeoutError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3097,7 +3156,12 @@ var require_errors = __commonJS({
this.message = message || "Headers Timeout Error";
this.code = "UND_ERR_HEADERS_TIMEOUT";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kHeadersTimeoutError] === true;
+ }
+ [kHeadersTimeoutError] = true;
};
+ var kHeadersOverflowError = Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW");
var HeadersOverflowError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3105,7 +3169,12 @@ var require_errors = __commonJS({
this.message = message || "Headers Overflow Error";
this.code = "UND_ERR_HEADERS_OVERFLOW";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kHeadersOverflowError] === true;
+ }
+ [kHeadersOverflowError] = true;
};
+ var kBodyTimeoutError = Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT");
var BodyTimeoutError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3113,7 +3182,12 @@ var require_errors = __commonJS({
this.message = message || "Body Timeout Error";
this.code = "UND_ERR_BODY_TIMEOUT";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kBodyTimeoutError] === true;
+ }
+ [kBodyTimeoutError] = true;
};
+ var kResponseStatusCodeError = Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE");
var ResponseStatusCodeError = class extends UndiciError {
constructor(message, statusCode, headers, body) {
super(message);
@@ -3125,7 +3199,12 @@ var require_errors = __commonJS({
this.statusCode = statusCode;
this.headers = headers;
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kResponseStatusCodeError] === true;
+ }
+ [kResponseStatusCodeError] = true;
};
+ var kInvalidArgumentError = Symbol.for("undici.error.UND_ERR_INVALID_ARG");
var InvalidArgumentError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3133,7 +3212,12 @@ var require_errors = __commonJS({
this.message = message || "Invalid Argument Error";
this.code = "UND_ERR_INVALID_ARG";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kInvalidArgumentError] === true;
+ }
+ [kInvalidArgumentError] = true;
};
+ var kInvalidReturnValueError = Symbol.for("undici.error.UND_ERR_INVALID_RETURN_VALUE");
var InvalidReturnValueError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3141,14 +3225,25 @@ var require_errors = __commonJS({
this.message = message || "Invalid Return Value Error";
this.code = "UND_ERR_INVALID_RETURN_VALUE";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kInvalidReturnValueError] === true;
+ }
+ [kInvalidReturnValueError] = true;
};
+ var kAbortError = Symbol.for("undici.error.UND_ERR_ABORT");
var AbortError = class extends UndiciError {
constructor(message) {
super(message);
this.name = "AbortError";
this.message = message || "The operation was aborted";
+ this.code = "UND_ERR_ABORT";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kAbortError] === true;
+ }
+ [kAbortError] = true;
};
+ var kRequestAbortedError = Symbol.for("undici.error.UND_ERR_ABORTED");
var RequestAbortedError = class extends AbortError {
constructor(message) {
super(message);
@@ -3156,7 +3251,12 @@ var require_errors = __commonJS({
this.message = message || "Request aborted";
this.code = "UND_ERR_ABORTED";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kRequestAbortedError] === true;
+ }
+ [kRequestAbortedError] = true;
};
+ var kInformationalError = Symbol.for("undici.error.UND_ERR_INFO");
var InformationalError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3164,7 +3264,12 @@ var require_errors = __commonJS({
this.message = message || "Request information";
this.code = "UND_ERR_INFO";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kInformationalError] === true;
+ }
+ [kInformationalError] = true;
};
+ var kRequestContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_REQ_CONTENT_LENGTH_MISMATCH");
var RequestContentLengthMismatchError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3172,7 +3277,12 @@ var require_errors = __commonJS({
this.message = message || "Request body length does not match content-length header";
this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kRequestContentLengthMismatchError] === true;
+ }
+ [kRequestContentLengthMismatchError] = true;
};
+ var kResponseContentLengthMismatchError = Symbol.for("undici.error.UND_ERR_RES_CONTENT_LENGTH_MISMATCH");
var ResponseContentLengthMismatchError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3180,7 +3290,12 @@ var require_errors = __commonJS({
this.message = message || "Response body length does not match content-length header";
this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kResponseContentLengthMismatchError] === true;
+ }
+ [kResponseContentLengthMismatchError] = true;
};
+ var kClientDestroyedError = Symbol.for("undici.error.UND_ERR_DESTROYED");
var ClientDestroyedError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3188,7 +3303,12 @@ var require_errors = __commonJS({
this.message = message || "The client is destroyed";
this.code = "UND_ERR_DESTROYED";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kClientDestroyedError] === true;
+ }
+ [kClientDestroyedError] = true;
};
+ var kClientClosedError = Symbol.for("undici.error.UND_ERR_CLOSED");
var ClientClosedError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3196,7 +3316,12 @@ var require_errors = __commonJS({
this.message = message || "The client is closed";
this.code = "UND_ERR_CLOSED";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kClientClosedError] === true;
+ }
+ [kClientClosedError] = true;
};
+ var kSocketError = Symbol.for("undici.error.UND_ERR_SOCKET");
var SocketError = class extends UndiciError {
constructor(message, socket) {
super(message);
@@ -3205,7 +3330,12 @@ var require_errors = __commonJS({
this.code = "UND_ERR_SOCKET";
this.socket = socket;
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kSocketError] === true;
+ }
+ [kSocketError] = true;
};
+ var kNotSupportedError = Symbol.for("undici.error.UND_ERR_NOT_SUPPORTED");
var NotSupportedError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3213,7 +3343,12 @@ var require_errors = __commonJS({
this.message = message || "Not supported error";
this.code = "UND_ERR_NOT_SUPPORTED";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kNotSupportedError] === true;
+ }
+ [kNotSupportedError] = true;
};
+ var kBalancedPoolMissingUpstreamError = Symbol.for("undici.error.UND_ERR_BPL_MISSING_UPSTREAM");
var BalancedPoolMissingUpstreamError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3221,7 +3356,12 @@ var require_errors = __commonJS({
this.message = message || "No upstream has been added to the BalancedPool";
this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kBalancedPoolMissingUpstreamError] === true;
+ }
+ [kBalancedPoolMissingUpstreamError] = true;
};
+ var kHTTPParserError = Symbol.for("undici.error.UND_ERR_HTTP_PARSER");
var HTTPParserError = class extends Error {
constructor(message, code2, data) {
super(message);
@@ -3229,7 +3369,12 @@ var require_errors = __commonJS({
this.code = code2 ? `HPE_${code2}` : void 0;
this.data = data ? data.toString() : void 0;
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kHTTPParserError] === true;
+ }
+ [kHTTPParserError] = true;
};
+ var kResponseExceededMaxSizeError = Symbol.for("undici.error.UND_ERR_RES_EXCEEDED_MAX_SIZE");
var ResponseExceededMaxSizeError = class extends UndiciError {
constructor(message) {
super(message);
@@ -3237,7 +3382,12 @@ var require_errors = __commonJS({
this.message = message || "Response content exceeded max size";
this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kResponseExceededMaxSizeError] === true;
+ }
+ [kResponseExceededMaxSizeError] = true;
};
+ var kRequestRetryError = Symbol.for("undici.error.UND_ERR_REQ_RETRY");
var RequestRetryError = class extends UndiciError {
constructor(message, code2, { headers, data }) {
super(message);
@@ -3248,7 +3398,12 @@ var require_errors = __commonJS({
this.data = data;
this.headers = headers;
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kRequestRetryError] === true;
+ }
+ [kRequestRetryError] = true;
};
+ var kResponseError = Symbol.for("undici.error.UND_ERR_RESPONSE");
var ResponseError = class extends UndiciError {
constructor(message, code2, { headers, data }) {
super(message);
@@ -3259,7 +3414,12 @@ var require_errors = __commonJS({
this.data = data;
this.headers = headers;
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kResponseError] === true;
+ }
+ [kResponseError] = true;
};
+ var kSecureProxyConnectionError = Symbol.for("undici.error.UND_ERR_PRX_TLS");
var SecureProxyConnectionError = class extends UndiciError {
constructor(cause, message, options) {
super(message, { cause, ...options ?? {} });
@@ -3268,6 +3428,10 @@ var require_errors = __commonJS({
this.code = "UND_ERR_PRX_TLS";
this.cause = cause;
}
+ static [Symbol.hasInstance](instance) {
+ return instance && instance[kSecureProxyConnectionError] === true;
+ }
+ [kSecureProxyConnectionError] = true;
};
module2.exports = {
AbortError,
@@ -3297,9 +3461,9 @@ var require_errors = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/symbols.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/symbols.js
var require_symbols = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/symbols.js"(exports2, module2) {
module2.exports = {
kClose: Symbol("close"),
kDestroy: Symbol("destroy"),
@@ -3370,9 +3534,9 @@ var require_symbols = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/constants.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/constants.js
var require_constants2 = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/constants.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/constants.js"(exports2, module2) {
"use strict";
var headerNameLowerCasedRecord = {};
var wellknownHeaderNames = [
@@ -3485,9 +3649,9 @@ var require_constants2 = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/tree.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/tree.js
var require_tree = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/tree.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/tree.js"(exports2, module2) {
"use strict";
var {
wellknownHeaderNames,
@@ -3625,9 +3789,9 @@ var require_tree = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/util.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/util.js
var require_util = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/util.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/util.js"(exports2, module2) {
"use strict";
var assert5 = require("node:assert");
var { kDestroyed, kBodyUsed, kListeners, kBody } = require_symbols();
@@ -4131,9 +4295,9 @@ var require_util = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/readable.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/readable.js
var require_readable = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/readable.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/readable.js"(exports2, module2) {
"use strict";
var assert5 = require("node:assert");
var { Readable: Readable2 } = require("node:stream");
@@ -4146,7 +4310,7 @@ var require_readable = __commonJS({
var kAbort = Symbol("kAbort");
var kContentType = Symbol("kContentType");
var kContentLength = Symbol("kContentLength");
- var noop2 = () => {
+ var noop3 = () => {
};
var BodyReadable = class extends Readable2 {
constructor({
@@ -4263,7 +4427,7 @@ var require_readable = __commonJS({
if (this._readableState.closeEmitted) {
return null;
}
- return await new Promise((resolve2, reject) => {
+ return await new Promise((resolve, reject) => {
if (this[kContentLength] > limit) {
this.destroy(new AbortError());
}
@@ -4276,9 +4440,9 @@ var require_readable = __commonJS({
if (signal?.aborted) {
reject(signal.reason ?? new AbortError());
} else {
- resolve2(null);
+ resolve(null);
}
- }).on("error", noop2).on("data", function(chunk) {
+ }).on("error", noop3).on("data", function(chunk) {
limit -= chunk.length;
if (limit <= 0) {
this.destroy();
@@ -4295,7 +4459,7 @@ var require_readable = __commonJS({
}
async function consume(stream, type) {
assert5(!stream[kConsume]);
- return new Promise((resolve2, reject) => {
+ return new Promise((resolve, reject) => {
if (isUnusable(stream)) {
const rState = stream._readableState;
if (rState.destroyed && rState.closeEmitted === false) {
@@ -4312,7 +4476,7 @@ var require_readable = __commonJS({
stream[kConsume] = {
type,
stream,
- resolve: resolve2,
+ resolve,
reject,
length: 0,
body: []
@@ -4382,18 +4546,18 @@ var require_readable = __commonJS({
return buffer;
}
function consumeEnd(consume2) {
- const { type, body, resolve: resolve2, stream, length } = consume2;
+ const { type, body, resolve, stream, length } = consume2;
try {
if (type === "text") {
- resolve2(chunksDecode(body, length));
+ resolve(chunksDecode(body, length));
} else if (type === "json") {
- resolve2(JSON.parse(chunksDecode(body, length)));
+ resolve(JSON.parse(chunksDecode(body, length)));
} else if (type === "arrayBuffer") {
- resolve2(chunksConcat(body, length).buffer);
+ resolve(chunksConcat(body, length).buffer);
} else if (type === "blob") {
- resolve2(new Blob(body, { type: stream[kContentType] }));
+ resolve(new Blob(body, { type: stream[kContentType] }));
} else if (type === "bytes") {
- resolve2(chunksConcat(body, length));
+ resolve(chunksConcat(body, length));
}
consumeFinish(consume2);
} catch (err) {
@@ -4424,9 +4588,9 @@ var require_readable = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/util.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/util.js
var require_util2 = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/util.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/util.js"(exports2, module2) {
var assert5 = require("node:assert");
var {
ResponseStatusCodeError
@@ -4485,9 +4649,9 @@ var require_util2 = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-request.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-request.js
var require_api_request = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-request.js"(exports2, module2) {
"use strict";
var assert5 = require("node:assert");
var { Readable: Readable2 } = require_readable();
@@ -4650,9 +4814,9 @@ var require_api_request = __commonJS({
};
function request(opts, callback) {
if (callback === void 0) {
- return new Promise((resolve2, reject) => {
+ return new Promise((resolve, reject) => {
request.call(this, opts, (err, data) => {
- return err ? reject(err) : resolve2(data);
+ return err ? reject(err) : resolve(data);
});
});
}
@@ -4671,9 +4835,9 @@ var require_api_request = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/abort-signal.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/abort-signal.js
var require_abort_signal = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
var { addAbortListener } = require_util();
var { RequestAbortedError } = require_errors();
var kListener = Symbol("kListener");
@@ -4722,9 +4886,9 @@ var require_abort_signal = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-stream.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-stream.js
var require_api_stream = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-stream.js"(exports2, module2) {
"use strict";
var assert5 = require("node:assert");
var { finished, PassThrough } = require("node:stream");
@@ -4875,9 +5039,9 @@ var require_api_stream = __commonJS({
};
function stream(opts, factory, callback) {
if (callback === void 0) {
- return new Promise((resolve2, reject) => {
+ return new Promise((resolve, reject) => {
stream.call(this, opts, factory, (err, data) => {
- return err ? reject(err) : resolve2(data);
+ return err ? reject(err) : resolve(data);
});
});
}
@@ -4895,9 +5059,9 @@ var require_api_stream = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-pipeline.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-pipeline.js
var require_api_pipeline = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-pipeline.js"(exports2, module2) {
"use strict";
var {
Readable: Readable2,
@@ -5095,9 +5259,9 @@ var require_api_pipeline = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-upgrade.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-upgrade.js
var require_api_upgrade = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-upgrade.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError, SocketError } = require_errors();
var { AsyncResource } = require("node:async_hooks");
@@ -5162,9 +5326,9 @@ var require_api_upgrade = __commonJS({
};
function upgrade(opts, callback) {
if (callback === void 0) {
- return new Promise((resolve2, reject) => {
+ return new Promise((resolve, reject) => {
upgrade.call(this, opts, (err, data) => {
- return err ? reject(err) : resolve2(data);
+ return err ? reject(err) : resolve(data);
});
});
}
@@ -5187,9 +5351,9 @@ var require_api_upgrade = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-connect.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-connect.js
var require_api_connect = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/api-connect.js"(exports2, module2) {
"use strict";
var assert5 = require("node:assert");
var { AsyncResource } = require("node:async_hooks");
@@ -5256,9 +5420,9 @@ var require_api_connect = __commonJS({
};
function connect(opts, callback) {
if (callback === void 0) {
- return new Promise((resolve2, reject) => {
+ return new Promise((resolve, reject) => {
connect.call(this, opts, (err, data) => {
- return err ? reject(err) : resolve2(data);
+ return err ? reject(err) : resolve(data);
});
});
}
@@ -5277,9 +5441,9 @@ var require_api_connect = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/index.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/index.js
var require_api = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/api/index.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/api/index.js"(exports2, module2) {
"use strict";
module2.exports.request = require_api_request();
module2.exports.stream = require_api_stream();
@@ -5289,9 +5453,9 @@ var require_api = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/dispatcher.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/dispatcher.js
var require_dispatcher = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/dispatcher.js"(exports2, module2) {
"use strict";
var EventEmitter2 = require("node:events");
var Dispatcher = class extends EventEmitter2 {
@@ -5344,9 +5508,9 @@ var require_dispatcher = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/dispatcher-base.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/dispatcher-base.js
var require_dispatcher_base = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/dispatcher-base.js"(exports2, module2) {
"use strict";
var Dispatcher = require_dispatcher();
var {
@@ -5388,9 +5552,9 @@ var require_dispatcher_base = __commonJS({
}
close(callback) {
if (callback === void 0) {
- return new Promise((resolve2, reject) => {
+ return new Promise((resolve, reject) => {
this.close((err, data) => {
- return err ? reject(err) : resolve2(data);
+ return err ? reject(err) : resolve(data);
});
});
}
@@ -5428,12 +5592,12 @@ var require_dispatcher_base = __commonJS({
err = null;
}
if (callback === void 0) {
- return new Promise((resolve2, reject) => {
+ return new Promise((resolve, reject) => {
this.destroy(err, (err2, data) => {
return err2 ? (
/* istanbul ignore next: should never error */
reject(err2)
- ) : resolve2(data);
+ ) : resolve(data);
});
});
}
@@ -5505,9 +5669,9 @@ var require_dispatcher_base = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/fixed-queue.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/fixed-queue.js
var require_fixed_queue = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/fixed-queue.js"(exports2, module2) {
"use strict";
var kSize = 2048;
var kMask = kSize - 1;
@@ -5562,9 +5726,9 @@ var require_fixed_queue = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/pool-stats.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/pool-stats.js
var require_pool_stats = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/pool-stats.js"(exports2, module2) {
var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols();
var kPool = Symbol("pool");
var PoolStats = class {
@@ -5594,9 +5758,9 @@ var require_pool_stats = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/pool-base.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/pool-base.js
var require_pool_base = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/pool-base.js"(exports2, module2) {
"use strict";
var DispatcherBase = require_dispatcher_base();
var FixedQueue = require_fixed_queue();
@@ -5689,8 +5853,8 @@ var require_pool_base = __commonJS({
if (this[kQueue].isEmpty()) {
await Promise.all(this[kClients].map((c) => c.close()));
} else {
- await new Promise((resolve2) => {
- this[kClosedResolve] = resolve2;
+ await new Promise((resolve) => {
+ this[kClosedResolve] = resolve;
});
}
}
@@ -5749,9 +5913,9 @@ var require_pool_base = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/diagnostics.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/diagnostics.js
var require_diagnostics = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/diagnostics.js"(exports2, module2) {
"use strict";
var diagnosticsChannel = require("node:diagnostics_channel");
var util = require("node:util");
@@ -5782,36 +5946,36 @@ var require_diagnostics = __commonJS({
const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
const {
- connectParams: { version: version3, protocol, port, host }
+ connectParams: { version: version2, protocol, port, host }
} = evt;
debuglog(
"connecting to %s using %s%s",
`${host}${port ? `:${port}` : ""}`,
protocol,
- version3
+ version2
);
});
diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
const {
- connectParams: { version: version3, protocol, port, host }
+ connectParams: { version: version2, protocol, port, host }
} = evt;
debuglog(
"connected to %s using %s%s",
`${host}${port ? `:${port}` : ""}`,
protocol,
- version3
+ version2
);
});
diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
const {
- connectParams: { version: version3, protocol, port, host },
+ connectParams: { version: version2, protocol, port, host },
error
} = evt;
debuglog(
"connection to %s using %s%s errored - %s",
`${host}${port ? `:${port}` : ""}`,
protocol,
- version3,
+ version2,
error.message
);
});
@@ -5860,31 +6024,31 @@ var require_diagnostics = __commonJS({
const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
const {
- connectParams: { version: version3, protocol, port, host }
+ connectParams: { version: version2, protocol, port, host }
} = evt;
debuglog(
"connecting to %s%s using %s%s",
host,
port ? `:${port}` : "",
protocol,
- version3
+ version2
);
});
diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
const {
- connectParams: { version: version3, protocol, port, host }
+ connectParams: { version: version2, protocol, port, host }
} = evt;
debuglog(
"connected to %s%s using %s%s",
host,
port ? `:${port}` : "",
protocol,
- version3
+ version2
);
});
diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
const {
- connectParams: { version: version3, protocol, port, host },
+ connectParams: { version: version2, protocol, port, host },
error
} = evt;
debuglog(
@@ -5892,7 +6056,7 @@ var require_diagnostics = __commonJS({
host,
port ? `:${port}` : "",
protocol,
- version3,
+ version2,
error.message
);
});
@@ -5934,9 +6098,9 @@ var require_diagnostics = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/request.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/request.js
var require_request = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/request.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/request.js"(exports2, module2) {
"use strict";
var {
InvalidArgumentError,
@@ -6258,9 +6422,9 @@ var require_request = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/util/timers.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/util/timers.js
var require_timers = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/util/timers.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/util/timers.js"(exports2, module2) {
"use strict";
var fastNow = 0;
var RESOLUTION_MS = 1e3;
@@ -6489,16 +6653,16 @@ var require_timers = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/connect.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/connect.js
var require_connect = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/core/connect.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/core/connect.js"(exports2, module2) {
"use strict";
var net = require("node:net");
var assert5 = require("node:assert");
var util = require_util();
var { InvalidArgumentError, ConnectTimeoutError } = require_errors();
var timers = require_timers();
- function noop2() {
+ function noop3() {
}
var tls;
var SessionCache;
@@ -6623,7 +6787,7 @@ var require_connect = __commonJS({
}
var setupConnectTimeout = process.platform === "win32" ? (socketWeakRef, opts) => {
if (!opts.timeout) {
- return noop2;
+ return noop3;
}
let s1 = null;
let s2 = null;
@@ -6639,7 +6803,7 @@ var require_connect = __commonJS({
};
} : (socketWeakRef, opts) => {
if (!opts.timeout) {
- return noop2;
+ return noop3;
}
let s1 = null;
const fastTimer = timers.setFastTimeout(() => {
@@ -6669,9 +6833,9 @@ var require_connect = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/llhttp/utils.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/llhttp/utils.js
var require_utils = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/llhttp/utils.js"(exports2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/llhttp/utils.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.enumToMap = void 0;
@@ -6689,9 +6853,9 @@ var require_utils = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/llhttp/constants.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/llhttp/constants.js
var require_constants3 = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/llhttp/constants.js"(exports2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/llhttp/constants.js"(exports2) {
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.SPECIAL_HEADERS = exports2.HEADER_STATE = exports2.MINOR = exports2.MAJOR = exports2.CONNECTION_TOKEN_CHARS = exports2.HEADER_CHARS = exports2.TOKEN = exports2.STRICT_TOKEN = exports2.HEX = exports2.URL_CHAR = exports2.STRICT_URL_CHAR = exports2.USERINFO_CHARS = exports2.MARK = exports2.ALPHANUM = exports2.NUM = exports2.HEX_MAP = exports2.NUM_MAP = exports2.ALPHA = exports2.FINISH = exports2.H_METHOD_MAP = exports2.METHOD_MAP = exports2.METHODS_RTSP = exports2.METHODS_ICE = exports2.METHODS_HTTP = exports2.METHODS = exports2.LENIENT_FLAGS = exports2.FLAGS = exports2.TYPE = exports2.ERROR = void 0;
@@ -7010,27 +7174,27 @@ var require_constants3 = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js
var require_llhttp_wasm = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports2, module2) {
"use strict";
var { Buffer: Buffer3 } = require("node:buffer");
module2.exports = Buffer3.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxB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AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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CABB3AgLii1JbnZhbGlkIGNoYXIgaW4gdXJsIHF1ZXJ5AFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fYm9keQBDb250ZW50LUxlbmd0aCBvdmVyZmxvdwBDaHVuayBzaXplIG92ZXJmbG93AFJlc3BvbnNlIG92ZXJmbG93AEludmFsaWQgbWV0aG9kIGZvciBIVFRQL3gueCByZXF1ZXN0AEludmFsaWQgbWV0aG9kIGZvciBSVFNQL3gueCByZXF1ZXN0AEV4cGVjdGVkIFNPVVJDRSBtZXRob2QgZm9yIElDRS94LnggcmVxdWVzdABJbnZhbGlkIGNoYXIgaW4gdXJsIGZyYWdtZW50IHN0YXJ0AEV4cGVjdGVkIGRvdABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3N0YXR1cwBJbnZhbGlkIHJlc3BvbnNlIHN0YXR1cwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zAFVzZXIgY2FsbGJhY2sgZXJyb3IAYG9uX3Jlc2V0YCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfaGVhZGVyYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9iZWdpbmAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3N0YXR1c19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3ZlcnNpb25fY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl91cmxfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXRob2RfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfZmllbGRfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fbmFtZWAgY2FsbGJhY2sgZXJyb3IAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzZXJ2ZXIASW52YWxpZCBoZWFkZXIgdmFsdWUgY2hhcgBJbnZhbGlkIGhlYWRlciBmaWVsZCBjaGFyAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdmVyc2lvbgBJbnZhbGlkIG1pbm9yIHZlcnNpb24ASW52YWxpZCBtYWpvciB2ZXJzaW9uAEV4cGVjdGVkIHNwYWNlIGFmdGVyIHZlcnNpb24ARXhwZWN0ZWQgQ1JMRiBhZnRlciB2ZXJzaW9uAEludmFsaWQgSFRUUCB2ZXJzaW9uAEludmFsaWQgaGVhZGVyIHRva2VuAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fdXJsAEludmFsaWQgY2hhcmFjdGVycyBpbiB1cmwAVW5leHBlY3RlZCBzdGFydCBjaGFyIGluIHVybABEb3VibGUgQCBpbiB1cmwARW1wdHkgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyYWN0ZXIgaW4gQ29udGVudC1MZW5ndGgARHVwbGljYXRlIENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhciBpbiB1cmwgcGF0aABDb250ZW50LUxlbmd0aCBjYW4ndCBiZSBwcmVzZW50IHdpdGggVHJhbnNmZXItRW5jb2RpbmcASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgc2l6ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl92YWx1ZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHZhbHVlAE1pc3NpbmcgZXhwZWN0ZWQgTEYgYWZ0ZXIgaGVhZGVyIHZhbHVlAEludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYCBoZWFkZXIgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZSB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlZCB2YWx1ZQBQYXVzZWQgYnkgb25faGVhZGVyc19jb21wbGV0ZQBJbnZhbGlkIEVPRiBzdGF0ZQBvbl9yZXNldCBwYXVzZQBvbl9jaHVua19oZWFkZXIgcGF1c2UAb25fbWVzc2FnZV9iZWdpbiBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fdmFsdWUgcGF1c2UAb25fc3RhdHVzX2NvbXBsZXRlIHBhdXNlAG9uX3ZlcnNpb25fY29tcGxldGUgcGF1c2UAb25fdXJsX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl92YWx1ZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXNzYWdlX2NvbXBsZXRlIHBhdXNlAG9uX21ldGhvZF9jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfZmllbGRfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUgcGF1c2UAVW5leHBlY3RlZCBzcGFjZSBhZnRlciBzdGFydCBsaW5lAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX25hbWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBuYW1lAFBhdXNlIG9uIENPTk5FQ1QvVXBncmFkZQBQYXVzZSBvbiBQUkkvVXBncmFkZQBFeHBlY3RlZCBIVFRQLzIgQ29ubmVjdGlvbiBQcmVmYWNlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fbWV0aG9kAEV4cGVjdGVkIHNwYWNlIGFmdGVyIG1ldGhvZABTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2hlYWRlcl9maWVsZABQYXVzZWQASW52YWxpZCB3b3JkIGVuY291bnRlcmVkAEludmFsaWQgbWV0aG9kIGVuY291bnRlcmVkAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2NoZW1hAFJlcXVlc3QgaGFzIGludmFsaWQgYFRyYW5zZmVyLUVuY29kaW5nYABTV0lUQ0hfUFJPWFkAVVNFX1BST1hZAE1LQUNUSVZJVFkAVU5QUk9DRVNTQUJMRV9FTlRJVFkAQ09QWQBNT1ZFRF9QRVJNQU5FTlRMWQBUT09fRUFSTFkATk9USUZZAEZBSUxFRF9ERVBFTkRFTkNZAEJBRF9HQVRFV0FZAFBMQVkAUFVUAENIRUNLT1VUAEdBVEVXQVlfVElNRU9VVABSRVFVRVNUX1RJTUVPVVQATkVUV09SS19DT05ORUNUX1RJTUVPVVQAQ09OTkVDVElPTl9USU1FT1VUAExPR0lOX1RJTUVPVVQATkVUV09SS19SRUFEX1RJTUVPVVQAUE9TVABNSVNESVJFQ1RFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX0xPQURfQkFMQU5DRURfUkVRVUVTVABCQURfUkVRVUVTVABIVFRQX1JFUVVFU1RfU0VOVF9UT19IVFRQU19QT1JUAFJFUE9SVABJTV9BX1RFQVBPVABSRVNFVF9DT05URU5UAE5PX0NPTlRFTlQAUEFSVElBTF9DT05URU5UAEhQRV9JTlZBTElEX0NPTlNUQU5UAEhQRV9DQl9SRVNFVABHRVQASFBFX1NUUklDVABDT05GTElDVABURU1QT1JBUllfUkVESVJFQ1QAUEVSTUFORU5UX1JFRElSRUNUAENPTk5FQ1QATVVMVElfU1RBVFVTAEhQRV9JTlZBTElEX1NUQVRVUwBUT09fTUFOWV9SRVFVRVNUUwBFQVJMWV9ISU5UUwBVTkFWQUlMQUJMRV9GT1JfTEVHQUxfUkVBU09OUwBPUFRJT05TAFNXSVRDSElOR19QUk9UT0NPTFMAVkFSSUFOVF9BTFNPX05FR09USUFURVMATVVMVElQTEVfQ0hPSUNFUwBJTlRFUk5BTF9TRVJWRVJfRVJST1IAV0VCX1NFUlZFUl9VTktOT1dOX0VSUk9SAFJBSUxHVU5fRVJST1IASURFTlRJVFlfUFJPVklERVJfQVVUSEVOVElDQVRJT05fRVJST1IAU1NMX0NFUlRJRklDQVRFX0VSUk9SAElOVkFMSURfWF9GT1JXQVJERURfRk9SAFNFVF9QQVJBTUVURVIAR0VUX1BBUkFNRVRFUgBIUEVfVVNFUgBTRUVfT1RIRVIASFBFX0NCX0NIVU5LX0hFQURFUgBNS0NBTEVOREFSAFNFVFVQAFdFQl9TRVJWRVJfSVNfRE9XTgBURUFSRE9XTgBIUEVfQ0xPU0VEX0NPTk5FQ1RJT04ASEVVUklTVElDX0VYUElSQVRJT04ARElTQ09OTkVDVEVEX09QRVJBVElPTgBOT05fQVVUSE9SSVRBVElWRV9JTkZPUk1BVElPTgBIUEVfSU5WQUxJRF9WRVJTSU9OAEhQRV9DQl9NRVNTQUdFX0JFR0lOAFNJVEVfSVNfRlJPWkVOAEhQRV9JTlZBTElEX0hFQURFUl9UT0tFTgBJTlZBTElEX1RPS0VOAEZPUkJJRERFTgBFTkhBTkNFX1lPVVJfQ0FMTQBIUEVfSU5WQUxJRF9VUkwAQkxPQ0tFRF9CWV9QQVJFTlRBTF9DT05UUk9MAE1LQ09MAEFDTABIUEVfSU5URVJOQUwAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRV9VTk9GRklDSUFMAEhQRV9PSwBVTkxJTksAVU5MT0NLAFBSSQBSRVRSWV9XSVRIAEhQRV9JTlZBTElEX0NPTlRFTlRfTEVOR1RIAEhQRV9VTkVYUEVDVEVEX0NPTlRFTlRfTEVOR1RIAEZMVVNIAFBST1BQQVRDSABNLVNFQVJDSABVUklfVE9PX0xPTkcAUFJPQ0VTU0lORwBNSVNDRUxMQU5FT1VTX1BFUlNJU1RFTlRfV0FSTklORwBNSVNDRUxMQU5FT1VTX1dBUk5JTkcASFBFX0lOVkFMSURfVFJBTlNGRVJfRU5DT0RJTkcARXhwZWN0ZWQgQ1JMRgBIUEVfSU5WQUxJRF9DSFVOS19TSVpFAE1PVkUAQ09OVElOVUUASFBFX0NCX1NUQVRVU19DT01QTEVURQBIUEVfQ0JfSEVBREVSU19DT01QTEVURQBIUEVfQ0JfVkVSU0lPTl9DT01QTEVURQBIUEVfQ0JfVVJMX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19DT01QTEVURQBIUEVfQ0JfSEVBREVSX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9OQU1FX0NPTVBMRVRFAEhQRV9DQl9NRVNTQUdFX0NPTVBMRVRFAEhQRV9DQl9NRVRIT0RfQ09NUExFVEUASFBFX0NCX0hFQURFUl9GSUVMRF9DT01QTEVURQBERUxFVEUASFBFX0lOVkFMSURfRU9GX1NUQVRFAElOVkFMSURfU1NMX0NFUlRJRklDQVRFAFBBVVNFAE5PX1JFU1BPTlNFAFVOU1VQUE9SVEVEX01FRElBX1RZUEUAR09ORQBOT1RfQUNDRVBUQUJMRQBTRVJWSUNFX1VOQVZBSUxBQkxFAFJBTkdFX05PVF9TQVRJU0ZJQUJMRQBPUklHSU5fSVNfVU5SRUFDSEFCTEUAUkVTUE9OU0VfSVNfU1RBTEUAUFVSR0UATUVSR0UAUkVRVUVTVF9IRUFERVJfRklFTERTX1RPT19MQVJHRQBSRVFVRVNUX0hFQURFUl9UT09fTEFSR0UAUEFZTE9BRF9UT09fTEFSR0UASU5TVUZGSUNJRU5UX1NUT1JBR0UASFBFX1BBVVNFRF9VUEdSQURFAEhQRV9QQVVTRURfSDJfVVBHUkFERQBTT1VSQ0UAQU5OT1VOQ0UAVFJBQ0UASFBFX1VORVhQRUNURURfU1BBQ0UAREVTQ1JJQkUAVU5TVUJTQ1JJQkUAUkVDT1JEAEhQRV9JTlZBTElEX01FVEhPRABOT1RfRk9VTkQAUFJPUEZJTkQAVU5CSU5EAFJFQklORABVTkFVVEhPUklaRUQATUVUSE9EX05PVF9BTExPV0VEAEhUVFBfVkVSU0lPTl9OT1RfU1VQUE9SVEVEAEFMUkVBRFlfUkVQT1JURUQAQUNDRVBURUQATk9UX0lNUExFTUVOVEVEAExPT1BfREVURUNURUQASFBFX0NSX0VYUEVDVEVEAEhQRV9MRl9FWFBFQ1RFRABDUkVBVEVEAElNX1VTRUQASFBFX1BBVVNFRABUSU1FT1VUX09DQ1VSRUQAUEFZTUVOVF9SRVFVSVJFRABQUkVDT05ESVRJT05fUkVRVUlSRUQAUFJPWFlfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATkVUV09SS19BVVRIRU5USUNBVElPTl9SRVFVSVJFRABMRU5HVEhfUkVRVUlSRUQAU1NMX0NFUlRJRklDQVRFX1JFUVVJUkVEAFVQR1JBREVfUkVRVUlSRUQAUEFHRV9FWFBJUkVEAFBSRUNPTkRJVElPTl9GQUlMRUQARVhQRUNUQVRJT05fRkFJTEVEAFJFVkFMSURBVElPTl9GQUlMRUQAU1NMX0hBTkRTSEFLRV9GQUlMRUQATE9DS0VEAFRSQU5TRk9STUFUSU9OX0FQUExJRUQATk9UX01PRElGSUVEAE5PVF9FWFRFTkRFRABCQU5EV0lEVEhfTElNSVRfRVhDRUVERUQAU0lURV9JU19PVkVSTE9BREVEAEhFQUQARXhwZWN0ZWQgSFRUUC8AAF4TAAAmEwAAMBAAAPAXAACdEwAAFRIAADkXAADwEgAAChAAAHUSAACtEgAAghMAAE8UAAB/EAAAoBUAACMUAACJEgAAixQAAE0VAADUEQAAzxQAABAYAADJFgAA3BYAAMERAADgFwAAuxQAAHQUAAB8FQAA5RQAAAgXAAAfEAAAZRUAAKMUAAAoFQAAAhUAAJkVAAAsEAAAixkAAE8PAADUDgAAahAAAM4QAAACFwAAiQ4AAG4TAAAcEwAAZhQAAFYXAADBEwAAzRMAAGwTAABoFwAAZhcAAF8XAAAiEwAAzg8AAGkOAADYDgAAYxYAAMsTAACqDgAAKBcAACYXAADFEwAAXRYAAOgRAABnEwAAZRMAAPIWAABzEwAAHRcAAPkWAADzEQAAzw4AAM4VAAAMEgAAsxEAAKURAABhEAAAMhcAALsTAEH5NQsBAQBBkDYL4AEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB/TcLAQEAQZE4C14CAwICAgICAAACAgACAgACAgICAgICAgICAAQAAAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEH9OQsBAQBBkToLXgIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAQfA7Cw1sb3NlZWVwLWFsaXZlAEGJPAsBAQBBoDwL4AEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBiT4LAQEAQaA+C+cBAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAEGwwAALXwEBAAEBAQEBAAABAQABAQABAQEBAQEBAQEBAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAEGQwgALIWVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgBBwMIACy1yYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AQfnCAAsFAQIAAQMAQZDDAAvgAQQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH5xAALBQECAAEDAEGQxQAL4AEEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cYACwQBAAABAEGRxwAL3wEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAEH6yAALBAEAAAIAQZDJAAtfAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAQfrKAAsEAQAAAQBBkMsACwEBAEGqywALQQIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAEH6zAALBAEAAAEAQZDNAAsBAQBBms0ACwYCAAAAAAIAQbHNAAs6AwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB8M4AC5YBTk9VTkNFRUNLT1VUTkVDVEVURUNSSUJFTFVTSEVURUFEU0VBUkNIUkdFQ1RJVklUWUxFTkRBUlZFT1RJRllQVElPTlNDSFNFQVlTVEFUQ0hHRU9SRElSRUNUT1JUUkNIUEFSQU1FVEVSVVJDRUJTQ1JJQkVBUkRPV05BQ0VJTkROS0NLVUJTQ1JJQkVIVFRQL0FEVFAv", "base64");
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
var require_llhttp_simd_wasm = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports2, module2) {
"use strict";
var { Buffer: Buffer3 } = require("node:buffer");
module2.exports = Buffer3.from("AGFzbQEAAAABJwdgAX8Bf2ADf39/AX9gAX8AYAJ/fwBgBH9/f38Bf2AAAGADf39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQAEA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAAy0sBQYAAAIAAAAAAAACAQIAAgICAAADAAAAAAMDAwMBAQEBAQEBAQEAAAIAAAAEBQFwARISBQMBAAIGCAF/AUGA1AQLB9EFIgZtZW1vcnkCAAtfaW5pdGlhbGl6ZQAIGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtsbGh0dHBfaW5pdAAJGGxsaHR0cF9zaG91bGRfa2VlcF9hbGl2ZQAvDGxsaHR0cF9hbGxvYwALBm1hbGxvYwAxC2xsaHR0cF9mcmVlAAwEZnJlZQAMD2xsaHR0cF9nZXRfdHlwZQANFWxsaHR0cF9nZXRfaHR0cF9tYWpvcgAOFWxsaHR0cF9nZXRfaHR0cF9taW5vcgAPEWxsaHR0cF9nZXRfbWV0aG9kABAWbGxodHRwX2dldF9zdGF0dXNfY29kZQAREmxsaHR0cF9nZXRfdXBncmFkZQASDGxsaHR0cF9yZXNldAATDmxsaHR0cF9leGVjdXRlABQUbGxodHRwX3NldHRpbmdzX2luaXQAFQ1sbGh0dHBfZmluaXNoABYMbGxodHRwX3BhdXNlABcNbGxodHRwX3Jlc3VtZQAYG2xsaHR0cF9yZXN1bWVfYWZ0ZXJfdXBncmFkZQAZEGxsaHR0cF9nZXRfZXJybm8AGhdsbGh0dHBfZ2V0X2Vycm9yX3JlYXNvbgAbF2xsaHR0cF9zZXRfZXJyb3JfcmVhc29uABwUbGxodHRwX2dldF9lcnJvcl9wb3MAHRFsbGh0dHBfZXJybm9fbmFtZQAeEmxsaHR0cF9tZXRob2RfbmFtZQAfEmxsaHR0cF9zdGF0dXNfbmFtZQAgGmxsaHR0cF9zZXRfbGVu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PgtBhwEMPQtBiAEMPAtBiQEMOwtBigEMOgtBiwEMOQtBjAEMOAtBjQEMNwtBjgEMNgtBjwEMNQtBkAEMNAtBkQEMMwtBkgEMMgtBkwEMMQtBlAEMMAtBlQEMLwtBlgEMLgtBlwEMLQtBmAEMLAtBmQEMKwtBmgEMKgtBmwEMKQtBnAEMKAtBnQEMJwtBngEMJgtBnwEMJQtBoAEMJAtBoQEMIwtBogEMIgtBowEMIQtBpAEMIAtBpQEMHwtBpgEMHgtBpwEMHQtBqAEMHAtBqQEMGwtBqgEMGgtBqwEMGQtBrAEMGAtBrQEMFwtBrgEMFgtBAQwVC0GvAQwUC0GwAQwTC0GxAQwSC0GzAQwRC0GyAQwQC0G0AQwPC0G1AQwOC0G2AQwNC0G3AQwMC0G4AQwLC0G5AQwKC0G6AQwJC0G7AQwIC0HGAQwHC0G8AQwGC0G9AQwFC0G+AQwEC0G/AQwDC0HAAQwCC0HCAQwBC0HBAQshAwNAAkACQAJAAkACQAJAAkACQAJAIAICfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAgJ/AkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACfwJAAkACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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iQEhAwykAgtBASABLQAAQd8ARw1nGiABQQFqIQEMXgtBigEhAyABIARGDaICIAIoAgAiACAEIAFraiEFIAEgAGtBAWohBgNAIAEtAAAgAEGMzwBqLQAARw1kIABBAUYN+gEgAEEBaiEAIAQgAUEBaiIBRw0ACyACIAU2AgAMogILQYsBIQMgASAERg2hAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGOzwBqLQAARw1kIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyiAgsgAkEANgIAIAZBAWohAUECDGULQYwBIQMgASAERg2gAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHwzwBqLQAARw1jIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyhAgsgAkEANgIAIAZBAWohAUEfDGQLQY0BIQMgASAERg2fAiACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEHyzwBqLQAARw1iIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAygAgsgAkEANgIAIAZBAWohAUEJDGMLIAEgBEYEQEGOASEDDJ8CCwJAAkAgAS0AAEHJAGsOBwBiYmJiYgFiCyABQQFqIQFB+AAhAwyGAgsgAUEBaiEBQfkAIQMMhQILQY8BIQMgASAERg2dAiACKAIAIgAgBCABa2ohBSABIABrQQVqIQYCQANAIAEtAAAgAEGRzwBqLQAARw1gIABBBUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAyeAgsgAkEANgIAIAZBAWohAUEYDGELQZABIQMgASAERg2cAiACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGXzwBqLQAARw1fIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAydAgsgAkEANgIAIAZBAWohAUEXDGALQZEBIQMgASAERg2bAiACKAIAIgAgBCABa2ohBSABIABrQQZqIQYCQANAIAEtAAAgAEGazwBqLQAARw1eIABBBkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAycAgsgAkEANgIAIAZBAWohAUEV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JSIARQ0RIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMtAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0gIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMswELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0iIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMsgELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0OIAJB5QA2AhwgAiABNgIUIAIgADYCDEEAIQMMsQELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0dIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMsAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0fIAJB0gA2AhwgAiABNgIUIAIgADYCDEEAIQMMrwELIABBP0cNASABQQFqCyEBQQUhAwyUAQtBACEDIAJBADYCHCACIAE2AhQgAkH9EjYCECACQQc2AgwMrAELIAJBADYCHCACIAE2AhQgAkHcCDYCECACQQc2AgxBACEDDKsBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNByACQeUANgIcIAIgATYCFCACIAA2AgxBACEDDKoBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNFiACQdMANgIcIAIgATYCFCACIAA2AgxBACEDDKkBCyACKAIEIQAgAkEANgIEIAIgACABECUiAEUNGCACQdIANgIcIAIgATYCFCACIAA2AgxBACEDDKgBCyACQQA2AhwgAiABNgIUIAJBxgo2AhAgAkEHNgIMQQAhAwynAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQMgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwymAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRIgAkHTADYCHCACIAE2AhQgAiAANgIMQQAhAwylAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDRQgAkHSADYCHCACIAE2AhQgAiAANgIMQQAhAwykAQsgAigCBCEAIAJBADYCBCACIAAgARAlIgBFDQAgAkHlADYCHCACIAE2AhQgAiAANgIMQQAhAwyjAQtB1QAhAwyJAQsgAEEVRwRAIAJBADYCHCACIAE2AhQgAkG5DTYCECACQRo2AgxBACEDDKIBCyACQeQANgIcIAIgATYCFCACQeMXNgIQIAJBFTYCDEEAIQMMoQELIAJBADYCACAGQQFqIQEgAi0AKSIAQSNrQQtJDQQCQCAAQQZLDQBBASAAdEHKAHFFDQAMBQtBACEDIAJBADYCHCACIAE2AhQgAkH3CTYCECACQQg2AgwMoAELIAJBADYCACAGQQFqIQEgAi0AKUEhRg0DIAJBADYCHCACIAE2AhQgAkGbCjYCECACQQg2AgxBACEDDJ8BCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJBkDM2AhAgAkEINgIMDJ0BCyACQQA2AgAgBkEBaiEBIAItAClBI0kNACACQQA2AhwgAiABNgIUIAJB0wk2AhAgAkEINgIMQQAhAwycAQtB0QAhAwyCAQsgAS0AAEEwayIAQf8BcUEKSQRAIAIgADoAKiABQQFqIQFBzwAhAwyCAQsgAigCBCEAIAJBADYCBCACIAAgARAoIgBFDYYBIAJB3gA2AhwgAiABNgIUIAIgADYCDEEAIQMMmgELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ2GASACQdwANgIcIAIgATYCFCACIAA2AgxBACEDDJkBCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMhwELIAJB2gA2AhwgAiAFNgIUIAIgADYCDAyYAQtBACEBQQEhAwsgAiADOgArIAVBAWohAwJAAkACQCACLQAtQRBxDQACQAJAAkAgAi0AKg4DAQACBAsgBkUNAwwCCyAADQEMAgsgAUUNAQsgAigCBCEAIAJBADYCBCACIAAgAxAoIgBFBEAgAyEBDAILIAJB2AA2AhwgAiADNgIUIAIgADYCDEEAIQMMmAELIAIoAgQhACACQQA2AgQgAiAAIAMQKCIARQRAIAMhAQyHAQsgAkHZADYCHCACIAM2AhQgAiAANgIMQQAhAwyXAQtBzAAhAwx9CyAAQRVHBEAgAkEANgIcIAIgATYCFCACQZQNNgIQIAJBITYCDEEAIQMMlgELIAJB1wA2AhwgAiABNgIUIAJByRc2AhAgAkEVNgIMQQAhAwyVAQtBACEDIAJBADYCHCACIAE2AhQgAkGAETYCECACQQk2AgwMlAELIAIoAgQhACACQQA2AgQgAiAAIAEQJSIARQ0AIAJB0wA2AhwgAiABNgIUIAIgADYCDEEAIQMMkwELQckAIQMMeQsgAkEANgIcIAIgATYCFCACQcEoNgIQIAJBBzYCDCACQQA2AgBBACEDDJEBCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAlIgBFDQAgAkHSADYCHCACIAE2AhQgAiAANgIMDJABC0HIACEDDHYLIAJBADYCACAFIQELIAJBgBI7ASogAUEBaiEBQQAhAAJAIAIoAjgiA0UNACADKAIwIgNFDQAgAiADEQAAIQALIAANAQtBxwAhAwxzCyAAQRVGBEAgAkHRADYCHCACIAE2AhQgAkHjFzYCECACQRU2AgxBACEDDIwBC0EAIQMgAkEANgIcIAIgATYCFCACQbkNNgIQIAJBGjYCDAyLAQtBACEDIAJBADYCHCACIAE2AhQgAkGgGTYCECACQR42AgwMigELIAEtAABBOkYEQCACKAIEIQBBACEDIAJBADYCBCACIAAgARApIgBFDQEgAkHDADYCHCACIAA2AgwgAiABQQFqNgIUDIoBC0EAIQMgAkEANgIcIAIgATYCFCACQbERNgIQIAJBCjYCDAyJAQsgAUEBaiEBQTshAwxvCyACQcMANgIcIAIgADYCDCACIAFBAWo2AhQMhwELQQAhAyACQQA2AhwgAiABNgIUIAJB8A42AhAgAkEcNgIMDIYBCyACIAIvATBBEHI7ATAMZgsCQCACLwEwIgBBCHFFDQAgAi0AKEEBRw0AIAItAC1BCHFFDQMLIAIgAEH3+wNxQYAEcjsBMAwECyABIARHBEACQANAIAEtAABBMGsiAEH/AXFBCk8EQEE1IQMMbgsgAikDICIKQpmz5syZs+bMGVYNASACIApCCn4iCjcDICAKIACtQv8BgyILQn+FVg0BIAIgCiALfDcDICAEIAFBAWoiAUcNAAtBOSEDDIUBCyACKAIEIQBBACEDIAJBADYCBCACIAAgAUEBaiIBECoiAA0MDHcLQTkhAwyDAQsgAi0AMEEgcQ0GQcUBIQMMaQtBACEDIAJBADYCBCACIAEgARAqIgBFDQQgAkE6NgIcIAIgADYCDCACIAFBAWo2AhQMgQELIAItAChBAUcNACACLQAtQQhxRQ0BC0E3IQMMZgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIABEAgAkE7NgIcIAIgADYCDCACIAFBAWo2AhQMfwsgAUEBaiEBDG4LIAJBCDoALAwECyABQQFqIQEMbQtBACEDIAJBADYCHCACIAE2AhQgAkHkEjYCECACQQQ2AgwMewsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ1sIAJBNzYCHCACIAE2AhQgAiAANgIMDHoLIAIgAi8BMEEgcjsBMAtBMCEDDF8LIAJBNjYCHCACIAE2AhQgAiAANgIMDHcLIABBLEcNASABQQFqIQBBASEBAkACQAJAAkACQCACLQAsQQVrDgQDAQIEAAsgACEBDAQLQQIhAQwBC0EEIQELIAJBAToALCACIAIvATAgAXI7ATAgACEBDAELIAIgAi8BMEEIcjsBMCAAIQELQTkhAwxcCyACQQA6ACwLQTQhAwxaCyABIARGBEBBLSEDDHMLAkACQANAAkAgAS0AAEEKaw4EAgAAAwALIAQgAUEBaiIBRw0AC0EtIQMMdAsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIARQ0CIAJBLDYCHCACIAE2AhQgAiAANgIMDHMLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAS0AAEENRgRAIAIoAgQhAEEAIQMgAkEANgIEIAIgACABECoiAEUEQCABQQFqIQEMAgsgAkEsNgIcIAIgADYCDCACIAFBAWo2AhQMcgsgAi0ALUEBcQRAQcQBIQMMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKiIADQEMZQtBLyEDDFcLIAJBLjYCHCACIAE2AhQgAiAANgIMDG8LQQAhAyACQQA2AhwgAiABNgIUIAJB8BQ2AhAgAkEDNgIMDG4LQQEhAwJAAkACQAJAIAItACxBBWsOBAMBAgAECyACIAIvATBBCHI7ATAMAwtBAiEDDAELQQQhAwsgAkEBOgAsIAIgAi8BMCADcjsBMAtBKiEDDFMLQQAhAyACQQA2AhwgAiABNgIUIAJB4Q82AhAgAkEKNgIMDGsLQQEhAwJAAkACQAJAAkACQCACLQAsQQJrDgcFBAQDAQIABAsgAiACLwEwQQhyOwEwDAMLQQIhAwwBC0EEIQMLIAJBAToALCACIAIvATAgA3I7ATALQSshAwxSC0EAIQMgAkEANgIcIAIgATYCFCACQasSNgIQIAJBCzYCDAxqC0EAIQMgAkEANgIcIAIgATYCFCACQf0NNgIQIAJBHTYCDAxpCyABIARHBEADQCABLQAAQSBHDUggBCABQQFqIgFHDQALQSUhAwxpC0ElIQMMaAsgAi0ALUEBcQRAQcMBIQMMTwsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQKSIABEAgAkEmNgIcIAIgADYCDCACIAFBAWo2AhQMaAsgAUEBaiEBDFwLIAFBAWohASACLwEwIgBBgAFxBEBBACEAAkAgAigCOCIDRQ0AIAMoAlQiA0UNACACIAMRAAAhAAsgAEUNBiAAQRVHDR8gAkEFNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMZwsCQCAAQaAEcUGgBEcNACACLQAtQQJxDQBBACEDIAJBADYCHCACIAE2AhQgAkGWEzYCECACQQQ2AgwMZwsgAgJ/IAIvATBBFHFBFEYEQEEBIAItAChBAUYNARogAi8BMkHlAEYMAQsgAi0AKUEFRgs6AC5BACEAAkAgAigCOCIDRQ0AIAMoAiQiA0UNACACIAMRAAAhAAsCQAJAAkACQAJAIAAOFgIBAAQEBAQEBAQEBAQEBAQEBAQEBAMECyACQQE6AC4LIAIgAi8BMEHAAHI7ATALQSchAwxPCyACQSM2AhwgAiABNgIUIAJBpRY2AhAgAkEVNgIMQQAhAwxnC0EAIQMgAkEANgIcIAIgATYCFCACQdULNgIQIAJBETYCDAxmC0EAIQACQCACKAI4IgNFDQAgAygCLCIDRQ0AIAIgAxEAACEACyAADQELQQ4hAwxLCyAAQRVGBEAgAkECNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMZAtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMYwtBACEDIAJBADYCHCACIAE2AhQgAkGqHDYCECACQQ82AgwMYgsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEgCqdqIgEQKyIARQ0AIAJBBTYCHCACIAE2AhQgAiAANgIMDGELQQ8hAwxHC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxfC0IBIQoLIAFBAWohAQJAIAIpAyAiC0L//////////w9YBEAgAiALQgSGIAqENwMgDAELQQAhAyACQQA2AhwgAiABNgIUIAJBrQk2AhAgAkEMNgIMDF4LQSQhAwxEC0EAIQMgAkEANgIcIAIgATYCFCACQc0TNgIQIAJBDDYCDAxcCyACKAIEIQBBACEDIAJBADYCBCACIAAgARAsIgBFBEAgAUEBaiEBDFILIAJBFzYCHCACIAA2AgwgAiABQQFqNgIUDFsLIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQRY2AhwgAiAANgIMIAIgAUEBajYCFAxbC0EfIQMMQQtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMWQsgAigCBCEAQQAhAyACQQA2AgQgAiAAIAEQLSIARQRAIAFBAWohAQxQCyACQRQ2AhwgAiAANgIMIAIgAUEBajYCFAxYCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABEC0iAEUEQCABQQFqIQEMAQsgAkETNgIcIAIgADYCDCACIAFBAWo2AhQMWAtBHiEDDD4LQQAhAyACQQA2AhwgAiABNgIUIAJBxgw2AhAgAkEjNgIMDFYLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABEC0iAEUEQCABQQFqIQEMTgsgAkERNgIcIAIgADYCDCACIAFBAWo2AhQMVQsgAkEQNgIcIAIgATYCFCACIAA2AgwMVAtBACEDIAJBADYCHCACIAE2AhQgAkHGDDYCECACQSM2AgwMUwtBACEDIAJBADYCHCACIAE2AhQgAkHAFTYCECACQQI2AgwMUgsgAigCBCEAQQAhAyACQQA2AgQCQCACIAAgARAtIgBFBEAgAUEBaiEBDAELIAJBDjYCHCACIAA2AgwgAiABQQFqNgIUDFILQRshAww4C0EAIQMgAkEANgIcIAIgATYCFCACQcYMNgIQIAJBIzYCDAxQCyACKAIEIQBBACEDIAJBADYCBAJAIAIgACABECwiAEUEQCABQQFqIQEMAQsgAkENNgIcIAIgADYCDCACIAFBAWo2AhQMUAtBGiEDDDYLQQAhAyACQQA2AhwgAiABNgIUIAJBmg82AhAgAkEiNgIMDE4LIAIoAgQhAEEAIQMgAkEANgIEAkAgAiAAIAEQLCIARQRAIAFBAWohAQwBCyACQQw2AhwgAiAANgIMIAIgAUEBajYCFAxOC0EZIQMMNAtBACEDIAJBADYCHCACIAE2AhQgAkGaDzYCECACQSI2AgwMTAsgAEEVRwRAQQAhAyACQQA2AhwgAiABNgIUIAJBgww2AhAgAkETNgIMDEwLIAJBCjYCHCACIAE2AhQgAkHkFjYCECACQRU2AgxBACEDDEsLIAIoAgQhAEEAIQMgAkEANgIEIAIgACABIAqnaiIBECsiAARAIAJBBzYCHCACIAE2AhQgAiAANgIMDEsLQRMhAwwxCyAAQRVHBEBBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMSgsgAkEeNgIcIAIgATYCFCACQfkXNgIQIAJBFTYCDEEAIQMMSQtBACEAAkAgAigCOCIDRQ0AIAMoAiwiA0UNACACIAMRAAAhAAsgAEUNQSAAQRVGBEAgAkEDNgIcIAIgATYCFCACQbAYNgIQIAJBFTYCDEEAIQMMSQtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMSAtBACEDIAJBADYCHCACIAE2AhQgAkHaDTYCECACQRQ2AgwMRwtBACEDIAJBADYCHCACIAE2AhQgAkGnDjYCECACQRI2AgwMRgsgAkEAOgAvIAItAC1BBHFFDT8LIAJBADoALyACQQE6ADRBACEDDCsLQQAhAyACQQA2AhwgAkHkETYCECACQQc2AgwgAiABQQFqNgIUDEMLAkADQAJAIAEtAABBCmsOBAACAgACCyAEIAFBAWoiAUcNAAtB3QEhAwxDCwJAAkAgAi0ANEEBRw0AQQAhAAJAIAIoAjgiA0UNACADKAJYIgNFDQAgAiADEQAAIQALIABFDQAgAEEVRw0BIAJB3AE2AhwgAiABNgIUIAJB1RY2AhAgAkEVNgIMQQAhAwxEC0HBASEDDCoLIAJBADYCHCACIAE2AhQgAkHpCzYCECACQR82AgxBACEDDEILAkACQCACLQAoQQFrDgIEAQALQcABIQMMKQtBuQEhAwwoCyACQQI6AC9BACEAAkAgAigCOCIDRQ0AIAMoAgAiA0UNACACIAMRAAAhAAsgAEUEQEHCASEDDCgLIABBFUcEQCACQQA2AhwgAiABNgIUIAJBpAw2AhAgAkEQNgIMQQAhAwxBCyACQdsBNgIcIAIgATYCFCACQfoWNgIQIAJBFTYCDEEAIQMMQAsgASAERgRAQdoBIQMMQAsgAS0AAEHIAEYNASACQQE6ACgLQawBIQMMJQtBvwEhAwwkCyABIARHBEAgAkEQNgIIIAIgATYCBEG+ASEDDCQLQdkBIQMMPAsgASAERgRAQdgBIQMMPAsgAS0AAEHIAEcNBCABQQFqIQFBvQEhAwwiCyABIARGBEBB1wEhAww7CwJAAkAgAS0AAEHFAGsOEAAFBQUFBQUFBQUFBQUFBQEFCyABQQFqIQFBuwEhAwwiCyABQQFqIQFBvAEhAwwhC0HWASEDIAEgBEYNOSACKAIAIgAgBCABa2ohBSABIABrQQJqIQYCQANAIAEtAAAgAEGD0ABqLQAARw0DIABBAkYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw6CyACKAIEIQAgAkIANwMAIAIgACAGQQFqIgEQJyIARQRAQcYBIQMMIQsgAkHVATYCHCACIAE2AhQgAiAANgIMQQAhAww5C0HUASEDIAEgBEYNOCACKAIAIgAgBCABa2ohBSABIABrQQFqIQYCQANAIAEtAAAgAEGB0ABqLQAARw0CIABBAUYNASAAQQFqIQAgBCABQQFqIgFHDQALIAIgBTYCAAw5CyACQYEEOwEoIAIoAgQhACACQgA3AwAgAiAAIAZBAWoiARAnIgANAwwCCyACQQA2AgALQQAhAyACQQA2AhwgAiABNgIUIAJB2Bs2AhAgAkEINgIMDDYLQboBIQMMHAsgAkHTATYCHCACIAE2AhQgAiAANgIMQQAhAww0C0EAIQACQCACKAI4IgNFDQAgAygCOCIDRQ0AIAIgAxEAACEACyAARQ0AIABBFUYNASACQQA2AhwgAiABNgIUIAJBzA42AhAgAkEgNgIMQQAhAwwzC0HkACEDDBkLIAJB+AA2AhwgAiABNgIUIAJByhg2AhAgAkEVNgIMQQAhAwwxC0HSASEDIAQgASIARg0wIAQgAWsgAigCACIBaiEFIAAgAWtBBGohBgJAA0AgAC0AACABQfzPAGotAABHDQEgAUEERg0DIAFBAWohASAEIABBAWoiAEcNAAsgAiAFNgIADDELIAJBADYCHCACIAA2AhQgAkGQMzYCECACQQg2AgwgAkEANgIAQQAhAwwwCyABIARHBEAgAkEONgIIIAIgATYCBEG3ASEDDBcLQdEBIQMMLwsgAkEANgIAIAZBAWohAQtBuAEhAwwUCyABIARGBEBB0AEhAwwtCyABLQAAQTBrIgBB/wFxQQpJBEAgAiAAOgAqIAFBAWohAUG2ASEDDBQLIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0UIAJBzwE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAsgASAERgRAQc4BIQMMLAsCQCABLQAAQS5GBEAgAUEBaiEBDAELIAIoAgQhACACQQA2AgQgAiAAIAEQKCIARQ0VIAJBzQE2AhwgAiABNgIUIAIgADYCDEEAIQMMLAtBtQEhAwwSCyAEIAEiBUYEQEHMASEDDCsLQQAhAEEBIQFBASEGQQAhAwJAAkACQAJAAkACfwJAAkACQAJAAkACQAJAIAUtAABBMGsOCgoJAAECAwQFBggLC0ECDAYLQQMMBQtBBAwEC0EFDAMLQQYMAgtBBwwBC0EICyEDQQAhAUEAIQYMAgtBCSEDQQEhAEEAIQFBACEGDAELQQAhAUEBIQMLIAIgAzoAKyAFQQFqIQMCQAJAIAItAC1BEHENAAJAAkACQCACLQAqDgMBAAIECyAGRQ0DDAILIAANAQwCCyABRQ0BCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMAwsgAkHJATYCHCACIAM2AhQgAiAANgIMQQAhAwwtCyACKAIEIQAgAkEANgIEIAIgACADECgiAEUEQCADIQEMGAsgAkHKATYCHCACIAM2AhQgAiAANgIMQQAhAwwsCyACKAIEIQAgAkEANgIEIAIgACAFECgiAEUEQCAFIQEMFgsgAkHLATYCHCACIAU2AhQgAiAANgIMDCsLQbQBIQMMEQtBACEAAkAgAigCOCIDRQ0AIAMoAjwiA0UNACACIAMRAAAhAAsCQCAABEAgAEEVRg0BIAJBADYCHCACIAE2AhQgAkGUDTYCECACQSE2AgxBACEDDCsLQbIBIQMMEQsgAkHIATYCHCACIAE2AhQgAkHJFzYCECACQRU2AgxBACEDDCkLIAJBADYCACAGQQFqIQFB9QAhAwwPCyACLQApQQVGBEBB4wAhAwwPC0HiACEDDA4LIAAhASACQQA2AgALIAJBADoALEEJIQMMDAsgAkEANgIAIAdBAWohAUHAACEDDAsLQQELOgAsIAJBADYCACAGQQFqIQELQSkhAwwIC0E4IQMMBwsCQCABIARHBEADQCABLQAAQYA+ai0AACIAQQFHBEAgAEECRw0DIAFBAWohAQwFCyAEIAFBAWoiAUcNAAtBPiEDDCELQT4hAwwgCwsgAkEAOgAsDAELQQshAwwEC0E6IQMMAwsgAUEBaiEBQS0hAwwCCyACIAE6ACwgAkEANgIAIAZBAWohAUEMIQMMAQsgAkEANgIAIAZBAWohAUEKIQMMAAsAC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwXC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwWC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwVC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwUC0EAIQMgAkEANgIcIAIgATYCFCACQc0QNgIQIAJBCTYCDAwTC0EAIQMgAkEANgIcIAIgATYCFCACQekKNgIQIAJBCTYCDAwSC0EAIQMgAkEANgIcIAIgATYCFCACQbcQNgIQIAJBCTYCDAwRC0EAIQMgAkEANgIcIAIgATYCFCACQZwRNgIQIAJBCTYCDAwQC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwPC0EAIQMgAkEANgIcIAIgATYCFCACQZcVNgIQIAJBDzYCDAwOC0EAIQMgAkEANgIcIAIgATYCFCACQcASNgIQIAJBCzYCDAwNC0EAIQMgAkEANgIcIAIgATYCFCACQZUJNgIQIAJBCzYCDAwMC0EAIQMgAkEANgIcIAIgATYCFCACQeEPNgIQIAJBCjYCDAwLC0EAIQMgAkEANgIcIAIgATYCFCACQfsPNgIQIAJBCjYCDAwKC0EAIQMgAkEANgIcIAIgATYCFCACQfEZNgIQIAJBAjYCDAwJC0EAIQMgAkEANgIcIAIgATYCFCACQcQUNgIQIAJBAjYCDAwIC0EAIQMgAkEANgIcIAIgATYCFCACQfIVNgIQIAJBAjYCDAwHCyACQQI2AhwgAiABNgIUIAJBnBo2AhAgAkEWNgIMQQAhAwwGC0EBIQMMBQtB1AAhAyABIARGDQQgCEEIaiEJIAIoAgAhBQJAAkAgASAERwRAIAVB2MIAaiEHIAQgBWogAWshACAFQX9zQQpqIgUgAWohBgNAIAEtAAAgBy0AAEcEQEECIQcMAwsgBUUEQEEAIQcgBiEBDAMLIAVBAWshBSAHQQFqIQcgBCABQQFqIgFHDQALIAAhBSAEIQELIAlBATYCACACIAU2AgAMAQsgAkEANgIAIAkgBzYCAAsgCSABNgIEIAgoAgwhACAIKAIIDgMBBAIACwALIAJBADYCHCACQbUaNgIQIAJBFzYCDCACIABBAWo2AhRBACEDDAILIAJBADYCHCACIAA2AhQgAkHKGjYCECACQQk2AgxBACEDDAELIAEgBEYEQEEiIQMMAQsgAkEJNgIIIAIgATYCBEEhIQMLIAhBEGokACADRQRAIAIoAgwhAAwBCyACIAM2AhxBACEAIAIoAgQiAUUNACACIAEgBCACKAIIEQEAIgFFDQAgAiAENgIUIAIgATYCDCABIQALIAALvgIBAn8gAEEAOgAAIABB3ABqIgFBAWtBADoAACAAQQA6AAIgAEEAOgABIAFBA2tBADoAACABQQJrQQA6AAAgAEEAOgADIAFBBGtBADoAAEEAIABrQQNxIgEgAGoiAEEANgIAQdwAIAFrQXxxIgIgAGoiAUEEa0EANgIAAkAgAkEJSQ0AIABBADYCCCAAQQA2AgQgAUEIa0EANgIAIAFBDGtBADYCACACQRlJDQAgAEEANgIYIABBADYCFCAAQQA2AhAgAEEANgIMIAFBEGtBADYCACABQRRrQQA2AgAgAUEYa0EANgIAIAFBHGtBADYCACACIABBBHFBGHIiAmsiAUEgSQ0AIAAgAmohAANAIABCADcDGCAAQgA3AxAgAEIANwMIIABCADcDACAAQSBqIQAgAUEgayIBQR9LDQALCwtWAQF/AkAgACgCDA0AAkACQAJAAkAgAC0ALw4DAQADAgsgACgCOCIBRQ0AIAEoAiwiAUUNACAAIAERAAAiAQ0DC0EADwsACyAAQcMWNgIQQQ4hAQsgAQsaACAAKAIMRQRAIABB0Rs2AhAgAEEVNgIMCwsUACAAKAIMQRVGBEAgAEEANgIMCwsUACAAKAIMQRZGBEAgAEEANgIMCwsHACAAKAIMCwcAIAAoAhALCQAgACABNgIQCwcAIAAoAhQLFwAgAEEkTwRAAAsgAEECdEGgM2ooAgALFwAgAEEuTwRAAAsgAEECdEGwNGooAgALvwkBAX9B6yghAQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB5ABrDvQDY2IAAWFhYWFhYQIDBAVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhBgcICQoLDA0OD2FhYWFhEGFhYWFhYWFhYWFhEWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYRITFBUWFxgZGhthYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhHB0eHyAhIiMkJSYnKCkqKywtLi8wMTIzNDU2YTc4OTphYWFhYWFhYTthYWE8YWFhYT0+P2FhYWFhYWFhQGFhQWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUJDREVGR0hJSktMTU5PUFFSU2FhYWFhYWFhVFVWV1hZWlthXF1hYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFeYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhX2BhC0HhJw8LQaQhDwtByywPC0H+MQ8LQcAkDwtBqyQPC0GNKA8LQeImDwtBgDAPC0G5Lw8LQdckDwtB7x8PC0HhHw8LQfofDwtB8iAPC0GoLw8LQa4yDwtBiDAPC0HsJw8LQYIiDwtBjh0PC0HQLg8LQcojDwtBxTIPC0HfHA8LQdIcDwtBxCAPC0HXIA8LQaIfDwtB7S4PC0GrMA8LQdQlDwtBzC4PC0H6Lg8LQfwrDwtB0jAPC0HxHQ8LQbsgDwtB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AAADAEGUCAsFBAAAAAUAQaQICwkGAAAABwAAAAgAQdwIC4otSW52YWxpZCBjaGFyIGluIHVybCBxdWVyeQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2JvZHkAQ29udGVudC1MZW5ndGggb3ZlcmZsb3cAQ2h1bmsgc2l6ZSBvdmVyZmxvdwBSZXNwb25zZSBvdmVyZmxvdwBJbnZhbGlkIG1ldGhvZCBmb3IgSFRUUC94LnggcmVxdWVzdABJbnZhbGlkIG1ldGhvZCBmb3IgUlRTUC94LnggcmVxdWVzdABFeHBlY3RlZCBTT1VSQ0UgbWV0aG9kIGZvciBJQ0UveC54IHJlcXVlc3QASW52YWxpZCBjaGFyIGluIHVybCBmcmFnbWVudCBzdGFydABFeHBlY3RlZCBkb3QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9zdGF0dXMASW52YWxpZCByZXNwb25zZSBzdGF0dXMASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucwBVc2VyIGNhbGxiYWNrIGVycm9yAGBvbl9yZXNldGAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2hlYWRlcmAgY2FsbGJhY2sgZXJyb3IAYG9uX21lc3NhZ2VfYmVnaW5gIGNhbGxiYWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwBB+TULAQEAQZA2C+ABAQECAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQf03CwEBAEGROAteAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgBB/TkLAQEAQZE6C14CAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAEHwOwsNbG9zZWVlcC1hbGl2ZQBBiTwLAQEAQaA8C+ABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQYk+CwEBAEGgPgvnAQEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZABBsMAAC18BAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQBBkMIACyFlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AQcDCAAstcmFuc2Zlci1lbmNvZGluZ3BncmFkZQ0KDQoNClNNDQoNClRUUC9DRS9UU1AvAEH5wgALBQECAAEDAEGQwwAL4AEEAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+cQACwUBAgABAwBBkMUAC+ABBAEBBQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAQfnGAAsEAQAAAQBBkccAC98BAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBB+sgACwQBAAACAEGQyQALXwMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAEH6ygALBAEAAAEAQZDLAAsBAQBBqssAC0ECAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwBB+swACwQBAAABAEGQzQALAQEAQZrNAAsGAgAAAAACAEGxzQALOgMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQfDOAAuWAU5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/constants.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/constants.js
var require_constants4 = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/constants.js"(exports2, module2) {
"use strict";
var corsSafeListedMethods = (
/** @type {const} */
@@ -7246,9 +7410,9 @@ var require_constants4 = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/global.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/global.js
var require_global = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/global.js"(exports2, module2) {
"use strict";
var globalOrigin = Symbol.for("undici.globalOrigin.1");
function getGlobalOrigin() {
@@ -7282,9 +7446,9 @@ var require_global = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/data-url.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/data-url.js
var require_data_url = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/data-url.js"(exports2, module2) {
"use strict";
var assert5 = require("node:assert");
var encoder = new TextEncoder();
@@ -7634,9 +7798,9 @@ var require_data_url = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/webidl.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/webidl.js
var require_webidl = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/webidl.js"(exports2, module2) {
"use strict";
var { types, inspect } = require("node:util");
var { markAsUncloneable } = require("node:worker_threads");
@@ -7839,8 +8003,8 @@ var require_webidl = __commonJS({
}
const keys = Reflect.ownKeys(O);
for (const key of keys) {
- const desc = Reflect.getOwnPropertyDescriptor(O, key);
- if (desc?.enumerable) {
+ const desc2 = Reflect.getOwnPropertyDescriptor(O, key);
+ if (desc2?.enumerable) {
const typedKey = keyConverter(key, prefix, argument);
const typedValue = valueConverter(O[key], prefix, argument);
result[typedKey] = typedValue;
@@ -8053,9 +8217,9 @@ var require_webidl = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/util.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/util.js
var require_util3 = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/util.js"(exports2, module2) {
"use strict";
var { Transform } = require("node:stream");
var zlib = require("node:zlib");
@@ -8453,8 +8617,8 @@ var require_util3 = __commonJS({
function createDeferredPromise() {
let res;
let rej;
- const promise = new Promise((resolve2, reject) => {
- res = resolve2;
+ const promise = new Promise((resolve, reject) => {
+ res = resolve;
rej = reject;
});
return { promise, resolve: res, reject: rej };
@@ -8923,9 +9087,9 @@ var require_util3 = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/symbols.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/symbols.js
var require_symbols2 = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kUrl: Symbol("url"),
@@ -8937,9 +9101,9 @@ var require_symbols2 = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/file.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/file.js
var require_file = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/file.js"(exports2, module2) {
"use strict";
var { Blob: Blob2, File } = require("node:buffer");
var { kState } = require_symbols2();
@@ -9000,9 +9164,9 @@ var require_file = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/formdata.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/formdata.js
var require_formdata = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/formdata.js"(exports2, module2) {
"use strict";
var { isBlobLike, iteratorMixin } = require_util3();
var { kState } = require_symbols2();
@@ -9147,9 +9311,9 @@ var require_formdata = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/formdata-parser.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/formdata-parser.js
var require_formdata_parser = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/formdata-parser.js"(exports2, module2) {
"use strict";
var { isUSVString, bufferToLowerCasedHeaderName } = require_util();
var { utf8DecodeBytes } = require_util3();
@@ -9398,9 +9562,9 @@ var require_formdata_parser = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/body.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/body.js
var require_body = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/web/fetch/body.js"(exports2, module2) {
"use strict";
var util = require_util();
var {
@@ -9430,7 +9594,7 @@ var require_body = __commonJS({
random = (max) => Math.floor(Math.random(max));
}
var textEncoder = new TextEncoder();
- function noop2() {
+ function noop3() {
}
var hasFinalizationRegistry = globalThis.FinalizationRegistry && process.version.indexOf("v18") !== 0;
var streamRegistry;
@@ -9438,7 +9602,7 @@ var require_body = __commonJS({
streamRegistry = new FinalizationRegistry((weakRef) => {
const stream = weakRef.deref();
if (stream && !stream.locked && !isDisturbed(stream) && !isErrored(stream)) {
- stream.cancel("Response object has been garbage collected").catch(noop2);
+ stream.cancel("Response object has been garbage collected").catch(noop3);
}
});
}
@@ -9508,7 +9672,8 @@ Content-Type: ${value.type || "application/octet-stream"}\r
}
}
}
- const chunk = textEncoder.encode(`--${boundary}--`);
+ const chunk = textEncoder.encode(`--${boundary}--\r
+`);
blobParts.push(chunk);
length += chunk.byteLength;
if (hasUnknownSizeValue) {
@@ -9586,9 +9751,6 @@ Content-Type: ${value.type || "application/octet-stream"}\r
}
function cloneBody(instance, body) {
const [out1, out2] = body.stream.tee();
- if (hasFinalizationRegistry) {
- streamRegistry.register(instance, new WeakRef(out1));
- }
body.stream = out1;
return {
stream: out2,
@@ -9714,9 +9876,9 @@ Content-Type: ${value.type || "application/octet-stream"}\r
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/client-h1.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/client-h1.js
var require_client_h1 = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/client-h1.js"(exports2, module2) {
"use strict";
var assert5 = require("node:assert");
var util = require_util();
@@ -10597,12 +10759,12 @@ upgrade: ${upgrade}\r
cb();
}
}
- const waitForDrain = () => new Promise((resolve2, reject) => {
+ const waitForDrain = () => new Promise((resolve, reject) => {
assert5(callback === null);
if (socket[kError]) {
reject(socket[kError]);
} else {
- callback = resolve2;
+ callback = resolve;
}
});
socket.on("close", onDrain).on("drain", onDrain);
@@ -10734,9 +10896,9 @@ ${len.toString(16)}\r
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/client-h2.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/client-h2.js
var require_client_h2 = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/client-h2.js"(exports2, module2) {
"use strict";
var assert5 = require("node:assert");
var { pipeline } = require("node:stream");
@@ -11239,12 +11401,12 @@ var require_client_h2 = __commonJS({
cb();
}
}
- const waitForDrain = () => new Promise((resolve2, reject) => {
+ const waitForDrain = () => new Promise((resolve, reject) => {
assert5(callback === null);
if (socket[kError]) {
reject(socket[kError]);
} else {
- callback = resolve2;
+ callback = resolve;
}
});
h2stream.on("close", onDrain).on("drain", onDrain);
@@ -11275,9 +11437,9 @@ var require_client_h2 = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/handler/redirect-handler.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/handler/redirect-handler.js
var require_redirect_handler = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/handler/redirect-handler.js"(exports2, module2) {
"use strict";
var util = require_util();
var { kBodyUsed } = require_symbols();
@@ -11434,9 +11596,9 @@ var require_redirect_handler = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/interceptor/redirect-interceptor.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/interceptor/redirect-interceptor.js
var require_redirect_interceptor = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/interceptor/redirect-interceptor.js"(exports2, module2) {
"use strict";
var RedirectHandler = require_redirect_handler();
function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
@@ -11456,9 +11618,9 @@ var require_redirect_interceptor = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/client.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/client.js
var require_client = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/client.js"(exports2, module2) {
"use strict";
var assert5 = require("node:assert");
var net = require("node:net");
@@ -11519,7 +11681,7 @@ var require_client = __commonJS({
var connectH2 = require_client_h2();
var deprecatedInterceptorWarned = false;
var kClosedResolve = Symbol("kClosedResolve");
- var noop2 = () => {
+ var noop3 = () => {
};
function getPipelining(client) {
return client[kPipelining] ?? client[kHTTPContext]?.defaultPipelining ?? 1;
@@ -11721,16 +11883,16 @@ var require_client = __commonJS({
return this[kNeedDrain] < 2;
}
async [kClose]() {
- return new Promise((resolve2) => {
+ return new Promise((resolve) => {
if (this[kSize]) {
- this[kClosedResolve] = resolve2;
+ this[kClosedResolve] = resolve;
} else {
- resolve2(null);
+ resolve(null);
}
});
}
async [kDestroy](err) {
- return new Promise((resolve2) => {
+ return new Promise((resolve) => {
const requests = this[kQueue].splice(this[kPendingIdx]);
for (let i = 0; i < requests.length; i++) {
const request = requests[i];
@@ -11741,7 +11903,7 @@ var require_client = __commonJS({
this[kClosedResolve]();
this[kClosedResolve] = null;
}
- resolve2(null);
+ resolve(null);
};
if (this[kHTTPContext]) {
this[kHTTPContext].destroy(err, callback);
@@ -11792,7 +11954,7 @@ var require_client = __commonJS({
});
}
try {
- const socket = await new Promise((resolve2, reject) => {
+ const socket = await new Promise((resolve, reject) => {
client[kConnector]({
host,
hostname,
@@ -11804,19 +11966,19 @@ var require_client = __commonJS({
if (err) {
reject(err);
} else {
- resolve2(socket2);
+ resolve(socket2);
}
});
});
if (client.destroyed) {
- util.destroy(socket.on("error", noop2), new ClientDestroyedError());
+ util.destroy(socket.on("error", noop3), new ClientDestroyedError());
return;
}
assert5(socket);
try {
client[kHTTPContext] = socket.alpnProtocol === "h2" ? await connectH2(client, socket) : await connectH1(client, socket);
} catch (err) {
- socket.destroy().on("error", noop2);
+ socket.destroy().on("error", noop3);
throw err;
}
client[kConnecting] = false;
@@ -11956,9 +12118,9 @@ var require_client = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/pool.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/pool.js
var require_pool = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/pool.js"(exports2, module2) {
"use strict";
var {
PoolBase,
@@ -12021,6 +12183,14 @@ var require_pool = __commonJS({
this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
this[kFactory] = factory;
+ this.on("connectionError", (origin2, targets, error) => {
+ for (const target of targets) {
+ const idx = this[kClients].indexOf(target);
+ if (idx !== -1) {
+ this[kClients].splice(idx, 1);
+ }
+ }
+ });
}
[kGetDispatcher]() {
for (const client of this[kClients]) {
@@ -12039,9 +12209,9 @@ var require_pool = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/agent.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/agent.js
var require_agent = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/agent.js"(exports2, module2) {
"use strict";
var { InvalidArgumentError } = require_errors();
var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols();
@@ -12136,30 +12306,83 @@ var require_agent = __commonJS({
}
});
-// .yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/proxy-agent.js
+// .yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/proxy-agent.js
var require_proxy_agent = __commonJS({
- ".yarn/cache/undici-npm-6.21.1-0f7fc2c179-d604080e4f.zip/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
+ ".yarn/cache/undici-npm-6.22.0-4664dd0314-47903c489d.zip/node_modules/undici/lib/dispatcher/proxy-agent.js"(exports2, module2) {
"use strict";
- var { kProxy, kClose, kDestroy, kInterceptors } = require_symbols();
+ var { kProxy, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols();
var { URL: URL2 } = require("node:url");
var Agent = require_agent();
var Pool = require_pool();
var DispatcherBase = require_dispatcher_base();
var { InvalidArgumentError, RequestAbortedError, SecureProxyConnectionError } = require_errors();
var buildConnector = require_connect();
+ var Client = require_client();
var kAgent = Symbol("proxy agent");
var kClient = Symbol("proxy client");
var kProxyHeaders = Symbol("proxy headers");
var kRequestTls = Symbol("request tls settings");
var kProxyTls = Symbol("proxy tls settings");
var kConnectEndpoint = Symbol("connect endpoint function");
+ var kTunnelProxy = Symbol("tunnel proxy");
function defaultProtocolPort(protocol) {
return protocol === "https:" ? 443 : 80;
}
function defaultFactory(origin, opts) {
return new Pool(origin, opts);
}
- var noop2 = () => {
+ var noop3 = () => {
+ };
+ function defaultAgentFactory(origin, opts) {
+ if (opts.connections === 1) {
+ return new Client(origin, opts);
+ }
+ return new Pool(origin, opts);
+ }
+ var Http1ProxyWrapper = class extends DispatcherBase {
+ #client;
+ constructor(proxyUrl, { headers = {}, connect, factory }) {
+ super();
+ if (!proxyUrl) {
+ throw new InvalidArgumentError("Proxy URL is mandatory");
+ }
+ this[kProxyHeaders] = headers;
+ if (factory) {
+ this.#client = factory(proxyUrl, { connect });
+ } else {
+ this.#client = new Client(proxyUrl, { connect });
+ }
+ }
+ [kDispatch](opts, handler) {
+ const onHeaders = handler.onHeaders;
+ handler.onHeaders = function(statusCode, data, resume) {
+ if (statusCode === 407) {
+ if (typeof handler.onError === "function") {
+ handler.onError(new InvalidArgumentError("Proxy Authentication Required (407)"));
+ }
+ return;
+ }
+ if (onHeaders) onHeaders.call(this, statusCode, data, resume);
+ };
+ const {
+ origin,
+ path: path16 = "/",
+ headers = {}
+ } = opts;
+ opts.path = origin + path16;
+ if (!("host" in headers) && !("Host" in headers)) {
+ const { host } = new URL2(origin);
+ headers.host = host;
+ }
+ opts.headers = { ...this[kProxyHeaders], ...headers };
+ return this.#client[kDispatch](opts, handler);
+ }
+ async [kClose]() {
+ return this.#client.close();
+ }
+ async [kDestroy](err) {
+ return this.#client.destroy(err);
+ }
};
var ProxyAgent2 = class extends DispatcherBase {
constructor(opts) {
@@ -12171,6 +12394,7 @@ var require_proxy_agent = __commonJS({
if (typeof clientFactory !== "function") {
throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
}
+ const { proxyTunnel = true } = opts;
const url = this.#getUrl(opts);
const { href, origin, port, protocol, username, password, hostname: proxyHostname } = url;
this[kProxy] = { uri: href, protocol };
@@ -12178,6 +12402,7 @@ var require_proxy_agent = __commonJS({
this[kRequestTls] = opts.requestTls;
this[kProxyTls] = opts.proxyTls;
this[kProxyHeaders] = opts.headers || {};
+ this[kTunnelProxy] = proxyTunnel;
if (opts.auth && opts.token) {
throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
} else if (opts.auth) {
@@ -12189,9 +12414,22 @@ var require_proxy_agent = __commonJS({
}
const connect = buildConnector({ ...opts.proxyTls });
this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
+ const agentFactory = opts.factory || defaultAgentFactory;
+ const factory = (origin2, options) => {
+ const { protocol: protocol2 } = new URL2(origin2);
+ if (!this[kTunnelProxy] && protocol2 === "http:" && this[kProxy].protocol === "http:") {
+ return new Http1ProxyWrapper(this[kProxy].uri, {
+ headers: this[kProxyHeaders],
+ connect,
+ factory: agentFactory
+ });
+ }
+ return agentFactory(origin2, options);
+ };
this[kClient] = clientFactory(url, { connect });
this[kAgent] = new Agent({
...opts,
+ factory,
connect: async (opts2, callback) => {
let requestedPath = opts2.host;
if (!opts2.port) {
@@ -12210,7 +12448,7 @@ var require_proxy_agent = __commonJS({
servername: this[kProxyTls]?.servername || proxyHostname
});
if (statusCode !== 200) {
- socket.on("error", noop2).destroy();
+ socket.on("error", noop3).destroy();
callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
}
if (opts2.protocol !== "https:") {
@@ -13023,10 +13261,10 @@ var init_esm = __esm({
* Return a void Promise that resolves once the stream ends.
*/
async promise() {
- return new Promise((resolve2, reject) => {
+ return new Promise((resolve, reject) => {
this.on(DESTROYED, () => reject(new Error("stream destroyed")));
this.on("error", (er) => reject(er));
- this.on("end", () => resolve2());
+ this.on("end", () => resolve());
});
}
/**
@@ -13050,7 +13288,7 @@ var init_esm = __esm({
return Promise.resolve({ done: false, value: res });
if (this[EOF])
return stop();
- let resolve2;
+ let resolve;
let reject;
const onerr = (er) => {
this.off("data", ondata);
@@ -13064,19 +13302,19 @@ var init_esm = __esm({
this.off("end", onend);
this.off(DESTROYED, ondestroy);
this.pause();
- resolve2({ value, done: !!this[EOF] });
+ resolve({ value, done: !!this[EOF] });
};
const onend = () => {
this.off("error", onerr);
this.off("data", ondata);
this.off(DESTROYED, ondestroy);
stop();
- resolve2({ done: true, value: void 0 });
+ resolve({ done: true, value: void 0 });
};
const ondestroy = () => onerr(new Error("stream destroyed"));
return new Promise((res2, rej) => {
reject = rej;
- resolve2 = res2;
+ resolve = res2;
this.once(DESTROYED, ondestroy);
this.once("error", onerr);
this.once("end", onend);
@@ -13562,10 +13800,10 @@ var init_esm2 = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/options.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/options.js
var argmap, isSyncFile, isAsyncFile, isSyncNoFile, isAsyncNoFile, dealiasKey, dealias;
var init_options = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/options.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/options.js"() {
argmap = /* @__PURE__ */ new Map([
["C", "cwd"],
["f", "file"],
@@ -13615,10 +13853,10 @@ var init_options = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/make-command.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/make-command.js
var makeCommand;
var init_make_command = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/make-command.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/make-command.js"() {
init_options();
makeCommand = (syncFile, asyncFile, syncNoFile, asyncNoFile, validate) => {
return Object.assign((opt_ = [], entries, cb) => {
@@ -13670,10 +13908,10 @@ var init_make_command = __esm({
}
});
-// .yarn/cache/minizlib-npm-3.0.1-4bdabd978f-82f8bf70da.zip/node_modules/minizlib/dist/esm/constants.js
+// .yarn/cache/minizlib-npm-3.1.0-6680befdba-5aad75ab00.zip/node_modules/minizlib/dist/esm/constants.js
var import_zlib, realZlibConstants, constants;
var init_constants = __esm({
- ".yarn/cache/minizlib-npm-3.0.1-4bdabd978f-82f8bf70da.zip/node_modules/minizlib/dist/esm/constants.js"() {
+ ".yarn/cache/minizlib-npm-3.1.0-6680befdba-5aad75ab00.zip/node_modules/minizlib/dist/esm/constants.js"() {
import_zlib = __toESM(require("zlib"), 1);
realZlibConstants = import_zlib.default.constants || { ZLIB_VERNUM: 4736 };
constants = Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null), {
@@ -13787,29 +14025,35 @@ var init_constants = __esm({
}
});
-// .yarn/cache/minizlib-npm-3.0.1-4bdabd978f-82f8bf70da.zip/node_modules/minizlib/dist/esm/index.js
-var import_assert2, import_buffer, import_zlib2, OriginalBufferConcat, _superWrite, ZlibError, _flushFlag, ZlibBase, Zlib, Gzip, Unzip, Brotli, BrotliCompress, BrotliDecompress;
+// .yarn/cache/minizlib-npm-3.1.0-6680befdba-5aad75ab00.zip/node_modules/minizlib/dist/esm/index.js
+var import_assert2, import_buffer, realZlib2, OriginalBufferConcat, desc, noop, passthroughBufferConcat, _superWrite, ZlibError, _flushFlag, ZlibBase, Zlib, Gzip, Unzip, Brotli, BrotliCompress, BrotliDecompress, Zstd, ZstdCompress, ZstdDecompress;
var init_esm3 = __esm({
- ".yarn/cache/minizlib-npm-3.0.1-4bdabd978f-82f8bf70da.zip/node_modules/minizlib/dist/esm/index.js"() {
+ ".yarn/cache/minizlib-npm-3.1.0-6680befdba-5aad75ab00.zip/node_modules/minizlib/dist/esm/index.js"() {
import_assert2 = __toESM(require("assert"), 1);
import_buffer = require("buffer");
init_esm();
- import_zlib2 = __toESM(require("zlib"), 1);
+ realZlib2 = __toESM(require("zlib"), 1);
init_constants();
init_constants();
OriginalBufferConcat = import_buffer.Buffer.concat;
+ desc = Object.getOwnPropertyDescriptor(import_buffer.Buffer, "concat");
+ noop = (args) => args;
+ passthroughBufferConcat = desc?.writable === true || desc?.set !== void 0 ? (makeNoOp) => {
+ import_buffer.Buffer.concat = makeNoOp ? noop : OriginalBufferConcat;
+ } : (_) => {
+ };
_superWrite = Symbol("_superWrite");
ZlibError = class extends Error {
code;
errno;
- constructor(err) {
- super("zlib: " + err.message);
+ constructor(err, origin) {
+ super("zlib: " + err.message, { cause: err });
this.code = err.code;
this.errno = err.errno;
if (!this.code)
this.code = "ZLIB_ERROR";
this.message = "zlib: " + err.message;
- Error.captureStackTrace(this, this.constructor);
+ Error.captureStackTrace(this, origin ?? this.constructor);
}
get name() {
return "ZlibError";
@@ -13842,10 +14086,13 @@ var init_esm3 = __esm({
this.#flushFlag = opts.flush ?? 0;
this.#finishFlushFlag = opts.finishFlush ?? 0;
this.#fullFlushFlag = opts.fullFlushFlag ?? 0;
+ if (typeof realZlib2[mode] !== "function") {
+ throw new TypeError("Compression method not supported: " + mode);
+ }
try {
- this.#handle = new import_zlib2.default[mode](opts);
+ this.#handle = new realZlib2[mode](opts);
} catch (er) {
- throw new ZlibError(er);
+ throw new ZlibError(er, this.constructor);
}
this.#onError = (err) => {
if (this.#sawError)
@@ -13919,15 +14166,15 @@ var init_esm3 = __esm({
const originalClose = this.#handle.close;
this.#handle.close = () => {
};
- import_buffer.Buffer.concat = (args) => args;
+ passthroughBufferConcat(true);
let result = void 0;
try {
const flushFlag = typeof chunk[_flushFlag] === "number" ? chunk[_flushFlag] : this.#flushFlag;
result = this.#handle._processChunk(chunk, flushFlag);
- import_buffer.Buffer.concat = OriginalBufferConcat;
+ passthroughBufferConcat(false);
} catch (err) {
- import_buffer.Buffer.concat = OriginalBufferConcat;
- this.#onError(new ZlibError(err));
+ passthroughBufferConcat(false);
+ this.#onError(new ZlibError(err, this.write));
} finally {
if (this.#handle) {
;
@@ -13938,7 +14185,7 @@ var init_esm3 = __esm({
}
}
if (this.#handle)
- this.#handle.on("error", (er) => this.#onError(new ZlibError(er)));
+ this.#handle.on("error", (er) => this.#onError(new ZlibError(er, this.write)));
let writeReturn;
if (result) {
if (Array.isArray(result) && result.length > 0) {
@@ -14038,1025 +14285,671 @@ var init_esm3 = __esm({
super(opts, "BrotliDecompress");
}
};
+ Zstd = class extends ZlibBase {
+ constructor(opts, mode) {
+ opts = opts || {};
+ opts.flush = opts.flush || constants.ZSTD_e_continue;
+ opts.finishFlush = opts.finishFlush || constants.ZSTD_e_end;
+ opts.fullFlushFlag = constants.ZSTD_e_flush;
+ super(opts, mode);
+ }
+ };
+ ZstdCompress = class extends Zstd {
+ constructor(opts) {
+ super(opts, "ZstdCompress");
+ }
+ };
+ ZstdDecompress = class extends Zstd {
+ constructor(opts) {
+ super(opts, "ZstdDecompress");
+ }
+ };
}
});
-// .yarn/cache/yallist-npm-5.0.0-8732dd9f1c-a499c81ce6.zip/node_modules/yallist/dist/esm/index.js
-function insertAfter(self2, node, value) {
- const prev = node;
- const next = node ? node.next : self2.head;
- const inserted = new Node(value, prev, next, self2);
- if (inserted.next === void 0) {
- self2.tail = inserted;
- }
- if (inserted.prev === void 0) {
- self2.head = inserted;
- }
- self2.length++;
- return inserted;
-}
-function push(self2, item) {
- self2.tail = new Node(item, self2.tail, void 0, self2);
- if (!self2.head) {
- self2.head = self2.tail;
- }
- self2.length++;
-}
-function unshift(self2, item) {
- self2.head = new Node(item, void 0, self2.head, self2);
- if (!self2.tail) {
- self2.tail = self2.head;
- }
- self2.length++;
-}
-var Yallist, Node;
-var init_esm4 = __esm({
- ".yarn/cache/yallist-npm-5.0.0-8732dd9f1c-a499c81ce6.zip/node_modules/yallist/dist/esm/index.js"() {
- Yallist = class _Yallist {
- tail;
- head;
- length = 0;
- static create(list2 = []) {
- return new _Yallist(list2);
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/large-numbers.js
+var encode, encodePositive, encodeNegative, parse, twos, pos, onesComp, twosComp;
+var init_large_numbers = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/large-numbers.js"() {
+ encode = (num, buf) => {
+ if (!Number.isSafeInteger(num)) {
+ throw Error("cannot encode number outside of javascript safe integer range");
+ } else if (num < 0) {
+ encodeNegative(num, buf);
+ } else {
+ encodePositive(num, buf);
}
- constructor(list2 = []) {
- for (const item of list2) {
- this.push(item);
- }
+ return buf;
+ };
+ encodePositive = (num, buf) => {
+ buf[0] = 128;
+ for (var i = buf.length; i > 1; i--) {
+ buf[i - 1] = num & 255;
+ num = Math.floor(num / 256);
}
- *[Symbol.iterator]() {
- for (let walker = this.head; walker; walker = walker.next) {
- yield walker.value;
+ };
+ encodeNegative = (num, buf) => {
+ buf[0] = 255;
+ var flipped = false;
+ num = num * -1;
+ for (var i = buf.length; i > 1; i--) {
+ var byte = num & 255;
+ num = Math.floor(num / 256);
+ if (flipped) {
+ buf[i - 1] = onesComp(byte);
+ } else if (byte === 0) {
+ buf[i - 1] = 0;
+ } else {
+ flipped = true;
+ buf[i - 1] = twosComp(byte);
}
}
- removeNode(node) {
- if (node.list !== this) {
- throw new Error("removing node which does not belong to this list");
- }
- const next = node.next;
- const prev = node.prev;
- if (next) {
- next.prev = prev;
- }
- if (prev) {
- prev.next = next;
- }
- if (node === this.head) {
- this.head = next;
- }
- if (node === this.tail) {
- this.tail = prev;
- }
- this.length--;
- node.next = void 0;
- node.prev = void 0;
- node.list = void 0;
- return next;
+ };
+ parse = (buf) => {
+ const pre = buf[0];
+ const value = pre === 128 ? pos(buf.subarray(1, buf.length)) : pre === 255 ? twos(buf) : null;
+ if (value === null) {
+ throw Error("invalid base256 encoding");
}
- unshiftNode(node) {
- if (node === this.head) {
- return;
- }
- if (node.list) {
- node.list.removeNode(node);
- }
- const head = this.head;
- node.list = this;
- node.next = head;
- if (head) {
- head.prev = node;
+ if (!Number.isSafeInteger(value)) {
+ throw Error("parsed number outside of javascript safe integer range");
+ }
+ return value;
+ };
+ twos = (buf) => {
+ var len = buf.length;
+ var sum = 0;
+ var flipped = false;
+ for (var i = len - 1; i > -1; i--) {
+ var byte = Number(buf[i]);
+ var f;
+ if (flipped) {
+ f = onesComp(byte);
+ } else if (byte === 0) {
+ f = byte;
+ } else {
+ flipped = true;
+ f = twosComp(byte);
}
- this.head = node;
- if (!this.tail) {
- this.tail = node;
+ if (f !== 0) {
+ sum -= f * Math.pow(256, len - i - 1);
}
- this.length++;
}
- pushNode(node) {
- if (node === this.tail) {
- return;
- }
- if (node.list) {
- node.list.removeNode(node);
- }
- const tail = this.tail;
- node.list = this;
- node.prev = tail;
- if (tail) {
- tail.next = node;
- }
- this.tail = node;
- if (!this.head) {
- this.head = node;
- }
- this.length++;
- }
- push(...args) {
- for (let i = 0, l = args.length; i < l; i++) {
- push(this, args[i]);
+ return sum;
+ };
+ pos = (buf) => {
+ var len = buf.length;
+ var sum = 0;
+ for (var i = len - 1; i > -1; i--) {
+ var byte = Number(buf[i]);
+ if (byte !== 0) {
+ sum += byte * Math.pow(256, len - i - 1);
}
- return this.length;
}
- unshift(...args) {
- for (var i = 0, l = args.length; i < l; i++) {
- unshift(this, args[i]);
+ return sum;
+ };
+ onesComp = (byte) => (255 ^ byte) & 255;
+ twosComp = (byte) => (255 ^ byte) + 1 & 255;
+ }
+});
+
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/types.js
+var isCode, name, code;
+var init_types = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/types.js"() {
+ isCode = (c) => name.has(c);
+ name = /* @__PURE__ */ new Map([
+ ["0", "File"],
+ // same as File
+ ["", "OldFile"],
+ ["1", "Link"],
+ ["2", "SymbolicLink"],
+ // Devices and FIFOs aren't fully supported
+ // they are parsed, but skipped when unpacking
+ ["3", "CharacterDevice"],
+ ["4", "BlockDevice"],
+ ["5", "Directory"],
+ ["6", "FIFO"],
+ // same as File
+ ["7", "ContiguousFile"],
+ // pax headers
+ ["g", "GlobalExtendedHeader"],
+ ["x", "ExtendedHeader"],
+ // vendor-specific stuff
+ // skip
+ ["A", "SolarisACL"],
+ // like 5, but with data, which should be skipped
+ ["D", "GNUDumpDir"],
+ // metadata only, skip
+ ["I", "Inode"],
+ // data = link path of next file
+ ["K", "NextFileHasLongLinkpath"],
+ // data = path of next file
+ ["L", "NextFileHasLongPath"],
+ // skip
+ ["M", "ContinuationFile"],
+ // like L
+ ["N", "OldGnuLongPath"],
+ // skip
+ ["S", "SparseFile"],
+ // skip
+ ["V", "TapeVolumeHeader"],
+ // like x
+ ["X", "OldExtendedHeader"]
+ ]);
+ code = new Map(Array.from(name).map((kv) => [kv[1], kv[0]]));
+ }
+});
+
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/header.js
+var import_node_path, Header, splitPrefix, decString, decDate, numToDate, decNumber, nanUndef, decSmallNumber, MAXNUM, encNumber, encSmallNumber, octalString, padOctal, encDate, NULLS, encString;
+var init_header = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/header.js"() {
+ import_node_path = require("node:path");
+ init_large_numbers();
+ init_types();
+ Header = class {
+ cksumValid = false;
+ needPax = false;
+ nullBlock = false;
+ block;
+ path;
+ mode;
+ uid;
+ gid;
+ size;
+ cksum;
+ #type = "Unsupported";
+ linkpath;
+ uname;
+ gname;
+ devmaj = 0;
+ devmin = 0;
+ atime;
+ ctime;
+ mtime;
+ charset;
+ comment;
+ constructor(data, off = 0, ex, gex) {
+ if (Buffer.isBuffer(data)) {
+ this.decode(data, off || 0, ex, gex);
+ } else if (data) {
+ this.#slurp(data);
}
- return this.length;
}
- pop() {
- if (!this.tail) {
- return void 0;
- }
- const res = this.tail.value;
- const t = this.tail;
- this.tail = this.tail.prev;
- if (this.tail) {
- this.tail.next = void 0;
- } else {
- this.head = void 0;
+ decode(buf, off, ex, gex) {
+ if (!off) {
+ off = 0;
}
- t.list = void 0;
- this.length--;
- return res;
- }
- shift() {
- if (!this.head) {
- return void 0;
+ if (!buf || !(buf.length >= off + 512)) {
+ throw new Error("need 512 bytes for header");
}
- const res = this.head.value;
- const h = this.head;
- this.head = this.head.next;
- if (this.head) {
- this.head.prev = void 0;
- } else {
- this.tail = void 0;
+ this.path = ex?.path ?? decString(buf, off, 100);
+ this.mode = ex?.mode ?? gex?.mode ?? decNumber(buf, off + 100, 8);
+ this.uid = ex?.uid ?? gex?.uid ?? decNumber(buf, off + 108, 8);
+ this.gid = ex?.gid ?? gex?.gid ?? decNumber(buf, off + 116, 8);
+ this.size = ex?.size ?? gex?.size ?? decNumber(buf, off + 124, 12);
+ this.mtime = ex?.mtime ?? gex?.mtime ?? decDate(buf, off + 136, 12);
+ this.cksum = decNumber(buf, off + 148, 12);
+ if (gex)
+ this.#slurp(gex, true);
+ if (ex)
+ this.#slurp(ex);
+ const t = decString(buf, off + 156, 1);
+ if (isCode(t)) {
+ this.#type = t || "0";
}
- h.list = void 0;
- this.length--;
- return res;
- }
- forEach(fn2, thisp) {
- thisp = thisp || this;
- for (let walker = this.head, i = 0; !!walker; i++) {
- fn2.call(thisp, walker.value, i, this);
- walker = walker.next;
+ if (this.#type === "0" && this.path.slice(-1) === "/") {
+ this.#type = "5";
}
- }
- forEachReverse(fn2, thisp) {
- thisp = thisp || this;
- for (let walker = this.tail, i = this.length - 1; !!walker; i--) {
- fn2.call(thisp, walker.value, i, this);
- walker = walker.prev;
+ if (this.#type === "5") {
+ this.size = 0;
}
- }
- get(n) {
- let i = 0;
- let walker = this.head;
- for (; !!walker && i < n; i++) {
- walker = walker.next;
+ this.linkpath = decString(buf, off + 157, 100);
+ if (buf.subarray(off + 257, off + 265).toString() === "ustar\x0000") {
+ this.uname = ex?.uname ?? gex?.uname ?? decString(buf, off + 265, 32);
+ this.gname = ex?.gname ?? gex?.gname ?? decString(buf, off + 297, 32);
+ this.devmaj = ex?.devmaj ?? gex?.devmaj ?? decNumber(buf, off + 329, 8) ?? 0;
+ this.devmin = ex?.devmin ?? gex?.devmin ?? decNumber(buf, off + 337, 8) ?? 0;
+ if (buf[off + 475] !== 0) {
+ const prefix = decString(buf, off + 345, 155);
+ this.path = prefix + "/" + this.path;
+ } else {
+ const prefix = decString(buf, off + 345, 130);
+ if (prefix) {
+ this.path = prefix + "/" + this.path;
+ }
+ this.atime = ex?.atime ?? gex?.atime ?? decDate(buf, off + 476, 12);
+ this.ctime = ex?.ctime ?? gex?.ctime ?? decDate(buf, off + 488, 12);
+ }
}
- if (i === n && !!walker) {
- return walker.value;
+ let sum = 8 * 32;
+ for (let i = off; i < off + 148; i++) {
+ sum += buf[i];
}
- }
- getReverse(n) {
- let i = 0;
- let walker = this.tail;
- for (; !!walker && i < n; i++) {
- walker = walker.prev;
+ for (let i = off + 156; i < off + 512; i++) {
+ sum += buf[i];
}
- if (i === n && !!walker) {
- return walker.value;
+ this.cksumValid = sum === this.cksum;
+ if (this.cksum === void 0 && sum === 8 * 32) {
+ this.nullBlock = true;
}
}
- map(fn2, thisp) {
- thisp = thisp || this;
- const res = new _Yallist();
- for (let walker = this.head; !!walker; ) {
- res.push(fn2.call(thisp, walker.value, this));
- walker = walker.next;
- }
- return res;
+ #slurp(ex, gex = false) {
+ Object.assign(this, Object.fromEntries(Object.entries(ex).filter(([k, v]) => {
+ return !(v === null || v === void 0 || k === "path" && gex || k === "linkpath" && gex || k === "global");
+ })));
}
- mapReverse(fn2, thisp) {
- thisp = thisp || this;
- var res = new _Yallist();
- for (let walker = this.tail; !!walker; ) {
- res.push(fn2.call(thisp, walker.value, this));
- walker = walker.prev;
+ encode(buf, off = 0) {
+ if (!buf) {
+ buf = this.block = Buffer.alloc(512);
}
- return res;
- }
- reduce(fn2, initial) {
- let acc;
- let walker = this.head;
- if (arguments.length > 1) {
- acc = initial;
- } else if (this.head) {
- walker = this.head.next;
- acc = this.head.value;
- } else {
- throw new TypeError("Reduce of empty list with no initial value");
+ if (this.#type === "Unsupported") {
+ this.#type = "0";
}
- for (var i = 0; !!walker; i++) {
- acc = fn2(acc, walker.value, i);
- walker = walker.next;
+ if (!(buf.length >= off + 512)) {
+ throw new Error("need 512 bytes for header");
}
- return acc;
- }
- reduceReverse(fn2, initial) {
- let acc;
- let walker = this.tail;
- if (arguments.length > 1) {
- acc = initial;
- } else if (this.tail) {
- walker = this.tail.prev;
- acc = this.tail.value;
+ const prefixSize = this.ctime || this.atime ? 130 : 155;
+ const split = splitPrefix(this.path || "", prefixSize);
+ const path16 = split[0];
+ const prefix = split[1];
+ this.needPax = !!split[2];
+ this.needPax = encString(buf, off, 100, path16) || this.needPax;
+ this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax;
+ this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax;
+ this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax;
+ this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax;
+ this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax;
+ buf[off + 156] = this.#type.charCodeAt(0);
+ this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax;
+ buf.write("ustar\x0000", off + 257, 8);
+ this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax;
+ this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax;
+ this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax;
+ this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax;
+ this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax;
+ if (buf[off + 475] !== 0) {
+ this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax;
} else {
- throw new TypeError("Reduce of empty list with no initial value");
- }
- for (let i = this.length - 1; !!walker; i--) {
- acc = fn2(acc, walker.value, i);
- walker = walker.prev;
- }
- return acc;
- }
- toArray() {
- const arr = new Array(this.length);
- for (let i = 0, walker = this.head; !!walker; i++) {
- arr[i] = walker.value;
- walker = walker.next;
- }
- return arr;
- }
- toArrayReverse() {
- const arr = new Array(this.length);
- for (let i = 0, walker = this.tail; !!walker; i++) {
- arr[i] = walker.value;
- walker = walker.prev;
- }
- return arr;
- }
- slice(from = 0, to = this.length) {
- if (to < 0) {
- to += this.length;
- }
- if (from < 0) {
- from += this.length;
- }
- const ret = new _Yallist();
- if (to < from || to < 0) {
- return ret;
- }
- if (from < 0) {
- from = 0;
- }
- if (to > this.length) {
- to = this.length;
- }
- let walker = this.head;
- let i = 0;
- for (i = 0; !!walker && i < from; i++) {
- walker = walker.next;
- }
- for (; !!walker && i < to; i++, walker = walker.next) {
- ret.push(walker.value);
- }
- return ret;
- }
- sliceReverse(from = 0, to = this.length) {
- if (to < 0) {
- to += this.length;
- }
- if (from < 0) {
- from += this.length;
- }
- const ret = new _Yallist();
- if (to < from || to < 0) {
- return ret;
- }
- if (from < 0) {
- from = 0;
- }
- if (to > this.length) {
- to = this.length;
+ this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax;
+ this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax;
+ this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax;
}
- let i = this.length;
- let walker = this.tail;
- for (; !!walker && i > to; i--) {
- walker = walker.prev;
+ let sum = 8 * 32;
+ for (let i = off; i < off + 148; i++) {
+ sum += buf[i];
}
- for (; !!walker && i > from; i--, walker = walker.prev) {
- ret.push(walker.value);
+ for (let i = off + 156; i < off + 512; i++) {
+ sum += buf[i];
}
- return ret;
+ this.cksum = sum;
+ encNumber(buf, off + 148, 8, this.cksum);
+ this.cksumValid = true;
+ return this.needPax;
}
- splice(start, deleteCount = 0, ...nodes) {
- if (start > this.length) {
- start = this.length - 1;
- }
- if (start < 0) {
- start = this.length + start;
- }
- let walker = this.head;
- for (let i = 0; !!walker && i < start; i++) {
- walker = walker.next;
- }
- const ret = [];
- for (let i = 0; !!walker && i < deleteCount; i++) {
- ret.push(walker.value);
- walker = this.removeNode(walker);
- }
- if (!walker) {
- walker = this.tail;
- } else if (walker !== this.tail) {
- walker = walker.prev;
- }
- for (const v of nodes) {
- walker = insertAfter(this, walker, v);
- }
- return ret;
+ get type() {
+ return this.#type === "Unsupported" ? this.#type : name.get(this.#type);
}
- reverse() {
- const head = this.head;
- const tail = this.tail;
- for (let walker = head; !!walker; walker = walker.prev) {
- const p = walker.prev;
- walker.prev = walker.next;
- walker.next = p;
- }
- this.head = tail;
- this.tail = head;
- return this;
+ get typeKey() {
+ return this.#type;
}
- };
- Node = class {
- list;
- next;
- prev;
- value;
- constructor(value, prev, next, list2) {
- this.list = list2;
- this.value = value;
- if (prev) {
- prev.next = this;
- this.prev = prev;
- } else {
- this.prev = void 0;
- }
- if (next) {
- next.prev = this;
- this.next = next;
+ set type(type) {
+ const c = String(code.get(type));
+ if (isCode(c) || c === "Unsupported") {
+ this.#type = c;
+ } else if (isCode(type)) {
+ this.#type = type;
} else {
- this.next = void 0;
+ throw new TypeError("invalid entry type: " + type);
}
}
};
- }
-});
-
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/large-numbers.js
-var encode, encodePositive, encodeNegative, parse, twos, pos, onesComp, twosComp;
-var init_large_numbers = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/large-numbers.js"() {
- encode = (num, buf) => {
- if (!Number.isSafeInteger(num)) {
- throw Error("cannot encode number outside of javascript safe integer range");
- } else if (num < 0) {
- encodeNegative(num, buf);
+ splitPrefix = (p, prefixSize) => {
+ const pathSize = 100;
+ let pp = p;
+ let prefix = "";
+ let ret = void 0;
+ const root = import_node_path.posix.parse(p).root || ".";
+ if (Buffer.byteLength(pp) < pathSize) {
+ ret = [pp, prefix, false];
} else {
- encodePositive(num, buf);
- }
- return buf;
- };
- encodePositive = (num, buf) => {
- buf[0] = 128;
- for (var i = buf.length; i > 1; i--) {
- buf[i - 1] = num & 255;
- num = Math.floor(num / 256);
- }
- };
- encodeNegative = (num, buf) => {
- buf[0] = 255;
- var flipped = false;
- num = num * -1;
- for (var i = buf.length; i > 1; i--) {
- var byte = num & 255;
- num = Math.floor(num / 256);
- if (flipped) {
- buf[i - 1] = onesComp(byte);
- } else if (byte === 0) {
- buf[i - 1] = 0;
- } else {
- flipped = true;
- buf[i - 1] = twosComp(byte);
+ prefix = import_node_path.posix.dirname(pp);
+ pp = import_node_path.posix.basename(pp);
+ do {
+ if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) {
+ ret = [pp, prefix, false];
+ } else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) {
+ ret = [pp.slice(0, pathSize - 1), prefix, true];
+ } else {
+ pp = import_node_path.posix.join(import_node_path.posix.basename(prefix), pp);
+ prefix = import_node_path.posix.dirname(prefix);
+ }
+ } while (prefix !== root && ret === void 0);
+ if (!ret) {
+ ret = [p.slice(0, pathSize - 1), "", true];
}
}
+ return ret;
};
- parse = (buf) => {
- const pre = buf[0];
- const value = pre === 128 ? pos(buf.subarray(1, buf.length)) : pre === 255 ? twos(buf) : null;
- if (value === null) {
- throw Error("invalid base256 encoding");
- }
- if (!Number.isSafeInteger(value)) {
- throw Error("parsed number outside of javascript safe integer range");
- }
- return value;
+ decString = (buf, off, size) => buf.subarray(off, off + size).toString("utf8").replace(/\0.*/, "");
+ decDate = (buf, off, size) => numToDate(decNumber(buf, off, size));
+ numToDate = (num) => num === void 0 ? void 0 : new Date(num * 1e3);
+ decNumber = (buf, off, size) => Number(buf[off]) & 128 ? parse(buf.subarray(off, off + size)) : decSmallNumber(buf, off, size);
+ nanUndef = (value) => isNaN(value) ? void 0 : value;
+ decSmallNumber = (buf, off, size) => nanUndef(parseInt(buf.subarray(off, off + size).toString("utf8").replace(/\0.*$/, "").trim(), 8));
+ MAXNUM = {
+ 12: 8589934591,
+ 8: 2097151
};
- twos = (buf) => {
- var len = buf.length;
- var sum = 0;
- var flipped = false;
- for (var i = len - 1; i > -1; i--) {
- var byte = Number(buf[i]);
- var f;
- if (flipped) {
- f = onesComp(byte);
- } else if (byte === 0) {
- f = byte;
- } else {
- flipped = true;
- f = twosComp(byte);
+ encNumber = (buf, off, size, num) => num === void 0 ? false : num > MAXNUM[size] || num < 0 ? (encode(num, buf.subarray(off, off + size)), true) : (encSmallNumber(buf, off, size, num), false);
+ encSmallNumber = (buf, off, size, num) => buf.write(octalString(num, size), off, size, "ascii");
+ octalString = (num, size) => padOctal(Math.floor(num).toString(8), size);
+ padOctal = (str, size) => (str.length === size - 1 ? str : new Array(size - str.length - 1).join("0") + str + " ") + "\0";
+ encDate = (buf, off, size, date) => date === void 0 ? false : encNumber(buf, off, size, date.getTime() / 1e3);
+ NULLS = new Array(156).join("\0");
+ encString = (buf, off, size, str) => str === void 0 ? false : (buf.write(str + NULLS, off, size, "utf8"), str.length !== Buffer.byteLength(str) || str.length > size);
+ }
+});
+
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/pax.js
+var import_node_path2, Pax, merge, parseKV, parseKVLine;
+var init_pax = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/pax.js"() {
+ import_node_path2 = require("node:path");
+ init_header();
+ Pax = class _Pax {
+ atime;
+ mtime;
+ ctime;
+ charset;
+ comment;
+ gid;
+ uid;
+ gname;
+ uname;
+ linkpath;
+ dev;
+ ino;
+ nlink;
+ path;
+ size;
+ mode;
+ global;
+ constructor(obj, global2 = false) {
+ this.atime = obj.atime;
+ this.charset = obj.charset;
+ this.comment = obj.comment;
+ this.ctime = obj.ctime;
+ this.dev = obj.dev;
+ this.gid = obj.gid;
+ this.global = global2;
+ this.gname = obj.gname;
+ this.ino = obj.ino;
+ this.linkpath = obj.linkpath;
+ this.mtime = obj.mtime;
+ this.nlink = obj.nlink;
+ this.path = obj.path;
+ this.size = obj.size;
+ this.uid = obj.uid;
+ this.uname = obj.uname;
+ }
+ encode() {
+ const body = this.encodeBody();
+ if (body === "") {
+ return Buffer.allocUnsafe(0);
}
- if (f !== 0) {
- sum -= f * Math.pow(256, len - i - 1);
+ const bodyLen = Buffer.byteLength(body);
+ const bufLen = 512 * Math.ceil(1 + bodyLen / 512);
+ const buf = Buffer.allocUnsafe(bufLen);
+ for (let i = 0; i < 512; i++) {
+ buf[i] = 0;
+ }
+ new Header({
+ // XXX split the path
+ // then the path should be PaxHeader + basename, but less than 99,
+ // prepend with the dirname
+ /* c8 ignore start */
+ path: ("PaxHeader/" + (0, import_node_path2.basename)(this.path ?? "")).slice(0, 99),
+ /* c8 ignore stop */
+ mode: this.mode || 420,
+ uid: this.uid,
+ gid: this.gid,
+ size: bodyLen,
+ mtime: this.mtime,
+ type: this.global ? "GlobalExtendedHeader" : "ExtendedHeader",
+ linkpath: "",
+ uname: this.uname || "",
+ gname: this.gname || "",
+ devmaj: 0,
+ devmin: 0,
+ atime: this.atime,
+ ctime: this.ctime
+ }).encode(buf);
+ buf.write(body, 512, bodyLen, "utf8");
+ for (let i = bodyLen + 512; i < buf.length; i++) {
+ buf[i] = 0;
}
+ return buf;
}
- return sum;
- };
- pos = (buf) => {
- var len = buf.length;
- var sum = 0;
- for (var i = len - 1; i > -1; i--) {
- var byte = Number(buf[i]);
- if (byte !== 0) {
- sum += byte * Math.pow(256, len - i - 1);
+ encodeBody() {
+ return this.encodeField("path") + this.encodeField("ctime") + this.encodeField("atime") + this.encodeField("dev") + this.encodeField("ino") + this.encodeField("nlink") + this.encodeField("charset") + this.encodeField("comment") + this.encodeField("gid") + this.encodeField("gname") + this.encodeField("linkpath") + this.encodeField("mtime") + this.encodeField("size") + this.encodeField("uid") + this.encodeField("uname");
+ }
+ encodeField(field) {
+ if (this[field] === void 0) {
+ return "";
}
+ const r = this[field];
+ const v = r instanceof Date ? r.getTime() / 1e3 : r;
+ const s = " " + (field === "dev" || field === "ino" || field === "nlink" ? "SCHILY." : "") + field + "=" + v + "\n";
+ const byteLen = Buffer.byteLength(s);
+ let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1;
+ if (byteLen + digits >= Math.pow(10, digits)) {
+ digits += 1;
+ }
+ const len = digits + byteLen;
+ return len + s;
+ }
+ static parse(str, ex, g = false) {
+ return new _Pax(merge(parseKV(str), ex), g);
}
- return sum;
};
- onesComp = (byte) => (255 ^ byte) & 255;
- twosComp = (byte) => (255 ^ byte) + 1 & 255;
+ merge = (a, b) => b ? Object.assign({}, b, a) : a;
+ parseKV = (str) => str.replace(/\n$/, "").split("\n").reduce(parseKVLine, /* @__PURE__ */ Object.create(null));
+ parseKVLine = (set, line) => {
+ const n = parseInt(line, 10);
+ if (n !== Buffer.byteLength(line) + 1) {
+ return set;
+ }
+ line = line.slice((n + " ").length);
+ const kv = line.split("=");
+ const r = kv.shift();
+ if (!r) {
+ return set;
+ }
+ const k = r.replace(/^SCHILY\.(dev|ino|nlink)/, "$1");
+ const v = kv.join("=");
+ set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(Number(v) * 1e3) : /^[0-9]+$/.test(v) ? +v : v;
+ return set;
+ };
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/types.js
-var isCode, name, code;
-var init_types = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/types.js"() {
- isCode = (c) => name.has(c);
- name = /* @__PURE__ */ new Map([
- ["0", "File"],
- // same as File
- ["", "OldFile"],
- ["1", "Link"],
- ["2", "SymbolicLink"],
- // Devices and FIFOs aren't fully supported
- // they are parsed, but skipped when unpacking
- ["3", "CharacterDevice"],
- ["4", "BlockDevice"],
- ["5", "Directory"],
- ["6", "FIFO"],
- // same as File
- ["7", "ContiguousFile"],
- // pax headers
- ["g", "GlobalExtendedHeader"],
- ["x", "ExtendedHeader"],
- // vendor-specific stuff
- // skip
- ["A", "SolarisACL"],
- // like 5, but with data, which should be skipped
- ["D", "GNUDumpDir"],
- // metadata only, skip
- ["I", "Inode"],
- // data = link path of next file
- ["K", "NextFileHasLongLinkpath"],
- // data = path of next file
- ["L", "NextFileHasLongPath"],
- // skip
- ["M", "ContinuationFile"],
- // like L
- ["N", "OldGnuLongPath"],
- // skip
- ["S", "SparseFile"],
- // skip
- ["V", "TapeVolumeHeader"],
- // like x
- ["X", "OldExtendedHeader"]
- ]);
- code = new Map(Array.from(name).map((kv) => [kv[1], kv[0]]));
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/normalize-windows-path.js
+var platform, normalizeWindowsPath;
+var init_normalize_windows_path = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/normalize-windows-path.js"() {
+ platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
+ normalizeWindowsPath = platform !== "win32" ? (p) => p : (p) => p && p.replace(/\\/g, "/");
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/header.js
-var import_node_path, Header, splitPrefix, decString, decDate, numToDate, decNumber, nanUndef, decSmallNumber, MAXNUM, encNumber, encSmallNumber, octalString, padOctal, encDate, NULLS, encString;
-var init_header = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/header.js"() {
- import_node_path = require("node:path");
- init_large_numbers();
- init_types();
- Header = class {
- cksumValid = false;
- needPax = false;
- nullBlock = false;
- block;
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/read-entry.js
+var ReadEntry;
+var init_read_entry = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/read-entry.js"() {
+ init_esm();
+ init_normalize_windows_path();
+ ReadEntry = class extends Minipass {
+ extended;
+ globalExtended;
+ header;
+ startBlockSize;
+ blockRemain;
+ remain;
+ type;
+ meta = false;
+ ignore = false;
path;
mode;
uid;
gid;
- size;
- cksum;
- #type = "Unsupported";
- linkpath;
uname;
gname;
- devmaj = 0;
- devmin = 0;
+ size = 0;
+ mtime;
atime;
ctime;
- mtime;
- charset;
- comment;
- constructor(data, off = 0, ex, gex) {
- if (Buffer.isBuffer(data)) {
- this.decode(data, off || 0, ex, gex);
- } else if (data) {
- this.#slurp(data);
- }
- }
- decode(buf, off, ex, gex) {
- if (!off) {
- off = 0;
- }
- if (!buf || !(buf.length >= off + 512)) {
- throw new Error("need 512 bytes for header");
- }
- this.path = decString(buf, off, 100);
- this.mode = decNumber(buf, off + 100, 8);
- this.uid = decNumber(buf, off + 108, 8);
- this.gid = decNumber(buf, off + 116, 8);
- this.size = decNumber(buf, off + 124, 12);
- this.mtime = decDate(buf, off + 136, 12);
- this.cksum = decNumber(buf, off + 148, 12);
- if (gex)
- this.#slurp(gex, true);
- if (ex)
- this.#slurp(ex);
- const t = decString(buf, off + 156, 1);
- if (isCode(t)) {
- this.#type = t || "0";
- }
- if (this.#type === "0" && this.path.slice(-1) === "/") {
- this.#type = "5";
- }
- if (this.#type === "5") {
- this.size = 0;
+ linkpath;
+ dev;
+ ino;
+ nlink;
+ invalid = false;
+ absolute;
+ unsupported = false;
+ constructor(header, ex, gex) {
+ super({});
+ this.pause();
+ this.extended = ex;
+ this.globalExtended = gex;
+ this.header = header;
+ this.remain = header.size ?? 0;
+ this.startBlockSize = 512 * Math.ceil(this.remain / 512);
+ this.blockRemain = this.startBlockSize;
+ this.type = header.type;
+ switch (this.type) {
+ case "File":
+ case "OldFile":
+ case "Link":
+ case "SymbolicLink":
+ case "CharacterDevice":
+ case "BlockDevice":
+ case "Directory":
+ case "FIFO":
+ case "ContiguousFile":
+ case "GNUDumpDir":
+ break;
+ case "NextFileHasLongLinkpath":
+ case "NextFileHasLongPath":
+ case "OldGnuLongPath":
+ case "GlobalExtendedHeader":
+ case "ExtendedHeader":
+ case "OldExtendedHeader":
+ this.meta = true;
+ break;
+ // NOTE: gnutar and bsdtar treat unrecognized types as 'File'
+ // it may be worth doing the same, but with a warning.
+ default:
+ this.ignore = true;
}
- this.linkpath = decString(buf, off + 157, 100);
- if (buf.subarray(off + 257, off + 265).toString() === "ustar\x0000") {
- this.uname = decString(buf, off + 265, 32);
- this.gname = decString(buf, off + 297, 32);
- this.devmaj = decNumber(buf, off + 329, 8) ?? 0;
- this.devmin = decNumber(buf, off + 337, 8) ?? 0;
- if (buf[off + 475] !== 0) {
- const prefix = decString(buf, off + 345, 155);
- this.path = prefix + "/" + this.path;
- } else {
- const prefix = decString(buf, off + 345, 130);
- if (prefix) {
- this.path = prefix + "/" + this.path;
- }
- this.atime = decDate(buf, off + 476, 12);
- this.ctime = decDate(buf, off + 488, 12);
- }
+ if (!header.path) {
+ throw new Error("no path provided for tar.ReadEntry");
}
- let sum = 8 * 32;
- for (let i = off; i < off + 148; i++) {
- sum += buf[i];
+ this.path = normalizeWindowsPath(header.path);
+ this.mode = header.mode;
+ if (this.mode) {
+ this.mode = this.mode & 4095;
}
- for (let i = off + 156; i < off + 512; i++) {
- sum += buf[i];
+ this.uid = header.uid;
+ this.gid = header.gid;
+ this.uname = header.uname;
+ this.gname = header.gname;
+ this.size = this.remain;
+ this.mtime = header.mtime;
+ this.atime = header.atime;
+ this.ctime = header.ctime;
+ this.linkpath = header.linkpath ? normalizeWindowsPath(header.linkpath) : void 0;
+ this.uname = header.uname;
+ this.gname = header.gname;
+ if (ex) {
+ this.#slurp(ex);
}
- this.cksumValid = sum === this.cksum;
- if (this.cksum === void 0 && sum === 8 * 32) {
- this.nullBlock = true;
+ if (gex) {
+ this.#slurp(gex, true);
}
}
- #slurp(ex, gex = false) {
- Object.assign(this, Object.fromEntries(Object.entries(ex).filter(([k, v]) => {
- return !(v === null || v === void 0 || k === "path" && gex || k === "linkpath" && gex || k === "global");
- })));
- }
- encode(buf, off = 0) {
- if (!buf) {
- buf = this.block = Buffer.alloc(512);
- }
- if (this.#type === "Unsupported") {
- this.#type = "0";
- }
- if (!(buf.length >= off + 512)) {
- throw new Error("need 512 bytes for header");
- }
- const prefixSize = this.ctime || this.atime ? 130 : 155;
- const split = splitPrefix(this.path || "", prefixSize);
- const path16 = split[0];
- const prefix = split[1];
- this.needPax = !!split[2];
- this.needPax = encString(buf, off, 100, path16) || this.needPax;
- this.needPax = encNumber(buf, off + 100, 8, this.mode) || this.needPax;
- this.needPax = encNumber(buf, off + 108, 8, this.uid) || this.needPax;
- this.needPax = encNumber(buf, off + 116, 8, this.gid) || this.needPax;
- this.needPax = encNumber(buf, off + 124, 12, this.size) || this.needPax;
- this.needPax = encDate(buf, off + 136, 12, this.mtime) || this.needPax;
- buf[off + 156] = this.#type.charCodeAt(0);
- this.needPax = encString(buf, off + 157, 100, this.linkpath) || this.needPax;
- buf.write("ustar\x0000", off + 257, 8);
- this.needPax = encString(buf, off + 265, 32, this.uname) || this.needPax;
- this.needPax = encString(buf, off + 297, 32, this.gname) || this.needPax;
- this.needPax = encNumber(buf, off + 329, 8, this.devmaj) || this.needPax;
- this.needPax = encNumber(buf, off + 337, 8, this.devmin) || this.needPax;
- this.needPax = encString(buf, off + 345, prefixSize, prefix) || this.needPax;
- if (buf[off + 475] !== 0) {
- this.needPax = encString(buf, off + 345, 155, prefix) || this.needPax;
- } else {
- this.needPax = encString(buf, off + 345, 130, prefix) || this.needPax;
- this.needPax = encDate(buf, off + 476, 12, this.atime) || this.needPax;
- this.needPax = encDate(buf, off + 488, 12, this.ctime) || this.needPax;
+ write(data) {
+ const writeLen = data.length;
+ if (writeLen > this.blockRemain) {
+ throw new Error("writing more to entry than is appropriate");
}
- let sum = 8 * 32;
- for (let i = off; i < off + 148; i++) {
- sum += buf[i];
+ const r = this.remain;
+ const br = this.blockRemain;
+ this.remain = Math.max(0, r - writeLen);
+ this.blockRemain = Math.max(0, br - writeLen);
+ if (this.ignore) {
+ return true;
}
- for (let i = off + 156; i < off + 512; i++) {
- sum += buf[i];
+ if (r >= writeLen) {
+ return super.write(data);
}
- this.cksum = sum;
- encNumber(buf, off + 148, 8, this.cksum);
- this.cksumValid = true;
- return this.needPax;
+ return super.write(data.subarray(0, r));
}
- get type() {
- return this.#type === "Unsupported" ? this.#type : name.get(this.#type);
+ #slurp(ex, gex = false) {
+ if (ex.path)
+ ex.path = normalizeWindowsPath(ex.path);
+ if (ex.linkpath)
+ ex.linkpath = normalizeWindowsPath(ex.linkpath);
+ Object.assign(this, Object.fromEntries(Object.entries(ex).filter(([k, v]) => {
+ return !(v === null || v === void 0 || k === "path" && gex);
+ })));
}
- get typeKey() {
- return this.#type;
+ };
+ }
+});
+
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/warn-method.js
+var warnMethod;
+var init_warn_method = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/warn-method.js"() {
+ warnMethod = (self2, code2, message, data = {}) => {
+ if (self2.file) {
+ data.file = self2.file;
}
- set type(type) {
- const c = String(code.get(type));
- if (isCode(c) || c === "Unsupported") {
- this.#type = c;
- } else if (isCode(type)) {
- this.#type = type;
- } else {
- throw new TypeError("invalid entry type: " + type);
- }
+ if (self2.cwd) {
+ data.cwd = self2.cwd;
}
- };
- splitPrefix = (p, prefixSize) => {
- const pathSize = 100;
- let pp = p;
- let prefix = "";
- let ret = void 0;
- const root = import_node_path.posix.parse(p).root || ".";
- if (Buffer.byteLength(pp) < pathSize) {
- ret = [pp, prefix, false];
- } else {
- prefix = import_node_path.posix.dirname(pp);
- pp = import_node_path.posix.basename(pp);
- do {
- if (Buffer.byteLength(pp) <= pathSize && Buffer.byteLength(prefix) <= prefixSize) {
- ret = [pp, prefix, false];
- } else if (Buffer.byteLength(pp) > pathSize && Buffer.byteLength(prefix) <= prefixSize) {
- ret = [pp.slice(0, pathSize - 1), prefix, true];
- } else {
- pp = import_node_path.posix.join(import_node_path.posix.basename(prefix), pp);
- prefix = import_node_path.posix.dirname(prefix);
- }
- } while (prefix !== root && ret === void 0);
- if (!ret) {
- ret = [p.slice(0, pathSize - 1), "", true];
+ data.code = message instanceof Error && message.code || code2;
+ data.tarCode = code2;
+ if (!self2.strict && data.recoverable !== false) {
+ if (message instanceof Error) {
+ data = Object.assign(message, data);
+ message = message.message;
}
+ self2.emit("warn", code2, message, data);
+ } else if (message instanceof Error) {
+ self2.emit("error", Object.assign(message, data));
+ } else {
+ self2.emit("error", Object.assign(new Error(`${code2}: ${message}`), data));
}
- return ret;
- };
- decString = (buf, off, size) => buf.subarray(off, off + size).toString("utf8").replace(/\0.*/, "");
- decDate = (buf, off, size) => numToDate(decNumber(buf, off, size));
- numToDate = (num) => num === void 0 ? void 0 : new Date(num * 1e3);
- decNumber = (buf, off, size) => Number(buf[off]) & 128 ? parse(buf.subarray(off, off + size)) : decSmallNumber(buf, off, size);
- nanUndef = (value) => isNaN(value) ? void 0 : value;
- decSmallNumber = (buf, off, size) => nanUndef(parseInt(buf.subarray(off, off + size).toString("utf8").replace(/\0.*$/, "").trim(), 8));
- MAXNUM = {
- 12: 8589934591,
- 8: 2097151
};
- encNumber = (buf, off, size, num) => num === void 0 ? false : num > MAXNUM[size] || num < 0 ? (encode(num, buf.subarray(off, off + size)), true) : (encSmallNumber(buf, off, size, num), false);
- encSmallNumber = (buf, off, size, num) => buf.write(octalString(num, size), off, size, "ascii");
- octalString = (num, size) => padOctal(Math.floor(num).toString(8), size);
- padOctal = (str, size) => (str.length === size - 1 ? str : new Array(size - str.length - 1).join("0") + str + " ") + "\0";
- encDate = (buf, off, size, date) => date === void 0 ? false : encNumber(buf, off, size, date.getTime() / 1e3);
- NULLS = new Array(156).join("\0");
- encString = (buf, off, size, str) => str === void 0 ? false : (buf.write(str + NULLS, off, size, "utf8"), str.length !== Buffer.byteLength(str) || str.length > size);
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/pax.js
-var import_node_path2, Pax, merge, parseKV, parseKVLine;
-var init_pax = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/pax.js"() {
- import_node_path2 = require("node:path");
- init_header();
- Pax = class _Pax {
- atime;
- mtime;
- ctime;
- charset;
- comment;
- gid;
- uid;
- gname;
- uname;
- linkpath;
- dev;
- ino;
- nlink;
- path;
- size;
- mode;
- global;
- constructor(obj, global2 = false) {
- this.atime = obj.atime;
- this.charset = obj.charset;
- this.comment = obj.comment;
- this.ctime = obj.ctime;
- this.dev = obj.dev;
- this.gid = obj.gid;
- this.global = global2;
- this.gname = obj.gname;
- this.ino = obj.ino;
- this.linkpath = obj.linkpath;
- this.mtime = obj.mtime;
- this.nlink = obj.nlink;
- this.path = obj.path;
- this.size = obj.size;
- this.uid = obj.uid;
- this.uname = obj.uname;
- }
- encode() {
- const body = this.encodeBody();
- if (body === "") {
- return Buffer.allocUnsafe(0);
- }
- const bodyLen = Buffer.byteLength(body);
- const bufLen = 512 * Math.ceil(1 + bodyLen / 512);
- const buf = Buffer.allocUnsafe(bufLen);
- for (let i = 0; i < 512; i++) {
- buf[i] = 0;
- }
- new Header({
- // XXX split the path
- // then the path should be PaxHeader + basename, but less than 99,
- // prepend with the dirname
- /* c8 ignore start */
- path: ("PaxHeader/" + (0, import_node_path2.basename)(this.path ?? "")).slice(0, 99),
- /* c8 ignore stop */
- mode: this.mode || 420,
- uid: this.uid,
- gid: this.gid,
- size: bodyLen,
- mtime: this.mtime,
- type: this.global ? "GlobalExtendedHeader" : "ExtendedHeader",
- linkpath: "",
- uname: this.uname || "",
- gname: this.gname || "",
- devmaj: 0,
- devmin: 0,
- atime: this.atime,
- ctime: this.ctime
- }).encode(buf);
- buf.write(body, 512, bodyLen, "utf8");
- for (let i = bodyLen + 512; i < buf.length; i++) {
- buf[i] = 0;
- }
- return buf;
- }
- encodeBody() {
- return this.encodeField("path") + this.encodeField("ctime") + this.encodeField("atime") + this.encodeField("dev") + this.encodeField("ino") + this.encodeField("nlink") + this.encodeField("charset") + this.encodeField("comment") + this.encodeField("gid") + this.encodeField("gname") + this.encodeField("linkpath") + this.encodeField("mtime") + this.encodeField("size") + this.encodeField("uid") + this.encodeField("uname");
- }
- encodeField(field) {
- if (this[field] === void 0) {
- return "";
- }
- const r = this[field];
- const v = r instanceof Date ? r.getTime() / 1e3 : r;
- const s = " " + (field === "dev" || field === "ino" || field === "nlink" ? "SCHILY." : "") + field + "=" + v + "\n";
- const byteLen = Buffer.byteLength(s);
- let digits = Math.floor(Math.log(byteLen) / Math.log(10)) + 1;
- if (byteLen + digits >= Math.pow(10, digits)) {
- digits += 1;
- }
- const len = digits + byteLen;
- return len + s;
- }
- static parse(str, ex, g = false) {
- return new _Pax(merge(parseKV(str), ex), g);
- }
- };
- merge = (a, b) => b ? Object.assign({}, b, a) : a;
- parseKV = (str) => str.replace(/\n$/, "").split("\n").reduce(parseKVLine, /* @__PURE__ */ Object.create(null));
- parseKVLine = (set, line) => {
- const n = parseInt(line, 10);
- if (n !== Buffer.byteLength(line) + 1) {
- return set;
- }
- line = line.slice((n + " ").length);
- const kv = line.split("=");
- const r = kv.shift();
- if (!r) {
- return set;
- }
- const k = r.replace(/^SCHILY\.(dev|ino|nlink)/, "$1");
- const v = kv.join("=");
- set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(Number(v) * 1e3) : /^[0-9]+$/.test(v) ? +v : v;
- return set;
- };
- }
-});
-
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/normalize-windows-path.js
-var platform, normalizeWindowsPath;
-var init_normalize_windows_path = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/normalize-windows-path.js"() {
- platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
- normalizeWindowsPath = platform !== "win32" ? (p) => p : (p) => p && p.replace(/\\/g, "/");
- }
-});
-
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/read-entry.js
-var ReadEntry;
-var init_read_entry = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/read-entry.js"() {
- init_esm();
- init_normalize_windows_path();
- ReadEntry = class extends Minipass {
- extended;
- globalExtended;
- header;
- startBlockSize;
- blockRemain;
- remain;
- type;
- meta = false;
- ignore = false;
- path;
- mode;
- uid;
- gid;
- uname;
- gname;
- size = 0;
- mtime;
- atime;
- ctime;
- linkpath;
- dev;
- ino;
- nlink;
- invalid = false;
- absolute;
- unsupported = false;
- constructor(header, ex, gex) {
- super({});
- this.pause();
- this.extended = ex;
- this.globalExtended = gex;
- this.header = header;
- this.remain = header.size ?? 0;
- this.startBlockSize = 512 * Math.ceil(this.remain / 512);
- this.blockRemain = this.startBlockSize;
- this.type = header.type;
- switch (this.type) {
- case "File":
- case "OldFile":
- case "Link":
- case "SymbolicLink":
- case "CharacterDevice":
- case "BlockDevice":
- case "Directory":
- case "FIFO":
- case "ContiguousFile":
- case "GNUDumpDir":
- break;
- case "NextFileHasLongLinkpath":
- case "NextFileHasLongPath":
- case "OldGnuLongPath":
- case "GlobalExtendedHeader":
- case "ExtendedHeader":
- case "OldExtendedHeader":
- this.meta = true;
- break;
- // NOTE: gnutar and bsdtar treat unrecognized types as 'File'
- // it may be worth doing the same, but with a warning.
- default:
- this.ignore = true;
- }
- if (!header.path) {
- throw new Error("no path provided for tar.ReadEntry");
- }
- this.path = normalizeWindowsPath(header.path);
- this.mode = header.mode;
- if (this.mode) {
- this.mode = this.mode & 4095;
- }
- this.uid = header.uid;
- this.gid = header.gid;
- this.uname = header.uname;
- this.gname = header.gname;
- this.size = this.remain;
- this.mtime = header.mtime;
- this.atime = header.atime;
- this.ctime = header.ctime;
- this.linkpath = header.linkpath ? normalizeWindowsPath(header.linkpath) : void 0;
- this.uname = header.uname;
- this.gname = header.gname;
- if (ex) {
- this.#slurp(ex);
- }
- if (gex) {
- this.#slurp(gex, true);
- }
- }
- write(data) {
- const writeLen = data.length;
- if (writeLen > this.blockRemain) {
- throw new Error("writing more to entry than is appropriate");
- }
- const r = this.remain;
- const br = this.blockRemain;
- this.remain = Math.max(0, r - writeLen);
- this.blockRemain = Math.max(0, br - writeLen);
- if (this.ignore) {
- return true;
- }
- if (r >= writeLen) {
- return super.write(data);
- }
- return super.write(data.subarray(0, r));
- }
- #slurp(ex, gex = false) {
- if (ex.path)
- ex.path = normalizeWindowsPath(ex.path);
- if (ex.linkpath)
- ex.linkpath = normalizeWindowsPath(ex.linkpath);
- Object.assign(this, Object.fromEntries(Object.entries(ex).filter(([k, v]) => {
- return !(v === null || v === void 0 || k === "path" && gex);
- })));
- }
- };
- }
-});
-
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/warn-method.js
-var warnMethod;
-var init_warn_method = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/warn-method.js"() {
- warnMethod = (self2, code2, message, data = {}) => {
- if (self2.file) {
- data.file = self2.file;
- }
- if (self2.cwd) {
- data.cwd = self2.cwd;
- }
- data.code = message instanceof Error && message.code || code2;
- data.tarCode = code2;
- if (!self2.strict && data.recoverable !== false) {
- if (message instanceof Error) {
- data = Object.assign(message, data);
- message = message.message;
- }
- self2.emit("warn", code2, message, data);
- } else if (message instanceof Error) {
- self2.emit("error", Object.assign(message, data));
- } else {
- self2.emit("error", Object.assign(new Error(`${code2}: ${message}`), data));
- }
- };
- }
-});
-
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/parse.js
-var import_events3, maxMetaEntrySize, gzipHeader, STATE, WRITEENTRY, READENTRY, NEXTENTRY, PROCESSENTRY, EX, GEX, META, EMITMETA, BUFFER2, QUEUE, ENDED, EMITTEDEND, EMIT, UNZIP, CONSUMECHUNK, CONSUMECHUNKSUB, CONSUMEBODY, CONSUMEMETA, CONSUMEHEADER, CONSUMING, BUFFERCONCAT, MAYBEEND, WRITING, ABORTED2, DONE, SAW_VALID_ENTRY, SAW_NULL_BLOCK, SAW_EOF, CLOSESTREAM, noop, Parser;
-var init_parse = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/parse.js"() {
- import_events3 = require("events");
- init_esm3();
- init_esm4();
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/parse.js
+var import_events3, maxMetaEntrySize, gzipHeader, zstdHeader, ZIP_HEADER_LEN, STATE, WRITEENTRY, READENTRY, NEXTENTRY, PROCESSENTRY, EX, GEX, META, EMITMETA, BUFFER2, QUEUE, ENDED, EMITTEDEND, EMIT, UNZIP, CONSUMECHUNK, CONSUMECHUNKSUB, CONSUMEBODY, CONSUMEMETA, CONSUMEHEADER, CONSUMING, BUFFERCONCAT, MAYBEEND, WRITING, ABORTED2, DONE, SAW_VALID_ENTRY, SAW_NULL_BLOCK, SAW_EOF, CLOSESTREAM, noop2, Parser;
+var init_parse = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/parse.js"() {
+ import_events3 = require("events");
+ init_esm3();
init_header();
init_pax();
init_read_entry();
init_warn_method();
maxMetaEntrySize = 1024 * 1024;
gzipHeader = Buffer.from([31, 139]);
+ zstdHeader = Buffer.from([40, 181, 47, 253]);
+ ZIP_HEADER_LEN = Math.max(gzipHeader.length, zstdHeader.length);
STATE = Symbol("state");
WRITEENTRY = Symbol("writeEntry");
READENTRY = Symbol("readEntry");
@@ -15087,16 +14980,17 @@ var init_parse = __esm({
SAW_NULL_BLOCK = Symbol("sawNullBlock");
SAW_EOF = Symbol("sawEOF");
CLOSESTREAM = Symbol("closeStream");
- noop = () => true;
+ noop2 = () => true;
Parser = class extends import_events3.EventEmitter {
file;
strict;
maxMetaEntrySize;
filter;
brotli;
+ zstd;
writable = true;
readable = false;
- [QUEUE] = new Yallist();
+ [QUEUE] = [];
[BUFFER2];
[READENTRY];
[WRITEENTRY];
@@ -15132,9 +15026,11 @@ var init_parse = __esm({
}
this.strict = !!opt.strict;
this.maxMetaEntrySize = opt.maxMetaEntrySize || maxMetaEntrySize;
- this.filter = typeof opt.filter === "function" ? opt.filter : noop;
+ this.filter = typeof opt.filter === "function" ? opt.filter : noop2;
const isTBR = opt.file && (opt.file.endsWith(".tar.br") || opt.file.endsWith(".tbr"));
- this.brotli = !opt.gzip && opt.brotli !== void 0 ? opt.brotli : isTBR ? void 0 : false;
+ this.brotli = !(opt.gzip || opt.zstd) && opt.brotli !== void 0 ? opt.brotli : isTBR ? void 0 : false;
+ const isTZST = opt.file && (opt.file.endsWith(".tar.zst") || opt.file.endsWith(".tzst"));
+ this.zstd = !(opt.gzip || opt.brotli) && opt.zstd !== void 0 ? opt.zstd : isTZST ? true : void 0;
this.on("end", () => this[CLOSESTREAM]());
if (typeof opt.onwarn === "function") {
this.on("warn", opt.onwarn);
@@ -15355,7 +15251,7 @@ var init_parse = __esm({
chunk = Buffer.concat([this[BUFFER2], chunk]);
this[BUFFER2] = void 0;
}
- if (chunk.length < gzipHeader.length) {
+ if (chunk.length < ZIP_HEADER_LEN) {
this[BUFFER2] = chunk;
cb?.();
return true;
@@ -15365,8 +15261,18 @@ var init_parse = __esm({
this[UNZIP] = false;
}
}
- const maybeBrotli = this.brotli === void 0;
- if (this[UNZIP] === false && maybeBrotli) {
+ let isZstd = false;
+ if (this[UNZIP] === false && this.zstd !== false) {
+ isZstd = true;
+ for (let i = 0; i < zstdHeader.length; i++) {
+ if (chunk[i] !== zstdHeader[i]) {
+ isZstd = false;
+ break;
+ }
+ }
+ }
+ const maybeBrotli = this.brotli === void 0 && !isZstd;
+ if (this[UNZIP] === false && maybeBrotli) {
if (chunk.length < 512) {
if (this[ENDED]) {
this.brotli = true;
@@ -15384,10 +15290,10 @@ var init_parse = __esm({
}
}
}
- if (this[UNZIP] === void 0 || this[UNZIP] === false && this.brotli) {
+ if (this[UNZIP] === void 0 || this[UNZIP] === false && (this.brotli || isZstd)) {
const ended = this[ENDED];
this[ENDED] = false;
- this[UNZIP] = this[UNZIP] === void 0 ? new Unzip({}) : new BrotliDecompress({});
+ this[UNZIP] = this[UNZIP] === void 0 ? new Unzip({}) : isZstd ? new ZstdDecompress({}) : new BrotliDecompress({});
this[UNZIP].on("data", (chunk2) => this[CONSUMECHUNK](chunk2));
this[UNZIP].on("error", (er) => this.abort(er));
this[UNZIP].on("end", () => {
@@ -15516,7 +15422,7 @@ var init_parse = __esm({
this[UNZIP].end();
} else {
this[ENDED] = true;
- if (this.brotli === void 0)
+ if (this.brotli === void 0 || this.zstd === void 0)
chunk = chunk || Buffer.alloc(0);
if (chunk)
this.write(chunk);
@@ -15529,10 +15435,10 @@ var init_parse = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/strip-trailing-slashes.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/strip-trailing-slashes.js
var stripTrailingSlashes;
var init_strip_trailing_slashes = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/strip-trailing-slashes.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/strip-trailing-slashes.js"() {
stripTrailingSlashes = (str) => {
let i = str.length - 1;
let slashesStart = -1;
@@ -15545,7 +15451,7 @@ var init_strip_trailing_slashes = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/list.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/list.js
var list_exports = {};
__export(list_exports, {
filesFilter: () => filesFilter,
@@ -15553,7 +15459,7 @@ __export(list_exports, {
});
var import_node_fs, import_path2, onReadEntryFunction, filesFilter, listFileSync, listFile, list;
var init_list = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/list.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/list.js"() {
init_esm2();
import_node_fs = __toESM(require("node:fs"), 1);
import_path2 = require("path");
@@ -15593,16 +15499,20 @@ var init_list = __esm({
const file = opt.file;
let fd;
try {
- const stat2 = import_node_fs.default.statSync(file);
+ fd = import_node_fs.default.openSync(file, "r");
+ const stat = import_node_fs.default.fstatSync(fd);
const readSize = opt.maxReadSize || 16 * 1024 * 1024;
- if (stat2.size < readSize) {
- p.end(import_node_fs.default.readFileSync(file));
+ if (stat.size < readSize) {
+ const buf = Buffer.allocUnsafe(stat.size);
+ const read = import_node_fs.default.readSync(fd, buf, 0, stat.size, 0);
+ p.end(read === buf.byteLength ? buf : buf.subarray(0, read));
} else {
let pos2 = 0;
const buf = Buffer.allocUnsafe(readSize);
- fd = import_node_fs.default.openSync(file, "r");
- while (pos2 < stat2.size) {
+ while (pos2 < stat.size) {
const bytesRead = import_node_fs.default.readSync(fd, buf, 0, readSize, pos2);
+ if (bytesRead === 0)
+ break;
pos2 += bytesRead;
p.write(buf.subarray(0, bytesRead));
}
@@ -15618,22 +15528,22 @@ var init_list = __esm({
}
};
listFile = (opt, _files) => {
- const parse5 = new Parser(opt);
+ const parse4 = new Parser(opt);
const readSize = opt.maxReadSize || 16 * 1024 * 1024;
const file = opt.file;
- const p = new Promise((resolve2, reject) => {
- parse5.on("error", reject);
- parse5.on("end", resolve2);
- import_node_fs.default.stat(file, (er, stat2) => {
+ const p = new Promise((resolve, reject) => {
+ parse4.on("error", reject);
+ parse4.on("end", resolve);
+ import_node_fs.default.stat(file, (er, stat) => {
if (er) {
reject(er);
} else {
const stream = new ReadStream(file, {
readSize,
- size: stat2.size
+ size: stat.size
});
stream.on("error", reject);
- stream.pipe(parse5);
+ stream.pipe(parse4);
}
});
});
@@ -15648,10 +15558,10 @@ var init_list = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/get-write-flag.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/get-write-flag.js
var import_fs3, platform2, isWindows, O_CREAT, O_TRUNC, O_WRONLY, UV_FS_O_FILEMAP, fMapEnabled, fMapLimit, fMapFlag, getWriteFlag;
var init_get_write_flag = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/get-write-flag.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/get-write-flag.js"() {
import_fs3 = __toESM(require("fs"), 1);
platform2 = process.env.__FAKE_PLATFORM__ || process.platform;
isWindows = platform2 === "win32";
@@ -15666,7 +15576,7 @@ var init_get_write_flag = __esm({
// .yarn/cache/chownr-npm-3.0.0-5275e85d25-43925b8770.zip/node_modules/chownr/dist/esm/index.js
var import_node_fs2, import_node_path3, lchownSync, chown, chownrKid, chownr, chownrKidSync, chownrSync;
-var init_esm5 = __esm({
+var init_esm4 = __esm({
".yarn/cache/chownr-npm-3.0.0-5275e85d25-43925b8770.zip/node_modules/chownr/dist/esm/index.js"() {
import_node_fs2 = __toESM(require("node:fs"), 1);
import_node_path3 = __toESM(require("node:path"), 1);
@@ -15747,277 +15657,10 @@ var init_esm5 = __esm({
}
});
-// .yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/opts-arg.js
-var import_fs4, optsArg;
-var init_opts_arg = __esm({
- ".yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/opts-arg.js"() {
- import_fs4 = require("fs");
- optsArg = (opts) => {
- if (!opts) {
- opts = { mode: 511 };
- } else if (typeof opts === "object") {
- opts = { mode: 511, ...opts };
- } else if (typeof opts === "number") {
- opts = { mode: opts };
- } else if (typeof opts === "string") {
- opts = { mode: parseInt(opts, 8) };
- } else {
- throw new TypeError("invalid options argument");
- }
- const resolved = opts;
- const optsFs = opts.fs || {};
- opts.mkdir = opts.mkdir || optsFs.mkdir || import_fs4.mkdir;
- opts.mkdirAsync = opts.mkdirAsync ? opts.mkdirAsync : async (path16, options) => {
- return new Promise((res, rej) => resolved.mkdir(path16, options, (er, made) => er ? rej(er) : res(made)));
- };
- opts.stat = opts.stat || optsFs.stat || import_fs4.stat;
- opts.statAsync = opts.statAsync ? opts.statAsync : async (path16) => new Promise((res, rej) => resolved.stat(path16, (err, stats) => err ? rej(err) : res(stats)));
- opts.statSync = opts.statSync || optsFs.statSync || import_fs4.statSync;
- opts.mkdirSync = opts.mkdirSync || optsFs.mkdirSync || import_fs4.mkdirSync;
- return resolved;
- };
- }
-});
-
-// .yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/mkdirp-manual.js
-var import_path3, mkdirpManualSync, mkdirpManual;
-var init_mkdirp_manual = __esm({
- ".yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/mkdirp-manual.js"() {
- import_path3 = require("path");
- init_opts_arg();
- mkdirpManualSync = (path16, options, made) => {
- const parent = (0, import_path3.dirname)(path16);
- const opts = { ...optsArg(options), recursive: false };
- if (parent === path16) {
- try {
- return opts.mkdirSync(path16, opts);
- } catch (er) {
- const fer = er;
- if (fer && fer.code !== "EISDIR") {
- throw er;
- }
- return;
- }
- }
- try {
- opts.mkdirSync(path16, opts);
- return made || path16;
- } catch (er) {
- const fer = er;
- if (fer && fer.code === "ENOENT") {
- return mkdirpManualSync(path16, opts, mkdirpManualSync(parent, opts, made));
- }
- if (fer && fer.code !== "EEXIST" && fer && fer.code !== "EROFS") {
- throw er;
- }
- try {
- if (!opts.statSync(path16).isDirectory())
- throw er;
- } catch (_) {
- throw er;
- }
- }
- };
- mkdirpManual = Object.assign(async (path16, options, made) => {
- const opts = optsArg(options);
- opts.recursive = false;
- const parent = (0, import_path3.dirname)(path16);
- if (parent === path16) {
- return opts.mkdirAsync(path16, opts).catch((er) => {
- const fer = er;
- if (fer && fer.code !== "EISDIR") {
- throw er;
- }
- });
- }
- return opts.mkdirAsync(path16, opts).then(() => made || path16, async (er) => {
- const fer = er;
- if (fer && fer.code === "ENOENT") {
- return mkdirpManual(parent, opts).then((made2) => mkdirpManual(path16, opts, made2));
- }
- if (fer && fer.code !== "EEXIST" && fer.code !== "EROFS") {
- throw er;
- }
- return opts.statAsync(path16).then((st) => {
- if (st.isDirectory()) {
- return made;
- } else {
- throw er;
- }
- }, () => {
- throw er;
- });
- });
- }, { sync: mkdirpManualSync });
- }
-});
-
-// .yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/find-made.js
-var import_path4, findMade, findMadeSync;
-var init_find_made = __esm({
- ".yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/find-made.js"() {
- import_path4 = require("path");
- findMade = async (opts, parent, path16) => {
- if (path16 === parent) {
- return;
- }
- return opts.statAsync(parent).then(
- (st) => st.isDirectory() ? path16 : void 0,
- // will fail later
- // will fail later
- (er) => {
- const fer = er;
- return fer && fer.code === "ENOENT" ? findMade(opts, (0, import_path4.dirname)(parent), parent) : void 0;
- }
- );
- };
- findMadeSync = (opts, parent, path16) => {
- if (path16 === parent) {
- return void 0;
- }
- try {
- return opts.statSync(parent).isDirectory() ? path16 : void 0;
- } catch (er) {
- const fer = er;
- return fer && fer.code === "ENOENT" ? findMadeSync(opts, (0, import_path4.dirname)(parent), parent) : void 0;
- }
- };
- }
-});
-
-// .yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/mkdirp-native.js
-var import_path5, mkdirpNativeSync, mkdirpNative;
-var init_mkdirp_native = __esm({
- ".yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/mkdirp-native.js"() {
- import_path5 = require("path");
- init_find_made();
- init_mkdirp_manual();
- init_opts_arg();
- mkdirpNativeSync = (path16, options) => {
- const opts = optsArg(options);
- opts.recursive = true;
- const parent = (0, import_path5.dirname)(path16);
- if (parent === path16) {
- return opts.mkdirSync(path16, opts);
- }
- const made = findMadeSync(opts, path16);
- try {
- opts.mkdirSync(path16, opts);
- return made;
- } catch (er) {
- const fer = er;
- if (fer && fer.code === "ENOENT") {
- return mkdirpManualSync(path16, opts);
- } else {
- throw er;
- }
- }
- };
- mkdirpNative = Object.assign(async (path16, options) => {
- const opts = { ...optsArg(options), recursive: true };
- const parent = (0, import_path5.dirname)(path16);
- if (parent === path16) {
- return await opts.mkdirAsync(path16, opts);
- }
- return findMade(opts, path16).then((made) => opts.mkdirAsync(path16, opts).then((m) => made || m).catch((er) => {
- const fer = er;
- if (fer && fer.code === "ENOENT") {
- return mkdirpManual(path16, opts);
- } else {
- throw er;
- }
- }));
- }, { sync: mkdirpNativeSync });
- }
-});
-
-// .yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/path-arg.js
-var import_path6, platform3, pathArg;
-var init_path_arg = __esm({
- ".yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/path-arg.js"() {
- import_path6 = require("path");
- platform3 = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
- pathArg = (path16) => {
- if (/\0/.test(path16)) {
- throw Object.assign(new TypeError("path must be a string without null bytes"), {
- path: path16,
- code: "ERR_INVALID_ARG_VALUE"
- });
- }
- path16 = (0, import_path6.resolve)(path16);
- if (platform3 === "win32") {
- const badWinChars = /[*|"<>?:]/;
- const { root } = (0, import_path6.parse)(path16);
- if (badWinChars.test(path16.substring(root.length))) {
- throw Object.assign(new Error("Illegal characters in path."), {
- path: path16,
- code: "EINVAL"
- });
- }
- }
- return path16;
- };
- }
-});
-
-// .yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/use-native.js
-var import_fs5, version2, versArr, hasNative, useNativeSync, useNative;
-var init_use_native = __esm({
- ".yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/use-native.js"() {
- import_fs5 = require("fs");
- init_opts_arg();
- version2 = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version;
- versArr = version2.replace(/^v/, "").split(".");
- hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12;
- useNativeSync = !hasNative ? () => false : (opts) => optsArg(opts).mkdirSync === import_fs5.mkdirSync;
- useNative = Object.assign(!hasNative ? () => false : (opts) => optsArg(opts).mkdir === import_fs5.mkdir, {
- sync: useNativeSync
- });
- }
-});
-
-// .yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/index.js
-var mkdirpSync, mkdirp;
-var init_mjs = __esm({
- ".yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-9f2b975e92.zip/node_modules/mkdirp/dist/mjs/index.js"() {
- init_mkdirp_manual();
- init_mkdirp_native();
- init_opts_arg();
- init_path_arg();
- init_use_native();
- init_mkdirp_manual();
- init_mkdirp_native();
- init_use_native();
- mkdirpSync = (path16, opts) => {
- path16 = pathArg(path16);
- const resolved = optsArg(opts);
- return useNativeSync(resolved) ? mkdirpNativeSync(path16, resolved) : mkdirpManualSync(path16, resolved);
- };
- mkdirp = Object.assign(async (path16, opts) => {
- path16 = pathArg(path16);
- const resolved = optsArg(opts);
- return useNative(resolved) ? mkdirpNative(path16, resolved) : mkdirpManual(path16, resolved);
- }, {
- mkdirpSync,
- mkdirpNative,
- mkdirpNativeSync,
- mkdirpManual,
- mkdirpManualSync,
- sync: mkdirpSync,
- native: mkdirpNative,
- nativeSync: mkdirpNativeSync,
- manual: mkdirpManual,
- manualSync: mkdirpManualSync,
- useNative,
- useNativeSync
- });
- }
-});
-
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/cwd-error.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/cwd-error.js
var CwdError;
var init_cwd_error = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/cwd-error.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/cwd-error.js"() {
CwdError = class extends Error {
path;
code;
@@ -16034,10 +15677,10 @@ var init_cwd_error = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/symlink-error.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/symlink-error.js
var SymlinkError;
var init_symlink_error = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/symlink-error.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/symlink-error.js"() {
SymlinkError = class extends Error {
path;
symlink;
@@ -16055,28 +15698,26 @@ var init_symlink_error = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/mkdir.js
-var import_fs6, import_node_path4, cGet, cSet, checkCwd, mkdir3, mkdir_, onmkdir, checkCwdSync, mkdirSync4;
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/mkdir.js
+var import_node_fs3, import_promises, import_node_path4, checkCwd, mkdir, mkdir_, onmkdir, checkCwdSync, mkdirSync2;
var init_mkdir = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/mkdir.js"() {
- init_esm5();
- import_fs6 = __toESM(require("fs"), 1);
- init_mjs();
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/mkdir.js"() {
+ init_esm4();
+ import_node_fs3 = __toESM(require("node:fs"), 1);
+ import_promises = __toESM(require("node:fs/promises"), 1);
import_node_path4 = __toESM(require("node:path"), 1);
init_cwd_error();
init_normalize_windows_path();
init_symlink_error();
- cGet = (cache, key) => cache.get(normalizeWindowsPath(key));
- cSet = (cache, key, val) => cache.set(normalizeWindowsPath(key), val);
checkCwd = (dir, cb) => {
- import_fs6.default.stat(dir, (er, st) => {
+ import_node_fs3.default.stat(dir, (er, st) => {
if (er || !st.isDirectory()) {
er = new CwdError(dir, er?.code || "ENOTDIR");
}
cb(er);
});
};
- mkdir3 = (dir, opt, cb) => {
+ mkdir = (dir, opt, cb) => {
dir = normalizeWindowsPath(dir);
const umask = opt.umask ?? 18;
const mode = opt.mode | 448;
@@ -16086,30 +15727,25 @@ var init_mkdir = __esm({
const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid);
const preserve = opt.preserve;
const unlink = opt.unlink;
- const cache = opt.cache;
const cwd = normalizeWindowsPath(opt.cwd);
const done = (er, created) => {
if (er) {
cb(er);
} else {
- cSet(cache, dir, true);
if (created && doChown) {
chownr(created, uid, gid, (er2) => done(er2));
} else if (needChmod) {
- import_fs6.default.chmod(dir, mode, cb);
+ import_node_fs3.default.chmod(dir, mode, cb);
} else {
cb();
}
}
};
- if (cache && cGet(cache, dir) === true) {
- return done();
- }
if (dir === cwd) {
return checkCwd(dir, done);
}
if (preserve) {
- return mkdirp(dir, { mode }).then(
+ return import_promises.default.mkdir(dir, { mode, recursive: true }).then(
(made) => done(null, made ?? void 0),
// oh, ts
done
@@ -16117,33 +15753,30 @@ var init_mkdir = __esm({
}
const sub = normalizeWindowsPath(import_node_path4.default.relative(cwd, dir));
const parts = sub.split("/");
- mkdir_(cwd, parts, mode, cache, unlink, cwd, void 0, done);
+ mkdir_(cwd, parts, mode, unlink, cwd, void 0, done);
};
- mkdir_ = (base, parts, mode, cache, unlink, cwd, created, cb) => {
+ mkdir_ = (base, parts, mode, unlink, cwd, created, cb) => {
if (!parts.length) {
return cb(null, created);
}
const p = parts.shift();
const part = normalizeWindowsPath(import_node_path4.default.resolve(base + "/" + p));
- if (cGet(cache, part)) {
- return mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
- }
- import_fs6.default.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb));
+ import_node_fs3.default.mkdir(part, mode, onmkdir(part, parts, mode, unlink, cwd, created, cb));
};
- onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => (er) => {
+ onmkdir = (part, parts, mode, unlink, cwd, created, cb) => (er) => {
if (er) {
- import_fs6.default.lstat(part, (statEr, st) => {
+ import_node_fs3.default.lstat(part, (statEr, st) => {
if (statEr) {
statEr.path = statEr.path && normalizeWindowsPath(statEr.path);
cb(statEr);
} else if (st.isDirectory()) {
- mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
+ mkdir_(part, parts, mode, unlink, cwd, created, cb);
} else if (unlink) {
- import_fs6.default.unlink(part, (er2) => {
+ import_node_fs3.default.unlink(part, (er2) => {
if (er2) {
return cb(er2);
}
- import_fs6.default.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb));
+ import_node_fs3.default.mkdir(part, mode, onmkdir(part, parts, mode, unlink, cwd, created, cb));
});
} else if (st.isSymbolicLink()) {
return cb(new SymlinkError(part, part + "/" + parts.join("/")));
@@ -16153,14 +15786,14 @@ var init_mkdir = __esm({
});
} else {
created = created || part;
- mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
+ mkdir_(part, parts, mode, unlink, cwd, created, cb);
}
};
checkCwdSync = (dir) => {
let ok = false;
let code2 = void 0;
try {
- ok = import_fs6.default.statSync(dir).isDirectory();
+ ok = import_node_fs3.default.statSync(dir).isDirectory();
} catch (er) {
code2 = er?.code;
} finally {
@@ -16169,7 +15802,7 @@ var init_mkdir = __esm({
}
}
};
- mkdirSync4 = (dir, opt) => {
+ mkdirSync2 = (dir, opt) => {
dir = normalizeWindowsPath(dir);
const umask = opt.umask ?? 18;
const mode = opt.mode | 448;
@@ -16179,49 +15812,38 @@ var init_mkdir = __esm({
const doChown = typeof uid === "number" && typeof gid === "number" && (uid !== opt.processUid || gid !== opt.processGid);
const preserve = opt.preserve;
const unlink = opt.unlink;
- const cache = opt.cache;
const cwd = normalizeWindowsPath(opt.cwd);
const done = (created2) => {
- cSet(cache, dir, true);
if (created2 && doChown) {
chownrSync(created2, uid, gid);
}
if (needChmod) {
- import_fs6.default.chmodSync(dir, mode);
+ import_node_fs3.default.chmodSync(dir, mode);
}
};
- if (cache && cGet(cache, dir) === true) {
- return done();
- }
if (dir === cwd) {
checkCwdSync(cwd);
return done();
}
if (preserve) {
- return done(mkdirpSync(dir, mode) ?? void 0);
+ return done(import_node_fs3.default.mkdirSync(dir, { mode, recursive: true }) ?? void 0);
}
const sub = normalizeWindowsPath(import_node_path4.default.relative(cwd, dir));
const parts = sub.split("/");
let created = void 0;
for (let p = parts.shift(), part = cwd; p && (part += "/" + p); p = parts.shift()) {
part = normalizeWindowsPath(import_node_path4.default.resolve(part));
- if (cGet(cache, part)) {
- continue;
- }
try {
- import_fs6.default.mkdirSync(part, mode);
+ import_node_fs3.default.mkdirSync(part, mode);
created = created || part;
- cSet(cache, part, true);
} catch (er) {
- const st = import_fs6.default.lstatSync(part);
+ const st = import_node_fs3.default.lstatSync(part);
if (st.isDirectory()) {
- cSet(cache, part, true);
continue;
} else if (unlink) {
- import_fs6.default.unlinkSync(part);
- import_fs6.default.mkdirSync(part, mode);
+ import_node_fs3.default.unlinkSync(part);
+ import_node_fs3.default.mkdirSync(part, mode);
created = created || part;
- cSet(cache, part, true);
continue;
} else if (st.isSymbolicLink()) {
return new SymlinkError(part, part + "/" + parts.join("/"));
@@ -16233,45 +15855,30 @@ var init_mkdir = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/normalize-unicode.js
-var normalizeCache, hasOwnProperty, normalizeUnicode;
-var init_normalize_unicode = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/normalize-unicode.js"() {
- normalizeCache = /* @__PURE__ */ Object.create(null);
- ({ hasOwnProperty } = Object.prototype);
- normalizeUnicode = (s) => {
- if (!hasOwnProperty.call(normalizeCache, s)) {
- normalizeCache[s] = s.normalize("NFD");
- }
- return normalizeCache[s];
- };
- }
-});
-
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/strip-absolute-path.js
-var import_node_path5, isAbsolute, parse4, stripAbsolutePath;
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/strip-absolute-path.js
+var import_node_path5, isAbsolute, parse3, stripAbsolutePath;
var init_strip_absolute_path = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/strip-absolute-path.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/strip-absolute-path.js"() {
import_node_path5 = require("node:path");
- ({ isAbsolute, parse: parse4 } = import_node_path5.win32);
+ ({ isAbsolute, parse: parse3 } = import_node_path5.win32);
stripAbsolutePath = (path16) => {
let r = "";
- let parsed = parse4(path16);
+ let parsed = parse3(path16);
while (isAbsolute(path16) || parsed.root) {
const root = path16.charAt(0) === "/" && path16.slice(0, 4) !== "//?/" ? "/" : parsed.root;
path16 = path16.slice(root.length);
r += root;
- parsed = parse4(path16);
+ parsed = parse3(path16);
}
return [r, path16];
};
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/winchars.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/winchars.js
var raw, win, toWin, toRaw, encode2, decode;
var init_winchars = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/winchars.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/winchars.js"() {
raw = ["|", "<", ">", "?", ":"];
win = raw.map((char) => String.fromCharCode(61440 + char.charCodeAt(0)));
toWin = new Map(raw.map((char, i) => [char, win[i]]));
@@ -16281,15 +15888,44 @@ var init_winchars = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/path-reservations.js
-var import_node_path6, platform4, isWindows2, getDirs, PathReservations;
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/normalize-unicode.js
+var normalizeCache, MAX, cache, normalizeUnicode;
+var init_normalize_unicode = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/normalize-unicode.js"() {
+ normalizeCache = /* @__PURE__ */ Object.create(null);
+ MAX = 1e4;
+ cache = /* @__PURE__ */ new Set();
+ normalizeUnicode = (s) => {
+ if (!cache.has(s)) {
+ normalizeCache[s] = s.normalize("NFD");
+ } else {
+ cache.delete(s);
+ }
+ cache.add(s);
+ const ret = normalizeCache[s];
+ let i = cache.size - MAX;
+ if (i > MAX / 10) {
+ for (const s2 of cache) {
+ cache.delete(s2);
+ delete normalizeCache[s2];
+ if (--i <= 0)
+ break;
+ }
+ }
+ return ret;
+ };
+ }
+});
+
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/path-reservations.js
+var import_node_path6, platform3, isWindows2, getDirs, PathReservations;
var init_path_reservations = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/path-reservations.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/path-reservations.js"() {
import_node_path6 = require("node:path");
init_normalize_unicode();
init_strip_trailing_slashes();
- platform4 = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
- isWindows2 = platform4 === "win32";
+ platform3 = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
+ isWindows2 = platform3 === "win32";
getDirs = (path16) => {
const dirs = path16.split("/").slice(0, -1).reduce((set, path17) => {
const s = set[set.length - 1];
@@ -16421,28 +16057,25 @@ var init_path_reservations = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/unpack.js
-var import_node_assert, import_node_crypto, import_node_fs3, import_node_path7, ONENTRY, CHECKFS, CHECKFS2, PRUNECACHE, ISREUSABLE, MAKEFS, FILE, DIRECTORY, LINK, SYMLINK, HARDLINK, UNSUPPORTED, CHECKPATH, MKDIR, ONERROR, PENDING, PEND, UNPEND, ENDED2, MAYBECLOSE, SKIP, DOCHOWN, UID, GID, CHECKED_CWD, platform5, isWindows3, DEFAULT_MAX_DEPTH, unlinkFile, unlinkFileSync, uint32, cacheKeyNormalize, pruneCache, dropCache, Unpack, callSync, UnpackSync;
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/unpack.js
+var import_node_assert, import_node_crypto, import_node_fs4, import_node_path7, ONENTRY, CHECKFS, CHECKFS2, ISREUSABLE, MAKEFS, FILE, DIRECTORY, LINK, SYMLINK, HARDLINK, UNSUPPORTED, CHECKPATH, MKDIR, ONERROR, PENDING, PEND, UNPEND, ENDED2, MAYBECLOSE, SKIP, DOCHOWN, UID, GID, CHECKED_CWD, platform4, isWindows3, DEFAULT_MAX_DEPTH, unlinkFile, unlinkFileSync, uint32, Unpack, callSync, UnpackSync;
var init_unpack = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/unpack.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/unpack.js"() {
init_esm2();
import_node_assert = __toESM(require("node:assert"), 1);
import_node_crypto = require("node:crypto");
- import_node_fs3 = __toESM(require("node:fs"), 1);
+ import_node_fs4 = __toESM(require("node:fs"), 1);
import_node_path7 = __toESM(require("node:path"), 1);
init_get_write_flag();
init_mkdir();
- init_normalize_unicode();
init_normalize_windows_path();
init_parse();
init_strip_absolute_path();
- init_strip_trailing_slashes();
init_winchars();
init_path_reservations();
ONENTRY = Symbol("onEntry");
CHECKFS = Symbol("checkFs");
CHECKFS2 = Symbol("checkFs2");
- PRUNECACHE = Symbol("pruneCache");
ISREUSABLE = Symbol("isReusable");
MAKEFS = Symbol("makeFs");
FILE = Symbol("file");
@@ -16464,45 +16097,30 @@ var init_unpack = __esm({
UID = Symbol("uid");
GID = Symbol("gid");
CHECKED_CWD = Symbol("checkedCwd");
- platform5 = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
- isWindows3 = platform5 === "win32";
+ platform4 = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
+ isWindows3 = platform4 === "win32";
DEFAULT_MAX_DEPTH = 1024;
unlinkFile = (path16, cb) => {
if (!isWindows3) {
- return import_node_fs3.default.unlink(path16, cb);
+ return import_node_fs4.default.unlink(path16, cb);
}
const name2 = path16 + ".DELETE." + (0, import_node_crypto.randomBytes)(16).toString("hex");
- import_node_fs3.default.rename(path16, name2, (er) => {
+ import_node_fs4.default.rename(path16, name2, (er) => {
if (er) {
return cb(er);
}
- import_node_fs3.default.unlink(name2, cb);
+ import_node_fs4.default.unlink(name2, cb);
});
};
unlinkFileSync = (path16) => {
if (!isWindows3) {
- return import_node_fs3.default.unlinkSync(path16);
+ return import_node_fs4.default.unlinkSync(path16);
}
const name2 = path16 + ".DELETE." + (0, import_node_crypto.randomBytes)(16).toString("hex");
- import_node_fs3.default.renameSync(path16, name2);
- import_node_fs3.default.unlinkSync(name2);
+ import_node_fs4.default.renameSync(path16, name2);
+ import_node_fs4.default.unlinkSync(name2);
};
uint32 = (a, b, c) => a !== void 0 && a === a >>> 0 ? a : b !== void 0 && b === b >>> 0 ? b : c;
- cacheKeyNormalize = (path16) => stripTrailingSlashes(normalizeWindowsPath(normalizeUnicode(path16))).toLowerCase();
- pruneCache = (cache, abs) => {
- abs = cacheKeyNormalize(abs);
- for (const path16 of cache.keys()) {
- const pnorm = cacheKeyNormalize(path16);
- if (pnorm === abs || pnorm.indexOf(abs + "/") === 0) {
- cache.delete(path16);
- }
- }
- };
- dropCache = (cache) => {
- for (const key of cache.keys()) {
- cache.delete(key);
- }
- };
Unpack = class extends Parser {
[ENDED2] = false;
[CHECKED_CWD] = false;
@@ -16511,7 +16129,6 @@ var init_unpack = __esm({
transform;
writable = true;
readable = false;
- dirCache;
uid;
gid;
setOwner;
@@ -16540,7 +16157,6 @@ var init_unpack = __esm({
};
super(opt);
this.transform = opt.transform;
- this.dirCache = opt.dirCache || /* @__PURE__ */ new Map();
this.chmod = !!opt.chmod;
if (typeof opt.uid === "number" || typeof opt.gid === "number") {
if (typeof opt.uid !== "number" || typeof opt.gid !== "number") {
@@ -16701,7 +16317,7 @@ var init_unpack = __esm({
}
}
[MKDIR](dir, mode, cb) {
- mkdir3(normalizeWindowsPath(dir), {
+ mkdir(normalizeWindowsPath(dir), {
uid: this.uid,
gid: this.gid,
processUid: this.processUid,
@@ -16709,7 +16325,6 @@ var init_unpack = __esm({
umask: this.processUmask,
preserve: this.preservePaths,
unlink: this.unlink,
- cache: this.dirCache,
cwd: this.cwd,
mode
}, cb);
@@ -16733,7 +16348,7 @@ var init_unpack = __esm({
});
stream.on("error", (er) => {
if (stream.fd) {
- import_node_fs3.default.close(stream.fd, () => {
+ import_node_fs4.default.close(stream.fd, () => {
});
}
stream.write = () => true;
@@ -16744,7 +16359,7 @@ var init_unpack = __esm({
const done = (er) => {
if (er) {
if (stream.fd) {
- import_node_fs3.default.close(stream.fd, () => {
+ import_node_fs4.default.close(stream.fd, () => {
});
}
this[ONERROR](er, entry);
@@ -16753,7 +16368,7 @@ var init_unpack = __esm({
}
if (--actions === 0) {
if (stream.fd !== void 0) {
- import_node_fs3.default.close(stream.fd, (er2) => {
+ import_node_fs4.default.close(stream.fd, (er2) => {
if (er2) {
this[ONERROR](er2, entry);
} else {
@@ -16771,14 +16386,14 @@ var init_unpack = __esm({
actions++;
const atime = entry.atime || /* @__PURE__ */ new Date();
const mtime = entry.mtime;
- import_node_fs3.default.futimes(fd, atime, mtime, (er) => er ? import_node_fs3.default.utimes(abs, atime, mtime, (er2) => done(er2 && er)) : done());
+ import_node_fs4.default.futimes(fd, atime, mtime, (er) => er ? import_node_fs4.default.utimes(abs, atime, mtime, (er2) => done(er2 && er)) : done());
}
if (typeof fd === "number" && this[DOCHOWN](entry)) {
actions++;
const uid = this[UID](entry);
const gid = this[GID](entry);
if (typeof uid === "number" && typeof gid === "number") {
- import_node_fs3.default.fchown(fd, uid, gid, (er) => er ? import_node_fs3.default.chown(abs, uid, gid, (er2) => done(er2 && er)) : done());
+ import_node_fs4.default.fchown(fd, uid, gid, (er) => er ? import_node_fs4.default.chown(abs, uid, gid, (er2) => done(er2 && er)) : done());
}
}
done();
@@ -16811,11 +16426,11 @@ var init_unpack = __esm({
};
if (entry.mtime && !this.noMtime) {
actions++;
- import_node_fs3.default.utimes(String(entry.absolute), entry.atime || /* @__PURE__ */ new Date(), entry.mtime, done);
+ import_node_fs4.default.utimes(String(entry.absolute), entry.atime || /* @__PURE__ */ new Date(), entry.mtime, done);
}
if (this[DOCHOWN](entry)) {
actions++;
- import_node_fs3.default.chown(String(entry.absolute), Number(this[UID](entry)), Number(this[GID](entry)), done);
+ import_node_fs4.default.chown(String(entry.absolute), Number(this[UID](entry)), Number(this[GID](entry)), done);
}
done();
});
@@ -16858,17 +16473,8 @@ var init_unpack = __esm({
}
this.reservations.reserve(paths, (done) => this[CHECKFS2](entry, done));
}
- [PRUNECACHE](entry) {
- if (entry.type === "SymbolicLink") {
- dropCache(this.dirCache);
- } else if (entry.type !== "Directory") {
- pruneCache(this.dirCache, String(entry.absolute));
- }
- }
[CHECKFS2](entry, fullyDone) {
- this[PRUNECACHE](entry);
const done = (er) => {
- this[PRUNECACHE](entry);
fullyDone(er);
};
const checkCwd2 = () => {
@@ -16899,7 +16505,7 @@ var init_unpack = __esm({
afterMakeParent();
};
const afterMakeParent = () => {
- import_node_fs3.default.lstat(String(entry.absolute), (lstatEr, st) => {
+ import_node_fs4.default.lstat(String(entry.absolute), (lstatEr, st) => {
if (st && (this.keep || /* c8 ignore next */
this.newer && st.mtime > (entry.mtime ?? st.mtime))) {
this[SKIP](entry);
@@ -16916,10 +16522,10 @@ var init_unpack = __esm({
if (!needChmod) {
return afterChmod();
}
- return import_node_fs3.default.chmod(String(entry.absolute), Number(entry.mode), afterChmod);
+ return import_node_fs4.default.chmod(String(entry.absolute), Number(entry.mode), afterChmod);
}
if (entry.absolute !== this.cwd) {
- return import_node_fs3.default.rmdir(String(entry.absolute), (er) => this[MAKEFS](er ?? null, entry, done));
+ return import_node_fs4.default.rmdir(String(entry.absolute), (er) => this[MAKEFS](er ?? null, entry, done));
}
}
if (entry.absolute === this.cwd) {
@@ -16955,7 +16561,7 @@ var init_unpack = __esm({
}
}
[LINK](entry, linkpath, link, done) {
- import_node_fs3.default[link](linkpath, String(entry.absolute), (er) => {
+ import_node_fs4.default[link](linkpath, String(entry.absolute), (er) => {
if (er) {
this[ONERROR](er, entry);
} else {
@@ -16980,7 +16586,6 @@ var init_unpack = __esm({
});
}
[CHECKFS](entry) {
- this[PRUNECACHE](entry);
if (!this[CHECKED_CWD]) {
const er2 = this[MKDIR](this.cwd, this.dmode);
if (er2) {
@@ -16997,7 +16602,7 @@ var init_unpack = __esm({
}
}
}
- const [lstatEr, st] = callSync(() => import_node_fs3.default.lstatSync(String(entry.absolute)));
+ const [lstatEr, st] = callSync(() => import_node_fs4.default.lstatSync(String(entry.absolute)));
if (st && (this.keep || /* c8 ignore next */
this.newer && st.mtime > (entry.mtime ?? st.mtime))) {
return this[SKIP](entry);
@@ -17009,11 +16614,11 @@ var init_unpack = __esm({
if (entry.type === "Directory") {
const needChmod = this.chmod && entry.mode && (st.mode & 4095) !== entry.mode;
const [er3] = needChmod ? callSync(() => {
- import_node_fs3.default.chmodSync(String(entry.absolute), Number(entry.mode));
+ import_node_fs4.default.chmodSync(String(entry.absolute), Number(entry.mode));
}) : [];
return this[MAKEFS](er3, entry);
}
- const [er2] = callSync(() => import_node_fs3.default.rmdirSync(String(entry.absolute)));
+ const [er2] = callSync(() => import_node_fs4.default.rmdirSync(String(entry.absolute)));
this[MAKEFS](er2, entry);
}
const [er] = entry.absolute === this.cwd ? [] : callSync(() => unlinkFileSync(String(entry.absolute)));
@@ -17024,7 +16629,7 @@ var init_unpack = __esm({
const oner = (er) => {
let closeError;
try {
- import_node_fs3.default.closeSync(fd);
+ import_node_fs4.default.closeSync(fd);
} catch (e) {
closeError = e;
}
@@ -17035,7 +16640,7 @@ var init_unpack = __esm({
};
let fd;
try {
- fd = import_node_fs3.default.openSync(String(entry.absolute), getWriteFlag(entry.size), mode);
+ fd = import_node_fs4.default.openSync(String(entry.absolute), getWriteFlag(entry.size), mode);
} catch (er) {
return oner(er);
}
@@ -17046,7 +16651,7 @@ var init_unpack = __esm({
}
tx.on("data", (chunk) => {
try {
- import_node_fs3.default.writeSync(fd, chunk, 0, chunk.length);
+ import_node_fs4.default.writeSync(fd, chunk, 0, chunk.length);
} catch (er) {
oner(er);
}
@@ -17057,10 +16662,10 @@ var init_unpack = __esm({
const atime = entry.atime || /* @__PURE__ */ new Date();
const mtime = entry.mtime;
try {
- import_node_fs3.default.futimesSync(fd, atime, mtime);
+ import_node_fs4.default.futimesSync(fd, atime, mtime);
} catch (futimeser) {
try {
- import_node_fs3.default.utimesSync(String(entry.absolute), atime, mtime);
+ import_node_fs4.default.utimesSync(String(entry.absolute), atime, mtime);
} catch (utimeser) {
er = futimeser;
}
@@ -17070,10 +16675,10 @@ var init_unpack = __esm({
const uid = this[UID](entry);
const gid = this[GID](entry);
try {
- import_node_fs3.default.fchownSync(fd, Number(uid), Number(gid));
+ import_node_fs4.default.fchownSync(fd, Number(uid), Number(gid));
} catch (fchowner) {
try {
- import_node_fs3.default.chownSync(String(entry.absolute), Number(uid), Number(gid));
+ import_node_fs4.default.chownSync(String(entry.absolute), Number(uid), Number(gid));
} catch (chowner) {
er = er || fchowner;
}
@@ -17092,13 +16697,13 @@ var init_unpack = __esm({
}
if (entry.mtime && !this.noMtime) {
try {
- import_node_fs3.default.utimesSync(String(entry.absolute), entry.atime || /* @__PURE__ */ new Date(), entry.mtime);
+ import_node_fs4.default.utimesSync(String(entry.absolute), entry.atime || /* @__PURE__ */ new Date(), entry.mtime);
} catch (er2) {
}
}
if (this[DOCHOWN](entry)) {
try {
- import_node_fs3.default.chownSync(String(entry.absolute), Number(this[UID](entry)), Number(this[GID](entry)));
+ import_node_fs4.default.chownSync(String(entry.absolute), Number(this[UID](entry)), Number(this[GID](entry)));
} catch (er2) {
}
}
@@ -17107,7 +16712,7 @@ var init_unpack = __esm({
}
[MKDIR](dir, mode) {
try {
- return mkdirSync4(normalizeWindowsPath(dir), {
+ return mkdirSync2(normalizeWindowsPath(dir), {
uid: this.uid,
gid: this.gid,
processUid: this.processUid,
@@ -17115,7 +16720,6 @@ var init_unpack = __esm({
umask: this.processUmask,
preserve: this.preservePaths,
unlink: this.unlink,
- cache: this.dirCache,
cwd: this.cwd,
mode
});
@@ -17126,7 +16730,7 @@ var init_unpack = __esm({
[LINK](entry, linkpath, link, done) {
const ls = `${link}Sync`;
try {
- import_node_fs3.default[ls](linkpath, String(entry.absolute));
+ import_node_fs4.default[ls](linkpath, String(entry.absolute));
done();
entry.resume();
} catch (er) {
@@ -17137,27 +16741,27 @@ var init_unpack = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/extract.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/extract.js
var extract_exports = {};
__export(extract_exports, {
extract: () => extract
});
-var import_node_fs4, extractFileSync, extractFile, extract;
+var import_node_fs5, extractFileSync, extractFile, extract;
var init_extract = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/extract.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/extract.js"() {
init_esm2();
- import_node_fs4 = __toESM(require("node:fs"), 1);
+ import_node_fs5 = __toESM(require("node:fs"), 1);
init_list();
init_make_command();
init_unpack();
extractFileSync = (opt) => {
const u = new UnpackSync(opt);
const file = opt.file;
- const stat2 = import_node_fs4.default.statSync(file);
+ const stat = import_node_fs5.default.statSync(file);
const readSize = opt.maxReadSize || 16 * 1024 * 1024;
const stream = new ReadStreamSync(file, {
readSize,
- size: stat2.size
+ size: stat.size
});
stream.pipe(u);
};
@@ -17165,16 +16769,16 @@ var init_extract = __esm({
const u = new Unpack(opt);
const readSize = opt.maxReadSize || 16 * 1024 * 1024;
const file = opt.file;
- const p = new Promise((resolve2, reject) => {
+ const p = new Promise((resolve, reject) => {
u.on("error", reject);
- u.on("close", resolve2);
- import_node_fs4.default.stat(file, (er, stat2) => {
+ u.on("close", resolve);
+ import_node_fs5.default.stat(file, (er, stat) => {
if (er) {
reject(er);
} else {
const stream = new ReadStream(file, {
readSize,
- size: stat2.size
+ size: stat.size
});
stream.on("error", reject);
stream.pipe(u);
@@ -17200,7 +16804,7 @@ var require_v8_compile_cache = __commonJS({
var path16 = require("path");
var vm = require("vm");
var os3 = require("os");
- var hasOwnProperty2 = Object.prototype.hasOwnProperty;
+ var hasOwnProperty = Object.prototype.hasOwnProperty;
var FileSystemBlobStore = class {
constructor(directory, prefix) {
const name2 = prefix ? slashEscape(prefix + ".") : "";
@@ -17211,19 +16815,19 @@ var require_v8_compile_cache = __commonJS({
this._load();
}
has(key, invalidationKey) {
- if (hasOwnProperty2.call(this._memoryBlobs, key)) {
+ if (hasOwnProperty.call(this._memoryBlobs, key)) {
return this._invalidationKeys[key] === invalidationKey;
- } else if (hasOwnProperty2.call(this._storedMap, key)) {
+ } else if (hasOwnProperty.call(this._storedMap, key)) {
return this._storedMap[key][0] === invalidationKey;
}
return false;
}
get(key, invalidationKey) {
- if (hasOwnProperty2.call(this._memoryBlobs, key)) {
+ if (hasOwnProperty.call(this._memoryBlobs, key)) {
if (this._invalidationKeys[key] === invalidationKey) {
return this._memoryBlobs[key];
}
- } else if (hasOwnProperty2.call(this._storedMap, key)) {
+ } else if (hasOwnProperty.call(this._storedMap, key)) {
const mapping = this._storedMap[key];
if (mapping[0] === invalidationKey) {
return this._storedBlob.slice(mapping[1], mapping[2]);
@@ -17236,15 +16840,15 @@ var require_v8_compile_cache = __commonJS({
this._dirty = true;
}
delete(key) {
- if (hasOwnProperty2.call(this._memoryBlobs, key)) {
+ if (hasOwnProperty.call(this._memoryBlobs, key)) {
this._dirty = true;
delete this._memoryBlobs[key];
}
- if (hasOwnProperty2.call(this._invalidationKeys, key)) {
+ if (hasOwnProperty.call(this._invalidationKeys, key)) {
this._dirty = true;
delete this._invalidationKeys[key];
}
- if (hasOwnProperty2.call(this._storedMap, key)) {
+ if (hasOwnProperty.call(this._storedMap, key)) {
this._dirty = true;
delete this._storedMap[key];
}
@@ -17257,7 +16861,7 @@ var require_v8_compile_cache = __commonJS({
const blobToStore = Buffer.concat(dump[0]);
const mapToStore = JSON.stringify(dump[1]);
try {
- mkdirpSync2(this._directory);
+ mkdirpSync(this._directory);
fs17.writeFileSync(this._lockFilename, "LOCK", { flag: "wx" });
} catch (error) {
return false;
@@ -17297,7 +16901,7 @@ var require_v8_compile_cache = __commonJS({
push2(key, invalidationKey, buffer);
}
for (const key of Object.keys(this._storedMap)) {
- if (hasOwnProperty2.call(newMap, key)) continue;
+ if (hasOwnProperty.call(newMap, key)) continue;
const mapping = this._storedMap[key];
const buffer = this._storedBlob.slice(mapping[1], mapping[2]);
push2(key, mapping[0], buffer);
@@ -17322,21 +16926,21 @@ var require_v8_compile_cache = __commonJS({
function require2(id) {
return mod.require(id);
}
- function resolve2(request, options) {
+ function resolve(request, options) {
return Module2._resolveFilename(request, mod, false, options);
}
- require2.resolve = resolve2;
+ require2.resolve = resolve;
if (hasRequireResolvePaths) {
- resolve2.paths = function paths(request) {
+ resolve.paths = function paths(request) {
return Module2._resolveLookupPaths(request, mod, true);
};
}
require2.main = process.mainModule;
require2.extensions = Module2._extensions;
require2.cache = Module2._cache;
- const dirname5 = path16.dirname(filename);
+ const dirname2 = path16.dirname(filename);
const compiledWrapper = self2._moduleCompile(filename, content);
- const args = [mod.exports, require2, mod, filename, dirname5, process, global, Buffer];
+ const args = [mod.exports, require2, mod, filename, dirname2, process, global, Buffer];
return compiledWrapper.apply(mod.exports, args);
};
}
@@ -17387,7 +16991,7 @@ var require_v8_compile_cache = __commonJS({
return compiledWrapper;
}
};
- function mkdirpSync2(p_) {
+ function mkdirpSync(p_) {
_mkdirpSync(path16.resolve(p_), 511);
}
function _mkdirpSync(p, mode) {
@@ -17399,8 +17003,8 @@ var require_v8_compile_cache = __commonJS({
_mkdirpSync(p);
} else {
try {
- const stat2 = fs17.statSync(p);
- if (!stat2.isDirectory()) {
+ const stat = fs17.statSync(p);
+ if (!stat.isDirectory()) {
throw err0;
}
} catch (err1) {
@@ -17429,10 +17033,10 @@ var require_v8_compile_cache = __commonJS({
if (v8_compile_cache_cache_dir) {
return v8_compile_cache_cache_dir;
}
- const dirname5 = typeof process.getuid === "function" ? "v8-compile-cache-" + process.getuid() : "v8-compile-cache";
+ const dirname2 = typeof process.getuid === "function" ? "v8-compile-cache-" + process.getuid() : "v8-compile-cache";
const arch = process.arch;
- const version3 = typeof process.versions.v8 === "string" ? process.versions.v8 : typeof process.versions.chakracore === "string" ? "chakracore-" + process.versions.chakracore : "node-" + process.version;
- const cacheDir = path16.join(os3.tmpdir(), dirname5, arch, version3);
+ const version2 = typeof process.versions.v8 === "string" ? process.versions.v8 : typeof process.versions.chakracore === "string" ? "chakracore-" + process.versions.chakracore : "node-" + process.version;
+ const cacheDir = path16.join(os3.tmpdir(), dirname2, arch, version2);
return cacheDir;
}
function getMainName() {
@@ -17456,7 +17060,7 @@ var require_v8_compile_cache = __commonJS({
module2.exports.__TEST__ = {
FileSystemBlobStore,
NativeCompileCache,
- mkdirpSync: mkdirpSync2,
+ mkdirpSync,
slashEscape,
supportsCachedData,
getCacheDir,
@@ -17465,17 +17069,18 @@ var require_v8_compile_cache = __commonJS({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/satisfies.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/satisfies.js
var require_satisfies = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/satisfies.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/satisfies.js"(exports2, module2) {
+ "use strict";
var Range3 = require_range();
- var satisfies = (version3, range, options) => {
+ var satisfies = (version2, range, options) => {
try {
range = new Range3(range, options);
} catch (er) {
return false;
}
- return range.test(version3);
+ return range.test(version2);
};
module2.exports = satisfies;
}
@@ -17513,8 +17118,8 @@ var require_posix = __commonJS({
}
};
exports2.sync = sync;
- var checkStat = (stat2, options) => stat2.isFile() && checkMode(stat2, options);
- var checkMode = (stat2, options) => {
+ var checkStat = (stat, options) => stat.isFile() && checkMode(stat, options);
+ var checkMode = (stat, options) => {
const myUid = options.uid ?? process.getuid?.();
const myGroups = options.groups ?? process.getgroups?.() ?? [];
const myGid = options.gid ?? process.getgid?.() ?? myGroups[0];
@@ -17522,9 +17127,9 @@ var require_posix = __commonJS({
throw new Error("cannot get uid or gid");
}
const groups = /* @__PURE__ */ new Set([myGid, ...myGroups]);
- const mod = stat2.mode;
- const uid = stat2.uid;
- const gid = stat2.gid;
+ const mod = stat.mode;
+ const uid = stat.uid;
+ const gid = stat.gid;
const u = parseInt("100", 8);
const g = parseInt("010", 8);
const o = parseInt("001", 8);
@@ -17581,7 +17186,7 @@ var require_win32 = __commonJS({
}
return false;
};
- var checkStat = (stat2, path16, options) => stat2.isFile() && checkPathExt(path16, options);
+ var checkStat = (stat, path16, options) => stat.isFile() && checkPathExt(path16, options);
}
});
@@ -17597,22 +17202,22 @@ var require_options = __commonJS({
var require_cjs = __commonJS({
".yarn/cache/isexe-npm-3.1.1-9c0061eead-9ec2576540.zip/node_modules/isexe/dist/cjs/index.js"(exports2) {
"use strict";
- var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
+ var __createBinding = exports2 && exports2.__createBinding || (Object.create ? (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
- var desc = Object.getOwnPropertyDescriptor(m, k);
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
- desc = { enumerable: true, get: function() {
+ var desc2 = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc2 || ("get" in desc2 ? !m.__esModule : desc2.writable || desc2.configurable)) {
+ desc2 = { enumerable: true, get: function() {
return m[k];
} };
}
- Object.defineProperty(o, k2, desc);
- } : function(o, m, k, k2) {
+ Object.defineProperty(o, k2, desc2);
+ }) : (function(o, m, k, k2) {
if (k2 === void 0) k2 = k;
o[k2] = m[k];
- });
- var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? function(o, v) {
+ }));
+ var __setModuleDefault = exports2 && exports2.__setModuleDefault || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
- } : function(o, v) {
+ }) : function(o, v) {
o["default"] = v;
});
var __importStar = exports2 && exports2.__importStar || function(mod) {
@@ -17634,8 +17239,8 @@ var require_cjs = __commonJS({
var win322 = __importStar(require_win32());
exports2.win32 = win322;
__exportStar(require_options(), exports2);
- var platform6 = process.env._ISEXE_TEST_PLATFORM_ || process.platform;
- var impl = platform6 === "win32" ? win322 : posix;
+ var platform5 = process.env._ISEXE_TEST_PLATFORM_ || process.platform;
+ var impl = platform5 === "win32" ? win322 : posix;
exports2.isexe = impl.isexe;
exports2.sync = impl.sync;
}
@@ -17774,7 +17379,7 @@ var require_polyfills = __commonJS({
var constants2 = require("constants");
var origCwd = process.cwd;
var cwd = null;
- var platform6 = process.env.GRACEFUL_FS_PLATFORM || process.platform;
+ var platform5 = process.env.GRACEFUL_FS_PLATFORM || process.platform;
process.cwd = function() {
if (!cwd)
cwd = origCwd.call(process);
@@ -17833,8 +17438,8 @@ var require_polyfills = __commonJS({
fs17.lchownSync = function() {
};
}
- if (platform6 === "win32") {
- fs17.rename = typeof fs17.rename !== "function" ? fs17.rename : function(fs$rename) {
+ if (platform5 === "win32") {
+ fs17.rename = typeof fs17.rename !== "function" ? fs17.rename : (function(fs$rename) {
function rename(from, to, cb) {
var start = Date.now();
var backoff = 0;
@@ -17857,9 +17462,9 @@ var require_polyfills = __commonJS({
}
if (Object.setPrototypeOf) Object.setPrototypeOf(rename, fs$rename);
return rename;
- }(fs17.rename);
+ })(fs17.rename);
}
- fs17.read = typeof fs17.read !== "function" ? fs17.read : function(fs$read) {
+ fs17.read = typeof fs17.read !== "function" ? fs17.read : (function(fs$read) {
function read(fd, buffer, offset, length, position, callback_) {
var callback;
if (callback_ && typeof callback_ === "function") {
@@ -17876,8 +17481,8 @@ var require_polyfills = __commonJS({
}
if (Object.setPrototypeOf) Object.setPrototypeOf(read, fs$read);
return read;
- }(fs17.read);
- fs17.readSync = typeof fs17.readSync !== "function" ? fs17.readSync : /* @__PURE__ */ function(fs$readSync) {
+ })(fs17.read);
+ fs17.readSync = typeof fs17.readSync !== "function" ? fs17.readSync : /* @__PURE__ */ (function(fs$readSync) {
return function(fd, buffer, offset, length, position) {
var eagCounter = 0;
while (true) {
@@ -17892,7 +17497,7 @@ var require_polyfills = __commonJS({
}
}
};
- }(fs17.readSync);
+ })(fs17.readSync);
function patchLchmod(fs18) {
fs18.lchmod = function(path16, mode, callback) {
fs18.open(
@@ -18192,7 +17797,7 @@ var require_graceful_fs = __commonJS({
gracefulQueue = "___graceful-fs.queue";
previousSymbol = "___graceful-fs.previous";
}
- function noop2() {
+ function noop3() {
}
function publishQueue(context, queue2) {
Object.defineProperty(context, gracefulQueue, {
@@ -18201,7 +17806,7 @@ var require_graceful_fs = __commonJS({
}
});
}
- var debug2 = noop2;
+ var debug2 = noop3;
if (util.debuglog)
debug2 = util.debuglog("gfs4");
else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
@@ -18213,7 +17818,7 @@ var require_graceful_fs = __commonJS({
if (!fs17[gracefulQueue]) {
queue = global[gracefulQueue] || [];
publishQueue(fs17, queue);
- fs17.close = function(fs$close) {
+ fs17.close = (function(fs$close) {
function close(fd, cb) {
return fs$close.call(fs17, fd, function(err) {
if (!err) {
@@ -18227,8 +17832,8 @@ var require_graceful_fs = __commonJS({
value: fs$close
});
return close;
- }(fs17.close);
- fs17.closeSync = function(fs$closeSync) {
+ })(fs17.close);
+ fs17.closeSync = (function(fs$closeSync) {
function closeSync(fd) {
fs$closeSync.apply(fs17, arguments);
resetQueue();
@@ -18237,7 +17842,7 @@ var require_graceful_fs = __commonJS({
value: fs$closeSync
});
return closeSync;
- }(fs17.closeSync);
+ })(fs17.closeSync);
if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
process.on("exit", function() {
debug2(fs17[gracefulQueue]);
@@ -18574,8 +18179,8 @@ var require_cmd_shim = __commonJS({
const opts_ = { ...DEFAULT_OPTIONS, ...opts };
const fs17 = opts_.fs;
opts_.fs_ = {
- chmod: fs17.chmod ? (0, util_1.promisify)(fs17.chmod) : async () => {
- },
+ chmod: fs17.chmod ? (0, util_1.promisify)(fs17.chmod) : (async () => {
+ }),
mkdir: (0, util_1.promisify)(fs17.mkdir),
readFile: (0, util_1.promisify)(fs17.readFile),
stat: (0, util_1.promisify)(fs17.stat),
@@ -18889,638 +18494,1012 @@ ${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/mode-fix.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/mode-fix.js
var modeFix;
var init_mode_fix = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/mode-fix.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/mode-fix.js"() {
modeFix = (mode, isDir, portable) => {
mode &= 4095;
if (portable) {
mode = (mode | 384) & ~18;
}
- if (isDir) {
- if (mode & 256) {
- mode |= 64;
+ if (isDir) {
+ if (mode & 256) {
+ mode |= 64;
+ }
+ if (mode & 32) {
+ mode |= 8;
+ }
+ if (mode & 4) {
+ mode |= 1;
+ }
+ }
+ return mode;
+ };
+ }
+});
+
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/write-entry.js
+var import_fs11, import_path9, prefixPath, maxReadSize, PROCESS, FILE2, DIRECTORY2, SYMLINK2, HARDLINK2, HEADER, READ2, LSTAT, ONLSTAT, ONREAD, ONREADLINK, OPENFILE, ONOPENFILE, CLOSE, MODE, AWAITDRAIN, ONDRAIN, PREFIX, WriteEntry, WriteEntrySync, WriteEntryTar, getType;
+var init_write_entry = __esm({
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/write-entry.js"() {
+ import_fs11 = __toESM(require("fs"), 1);
+ init_esm();
+ import_path9 = __toESM(require("path"), 1);
+ init_header();
+ init_mode_fix();
+ init_normalize_windows_path();
+ init_options();
+ init_pax();
+ init_strip_absolute_path();
+ init_strip_trailing_slashes();
+ init_warn_method();
+ init_winchars();
+ prefixPath = (path16, prefix) => {
+ if (!prefix) {
+ return normalizeWindowsPath(path16);
+ }
+ path16 = normalizeWindowsPath(path16).replace(/^\.(\/|$)/, "");
+ return stripTrailingSlashes(prefix) + "/" + path16;
+ };
+ maxReadSize = 16 * 1024 * 1024;
+ PROCESS = Symbol("process");
+ FILE2 = Symbol("file");
+ DIRECTORY2 = Symbol("directory");
+ SYMLINK2 = Symbol("symlink");
+ HARDLINK2 = Symbol("hardlink");
+ HEADER = Symbol("header");
+ READ2 = Symbol("read");
+ LSTAT = Symbol("lstat");
+ ONLSTAT = Symbol("onlstat");
+ ONREAD = Symbol("onread");
+ ONREADLINK = Symbol("onreadlink");
+ OPENFILE = Symbol("openfile");
+ ONOPENFILE = Symbol("onopenfile");
+ CLOSE = Symbol("close");
+ MODE = Symbol("mode");
+ AWAITDRAIN = Symbol("awaitDrain");
+ ONDRAIN = Symbol("ondrain");
+ PREFIX = Symbol("prefix");
+ WriteEntry = class extends Minipass {
+ path;
+ portable;
+ myuid = process.getuid && process.getuid() || 0;
+ // until node has builtin pwnam functions, this'll have to do
+ myuser = process.env.USER || "";
+ maxReadSize;
+ linkCache;
+ statCache;
+ preservePaths;
+ cwd;
+ strict;
+ mtime;
+ noPax;
+ noMtime;
+ prefix;
+ fd;
+ blockLen = 0;
+ blockRemain = 0;
+ buf;
+ pos = 0;
+ remain = 0;
+ length = 0;
+ offset = 0;
+ win32;
+ absolute;
+ header;
+ type;
+ linkpath;
+ stat;
+ onWriteEntry;
+ #hadError = false;
+ constructor(p, opt_ = {}) {
+ const opt = dealias(opt_);
+ super();
+ this.path = normalizeWindowsPath(p);
+ this.portable = !!opt.portable;
+ this.maxReadSize = opt.maxReadSize || maxReadSize;
+ this.linkCache = opt.linkCache || /* @__PURE__ */ new Map();
+ this.statCache = opt.statCache || /* @__PURE__ */ new Map();
+ this.preservePaths = !!opt.preservePaths;
+ this.cwd = normalizeWindowsPath(opt.cwd || process.cwd());
+ this.strict = !!opt.strict;
+ this.noPax = !!opt.noPax;
+ this.noMtime = !!opt.noMtime;
+ this.mtime = opt.mtime;
+ this.prefix = opt.prefix ? normalizeWindowsPath(opt.prefix) : void 0;
+ this.onWriteEntry = opt.onWriteEntry;
+ if (typeof opt.onwarn === "function") {
+ this.on("warn", opt.onwarn);
+ }
+ let pathWarn = false;
+ if (!this.preservePaths) {
+ const [root, stripped] = stripAbsolutePath(this.path);
+ if (root && typeof stripped === "string") {
+ this.path = stripped;
+ pathWarn = root;
+ }
+ }
+ this.win32 = !!opt.win32 || process.platform === "win32";
+ if (this.win32) {
+ this.path = decode(this.path.replace(/\\/g, "/"));
+ p = p.replace(/\\/g, "/");
+ }
+ this.absolute = normalizeWindowsPath(opt.absolute || import_path9.default.resolve(this.cwd, p));
+ if (this.path === "") {
+ this.path = "./";
+ }
+ if (pathWarn) {
+ this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, {
+ entry: this,
+ path: pathWarn + this.path
+ });
+ }
+ const cs = this.statCache.get(this.absolute);
+ if (cs) {
+ this[ONLSTAT](cs);
+ } else {
+ this[LSTAT]();
+ }
+ }
+ warn(code2, message, data = {}) {
+ return warnMethod(this, code2, message, data);
+ }
+ emit(ev, ...data) {
+ if (ev === "error") {
+ this.#hadError = true;
+ }
+ return super.emit(ev, ...data);
+ }
+ [LSTAT]() {
+ import_fs11.default.lstat(this.absolute, (er, stat) => {
+ if (er) {
+ return this.emit("error", er);
+ }
+ this[ONLSTAT](stat);
+ });
+ }
+ [ONLSTAT](stat) {
+ this.statCache.set(this.absolute, stat);
+ this.stat = stat;
+ if (!stat.isFile()) {
+ stat.size = 0;
+ }
+ this.type = getType(stat);
+ this.emit("stat", stat);
+ this[PROCESS]();
+ }
+ [PROCESS]() {
+ switch (this.type) {
+ case "File":
+ return this[FILE2]();
+ case "Directory":
+ return this[DIRECTORY2]();
+ case "SymbolicLink":
+ return this[SYMLINK2]();
+ // unsupported types are ignored.
+ default:
+ return this.end();
+ }
+ }
+ [MODE](mode) {
+ return modeFix(mode, this.type === "Directory", this.portable);
+ }
+ [PREFIX](path16) {
+ return prefixPath(path16, this.prefix);
+ }
+ [HEADER]() {
+ if (!this.stat) {
+ throw new Error("cannot write header before stat");
+ }
+ if (this.type === "Directory" && this.portable) {
+ this.noMtime = true;
+ }
+ this.onWriteEntry?.(this);
+ this.header = new Header({
+ path: this[PREFIX](this.path),
+ // only apply the prefix to hard links.
+ linkpath: this.type === "Link" && this.linkpath !== void 0 ? this[PREFIX](this.linkpath) : this.linkpath,
+ // only the permissions and setuid/setgid/sticky bitflags
+ // not the higher-order bits that specify file type
+ mode: this[MODE](this.stat.mode),
+ uid: this.portable ? void 0 : this.stat.uid,
+ gid: this.portable ? void 0 : this.stat.gid,
+ size: this.stat.size,
+ mtime: this.noMtime ? void 0 : this.mtime || this.stat.mtime,
+ /* c8 ignore next */
+ type: this.type === "Unsupported" ? void 0 : this.type,
+ uname: this.portable ? void 0 : this.stat.uid === this.myuid ? this.myuser : "",
+ atime: this.portable ? void 0 : this.stat.atime,
+ ctime: this.portable ? void 0 : this.stat.ctime
+ });
+ if (this.header.encode() && !this.noPax) {
+ super.write(new Pax({
+ atime: this.portable ? void 0 : this.header.atime,
+ ctime: this.portable ? void 0 : this.header.ctime,
+ gid: this.portable ? void 0 : this.header.gid,
+ mtime: this.noMtime ? void 0 : this.mtime || this.header.mtime,
+ path: this[PREFIX](this.path),
+ linkpath: this.type === "Link" && this.linkpath !== void 0 ? this[PREFIX](this.linkpath) : this.linkpath,
+ size: this.header.size,
+ uid: this.portable ? void 0 : this.header.uid,
+ uname: this.portable ? void 0 : this.header.uname,
+ dev: this.portable ? void 0 : this.stat.dev,
+ ino: this.portable ? void 0 : this.stat.ino,
+ nlink: this.portable ? void 0 : this.stat.nlink
+ }).encode());
+ }
+ const block = this.header?.block;
+ if (!block) {
+ throw new Error("failed to encode header");
+ }
+ super.write(block);
+ }
+ [DIRECTORY2]() {
+ if (!this.stat) {
+ throw new Error("cannot create directory entry without stat");
+ }
+ if (this.path.slice(-1) !== "/") {
+ this.path += "/";
+ }
+ this.stat.size = 0;
+ this[HEADER]();
+ this.end();
+ }
+ [SYMLINK2]() {
+ import_fs11.default.readlink(this.absolute, (er, linkpath) => {
+ if (er) {
+ return this.emit("error", er);
+ }
+ this[ONREADLINK](linkpath);
+ });
+ }
+ [ONREADLINK](linkpath) {
+ this.linkpath = normalizeWindowsPath(linkpath);
+ this[HEADER]();
+ this.end();
+ }
+ [HARDLINK2](linkpath) {
+ if (!this.stat) {
+ throw new Error("cannot create link entry without stat");
+ }
+ this.type = "Link";
+ this.linkpath = normalizeWindowsPath(import_path9.default.relative(this.cwd, linkpath));
+ this.stat.size = 0;
+ this[HEADER]();
+ this.end();
+ }
+ [FILE2]() {
+ if (!this.stat) {
+ throw new Error("cannot create file entry without stat");
+ }
+ if (this.stat.nlink > 1) {
+ const linkKey = `${this.stat.dev}:${this.stat.ino}`;
+ const linkpath = this.linkCache.get(linkKey);
+ if (linkpath?.indexOf(this.cwd) === 0) {
+ return this[HARDLINK2](linkpath);
+ }
+ this.linkCache.set(linkKey, this.absolute);
+ }
+ this[HEADER]();
+ if (this.stat.size === 0) {
+ return this.end();
+ }
+ this[OPENFILE]();
+ }
+ [OPENFILE]() {
+ import_fs11.default.open(this.absolute, "r", (er, fd) => {
+ if (er) {
+ return this.emit("error", er);
+ }
+ this[ONOPENFILE](fd);
+ });
+ }
+ [ONOPENFILE](fd) {
+ this.fd = fd;
+ if (this.#hadError) {
+ return this[CLOSE]();
+ }
+ if (!this.stat) {
+ throw new Error("should stat before calling onopenfile");
+ }
+ this.blockLen = 512 * Math.ceil(this.stat.size / 512);
+ this.blockRemain = this.blockLen;
+ const bufLen = Math.min(this.blockLen, this.maxReadSize);
+ this.buf = Buffer.allocUnsafe(bufLen);
+ this.offset = 0;
+ this.pos = 0;
+ this.remain = this.stat.size;
+ this.length = this.buf.length;
+ this[READ2]();
+ }
+ [READ2]() {
+ const { fd, buf, offset, length, pos: pos2 } = this;
+ if (fd === void 0 || buf === void 0) {
+ throw new Error("cannot read file without first opening");
+ }
+ import_fs11.default.read(fd, buf, offset, length, pos2, (er, bytesRead) => {
+ if (er) {
+ return this[CLOSE](() => this.emit("error", er));
+ }
+ this[ONREAD](bytesRead);
+ });
+ }
+ /* c8 ignore start */
+ [CLOSE](cb = () => {
+ }) {
+ if (this.fd !== void 0)
+ import_fs11.default.close(this.fd, cb);
+ }
+ [ONREAD](bytesRead) {
+ if (bytesRead <= 0 && this.remain > 0) {
+ const er = Object.assign(new Error("encountered unexpected EOF"), {
+ path: this.absolute,
+ syscall: "read",
+ code: "EOF"
+ });
+ return this[CLOSE](() => this.emit("error", er));
+ }
+ if (bytesRead > this.remain) {
+ const er = Object.assign(new Error("did not encounter expected EOF"), {
+ path: this.absolute,
+ syscall: "read",
+ code: "EOF"
+ });
+ return this[CLOSE](() => this.emit("error", er));
+ }
+ if (!this.buf) {
+ throw new Error("should have created buffer prior to reading");
+ }
+ if (bytesRead === this.remain) {
+ for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) {
+ this.buf[i + this.offset] = 0;
+ bytesRead++;
+ this.remain++;
+ }
+ }
+ const chunk = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.subarray(this.offset, this.offset + bytesRead);
+ const flushed = this.write(chunk);
+ if (!flushed) {
+ this[AWAITDRAIN](() => this[ONDRAIN]());
+ } else {
+ this[ONDRAIN]();
+ }
+ }
+ [AWAITDRAIN](cb) {
+ this.once("drain", cb);
+ }
+ write(chunk, encoding, cb) {
+ if (typeof encoding === "function") {
+ cb = encoding;
+ encoding = void 0;
+ }
+ if (typeof chunk === "string") {
+ chunk = Buffer.from(chunk, typeof encoding === "string" ? encoding : "utf8");
+ }
+ if (this.blockRemain < chunk.length) {
+ const er = Object.assign(new Error("writing more data than expected"), {
+ path: this.absolute
+ });
+ return this.emit("error", er);
+ }
+ this.remain -= chunk.length;
+ this.blockRemain -= chunk.length;
+ this.pos += chunk.length;
+ this.offset += chunk.length;
+ return super.write(chunk, null, cb);
+ }
+ [ONDRAIN]() {
+ if (!this.remain) {
+ if (this.blockRemain) {
+ super.write(Buffer.alloc(this.blockRemain));
+ }
+ return this[CLOSE]((er) => er ? this.emit("error", er) : this.end());
}
- if (mode & 32) {
- mode |= 8;
+ if (!this.buf) {
+ throw new Error("buffer lost somehow in ONDRAIN");
}
- if (mode & 4) {
- mode |= 1;
+ if (this.offset >= this.length) {
+ this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length));
+ this.offset = 0;
}
+ this.length = this.buf.length - this.offset;
+ this[READ2]();
}
- return mode;
};
- }
-});
-
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/write-entry.js
-var import_fs14, import_path13, prefixPath, maxReadSize, PROCESS, FILE2, DIRECTORY2, SYMLINK2, HARDLINK2, HEADER, READ2, LSTAT, ONLSTAT, ONREAD, ONREADLINK, OPENFILE, ONOPENFILE, CLOSE, MODE, AWAITDRAIN, ONDRAIN, PREFIX, WriteEntry, WriteEntrySync, WriteEntryTar, getType;
-var init_write_entry = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/write-entry.js"() {
- import_fs14 = __toESM(require("fs"), 1);
- init_esm();
- import_path13 = __toESM(require("path"), 1);
- init_header();
- init_mode_fix();
- init_normalize_windows_path();
- init_options();
- init_pax();
- init_strip_absolute_path();
- init_strip_trailing_slashes();
- init_warn_method();
- init_winchars();
- prefixPath = (path16, prefix) => {
- if (!prefix) {
- return normalizeWindowsPath(path16);
+ WriteEntrySync = class extends WriteEntry {
+ sync = true;
+ [LSTAT]() {
+ this[ONLSTAT](import_fs11.default.lstatSync(this.absolute));
+ }
+ [SYMLINK2]() {
+ this[ONREADLINK](import_fs11.default.readlinkSync(this.absolute));
+ }
+ [OPENFILE]() {
+ this[ONOPENFILE](import_fs11.default.openSync(this.absolute, "r"));
+ }
+ [READ2]() {
+ let threw = true;
+ try {
+ const { fd, buf, offset, length, pos: pos2 } = this;
+ if (fd === void 0 || buf === void 0) {
+ throw new Error("fd and buf must be set in READ method");
+ }
+ const bytesRead = import_fs11.default.readSync(fd, buf, offset, length, pos2);
+ this[ONREAD](bytesRead);
+ threw = false;
+ } finally {
+ if (threw) {
+ try {
+ this[CLOSE](() => {
+ });
+ } catch (er) {
+ }
+ }
+ }
+ }
+ [AWAITDRAIN](cb) {
+ cb();
+ }
+ /* c8 ignore start */
+ [CLOSE](cb = () => {
+ }) {
+ if (this.fd !== void 0)
+ import_fs11.default.closeSync(this.fd);
+ cb();
}
- path16 = normalizeWindowsPath(path16).replace(/^\.(\/|$)/, "");
- return stripTrailingSlashes(prefix) + "/" + path16;
};
- maxReadSize = 16 * 1024 * 1024;
- PROCESS = Symbol("process");
- FILE2 = Symbol("file");
- DIRECTORY2 = Symbol("directory");
- SYMLINK2 = Symbol("symlink");
- HARDLINK2 = Symbol("hardlink");
- HEADER = Symbol("header");
- READ2 = Symbol("read");
- LSTAT = Symbol("lstat");
- ONLSTAT = Symbol("onlstat");
- ONREAD = Symbol("onread");
- ONREADLINK = Symbol("onreadlink");
- OPENFILE = Symbol("openfile");
- ONOPENFILE = Symbol("onopenfile");
- CLOSE = Symbol("close");
- MODE = Symbol("mode");
- AWAITDRAIN = Symbol("awaitDrain");
- ONDRAIN = Symbol("ondrain");
- PREFIX = Symbol("prefix");
- WriteEntry = class extends Minipass {
- path;
- portable;
- myuid = process.getuid && process.getuid() || 0;
- // until node has builtin pwnam functions, this'll have to do
- myuser = process.env.USER || "";
- maxReadSize;
- linkCache;
- statCache;
- preservePaths;
- cwd;
- strict;
- mtime;
- noPax;
- noMtime;
- prefix;
- fd;
+ WriteEntryTar = class extends Minipass {
blockLen = 0;
blockRemain = 0;
- buf;
+ buf = 0;
pos = 0;
remain = 0;
length = 0;
- offset = 0;
- win32;
- absolute;
- header;
+ preservePaths;
+ portable;
+ strict;
+ noPax;
+ noMtime;
+ readEntry;
type;
+ prefix;
+ path;
+ mode;
+ uid;
+ gid;
+ uname;
+ gname;
+ header;
+ mtime;
+ atime;
+ ctime;
linkpath;
- stat;
+ size;
onWriteEntry;
- #hadError = false;
- constructor(p, opt_ = {}) {
+ warn(code2, message, data = {}) {
+ return warnMethod(this, code2, message, data);
+ }
+ constructor(readEntry, opt_ = {}) {
const opt = dealias(opt_);
super();
- this.path = normalizeWindowsPath(p);
- this.portable = !!opt.portable;
- this.maxReadSize = opt.maxReadSize || maxReadSize;
- this.linkCache = opt.linkCache || /* @__PURE__ */ new Map();
- this.statCache = opt.statCache || /* @__PURE__ */ new Map();
this.preservePaths = !!opt.preservePaths;
- this.cwd = normalizeWindowsPath(opt.cwd || process.cwd());
+ this.portable = !!opt.portable;
this.strict = !!opt.strict;
this.noPax = !!opt.noPax;
this.noMtime = !!opt.noMtime;
- this.mtime = opt.mtime;
- this.prefix = opt.prefix ? normalizeWindowsPath(opt.prefix) : void 0;
this.onWriteEntry = opt.onWriteEntry;
- if (typeof opt.onwarn === "function") {
- this.on("warn", opt.onwarn);
- }
- let pathWarn = false;
- if (!this.preservePaths) {
- const [root, stripped] = stripAbsolutePath(this.path);
- if (root && typeof stripped === "string") {
- this.path = stripped;
- pathWarn = root;
- }
- }
- this.win32 = !!opt.win32 || process.platform === "win32";
- if (this.win32) {
- this.path = decode(this.path.replace(/\\/g, "/"));
- p = p.replace(/\\/g, "/");
- }
- this.absolute = normalizeWindowsPath(opt.absolute || import_path13.default.resolve(this.cwd, p));
- if (this.path === "") {
- this.path = "./";
- }
- if (pathWarn) {
- this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, {
- entry: this,
- path: pathWarn + this.path
- });
- }
- const cs = this.statCache.get(this.absolute);
- if (cs) {
- this[ONLSTAT](cs);
- } else {
- this[LSTAT]();
- }
- }
- warn(code2, message, data = {}) {
- return warnMethod(this, code2, message, data);
- }
- emit(ev, ...data) {
- if (ev === "error") {
- this.#hadError = true;
- }
- return super.emit(ev, ...data);
- }
- [LSTAT]() {
- import_fs14.default.lstat(this.absolute, (er, stat2) => {
- if (er) {
- return this.emit("error", er);
- }
- this[ONLSTAT](stat2);
- });
- }
- [ONLSTAT](stat2) {
- this.statCache.set(this.absolute, stat2);
- this.stat = stat2;
- if (!stat2.isFile()) {
- stat2.size = 0;
+ this.readEntry = readEntry;
+ const { type } = readEntry;
+ if (type === "Unsupported") {
+ throw new Error("writing entry that should be ignored");
}
- this.type = getType(stat2);
- this.emit("stat", stat2);
- this[PROCESS]();
- }
- [PROCESS]() {
- switch (this.type) {
- case "File":
- return this[FILE2]();
- case "Directory":
- return this[DIRECTORY2]();
- case "SymbolicLink":
- return this[SYMLINK2]();
- // unsupported types are ignored.
- default:
- return this.end();
+ this.type = type;
+ if (this.type === "Directory" && this.portable) {
+ this.noMtime = true;
}
- }
- [MODE](mode) {
- return modeFix(mode, this.type === "Directory", this.portable);
- }
- [PREFIX](path16) {
- return prefixPath(path16, this.prefix);
- }
- [HEADER]() {
- if (!this.stat) {
- throw new Error("cannot write header before stat");
+ this.prefix = opt.prefix;
+ this.path = normalizeWindowsPath(readEntry.path);
+ this.mode = readEntry.mode !== void 0 ? this[MODE](readEntry.mode) : void 0;
+ this.uid = this.portable ? void 0 : readEntry.uid;
+ this.gid = this.portable ? void 0 : readEntry.gid;
+ this.uname = this.portable ? void 0 : readEntry.uname;
+ this.gname = this.portable ? void 0 : readEntry.gname;
+ this.size = readEntry.size;
+ this.mtime = this.noMtime ? void 0 : opt.mtime || readEntry.mtime;
+ this.atime = this.portable ? void 0 : readEntry.atime;
+ this.ctime = this.portable ? void 0 : readEntry.ctime;
+ this.linkpath = readEntry.linkpath !== void 0 ? normalizeWindowsPath(readEntry.linkpath) : void 0;
+ if (typeof opt.onwarn === "function") {
+ this.on("warn", opt.onwarn);
}
- if (this.type === "Directory" && this.portable) {
- this.noMtime = true;
+ let pathWarn = false;
+ if (!this.preservePaths) {
+ const [root, stripped] = stripAbsolutePath(this.path);
+ if (root && typeof stripped === "string") {
+ this.path = stripped;
+ pathWarn = root;
+ }
}
+ this.remain = readEntry.size;
+ this.blockRemain = readEntry.startBlockSize;
this.onWriteEntry?.(this);
this.header = new Header({
path: this[PREFIX](this.path),
- // only apply the prefix to hard links.
linkpath: this.type === "Link" && this.linkpath !== void 0 ? this[PREFIX](this.linkpath) : this.linkpath,
// only the permissions and setuid/setgid/sticky bitflags
// not the higher-order bits that specify file type
- mode: this[MODE](this.stat.mode),
- uid: this.portable ? void 0 : this.stat.uid,
- gid: this.portable ? void 0 : this.stat.gid,
- size: this.stat.size,
- mtime: this.noMtime ? void 0 : this.mtime || this.stat.mtime,
- /* c8 ignore next */
- type: this.type === "Unsupported" ? void 0 : this.type,
- uname: this.portable ? void 0 : this.stat.uid === this.myuid ? this.myuser : "",
- atime: this.portable ? void 0 : this.stat.atime,
- ctime: this.portable ? void 0 : this.stat.ctime
+ mode: this.mode,
+ uid: this.portable ? void 0 : this.uid,
+ gid: this.portable ? void 0 : this.gid,
+ size: this.size,
+ mtime: this.noMtime ? void 0 : this.mtime,
+ type: this.type,
+ uname: this.portable ? void 0 : this.uname,
+ atime: this.portable ? void 0 : this.atime,
+ ctime: this.portable ? void 0 : this.ctime
});
+ if (pathWarn) {
+ this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, {
+ entry: this,
+ path: pathWarn + this.path
+ });
+ }
if (this.header.encode() && !this.noPax) {
super.write(new Pax({
- atime: this.portable ? void 0 : this.header.atime,
- ctime: this.portable ? void 0 : this.header.ctime,
- gid: this.portable ? void 0 : this.header.gid,
- mtime: this.noMtime ? void 0 : this.mtime || this.header.mtime,
+ atime: this.portable ? void 0 : this.atime,
+ ctime: this.portable ? void 0 : this.ctime,
+ gid: this.portable ? void 0 : this.gid,
+ mtime: this.noMtime ? void 0 : this.mtime,
path: this[PREFIX](this.path),
linkpath: this.type === "Link" && this.linkpath !== void 0 ? this[PREFIX](this.linkpath) : this.linkpath,
- size: this.header.size,
- uid: this.portable ? void 0 : this.header.uid,
- uname: this.portable ? void 0 : this.header.uname,
- dev: this.portable ? void 0 : this.stat.dev,
- ino: this.portable ? void 0 : this.stat.ino,
- nlink: this.portable ? void 0 : this.stat.nlink
+ size: this.size,
+ uid: this.portable ? void 0 : this.uid,
+ uname: this.portable ? void 0 : this.uname,
+ dev: this.portable ? void 0 : this.readEntry.dev,
+ ino: this.portable ? void 0 : this.readEntry.ino,
+ nlink: this.portable ? void 0 : this.readEntry.nlink
}).encode());
}
- const block = this.header?.block;
- if (!block) {
+ const b = this.header?.block;
+ if (!b)
throw new Error("failed to encode header");
+ super.write(b);
+ readEntry.pipe(this);
+ }
+ [PREFIX](path16) {
+ return prefixPath(path16, this.prefix);
+ }
+ [MODE](mode) {
+ return modeFix(mode, this.type === "Directory", this.portable);
+ }
+ write(chunk, encoding, cb) {
+ if (typeof encoding === "function") {
+ cb = encoding;
+ encoding = void 0;
}
- super.write(block);
+ if (typeof chunk === "string") {
+ chunk = Buffer.from(chunk, typeof encoding === "string" ? encoding : "utf8");
+ }
+ const writeLen = chunk.length;
+ if (writeLen > this.blockRemain) {
+ throw new Error("writing more to entry than is appropriate");
+ }
+ this.blockRemain -= writeLen;
+ return super.write(chunk, cb);
}
- [DIRECTORY2]() {
- if (!this.stat) {
- throw new Error("cannot create directory entry without stat");
+ end(chunk, encoding, cb) {
+ if (this.blockRemain) {
+ super.write(Buffer.alloc(this.blockRemain));
}
- if (this.path.slice(-1) !== "/") {
- this.path += "/";
+ if (typeof chunk === "function") {
+ cb = chunk;
+ encoding = void 0;
+ chunk = void 0;
}
- this.stat.size = 0;
- this[HEADER]();
- this.end();
+ if (typeof encoding === "function") {
+ cb = encoding;
+ encoding = void 0;
+ }
+ if (typeof chunk === "string") {
+ chunk = Buffer.from(chunk, encoding ?? "utf8");
+ }
+ if (cb)
+ this.once("finish", cb);
+ chunk ? super.end(chunk, cb) : super.end(cb);
+ return this;
}
- [SYMLINK2]() {
- import_fs14.default.readlink(this.absolute, (er, linkpath) => {
- if (er) {
- return this.emit("error", er);
- }
- this[ONREADLINK](linkpath);
- });
+ };
+ getType = (stat) => stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : "Unsupported";
+ }
+});
+
+// .yarn/cache/yallist-npm-5.0.0-8732dd9f1c-a499c81ce6.zip/node_modules/yallist/dist/esm/index.js
+function insertAfter(self2, node, value) {
+ const prev = node;
+ const next = node ? node.next : self2.head;
+ const inserted = new Node(value, prev, next, self2);
+ if (inserted.next === void 0) {
+ self2.tail = inserted;
+ }
+ if (inserted.prev === void 0) {
+ self2.head = inserted;
+ }
+ self2.length++;
+ return inserted;
+}
+function push(self2, item) {
+ self2.tail = new Node(item, self2.tail, void 0, self2);
+ if (!self2.head) {
+ self2.head = self2.tail;
+ }
+ self2.length++;
+}
+function unshift(self2, item) {
+ self2.head = new Node(item, void 0, self2.head, self2);
+ if (!self2.tail) {
+ self2.tail = self2.head;
+ }
+ self2.length++;
+}
+var Yallist, Node;
+var init_esm5 = __esm({
+ ".yarn/cache/yallist-npm-5.0.0-8732dd9f1c-a499c81ce6.zip/node_modules/yallist/dist/esm/index.js"() {
+ Yallist = class _Yallist {
+ tail;
+ head;
+ length = 0;
+ static create(list2 = []) {
+ return new _Yallist(list2);
}
- [ONREADLINK](linkpath) {
- this.linkpath = normalizeWindowsPath(linkpath);
- this[HEADER]();
- this.end();
+ constructor(list2 = []) {
+ for (const item of list2) {
+ this.push(item);
+ }
}
- [HARDLINK2](linkpath) {
- if (!this.stat) {
- throw new Error("cannot create link entry without stat");
+ *[Symbol.iterator]() {
+ for (let walker = this.head; walker; walker = walker.next) {
+ yield walker.value;
}
- this.type = "Link";
- this.linkpath = normalizeWindowsPath(import_path13.default.relative(this.cwd, linkpath));
- this.stat.size = 0;
- this[HEADER]();
- this.end();
}
- [FILE2]() {
- if (!this.stat) {
- throw new Error("cannot create file entry without stat");
+ removeNode(node) {
+ if (node.list !== this) {
+ throw new Error("removing node which does not belong to this list");
}
- if (this.stat.nlink > 1) {
- const linkKey = `${this.stat.dev}:${this.stat.ino}`;
- const linkpath = this.linkCache.get(linkKey);
- if (linkpath?.indexOf(this.cwd) === 0) {
- return this[HARDLINK2](linkpath);
- }
- this.linkCache.set(linkKey, this.absolute);
+ const next = node.next;
+ const prev = node.prev;
+ if (next) {
+ next.prev = prev;
}
- this[HEADER]();
- if (this.stat.size === 0) {
- return this.end();
+ if (prev) {
+ prev.next = next;
}
- this[OPENFILE]();
- }
- [OPENFILE]() {
- import_fs14.default.open(this.absolute, "r", (er, fd) => {
- if (er) {
- return this.emit("error", er);
- }
- this[ONOPENFILE](fd);
- });
- }
- [ONOPENFILE](fd) {
- this.fd = fd;
- if (this.#hadError) {
- return this[CLOSE]();
+ if (node === this.head) {
+ this.head = next;
}
- if (!this.stat) {
- throw new Error("should stat before calling onopenfile");
+ if (node === this.tail) {
+ this.tail = prev;
}
- this.blockLen = 512 * Math.ceil(this.stat.size / 512);
- this.blockRemain = this.blockLen;
- const bufLen = Math.min(this.blockLen, this.maxReadSize);
- this.buf = Buffer.allocUnsafe(bufLen);
- this.offset = 0;
- this.pos = 0;
- this.remain = this.stat.size;
- this.length = this.buf.length;
- this[READ2]();
+ this.length--;
+ node.next = void 0;
+ node.prev = void 0;
+ node.list = void 0;
+ return next;
}
- [READ2]() {
- const { fd, buf, offset, length, pos: pos2 } = this;
- if (fd === void 0 || buf === void 0) {
- throw new Error("cannot read file without first opening");
+ unshiftNode(node) {
+ if (node === this.head) {
+ return;
+ }
+ if (node.list) {
+ node.list.removeNode(node);
+ }
+ const head = this.head;
+ node.list = this;
+ node.next = head;
+ if (head) {
+ head.prev = node;
+ }
+ this.head = node;
+ if (!this.tail) {
+ this.tail = node;
}
- import_fs14.default.read(fd, buf, offset, length, pos2, (er, bytesRead) => {
- if (er) {
- return this[CLOSE](() => this.emit("error", er));
- }
- this[ONREAD](bytesRead);
- });
- }
- /* c8 ignore start */
- [CLOSE](cb = () => {
- }) {
- if (this.fd !== void 0)
- import_fs14.default.close(this.fd, cb);
+ this.length++;
}
- [ONREAD](bytesRead) {
- if (bytesRead <= 0 && this.remain > 0) {
- const er = Object.assign(new Error("encountered unexpected EOF"), {
- path: this.absolute,
- syscall: "read",
- code: "EOF"
- });
- return this[CLOSE](() => this.emit("error", er));
- }
- if (bytesRead > this.remain) {
- const er = Object.assign(new Error("did not encounter expected EOF"), {
- path: this.absolute,
- syscall: "read",
- code: "EOF"
- });
- return this[CLOSE](() => this.emit("error", er));
+ pushNode(node) {
+ if (node === this.tail) {
+ return;
}
- if (!this.buf) {
- throw new Error("should have created buffer prior to reading");
+ if (node.list) {
+ node.list.removeNode(node);
}
- if (bytesRead === this.remain) {
- for (let i = bytesRead; i < this.length && bytesRead < this.blockRemain; i++) {
- this.buf[i + this.offset] = 0;
- bytesRead++;
- this.remain++;
- }
+ const tail = this.tail;
+ node.list = this;
+ node.prev = tail;
+ if (tail) {
+ tail.next = node;
}
- const chunk = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.subarray(this.offset, this.offset + bytesRead);
- const flushed = this.write(chunk);
- if (!flushed) {
- this[AWAITDRAIN](() => this[ONDRAIN]());
- } else {
- this[ONDRAIN]();
+ this.tail = node;
+ if (!this.head) {
+ this.head = node;
}
+ this.length++;
}
- [AWAITDRAIN](cb) {
- this.once("drain", cb);
+ push(...args) {
+ for (let i = 0, l = args.length; i < l; i++) {
+ push(this, args[i]);
+ }
+ return this.length;
}
- write(chunk, encoding, cb) {
- if (typeof encoding === "function") {
- cb = encoding;
- encoding = void 0;
+ unshift(...args) {
+ for (var i = 0, l = args.length; i < l; i++) {
+ unshift(this, args[i]);
}
- if (typeof chunk === "string") {
- chunk = Buffer.from(chunk, typeof encoding === "string" ? encoding : "utf8");
+ return this.length;
+ }
+ pop() {
+ if (!this.tail) {
+ return void 0;
}
- if (this.blockRemain < chunk.length) {
- const er = Object.assign(new Error("writing more data than expected"), {
- path: this.absolute
- });
- return this.emit("error", er);
+ const res = this.tail.value;
+ const t = this.tail;
+ this.tail = this.tail.prev;
+ if (this.tail) {
+ this.tail.next = void 0;
+ } else {
+ this.head = void 0;
}
- this.remain -= chunk.length;
- this.blockRemain -= chunk.length;
- this.pos += chunk.length;
- this.offset += chunk.length;
- return super.write(chunk, null, cb);
+ t.list = void 0;
+ this.length--;
+ return res;
}
- [ONDRAIN]() {
- if (!this.remain) {
- if (this.blockRemain) {
- super.write(Buffer.alloc(this.blockRemain));
- }
- return this[CLOSE]((er) => er ? this.emit("error", er) : this.end());
- }
- if (!this.buf) {
- throw new Error("buffer lost somehow in ONDRAIN");
+ shift() {
+ if (!this.head) {
+ return void 0;
}
- if (this.offset >= this.length) {
- this.buf = Buffer.allocUnsafe(Math.min(this.blockRemain, this.buf.length));
- this.offset = 0;
+ const res = this.head.value;
+ const h = this.head;
+ this.head = this.head.next;
+ if (this.head) {
+ this.head.prev = void 0;
+ } else {
+ this.tail = void 0;
}
- this.length = this.buf.length - this.offset;
- this[READ2]();
- }
- };
- WriteEntrySync = class extends WriteEntry {
- sync = true;
- [LSTAT]() {
- this[ONLSTAT](import_fs14.default.lstatSync(this.absolute));
- }
- [SYMLINK2]() {
- this[ONREADLINK](import_fs14.default.readlinkSync(this.absolute));
+ h.list = void 0;
+ this.length--;
+ return res;
}
- [OPENFILE]() {
- this[ONOPENFILE](import_fs14.default.openSync(this.absolute, "r"));
+ forEach(fn2, thisp) {
+ thisp = thisp || this;
+ for (let walker = this.head, i = 0; !!walker; i++) {
+ fn2.call(thisp, walker.value, i, this);
+ walker = walker.next;
+ }
}
- [READ2]() {
- let threw = true;
- try {
- const { fd, buf, offset, length, pos: pos2 } = this;
- if (fd === void 0 || buf === void 0) {
- throw new Error("fd and buf must be set in READ method");
- }
- const bytesRead = import_fs14.default.readSync(fd, buf, offset, length, pos2);
- this[ONREAD](bytesRead);
- threw = false;
- } finally {
- if (threw) {
- try {
- this[CLOSE](() => {
- });
- } catch (er) {
- }
- }
+ forEachReverse(fn2, thisp) {
+ thisp = thisp || this;
+ for (let walker = this.tail, i = this.length - 1; !!walker; i--) {
+ fn2.call(thisp, walker.value, i, this);
+ walker = walker.prev;
}
}
- [AWAITDRAIN](cb) {
- cb();
+ get(n) {
+ let i = 0;
+ let walker = this.head;
+ for (; !!walker && i < n; i++) {
+ walker = walker.next;
+ }
+ if (i === n && !!walker) {
+ return walker.value;
+ }
}
- /* c8 ignore start */
- [CLOSE](cb = () => {
- }) {
- if (this.fd !== void 0)
- import_fs14.default.closeSync(this.fd);
- cb();
+ getReverse(n) {
+ let i = 0;
+ let walker = this.tail;
+ for (; !!walker && i < n; i++) {
+ walker = walker.prev;
+ }
+ if (i === n && !!walker) {
+ return walker.value;
+ }
}
- };
- WriteEntryTar = class extends Minipass {
- blockLen = 0;
- blockRemain = 0;
- buf = 0;
- pos = 0;
- remain = 0;
- length = 0;
- preservePaths;
- portable;
- strict;
- noPax;
- noMtime;
- readEntry;
- type;
- prefix;
- path;
- mode;
- uid;
- gid;
- uname;
- gname;
- header;
- mtime;
- atime;
- ctime;
- linkpath;
- size;
- onWriteEntry;
- warn(code2, message, data = {}) {
- return warnMethod(this, code2, message, data);
+ map(fn2, thisp) {
+ thisp = thisp || this;
+ const res = new _Yallist();
+ for (let walker = this.head; !!walker; ) {
+ res.push(fn2.call(thisp, walker.value, this));
+ walker = walker.next;
+ }
+ return res;
}
- constructor(readEntry, opt_ = {}) {
- const opt = dealias(opt_);
- super();
- this.preservePaths = !!opt.preservePaths;
- this.portable = !!opt.portable;
- this.strict = !!opt.strict;
- this.noPax = !!opt.noPax;
- this.noMtime = !!opt.noMtime;
- this.onWriteEntry = opt.onWriteEntry;
- this.readEntry = readEntry;
- const { type } = readEntry;
- if (type === "Unsupported") {
- throw new Error("writing entry that should be ignored");
+ mapReverse(fn2, thisp) {
+ thisp = thisp || this;
+ var res = new _Yallist();
+ for (let walker = this.tail; !!walker; ) {
+ res.push(fn2.call(thisp, walker.value, this));
+ walker = walker.prev;
}
- this.type = type;
- if (this.type === "Directory" && this.portable) {
- this.noMtime = true;
+ return res;
+ }
+ reduce(fn2, initial) {
+ let acc;
+ let walker = this.head;
+ if (arguments.length > 1) {
+ acc = initial;
+ } else if (this.head) {
+ walker = this.head.next;
+ acc = this.head.value;
+ } else {
+ throw new TypeError("Reduce of empty list with no initial value");
}
- this.prefix = opt.prefix;
- this.path = normalizeWindowsPath(readEntry.path);
- this.mode = readEntry.mode !== void 0 ? this[MODE](readEntry.mode) : void 0;
- this.uid = this.portable ? void 0 : readEntry.uid;
- this.gid = this.portable ? void 0 : readEntry.gid;
- this.uname = this.portable ? void 0 : readEntry.uname;
- this.gname = this.portable ? void 0 : readEntry.gname;
- this.size = readEntry.size;
- this.mtime = this.noMtime ? void 0 : opt.mtime || readEntry.mtime;
- this.atime = this.portable ? void 0 : readEntry.atime;
- this.ctime = this.portable ? void 0 : readEntry.ctime;
- this.linkpath = readEntry.linkpath !== void 0 ? normalizeWindowsPath(readEntry.linkpath) : void 0;
- if (typeof opt.onwarn === "function") {
- this.on("warn", opt.onwarn);
+ for (var i = 0; !!walker; i++) {
+ acc = fn2(acc, walker.value, i);
+ walker = walker.next;
}
- let pathWarn = false;
- if (!this.preservePaths) {
- const [root, stripped] = stripAbsolutePath(this.path);
- if (root && typeof stripped === "string") {
- this.path = stripped;
- pathWarn = root;
- }
+ return acc;
+ }
+ reduceReverse(fn2, initial) {
+ let acc;
+ let walker = this.tail;
+ if (arguments.length > 1) {
+ acc = initial;
+ } else if (this.tail) {
+ walker = this.tail.prev;
+ acc = this.tail.value;
+ } else {
+ throw new TypeError("Reduce of empty list with no initial value");
}
- this.remain = readEntry.size;
- this.blockRemain = readEntry.startBlockSize;
- this.onWriteEntry?.(this);
- this.header = new Header({
- path: this[PREFIX](this.path),
- linkpath: this.type === "Link" && this.linkpath !== void 0 ? this[PREFIX](this.linkpath) : this.linkpath,
- // only the permissions and setuid/setgid/sticky bitflags
- // not the higher-order bits that specify file type
- mode: this.mode,
- uid: this.portable ? void 0 : this.uid,
- gid: this.portable ? void 0 : this.gid,
- size: this.size,
- mtime: this.noMtime ? void 0 : this.mtime,
- type: this.type,
- uname: this.portable ? void 0 : this.uname,
- atime: this.portable ? void 0 : this.atime,
- ctime: this.portable ? void 0 : this.ctime
- });
- if (pathWarn) {
- this.warn("TAR_ENTRY_INFO", `stripping ${pathWarn} from absolute path`, {
- entry: this,
- path: pathWarn + this.path
- });
+ for (let i = this.length - 1; !!walker; i--) {
+ acc = fn2(acc, walker.value, i);
+ walker = walker.prev;
}
- if (this.header.encode() && !this.noPax) {
- super.write(new Pax({
- atime: this.portable ? void 0 : this.atime,
- ctime: this.portable ? void 0 : this.ctime,
- gid: this.portable ? void 0 : this.gid,
- mtime: this.noMtime ? void 0 : this.mtime,
- path: this[PREFIX](this.path),
- linkpath: this.type === "Link" && this.linkpath !== void 0 ? this[PREFIX](this.linkpath) : this.linkpath,
- size: this.size,
- uid: this.portable ? void 0 : this.uid,
- uname: this.portable ? void 0 : this.uname,
- dev: this.portable ? void 0 : this.readEntry.dev,
- ino: this.portable ? void 0 : this.readEntry.ino,
- nlink: this.portable ? void 0 : this.readEntry.nlink
- }).encode());
+ return acc;
+ }
+ toArray() {
+ const arr = new Array(this.length);
+ for (let i = 0, walker = this.head; !!walker; i++) {
+ arr[i] = walker.value;
+ walker = walker.next;
}
- const b = this.header?.block;
- if (!b)
- throw new Error("failed to encode header");
- super.write(b);
- readEntry.pipe(this);
+ return arr;
}
- [PREFIX](path16) {
- return prefixPath(path16, this.prefix);
+ toArrayReverse() {
+ const arr = new Array(this.length);
+ for (let i = 0, walker = this.tail; !!walker; i++) {
+ arr[i] = walker.value;
+ walker = walker.prev;
+ }
+ return arr;
}
- [MODE](mode) {
- return modeFix(mode, this.type === "Directory", this.portable);
+ slice(from = 0, to = this.length) {
+ if (to < 0) {
+ to += this.length;
+ }
+ if (from < 0) {
+ from += this.length;
+ }
+ const ret = new _Yallist();
+ if (to < from || to < 0) {
+ return ret;
+ }
+ if (from < 0) {
+ from = 0;
+ }
+ if (to > this.length) {
+ to = this.length;
+ }
+ let walker = this.head;
+ let i = 0;
+ for (i = 0; !!walker && i < from; i++) {
+ walker = walker.next;
+ }
+ for (; !!walker && i < to; i++, walker = walker.next) {
+ ret.push(walker.value);
+ }
+ return ret;
}
- write(chunk, encoding, cb) {
- if (typeof encoding === "function") {
- cb = encoding;
- encoding = void 0;
+ sliceReverse(from = 0, to = this.length) {
+ if (to < 0) {
+ to += this.length;
}
- if (typeof chunk === "string") {
- chunk = Buffer.from(chunk, typeof encoding === "string" ? encoding : "utf8");
+ if (from < 0) {
+ from += this.length;
}
- const writeLen = chunk.length;
- if (writeLen > this.blockRemain) {
- throw new Error("writing more to entry than is appropriate");
+ const ret = new _Yallist();
+ if (to < from || to < 0) {
+ return ret;
}
- this.blockRemain -= writeLen;
- return super.write(chunk, cb);
+ if (from < 0) {
+ from = 0;
+ }
+ if (to > this.length) {
+ to = this.length;
+ }
+ let i = this.length;
+ let walker = this.tail;
+ for (; !!walker && i > to; i--) {
+ walker = walker.prev;
+ }
+ for (; !!walker && i > from; i--, walker = walker.prev) {
+ ret.push(walker.value);
+ }
+ return ret;
}
- end(chunk, encoding, cb) {
- if (this.blockRemain) {
- super.write(Buffer.alloc(this.blockRemain));
+ splice(start, deleteCount = 0, ...nodes) {
+ if (start > this.length) {
+ start = this.length - 1;
}
- if (typeof chunk === "function") {
- cb = chunk;
- encoding = void 0;
- chunk = void 0;
+ if (start < 0) {
+ start = this.length + start;
}
- if (typeof encoding === "function") {
- cb = encoding;
- encoding = void 0;
+ let walker = this.head;
+ for (let i = 0; !!walker && i < start; i++) {
+ walker = walker.next;
}
- if (typeof chunk === "string") {
- chunk = Buffer.from(chunk, encoding ?? "utf8");
+ const ret = [];
+ for (let i = 0; !!walker && i < deleteCount; i++) {
+ ret.push(walker.value);
+ walker = this.removeNode(walker);
}
- if (cb)
- this.once("finish", cb);
- chunk ? super.end(chunk, cb) : super.end(cb);
+ if (!walker) {
+ walker = this.tail;
+ } else if (walker !== this.tail) {
+ walker = walker.prev;
+ }
+ for (const v of nodes) {
+ walker = insertAfter(this, walker, v);
+ }
+ return ret;
+ }
+ reverse() {
+ const head = this.head;
+ const tail = this.tail;
+ for (let walker = head; !!walker; walker = walker.prev) {
+ const p = walker.prev;
+ walker.prev = walker.next;
+ walker.next = p;
+ }
+ this.head = tail;
+ this.tail = head;
return this;
}
};
- getType = (stat2) => stat2.isFile() ? "File" : stat2.isDirectory() ? "Directory" : stat2.isSymbolicLink() ? "SymbolicLink" : "Unsupported";
+ Node = class {
+ list;
+ next;
+ prev;
+ value;
+ constructor(value, prev, next, list2) {
+ this.list = list2;
+ this.value = value;
+ if (prev) {
+ prev.next = this;
+ this.prev = prev;
+ } else {
+ this.prev = void 0;
+ }
+ if (next) {
+ next.prev = this;
+ this.next = next;
+ } else {
+ this.next = void 0;
+ }
+ }
+ };
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/pack.js
-var import_fs15, import_path14, PackJob, EOF2, ONSTAT, ENDED3, QUEUE2, CURRENT, PROCESS2, PROCESSING, PROCESSJOB, JOBS, JOBDONE, ADDFSENTRY, ADDTARENTRY, STAT, READDIR, ONREADDIR, PIPE, ENTRY, ENTRYOPT, WRITEENTRYCLASS, WRITE, ONDRAIN2, Pack, PackSync;
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/pack.js
+var import_fs12, import_path10, PackJob, EOF2, ONSTAT, ENDED3, QUEUE2, CURRENT, PROCESS2, PROCESSING, PROCESSJOB, JOBS, JOBDONE, ADDFSENTRY, ADDTARENTRY, STAT, READDIR, ONREADDIR, PIPE, ENTRY, ENTRYOPT, WRITEENTRYCLASS, WRITE, ONDRAIN2, Pack, PackSync;
var init_pack = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/pack.js"() {
- import_fs15 = __toESM(require("fs"), 1);
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/pack.js"() {
+ import_fs12 = __toESM(require("fs"), 1);
init_write_entry();
init_esm();
init_esm3();
- init_esm4();
+ init_esm5();
init_read_entry();
init_warn_method();
- import_path14 = __toESM(require("path"), 1);
+ import_path10 = __toESM(require("path"), 1);
init_normalize_windows_path();
PackJob = class {
path;
@@ -19579,6 +19558,14 @@ var init_pack = __esm({
jobs;
[WRITEENTRYCLASS];
onWriteEntry;
+ // Note: we actually DO need a linked list here, because we
+ // shift() to update the head of the list where we start, but still
+ // while that happens, need to know what the next item in the queue
+ // will be. Since we do multiple jobs in parallel, it's not as simple
+ // as just an Array.shift(), since that would lose the information about
+ // the next job in the list. We could add a .next field on the PackJob
+ // class, but then we'd have to be tracking the tail of the queue the
+ // whole time, and Yallist just does that for us anyway.
[QUEUE2];
[JOBS] = 0;
[PROCESSING] = false;
@@ -19602,9 +19589,9 @@ var init_pack = __esm({
this.on("warn", opt.onwarn);
}
this.portable = !!opt.portable;
- if (opt.gzip || opt.brotli) {
- if (opt.gzip && opt.brotli) {
- throw new TypeError("gzip and brotli are mutually exclusive");
+ if (opt.gzip || opt.brotli || opt.zstd) {
+ if ((opt.gzip ? 1 : 0) + (opt.brotli ? 1 : 0) + (opt.zstd ? 1 : 0) > 1) {
+ throw new TypeError("gzip, brotli, zstd are mutually exclusive");
}
if (opt.gzip) {
if (typeof opt.gzip !== "object") {
@@ -19621,6 +19608,12 @@ var init_pack = __esm({
}
this.zip = new BrotliCompress(opt.brotli);
}
+ if (opt.zstd) {
+ if (typeof opt.zstd !== "object") {
+ opt.zstd = {};
+ }
+ this.zip = new ZstdCompress(opt.zstd);
+ }
if (!this.zip)
throw new Error("impossible");
const zip = this.zip;
@@ -19680,7 +19673,7 @@ var init_pack = __esm({
return this.flowing;
}
[ADDTARENTRY](p) {
- const absolute = normalizeWindowsPath(import_path14.default.resolve(this.cwd, p.path));
+ const absolute = normalizeWindowsPath(import_path10.default.resolve(this.cwd, p.path));
if (!this.filter(p.path, p)) {
p.resume();
} else {
@@ -19693,28 +19686,28 @@ var init_pack = __esm({
this[PROCESS2]();
}
[ADDFSENTRY](p) {
- const absolute = normalizeWindowsPath(import_path14.default.resolve(this.cwd, p));
+ const absolute = normalizeWindowsPath(import_path10.default.resolve(this.cwd, p));
this[QUEUE2].push(new PackJob(p, absolute));
this[PROCESS2]();
}
[STAT](job) {
job.pending = true;
this[JOBS] += 1;
- const stat2 = this.follow ? "stat" : "lstat";
- import_fs15.default[stat2](job.absolute, (er, stat3) => {
+ const stat = this.follow ? "stat" : "lstat";
+ import_fs12.default[stat](job.absolute, (er, stat2) => {
job.pending = false;
this[JOBS] -= 1;
if (er) {
this.emit("error", er);
} else {
- this[ONSTAT](job, stat3);
+ this[ONSTAT](job, stat2);
}
});
}
- [ONSTAT](job, stat2) {
- this.statCache.set(job.absolute, stat2);
- job.stat = stat2;
- if (!this.filter(job.path, stat2)) {
+ [ONSTAT](job, stat) {
+ this.statCache.set(job.absolute, stat);
+ job.stat = stat;
+ if (!this.filter(job.path, stat)) {
job.ignore = true;
}
this[PROCESS2]();
@@ -19722,7 +19715,7 @@ var init_pack = __esm({
[READDIR](job) {
job.pending = true;
this[JOBS] += 1;
- import_fs15.default.readdir(job.absolute, (er, entries) => {
+ import_fs12.default.readdir(job.absolute, (er, entries) => {
job.pending = false;
this[JOBS] -= 1;
if (er) {
@@ -19893,11 +19886,11 @@ var init_pack = __esm({
resume() {
}
[STAT](job) {
- const stat2 = this.follow ? "statSync" : "lstatSync";
- this[ONSTAT](job, import_fs15.default[stat2](job.absolute));
+ const stat = this.follow ? "statSync" : "lstatSync";
+ this[ONSTAT](job, import_fs12.default[stat](job.absolute));
}
[READDIR](job) {
- this[ONREADDIR](job, import_fs15.default.readdirSync(job.absolute));
+ this[ONREADDIR](job, import_fs12.default.readdirSync(job.absolute));
}
// gotta get it all in this tick
[PIPE](job) {
@@ -19926,14 +19919,14 @@ var init_pack = __esm({
}
});
-// .yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/create.js
+// .yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/create.js
var create_exports = {};
__export(create_exports, {
create: () => create
});
var import_node_path8, createFileSync, createFile, addFilesSync, addFilesAsync, createSync, createAsync, create;
var init_create = __esm({
- ".yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-d4679609bb.zip/node_modules/tar/dist/esm/create.js"() {
+ ".yarn/cache/tar-npm-7.5.2-6d8cfb7a13-a7d8b80113.zip/node_modules/tar/dist/esm/create.js"() {
init_esm2();
import_node_path8 = __toESM(require("node:path"), 1);
init_list();
@@ -20011,9 +20004,10 @@ var init_create = __esm({
}
});
-// .yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/major.js
+// .yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/major.js
var require_major = __commonJS({
- ".yarn/cache/semver-npm-7.7.1-4572475307-fd603a6fb9.zip/node_modules/semver/functions/major.js"(exports2, module2) {
+ ".yarn/cache/semver-npm-7.7.3-9cf7b3b46c-4afe5c9865.zip/node_modules/semver/functions/major.js"(exports2, module2) {
+ "use strict";
var SemVer3 = require_semver();
var major = (a, loose) => new SemVer3(a, loose).major;
module2.exports = major;
@@ -21683,11 +21677,11 @@ function String2(descriptor, ...args) {
}
// package.json
-var version = "0.34.0";
+var version = "0.34.2";
// sources/Engine.ts
-var import_fs9 = __toESM(require("fs"));
-var import_path9 = __toESM(require("path"));
+var import_fs6 = __toESM(require("fs"));
+var import_path5 = __toESM(require("path"));
var import_process3 = __toESM(require("process"));
var import_rcompare = __toESM(require_rcompare());
var import_valid3 = __toESM(require_valid());
@@ -21697,7 +21691,7 @@ var import_valid4 = __toESM(require_valid2());
var config_default = {
definitions: {
npm: {
- default: "11.4.2+sha1.6f1519a03f7e04023a957a22b812832d0c4a4b33",
+ default: "11.6.2+sha1.2af8ff1f23b279df1e5289db7c70cfedd0fe18c5",
fetchLatestFrom: {
type: "npm",
package: "npm"
@@ -21734,7 +21728,7 @@ var config_default = {
}
},
pnpm: {
- default: "10.13.1+sha1.aa8c167c4509c97519542ef77a09e4b8ab59fb6a",
+ default: "10.20.0+sha1.a9bfe8cf88011d4758e1acbeb0da8883ecbd52ce",
fetchLatestFrom: {
type: "npm",
package: "pnpm"
@@ -21798,7 +21792,7 @@ var config_default = {
package: "yarn"
},
transparent: {
- default: "4.9.2+sha224.b8e0b161ae590950fbda696e6f3ca071362768e5280c5fbfdadf064b",
+ default: "4.10.3+sha224.6020b3cdcdfbd7dbc24b7a7b75d58a249ce36068a8bf97d39aa8cc6d",
commands: [
[
"yarn",
@@ -21881,14 +21875,14 @@ var config_default = {
// sources/corepackUtils.ts
var import_crypto2 = require("crypto");
var import_events4 = require("events");
-var import_fs7 = __toESM(require("fs"));
+var import_fs4 = __toESM(require("fs"));
var import_module = __toESM(require("module"));
-var import_path7 = __toESM(require("path"));
+var import_path3 = __toESM(require("path"));
var import_range = __toESM(require_range());
var import_semver = __toESM(require_semver());
var import_lt = __toESM(require_lt());
var import_parse3 = __toESM(require_parse());
-var import_promises = require("timers/promises");
+var import_promises2 = require("timers/promises");
// sources/debugUtils.ts
var import_debug = __toESM(require_src());
@@ -21945,7 +21939,7 @@ var DEFAULT_HEADERS = {
[`Accept`]: `application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8`
};
var DEFAULT_NPM_REGISTRY_URL = `https://registry.npmjs.org`;
-async function fetchAsJson2(packageName, version3) {
+async function fetchAsJson2(packageName, version2) {
const npmRegistryUrl = process.env.COREPACK_NPM_REGISTRY || DEFAULT_NPM_REGISTRY_URL;
if (process.env.COREPACK_ENABLE_NETWORK === `0`)
throw new UsageError(`Network access disabled by the environment; can't reach npm repository ${npmRegistryUrl}`);
@@ -21956,9 +21950,9 @@ async function fetchAsJson2(packageName, version3) {
const encodedCreds = Buffer.from(`${process.env.COREPACK_NPM_USERNAME}:${process.env.COREPACK_NPM_PASSWORD}`, `utf8`).toString(`base64`);
headers.authorization = `Basic ${encodedCreds}`;
}
- return fetchAsJson(`${npmRegistryUrl}/${packageName}${version3 ? `/${version3}` : ``}`, { headers });
+ return fetchAsJson(`${npmRegistryUrl}/${packageName}${version2 ? `/${version2}` : ``}`, { headers });
}
-function verifySignature({ signatures, integrity, packageName, version: version3 }) {
+function verifySignature({ signatures, integrity, packageName, version: version2 }) {
if (!Array.isArray(signatures) || !signatures.length) throw new Error(`No compatible signature found in package metadata`);
const { npm: trustedKeys } = process.env.COREPACK_INTEGRITY_KEYS ? JSON.parse(process.env.COREPACK_INTEGRITY_KEYS) : config_default.keys;
let signature;
@@ -21972,7 +21966,7 @@ function verifySignature({ signatures, integrity, packageName, version: version3
}
if (signature?.sig == null) throw new UsageError(`The package was not signed by any trusted keys: ${JSON.stringify({ signatures, trustedKeys }, void 0, 2)}`);
const verifier = (0, import_crypto.createVerify)(`SHA256`);
- verifier.end(`${packageName}@${version3}:${integrity}`);
+ verifier.end(`${packageName}@${version2}:${integrity}`);
const valid = verifier.verify(
`-----BEGIN PUBLIC KEY-----
${key}
@@ -21986,12 +21980,12 @@ ${key}
}
async function fetchLatestStableVersion(packageName) {
const metadata = await fetchAsJson2(packageName, `latest`);
- const { version: version3, dist: { integrity, signatures, shasum } } = metadata;
+ const { version: version2, dist: { integrity, signatures, shasum } } = metadata;
if (!shouldSkipIntegrityCheck()) {
try {
verifySignature({
packageName,
- version: version3,
+ version: version2,
integrity,
signatures
});
@@ -21999,7 +21993,7 @@ async function fetchLatestStableVersion(packageName) {
throw new Error(`Corepack cannot download the latest stable version of ${packageName}; you can disable signature verification by setting COREPACK_INTEGRITY_CHECK to 0 in your env, or instruct Corepack to use the latest stable release known by this version of Corepack by setting COREPACK_USE_LATEST to 0`, { cause });
}
}
- return `${version3}+${integrity ? `sha512.${Buffer.from(integrity.slice(7), `base64`).toString(`hex`)}` : `sha1.${shasum}`}`;
+ return `${version2}+${integrity ? `sha512.${Buffer.from(integrity.slice(7), `base64`).toString(`hex`)}` : `sha1.${shasum}`}`;
}
async function fetchAvailableTags(packageName) {
const metadata = await fetchAsJson2(packageName);
@@ -22009,11 +22003,11 @@ async function fetchAvailableVersions(packageName) {
const metadata = await fetchAsJson2(packageName);
return Object.keys(metadata.versions);
}
-async function fetchTarballURLAndSignature(packageName, version3) {
- const versionMetadata = await fetchAsJson2(packageName, version3);
+async function fetchTarballURLAndSignature(packageName, version2) {
+ const versionMetadata = await fetchAsJson2(packageName, version2);
const { tarball, signatures, integrity } = versionMetadata.dist;
if (tarball === void 0 || !tarball.startsWith(`http`))
- throw new Error(`${packageName}@${version3} does not have a valid tarball.`);
+ throw new Error(`${packageName}@${version2} does not have a valid tarball.`);
return { tarball, signatures, integrity };
}
@@ -22034,7 +22028,8 @@ async function fetch(input, init) {
};
input.username = input.password = ``;
}
- if (input.origin === (process.env.COREPACK_NPM_REGISTRY || DEFAULT_NPM_REGISTRY_URL) && process.env.COREPACK_NPM_TOKEN) {
+ const registry = process.env.COREPACK_NPM_TOKEN && new URL(process.env.COREPACK_NPM_REGISTRY || DEFAULT_NPM_REGISTRY_URL);
+ if (registry && input.origin === registry.origin) {
headers = {
...headers,
authorization: `Bearer ${process.env.COREPACK_NPM_TOKEN}`
@@ -22156,10 +22151,10 @@ async function fetchAvailableVersions2(spec) {
}
}
async function findInstalledVersion(installTarget, descriptor) {
- const installFolder = import_path7.default.join(installTarget, descriptor.name);
+ const installFolder = import_path3.default.join(installTarget, descriptor.name);
let cacheDirectory;
try {
- cacheDirectory = await import_fs7.default.promises.opendir(installFolder);
+ cacheDirectory = await import_fs4.default.promises.opendir(installFolder);
} catch (error) {
if (error.code === `ENOENT`) {
return null;
@@ -22207,7 +22202,7 @@ async function download(installTarget, url, algo, binPath = null) {
log(`Downloading to ${tmpFolder}`);
const stream = await fetchUrlStream(url);
const parsedUrl = new URL(url);
- const ext = import_path7.default.posix.extname(parsedUrl.pathname);
+ const ext = import_path3.default.posix.extname(parsedUrl.pathname);
let outputFile = null;
let sendTo;
if (ext === `.tgz`) {
@@ -22221,15 +22216,15 @@ async function download(installTarget, url, algo, binPath = null) {
} : void 0
});
} else if (ext === `.js`) {
- outputFile = import_path7.default.join(tmpFolder, import_path7.default.posix.basename(parsedUrl.pathname));
- sendTo = import_fs7.default.createWriteStream(outputFile);
+ outputFile = import_path3.default.join(tmpFolder, import_path3.default.posix.basename(parsedUrl.pathname));
+ sendTo = import_fs4.default.createWriteStream(outputFile);
}
stream.pipe(sendTo);
let hash = !binPath ? stream.pipe((0, import_crypto2.createHash)(algo)) : null;
await (0, import_events4.once)(sendTo, `finish`);
if (binPath) {
- const downloadedBin = import_path7.default.join(tmpFolder, binPath);
- outputFile = import_path7.default.join(tmpFolder, import_path7.default.basename(downloadedBin));
+ const downloadedBin = import_path3.default.join(tmpFolder, binPath);
+ outputFile = import_path3.default.join(tmpFolder, import_path3.default.basename(downloadedBin));
try {
await renameSafe(downloadedBin, outputFile);
} catch (err) {
@@ -22237,7 +22232,7 @@ async function download(installTarget, url, algo, binPath = null) {
throw new Error(`Cannot locate '${binPath}' in downloaded tarball`, { cause: err });
throw err;
}
- const fileStream = import_fs7.default.createReadStream(outputFile);
+ const fileStream = import_fs4.default.createReadStream(outputFile);
hash = fileStream.pipe((0, import_crypto2.createHash)(algo));
await (0, import_events4.once)(fileStream, `close`);
}
@@ -22250,11 +22245,11 @@ async function download(installTarget, url, algo, binPath = null) {
async function installVersion(installTarget, locator, { spec }) {
const locatorIsASupportedPackageManager = isSupportedPackageManagerLocator(locator);
const locatorReference = locatorIsASupportedPackageManager ? (0, import_parse3.default)(locator.reference) : parseURLReference(locator);
- const { version: version3, build } = locatorReference;
- const installFolder = import_path7.default.join(installTarget, locator.name, version3);
+ const { version: version2, build } = locatorReference;
+ const installFolder = import_path3.default.join(installTarget, locator.name, version2);
try {
- const corepackFile = import_path7.default.join(installFolder, `.corepack`);
- const corepackContent = await import_fs7.default.promises.readFile(corepackFile, `utf8`);
+ const corepackFile = import_path3.default.join(installFolder, `.corepack`);
+ const corepackContent = await import_fs4.default.promises.readFile(corepackFile, `utf8`);
const corepackData = JSON.parse(corepackContent);
log(`Reusing ${locator.name}@${locator.reference} found in ${installFolder}`);
return {
@@ -22272,11 +22267,11 @@ async function installVersion(installTarget, locator, { spec }) {
let integrity;
let binPath = null;
if (locatorIsASupportedPackageManager) {
- url = spec.url.replace(`{}`, version3);
+ url = spec.url.replace(`{}`, version2);
if (process.env.COREPACK_NPM_REGISTRY) {
const registry = getRegistryFromPackageManagerSpec(spec);
if (registry.type === `npm`) {
- ({ tarball: url, signatures, integrity } = await fetchTarballURLAndSignature(registry.package, version3));
+ ({ tarball: url, signatures, integrity } = await fetchTarballURLAndSignature(registry.package, version2));
if (registry.bin) {
binPath = registry.bin;
}
@@ -22287,7 +22282,7 @@ async function installVersion(installTarget, locator, { spec }) {
);
}
} else {
- url = decodeURIComponent(version3);
+ url = decodeURIComponent(version2);
if (process.env.COREPACK_NPM_REGISTRY && url.startsWith(DEFAULT_NPM_REGISTRY_URL)) {
url = url.replace(
DEFAULT_NPM_REGISTRY_URL,
@@ -22295,7 +22290,7 @@ async function installVersion(installTarget, locator, { spec }) {
);
}
}
- log(`Installing ${locator.name}@${version3} from ${url}`);
+ log(`Installing ${locator.name}@${version2} from ${url}`);
const algo = build[0] ?? `sha512`;
const { tmpFolder, outputFile, hash: actualHash } = await download(installTarget, url, algo, binPath);
let bin;
@@ -22310,7 +22305,7 @@ async function installVersion(installTarget, locator, { spec }) {
if (locatorIsASupportedPackageManager && isValidBinSpec(spec.bin)) {
bin = spec.bin;
} else {
- const { name: packageName, bin: packageBin } = require(import_path7.default.join(tmpFolder, `package.json`));
+ const { name: packageName, bin: packageBin } = require(import_path3.default.join(tmpFolder, `package.json`));
if (typeof packageBin === `string`) {
bin = { [packageName]: packageBin };
} else if (isValidBinSpec(packageBin)) {
@@ -22324,27 +22319,27 @@ async function installVersion(installTarget, locator, { spec }) {
const registry = getRegistryFromPackageManagerSpec(spec);
if (registry.type === `npm` && !registry.bin && !shouldSkipIntegrityCheck()) {
if (signatures == null || integrity == null)
- ({ signatures, integrity } = await fetchTarballURLAndSignature(registry.package, version3));
- verifySignature({ signatures, integrity, packageName: registry.package, version: version3 });
+ ({ signatures, integrity } = await fetchTarballURLAndSignature(registry.package, version2));
+ verifySignature({ signatures, integrity, packageName: registry.package, version: version2 });
build[1] = Buffer.from(integrity.slice(`sha512-`.length), `base64`).toString(`hex`);
}
}
if (build[1] && actualHash !== build[1])
throw new Error(`Mismatch hashes. Expected ${build[1]}, got ${actualHash}`);
const serializedHash = `${algo}.${actualHash}`;
- await import_fs7.default.promises.writeFile(import_path7.default.join(tmpFolder, `.corepack`), JSON.stringify({
+ await import_fs4.default.promises.writeFile(import_path3.default.join(tmpFolder, `.corepack`), JSON.stringify({
locator,
bin,
hash: serializedHash
}));
- await import_fs7.default.promises.mkdir(import_path7.default.dirname(installFolder), { recursive: true });
+ await import_fs4.default.promises.mkdir(import_path3.default.dirname(installFolder), { recursive: true });
try {
await renameSafe(tmpFolder, installFolder);
} catch (err) {
if (err.code === `ENOTEMPTY` || // On Windows the error code is EPERM so we check if it is a directory
- err.code === `EPERM` && (await import_fs7.default.promises.stat(installFolder)).isDirectory()) {
+ err.code === `EPERM` && (await import_fs4.default.promises.stat(installFolder)).isDirectory()) {
log(`Another instance of corepack installed ${locator.name}@${locator.reference}`);
- await import_fs7.default.promises.rm(tmpFolder, { recursive: true, force: true });
+ await import_fs4.default.promises.rm(tmpFolder, { recursive: true, force: true });
} else {
throw err;
}
@@ -22371,18 +22366,18 @@ async function renameSafe(oldPath, newPath) {
if (process.platform === `win32`) {
await renameUnderWindows(oldPath, newPath);
} else {
- await import_fs7.default.promises.rename(oldPath, newPath);
+ await import_fs4.default.promises.rename(oldPath, newPath);
}
}
async function renameUnderWindows(oldPath, newPath) {
const retries = 5;
for (let i = 0; i < retries; i++) {
try {
- await import_fs7.default.promises.rename(oldPath, newPath);
+ await import_fs4.default.promises.rename(oldPath, newPath);
break;
} catch (err) {
if ((err.code === `ENOENT` || err.code === `EPERM`) && i < retries - 1) {
- await (0, import_promises.setTimeout)(100 * 2 ** i);
+ await (0, import_promises2.setTimeout)(100 * 2 ** i);
continue;
} else {
throw err;
@@ -22396,15 +22391,15 @@ async function runVersion(locator, installSpec, binName, args) {
if (Array.isArray(bin)) {
if (bin.some((name2) => name2 === binName)) {
const parsedUrl = new URL(installSpec.spec.url);
- const ext = import_path7.default.posix.extname(parsedUrl.pathname);
+ const ext = import_path3.default.posix.extname(parsedUrl.pathname);
if (ext === `.js`) {
- binPath = import_path7.default.join(installSpec.location, import_path7.default.posix.basename(parsedUrl.pathname));
+ binPath = import_path3.default.join(installSpec.location, import_path3.default.posix.basename(parsedUrl.pathname));
}
}
} else {
for (const [name2, dest] of Object.entries(bin)) {
if (name2 === binName) {
- binPath = import_path7.default.join(installSpec.location, dest);
+ binPath = import_path3.default.join(installSpec.location, dest);
break;
}
}
@@ -22416,7 +22411,7 @@ async function runVersion(locator, installSpec, binName, args) {
await Promise.resolve().then(() => __toESM(require_v8_compile_cache()));
}
}
- process.env.COREPACK_ROOT = import_path7.default.dirname(require.resolve("corepack/package.json"));
+ process.env.COREPACK_ROOT = import_path3.default.dirname(require.resolve("corepack/package.json"));
process.argv = [
process.execPath,
binPath,
@@ -22436,18 +22431,18 @@ function shouldSkipIntegrityCheck() {
// sources/semverUtils.ts
var import_range2 = __toESM(require_range());
var import_semver2 = __toESM(require_semver());
-function satisfiesWithPrereleases(version3, range, loose = false) {
+function satisfiesWithPrereleases(version2, range, loose = false) {
let semverRange;
try {
semverRange = new import_range2.default(range, loose);
} catch (err) {
return false;
}
- if (!version3)
+ if (!version2)
return false;
let semverVersion;
try {
- semverVersion = new import_semver2.default(version3, semverRange.loose);
+ semverVersion = new import_semver2.default(version2, semverRange.loose);
if (semverVersion.prerelease) {
semverVersion.prerelease = [];
}
@@ -22465,8 +22460,8 @@ function satisfiesWithPrereleases(version3, range, loose = false) {
}
// sources/specUtils.ts
-var import_fs8 = __toESM(require("fs"));
-var import_path8 = __toESM(require("path"));
+var import_fs5 = __toESM(require("fs"));
+var import_path4 = __toESM(require("path"));
var import_satisfies = __toESM(require_satisfies());
var import_valid = __toESM(require_valid());
var import_valid2 = __toESM(require_valid2());
@@ -22585,24 +22580,24 @@ function parsePackageJSON(packageJSONContent) {
console.warn(`! Corepack does not currently support array values for devEngines.packageManager`);
return pm;
}
- const { name: name2, version: version3, onFail } = packageManager;
+ const { name: name2, version: version2, onFail } = packageManager;
if (typeof name2 !== `string` || name2.includes(`@`)) {
warnOrThrow(`The value of devEngines.packageManager.name ${JSON.stringify(name2)} is not a supported string value`, onFail);
return pm;
}
- if (version3 != null && (typeof version3 !== `string` || !(0, import_valid2.default)(version3))) {
- warnOrThrow(`The value of devEngines.packageManager.version ${JSON.stringify(version3)} is not a valid semver range`, onFail);
+ if (version2 != null && (typeof version2 !== `string` || !(0, import_valid2.default)(version2))) {
+ warnOrThrow(`The value of devEngines.packageManager.version ${JSON.stringify(version2)} is not a valid semver range`, onFail);
return pm;
}
- log(`devEngines.packageManager defines that ${name2}@${version3} is the local package manager`);
+ log(`devEngines.packageManager defines that ${name2}@${version2} is the local package manager`);
if (pm) {
if (!pm.startsWith?.(`${name2}@`))
warnOrThrow(`"packageManager" field is set to ${JSON.stringify(pm)} which does not match the "devEngines.packageManager" field set to ${JSON.stringify(name2)}`, onFail);
- else if (version3 != null && !(0, import_satisfies.default)(pm.slice(packageManager.name.length + 1), version3))
- warnOrThrow(`"packageManager" field is set to ${JSON.stringify(pm)} which does not match the value defined in "devEngines.packageManager" for ${JSON.stringify(name2)} of ${JSON.stringify(version3)}`, onFail);
+ else if (version2 != null && !(0, import_satisfies.default)(pm.slice(packageManager.name.length + 1), version2))
+ warnOrThrow(`"packageManager" field is set to ${JSON.stringify(pm)} which does not match the value defined in "devEngines.packageManager" for ${JSON.stringify(name2)} of ${JSON.stringify(version2)}`, onFail);
return pm;
}
- return `${name2}@${version3 ?? `*`}`;
+ return `${name2}@${version2 ?? `*`}`;
}
return pm;
}
@@ -22614,13 +22609,13 @@ async function setLocalPackageManager(cwd, info) {
warnOrThrow(`The requested version of ${info.locator.name}@${info.locator.reference} does not match the devEngines specification (${range.name}@${range.range})`, range.onFail);
}
}
- const content = lookup.type !== `NoProject` ? await import_fs8.default.promises.readFile(lookup.target, `utf8`) : ``;
+ const content = lookup.type !== `NoProject` ? await import_fs5.default.promises.readFile(lookup.target, `utf8`) : ``;
const { data, indent } = readPackageJson(content);
const previousPackageManager = data.packageManager ?? (range ? `${range.name}@${range.range}` : `unknown`);
data.packageManager = `${info.locator.name}@${info.locator.reference}`;
const newContent = normalizeLineEndings(content, `${JSON.stringify(data, null, indent)}
`);
- await import_fs8.default.promises.writeFile(lookup.target, newContent, `utf8`);
+ await import_fs5.default.promises.writeFile(lookup.target, newContent, `utf8`);
return {
previousPackageManager
};
@@ -22631,14 +22626,14 @@ async function loadSpec(initialCwd) {
let selection = null;
while (nextCwd !== currCwd && (!selection || !selection.data.packageManager)) {
currCwd = nextCwd;
- nextCwd = import_path8.default.dirname(currCwd);
+ nextCwd = import_path4.default.dirname(currCwd);
if (nodeModulesRegExp.test(currCwd))
continue;
- const manifestPath = import_path8.default.join(currCwd, `package.json`);
+ const manifestPath = import_path4.default.join(currCwd, `package.json`);
log(`Checking ${manifestPath}`);
let content;
try {
- content = await import_fs8.default.promises.readFile(manifestPath, `utf8`);
+ content = await import_fs5.default.promises.readFile(manifestPath, `utf8`);
} catch (err) {
if (err?.code === `ENOENT`) continue;
throw err;
@@ -22649,9 +22644,9 @@ async function loadSpec(initialCwd) {
} catch {
}
if (typeof data !== `object` || data === null)
- throw new UsageError(`Invalid package.json in ${import_path8.default.relative(initialCwd, manifestPath)}`);
+ throw new UsageError(`Invalid package.json in ${import_path4.default.relative(initialCwd, manifestPath)}`);
let localEnv;
- const envFilePath2 = import_path8.default.resolve(currCwd, process.env.COREPACK_ENV_FILE ?? `.corepack.env`);
+ const envFilePath2 = import_path4.default.resolve(currCwd, process.env.COREPACK_ENV_FILE ?? `.corepack.env`);
if (process.env.COREPACK_ENV_FILE == `0`) {
log(`Skipping env file as configured with COREPACK_ENV_FILE`);
localEnv = process.env;
@@ -22662,7 +22657,7 @@ async function loadSpec(initialCwd) {
log(`Checking ${envFilePath2}`);
try {
localEnv = {
- ...Object.fromEntries(Object.entries((0, import_util.parseEnv)(await import_fs8.default.promises.readFile(envFilePath2, `utf8`))).filter((e) => e[0].startsWith(`COREPACK_`))),
+ ...Object.fromEntries(Object.entries((0, import_util.parseEnv)(await import_fs5.default.promises.readFile(envFilePath2, `utf8`))).filter((e) => e[0].startsWith(`COREPACK_`))),
...process.env
};
log(`Successfully loaded env file found at ${envFilePath2}`);
@@ -22676,7 +22671,7 @@ async function loadSpec(initialCwd) {
selection = { data, manifestPath, localEnv, envFilePath: envFilePath2 };
}
if (selection === null)
- return { type: `NoProject`, target: import_path8.default.join(initialCwd, `package.json`) };
+ return { type: `NoProject`, target: import_path4.default.join(initialCwd, `package.json`) };
let envFilePath;
if (selection.localEnv !== process.env) {
envFilePath = selection.envFilePath;
@@ -22696,20 +22691,20 @@ async function loadSpec(initialCwd) {
onFail: selection.data.devEngines.packageManager.onFail
},
// Lazy-loading it so we do not throw errors on commands that do not need valid spec.
- getSpec: () => parseSpec(rawPmSpec, import_path8.default.relative(initialCwd, selection.manifestPath))
+ getSpec: () => parseSpec(rawPmSpec, import_path4.default.relative(initialCwd, selection.manifestPath))
};
}
// sources/Engine.ts
function getLastKnownGoodFilePath() {
- const lkg = import_path9.default.join(getCorepackHomeFolder(), `lastKnownGood.json`);
+ const lkg = import_path5.default.join(getCorepackHomeFolder(), `lastKnownGood.json`);
log(`LastKnownGood file would be located at ${lkg}`);
return lkg;
}
async function getLastKnownGood() {
let raw2;
try {
- raw2 = await import_fs9.default.promises.readFile(getLastKnownGoodFilePath(), `utf8`);
+ raw2 = await import_fs6.default.promises.readFile(getLastKnownGoodFilePath(), `utf8`);
} catch (err) {
if (err?.code === `ENOENT`) {
log(`No LastKnownGood version found in Corepack home.`);
@@ -22742,8 +22737,8 @@ async function getLastKnownGood() {
async function createLastKnownGoodFile(lastKnownGood) {
const content = `${JSON.stringify(lastKnownGood, null, 2)}
`;
- await import_fs9.default.promises.mkdir(getCorepackHomeFolder(), { recursive: true });
- await import_fs9.default.promises.writeFile(getLastKnownGoodFilePath(), content, `utf8`);
+ await import_fs6.default.promises.mkdir(getCorepackHomeFolder(), { recursive: true });
+ await import_fs6.default.promises.writeFile(getLastKnownGoodFilePath(), content, `utf8`);
}
function getLastKnownGoodFromFileContent(lastKnownGood, packageManager) {
if (Object.hasOwn(lastKnownGood, packageManager))
@@ -22908,7 +22903,7 @@ var Engine = class {
console.error(`! The local project doesn't define a 'packageManager' field. Corepack will now add one referencing ${installSpec.locator.name}@${installSpec.locator.reference}.`);
console.error(`! For more details about this field, consult the documentation at https://nodejs.org/api/packages.html#packagemanager`);
console.error();
- await setLocalPackageManager(import_path9.default.dirname(result.target), installSpec);
+ await setLocalPackageManager(import_path5.default.dirname(result.target), installSpec);
}
log(`Falling back to ${fallbackDescriptor.name}@${fallbackDescriptor.range} in the absence of "packageManager" field in ${result.target}`);
return fallbackDescriptor;
@@ -22999,7 +22994,7 @@ var Engine = class {
const packageManagerSpec = definition.ranges[range];
const registry = getRegistryFromPackageManagerSpec(packageManagerSpec);
const versions2 = await fetchAvailableVersions2(registry);
- return versions2.filter((version3) => satisfiesWithPrereleases(version3, finalDescriptor.range));
+ return versions2.filter((version2) => satisfiesWithPrereleases(version2, finalDescriptor.range));
}));
const highestVersion = [...new Set(versions.flat())].sort(import_rcompare.default);
if (highestVersion.length === 0)
@@ -23009,7 +23004,7 @@ var Engine = class {
};
// sources/commands/Cache.ts
-var import_fs10 = __toESM(require("fs"));
+var import_fs7 = __toESM(require("fs"));
var CacheCommand = class extends Command {
static paths = [
[`cache`, `clean`],
@@ -23022,13 +23017,13 @@ var CacheCommand = class extends Command {
`
});
async execute() {
- await import_fs10.default.promises.rm(getInstallFolder(), { recursive: true, force: true });
+ await import_fs7.default.promises.rm(getInstallFolder(), { recursive: true, force: true });
}
};
// sources/commands/Disable.ts
-var import_fs11 = __toESM(require("fs"));
-var import_path10 = __toESM(require("path"));
+var import_fs8 = __toESM(require("fs"));
+var import_path6 = __toESM(require("path"));
var import_which = __toESM(require_lib());
var DisableCommand = class extends Command {
static paths = [
@@ -23059,7 +23054,7 @@ var DisableCommand = class extends Command {
async execute() {
let installDirectory = this.installDirectory;
if (typeof installDirectory === `undefined`)
- installDirectory = import_path10.default.dirname(await (0, import_which.default)(`corepack`));
+ installDirectory = import_path6.default.dirname(await (0, import_which.default)(`corepack`));
const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names;
const allBinNames = [];
for (const name2 of new Set(names)) {
@@ -23072,13 +23067,13 @@ var DisableCommand = class extends Command {
await Promise.all(allBinNames.map(removeLink));
}
async removePosixLink(installDirectory, binName) {
- const file = import_path10.default.join(installDirectory, binName);
+ const file = import_path6.default.join(installDirectory, binName);
try {
- if (binName.includes(`yarn`) && isYarnSwitchPath(await import_fs11.default.promises.realpath(file))) {
+ if (binName.includes(`yarn`) && isYarnSwitchPath(await import_fs8.default.promises.realpath(file))) {
console.warn(`${binName} is already installed in ${file} and points to a Yarn Switch install - skipping`);
return;
}
- await import_fs11.default.promises.unlink(file);
+ await import_fs8.default.promises.unlink(file);
} catch (err) {
if (err.code !== `ENOENT`) {
throw err;
@@ -23087,9 +23082,9 @@ var DisableCommand = class extends Command {
}
async removeWin32Link(installDirectory, binName) {
for (const ext of [``, `.ps1`, `.cmd`]) {
- const file = import_path10.default.join(installDirectory, `${binName}${ext}`);
+ const file = import_path6.default.join(installDirectory, `${binName}${ext}`);
try {
- await import_fs11.default.promises.unlink(file);
+ await import_fs8.default.promises.unlink(file);
} catch (err) {
if (err.code !== `ENOENT`) {
throw err;
@@ -23101,8 +23096,8 @@ var DisableCommand = class extends Command {
// sources/commands/Enable.ts
var import_cmd_shim = __toESM(require_cmd_shim());
-var import_fs12 = __toESM(require("fs"));
-var import_path11 = __toESM(require("path"));
+var import_fs9 = __toESM(require("fs"));
+var import_path7 = __toESM(require("path"));
var import_which2 = __toESM(require_lib());
var EnableCommand = class extends Command {
static paths = [
@@ -23133,11 +23128,11 @@ var EnableCommand = class extends Command {
async execute() {
let installDirectory = this.installDirectory;
if (typeof installDirectory === `undefined`)
- installDirectory = import_path11.default.dirname(await (0, import_which2.default)(`corepack`));
- installDirectory = import_fs12.default.realpathSync(installDirectory);
+ installDirectory = import_path7.default.dirname(await (0, import_which2.default)(`corepack`));
+ installDirectory = import_fs9.default.realpathSync(installDirectory);
const manifestPath = require.resolve("corepack/package.json");
- const distFolder = import_path11.default.join(import_path11.default.dirname(manifestPath), `dist`);
- if (!import_fs12.default.existsSync(distFolder))
+ const distFolder = import_path7.default.join(import_path7.default.dirname(manifestPath), `dist`);
+ if (!import_fs9.default.existsSync(distFolder))
throw new Error(`Assertion failed: The stub folder doesn't exist`);
const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names;
const allBinNames = [];
@@ -23151,33 +23146,33 @@ var EnableCommand = class extends Command {
await Promise.all(allBinNames.map(generateLink));
}
async generatePosixLink(installDirectory, distFolder, binName) {
- const file = import_path11.default.join(installDirectory, binName);
- const symlink = import_path11.default.relative(installDirectory, import_path11.default.join(distFolder, `${binName}.js`));
- if (import_fs12.default.existsSync(file)) {
- const currentSymlink = await import_fs12.default.promises.readlink(file);
- if (binName.includes(`yarn`) && isYarnSwitchPath(await import_fs12.default.promises.realpath(file))) {
+ const file = import_path7.default.join(installDirectory, binName);
+ const symlink = import_path7.default.relative(installDirectory, import_path7.default.join(distFolder, `${binName}.js`));
+ if (import_fs9.default.existsSync(file)) {
+ const currentSymlink = await import_fs9.default.promises.readlink(file);
+ if (binName.includes(`yarn`) && isYarnSwitchPath(await import_fs9.default.promises.realpath(file))) {
console.warn(`${binName} is already installed in ${file} and points to a Yarn Switch install - skipping`);
return;
}
if (currentSymlink !== symlink) {
- await import_fs12.default.promises.unlink(file);
+ await import_fs9.default.promises.unlink(file);
} else {
return;
}
}
- await import_fs12.default.promises.symlink(symlink, file);
+ await import_fs9.default.promises.symlink(symlink, file);
}
async generateWin32Link(installDirectory, distFolder, binName) {
- const file = import_path11.default.join(installDirectory, binName);
- await (0, import_cmd_shim.default)(import_path11.default.join(distFolder, `${binName}.js`), file, {
+ const file = import_path7.default.join(installDirectory, binName);
+ await (0, import_cmd_shim.default)(import_path7.default.join(distFolder, `${binName}.js`), file, {
createCmdFile: true
});
}
};
// sources/commands/InstallGlobal.ts
-var import_fs13 = __toESM(require("fs"));
-var import_path12 = __toESM(require("path"));
+var import_fs10 = __toESM(require("fs"));
+var import_path8 = __toESM(require("path"));
// sources/commands/Base.ts
var BaseCommand = class extends Command {
@@ -23244,7 +23239,7 @@ var InstallGlobalCommand = class extends BaseCommand {
throw new UsageError(`No package managers specified`);
await Promise.all(this.args.map((arg) => {
if (arg.endsWith(`.tgz`)) {
- return this.installFromTarball(import_path12.default.resolve(this.context.cwd, arg));
+ return this.installFromTarball(import_path8.default.resolve(this.context.cwd, arg));
} else {
return this.installFromDescriptor(parseSpec(arg, `CLI arguments`, { enforceExactVersion: false }));
}
@@ -23295,7 +23290,7 @@ var InstallGlobalCommand = class extends BaseCommand {
if (!isSupportedPackageManager(name2))
throw new UsageError(`Unsupported package manager '${name2}'`);
this.log({ name: name2, reference });
- await import_fs13.default.promises.mkdir(installFolder, { recursive: true });
+ await import_fs10.default.promises.mkdir(installFolder, { recursive: true });
await tarX({ file: p, cwd: installFolder }, [`${name2}/${reference}`]);
if (!this.cacheOnly) {
await this.context.engine.activatePackageManager({ name: name2, reference });
@@ -23334,8 +23329,8 @@ var InstallLocalCommand = class extends BaseCommand {
};
// sources/commands/Pack.ts
-var import_promises2 = require("fs/promises");
-var import_path15 = __toESM(require("path"));
+var import_promises3 = require("fs/promises");
+var import_path11 = __toESM(require("path"));
var PackCommand = class extends BaseCommand {
static paths = [
[`pack`]
@@ -23376,17 +23371,17 @@ var PackCommand = class extends BaseCommand {
installLocations.push(packageManagerInfo.location);
}
const baseInstallFolder = getInstallFolder();
- const outputPath = import_path15.default.resolve(this.context.cwd, this.output ?? `corepack.tgz`);
+ const outputPath = import_path11.default.resolve(this.context.cwd, this.output ?? `corepack.tgz`);
if (!this.json) {
this.context.stdout.write(`
`);
- this.context.stdout.write(`Packing the selected tools in ${import_path15.default.basename(outputPath)}...
+ this.context.stdout.write(`Packing the selected tools in ${import_path11.default.basename(outputPath)}...
`);
}
const { create: tarC } = await Promise.resolve().then(() => (init_create(), create_exports));
- await (0, import_promises2.mkdir)(baseInstallFolder, { recursive: true });
- await tarC({ gzip: true, cwd: baseInstallFolder, file: import_path15.default.resolve(outputPath) }, installLocations.map((location) => {
- return import_path15.default.relative(baseInstallFolder, location);
+ await (0, import_promises3.mkdir)(baseInstallFolder, { recursive: true });
+ await tarC({ gzip: true, cwd: baseInstallFolder, file: import_path11.default.resolve(outputPath) }, installLocations.map((location) => {
+ return import_path11.default.relative(baseInstallFolder, location);
}));
if (this.json) {
this.context.stdout.write(`${JSON.stringify(outputPath)}
@@ -23477,8 +23472,8 @@ var UseCommand = class extends BaseCommand {
};
// sources/commands/deprecated/Hydrate.ts
-var import_promises3 = require("fs/promises");
-var import_path16 = __toESM(require("path"));
+var import_promises4 = require("fs/promises");
+var import_path12 = __toESM(require("path"));
var HydrateCommand = class extends Command {
static paths = [
[`hydrate`]
@@ -23489,7 +23484,7 @@ var HydrateCommand = class extends Command {
fileName = options_exports.String();
async execute() {
const installFolder = getInstallFolder();
- const fileName = import_path16.default.resolve(this.context.cwd, this.fileName);
+ const fileName = import_path12.default.resolve(this.context.cwd, this.fileName);
const archiveEntries = /* @__PURE__ */ new Map();
let hasShortEntries = false;
const { list: tarT } = await Promise.resolve().then(() => (init_list(), list_exports));
@@ -23517,7 +23512,7 @@ var HydrateCommand = class extends Command {
else
this.context.stdout.write(`Hydrating ${name2}@${reference}...
`);
- await (0, import_promises3.mkdir)(installFolder, { recursive: true });
+ await (0, import_promises4.mkdir)(installFolder, { recursive: true });
await tarX({ file: fileName, cwd: installFolder }, [`${name2}/${reference}`]);
if (this.activate) {
await this.context.engine.activatePackageManager({ name: name2, reference });
@@ -23530,8 +23525,8 @@ var HydrateCommand = class extends Command {
};
// sources/commands/deprecated/Prepare.ts
-var import_promises4 = require("fs/promises");
-var import_path17 = __toESM(require("path"));
+var import_promises5 = require("fs/promises");
+var import_path13 = __toESM(require("path"));
var PrepareCommand = class extends Command {
static paths = [
[`prepare`]
@@ -23585,14 +23580,14 @@ var PrepareCommand = class extends Command {
if (this.output) {
const outputName = typeof this.output === `string` ? this.output : `corepack.tgz`;
const baseInstallFolder = getInstallFolder();
- const outputPath = import_path17.default.resolve(this.context.cwd, outputName);
+ const outputPath = import_path13.default.resolve(this.context.cwd, outputName);
if (!this.json)
- this.context.stdout.write(`Packing the selected tools in ${import_path17.default.basename(outputPath)}...
+ this.context.stdout.write(`Packing the selected tools in ${import_path13.default.basename(outputPath)}...
`);
const { create: tarC } = await Promise.resolve().then(() => (init_create(), create_exports));
- await (0, import_promises4.mkdir)(baseInstallFolder, { recursive: true });
- await tarC({ gzip: true, cwd: baseInstallFolder, file: import_path17.default.resolve(outputPath) }, installLocations.map((location) => {
- return import_path17.default.relative(baseInstallFolder, location);
+ await (0, import_promises5.mkdir)(baseInstallFolder, { recursive: true });
+ await tarC({ gzip: true, cwd: baseInstallFolder, file: import_path13.default.resolve(outputPath) }, installLocations.map((location) => {
+ return import_path13.default.relative(baseInstallFolder, location);
}));
if (this.json) {
this.context.stdout.write(`${JSON.stringify(outputPath)}
diff --git a/deps/corepack/package.json b/deps/corepack/package.json
index baa2a678c8b092..647dd5659ce8f5 100644
--- a/deps/corepack/package.json
+++ b/deps/corepack/package.json
@@ -1,6 +1,6 @@
{
"name": "corepack",
- "version": "0.34.0",
+ "version": "0.34.2",
"homepage": "https://github.com/nodejs/corepack#readme",
"bugs": {
"url": "https://github.com/nodejs/corepack/issues"
@@ -16,7 +16,7 @@
"./package.json": "./package.json"
},
"license": "MIT",
- "packageManager": "yarn@4.9.0+sha224.dce6c5df199861784bd9b0eecb2a228df97e3f18a02b1bb75ff98383",
+ "packageManager": "yarn@4.10.3+sha224.6020b3cdcdfbd7dbc24b7a7b75d58a249ce36068a8bf97d39aa8cc6d",
"devDependencies": {
"@types/debug": "^4.1.5",
"@types/node": "^20.4.6",
@@ -37,7 +37,7 @@
"tar": "^7.4.0",
"tsx": "^4.16.2",
"typescript": "^5.7.3",
- "undici": "^6.19.2",
+ "undici": "^6.21.2",
"v8-compile-cache": "^2.3.0",
"vitest": "^3.0.5",
"which": "^5.0.0"
diff --git a/deps/googletest/include/gtest/gtest-matchers.h b/deps/googletest/include/gtest/gtest-matchers.h
index 93643dba1d3a07..bd8dfe999d3681 100644
--- a/deps/googletest/include/gtest/gtest-matchers.h
+++ b/deps/googletest/include/gtest/gtest-matchers.h
@@ -296,12 +296,12 @@ class MatcherBase : private MatcherDescriberInterface {
return *this;
}
- MatcherBase(MatcherBase&& other)
+ MatcherBase(MatcherBase&& other) noexcept
: vtable_(other.vtable_), buffer_(other.buffer_) {
other.vtable_ = nullptr;
}
- MatcherBase& operator=(MatcherBase&& other) {
+ MatcherBase& operator=(MatcherBase&& other) noexcept {
if (this == &other) return *this;
Destroy();
vtable_ = other.vtable_;
diff --git a/deps/inspector_protocol/README.node b/deps/inspector_protocol/README.node
index af4618cd6160e5..f37ddb9e9280b6 100644
--- a/deps/inspector_protocol/README.node
+++ b/deps/inspector_protocol/README.node
@@ -2,7 +2,7 @@ Name: inspector protocol
Short Name: inspector_protocol
URL: https://chromium.googlesource.com/deps/inspector_protocol/
Version: 0
-Revision: 69d69ddf3aa698b171886551a4a672c5af1ad902
+Revision: af7f5a8173fdbc29f0835ec94395932e328b2ea2
License: BSD
License File: LICENSE
Security Critical: no
diff --git a/deps/inspector_protocol/crdtp/cbor.cc b/deps/inspector_protocol/crdtp/cbor.cc
index 801c1708022763..dc52549c55a6fe 100644
--- a/deps/inspector_protocol/crdtp/cbor.cc
+++ b/deps/inspector_protocol/crdtp/cbor.cc
@@ -833,7 +833,7 @@ void ParseUTF16String(CBORTokenizer* tokenizer, ParserHandler* out) {
span rep = tokenizer->GetString16WireRep();
for (size_t ii = 0; ii < rep.size(); ii += 2)
value.push_back((rep[ii + 1] << 8) | rep[ii]);
- out->HandleString16(span(value.data(), value.size()));
+ out->HandleString16(value);
tokenizer->Next();
}
@@ -1037,7 +1037,7 @@ void ParseCBOR(span bytes, ParserHandler* out) {
Status AppendString8EntryToCBORMap(span string8_key,
span string8_value,
std::vector* cbor) {
- span bytes(cbor->data(), cbor->size());
+ span bytes(*cbor);
CBORTokenizer tokenizer(bytes);
if (tokenizer.TokenTag() == CBORTokenTag::ERROR_VALUE)
return tokenizer.Status();
diff --git a/deps/inspector_protocol/crdtp/cbor_test.cc b/deps/inspector_protocol/crdtp/cbor_test.cc
index 058cd787d6416b..2d3689e730047c 100644
--- a/deps/inspector_protocol/crdtp/cbor_test.cc
+++ b/deps/inspector_protocol/crdtp/cbor_test.cc
@@ -349,7 +349,7 @@ TEST(EncodeDecodeString16Test, RoundtripsHelloWorld) {
std::array msg{
{'H', 'e', 'l', 'l', 'o', ',', ' ', 0xd83c, 0xdf0e, '.'}};
std::vector encoded;
- EncodeString16(span(msg.data(), msg.size()), &encoded);
+ EncodeString16(msg, &encoded);
// This will be encoded as BYTE_STRING of length 20, so the 20 is encoded in
// the additional info part of the initial byte. Payload is two bytes for each
// UTF16 character.
@@ -384,7 +384,7 @@ TEST(EncodeDecodeString16Test, Roundtrips500) {
for (uint16_t ii = 0; ii < 250; ++ii)
two_fifty.push_back(ii);
std::vector encoded;
- EncodeString16(span(two_fifty.data(), two_fifty.size()), &encoded);
+ EncodeString16(two_fifty, &encoded);
EXPECT_EQ(3u + 250u * 2, encoded.size());
// Now check the first three bytes:
// Major type: 2 (BYTE_STRING)
@@ -501,7 +501,7 @@ TEST(EncodeFromLatin1Test, ConvertsToUTF8IfNeeded) {
TEST(EncodeFromUTF16Test, ConvertsToUTF8IfEasy) {
std::vector ascii = {'e', 'a', 's', 'y'};
std::vector encoded;
- EncodeFromUTF16(span(ascii.data(), ascii.size()), &encoded);
+ EncodeFromUTF16(ascii, &encoded);
CBORTokenizer tokenizer(SpanFrom(encoded));
EXPECT_EQ(CBORTokenTag::STRING8, tokenizer.TokenTag());
@@ -518,7 +518,7 @@ TEST(EncodeFromUTF16Test, EncodesAsString16IfNeeded) {
std::vector msg = {'H', 'e', 'l', 'l', 'o',
',', ' ', 0xd83c, 0xdf0e, '.'};
std::vector encoded;
- EncodeFromUTF16(span(msg.data(), msg.size()), &encoded);
+ EncodeFromUTF16(msg, &encoded);
CBORTokenizer tokenizer(SpanFrom(encoded));
EXPECT_EQ(CBORTokenTag::STRING16, tokenizer.TokenTag());
@@ -535,7 +535,7 @@ TEST(EncodeDecodeBinaryTest, RoundtripsHelloWorld) {
std::vector binary = {'H', 'e', 'l', 'l', 'o', ',', ' ',
'w', 'o', 'r', 'l', 'd', '.'};
std::vector encoded;
- EncodeBinary(span(binary.data(), binary.size()), &encoded);
+ EncodeBinary(binary, &encoded);
// So, on the wire we see that the binary blob travels unmodified.
EXPECT_THAT(
encoded,
@@ -699,7 +699,7 @@ TEST(JSONToCBOREncoderTest, SevenBitStrings) {
Status status;
std::unique_ptr encoder = NewCBOREncoder(&encoded, &status);
std::vector utf16 = {'f', 'o', 'o'};
- encoder->HandleString16(span(utf16.data(), utf16.size()));
+ encoder->HandleString16(utf16);
EXPECT_THAT(status, StatusIsOk());
// Here we assert that indeed, seven bit strings are represented as
// bytes on the wire, "foo" is just "foo".
@@ -771,7 +771,7 @@ TEST(JsonCborRoundtrip, EncodingDecoding) {
std::string decoded;
std::unique_ptr json_encoder =
json::NewJSONEncoder(&decoded, &status);
- ParseCBOR(span(encoded.data(), encoded.size()), json_encoder.get());
+ ParseCBOR(encoded, json_encoder.get());
EXPECT_THAT(status, StatusIsOk());
EXPECT_EQ(json, decoded);
}
@@ -791,7 +791,7 @@ TEST(JsonCborRoundtrip, MoreRoundtripExamples) {
std::string decoded;
std::unique_ptr json_writer =
json::NewJSONEncoder(&decoded, &status);
- ParseCBOR(span(encoded.data(), encoded.size()), json_writer.get());
+ ParseCBOR(encoded, json_writer.get());
EXPECT_THAT(status, StatusIsOk());
EXPECT_EQ(json, decoded);
}
@@ -842,7 +842,7 @@ TEST(ParseCBORTest, ParseEmptyCBORMessage) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(in.data(), in.size()), json_writer.get());
+ ParseCBOR(in, json_writer.get());
EXPECT_THAT(status, StatusIsOk());
EXPECT_EQ("{}", out);
}
@@ -866,7 +866,7 @@ TEST(ParseCBORTest, ParseCBORHelloWorld) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIsOk());
EXPECT_EQ("{\"msg\":\"Hello, \\ud83c\\udf0e.\"}", out);
}
@@ -887,7 +887,7 @@ TEST(ParseCBORTest, UTF8IsSupportedInKeys) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIsOk());
EXPECT_EQ("{\"\\ud83c\\udf0e\":\"\\u263e\"}", out);
}
@@ -898,7 +898,7 @@ TEST(ParseCBORTest, NoInputError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(in.data(), in.size()), json_writer.get());
+ ParseCBOR(in, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_ENVELOPE, 0u));
EXPECT_EQ("", out);
}
@@ -914,7 +914,7 @@ TEST(ParseCBORTest, UnexpectedEofExpectedValueError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_UNEXPECTED_EOF_EXPECTED_VALUE,
bytes.size()));
EXPECT_EQ("", out);
@@ -932,7 +932,7 @@ TEST(ParseCBORTest, UnexpectedEofInArrayError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status,
StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_ARRAY, bytes.size()));
EXPECT_EQ("", out);
@@ -947,7 +947,7 @@ TEST(ParseCBORTest, UnexpectedEofInMapError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_UNEXPECTED_EOF_IN_MAP, 7u));
EXPECT_EQ("", out);
}
@@ -963,7 +963,7 @@ TEST(ParseCBORTest, EnvelopeEncodingLegacy) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIsOk());
EXPECT_EQ(out, "{\"foo\":42}");
}
@@ -980,7 +980,7 @@ TEST(ParseCBORTest, EnvelopeEncodingBySpec) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIsOk());
EXPECT_EQ(out, "{\"foo\":42}");
}
@@ -991,7 +991,7 @@ TEST(ParseCBORTest, NoEmptyEnvelopesAllowed) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE,
bytes.size()));
EXPECT_EQ("", out);
@@ -1021,7 +1021,7 @@ TEST(ParseCBORTest, OnlyMapsAndArraysSupportedInsideEnvelopes) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_MAP_OR_ARRAY_EXPECTED_IN_ENVELOPE,
error_pos));
EXPECT_EQ("", out);
@@ -1038,7 +1038,7 @@ TEST(ParseCBORTest, InvalidMapKeyError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_MAP_KEY, 7u));
EXPECT_EQ("", out);
}
@@ -1068,7 +1068,7 @@ TEST(ParseCBORTest, StackLimitExceededError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIsOk());
EXPECT_EQ("{\"key\":{\"key\":{\"key\":\"innermost_value\"}}}", out);
}
@@ -1078,7 +1078,7 @@ TEST(ParseCBORTest, StackLimitExceededError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIsOk());
}
@@ -1097,7 +1097,7 @@ TEST(ParseCBORTest, StackLimitExceededError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_STACK_LIMIT_EXCEEDED,
opening_segment_size * 301));
}
@@ -1107,7 +1107,7 @@ TEST(ParseCBORTest, StackLimitExceededError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_STACK_LIMIT_EXCEEDED,
opening_segment_size * 301));
}
@@ -1126,7 +1126,7 @@ TEST(ParseCBORTest, UnsupportedValueError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_UNSUPPORTED_VALUE, error_pos));
EXPECT_EQ("", out);
}
@@ -1148,7 +1148,7 @@ TEST(ParseCBORTest, InvalidString16Error) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_STRING16, error_pos));
EXPECT_EQ("", out);
}
@@ -1167,7 +1167,7 @@ TEST(ParseCBORTest, InvalidString8Error) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_STRING8, error_pos));
EXPECT_EQ("", out);
}
@@ -1188,7 +1188,7 @@ TEST(ParseCBORTest, InvalidBinaryError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_BINARY, error_pos));
EXPECT_EQ("", out);
}
@@ -1208,7 +1208,7 @@ TEST(ParseCBORTest, InvalidDoubleError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_DOUBLE, error_pos));
EXPECT_EQ("", out);
}
@@ -1228,7 +1228,7 @@ TEST(ParseCBORTest, InvalidSignedError) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_INVALID_INT32, error_pos));
EXPECT_EQ("", out);
}
@@ -1250,7 +1250,7 @@ TEST(ParseCBORTest, TrailingJunk) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_TRAILING_JUNK, error_pos));
EXPECT_EQ("", out);
}
@@ -1272,7 +1272,7 @@ TEST(ParseCBORTest, EnvelopeContentsLengthMismatch) {
Status status;
std::unique_ptr json_writer =
json::NewJSONEncoder(&out, &status);
- ParseCBOR(span(bytes.data(), bytes.size()), json_writer.get());
+ ParseCBOR(bytes, json_writer.get());
EXPECT_THAT(status, StatusIs(Error::CBOR_ENVELOPE_CONTENTS_LENGTH_MISMATCH,
bytes.size()));
EXPECT_EQ("", out);
diff --git a/deps/inspector_protocol/crdtp/json.cc b/deps/inspector_protocol/crdtp/json.cc
index 479f9ba51875ab..bc3b8a6d9093c7 100644
--- a/deps/inspector_protocol/crdtp/json.cc
+++ b/deps/inspector_protocol/crdtp/json.cc
@@ -149,23 +149,31 @@ class JSONEncoder : public ParserHandler {
Emit('"');
for (const uint16_t ch : chars) {
if (ch == '"') {
- Emit('\\'); Emit('"');
+ Emit('\\');
+ Emit('"');
} else if (ch == '\\') {
- Emit('\\'); Emit('\\');
+ Emit('\\');
+ Emit('\\');
} else if (ch >= 32 && ch <= 127) {
Emit(ch);
} else if (ch == '\n') {
- Emit('\\'); Emit('n');
+ Emit('\\');
+ Emit('n');
} else if (ch == '\r') {
- Emit('\\'); Emit('r');
+ Emit('\\');
+ Emit('r');
} else if (ch == '\t') {
- Emit('\\'); Emit('t');
+ Emit('\\');
+ Emit('t');
} else if (ch == '\b') {
- Emit('\\'); Emit('b');
+ Emit('\\');
+ Emit('b');
} else if (ch == '\f') {
- Emit('\\'); Emit('f');
+ Emit('\\');
+ Emit('f');
} else {
- Emit('\\'); Emit('u');
+ Emit('\\');
+ Emit('u');
PrintHex(ch, out_);
}
}
@@ -177,26 +185,42 @@ class JSONEncoder : public ParserHandler {
return;
state_.top().StartElement(out_);
Emit('"');
+ // Fast path for input strings that can be emitted as-is.
+ if (std::all_of(chars.begin(), chars.end(), [](uint8_t c) {
+ return c != '"' && c != '\\' && c >= 32 && c <= 127;
+ })) {
+ Emit(chars);
+ Emit('"');
+ return;
+ }
for (size_t ii = 0; ii < chars.size(); ++ii) {
uint8_t c = chars[ii];
if (c == '"') {
- Emit('\\'); Emit('"');
+ Emit('\\');
+ Emit('"');
} else if (c == '\\') {
- Emit('\\'); Emit('\\');
+ Emit('\\');
+ Emit('\\');
} else if (c >= 32 && c <= 127) {
Emit(c);
} else if (c == '\n') {
- Emit('\\'); Emit('n');
+ Emit('\\');
+ Emit('n');
} else if (c == '\r') {
- Emit('\\'); Emit('r');
+ Emit('\\');
+ Emit('r');
} else if (c == '\t') {
- Emit('\\'); Emit('t');
+ Emit('\\');
+ Emit('t');
} else if (c == '\b') {
- Emit('\\'); Emit('b');
+ Emit('\\');
+ Emit('b');
} else if (c == '\f') {
- Emit('\\'); Emit('f');
+ Emit('\\');
+ Emit('f');
} else if (c < 32) {
- Emit('\\'); Emit('u');
+ Emit('\\');
+ Emit('u');
PrintHex(static_cast(c), out_);
} else {
// Inspect the leading byte to figure out how long the utf8
@@ -330,10 +354,11 @@ class JSONEncoder : public ParserHandler {
if (!status_->ok())
return;
state_.top().StartElement(out_);
- if (value)
+ if (value) {
Emit("true");
- else
+ } else {
Emit("false");
+ }
}
void HandleNull() override {
@@ -351,13 +376,16 @@ class JSONEncoder : public ParserHandler {
private:
inline void Emit(char c) { out_->push_back(c); }
- template
+ template
inline void Emit(const char (&str)[N]) {
out_->insert(out_->end(), str, str + N - 1);
}
inline void Emit(const std::string& str) {
out_->insert(out_->end(), str.begin(), str.end());
}
+ inline void Emit(const span& bytes) {
+ out_->insert(out_->end(), bytes.begin(), bytes.end());
+ }
C* out_;
Status* status_;
@@ -882,7 +910,7 @@ class JsonParser {
HandleError(Error::JSON_PARSER_INVALID_STRING, token_start);
return;
}
- handler_->HandleString16(span(value.data(), value.size()));
+ handler_->HandleString16(value);
break;
}
case ArrayBegin: {
@@ -929,7 +957,7 @@ class JsonParser {
HandleError(Error::JSON_PARSER_INVALID_STRING, token_start);
return;
}
- handler_->HandleString16(span(key.data(), key.size()));
+ handler_->HandleString16(key);
start = token_end;
token = ParseToken(start, end, &token_start, &token_end);
diff --git a/deps/inspector_protocol/crdtp/json_test.cc b/deps/inspector_protocol/crdtp/json_test.cc
index 08f65e48a20147..13566ac8b92f61 100644
--- a/deps/inspector_protocol/crdtp/json_test.cc
+++ b/deps/inspector_protocol/crdtp/json_test.cc
@@ -90,7 +90,7 @@ TEST(JsonEncoder, EscapesLoneHighSurrogates) {
std::string out;
Status status;
std::unique_ptr writer = NewJSONEncoder(&out, &status);
- writer->HandleString16(span(chars.data(), chars.size()));
+ writer->HandleString16(chars);
EXPECT_EQ("\"a\\ud800b\\udadac\\udbffd\"", out);
}
@@ -103,7 +103,7 @@ TEST(JsonEncoder, EscapesLoneLowSurrogates) {
std::string out;
Status status;
std::unique_ptr writer = NewJSONEncoder(&out, &status);
- writer->HandleString16(span(chars.data(), chars.size()));
+ writer->HandleString16(chars);
EXPECT_EQ("\"a\\udc00b\\udedec\\udfffd\"", out);
}
@@ -114,7 +114,7 @@ TEST(JsonEncoder, EscapesFFFF) {
std::string out;
Status status;
std::unique_ptr writer = NewJSONEncoder(&out, &status);
- writer->HandleString16(span(chars.data(), chars.size()));
+ writer->HandleString16(chars);
EXPECT_EQ("\"abc\\uffffd\"", out);
}
@@ -123,7 +123,7 @@ TEST(JsonEncoder, Passes0x7FString8) {
std::string out;
Status status;
std::unique_ptr writer = NewJSONEncoder(&out, &status);
- writer->HandleString8(span(chars.data(), chars.size()));
+ writer->HandleString8(chars);
EXPECT_EQ(
"\"a\x7f"
"b\"",
@@ -135,7 +135,7 @@ TEST(JsonEncoder, Passes0x7FString16) {
std::string out;
Status status;
std::unique_ptr writer = NewJSONEncoder(&out, &status);
- writer->HandleString16(span(chars16.data(), chars16.size()));
+ writer->HandleString16(chars16);
EXPECT_EQ(
"\"a\x7f"
"b\"",
@@ -737,8 +737,7 @@ TYPED_TEST(ConvertJSONToCBORTest, RoundTripValidJson16) {
'"', ':', '[', '1', ',', '2', ',', '3', ']', '}'};
std::vector cbor;
{
- Status status =
- ConvertJSONToCBOR(span(json16.data(), json16.size()), &cbor);
+ Status status = ConvertJSONToCBOR(json16, &cbor);
EXPECT_THAT(status, StatusIsOk());
}
TypeParam roundtrip_json;
diff --git a/deps/inspector_protocol/crdtp/protocol_core.cc b/deps/inspector_protocol/crdtp/protocol_core.cc
index 69773593ded162..dc483ac5ad0896 100644
--- a/deps/inspector_protocol/crdtp/protocol_core.cc
+++ b/deps/inspector_protocol/crdtp/protocol_core.cc
@@ -12,7 +12,7 @@ namespace crdtp {
DeserializerState::DeserializerState(std::vector bytes)
: storage_(new std::vector(std::move(bytes))),
- tokenizer_(span(storage_->data(), storage_->size())) {}
+ tokenizer_(*storage_) {}
DeserializerState::DeserializerState(Storage storage, span span)
: storage_(std::move(storage)), tokenizer_(span) {}
diff --git a/deps/inspector_protocol/crdtp/protocol_core.h b/deps/inspector_protocol/crdtp/protocol_core.h
index f8283367773a42..b111746253aaf3 100644
--- a/deps/inspector_protocol/crdtp/protocol_core.h
+++ b/deps/inspector_protocol/crdtp/protocol_core.h
@@ -219,8 +219,7 @@ struct CRDTP_EXPORT ProtocolTypeTraits {
template
struct ProtocolTypeTraits> {
- static bool Deserialize(DeserializerState* state,
- std::optional* value) {
+ static bool Deserialize(DeserializerState* state, std::optional* value) {
T res;
if (!ProtocolTypeTraits::Deserialize(state, &res))
return false;
@@ -341,9 +340,7 @@ template
bool ConvertProtocolValue(const F& from, T* to) {
std::vector bytes;
ProtocolTypeTraits::Serialize(from, &bytes);
- auto deserializer =
- DeferredMessage::FromSpan(span(bytes.data(), bytes.size()))
- ->MakeDeserializer();
+ auto deserializer = DeferredMessage::FromSpan(bytes)->MakeDeserializer();
return ProtocolTypeTraits::Deserialize(&deserializer, to);
}
diff --git a/deps/inspector_protocol/crdtp/span.h b/deps/inspector_protocol/crdtp/span.h
index c2b5b02d9a1832..40471f20aa88a2 100644
--- a/deps/inspector_protocol/crdtp/span.h
+++ b/deps/inspector_protocol/crdtp/span.h
@@ -7,49 +7,17 @@
#include
#include
-#include
+#include
#include
+#include
#include "export.h"
namespace crdtp {
-// =============================================================================
-// span - sequence of bytes
-// =============================================================================
-// This template is similar to std::span, which will be included in C++20.
+// crdtp::span is a std::span which always holds const elements.
template
-class span {
- public:
- using index_type = size_t;
-
- constexpr span() : data_(nullptr), size_(0) {}
- constexpr span(const T* data, index_type size) : data_(data), size_(size) {}
-
- constexpr const T* data() const { return data_; }
-
- constexpr const T* begin() const { return data_; }
- constexpr const T* end() const { return data_ + size_; }
-
- constexpr const T& operator[](index_type idx) const { return data_[idx]; }
-
- constexpr span subspan(index_type offset, index_type count) const {
- return span(data_ + offset, count);
- }
-
- constexpr span subspan(index_type offset) const {
- return span(data_ + offset, size_ - offset);
- }
-
- constexpr bool empty() const { return size_ == 0; }
-
- constexpr index_type size() const { return size_; }
- constexpr index_type size_bytes() const { return size_ * sizeof(T); }
-
- private:
- const T* data_;
- index_type size_;
-};
+using span = std::span;
template
constexpr span MakeSpan(const char (&str)[N]) {
diff --git a/deps/inspector_protocol/crdtp/span_test.cc b/deps/inspector_protocol/crdtp/span_test.cc
index e562f4ea6feed9..2845a3b889fcc3 100644
--- a/deps/inspector_protocol/crdtp/span_test.cc
+++ b/deps/inspector_protocol/crdtp/span_test.cc
@@ -85,6 +85,12 @@ TEST(SpanFromTest, FromVectorUint8AndUint16) {
EXPECT_EQ(bar.size(), bar_span.size());
}
+TEST(SpanFromTest, FromVectorImplicit) {
+ std::vector foo = {'f', 'o', 'o'};
+ span foo_span(foo);
+ EXPECT_EQ(foo.size(), foo_span.size());
+}
+
TEST(SpanComparisons, ByteWiseLexicographicalOrder) {
// Compare the empty span.
EXPECT_FALSE(SpanLessThan(span(), span()));
diff --git a/deps/inspector_protocol/lib/Values_cpp.template b/deps/inspector_protocol/lib/Values_cpp.template
index 0c409295d52ae3..abeee79e5c3a05 100644
--- a/deps/inspector_protocol/lib/Values_cpp.template
+++ b/deps/inspector_protocol/lib/Values_cpp.template
@@ -300,7 +300,7 @@ namespace {
// transcodes to UTF8 if needed.
void EncodeString(const String& s, std::vector* out) {
if (StringUtil::CharacterCount(s) == 0) {
- cbor::EncodeString8(span(nullptr, 0), out); // Empty string.
+ cbor::EncodeString8(span(), out); // Empty string.
} else if (StringUtil::CharactersLatin1(s)) {
cbor::EncodeFromLatin1(span(StringUtil::CharactersLatin1(s),
StringUtil::CharacterCount(s)),
diff --git a/deps/inspector_protocol/pdl.py b/deps/inspector_protocol/pdl.py
index 6b448c07443c7e..20f505ea81e34e 100644
--- a/deps/inspector_protocol/pdl.py
+++ b/deps/inspector_protocol/pdl.py
@@ -86,6 +86,18 @@ def parse(data, file_name, map_binary_to_string=False):
protocol['domains'].append(domain)
continue
+ match = re.compile(
+ r'^include (.*)').match(line)
+ if match:
+ included_filename = match.group(1)
+ if path.isabs(included_filename):
+ raise Exception("Only relative paths are supported in include's")
+ resolved_path = path.normpath(path.join(path.dirname(file_name), included_filename))
+ with open(resolved_path, 'r') as file:
+ included_data = parse(file.read(), resolved_path, map_binary_to_string)
+ protocol['domains'].extend(included_data['domains'])
+ continue
+
match = re.compile(r'^ depends on ([^\s]+)').match(line)
if match:
if 'dependencies' not in domain:
diff --git a/deps/npm/README.md b/deps/npm/README.md
index 6271d5d33c0f01..efb9f9cd1c7f18 100644
--- a/deps/npm/README.md
+++ b/deps/npm/README.md
@@ -36,13 +36,12 @@ npm
* [**RFCs**](https://github.com/npm/rfcs) - Contribute ideas & specifications for the API/design of the npm CLI
* [**Service Status**](https://status.npmjs.org/) - Monitor the current status & see incident reports for the website & registry
* [**Project Status**](https://npm.github.io/statusboard/) - See the health of all our maintained OSS projects in one view
-* [**Events Calendar**](https://calendar.google.com/calendar/u/0/embed?src=npmjs.com_oonluqt8oftrt0vmgrfbg6q6go@group.calendar.google.com) - Keep track of our Open RFC calls, releases, meetups, conferences & more
-* [**Support**](https://www.npmjs.com/support) - Experiencing problems with the **npm** [website](https://npmjs.com) or [registry](https://registry.npmjs.org)? File a ticket [here](https://www.npmjs.com/support)
+* [**Support**](https://www.npmjs.com/support) - Experiencing problems with the **npm** [website](https://npmjs.com) or [registry](https://registry.npmjs.org)? [File a ticket](https://www.npmjs.com/support)
### Acknowledgments
* `npm` is configured to use the **npm Public Registry** at [https://registry.npmjs.org](https://registry.npmjs.org) by default; Usage of this registry is subject to **Terms of Use** available at [https://npmjs.com/policies/terms](https://npmjs.com/policies/terms)
-* You can configure `npm` to use any other compatible registry you prefer. You can read more about configuring third-party registries [here](https://docs.npmjs.com/cli/v7/using-npm/registry)
+* You can configure `npm` to use any other compatible registry you prefer. You can read more about [configuring third-party registries](https://docs.npmjs.com/cli/v7/using-npm/registry)
### FAQ on Branding
diff --git a/deps/npm/docs/content/commands/npm-access.md b/deps/npm/docs/content/commands/npm-access.md
index e08030deba076d..1c6e168f230138 100644
--- a/deps/npm/docs/content/commands/npm-access.md
+++ b/deps/npm/docs/content/commands/npm-access.md
@@ -22,56 +22,28 @@ Note: This command is unaware of workspaces.
Used to set access controls on private packages.
-For all of the subcommands, `npm access` will perform actions on the packages
-in the current working directory if no package name is passed to the
-subcommand.
+For all of the subcommands, `npm access` will perform actions on the packages in the current working directory if no package name is passed to the subcommand.
-* public / restricted (deprecated):
- Set a package to be either publicly accessible or restricted.
-
-* grant / revoke (deprecated):
- Add or remove the ability of users and teams to have read-only or read-write
- access to a package.
-
-* 2fa-required / 2fa-not-required (deprecated):
- Configure whether a package requires that anyone publishing it have two-factor
- authentication enabled on their account.
-
-* ls-packages (deprecated):
- Show all of the packages a user or a team is able to access, along with the
- access level, except for read-only public packages (it won't print the whole
- registry listing)
-
-* ls-collaborators (deprecated):
- Show all of the access privileges for a package. Will only show permissions
- for packages to which you have at least read access. If `` is passed in,
- the list is filtered only to teams _that_ user happens to belong to.
-
-* edit (not implemented)
+* grant / revoke:
+ Add or remove the ability of users and teams to have read-only or read-write access to a package.
### Details
-`npm access` always operates directly on the current registry, configurable
-from the command line using `--registry=`.
+`npm access` always operates directly on the current registry, configurable from the command line using `--registry=`.
Unscoped packages are *always public*.
-Scoped packages *default to restricted*, but you can either publish them as
-public using `npm publish --access=public`, or set their access as public using
-`npm access public` after the initial publish.
+Scoped packages *default to restricted*, but you can either publish them as public using `npm publish --access=public`, or set their access as public using `npm access set status=public` after the initial publish.
You must have privileges to set the access of a package:
* You are an owner of an unscoped or scoped package.
* You are a member of the team that owns a scope.
-* You have been given read-write privileges for a package, either as a member
- of a team or directly as an owner.
+* You have been given read-write privileges for a package, either as a member of a team or directly as an owner.
-If you have two-factor authentication enabled then you'll be prompted to provide a second factor, or may use the `--otp=...` option to specify it on
-the command line.
+If you have two-factor authentication enabled then you'll be prompted to provide a second factor, or may use the `--otp=...` option to specify it on the command line.
-If your account is not paid, then attempts to publish scoped packages will
-fail with an HTTP 402 status code (logically enough), unless you use
+If your account is not paid, then attempts to publish scoped packages will fail with an HTTP 402 status code (logically enough), unless you use
`--access=public`.
Management of teams and team memberships is done with the `npm team` command.
@@ -85,8 +57,8 @@ Management of teams and team memberships is done with the `npm team` command.
Whether or not to output JSON data, rather than the normal output.
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
+* 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.
@@ -97,11 +69,12 @@ Not supported by all npm commands.
* 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`.
+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.
+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.
diff --git a/deps/npm/docs/content/commands/npm-adduser.md b/deps/npm/docs/content/commands/npm-adduser.md
index a42ac6b863915e..78edb5d5702d7b 100644
--- a/deps/npm/docs/content/commands/npm-adduser.md
+++ b/deps/npm/docs/content/commands/npm-adduser.md
@@ -16,14 +16,13 @@ Note: This command is unaware of workspaces.
### Description
-Create a new user in the specified registry, and save the credentials to
-the `.npmrc` file. If no registry is specified, the default registry
-will be used (see [`registry`](/using-npm/registry)).
+Create a new user in the specified registry, and save the credentials to the `.npmrc` file.
+If no registry is specified, the default registry will be used (see [`registry`](/using-npm/registry)).
-When you run `npm adduser`, the CLI automatically generates a legacy token of `publish` type. For more information, see [About legacy tokens](/about-access-tokens#about-legacy-tokens).
+When you run `npm adduser`, the CLI automatically generates a legacy token of `publish` type.
+For more information, see [About legacy tokens](/about-access-tokens#about-legacy-tokens).
-When using `legacy` for your `auth-type`, the username, password, and
-email are read in from prompts.
+When using `legacy` for your `auth-type`, the username, password, and email are read in from prompts.
### Configuration
@@ -72,8 +71,8 @@ npm init --scope=@foo --yes
* 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`.
diff --git a/deps/npm/docs/content/commands/npm-audit.md b/deps/npm/docs/content/commands/npm-audit.md
index 17af3a686cb456..f38f933bee7962 100644
--- a/deps/npm/docs/content/commands/npm-audit.md
+++ b/deps/npm/docs/content/commands/npm-audit.md
@@ -12,32 +12,23 @@ npm audit [fix|signatures]
### Description
-The audit command submits a description of the dependencies configured in
-your project to your default registry and asks for a report of known
-vulnerabilities. If any vulnerabilities are found, then the impact and
-appropriate remediation will be calculated. If the `fix` argument is
-provided, then remediations will be applied to the package tree.
+The audit command submits a description of the dependencies configured in your project to your default registry and asks for a report of known vulnerabilities.
+If any vulnerabilities are found, then the impact and appropriate remediation will be calculated.
+If the `fix` argument is provided, then remediations will be applied to the package tree.
The command will exit with a 0 exit code if no vulnerabilities were found.
-Note that some vulnerabilities cannot be fixed automatically and will
-require manual intervention or review. Also note that since `npm audit
-fix` runs a full-fledged `npm install` under the hood, all configs that
-apply to the installer will also apply to `npm install` -- so things like
-`npm audit fix --package-lock-only` will work as expected.
+Note that some vulnerabilities cannot be fixed automatically and will require manual intervention or review.
+Also note that since `npm audit fix` runs a full-fledged `npm install` under the hood, all configs that apply to the installer will also apply to `npm install` -- so things like `npm audit fix --package-lock-only` will work as expected.
-By default, the audit command will exit with a non-zero code if any
-vulnerability is found. It may be useful in CI environments to include the
-`--audit-level` parameter to specify the minimum vulnerability level that
-will cause the command to fail. This option does not filter the report
-output, it simply changes the command's failure threshold.
+By default, the audit command will exit with a non-zero code if any vulnerability is found.
+It may be useful in CI environments to include the `--audit-level` parameter to specify the minimum vulnerability level that will cause the command to fail.
+This option does not filter the report output, it simply changes the command's failure threshold.
### Package lock
-By default npm requires a package-lock or shrinkwrap in order to run the
-audit. You can bypass the package lock with `--no-package-lock` but be
-aware the results may be different with every run, since npm will
-re-build the dependency tree each time.
+By default npm requires a package-lock or shrinkwrap in order to run the audit.
+You can bypass the package lock with `--no-package-lock` but be aware the results may be different with every run, since npm will re-build the dependency tree each time.
### Audit Signatures
@@ -49,12 +40,9 @@ Registry signatures can be verified using the following `audit` command:
$ npm audit signatures
```
-The `audit signatures` command will also verify the provenance attestations of
-downloaded packages. Because provenance attestations are such a new feature,
-security features may be added to (or changed in) the attestation format over
-time. To ensure that you're always able to verify attestation signatures check
-that you're running the latest version of the npm CLI. Please note this often
-means updating npm beyond the version that ships with Node.js.
+The `audit signatures` command will also verify the provenance attestations of downloaded packages.
+Because provenance attestations are such a new feature, security features may be added to (or changed in) the attestation format over time.
+To ensure that you're always able to verify attestation signatures check that you're running the latest version of the npm CLI. Please note this often means updating npm beyond the version that ships with Node.js.
The npm CLI supports registry signatures and signing keys provided by any registry if the following conventions are followed:
@@ -91,7 +79,7 @@ The `sig` is generated using the following template: `${package.name}@${package.
Keys response:
- `expires`: null or a simplified extended [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601): `YYYY-MM-DDTHH:mm:ss.sssZ`
-- `keydid`: sha256 fingerprint of the public key
+- `keyid`: sha256 fingerprint of the public key
- `keytype`: only `ecdsa-sha2-nistp256` is currently supported by the npm CLI
- `scheme`: only `ecdsa-sha2-nistp256` is currently supported by the npm CLI
- `key`: base64 encoded public key
@@ -100,42 +88,29 @@ See this [example key's response from the public npm registry](https://registry.
### Audit Endpoints
-There are two audit endpoints that npm may use to fetch vulnerability
-information: the `Bulk Advisory` endpoint and the `Quick Audit` endpoint.
+There are two audit endpoints that npm may use to fetch vulnerability information: the `Bulk Advisory` endpoint and the `Quick Audit` endpoint.
#### Bulk Advisory Endpoint
-As of version 7, npm uses the much faster `Bulk Advisory` endpoint to
-optimize the speed of calculating audit results.
+As of version 7, npm uses the much faster `Bulk Advisory` endpoint to optimize the speed of calculating audit results.
-npm will generate a JSON payload with the name and list of versions of each
-package in the tree, and POST it to the default configured registry at
-the path `/-/npm/v1/security/advisories/bulk`.
+npm will generate a JSON payload with the name and list of versions of each package in the tree, and POST it to the default configured registry at the path `/-/npm/v1/security/advisories/bulk`.
-Any packages in the tree that do not have a `version` field in their
-package.json file will be ignored. If any `--omit` options are specified
-(either via the [`--omit` config](/using-npm/config#omit), or one of the
-shorthands such as `--production`, `--only=dev`, and so on), then packages will
-be omitted from the submitted payload as appropriate.
+Any packages in the tree that do not have a `version` field in their package.json file will be ignored.
+If any `--omit` options are specified (either via the [`--omit` config](/using-npm/config#omit), or one of the shorthands such as `--production`, `--only=dev`, and so on), then packages will be omitted from the submitted payload as appropriate.
-If the registry responds with an error, or with an invalid response, then
-npm will attempt to load advisory data from the `Quick Audit` endpoint.
+If the registry responds with an error, or with an invalid response, then npm will attempt to load advisory data from the `Quick Audit` endpoint.
-The expected result will contain a set of advisory objects for each
-dependency that matches the advisory range. Each advisory object contains
-a `name`, `url`, `id`, `severity`, `vulnerable_versions`, and `title`.
+The expected result will contain a set of advisory objects for each dependency that matches the advisory range.
+Each advisory object contains a `name`, `url`, `id`, `severity`, `vulnerable_versions`, and `title`.
-npm then uses these advisory objects to calculate vulnerabilities and
-meta-vulnerabilities of the dependencies within the tree.
+npm then uses these advisory objects to calculate vulnerabilities and meta-vulnerabilities of the dependencies within the tree.
#### Quick Audit Endpoint
-If the `Bulk Advisory` endpoint returns an error, or invalid data, npm will
-attempt to load advisory data from the `Quick Audit` endpoint, which is
-considerably slower in most cases.
+If the `Bulk Advisory` endpoint returns an error, or invalid data, npm will attempt to load advisory data from the `Quick Audit` endpoint, which is considerably slower in most cases.
-The full package tree as found in `package-lock.json` is submitted, along
-with the following pieces of additional metadata:
+The full package tree as found in `package-lock.json` is submitted, along with the following pieces of additional metadata:
* `npm_version`
* `node_version`
@@ -148,64 +123,41 @@ Omitted dependency types are skipped when generating the report.
#### Scrubbing
-Out of an abundance of caution, npm versions 5 and 6 would "scrub" any
-packages from the submitted report if their name contained a `/` character,
-so as to avoid leaking the names of potentially private packages or git
-URLs.
+Out of an abundance of caution, npm versions 5 and 6 would "scrub" any packages from the submitted report if their name contained a `/` character, so as to avoid leaking the names of potentially private packages or git URLs.
-However, in practice, this resulted in audits often failing to properly
-detect meta-vulnerabilities, because the tree would appear to be invalid
-due to missing dependencies, and prevented the detection of vulnerabilities
-in package trees that used git dependencies or private modules.
+However, in practice, this resulted in audits often failing to properly detect meta-vulnerabilities, because the tree would appear to be invalid due to missing dependencies, and prevented the detection of vulnerabilities in package trees that used git dependencies or private modules.
This scrubbing has been removed from npm as of version 7.
#### Calculating Meta-Vulnerabilities and Remediations
-npm uses the
-[`@npmcli/metavuln-calculator`](http://npm.im/@npmcli/metavuln-calculator)
-module to turn a set of security advisories into a set of "vulnerability"
-objects. A "meta-vulnerability" is a dependency that is vulnerable by
-virtue of dependence on vulnerable versions of a vulnerable package.
+npm uses the [`@npmcli/metavuln-calculator`](http://npm.im/@npmcli/metavuln-calculator) module to turn a set of security advisories into a set of "vulnerability" objects.
+A "meta-vulnerability" is a dependency that is vulnerable by virtue of dependence on vulnerable versions of a vulnerable package.
-For example, if the package `foo` is vulnerable in the range `>=1.0.2
-<2.0.0`, and the package `bar` depends on `foo@^1.1.0`, then that version
-of `bar` can only be installed by installing a vulnerable version of `foo`.
+For example, if the package `foo` is vulnerable in the range `>=1.0.2 <2.0.0`, and the package `bar` depends on `foo@^1.1.0`, then that version of `bar` can only be installed by installing a vulnerable version of `foo`.
In this case, `bar` is a "metavulnerability".
-Once metavulnerabilities for a given package are calculated, they are
-cached in the `~/.npm` folder and only re-evaluated if the advisory range
-changes, or a new version of the package is published (in which case, the
-new version is checked for metavulnerable status as well).
+Once metavulnerabilities for a given package are calculated, they are cached in the `~/.npm` folder and only re-evaluated if the advisory range changes, or a new version of the package is published (in which case, the new version is checked for metavulnerable status as well).
-If the chain of metavulnerabilities extends all the way to the root
-project, and it cannot be updated without changing its dependency ranges,
-then `npm audit fix` will require the `--force` option to apply the
-remediation. If remediations do not require changes to the dependency
-ranges, then all vulnerable packages will be updated to a version that does
-not have an advisory or metavulnerability posted against it.
+If the chain of metavulnerabilities extends all the way to the root project, and it cannot be updated without changing its dependency ranges, then `npm audit fix` will require the `--force` option to apply the remediation.
+If remediations do not require changes to the dependency ranges, then all vulnerable packages will be updated to a version that does not have an advisory or metavulnerability posted against it.
### Exit Code
-The `npm audit` command will exit with a 0 exit code if no vulnerabilities
-were found. The `npm audit fix` command will exit with 0 exit code if no
-vulnerabilities are found _or_ if the remediation is able to successfully
-fix all vulnerabilities.
+The `npm audit` command will exit with a 0 exit code if no vulnerabilities were found.
+The `npm audit fix` command will exit with 0 exit code if no vulnerabilities are found _or_ if the remediation is able to successfully fix all vulnerabilities.
-If vulnerabilities were found the exit code will depend on the
-[`audit-level` config](/using-npm/config#audit-level).
+If vulnerabilities were found the exit code will depend on the [`audit-level` config](/using-npm/config#audit-level).
### Examples
-Scan your project for vulnerabilities and automatically install any compatible
-updates to vulnerable dependencies:
+Scan your project for vulnerabilities and automatically install any compatible updates to vulnerable dependencies:
```bash
$ npm audit fix
```
-Run `audit fix` without modifying `node_modules`, but still updating the
-pkglock:
+Run `audit fix` without modifying `node_modules`, but still updating the pkglock:
```bash
$ npm audit fix --package-lock-only
@@ -217,22 +169,19 @@ Skip updating `devDependencies`:
$ npm audit fix --only=prod
```
-Have `audit fix` install SemVer-major updates to toplevel dependencies, not
-just SemVer-compatible ones:
+Have `audit fix` install SemVer-major updates to toplevel dependencies, not just SemVer-compatible ones:
```bash
$ npm audit fix --force
```
-Do a dry run to get an idea of what `audit fix` will do, and _also_ output
-install information in JSON format:
+Do a dry run to get an idea of what `audit fix` will do, and _also_ output install information in JSON format:
```bash
$ npm audit fix --dry-run --json
```
-Scan your project for vulnerabilities and just show the details, without
-fixing anything:
+Scan your project for vulnerabilities and just show the details, without fixing anything:
```bash
$ npm audit
@@ -257,8 +206,8 @@ $ npm audit --audit-level=moderate
* 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.
@@ -267,13 +216,14 @@ exit code.
* 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`.
+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.
+Note: This is NOT honored by other network related commands, eg
+`dist-tags`, `owner`, etc.
@@ -288,14 +238,16 @@ mistakes, unnecessary performance degradation, and malicious input.
* Allow clobbering non-npm files in global installs.
* Allow the `npm version` command to work on an unclean git repository.
* Allow deleting the cache folder with `npm cache clean`.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of npm.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of `node`, even if `--engine-strict` is enabled.
-* Allow `npm audit fix` to install modules outside your stated dependency
- range (including SemVer-major changes).
+* Allow 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).
@@ -312,8 +264,8 @@ recommended that you do not use this option!
Whether or not to output JSON data, rather than the normal output.
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
+* 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.
@@ -324,14 +276,15 @@ Not supported by all npm commands.
* 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`.
@@ -340,15 +293,16 @@ For `list` this means the output will be based on the tree described by the
* 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
- 'production', otherwise empty.
+ 'production'; otherwise, empty.
* Type: "dev", "optional", or "peer" (can be set multiple times)
Dependency types to omit from the installation tree on disk.
@@ -357,40 +311,45 @@ 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 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 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=`.
-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.
#### `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.
+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.
+Note that this will generally make installs run slower, and be much
+noisier, but can be useful for debugging.
@@ -401,10 +360,10 @@ but can be useful for debugging.
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.
@@ -413,9 +372,9 @@ run any pre- or post-scripts.
* 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:
@@ -424,9 +383,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -438,13 +397,14 @@ This value is not exported to the environment for child processes.
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.
@@ -455,9 +415,10 @@ This value is not exported to the environment for child processes.
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.
@@ -466,9 +427,9 @@ This value is not exported to the environment for child processes.
* 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.
diff --git a/deps/npm/docs/content/commands/npm-bugs.md b/deps/npm/docs/content/commands/npm-bugs.md
index eef11c98b4c264..8789f21aa0143d 100644
--- a/deps/npm/docs/content/commands/npm-bugs.md
+++ b/deps/npm/docs/content/commands/npm-bugs.md
@@ -14,11 +14,8 @@ alias: issues
### Description
-This command tries to guess at the likely location of a package's bug
-tracker URL or the `mailto` URL of the support email, and then tries to
-open it using the [`--browser` config](/using-npm/config#browser) param. If no
-package name is provided, it will search for a `package.json` in the current
-folder and use the `name` property.
+This command tries to guess at the likely location of a package's bug tracker URL or the `mailto` URL of the support email, and then tries to open it using the [`--browser` config](/using-npm/config#browser) param.
+If no package name is provided, it will search for a `package.json` in the current folder and use the `name` property.
### Configuration
@@ -50,9 +47,9 @@ The base URL of the npm registry.
* 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:
@@ -61,9 +58,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -75,13 +72,14 @@ This value is not exported to the environment for child processes.
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.
@@ -92,9 +90,10 @@ This value is not exported to the environment for child processes.
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.
diff --git a/deps/npm/docs/content/commands/npm-cache.md b/deps/npm/docs/content/commands/npm-cache.md
index c61e2ac2555bf8..d1b114cfbeffee 100644
--- a/deps/npm/docs/content/commands/npm-cache.md
+++ b/deps/npm/docs/content/commands/npm-cache.md
@@ -26,10 +26,12 @@ Also used to view info about entries in the `npm exec` (aka `npx`) cache folder.
#### `npm cache`
* add:
- Add the specified packages to the local cache. This command is primarily intended to be used internally by npm, but it can provide a way to add data to the local installation cache explicitly.
+ Add the specified packages to the local cache.
+ This command is primarily intended to be used internally by npm, but it can provide a way to add data to the local installation cache explicitly.
* clean:
- Delete a single entry or all entries out of the cache folder. Note that this is typically unnecessary, as npm's cache is self-healing and resistant to data corruption issues.
+ Delete a single entry or all entries out of the cache folder.
+ Note that this is typically unnecessary, as npm's cache is self-healing and resistant to data corruption issues.
* ls:
List given entries or all entries in the local cache.
@@ -50,20 +52,26 @@ Also used to view info about entries in the `npm exec` (aka `npx`) cache folder.
### Details
-npm stores cache data in an opaque directory within the configured `cache`, named `_cacache`. This directory is a [`cacache`](http://npm.im/cacache)-based content-addressable cache that stores all http request data as well as other package-related data. This directory is primarily accessed through `pacote`, the library responsible for all package fetching as of npm@5.
+npm stores cache data in an opaque directory within the configured `cache`, named `_cacache`.
+This directory is a [`cacache`](http://npm.im/cacache)-based content-addressable cache that stores all http request data as well as other package-related data.
+This directory is primarily accessed through `pacote`, the library responsible for all package fetching as of npm@5.
-All data that passes through the cache is fully verified for integrity on both insertion and extraction. Cache corruption will either trigger an error, or signal to `pacote` that the data must be refetched, which it will do automatically. For this reason, it should never be necessary to clear the cache for any reason other than reclaiming disk space, thus why `clean` now requires `--force` to run.
+All data that passes through the cache is fully verified for integrity on both insertion and extraction.
+Cache corruption will either trigger an error, or signal to `pacote` that the data must be refetched, which it will do automatically.
+For this reason, it should never be necessary to clear the cache for any reason other than reclaiming disk space, thus why `clean` now requires `--force` to run.
-There is currently no method exposed through npm to inspect or directly manage the contents of this cache. In order to access it, `cacache` must be used directly.
+There is currently no method exposed through npm to inspect or directly manage the contents of this cache.
+In order to access it, `cacache` must be used directly.
npm will not remove data by itself: the cache will grow as new packages are installed.
### A note about the cache's design
-The npm cache is strictly a cache: it should not be relied upon as a persistent and reliable data store for package data. npm makes no guarantee that a previously-cached piece of data will be available later, and will automatically delete corrupted contents. The primary guarantee that the cache makes is that, if it does return data, that data will be exactly the data that was inserted.
+The npm cache is strictly a cache: it should not be relied upon as a persistent and reliable data store for package data.
+npm makes no guarantee that a previously-cached piece of data will be available later, and will automatically delete corrupted contents.
+The primary guarantee that the cache makes is that, if it does return data, that data will be exactly the data that was inserted.
-To run an offline verification of existing cache contents, use `npm cache
-verify`.
+To run an offline verification of existing cache contents, use `npm cache verify`.
### Configuration
diff --git a/deps/npm/docs/content/commands/npm-ci.md b/deps/npm/docs/content/commands/npm-ci.md
index e9e00271684181..115ea4a1b2a762 100644
--- a/deps/npm/docs/content/commands/npm-ci.md
+++ b/deps/npm/docs/content/commands/npm-ci.md
@@ -14,10 +14,7 @@ aliases: clean-install, ic, install-clean, isntall-clean
### Description
-This command is similar to [`npm install`](/commands/npm-install), except
-it's meant to be used in automated environments such as test platforms,
-continuous integration, and deployment -- or any situation where you want
-to make sure you're doing a clean install of your dependencies.
+This command is similar to [`npm install`](/commands/npm-install), except it's meant to be used in automated environments such as test platforms, continuous integration, and deployment -- or any situation where you want to make sure you're doing a clean install of your dependencies.
The main differences between using `npm install` and `npm ci` are:
@@ -25,18 +22,14 @@ The main differences between using `npm install` and `npm ci` are:
`npm-shrinkwrap.json`.
* If dependencies in the package lock do not match those in `package.json`,
`npm ci` will exit with an error, instead of updating the package lock.
-* `npm ci` can only install entire projects at a time: individual
- dependencies cannot be added with this command.
-* If a `node_modules` is already present, it will be automatically removed
- before `npm ci` begins its install.
+* `npm ci` can only install entire projects at a time: individual dependencies cannot be added with this command.
+* If a `node_modules` is already present, it will be automatically removed before `npm ci` begins its install.
* It will never write to `package.json` or any of the package-locks:
installs are essentially frozen.
-NOTE: If you create your `package-lock.json` file by running `npm install`
-with flags that can affect the shape of your dependency tree, such as
-`--legacy-peer-deps` or `--install-links`, you _must_ provide the same
-flags to `npm ci` or you are likely to encounter errors. An easy way to do
-this is to run, for example,
+NOTE: If you create your `package-lock.json` file by running `npm install` with flags that can affect the shape of your dependency tree, such as
+`--legacy-peer-deps` or `--install-links`, you _must_ provide the same flags to `npm ci` or you are likely to encounter errors.
+An easy way to do this is to run, for example,
`npm config set legacy-peer-deps=true --location=project` and commit the
`.npmrc` file to your repo.
@@ -78,11 +71,12 @@ cache:
* 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.
@@ -93,10 +87,10 @@ link in place, unhoisted.
* 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`.
@@ -107,15 +101,15 @@ de-duplicating. Sets `--install-strategy=nested`.
* 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
- 'production', otherwise empty.
+ 'production'; otherwise, empty.
* Type: "dev", "optional", or "peer" (can be set multiple times)
Dependency types to omit from the installation tree on disk.
@@ -124,25 +118,29 @@ 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 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 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=`.
-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.
@@ -152,33 +150,35 @@ the order in which omit/include are specified on the command-line.
* 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.
+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.
+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.
+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.
+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.
+Note that this will generally make installs run slower, and be much
+noisier, but can be useful for debugging.
@@ -189,10 +189,10 @@ but can be useful for debugging.
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.
@@ -201,10 +201,10 @@ run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
+When "true" submit audit reports alongside the current npm command to
+the default registry and all registries configured for scopes. See
+the documentation for [`npm audit`](/commands/npm-audit) for details
+on what is submitted.
@@ -216,9 +216,9 @@ submitted.
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.
@@ -228,8 +228,8 @@ systems.
* 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`](/commands/npm-fund) for details.
+acknowledging the number of dependencies looking for funding. See
+[`npm fund`](/commands/npm-fund) for details.
@@ -238,13 +238,14 @@ fund`](/commands/npm-fund) for details.
* 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`.
+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.
+Note: This is NOT honored by other network related commands, eg
+`dist-tags`, `owner`, etc.
@@ -253,9 +254,9 @@ Note: This is NOT honored by other network related commands, eg `dist-tags`,
* 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:
@@ -264,9 +265,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -278,13 +279,14 @@ This value is not exported to the environment for child processes.
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.
@@ -295,9 +297,10 @@ This value is not exported to the environment for child processes.
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.
@@ -306,9 +309,9 @@ This value is not exported to the environment for child processes.
* 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.
diff --git a/deps/npm/docs/content/commands/npm-completion.md b/deps/npm/docs/content/commands/npm-completion.md
index 8cbc71306c851a..f34c3713b2df9a 100644
--- a/deps/npm/docs/content/commands/npm-completion.md
+++ b/deps/npm/docs/content/commands/npm-completion.md
@@ -16,24 +16,19 @@ Note: This command is unaware of workspaces.
Enables tab-completion in all npm commands.
-The synopsis above
-loads the completions into your current shell. Adding it to
-your ~/.bashrc or ~/.zshrc will make the completions available
-everywhere:
+The synopsis above loads the completions into your current shell.
+Adding it to your ~/.bashrc or ~/.zshrc will make the completions available everywhere:
```bash
npm completion >> ~/.bashrc
npm completion >> ~/.zshrc
```
-You may of course also pipe the output of `npm completion` to a file
-such as `/usr/local/etc/bash_completion.d/npm` or
+You may of course also pipe the output of `npm completion` to a file such as `/usr/local/etc/bash_completion.d/npm` or
`/etc/bash_completion.d/npm` if you have a system that will read
that file for you.
-When `COMP_CWORD`, `COMP_LINE`, and `COMP_POINT` are defined in the
-environment, `npm completion` acts in "plumbing mode", and outputs
-completions based on the arguments.
+When `COMP_CWORD`, `COMP_LINE`, and `COMP_POINT` are defined in the environment, `npm completion` acts in "plumbing mode", and outputs completions based on the arguments.
### See Also
diff --git a/deps/npm/docs/content/commands/npm-config.md b/deps/npm/docs/content/commands/npm-config.md
index 603161b0687d67..78aa4c4d3fa3c1 100644
--- a/deps/npm/docs/content/commands/npm-config.md
+++ b/deps/npm/docs/content/commands/npm-config.md
@@ -21,17 +21,13 @@ Note: This command is unaware of workspaces.
### Description
-npm gets its config settings from the command line, environment
-variables, `npmrc` files, and in some cases, the `package.json` file.
+npm gets its config settings from the command line, environment variables, `npmrc` files, and in some cases, the `package.json` file.
-See [npmrc](/configuring-npm/npmrc) for more information about the npmrc
-files.
+See [npmrc](/configuring-npm/npmrc) for more information about the npmrc files.
-See [config](/using-npm/config) for a more thorough explanation of the
-mechanisms involved, and a full list of config options available.
+See [config](/using-npm/config) for a more thorough explanation of the mechanisms involved, and a full list of config options available.
-The `npm config` command can be used to update and edit the contents
-of the user and global npmrc files.
+The `npm config` command can be used to update and edit the contents of the user and global npmrc files.
### Sub-commands
@@ -44,13 +40,12 @@ npm config set key=value [key=value...]
npm set key=value [key=value...]
```
-Sets each of the config keys to the value provided. Modifies the user configuration
-file unless [`location`](/commands/npm-config#location) is passed.
+Sets each of the config keys to the value provided.
+Modifies the user configuration file unless [`location`](/commands/npm-config#location) is passed.
If value is omitted, the key will be removed from your config file entirely.
-Note: for backwards compatibility, `npm config set key value` is supported
-as an alias for `npm config set key=value`.
+Note: for backwards compatibility, `npm config set key value` is supported as an alias for `npm config set key=value`.
#### get
@@ -61,11 +56,9 @@ npm get [key ...]
Echo the config value(s) to stdout.
-If multiple keys are provided, then the values will be prefixed with the
-key names.
+If multiple keys are provided, then the values will be prefixed with the key names.
-If no keys are provided, then this command behaves the same as `npm config
-list`.
+If no keys are provided, then this command behaves the same as `npm config list`.
#### list
@@ -73,8 +66,9 @@ list`.
npm config list
```
-Show all the config settings. Use `-l` to also show defaults. Use `--json`
-to show the settings in json format.
+Show all the config settings.
+Use `-l` to also show defaults.
+Use `--json` to show the settings in json format.
#### delete
@@ -90,8 +84,8 @@ Deletes the specified keys from all configuration files.
npm config edit
```
-Opens the config file in an editor. Use the `--global` flag to edit the
-global config.
+Opens the config file in an editor.
+Use the `--global` flag to edit the global config.
#### fix
@@ -99,9 +93,9 @@ global config.
npm config fix
```
-Attempts to repair invalid configuration items. Usually this means
-attaching authentication config (i.e. `_auth`, `_authToken`) to the
-configured `registry`.
+Attempts to repair invalid configuration items.
+Usually this means attaching authentication config (i.e.
+`_auth`, `_authToken`) to the configured `registry`.
### Configuration
@@ -112,8 +106,8 @@ configured `registry`.
Whether or not to output JSON data, rather than the normal output.
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
+* 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.
@@ -124,12 +118,13 @@ Not supported by all npm commands.
* 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](/configuring-npm/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](/configuring-npm/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`
@@ -147,18 +142,19 @@ The command to run for `npm edit` and `npm config edit`.
#### `location`
-* Default: "user" unless `--global` is passed, which will also set this value
- to "global"
+* 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](/configuring-npm/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](/configuring-npm/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/content/commands/npm-dedupe.md b/deps/npm/docs/content/commands/npm-dedupe.md
index 1ff142ec4f806f..beace9335f0629 100644
--- a/deps/npm/docs/content/commands/npm-dedupe.md
+++ b/deps/npm/docs/content/commands/npm-dedupe.md
@@ -14,9 +14,7 @@ alias: ddp
### Description
-Searches the local package tree and attempts to simplify the overall
-structure by moving dependencies further up the tree, where they can
-be more effectively shared by multiple dependent packages.
+Searches the local package tree and attempts to simplify the overall structure by moving dependencies further up the tree, where they can be more effectively shared by multiple dependent packages.
For example, consider this dependency graph:
@@ -37,9 +35,7 @@ a
`-- c@1.0.10
```
-Because of the hierarchical nature of node's module lookup, b and d
-will both get their dependency met by the single c package at the root
-level of the tree.
+Because of the hierarchical nature of node's module lookup, b and d will both get their dependency met by the single c package at the root level of the tree.
In some cases, you may have a dependency graph like this:
@@ -51,29 +47,21 @@ a
`-- c@1.9.9
```
-During the installation process, the `c@1.0.3` dependency for `b` was
-placed in the root of the tree. Though `d`'s dependency on `c@1.x` could
-have been satisfied by `c@1.0.3`, the newer `c@1.9.0` dependency was used,
-because npm favors updates by default, even when doing so causes
-duplication.
+During the installation process, the `c@1.0.3` dependency for `b` was placed in the root of the tree.
+Though `d`'s dependency on `c@1.x` could have been satisfied by `c@1.0.3`, the newer `c@1.9.0` dependency was used, because npm favors updates by default, even when doing so causes duplication.
-Running `npm dedupe` will cause npm to note the duplication and
-re-evaluate, deleting the nested `c` module, because the one in the root is
-sufficient.
+Running `npm dedupe` will cause npm to note the duplication and re-evaluate, deleting the nested `c` module, because the one in the root is sufficient.
-To prefer deduplication over novelty during the installation process, run
-`npm install --prefer-dedupe` or `npm config set prefer-dedupe true`.
+To prefer deduplication over novelty during the installation process, run `npm install --prefer-dedupe` or `npm config set prefer-dedupe true`.
-Arguments are ignored. Dedupe always acts on the entire tree.
+Arguments are ignored.
+Dedupe always acts on the entire tree.
-Note that this operation transforms the dependency tree, but will never
-result in new modules being installed.
+Note that this operation transforms the dependency tree, but will never result in new modules being installed.
Using `npm find-dupes` will run the command in `--dry-run` mode.
-Note: `npm dedupe` will never update the semver values of direct
-dependencies in your project `package.json`, if you want to update
-values in `package.json` you can run: `npm update --save` instead.
+Note: `npm dedupe` will never update the semver values of direct dependencies in your project `package.json`, if you want to update values in `package.json` you can run: `npm update --save` instead.
### Configuration
@@ -83,11 +71,12 @@ values in `package.json` you can run: `npm update --save` instead.
* 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.
@@ -98,10 +87,10 @@ link in place, unhoisted.
* 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`.
@@ -112,8 +101,8 @@ de-duplicating. Sets `--install-strategy=nested`.
* 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`.
@@ -123,18 +112,19 @@ on deeper dependencies. Sets `--install-strategy=shallow`.
* 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.
+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.
+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.
+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.
@@ -143,15 +133,16 @@ this warning is treated as a failure.
* 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
- 'production', otherwise empty.
+ 'production'; otherwise, empty.
* Type: "dev", "optional", or "peer" (can be set multiple times)
Dependency types to omit from the installation tree on disk.
@@ -160,25 +151,29 @@ 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 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 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=`.
-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.
@@ -189,10 +184,10 @@ the order in which omit/include are specified on the command-line.
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.
@@ -201,10 +196,10 @@ run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
+When "true" submit audit reports alongside the current npm command to
+the default registry and all registries configured for scopes. See
+the documentation for [`npm audit`](/commands/npm-audit) for details
+on what is submitted.
@@ -216,9 +211,9 @@ submitted.
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.
@@ -228,8 +223,8 @@ systems.
* 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`](/commands/npm-fund) for details.
+acknowledging the number of dependencies looking for funding. See
+[`npm fund`](/commands/npm-fund) for details.
@@ -238,13 +233,14 @@ fund`](/commands/npm-fund) for details.
* 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`.
+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.
+Note: This is NOT honored by other network related commands, eg
+`dist-tags`, `owner`, etc.
@@ -253,9 +249,9 @@ Note: This is NOT honored by other network related commands, eg `dist-tags`,
* 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:
@@ -264,9 +260,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -278,13 +274,14 @@ This value is not exported to the environment for child processes.
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.
@@ -295,9 +292,10 @@ This value is not exported to the environment for child processes.
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.
@@ -306,9 +304,9 @@ This value is not exported to the environment for child processes.
* 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.
diff --git a/deps/npm/docs/content/commands/npm-deprecate.md b/deps/npm/docs/content/commands/npm-deprecate.md
index 80b039b25a0dbb..0724791ef484ab 100644
--- a/deps/npm/docs/content/commands/npm-deprecate.md
+++ b/deps/npm/docs/content/commands/npm-deprecate.md
@@ -14,18 +14,16 @@ Note: This command is unaware of workspaces.
### Description
-This command will update the npm registry entry for a package, providing a
-deprecation warning to all who attempt to install it.
+This command will update the npm registry entry for a package, providing a deprecation warning to all who attempt to install it.
-It works on [version ranges](https://semver.npmjs.com/) as well as specific
-versions, so you can do something like this:
+It works on [version ranges](https://semver.npmjs.com/) as well as specific versions, so you can do something like this:
```bash
npm deprecate my-thing@"< 0.2.3" "critical bug fixed in v0.2.3"
```
-SemVer ranges passed to this command are interpreted such that they *do*
-include prerelease versions. For example:
+SemVer ranges passed to this command are interpreted such that they *do* include prerelease versions.
+For example:
```bash
npm deprecate my-thing@1.x "1.x is no longer supported"
@@ -33,12 +31,11 @@ npm deprecate my-thing@1.x "1.x is no longer supported"
In this case, a version `my-thing@1.0.0-beta.0` will also be deprecated.
-You must be the package owner to deprecate something. See the `owner` and
-`adduser` help topics.
+You must be the package owner to deprecate something.
+See the `owner` and `adduser` help topics.
-To un-deprecate a package, specify an empty string (`""`) for the `message`
-argument. Note that you must use double quotes with no space between them to
-format an empty string.
+To un-deprecate a package, specify an empty string (`""`) for the `message` argument.
+Note that you must use double quotes with no space between them to format an empty string.
### Configuration
@@ -56,11 +53,12 @@ The base URL of the npm registry.
* 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`.
+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.
+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.
@@ -69,13 +67,14 @@ password, npm will prompt on the command line for one.
* 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`.
+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.
+Note: This is NOT honored by other network related commands, eg
+`dist-tags`, `owner`, etc.
diff --git a/deps/npm/docs/content/commands/npm-diff.md b/deps/npm/docs/content/commands/npm-diff.md
index 5248410972785d..6337c04ba03700 100644
--- a/deps/npm/docs/content/commands/npm-diff.md
+++ b/deps/npm/docs/content/commands/npm-diff.md
@@ -12,22 +12,16 @@ npm diff [...]
### Description
-Similar to its `git diff` counterpart, this command will print diff patches
-of files for packages published to the npm registry.
+Similar to its `git diff` counterpart, this command will print diff patches of files for packages published to the npm registry.
* `npm diff --diff= --diff=`
- Compares two package versions using their registry specifiers, e.g:
- `npm diff --diff=pkg@1.0.0 --diff=pkg@^2.0.0`. It's also possible to
- compare across forks of any package,
- e.g: `npm diff --diff=pkg@1.0.0 --diff=pkg-fork@1.0.0`.
+ Compares two package versions using their registry specifiers, e.g: `npm diff --diff=pkg@1.0.0 --diff=pkg@^2.0.0`.
+ It's also possible to compare across forks of any package, e.g: `npm diff --diff=pkg@1.0.0 --diff=pkg-fork@1.0.0`.
- Any valid spec can be used, so that it's also possible to compare
- directories or git repositories,
- e.g: `npm diff --diff=pkg@latest --diff=./packages/pkg`
+ Any valid spec can be used, so that it's also possible to compare directories or git repositories, e.g: `npm diff --diff=pkg@latest --diff=./packages/pkg`
- Here's an example comparing two different versions of a package named
- `abbrev` from the registry:
+ Here's an example comparing two different versions of a package named `abbrev` from the registry:
```bash
npm diff --diff=abbrev@1.1.0 --diff=abbrev@1.1.1
@@ -50,39 +44,24 @@ of files for packages published to the npm registry.
"main": "abbrev.js",
```
- Given the flexible nature of npm specs, you can also target local
- directories or git repos just like when using `npm install`:
+ Given the flexible nature of npm specs, you can also target local directories or git repos just like when using `npm install`:
```bash
npm diff --diff=https://github.com/npm/libnpmdiff --diff=./local-path
```
- In the example above we can compare the contents from the package installed
- from the git repo at `github.com/npm/libnpmdiff` with the contents of the
- `./local-path` that contains a valid package, such as a modified copy of
- the original.
+ In the example above we can compare the contents from the package installed from the git repo at `github.com/npm/libnpmdiff` with the contents of the `./local-path` that contains a valid package, such as a modified copy of the original.
* `npm diff` (in a package directory, no arguments):
- If the package is published to the registry, `npm diff` will fetch the
- tarball version tagged as `latest` (this value can be configured using the
- `tag` option) and proceed to compare the contents of files present in that
- tarball, with the current files in your local file system.
+ If the package is published to the registry, `npm diff` will fetch the tarball version tagged as `latest` (this value can be configured using the `tag` option) and proceed to compare the contents of files present in that tarball, with the current files in your local file system.
- This workflow provides a handy way for package authors to see what
- package-tracked files have been changed in comparison with the latest
- published version of that package.
+ This workflow provides a handy way for package authors to see what package-tracked files have been changed in comparison with the latest published version of that package.
* `npm diff --diff=` (in a package directory):
- When using a single package name (with no version or tag specifier) as an
- argument, `npm diff` will work in a similar way to
- [`npm-outdated`](npm-outdated) and reach for the registry to figure out
- what current published version of the package named ``
- will satisfy its dependent declared semver-range. Once that specific
- version is known `npm diff` will print diff patches comparing the
- current version of `` found in the local file system with
- that specific version returned by the registry.
+ When using a single package name (with no version or tag specifier) as an argument, `npm diff` will work in a similar way to [`npm-outdated`](npm-outdated) and reach for the registry to figure out what current published version of the package named `` will satisfy its dependent declared semver-range.
+ Once that specific version is known `npm diff` will print diff patches comparing the current version of `` found in the local file system with that specific version returned by the registry.
Given a package named `abbrev` that is currently installed:
@@ -90,19 +69,13 @@ of files for packages published to the npm registry.
npm diff --diff=abbrev
```
- That will request from the registry its most up to date version and
- will print a diff output comparing the currently installed version to this
- newer one if the version numbers are not the same.
+ That will request from the registry its most up to date version and will print a diff output comparing the currently installed version to this newer one if the version numbers are not the same.
* `npm diff --diff=` (in a package directory):
- Similar to using only a single package name, it's also possible to declare
- a full registry specifier version if you wish to compare the local version
- of an installed package with the specific version/tag/semver-range provided
- in ``.
+ Similar to using only a single package name, it's also possible to declare a full registry specifier version if you wish to compare the local version of an installed package with the specific version/tag/semver-range provided in ``.
- An example: assuming `pkg@1.0.0` is installed in the current `node_modules`
- folder, running:
+ An example: assuming `pkg@1.0.0` is installed in the current `node_modules` folder, running:
```bash
npm diff --diff=pkg@2.0.0
@@ -113,39 +86,29 @@ of files for packages published to the npm registry.
* `npm diff --diff= [--diff=]` (in a package directory):
- Using `npm diff` along with semver-valid version numbers is a shorthand
- to compare different versions of the current package.
+ Using `npm diff` along with semver-valid version numbers is a shorthand to compare different versions of the current package.
- It needs to be run from a package directory, such that for a package named
- `pkg` running `npm diff --diff=1.0.0 --diff=1.0.1` is the same as running
- `npm diff --diff=pkg@1.0.0 --diff=pkg@1.0.1`.
+ It needs to be run from a package directory, such that for a package named `pkg` running `npm diff --diff=1.0.0 --diff=1.0.1` is the same as running `npm diff --diff=pkg@1.0.0 --diff=pkg@1.0.1`.
- If only a single argument `` is provided, then the current local
- file system is going to be compared against that version.
+ If only a single argument `` is provided, then the current local file system is going to be compared against that version.
- Here's an example comparing two specific versions (published to the
- configured registry) of the current project directory:
+ Here's an example comparing two specific versions (published to the configured registry) of the current project directory:
```bash
npm diff --diff=1.0.0 --diff=1.1.0
```
-Note that tag names are not valid `--diff` argument values, if you wish to
-compare to a published tag, you must use the `pkg@tagname` syntax.
+Note that tag names are not valid `--diff` argument values, if you wish to compare to a published tag, you must use the `pkg@tagname` syntax.
#### Filtering files
-It's possible to also specify positional arguments using file names or globs
-pattern matching in order to limit the result of diff patches to only a subset
-of files for a given package, e.g:
+It's possible to also specify positional arguments using file names or globs pattern matching in order to limit the result of diff patches to only a subset of files for a given package, e.g:
```bash
npm diff --diff=pkg@2 ./lib/ CHANGELOG.md
```
-In the example above the diff output is only going to print contents of files
-located within the folder `./lib/` and changed lines of code within the
-`CHANGELOG.md` file.
+In the example above the diff output is only going to print contents of files located within the folder `./lib/` and changed lines of code within the `CHANGELOG.md` file.
### Configuration
@@ -229,12 +192,13 @@ Treat all files as text in `npm diff`.
* 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](/configuring-npm/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](/configuring-npm/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`
@@ -245,17 +209,17 @@ folder instead of the current working directory. See
* 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.
+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.
+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.
+If used in the `npm publish` command, this is the tag that will be
+added to the package submitted to the registry.
@@ -264,9 +228,9 @@ the package submitted to the registry.
* 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:
@@ -275,9 +239,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -289,13 +253,14 @@ This value is not exported to the environment for child processes.
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.
@@ -306,9 +271,10 @@ This value is not exported to the environment for child processes.
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/content/commands/npm-dist-tag.md b/deps/npm/docs/content/commands/npm-dist-tag.md
index 609da16b6d3ab1..c39e54b6b28e32 100644
--- a/deps/npm/docs/content/commands/npm-dist-tag.md
+++ b/deps/npm/docs/content/commands/npm-dist-tag.md
@@ -18,22 +18,16 @@ alias: dist-tags
Add, remove, and enumerate distribution tags on a package:
-* add: Tags the specified version of the package with the specified tag,
- or the [`--tag` config](/using-npm/config#tag) if not specified. If you have
- two-factor authentication on auth-and-writes then you’ll need to include a
- one-time password on the command line with
- `--otp `, or go through a second factor flow based on your `authtype`.
+* add: Tags the specified version of the package with the specified tag, or the [`--tag` config](/using-npm/config#tag) if not specified.
+ If you have two-factor authentication on auth-and-writes then you’ll need to include a one-time password on the command line with `--otp `, or go through a second factor flow based on your `authtype`.
-* rm: Clear a tag that is no longer in use from the package. If you have
- two-factor authentication on auth-and-writes then you’ll need to include
- a one-time password on the command line with `--otp `,
- or go through a second factor flow based on your `authtype`
+* rm: Clear a tag that is no longer in use from the package.
+ If you have two-factor authentication on auth-and-writes then you’ll need to include a one-time password on the command line with `--otp `, or go through a second factor flow based on your `authtype`
-* ls: Show all of the dist-tags for a package, defaulting to the package in
- the current prefix. This is the default action if none is specified.
+* ls: Show all of the dist-tags for a package, defaulting to the package in the current prefix.
+ This is the default action if none is specified.
-A tag can be used when installing packages as a reference to a version instead
-of using a specific version number:
+A tag can be used when installing packages as a reference to a version instead of using a specific version number:
```bash
npm install @
@@ -45,28 +39,22 @@ When installing dependencies, a preferred tagged version may be specified:
npm install --tag
```
-(This also applies to any other commands that resolve and install
-dependencies, such as `npm dedupe`, `npm update`, and `npm audit fix`.)
+(This also applies to any other commands that resolve and install dependencies, such as `npm dedupe`, `npm update`, and `npm audit fix`.)
-Publishing a package sets the `latest` tag to the published version unless the
-`--tag` option is used. For example, `npm publish --tag=beta`.
+Publishing a package sets the `latest` tag to the published version unless the `--tag` option is used.
+For example, `npm publish --tag=beta`.
-By default, `npm install ` (without any `@` or `@`
-specifier) installs the `latest` tag.
+By default, `npm install ` (without any `@` or `@` specifier) installs the `latest` tag.
### Purpose
Tags can be used to provide an alias instead of version numbers.
-For example, a project might choose to have multiple streams of development
-and use a different tag for each stream, e.g., `stable`, `beta`, `dev`,
+For example, a project might choose to have multiple streams of development and use a different tag for each stream, e.g., `stable`, `beta`, `dev`,
`canary`.
-By default, the `latest` tag is used by npm to identify the current version
-of a package, and `npm install ` (without any `@` or `@`
-specifier) installs the `latest` tag. Typically, projects only use the
-`latest` tag for stable release versions, and use other tags for unstable
-versions such as prereleases.
+By default, the `latest` tag is used by npm to identify the current version of a package, and `npm install ` (without any `@` or `@` specifier) installs the `latest` tag.
+Typically, projects only use the `latest` tag for stable release versions, and use other tags for unstable versions such as prereleases.
The `next` tag is used by some projects to identify the upcoming version.
@@ -74,19 +62,15 @@ Other than `latest`, no tag has any special significance to npm itself.
### Caveats
-This command used to be known as `npm tag`, which only created new tags,
-and so had a different syntax.
+This command used to be known as `npm tag`, which only created new tags, and so had a different syntax.
-Tags must share a namespace with version numbers, because they are
-specified in the same slot: `npm install @` vs
-`npm install @`.
+Tags must share a namespace with version numbers, because they are specified in the same slot: `npm install @` vs `npm install @`.
-Tags that can be interpreted as valid semver ranges will be rejected. For
-example, `v1.4` cannot be used as a tag, because it is interpreted by
-semver as `>=1.4.0 <1.5.0`. See .
+Tags that can be interpreted as valid semver ranges will be rejected.
+For example, `v1.4` cannot be used as a tag, because it is interpreted by semver as `>=1.4.0 <1.5.0`.
+See .
-The simplest way to avoid semver problems with tags is to use tags that do
-not begin with a number or the letter `v`.
+The simplest way to avoid semver problems with tags is to use tags that do not begin with a number or the letter `v`.
### Configuration
@@ -95,9 +79,9 @@ not begin with a number or the letter `v`.
* 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:
@@ -106,9 +90,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -120,13 +104,14 @@ This value is not exported to the environment for child processes.
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.
@@ -137,9 +122,10 @@ This value is not exported to the environment for child processes.
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.
diff --git a/deps/npm/docs/content/commands/npm-docs.md b/deps/npm/docs/content/commands/npm-docs.md
index f41e6770df0af5..21bbcbd58c3d76 100644
--- a/deps/npm/docs/content/commands/npm-docs.md
+++ b/deps/npm/docs/content/commands/npm-docs.md
@@ -14,11 +14,9 @@ alias: home
### Description
-This command tries to guess at the likely location of a package's
-documentation URL, and then tries to open it using the
-[`--browser` config](/using-npm/config#browser) param. You can pass multiple
-package names at once. If no package name is provided, it will search for a
-`package.json` in the current folder and use the `name` property.
+This command tries to guess at the likely location of a package's documentation URL, and then tries to open it using the [`--browser` config](/using-npm/config#browser) param.
+You can pass multiple package names at once.
+If no package name is provided, it will search for a `package.json` in the current folder and use the `name` property.
### Configuration
@@ -50,9 +48,9 @@ The base URL of the npm registry.
* 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:
@@ -61,9 +59,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -75,13 +73,14 @@ This value is not exported to the environment for child processes.
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.
@@ -92,9 +91,10 @@ This value is not exported to the environment for child processes.
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.
diff --git a/deps/npm/docs/content/commands/npm-doctor.md b/deps/npm/docs/content/commands/npm-doctor.md
index a96036a773b2a1..848f38a1c8b102 100644
--- a/deps/npm/docs/content/commands/npm-doctor.md
+++ b/deps/npm/docs/content/commands/npm-doctor.md
@@ -14,96 +14,71 @@ Note: This command is unaware of workspaces.
### Description
-`npm doctor` runs a set of checks to ensure that your npm installation has
-what it needs to manage your JavaScript packages. npm is mostly a
-standalone tool, but it does have some basic requirements that must be met:
+`npm doctor` runs a set of checks to ensure that your npm installation has what it needs to manage your JavaScript packages.
+npm is mostly a standalone tool, but it does have some basic requirements that must be met:
+ Node.js and git must be executable by npm.
-+ The primary npm registry, `registry.npmjs.com`, or another service that
- uses the registry API, is available.
-+ The directories that npm uses, `node_modules` (both locally and
- globally), exist and can be written by the current user.
++ The primary npm registry, `registry.npmjs.com`, or another service that uses the registry API, is available.
++ The directories that npm uses, `node_modules` (both locally and globally), exist and can be written by the current user.
+ The npm cache exists, and the package tarballs within it aren't corrupt.
-Without all of these working properly, npm may not work properly. Many
-issues are often attributable to things that are outside npm's code base,
-so `npm doctor` confirms that the npm installation is in a good state.
+Without all of these working properly, npm may not work properly.
+Many issues are often attributable to things that are outside npm's code base, so `npm doctor` confirms that the npm installation is in a good state.
-Also, in addition to this, there are also very many issue reports due to
-using old versions of npm. Since npm is constantly improving, running
-`npm@latest` is better than an old version.
+Also, in addition to this, there are also very many issue reports due to using old versions of npm.
+Since npm is constantly improving, running `npm@latest` is better than an old version.
-`npm doctor` verifies the following items in your environment, and if
-there are any recommended changes, it will display them. By default npm
-runs all of these checks. You can limit what checks are ran by
-specifying them as extra arguments.
+`npm doctor` verifies the following items in your environment, and if there are any recommended changes, it will display them.
+By default npm runs all of these checks.
+You can limit what checks are ran by specifying them as extra arguments.
#### `Connecting to the registry`
By default, npm installs from the primary npm registry,
-`registry.npmjs.org`. `npm doctor` hits a special connection testing
-endpoint within the registry. This can also be checked with `npm ping`.
-If this check fails, you may be using a proxy that needs to be
-configured, or may need to talk to your IT staff to get access over
-HTTPS to `registry.npmjs.org`.
+`registry.npmjs.org`.
+`npm doctor` hits a special connection testing endpoint within the registry.
+This can also be checked with `npm ping`.
+If this check fails, you may be using a proxy that needs to be configured, or may need to talk to your IT staff to get access over HTTPS to `registry.npmjs.org`.
-This check is done against whichever registry you've configured (you can
-see what that is by running `npm config get registry`), and if you're using
-a private registry that doesn't support the `/whoami` endpoint supported by
-the primary registry, this check may fail.
+This check is done against whichever registry you've configured (you can see what that is by running `npm config get registry`), and if you're using a private registry that doesn't support the `/whoami` endpoint supported by the primary registry, this check may fail.
#### `Checking npm version`
-While Node.js may come bundled with a particular version of npm, it's the
-policy of the CLI team that we recommend all users run `npm@latest` if they
-can. As the CLI is maintained by a small team of contributors, there are
-only resources for a single line of development, so npm's own long-term
-support releases typically only receive critical security and regression
-fixes. The team believes that the latest tested version of npm is almost
-always likely to be the most functional and defect-free version of npm.
+While Node.js may come bundled with a particular version of npm, it's the policy of the CLI team that we recommend all users run `npm@latest` if they can.
+As the CLI is maintained by a small team of contributors, there are only resources for a single line of development, so npm's own long-term support releases typically only receive critical security and regression fixes.
+The team believes that the latest tested version of npm is almost always likely to be the most functional and defect-free version of npm.
#### `Checking node version`
-For most users, in most circumstances, the best version of Node will be the
-latest long-term support (LTS) release. Those of you who want access to new
-ECMAscript features or bleeding-edge changes to Node's standard library may
-be running a newer version, and some may be required to run an older
-version of Node because of enterprise change control policies. That's OK!
+For most users, in most circumstances, the best version of Node will be the latest long-term support (LTS) release.
+Those of you who want access to new ECMAscript features or bleeding-edge changes to Node's standard library may be running a newer version, and some may be required to run an older version of Node because of enterprise change control policies.
+That's OK!
But in general, the npm team recommends that most users run Node.js LTS.
#### `Checking configured npm registry`
-You may be installing from private package registries for your project or
-company. That's great! Others may be following tutorials or StackOverflow
-questions in an effort to troubleshoot problems you may be having.
-Sometimes, this may entail changing the registry you're pointing at. This
-part of `npm doctor` just lets you, and maybe whoever's helping you with
-support, know that you're not using the default registry.
+You may be installing from private package registries for your project or company.
+That's great! Others may be following tutorials or StackOverflow questions in an effort to troubleshoot problems you may be having.
+Sometimes, this may entail changing the registry you're pointing at.
+This part of `npm doctor` just lets you, and maybe whoever's helping you with support, know that you're not using the default registry.
#### `Checking for git executable in PATH`
-While it's documented in the README, it may not be obvious that npm needs
-Git installed to do many of the things that it does. Also, in some cases
-– especially on Windows – you may have Git set up in such a way that it's
-not accessible via your `PATH` so that npm can find it. This check ensures
-that Git is available.
+While it's documented in the README, it may not be obvious that npm needs Git installed to do many of the things that it does.
+Also, in some cases – especially on Windows – you may have Git set up in such a way that it's not accessible via your `PATH` so that npm can find it.
+This check ensures that Git is available.
#### Permissions checks
* Your cache must be readable and writable by the user running npm.
* Global package binaries must be writable by the user running npm.
-* Your local `node_modules` path, if you're running `npm doctor` with a
- project directory, must be readable and writable by the user running npm.
+* Your local `node_modules` path, if you're running `npm doctor` with a project directory, must be readable and writable by the user running npm.
#### Validate the checksums of cached packages
-When an npm package is published, the publishing process generates a
-checksum that npm uses at install time to verify that the package didn't
-get corrupted in transit. `npm doctor` uses these checksums to validate the
-package tarballs in your local cache (you can see where that cache is
-located with `npm config get cache`). In the event that there are corrupt
-packages in your cache, you should probably run `npm cache clean -f` and
-reset the cache.
+When an npm package is published, the publishing process generates a checksum that npm uses at install time to verify that the package didn't get corrupted in transit.
+`npm doctor` uses these checksums to validate the package tarballs in your local cache (you can see where that cache is located with `npm config get cache`).
+In the event that there are corrupt packages in your cache, you should probably run `npm cache clean -f` and reset the cache.
### Configuration
diff --git a/deps/npm/docs/content/commands/npm-edit.md b/deps/npm/docs/content/commands/npm-edit.md
index a26df11b5dd07e..dad77b0b7f3038 100644
--- a/deps/npm/docs/content/commands/npm-edit.md
+++ b/deps/npm/docs/content/commands/npm-edit.md
@@ -14,16 +14,11 @@ Note: This command is unaware of workspaces.
### Description
-Selects a dependency in the current project and opens the package folder in
-the default editor (or whatever you've configured as the npm `editor`
-config -- see [`npm-config`](npm-config).)
+Selects a dependency in the current project and opens the package folder in the default editor (or whatever you've configured as the npm `editor` config -- see [`npm-config`](npm-config).)
-After it has been edited, the package is rebuilt so as to pick up any
-changes in compiled packages.
+After it has been edited, the package is rebuilt so as to pick up any changes in compiled packages.
-For instance, you can do `npm install connect` to install connect
-into your package, and then `npm edit connect` to make a few
-changes to your locally installed copy.
+For instance, you can do `npm install connect` to install connect into your package, and then `npm edit connect` to make a few changes to your locally installed copy.
### Configuration
diff --git a/deps/npm/docs/content/commands/npm-exec.md b/deps/npm/docs/content/commands/npm-exec.md
index 7869befcdd1bf4..ac5b2a471a74b8 100644
--- a/deps/npm/docs/content/commands/npm-exec.md
+++ b/deps/npm/docs/content/commands/npm-exec.md
@@ -17,58 +17,34 @@ alias: x
### Description
-This command allows you to run an arbitrary command from an npm package
-(either one installed locally, or fetched remotely), in a similar context
-as running it via `npm run`.
-
-Run without positional arguments or `--call`, this allows you to
-interactively run commands in the same sort of shell environment that
-`package.json` scripts are run. Interactive mode is not supported in CI
-environments when standard input is a TTY, to prevent hangs.
-
-Whatever packages are specified by the `--package` option will be
-provided in the `PATH` of the executed command, along with any locally
-installed package executables. The `--package` option may be
-specified multiple times, to execute the supplied command in an environment
-where all specified packages are available.
-
-If any requested packages are not present in the local project
-dependencies, then a prompt is printed, which can be suppressed by
-providing either `--yes` or `--no`. When standard input is not a TTY or a
-CI environment is detected, `--yes` is assumed. The requested packages are
-installed to a folder in the npm cache, which is added to the `PATH`
-environment variable in the executed process.
-
-Package names provided without a specifier will be matched with whatever
-version exists in the local project. Package names with a specifier will
-only be considered a match if they have the exact same name and version as
-the local dependency.
-
-If no `-c` or `--call` option is provided, then the positional arguments
-are used to generate the command string. If no `--package` options
-are provided, then npm will attempt to determine the executable name from
-the package specifier provided as the first positional argument according
-to the following heuristic:
-
-- If the package has a single entry in its `bin` field in `package.json`,
- or if all entries are aliases of the same command, then that command
- will be used.
-- If the package has multiple `bin` entries, and one of them matches the
- unscoped portion of the `name` field, then that command will be used.
-- If this does not result in exactly one option (either because there are
- no bin entries, or none of them match the `name` of the package), then
- `npm exec` exits with an error.
-
-To run a binary _other than_ the named binary, specify one or more
-`--package` options, which will prevent npm from inferring the package from
-the first command argument.
+This command allows you to run an arbitrary command from an npm package (either one installed locally, or fetched remotely), in a similar context as running it via `npm run`.
+
+Run without positional arguments or `--call`, this allows you to interactively run commands in the same sort of shell environment that `package.json` scripts are run.
+Interactive mode is not supported in CI environments when standard input is a TTY, to prevent hangs.
+
+Whatever packages are specified by the `--package` option will be provided in the `PATH` of the executed command, along with any locally installed package executables.
+The `--package` option may be specified multiple times, to execute the supplied command in an environment where all specified packages are available.
+
+If any requested packages are not present in the local project dependencies, then a prompt is printed, which can be suppressed by providing either `--yes` or `--no`.
+When standard input is not a TTY or a CI environment is detected, `--yes` is assumed.
+The requested packages are installed to a folder in the npm cache, which is added to the `PATH` environment variable in the executed process.
+
+Package names provided without a specifier will be matched with whatever version exists in the local project.
+Package names with a specifier will only be considered a match if they have the exact same name and version as the local dependency.
+
+If no `-c` or `--call` option is provided, then the positional arguments are used to generate the command string.
+If no `--package` options are provided, then npm will attempt to determine the executable name from the package specifier provided as the first positional argument according to the following heuristic:
+
+- If the package has a single entry in its `bin` field in `package.json`, or if all entries are aliases of the same command, then that command will be used.
+- If the package has multiple `bin` entries, and one of them matches the unscoped portion of the `name` field, then that command will be used.
+- If this does not result in exactly one option (either because there are no bin entries, or none of them match the `name` of the package), then `npm exec` exits with an error.
+
+To run a binary _other than_ the named binary, specify one or more `--package` options, which will prevent npm from inferring the package from the first command argument.
### `npx` vs `npm exec`
-When run via the `npx` binary, all flags and options *must* be set prior to
-any positional arguments. When run via `npm exec`, a double-hyphen `--`
-flag can be used to suppress npm's parsing of switches and options that
-should be sent to the executed command.
+When run via the `npx` binary, all flags and options *must* be set prior to any positional arguments.
+When run via `npm exec`, a double-hyphen `--` flag can be used to suppress npm's parsing of switches and options that should be sent to the executed command.
For example:
@@ -76,34 +52,29 @@ For example:
$ npx foo@latest bar --package=@npmcli/foo
```
-In this case, npm will resolve the `foo` package name, and run the
-following command:
+In this case, npm will resolve the `foo` package name, and run the following command:
```
$ foo bar --package=@npmcli/foo
```
-Since the `--package` option comes _after_ the positional arguments, it is
-treated as an argument to the executed command.
+Since the `--package` option comes _after_ the positional arguments, it is treated as an argument to the executed command.
-In contrast, due to npm's argument parsing logic, running this command is
-different:
+In contrast, due to npm's argument parsing logic, running this command is different:
```
$ npm exec foo@latest bar --package=@npmcli/foo
```
-In this case, npm will parse the `--package` option first, resolving the
-`@npmcli/foo` package. Then, it will execute the following command in that
-context:
+In this case, npm will parse the `--package` option first, resolving the `@npmcli/foo` package.
+Then, it will execute the following command in that context:
```
$ foo@latest bar
```
-The double-hyphen character is recommended to explicitly tell npm to stop
-parsing command line options and switches. The following command would
-thus be equivalent to the `npx` command above:
+The double-hyphen character is recommended to explicitly tell npm to stop parsing command line options and switches.
+The following command would thus be equivalent to the `npx` command above:
```
$ npm exec -- foo@latest bar --package=@npmcli/foo
@@ -116,7 +87,8 @@ $ npm exec -- foo@latest bar --package=@npmcli/foo
* Default:
* Type: String (can be set multiple times)
-The package or packages to install for [`npm exec`](/commands/npm-exec)
+The package or packages to install for [`npm
+exec`](/commands/npm-exec)
@@ -125,8 +97,9 @@ The package or packages to install for [`npm exec`](/commands/npm-exec)
* Default: ""
* Type: String
-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.
```bash
npm exec --package yo --package generator-node --call "yo node"
@@ -139,9 +112,9 @@ npm exec --package yo --package generator-node --call "yo node"
* 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:
@@ -150,9 +123,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -164,13 +137,14 @@ This value is not exported to the environment for child processes.
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.
@@ -181,24 +155,23 @@ This value is not exported to the environment for child processes.
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.
### Examples
-Run the version of `tap` in the local dependencies, with the provided
-arguments:
+Run the version of `tap` in the local dependencies, with the provided arguments:
```
$ npm exec -- tap --bail test/foo.js
$ npx tap --bail test/foo.js
```
-Run a command _other than_ the command whose name matches the package name
-by specifying a `--package` option:
+Run a command _other than_ the command whose name matches the package name by specifying a `--package` option:
```
$ npm exec --package=foo -- bar --bar-argument
@@ -215,13 +188,8 @@ $ npx -c 'eslint && say "hooray, lint passed"'
### Workspaces support
-You may use the [`workspace`](/using-npm/config#workspace) or
-[`workspaces`](/using-npm/config#workspaces) configs in order to run an
-arbitrary command from an npm package (either one installed locally, or fetched
-remotely) in the context of the specified workspaces.
-If no positional argument or `--call` option is provided, it will open an
-interactive subshell in the context of each of these configured workspaces one
-at a time.
+You may use the [`workspace`](/using-npm/config#workspace) or [`workspaces`](/using-npm/config#workspaces) configs in order to run an arbitrary command from an npm package (either one installed locally, or fetched remotely) in the context of the specified workspaces.
+If no positional argument or `--call` option is provided, it will open an interactive subshell in the context of each of these configured workspaces one at a time.
Given a project with configured workspaces, e.g:
@@ -237,8 +205,8 @@ Given a project with configured workspaces, e.g:
`-- package.json
```
-Assuming the workspace configuration is properly set up at the root level
-`package.json` file. e.g:
+Assuming the workspace configuration is properly set up at the root level `package.json` file.
+e.g:
```
{
@@ -246,10 +214,7 @@ Assuming the workspace configuration is properly set up at the root level
}
```
-You can execute an arbitrary command from a package in the context of each of
-the configured workspaces when using the
-[`workspaces` config options](/using-npm/config#workspace), in this example
-we're using **eslint** to lint any js file found within each workspace folder:
+You can execute an arbitrary command from a package in the context of each of the configured workspaces when using the [`workspaces` config options](/using-npm/config#workspace), in this example we're using **eslint** to lint any js file found within each workspace folder:
```
npm exec --ws -- eslint ./*.js
@@ -257,17 +222,14 @@ npm exec --ws -- eslint ./*.js
#### Filtering workspaces
-It's also possible to execute a command in a single workspace using the
-`workspace` config along with a name or directory path:
+It's also possible to execute a command in a single workspace using the `workspace` config along with a name or directory path:
```
npm exec --workspace=a -- eslint ./*.js
```
-The `workspace` config can also be specified multiple times in order to run a
-specific script in the context of multiple workspaces. When defining values for
-the `workspace` config in the command line, it also possible to use `-w` as a
-shorthand, e.g:
+The `workspace` config can also be specified multiple times in order to run a specific script in the context of multiple workspaces.
+When defining values for the `workspace` config in the command line, it also possible to use `-w` as a shorthand, e.g:
```
npm exec -w a -w b -- eslint ./*.js
@@ -278,69 +240,60 @@ This last command will run the `eslint` command in both `./packages/a` and
### Compatibility with Older npx Versions
-The `npx` binary was rewritten in npm v7.0.0, and the standalone `npx`
-package deprecated at that time. `npx` uses the `npm exec`
-command instead of a separate argument parser and install process, with
-some affordances to maintain backwards compatibility with the arguments it
-accepted in previous versions.
+The `npx` binary was rewritten in npm v7.0.0, and the standalone `npx` package deprecated at that time.
+`npx` uses the `npm exec` command instead of a separate argument parser and install process, with some affordances to maintain backwards compatibility with the arguments it accepted in previous versions.
This resulted in some shifts in its functionality:
- Any `npm` config value may be provided.
- To prevent security and user-experience problems from mistyping package
- names, `npx` prompts before installing anything. Suppress this
- prompt with the `-y` or `--yes` option.
+ names, `npx` prompts before installing anything.
+ Suppress this prompt with the `-y` or `--yes` option.
- The `--no-install` option is deprecated, and will be converted to `--no`.
- Shell fallback functionality is removed, as it is not advisable.
-- The `-p` argument is a shorthand for `--parseable` in npm, but shorthand
- for `--package` in npx. This is maintained, but only for the `npx`
- executable.
-- The `--ignore-existing` option is removed. Locally installed bins are
- always present in the executed process `PATH`.
-- The `--npm` option is removed. `npx` will always use the `npm` it ships
- with.
+- The `-p` argument is a shorthand for `--parseable` in npm, but shorthand for `--package` in npx.
+ This is maintained, but only for the `npx` executable.
+- The `--ignore-existing` option is removed.
+ Locally installed bins are always present in the executed process `PATH`.
+- The `--npm` option is removed.
+ `npx` will always use the `npm` it ships with.
- The `--node-arg` and `-n` options are removed.
- The `--always-spawn` option is redundant, and thus removed.
-- The `--shell` option is replaced with `--script-shell`, but maintained
- in the `npx` executable for backwards compatibility.
+- The `--shell` option is replaced with `--script-shell`, but maintained in the `npx` executable for backwards compatibility.
### A note on caching
-The npm cli utilizes its internal package cache when using the package
-name specified. You can use the following to change how and when the
-cli uses this cache. See [`npm cache`](/commands/npm-cache) for more on
-how the cache works.
+The npm cli utilizes its internal package cache when using the package name specified.
+You can use the following to change how and when the cli uses this cache.
+See [`npm cache`](/commands/npm-cache) for more on how the cache works.
#### prefer-online
-Forces staleness checks for packages, making the cli look for updates
-immediately even if the package is already in the cache.
+Forces staleness checks for packages, making the cli look for updates immediately even if the package is already in the cache.
#### prefer-offline
-Bypasses staleness checks for packages. Missing data will still be
-requested from the server. To force full offline mode, use `offline`.
+Bypasses staleness checks for packages.
+Missing data will still be requested from the server.
+To force full offline mode, use `offline`.
#### offline
-Forces full offline mode. Any packages not locally cached will result in
-an error.
+Forces full offline mode.
+Any packages not locally cached will result in an error.
#### 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
* Path to a workspace directory
-* Path to a parent workspace directory (will result to selecting all of the
- nested workspaces)
+* Path to a parent workspace directory (will result to selecting all of the nested workspaces)
This value is not exported to the environment for child processes.
@@ -350,8 +303,7 @@ This value is not exported to the environment for child processes.
* Type: Boolean
* Default: `false`
-Run scripts in the context of all configured workspaces for the current
-project.
+Run scripts in the context of all configured workspaces for the current project.
### See Also
diff --git a/deps/npm/docs/content/commands/npm-explain.md b/deps/npm/docs/content/commands/npm-explain.md
index b0f0ebcb680831..c5a89ca793906d 100644
--- a/deps/npm/docs/content/commands/npm-explain.md
+++ b/deps/npm/docs/content/commands/npm-explain.md
@@ -14,11 +14,9 @@ alias: why
### Description
-This command will print the chain of dependencies causing a given package
-to be installed in the current project.
+This command will print the chain of dependencies causing a given package to be installed in the current project.
-If one or more package specs are provided, then only packages matching
-one of the specifiers will have their relationships explained.
+If one or more package specs are provided, then only packages matching one of the specifiers will have their relationships explained.
The package spec can also refer to a folder within `./node_modules`
@@ -38,10 +36,8 @@ node_modules/tacks/node_modules/glob
dev tacks@"^1.3.0" from the root project
```
-To explain just the package residing at a specific folder, pass that as the
-argument to the command. This can be useful when trying to figure out
-exactly why a given dependency is being duplicated to satisfy conflicting
-version requirements within the project.
+To explain just the package residing at a specific folder, pass that as the argument to the command.
+This can be useful when trying to figure out exactly why a given dependency is being duplicated to satisfy conflicting version requirements within the project.
```bash
$ npm explain node_modules/nyc/node_modules/find-up
@@ -62,8 +58,8 @@ node_modules/nyc/node_modules/find-up
Whether or not to output JSON data, rather than the normal output.
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
+* 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.
@@ -74,9 +70,9 @@ Not supported by all npm commands.
* 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:
@@ -85,9 +81,9 @@ Valid values for the `workspace` config are either:
* 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.
diff --git a/deps/npm/docs/content/commands/npm-explore.md b/deps/npm/docs/content/commands/npm-explore.md
index e25e760d08d70a..be37de759c83f2 100644
--- a/deps/npm/docs/content/commands/npm-explore.md
+++ b/deps/npm/docs/content/commands/npm-explore.md
@@ -16,25 +16,22 @@ Note: This command is unaware of workspaces.
Spawn a subshell in the directory of the installed package specified.
-If a command is specified, then it is run in the subshell, which then
-immediately terminates.
+If a command is specified, then it is run in the subshell, which then immediately terminates.
-This is particularly handy in the case of git submodules in the
-`node_modules` folder:
+This is particularly handy in the case of git submodules in the `node_modules` folder:
```bash
npm explore some-dependency -- git pull origin master
```
-Note that the package is *not* automatically rebuilt afterwards, so be
-sure to use `npm rebuild ` if you make any changes.
+Note that the package is *not* automatically rebuilt afterwards, so be sure to use `npm rebuild ` if you make any changes.
### Configuration
#### `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.
diff --git a/deps/npm/docs/content/commands/npm-find-dupes.md b/deps/npm/docs/content/commands/npm-find-dupes.md
index bf1a474033cc6d..25cf8a32b1b714 100644
--- a/deps/npm/docs/content/commands/npm-find-dupes.md
+++ b/deps/npm/docs/content/commands/npm-find-dupes.md
@@ -12,8 +12,7 @@ npm find-dupes
### Description
-Runs `npm dedupe` in `--dry-run` mode, making npm only output the
-duplications, without actually changing the package tree.
+Runs `npm dedupe` in `--dry-run` mode, making npm only output the duplications, without actually changing the package tree.
### Configuration
@@ -23,11 +22,12 @@ duplications, without actually changing the package tree.
* 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.
@@ -38,10 +38,10 @@ link in place, unhoisted.
* 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`.
@@ -52,8 +52,8 @@ de-duplicating. Sets `--install-strategy=nested`.
* 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`.
@@ -63,18 +63,19 @@ on deeper dependencies. Sets `--install-strategy=shallow`.
* 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.
+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.
+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.
+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.
@@ -83,15 +84,16 @@ this warning is treated as a failure.
* 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
- 'production', otherwise empty.
+ 'production'; otherwise, empty.
* Type: "dev", "optional", or "peer" (can be set multiple times)
Dependency types to omit from the installation tree on disk.
@@ -100,25 +102,29 @@ 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 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 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=`.
-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.
@@ -129,10 +135,10 @@ the order in which omit/include are specified on the command-line.
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.
@@ -141,10 +147,10 @@ run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
+When "true" submit audit reports alongside the current npm command to
+the default registry and all registries configured for scopes. See
+the documentation for [`npm audit`](/commands/npm-audit) for details
+on what is submitted.
@@ -156,9 +162,9 @@ submitted.
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.
@@ -168,8 +174,8 @@ systems.
* 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`](/commands/npm-fund) for details.
+acknowledging the number of dependencies looking for funding. See
+[`npm fund`](/commands/npm-fund) for details.
@@ -178,9 +184,9 @@ fund`](/commands/npm-fund) for details.
* 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:
@@ -189,9 +195,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -203,13 +209,14 @@ This value is not exported to the environment for child processes.
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.
@@ -220,9 +227,10 @@ This value is not exported to the environment for child processes.
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.
@@ -231,9 +239,9 @@ This value is not exported to the environment for child processes.
* 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.
diff --git a/deps/npm/docs/content/commands/npm-fund.md b/deps/npm/docs/content/commands/npm-fund.md
index a2c7bce3e9214f..235d626c050231 100644
--- a/deps/npm/docs/content/commands/npm-fund.md
+++ b/deps/npm/docs/content/commands/npm-fund.md
@@ -12,31 +12,23 @@ npm fund []
### Description
-This command retrieves information on how to fund the dependencies of a
-given project. If no package name is provided, it will list all
-dependencies that are looking for funding in a tree structure, listing
-the type of funding and the url to visit. If a package name is provided
-then it tries to open its funding url using the
-[`--browser` config](/using-npm/config#browser) param; if there are multiple
-funding sources for the package, the user will be instructed to pass the
+This command retrieves information on how to fund the dependencies of a given project.
+If no package name is provided, it will list all dependencies that are looking for funding in a tree structure, listing the type of funding and the url to visit.
+If a package name is provided then it tries to open its funding url using the [`--browser` config](/using-npm/config#browser) param; if there are multiple funding sources for the package, the user will be instructed to pass the
`--which` option to disambiguate.
-The list will avoid duplicated entries and will stack all packages that
-share the same url as a single entry. Thus, the list does not have the
-same shape of the output from `npm ls`.
+The list will avoid duplicated entries and will stack all packages that share the same url as a single entry.
+Thus, the list does not have the same shape of the output from `npm ls`.
#### Example
### Workspaces support
-It's possible to filter the results to only include a single workspace
-and its dependencies using the
-[`workspace` config](/using-npm/config#workspace) option.
+It's possible to filter the results to only include a single workspace and its dependencies using the [`workspace` config](/using-npm/config#workspace) option.
#### Example:
-Here's an example running `npm fund` in a project with a configured
-workspace `a`:
+Here's an example running `npm fund` in a project with a configured workspace `a`:
```bash
$ npm fund
@@ -51,8 +43,7 @@ test-workspaces-fund@1.0.0
`-- bar@2.0.0
```
-And here is an example of the expected result when filtering only by a
-specific workspace `a` in the same project:
+And here is an example of the expected result when filtering only by a specific workspace `a` in the same project:
```bash
$ npm fund -w a
@@ -72,8 +63,8 @@ test-workspaces-fund@1.0.0
Whether or not to output JSON data, rather than the normal output.
-* In `npm pkg set` it enables parsing set values with JSON.parse() before
- saving them to your `package.json`.
+* 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.
@@ -95,12 +86,13 @@ 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.
@@ -109,9 +101,9 @@ false, it uses ascii characters instead of unicode glyphs.
* 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:
@@ -120,9 +112,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -131,7 +123,8 @@ This value is not exported to the environment for child processes.
* 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.
diff --git a/deps/npm/docs/content/commands/npm-help-search.md b/deps/npm/docs/content/commands/npm-help-search.md
index 5bc4602ef9811f..caf761750c5551 100644
--- a/deps/npm/docs/content/commands/npm-help-search.md
+++ b/deps/npm/docs/content/commands/npm-help-search.md
@@ -14,14 +14,12 @@ Note: This command is unaware of workspaces.
### Description
-This command will search the npm markdown documentation files for the terms
-provided, and then list the results, sorted by relevance.
+This command will search the npm markdown documentation files for the terms provided, and then list the results, sorted by relevance.
If only one result is found, then it will show that help topic.
-If the argument to `npm help` is not a known help topic, then it will call
-`help-search`. It is rarely if ever necessary to call this command
-directly.
+If the argument to `npm help` is not a known help topic, then it will call `help-search`.
+It is rarely if ever necessary to call this command directly.
### Configuration
diff --git a/deps/npm/docs/content/commands/npm-help.md b/deps/npm/docs/content/commands/npm-help.md
index bc2c8762eefdae..6e935670c6d666 100644
--- a/deps/npm/docs/content/commands/npm-help.md
+++ b/deps/npm/docs/content/commands/npm-help.md
@@ -18,10 +18,8 @@ Note: This command is unaware of workspaces.
If supplied a topic, then show the appropriate documentation page.
-If the topic does not exist, or if multiple terms are provided, then npm
-will run the `help-search` command to find a match. Note that, if
-`help-search` finds a single subject, then it will run `help` on that
-topic, so unique matches are equivalent to specifying a topic name.
+If the topic does not exist, or if multiple terms are provided, then npm will run the `help-search` command to find a match.
+Note that, if `help-search` finds a single subject, then it will run `help` on that topic, so unique matches are equivalent to specifying a topic name.
### Configuration
@@ -32,7 +30,8 @@ topic, so unique matches are equivalent to specifying a topic name.
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.
diff --git a/deps/npm/docs/content/commands/npm-init.md b/deps/npm/docs/content/commands/npm-init.md
index 9e0e6e0f42b913..3049eeead613d2 100644
--- a/deps/npm/docs/content/commands/npm-init.md
+++ b/deps/npm/docs/content/commands/npm-init.md
@@ -15,16 +15,12 @@ aliases: create, innit
### Description
-`npm init ` can be used to set up a new or existing npm
-package.
+`npm init ` can be used to set up a new or existing npm package.
`initializer` in this case is an npm package named `create-`,
-which will be installed by [`npm-exec`](/commands/npm-exec), and then have its
-main bin executed -- presumably creating or updating `package.json` and
-running any other initialization-related operations.
+which will be installed by [`npm-exec`](/commands/npm-exec), and then have its main bin executed -- presumably creating or updating `package.json` and running any other initialization-related operations.
-The init command is transformed to a corresponding `npm exec` operation as
-follows:
+The init command is transformed to a corresponding `npm exec` operation as follows:
* `npm init foo` -> `npm exec create-foo`
* `npm init @usr/foo` -> `npm exec @usr/create-foo`
@@ -32,46 +28,37 @@ follows:
* `npm init @usr@2.0.0` -> `npm exec @usr/create@2.0.0`
* `npm init @usr/foo@2.0.0` -> `npm exec @usr/create-foo@2.0.0`
-If the initializer is omitted (by just calling `npm init`), init will fall
-back to legacy init behavior. It will ask you a bunch of questions, and
-then write a package.json for you. It will attempt to make reasonable
-guesses based on existing fields, dependencies, and options selected. It is
-strictly additive, so it will keep any fields and values that were already
-set. You can also use `-y`/`--yes` to skip the questionnaire altogether. If
-you pass `--scope`, it will create a scoped package.
-
-*Note:* if a user already has the `create-` package
-globally installed, that will be what `npm init` uses. If you want npm
-to use the latest version, or another specific version you must specify
-it:
-
-* `npm init foo@latest` # fetches and runs the latest `create-foo` from
- the registry
+If the initializer is omitted (by just calling `npm init`), init will fall back to legacy init behavior.
+It will ask you a bunch of questions, and then write a package.json for you.
+It will attempt to make reasonable guesses based on existing fields, dependencies, and options selected.
+It is strictly additive, so it will keep any fields and values that were already set.
+You can also use `-y`/`--yes` to skip the questionnaire altogether.
+If you pass `--scope`, it will create a scoped package.
+
+*Note:* if a user already has the `create-` package globally installed, that will be what `npm init` uses.
+If you want npm to use the latest version, or another specific version you must specify it:
+
+* `npm init foo@latest` # fetches and runs the latest `create-foo` from the registry
* `npm init foo@1.2.3` # runs `create-foo@1.2.3` specifically
#### Forwarding additional options
-Any additional options will be passed directly to the command, so `npm init
-foo -- --hello` will map to `npm exec -- create-foo --hello`.
+Any additional options will be passed directly to the command, so `npm init foo -- --hello` will map to `npm exec -- create-foo --hello`.
-To better illustrate how options are forwarded, here's a more evolved
-example showing options passed to both the **npm cli** and a create package,
-both following commands are equivalent:
+To better illustrate how options are forwarded, here's a more evolved example showing options passed to both the **npm cli** and a create package, both following commands are equivalent:
- `npm init foo -y --registry= -- --hello -a`
- `npm exec -y --registry= -- create-foo --hello -a`
### Examples
-Create a new React-based project using
-[`create-react-app`](https://npm.im/create-react-app):
+Create a new React-based project using [`create-react-app`](https://npm.im/create-react-app):
```bash
$ npm init react-app ./my-react-app
```
-Create a new `esm`-compatible package using
-[`create-esm`](https://npm.im/create-esm):
+Create a new `esm`-compatible package using [`create-esm`](https://npm.im/create-esm):
```bash
$ mkdir my-esm-lib && cd my-esm-lib
@@ -99,11 +86,8 @@ $ npm init --init-private -y
### Workspaces support
-It's possible to create a new workspace within your project by using the
-`workspace` config option. When using `npm init -w ` the cli will
-create the folders and boilerplate expected while also adding a reference
-to your project `package.json` `"workspaces": []` property in order to make
-sure that new generated **workspace** is properly set up as such.
+It's possible to create a new workspace within your project by using the `workspace` config option.
+When using `npm init -w ` the cli will create the folders and boilerplate expected while also adding a reference to your project `package.json` `"workspaces": []` property in order to make sure that new generated **workspace** is properly set up as such.
Given a project with no workspaces, e.g:
@@ -118,8 +102,7 @@ You may generate a new workspace using the legacy init:
$ npm init -w packages/a
```
-That will generate a new folder and `package.json` file, while also updating
-your top-level `package.json` to add the reference to this new workspace:
+That will generate a new folder and `package.json` file, while also updating your top-level `package.json` to add the reference to this new workspace:
```
.
@@ -129,23 +112,15 @@ your top-level `package.json` to add the reference to this new workspace:
`-- package.json
```
-The workspaces init also supports the `npm init -w `
-syntax, following the same set of rules explained earlier in the initial
-**Description** section of this page. Similar to the previous example of
-creating a new React-based project using
-[`create-react-app`](https://npm.im/create-react-app), the following syntax
-will make sure to create the new react app as a nested **workspace** within your
-project and configure your `package.json` to recognize it as such:
+The workspaces init also supports the `npm init -w ` syntax, following the same set of rules explained earlier in the initial
+**Description** section of this page.
+Similar to the previous example of creating a new React-based project using [`create-react-app`](https://npm.im/create-react-app), the following syntax will make sure to create the new react app as a nested **workspace** within your project and configure your `package.json` to recognize it as such:
```bash
npm init -w packages/my-react-app react-app .
```
-This will make sure to generate your react app as expected, one important
-consideration to have in mind is that `npm exec` is going to be run in the
-context of the newly created folder for that workspace, and that's the reason
-why in this example the initializer uses the initializer name followed with a
-dot to represent the current directory in that context, e.g: `react-app .`:
+This will make sure to generate your react app as expected, one important consideration to have in mind is that `npm exec` is going to be run in the context of the newly created folder for that workspace, and that's the reason why in this example the initializer uses the initializer name followed with a dot to represent the current directory in that context, e.g: `react-app .`:
```
.
@@ -166,7 +141,8 @@ dot to represent the current directory in that context, e.g: `react-app .`:
* 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.
@@ -196,8 +172,8 @@ The value `npm init` should use by default for the package license.
A module that will be loaded by the `npm init` command. See the
documentation for the
-[init-package-json](https://github.com/npm/init-package-json) module for
-more information, or [npm init](/commands/npm-init).
+[init-package-json](https://github.com/npm/init-package-json) module
+for more information, or [npm init](/commands/npm-init).
@@ -206,8 +182,8 @@ more information, or [npm init](/commands/npm-init).
* 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.
@@ -216,8 +192,8 @@ field.
* 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.
@@ -226,7 +202,8 @@ number, if not already set in package.json.
* 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.
@@ -251,14 +228,16 @@ mistakes, unnecessary performance degradation, and malicious input.
* Allow clobbering non-npm files in global installs.
* Allow the `npm version` command to work on an unclean git repository.
* Allow deleting the cache folder with `npm cache clean`.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of npm.
-* Allow installing packages that have an `engines` declaration requiring a
- different version of `node`, even if `--engine-strict` is enabled.
-* Allow `npm audit fix` to install modules outside your stated dependency
- range (including SemVer-major changes).
+* Allow 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).
@@ -304,9 +283,9 @@ npm init --scope=@foo --yes
* 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:
@@ -315,9 +294,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -329,13 +308,14 @@ This value is not exported to the environment for child processes.
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.
@@ -344,8 +324,9 @@ This value is not exported to the environment for child processes.
* 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.
@@ -356,9 +337,10 @@ possibly change the workspaces installed to the `node_modules` folder.
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.
diff --git a/deps/npm/docs/content/commands/npm-install-ci-test.md b/deps/npm/docs/content/commands/npm-install-ci-test.md
index 8b2f03e418a839..0ec8030a3197c4 100644
--- a/deps/npm/docs/content/commands/npm-install-ci-test.md
+++ b/deps/npm/docs/content/commands/npm-install-ci-test.md
@@ -24,11 +24,12 @@ This command runs `npm ci` followed immediately by `npm test`.
* 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.
@@ -39,10 +40,10 @@ link in place, unhoisted.
* 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`.
@@ -53,15 +54,15 @@ de-duplicating. Sets `--install-strategy=nested`.
* 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
- 'production', otherwise empty.
+ 'production'; otherwise, empty.
* Type: "dev", "optional", or "peer" (can be set multiple times)
Dependency types to omit from the installation tree on disk.
@@ -70,25 +71,29 @@ 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 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 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=`.
-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.
@@ -98,33 +103,35 @@ the order in which omit/include are specified on the command-line.
* 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.
+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.
+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.
+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.
+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.
+Note that this will generally make installs run slower, and be much
+noisier, but can be useful for debugging.
@@ -135,10 +142,10 @@ but can be useful for debugging.
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.
@@ -147,10 +154,10 @@ run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
+When "true" submit audit reports alongside the current npm command to
+the default registry and all registries configured for scopes. See
+the documentation for [`npm audit`](/commands/npm-audit) for details
+on what is submitted.
@@ -162,9 +169,9 @@ submitted.
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.
@@ -174,8 +181,8 @@ systems.
* 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`](/commands/npm-fund) for details.
+acknowledging the number of dependencies looking for funding. See
+[`npm fund`](/commands/npm-fund) for details.
@@ -184,13 +191,14 @@ fund`](/commands/npm-fund) for details.
* 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`.
+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.
+Note: This is NOT honored by other network related commands, eg
+`dist-tags`, `owner`, etc.
@@ -199,9 +207,9 @@ Note: This is NOT honored by other network related commands, eg `dist-tags`,
* 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:
@@ -210,9 +218,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -224,13 +232,14 @@ This value is not exported to the environment for child processes.
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.
@@ -241,9 +250,10 @@ This value is not exported to the environment for child processes.
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.
@@ -252,9 +262,9 @@ This value is not exported to the environment for child processes.
* 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.
diff --git a/deps/npm/docs/content/commands/npm-install-test.md b/deps/npm/docs/content/commands/npm-install-test.md
index ee206cdf3ad9f7..275405ff5c1ce8 100644
--- a/deps/npm/docs/content/commands/npm-install-test.md
+++ b/deps/npm/docs/content/commands/npm-install-test.md
@@ -14,14 +14,15 @@ alias: it
### Description
-This command runs an `npm install` followed immediately by an `npm test`. It
-takes exactly the same arguments as `npm install`.
+This command runs an `npm install` followed immediately by an `npm test`.
+It takes exactly the same arguments as `npm install`.
### 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.
@@ -38,8 +39,8 @@ Will also prevent writing to `package-lock.json` if set to `false`.
* 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.
@@ -48,12 +49,13 @@ rather than using npm's default semver range operator.
* 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](/configuring-npm/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](/configuring-npm/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`
@@ -65,11 +67,12 @@ folder instead of the current working directory. See
* 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.
@@ -80,10 +83,10 @@ link in place, unhoisted.
* 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`.
@@ -94,15 +97,15 @@ de-duplicating. Sets `--install-strategy=nested`.
* 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
- 'production', otherwise empty.
+ 'production'; otherwise, empty.
* Type: "dev", "optional", or "peer" (can be set multiple times)
Dependency types to omit from the installation tree on disk.
@@ -111,25 +114,29 @@ 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 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 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=`.
-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.
@@ -139,18 +146,19 @@ the order in which omit/include are specified on the command-line.
* 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.
+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.
+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.
+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.
@@ -159,8 +167,8 @@ this warning is treated as a failure.
* 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.
@@ -169,8 +177,9 @@ version of a dependency.
* 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.
@@ -179,29 +188,31 @@ will also prevent _writing_ `package-lock.json` if `save` is true.
* 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.
+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.
+Note that this will generally make installs run slower, and be much
+noisier, but can be useful for debugging.
@@ -212,10 +223,10 @@ but can be useful for debugging.
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.
@@ -224,10 +235,10 @@ run any pre- or post-scripts.
* Default: true
* Type: Boolean
-When "true" submit audit reports alongside the current npm command to the
-default registry and all registries configured for scopes. See the
-documentation for [`npm audit`](/commands/npm-audit) for details on what is
-submitted.
+When "true" submit audit reports alongside the current npm command to
+the default registry and all registries configured for scopes. See
+the documentation for [`npm audit`](/commands/npm-audit) for details
+on what is submitted.
@@ -237,14 +248,14 @@ submitted.
* 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.
+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`.
+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`.
@@ -256,9 +267,9 @@ will be used. For example, `foo@latest` might install `foo@1.2` even though
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.
@@ -268,8 +279,8 @@ systems.
* 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`](/commands/npm-fund) for details.
+acknowledging the number of dependencies looking for funding. See
+[`npm fund`](/commands/npm-fund) for details.
@@ -278,13 +289,14 @@ fund`](/commands/npm-fund) for details.
* 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`.
+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.
+Note: This is NOT honored by other network related commands, eg
+`dist-tags`, `owner`, etc.
@@ -293,8 +305,9 @@ Note: This is NOT honored by other network related commands, eg `dist-tags`,
* 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`.
@@ -303,8 +316,8 @@ are same as `cpu` field of package.json, which comes from `process.arch`.
* 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`.
@@ -313,8 +326,8 @@ field of package.json, which comes from `process.platform`.
* 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
@@ -323,9 +336,9 @@ Override libc of native modules to install. Acceptable values are same as
* 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:
@@ -334,9 +347,9 @@ Valid values for the `workspace` config are either:
* 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.
@@ -348,13 +361,14 @@ This value is not exported to the environment for child processes.
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.
@@ -365,9 +379,10 @@ This value is not exported to the environment for child processes.
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.
@@ -376,9 +391,9 @@ This value is not exported to the environment for child processes.
* 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.
diff --git a/deps/npm/docs/content/commands/npm-install.md b/deps/npm/docs/content/commands/npm-install.md
index 0068d1f2d25092..edb71938893eda 100644
--- a/deps/npm/docs/content/commands/npm-install.md
+++ b/deps/npm/docs/content/commands/npm-install.md
@@ -14,64 +14,45 @@ aliases: add, i, in, ins, inst, insta, instal, isnt, isnta, isntal, isntall
### Description
-This command installs a package and any packages that it depends on. If the
-package has a package-lock, or an npm shrinkwrap file, or a yarn lock file,
-the installation of dependencies will be driven by that, respecting the
-following order of precedence:
+This command installs a package and any packages that it depends on.
+If the package has a package-lock, or an npm shrinkwrap file, or a yarn lock file, the installation of dependencies will be driven by that, respecting the following order of precedence:
* `npm-shrinkwrap.json`
* `package-lock.json`
* `yarn.lock`
-See [package-lock.json](/configuring-npm/package-lock-json) and
-[`npm shrinkwrap`](/commands/npm-shrinkwrap).
+See [package-lock.json](/configuring-npm/package-lock-json) and [`npm shrinkwrap`](/commands/npm-shrinkwrap).
A `package` is:
-* a) a folder containing a program described by a
- [`package.json`](/configuring-npm/package-json) file
+* a) a folder containing a program described by a [`package.json`](/configuring-npm/package-json) file
* b) a gzipped tarball containing (a)
* c) a url that resolves to (b)
-* d) a `@` that is published on the registry (see
- [`registry`](/using-npm/registry)) with (c)
-* e) a `@` (see [`npm dist-tag`](/commands/npm-dist-tag)) that
- points to (d)
+* d) a `@` that is published on the registry (see [`registry`](/using-npm/registry)) with (c)
+* e) a `@` (see [`npm dist-tag`](/commands/npm-dist-tag)) that points to (d)
* f) a `` that has a "latest" tag satisfying (e)
* g) a `` that resolves to (a)
-Even if you never publish your package, you can still get a lot of benefits
-of using npm if you just want to write a node program (a), and perhaps if
-you also want to be able to easily install it elsewhere after packing it up
-into a tarball (b).
+Even if you never publish your package, you can still get a lot of benefits of using npm if you just want to write a node program (a), and perhaps if you also want to be able to easily install it elsewhere after packing it up into a tarball (b).
* `npm install` (in a package directory, no arguments):
Install the dependencies to the local `node_modules` folder.
- In global mode (ie, with `-g` or `--global` appended to the command),
- it installs the current package context (ie, the current working
- directory) as a global package.
+ In global mode (ie, with `-g` or `--global` appended to the command), it installs the current package context (ie, the current working directory) as a global package.
- By default, `npm install` will install all modules listed as
- dependencies in [`package.json`](/configuring-npm/package-json).
+ By default, `npm install` will install all modules listed as dependencies in [`package.json`](/configuring-npm/package-json).
- With the `--production` flag (or when the `NODE_ENV` environment
- variable is set to `production`), npm will not install modules listed
- in `devDependencies`. To install all modules listed in both
- `dependencies` and `devDependencies` when `NODE_ENV` environment
- variable is set to `production`, you can use `--production=false`.
+ With the `--production` flag (or when the `NODE_ENV` environment variable is set to `production`), npm will not install modules listed in `devDependencies`.
+ To install all modules listed in both `dependencies` and `devDependencies` when `NODE_ENV` environment variable is set to `production`, you can use `--production=false`.
- > NOTE: The `--production` flag has no particular meaning when adding a
- dependency to a project.
+ > NOTE: The `--production` flag has no particular meaning when adding a dependency to a project.
* `npm install `:
- If `` sits inside the root of your project, its dependencies will be installed and may
- be hoisted to the top-level `node_modules` as they would for other
- types of dependencies. If `` sits outside the root of your project,
- *npm will not install the package dependencies* in the directory ``,
- but it will create a symlink to ``.
+ If `` sits inside the root of your project, its dependencies will be installed and may be hoisted to the top-level `node_modules` as they would for other types of dependencies.
+ If `` sits outside the root of your project, *npm will not install the package dependencies* in the directory ``, but it will create a symlink to ``.
> NOTE: If you want to install the content of a directory like a package from the registry instead of creating a link, you would need to use the `--install-links` option.
@@ -84,19 +65,14 @@ into a tarball (b).
* `npm install `:
- Install a package that is sitting on the filesystem. Note: if you just
- want to link a dev directory into your npm root, you can do this more
- easily by using [`npm link`](/commands/npm-link).
+ Install a package that is sitting on the filesystem.
+ Note: if you just want to link a dev directory into your npm root, you can do this more easily by using [`npm link`](/commands/npm-link).
Tarball requirements:
- * The filename *must* use `.tar`, `.tar.gz`, or `.tgz` as the
- extension.
- * The package contents should reside in a subfolder inside the tarball
- (usually it is called `package/`). npm strips one directory layer
- when installing the package (an equivalent of `tar x
- --strip-components=1` is run).
- * The package must contain a `package.json` file with `name` and
- `version` properties.
+ * The filename *must* use `.tar`, `.tar.gz`, or `.tgz` as the extension.
+ * The package contents should reside in a subfolder inside the tarball (usually it is called `package/`).
+ npm strips one directory layer when installing the package (an equivalent of `tar x --strip-components=1` is run).
+ * The package must contain a `package.json` file with `name` and `version` properties.
Example:
@@ -106,8 +82,8 @@ into a tarball (b).
* `npm install `:
- Fetch the tarball url, and then install it. In order to distinguish between
- this and other options, the argument must start with "http://" or "https://"
+ Fetch the tarball url, and then install it.
+ In order to distinguish between this and other options, the argument must start with "http://" or "https://"
Example:
@@ -117,11 +93,11 @@ into a tarball (b).
* `npm install [<@scope>/]`:
- Do a `@` install, where `` is the "tag" config. (See
- [`config`](/using-npm/config#tag). The config's default value is `latest`.)
+ Do a `@` install, where `` is the "tag" config.
+ (See [`config`](/using-npm/config#tag).
+ The config's default value is `latest`.)
- In most cases, this will install the version of the modules tagged as
- `latest` on the npm registry.
+ In most cases, this will install the version of the modules tagged as `latest` on the npm registry.
Example:
@@ -130,11 +106,10 @@ into a tarball (b).
```
`npm install` saves any specified packages into `dependencies` by default.
- Additionally, you can control where and how they get saved with some
- additional flags:
+ Additionally, you can control where and how they get saved with some additional flags:
- * `-P, --save-prod`: Package will appear in your `dependencies`. This
- is the default unless `-D` or `-O` are present.
+ * `-P, --save-prod`: Package will appear in your `dependencies`.
+ This is the default unless `-D` or `-O` are present.
* `-D, --save-dev`: Package will appear in your `devDependencies`.
@@ -145,26 +120,21 @@ into a tarball (b).
* `--no-save`: Prevents saving to `dependencies`.
- When using any of the above options to save dependencies to your
- package.json, there are two additional, optional flags:
+ When using any of the above options to save dependencies to your package.json, there are two additional, optional flags:
- * `-E, --save-exact`: Saved dependencies will be configured with an
- exact version rather than using npm's default semver range operator.
+ * `-E, --save-exact`: Saved dependencies will be configured with an exact version rather than using npm's default semver range operator.
- * `-B, --save-bundle`: Saved dependencies will also be added to your
- `bundleDependencies` list.
+ * `-B, --save-bundle`: Saved dependencies will also be added to your `bundleDependencies` list.
- Further, if you have an `npm-shrinkwrap.json` or `package-lock.json`
- then it will be updated as well.
+ Further, if you have an `npm-shrinkwrap.json` or `package-lock.json` then it will be updated as well.
- `` is optional. The package will be downloaded from the registry
- associated with the specified scope. If no registry is associated with
- the given scope the default registry is assumed. See
- [`scope`](/using-npm/scope).
+ `` is optional.
+ The package will be downloaded from the registry associated with the specified scope.
+ If no registry is associated with the given scope the default registry is assumed.
+ See [`scope`](/using-npm/scope).
- Note: if you do not include the @-symbol on your scope name, npm will
- interpret this as a GitHub repository instead, see below. Scopes names
- must also be followed by a slash.
+ Note: if you do not include the @-symbol on your scope name, npm will interpret this as a GitHub repository instead, see below.
+ Scopes names must also be followed by a slash.
Examples:
@@ -180,13 +150,10 @@ into a tarball (b).
* `npm install @npm:`:
- Install a package under a custom alias. Allows multiple versions of
- a same-name package side-by-side, more convenient import names for
- packages with otherwise long ones, and using git forks replacements
- or forked npm packages as replacements. Aliasing works only on your
- project and does not rename packages in transitive dependencies.
- Aliases should follow the naming conventions stated in
- [`validate-npm-package-name`](https://www.npmjs.com/package/validate-npm-package-name#naming-rules).
+ Install a package under a custom alias.
+ Allows multiple versions of a same-name package side-by-side, more convenient import names for packages with otherwise long ones, and using git forks replacements or forked npm packages as replacements.
+ Aliasing works only on your project and does not rename packages in transitive dependencies.
+ Aliases should follow the naming conventions stated in [`validate-npm-package-name`](https://www.npmjs.com/package/validate-npm-package-name#naming-rules).
Examples:
@@ -200,8 +167,7 @@ into a tarball (b).
* `npm install [<@scope>/]@`:
Install the version of the package that is referenced by the specified tag.
- If the tag does not exist in the registry data for that package, then this
- will fail.
+ If the tag does not exist in the registry data for that package, then this will fail.
Example:
@@ -212,8 +178,8 @@ into a tarball (b).
* `npm install [<@scope>/]@`:
- Install the specified version of the package. This will fail if the
- version has not been published to the registry.
+ Install the specified version of the package.
+ This will fail if the version has not been published to the registry.
Example:
@@ -225,11 +191,9 @@ into a tarball (b).
* `npm install [<@scope>/]@ |