diff --git a/.gitattributes b/.gitattributes
index 82563e5d2fc91b..bcc72d78e7121e 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -2,5 +2,4 @@ test/fixtures/* -text
vcbuild.bat text eol=crlf
deps/npm/bin/npm text eol=lf
deps/npm/bin/npx text eol=lf
-deps/corepack/shims/corepack text eol=lf
tools/msvs/find_python.cmd text eol=crlf
diff --git a/.github/workflows/tools.yml b/.github/workflows/tools.yml
index 225b7b107ef39e..72024f43d161eb 100644
--- a/.github/workflows/tools.yml
+++ b/.github/workflows/tools.yml
@@ -20,7 +20,6 @@ on:
- brotli
- c-ares
- cjs-module-lexer
- - corepack
- doc
- eslint
- github_reporter
@@ -112,12 +111,6 @@ jobs:
cat temp-output
tail -n1 temp-output | grep "NEW_VERSION=" >> "$GITHUB_ENV" || true
rm temp-output
- - id: corepack
- subsystem: deps
- label: dependencies
- run: |
- make corepack-update
- echo "NEW_VERSION=$(node deps/corepack/dist/corepack.js --version)" >> $GITHUB_ENV
- id: doc
subsystem: tools
label: tools
diff --git a/.gitignore b/.gitignore
index 34c26e3a81e051..38382de6cbcf14 100644
--- a/.gitignore
+++ b/.gitignore
@@ -66,7 +66,6 @@ _UpgradeReport_Files/
*.wixobj
/tools/msvs/genfiles/
/npm.wxs
-/corepack.wxs
/tools/msvs/msi/**/Release/
/tools/msvs/msi/**/obj/
/tools/msvs/msi/**/x64/
diff --git a/LICENSE b/LICENSE
index fb7c9d3abe9215..a6795ba9d63400 100644
--- a/LICENSE
+++ b/LICENSE
@@ -726,17 +726,6 @@ The externally maintained libraries used by Node.js are:
USE OR OTHER DEALINGS IN THE SOFTWARE.
"""
-- corepack, located at deps/corepack, is licensed as follows:
- """
- **Copyright © Corepack contributors**
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- """
-
- undici, located at deps/undici, is licensed as follows:
"""
MIT License
diff --git a/Makefile b/Makefile
index 7bd80d06c17125..ed6ef8046fd720 100644
--- a/Makefile
+++ b/Makefile
@@ -1143,17 +1143,6 @@ endif
# Builds the macOS installer for releases.
pkg: $(PKG)
-.PHONY: corepack-update
-corepack-update:
- mkdir -p /tmp/node-corepack
- curl -qLo /tmp/node-corepack/package.tgz "$$(npm view corepack dist.tarball)"
-
- rm -rf deps/corepack && mkdir deps/corepack
- cd deps/corepack && tar xf /tmp/node-corepack/package.tgz --strip-components=1
- chmod +x deps/corepack/shims/*
-
- node deps/corepack/dist/corepack.js --version
-
.PHONY: pkg-upload
# Note: this is strictly for release builds on release machines only.
pkg-upload: pkg
diff --git a/SECURITY.md b/SECURITY.md
index 7d62c76e5b898c..f5b17eb626987d 100644
--- a/SECURITY.md
+++ b/SECURITY.md
@@ -201,13 +201,6 @@ the community they pose.
that artifact is large enough to impact performance or
cause the runtime to run out of resources.
-#### Vulnerabilities affecting software downloaded by Corepack
-
-* Corepack defaults to downloading the latest version of the software requested
- by the user, or a specific version requested by the user. For this reason,
- Node.js releases won't be affected by such vulnerabilities, users are
- responsible to keep the software they use through Corepack up-to-date.
-
## Assessing experimental features reports
Experimental features are eligible to reports as any other stable feature of
diff --git a/benchmark/misc/startup-cli-version.js b/benchmark/misc/startup-cli-version.js
index 4dbeb81fc70740..280c2932e580b9 100644
--- a/benchmark/misc/startup-cli-version.js
+++ b/benchmark/misc/startup-cli-version.js
@@ -14,7 +14,6 @@ const bench = common.createBenchmark(main, {
'tools/node_modules/eslint/bin/eslint.js',
'deps/npm/bin/npx-cli.js',
'deps/npm/bin/npm-cli.js',
- 'deps/corepack/dist/corepack.js',
],
count: [30],
});
diff --git a/configure.py b/configure.py
index be49cd5cd20cd5..81d9169656642e 100755
--- a/configure.py
+++ b/configure.py
@@ -668,12 +668,6 @@
default=None,
help='do not install the bundled npm (package manager)')
-parser.add_argument('--without-corepack',
- action='store_true',
- dest='without_corepack',
- default=None,
- help='do not install the bundled Corepack')
-
# Dummy option for backwards compatibility
parser.add_argument('--without-report',
action='store_true',
@@ -1254,7 +1248,6 @@ def configure_node(o):
o['variables']['OS'] = 'android'
o['variables']['node_prefix'] = options.prefix
o['variables']['node_install_npm'] = b(not options.without_npm)
- o['variables']['node_install_corepack'] = b(not options.without_corepack)
o['variables']['debug_node'] = b(options.debug_node)
o['default_configuration'] = 'Debug' if options.debug else 'Release'
o['variables']['error_on_warn'] = b(options.error_on_warn)
diff --git a/deps/corepack/CHANGELOG.md b/deps/corepack/CHANGELOG.md
deleted file mode 100644
index 439f6fd3b8e968..00000000000000
--- a/deps/corepack/CHANGELOG.md
+++ /dev/null
@@ -1,346 +0,0 @@
-# Changelog
-
-## [0.25.2](https://github.com/nodejs/corepack/compare/v0.25.1...v0.25.2) (2024-02-21)
-
-
-### Features
-
-* update package manager versions ([#362](https://github.com/nodejs/corepack/issues/362)) ([1423312](https://github.com/nodejs/corepack/commit/1423312a0eb7844dcdd43ae8a63cf12dcacedb2b))
-
-
-### Bug Fixes
-
-* do not hard fail if Corepack home folder cannot be created ([#382](https://github.com/nodejs/corepack/issues/382)) ([9834f57](https://github.com/nodejs/corepack/commit/9834f5790a99ce2c6c283321bb38b02e5561b7ca))
-* do not show download prompt when downloading JSON ([#383](https://github.com/nodejs/corepack/issues/383)) ([bc137a0](https://github.com/nodejs/corepack/commit/bc137a0073c3343ce2d552b6e13bfd2a48f08351))
-
-## [0.25.1](https://github.com/nodejs/corepack/compare/v0.25.0...v0.25.1) (2024-02-20)
-
-
-### Bug Fixes
-
-* use valid semver range for `engines.node` ([#378](https://github.com/nodejs/corepack/issues/378)) ([f2185fe](https://github.com/nodejs/corepack/commit/f2185fefa145cc75fca082acc169f8aaef637ca2))
-
-## [0.25.0](https://github.com/nodejs/corepack/compare/v0.24.1...v0.25.0) (2024-02-20)
-
-
-### ⚠ BREAKING CHANGES
-
-* remove `--all` flag ([#351](https://github.com/nodejs/corepack/issues/351))
-* remove Node.js 19.x from the range of supported versions ([#375](https://github.com/nodejs/corepack/issues/375))
-* use `fetch` ([#365](https://github.com/nodejs/corepack/issues/365))
-* remove old install folder migration ([#373](https://github.com/nodejs/corepack/issues/373))
-* prompt user before downloading software ([#360](https://github.com/nodejs/corepack/issues/360))
-
-### Features
-
-* add `corepack cache` command ([#363](https://github.com/nodejs/corepack/issues/363)) ([f442366](https://github.com/nodejs/corepack/commit/f442366c1c00d0c3f388b757c3797504f9a6b62e))
-* add support for URL in `"packageManager"` ([#359](https://github.com/nodejs/corepack/issues/359)) ([4a8ce6d](https://github.com/nodejs/corepack/commit/4a8ce6d42f081047a341f36067696346c9f3e1ea))
-* bump Known Good Release when downloading new version ([#364](https://github.com/nodejs/corepack/issues/364)) ([a56c13b](https://github.com/nodejs/corepack/commit/a56c13bd0b1c11e50361b8b4b6f8a53571e3981a))
-* prompt user before downloading software ([#360](https://github.com/nodejs/corepack/issues/360)) ([6b8d87f](https://github.com/nodejs/corepack/commit/6b8d87f2374f79855b24d659f2a2579d6b39f54f))
-* remove `--all` flag ([#351](https://github.com/nodejs/corepack/issues/351)) ([d9c70b9](https://github.com/nodejs/corepack/commit/d9c70b91f698787d693406626a73dc95cb18bc1d))
-* remove old install folder migration ([#373](https://github.com/nodejs/corepack/issues/373)) ([54e9510](https://github.com/nodejs/corepack/commit/54e9510cdaf6ed08c9dea1ed3999fa65116cb4c7))
-* use `fetch` ([#365](https://github.com/nodejs/corepack/issues/365)) ([fe6a307](https://github.com/nodejs/corepack/commit/fe6a3072f64efa810b90e4ee52e0b3ff14c63184))
-
-
-### Bug Fixes
-
-* remove unsafe remove of install folder ([#372](https://github.com/nodejs/corepack/issues/372)) ([65880ca](https://github.com/nodejs/corepack/commit/65880cafed5f4195f8e7656ca9af4cbcbb7682d3))
-
-
-### Miscellaneous Chores
-
-* remove Node.js 19.x from the range of supported versions ([#375](https://github.com/nodejs/corepack/issues/375)) ([9a1cb38](https://github.com/nodejs/corepack/commit/9a1cb385bba9ade8e9fbf5517c2bdff60295f9ed))
-
-## [0.24.1](https://github.com/nodejs/corepack/compare/v0.24.0...v0.24.1) (2024-01-13)
-
-
-### Features
-
-* update package manager versions ([#348](https://github.com/nodejs/corepack/issues/348)) ([cc3ada7](https://github.com/nodejs/corepack/commit/cc3ada73bccd0a5b0ff16834e518efa521c9eea4))
-
-
-### Bug Fixes
-
-* **use:** create `package.json` when calling `corepack use` on empty dir ([#350](https://github.com/nodejs/corepack/issues/350)) ([2950a8a](https://github.com/nodejs/corepack/commit/2950a8a30b64b4598abc354e45400e83d56e541b))
-
-## [0.24.0](https://github.com/nodejs/corepack/compare/v0.23.0...v0.24.0) (2023-12-29)
-
-
-### Features
-
-* add support for HTTP redirect ([#341](https://github.com/nodejs/corepack/issues/341)) ([6df5063](https://github.com/nodejs/corepack/commit/6df5063b14868ff21499a051e5122fa7211be6ed))
-* add support for rangeless commands ([#338](https://github.com/nodejs/corepack/issues/338)) ([9bee415](https://github.com/nodejs/corepack/commit/9bee4150815113d97f0bd77d62c8d999cfd68ad3))
-* update package manager versions ([#330](https://github.com/nodejs/corepack/issues/330)) ([cfcc280](https://github.com/nodejs/corepack/commit/cfcc28047a788daeef2c0b15ee35a8b1a8149bb6))
-* **yarn:** fallback to npm when `COREPACK_NPM_REGISTRY` is set ([#339](https://github.com/nodejs/corepack/issues/339)) ([0717c6a](https://github.com/nodejs/corepack/commit/0717c6af898e075f57c5694d699a3c51e79a024c))
-
-
-### Bug Fixes
-
-* clarify `EACCES` errors ([#343](https://github.com/nodejs/corepack/issues/343)) ([518bed8](https://github.com/nodejs/corepack/commit/518bed8b7d7c313163c79d31cb9bbc023dba6560))
-
-## [0.23.0](https://github.com/nodejs/corepack/compare/v0.22.0...v0.23.0) (2023-11-05)
-
-
-### Features
-
-* update package manager versions ([#325](https://github.com/nodejs/corepack/issues/325)) ([450cd33](https://github.com/nodejs/corepack/commit/450cd332d00d3428f49ed09a4235bd12139931c9))
-
-## [0.22.0](https://github.com/nodejs/corepack/compare/v0.21.0...v0.22.0) (2023-10-21)
-
-
-### Features
-
-* allow fallback to application/json for custom registries ([#314](https://github.com/nodejs/corepack/issues/314)) ([92f8e71](https://github.com/nodejs/corepack/commit/92f8e71f8c97c44f404ce9b7df8787a4292e6830))
-* update package manager versions ([#318](https://github.com/nodejs/corepack/issues/318)) ([0bd2577](https://github.com/nodejs/corepack/commit/0bd2577bb4c6c3a5a33ecdb3b6ca2ff244c54f28))
-
-## [0.21.0](https://github.com/nodejs/corepack/compare/v0.20.0...v0.21.0) (2023-10-08)
-
-
-### ⚠ BREAKING CHANGES
-
-* remove support for Node.js 16.x
-
-### Features
-
-* update package manager versions ([#297](https://github.com/nodejs/corepack/issues/297)) ([503e135](https://github.com/nodejs/corepack/commit/503e135878935cc881ebd94b48d5eca94ec4c27b))
-
-
-### Miscellaneous Chores
-
-* update supported Node.js versions ([#309](https://github.com/nodejs/corepack/issues/309)) ([787e24d](https://github.com/nodejs/corepack/commit/787e24df609513702eafcd8c6a5f03544d7d45cc))
-
-## [0.20.0](https://github.com/nodejs/corepack/compare/v0.19.0...v0.20.0) (2023-08-29)
-
-
-### Features
-
-* refactor the CLI interface ([#291](https://github.com/nodejs/corepack/issues/291)) ([fe3e5cd](https://github.com/nodejs/corepack/commit/fe3e5cd86c45db0d87c7fdea87d57d59b0bdcb78))
-* update package manager versions ([#292](https://github.com/nodejs/corepack/issues/292)) ([be9c286](https://github.com/nodejs/corepack/commit/be9c286846443ff03081e736fdf4a0ff031fbd38))
-
-## [0.19.0](https://github.com/nodejs/corepack/compare/v0.18.1...v0.19.0) (2023-06-24)
-
-
-### Features
-
-* support ESM ([#270](https://github.com/nodejs/corepack/issues/270)) ([be2489c](https://github.com/nodejs/corepack/commit/be2489cd0aaabf26a019e1c089a3c8bcc329e94a))
-* update package manager versions ([#280](https://github.com/nodejs/corepack/issues/280)) ([4188f2b](https://github.com/nodejs/corepack/commit/4188f2b4671228339fe16f9f566e7bac0c2c4f6d))
-
-## [0.18.1](https://github.com/nodejs/corepack/compare/v0.18.0...v0.18.1) (2023-06-13)
-
-
-### Features
-
-* update package manager versions ([#272](https://github.com/nodejs/corepack/issues/272)) ([5345774](https://github.com/nodejs/corepack/commit/53457747a26a5de3debbd0d9282b338186bbd7c3))
-
-
-### Bug Fixes
-
-* disable `v8-compile-cache` when using `npm@>=9.7.0` ([#276](https://github.com/nodejs/corepack/issues/276)) ([2f3678c](https://github.com/nodejs/corepack/commit/2f3678cd7915978f4e2ce7a32cbe5db58e9d0b8d))
-* don't override `process.exitCode` ([#268](https://github.com/nodejs/corepack/issues/268)) ([17d1f3d](https://github.com/nodejs/corepack/commit/17d1f3dd41ef6127228d427fd5cca373d6c97f0f))
-
-## [0.18.0](https://github.com/nodejs/corepack/compare/v0.17.2...v0.18.0) (2023-05-19)
-
-
-### ⚠ BREAKING CHANGES
-
-* remove support for Node.js 14.x
-
-### Features
-
-* update package manager versions ([#256](https://github.com/nodejs/corepack/issues/256)) ([7b61ff6](https://github.com/nodejs/corepack/commit/7b61ff6bc797ec4ed50c2ba1e1f1689264cbf4fc))
-
-
-### Bug Fixes
-
-* **doc:** add a note about troubleshooting network errors ([#259](https://github.com/nodejs/corepack/issues/259)) ([aa3cbdb](https://github.com/nodejs/corepack/commit/aa3cbdb54fb21b8e0adde96dc781cdf750932843))
-
-
-### Miscellaneous Chores
-
-* update supported Node.js versions ([#258](https://github.com/nodejs/corepack/issues/258)) ([74f679d](https://github.com/nodejs/corepack/commit/74f679d8a72cc10a3720fc679b95e9bd086d95be))
-
-## [0.17.2](https://github.com/nodejs/corepack/compare/v0.17.1...v0.17.2) (2023-04-07)
-
-
-### Features
-
-* update package manager versions ([#249](https://github.com/nodejs/corepack/issues/249)) ([2507e9b](https://github.com/nodejs/corepack/commit/2507e9b317eacdeb939aee086de5711218ebd794))
-
-## [0.17.1](https://github.com/nodejs/corepack/compare/v0.17.0...v0.17.1) (2023-03-17)
-
-
-### Features
-
-* update package manager versions ([#245](https://github.com/nodejs/corepack/issues/245)) ([673f3b7](https://github.com/nodejs/corepack/commit/673f3b7f18421a49da1e2c55656666a74ce94474))
-
-## [0.17.0](https://github.com/nodejs/corepack/compare/v0.16.0...v0.17.0) (2023-02-24)
-
-
-### ⚠ BREAKING CHANGES
-
-* add `"exports"` to the `package.json` ([#239](https://github.com/nodejs/corepack/issues/239))
-
-### Features
-
-* update package manager versions ([#242](https://github.com/nodejs/corepack/issues/242)) ([5141639](https://github.com/nodejs/corepack/commit/5141639af8198a343105be1e98a74f7c9e152472))
-
-
-### Bug Fixes
-
-* add `"exports"` to the `package.json` ([#239](https://github.com/nodejs/corepack/issues/239)) ([8e12d08](https://github.com/nodejs/corepack/commit/8e12d088dec171c03e90f623895a1fbf867130e6))
-
-## [0.16.0](https://github.com/nodejs/corepack/compare/v0.15.3...v0.16.0) (2023-02-17)
-
-
-### Features
-
-* update package manager versions ([#228](https://github.com/nodejs/corepack/issues/228)) ([bb000f9](https://github.com/nodejs/corepack/commit/bb000f9c10a1fbd85f2c15a90218d90b42473130))
-* build: migrate to ESBuild ([#229](https://github.com/nodejs/corepack/pull/229)) ([15ceb83](https://github.com/nodejs/corepack/commit/15ceb832a34a223efbe3d3f9cb792d9101a7022a))
-
-
-### Bug Fixes
-
-* npm registry override ([#219](https://github.com/nodejs/corepack/issues/219)) ([1b35362](https://github.com/nodejs/corepack/commit/1b353624e644874d9ef6c9acaf6d1254bff3015a))
-
-## [0.15.3](https://github.com/nodejs/corepack/compare/v0.15.2...v0.15.3) (2022-12-30)
-
-
-### Features
-
-* update package manager versions ([#215](https://github.com/nodejs/corepack/issues/215)) ([f84cfcb](https://github.com/nodejs/corepack/commit/f84cfcb00ffb985d44b6aa0b563b2b4056a8f0d0))
-
-## [0.15.2](https://github.com/nodejs/corepack/compare/v0.15.1...v0.15.2) (2022-11-25)
-
-
-### Features
-
-* update package manager versions ([#211](https://github.com/nodejs/corepack/issues/211)) ([c536c0c](https://github.com/nodejs/corepack/commit/c536c0c27c137c87a14487a2c2a63a1fe6bf88ec))
-
-## [0.15.1](https://github.com/nodejs/corepack/compare/v0.15.0...v0.15.1) (2022-11-04)
-
-
-### Features
-
-* update package manager versions ([#205](https://github.com/nodejs/corepack/issues/205)) ([5bfac11](https://github.com/nodejs/corepack/commit/5bfac11715474a4318c67fc806fd1ff4252c683a))
-
-## [0.15.0](https://github.com/nodejs/corepack/compare/v0.14.2...v0.15.0) (2022-10-28)
-
-
-### Features
-
-* add support for configurable registries and applicable auth options ([#186](https://github.com/nodejs/corepack/issues/186)) ([662ae90](https://github.com/nodejs/corepack/commit/662ae9057c7360cb05e9476914e611a9bf0074db))
-* update package manager versions ([#193](https://github.com/nodejs/corepack/issues/193)) ([0ec3a73](https://github.com/nodejs/corepack/commit/0ec3a7384729c5cf4ac566d91f1a4bb74e08a64f))
-* when strict checking is off, treat like transparent ([#197](https://github.com/nodejs/corepack/issues/197)) ([5eadc50](https://github.com/nodejs/corepack/commit/5eadc50192e205c60bfb1cad91854e9014a747b8))
-
-
-### Bug Fixes
-
-* **doc:** add package configuration instruction to readme ([#188](https://github.com/nodejs/corepack/issues/188)) ([0b7abb9](https://github.com/nodejs/corepack/commit/0b7abb9833d332bad97902260d31652482c274a0))
-* recreate cache folder if necessary ([#200](https://github.com/nodejs/corepack/issues/200)) ([7b5f2f9](https://github.com/nodejs/corepack/commit/7b5f2f9fcb24fe3fe517a96deaac7f32854f3124))
-
-## [0.14.2](https://github.com/nodejs/corepack/compare/v0.14.1...v0.14.2) (2022-09-24)
-
-### Features
-
-* update package manager versions ([#184](https://github.com/nodejs/corepack/issues/184)) ([84ae313](https://github.com/nodejs/corepack/commit/84ae3139e4b9a86d97465e36b50beb9201fda732))
-
-## [0.14.1](https://github.com/nodejs/corepack/compare/v0.14.0...v0.14.1) (2022-09-16)
-
-
-### Features
-
-* update package manager versions ([#179](https://github.com/nodejs/corepack/issues/179)) ([0b88dcb](https://github.com/nodejs/corepack/commit/0b88dcbaaf190117c6f407b6632a4b3b10da8ad9))
-
-## [0.14.0](https://github.com/nodejs/corepack/compare/v0.13.0...v0.14.0) (2022-09-02)
-
-
-### Features
-
-* add `COREPACK_ENABLE_STRICT` env variable ([#167](https://github.com/nodejs/corepack/issues/167)) ([92b52f6](https://github.com/nodejs/corepack/commit/92b52f6b4918aff968c0942b89fc722ebf57bce2))
-* update package manager versions ([#170](https://github.com/nodejs/corepack/issues/170)) ([6f70bfc](https://github.com/nodejs/corepack/commit/6f70bfc4b6a8a57cccb1ff9cbf2f49240648f1ed))
-
-
-### Bug Fixes
-
-* handle tags including numbers in `prepare` command ([#165](https://github.com/nodejs/corepack/issues/165)) ([5a0727b](https://github.com/nodejs/corepack/commit/5a0727b43976e0dc299151876c0dde2c4a85174d))
-
-## [0.13.0](https://github.com/nodejs/corepack/compare/v0.12.3...v0.13.0) (2022-08-19)
-
-
-### Features
-
-* do not use `~/.node` as default value for `COREPACK_HOME` ([#152](https://github.com/nodejs/corepack/issues/152)) ([09e24cf](https://github.com/nodejs/corepack/commit/09e24cf497de27fe92668cf0a8e555f2c7e2530d))
-* download the latest version instead of a pinned one ([#134](https://github.com/nodejs/corepack/issues/134)) ([055b928](https://github.com/nodejs/corepack/commit/055b92807f711b5c8c8be6e62b8d3ce83e1ff002))
-* update package manager versions ([#163](https://github.com/nodejs/corepack/issues/163)) ([af38d5a](https://github.com/nodejs/corepack/commit/af38d5afbbc10d61265b2f4687c5cc498b059b41))
-
-## [0.12.3](https://github.com/nodejs/corepack/compare/v0.12.2...v0.12.3) (2022-08-12)
-
-
-### Features
-
-* update package manager versions ([#160](https://github.com/nodejs/corepack/issues/160)) ([ad092a7](https://github.com/nodejs/corepack/commit/ad092a7fb4296143fa5224c04dbd628451b3c158))
-
-## [0.12.2](https://github.com/nodejs/corepack/compare/v0.12.1...v0.12.2) (2022-08-05)
-
-### Features
-
-* update package manager versions ([#154](https://github.com/nodejs/corepack/issues/154)) ([4b95fd3](https://github.com/nodejs/corepack/commit/4b95fd3b926659855970a887c893c10db0b98e5d))
-
-## [0.12.1](https://github.com/nodejs/corepack/compare/v0.12.0...v0.12.1) (2022-07-21)
-
-
-### Bug Fixes
-
-* **doc:** update DESIGN.md s/engines.pm/packageManager/ ([#141](https://github.com/nodejs/corepack/issues/141)) ([d6039c5](https://github.com/nodejs/corepack/commit/d6039c5b16cdddb33069b9aa864854ed16d17e4e))
-* update package manager versions ([#146](https://github.com/nodejs/corepack/issues/146)) ([fdb187a](https://github.com/nodejs/corepack/commit/fdb187a640de77df9b3688623ba510bdafda8702))
-
-## [0.12.0](https://github.com/nodejs/corepack/compare/v0.11.2...v0.12.0) (2022-07-09)
-
-
-### Features
-
-* add support for hash checking ([#133](https://github.com/nodejs/corepack/issues/133)) ([6a480a7](https://github.com/nodejs/corepack/commit/6a480a72c2e9fc6725f2ab6dfaf4c52e4d3d2ade))
-* add support for tags and ranges in `prepare` command ([#136](https://github.com/nodejs/corepack/issues/136)) ([29da06c](https://github.com/nodejs/corepack/commit/29da06c515e917829e5ffbedb34284a6597e9d56))
-* update package manager versions ([#129](https://github.com/nodejs/corepack/issues/129)) ([2470f58](https://github.com/nodejs/corepack/commit/2470f58b74491a1301221df643c55be5adf1d349))
-* update package manager versions ([#139](https://github.com/nodejs/corepack/issues/139)) ([cd0dcad](https://github.com/nodejs/corepack/commit/cd0dcade85621199048d7ca30dfc3efce11e1f37))
-
-
-### Bug Fixes
-
-* streamline the cache exploration ([#135](https://github.com/nodejs/corepack/issues/135)) ([185da44](https://github.com/nodejs/corepack/commit/185da44078fd1ca34aec2e4e6f8a52ecffcf3c11))
-
-## [0.11.2](https://github.com/nodejs/corepack/compare/v0.11.1...v0.11.2) (2022-06-13)
-
-### Bug Fixes
-
-* only set bins on pack ([#127](https://github.com/nodejs/corepack/issues/127)) ([7ae489a](https://github.com/nodejs/corepack/commit/7ae489a86c3fe584b9915f4ec57deb7c316c1a25))
-
-## [0.11.1](https://github.com/nodejs/corepack/compare/v0.11.0...v0.11.1) (2022-06-12)
-
-
-### Bug Fixes
-
-* **ci:** YAML formatting in publish workflow ([#124](https://github.com/nodejs/corepack/issues/124)) ([01c7d63](https://github.com/nodejs/corepack/commit/01c7d638b04a1340b3939a7985e24b586e344995))
-
-## 0.11.0 (2022-06-12)
-
-
-### Features
-
-* auto setup proxy for http requests ([#69](https://github.com/nodejs/corepack/issues/69)) ([876ce02](https://github.com/nodejs/corepack/commit/876ce02fe7385ea5bc896b2dc93d1fb320361c64))
-
-
-### Bug Fixes
-
-* avoid symlinks to work on Windows ([#13](https://github.com/nodejs/corepack/issues/13)) ([b56df30](https://github.com/nodejs/corepack/commit/b56df30796da9c7cb0ba5e1bb7152c81582abba6))
-* avoid using eval to get the corepack version ([#45](https://github.com/nodejs/corepack/issues/45)) ([78d94eb](https://github.com/nodejs/corepack/commit/78d94eb297444d7558e8b4395f0108c97117f8ab))
-* bin file name for pnpm >=6.0 ([#35](https://github.com/nodejs/corepack/issues/35)) ([8ff2499](https://github.com/nodejs/corepack/commit/8ff2499e831c8cf2dea604ea985d830afc8a479e))
-* generate cmd shim files ([a900b4d](https://github.com/nodejs/corepack/commit/a900b4db12fcd4d99c0a4d011b426cdc6485d323))
-* handle package managers with a bin array correctly ([#20](https://github.com/nodejs/corepack/issues/20)) ([1836d17](https://github.com/nodejs/corepack/commit/1836d17b4fc4c0164df2fe1ccaca4d2f16f6f2d1))
-* handle parallel installs ([#84](https://github.com/nodejs/corepack/issues/84)) ([5cfc6c9](https://github.com/nodejs/corepack/commit/5cfc6c9df0dbec8e4de4324be37aa0a54a300552))
-* handle prereleases ([#32](https://github.com/nodejs/corepack/issues/32)) ([2a46b6d](https://github.com/nodejs/corepack/commit/2a46b6d13adae139141012254ef670d6ddcb5d11))
-
-
-### Performance Improvements
-
-* load binaries in the same process ([#97](https://github.com/nodejs/corepack/issues/97)) ([5ff6e82](https://github.com/nodejs/corepack/commit/5ff6e82028e58448ba5ba986854b61ecdc69885b))
diff --git a/deps/corepack/LICENSE.md b/deps/corepack/LICENSE.md
deleted file mode 100644
index 965ccaa1ae72fa..00000000000000
--- a/deps/corepack/LICENSE.md
+++ /dev/null
@@ -1,7 +0,0 @@
-**Copyright © Corepack contributors**
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/corepack/README.md b/deps/corepack/README.md
deleted file mode 100644
index 2f5819d913eb37..00000000000000
--- a/deps/corepack/README.md
+++ /dev/null
@@ -1,312 +0,0 @@
-# corepack
-
-Corepack is a zero-runtime-dependency Node.js script that acts as a bridge
-between Node.js projects and the package managers they are intended to be used
-with during development. In practical terms, **Corepack lets you use Yarn, npm,
-and pnpm without having to install them**.
-
-## How to Install
-
-### Default Installs
-
-Corepack is [distributed by default with all recent Node.js versions](https://nodejs.org/api/corepack.html).
-Run `corepack enable` to install the required Yarn and pnpm binaries on your path.
-
-### Manual Installs
-
-
-Install Corepack using npm
-
-First uninstall your global Yarn and pnpm binaries (just leave npm). In general,
-you'd do this by running the following command:
-
-```shell
-npm uninstall -g yarn pnpm
-
-# That should be enough, but if you installed Yarn without going through npm it might
-# be more tedious - for example, you might need to run `brew uninstall yarn` as well.
-```
-
-Then install Corepack:
-
-```shell
-npm install -g corepack
-```
-
-We do acknowledge the irony and overhead of using npm to install Corepack, which
-is at least part of why the preferred option is to use the Corepack version that
-is distributed along with Node.js itself.
-
-
-
-Install Corepack from source
-
-See [`CONTRIBUTING.md`](./CONTRIBUTING.md).
-
-
-
-## Usage
-
-### When Building Packages
-
-Just use your package managers as you usually would. Run `yarn install` in Yarn
-projects, `pnpm install` in pnpm projects, and `npm` in npm projects. Corepack
-will catch these calls, and depending on the situation:
-
-- **If the local project is configured for the package manager you're using**,
- Corepack will silently download and cache the latest compatible version.
-
-- **If the local project is configured for a different package manager**,
- Corepack will request you to run the command again using the right package
- manager - thus avoiding corruptions of your install artifacts.
-
-- **If the local project isn't configured for any package manager**, Corepack
- will assume that you know what you're doing, and will use whatever package
- manager version has been pinned as "known good release". Check the relevant
- section for more details.
-
-### When Authoring Packages
-
-Set your package's manager with the `packageManager` field in `package.json`:
-
-```json
-{
- "packageManager": "yarn@3.2.3+sha224.953c8233f7a92884eee2de69a1b92d1f2ec1655e66d08071ba9a02fa"
-}
-```
-
-Here, `yarn` is the name of the package manager, specified at version `3.2.3`,
-along with the SHA-224 hash of this version for validation.
-`packageManager@x.y.z` is required. The hash is optional but strongly
-recommended as a security practice. Permitted values for the package manager are
-`yarn`, `npm`, and `pnpm`.
-
-You can also provide a URL to a `.js` file (which will be interpreted as a
-CommonJS module) or a `.tgz` file (which will be interpreted as a package, and
-the `"bin"` field of the `package.json` will be used to determine which file to
-use in the archive).
-
-```json
-{
- "packageManager": "yarn@https://registry.npmjs.org/@yarnpkg/cli-dist/-/cli-dist-3.2.3.tgz#sha224.16a0797d1710d1fb7ec40ab5c3801b68370a612a9b66ba117ad9924b"
-}
-```
-
-## Known Good Releases
-
-When running Corepack within projects that don't list a supported package
-manager, it will default to a set of Known Good Releases.
-
-If there is no Known Good Release for the requested package manager, Corepack
-looks up the npm registry for the latest available version and cache it for
-future use.
-
-The Known Good Releases can be updated system-wide using `corepack install -g`.
-When Corepack downloads a new version of a given package manager on the same
-major line as the Known Good Release, it auto-updates it by default.
-
-## Offline Workflow
-
-The utility commands detailed in the next section.
-
-- Either you can use the network while building your container image, in which
- case you'll simply run `corepack pack` to make sure that your image
- includes the Last Known Good release for the specified package manager.
-
-- Or you're publishing your project to a system where the network is
- unavailable, in which case you'll preemptively generate a package manager
- archive from your local computer (using `corepack pack -o`) before storing
- it somewhere your container will be able to access (for example within your
- repository). After that it'll just be a matter of running
- `corepack install -g --cache-only ` to setup the cache.
-
-## Utility Commands
-
-### `corepack [@] [... args]`
-
-This meta-command runs the specified package manager in the local folder. You
-can use it to force an install to run with a given version, which can be useful
-when looking for regressions.
-
-Note that those commands still check whether the local project is configured for
-the given package manager (ie you won't be able to run `corepack yarn install`
-on a project where the `packageManager` field references `pnpm`).
-
-### `corepack cache clean`
-
-Clears the local `COREPACK_HOME` cache directory.
-
-### `corepack cache clear`
-
-Clears the local `COREPACK_HOME` cache directory.
-
-### `corepack enable [... name]`
-
-| Option | Description |
-| --------------------- | --------------------------------------- |
-| `--install-directory` | Add the shims to the specified location |
-
-This command will detect where Corepack is installed and will create shims next
-to it for each of the specified package managers (or all of them if the command
-is called without parameters). Note that the npm shims will not be installed
-unless explicitly requested, as npm is currently distributed with Node.js
-through other means.
-
-If the file system where the `corepack` binary is located is read-only, this
-command will fail. A workaround is to add the binaries as alias in your
-shell configuration file (e.g. in `~/.bash_aliases`):
-
-```sh
-alias yarn="corepack yarn"
-alias yarnpkg="corepack yarnpkg"
-alias pnpm="corepack pnpm"
-alias pnpx="corepack pnpx"
-alias npm="corepack npm"
-alias npx="corepack npx"
-```
-
-On Windows PowerShell, you can add functions using the `$PROFILE` automatic
-variable:
-
-```powershell
-echo "function yarn { corepack yarn `$args }" >> $PROFILE
-echo "function yarnpkg { corepack yarnpkg `$args }" >> $PROFILE
-echo "function pnpm { corepack pnpm `$args }" >> $PROFILE
-echo "function pnpx { corepack pnpx `$args }" >> $PROFILE
-echo "function npm { corepack npm `$args }" >> $PROFILE
-echo "function npx { corepack npx `$args }" >> $PROFILE
-```
-
-### `corepack disable [... name]`
-
-| Option | Description |
-| --------------------- | ------------------------------------------ |
-| `--install-directory` | Remove the shims to the specified location |
-
-This command will detect where Node.js is installed and will remove the shims
-from there.
-
-### `corepack install`
-
-Download and install the package manager configured in the local project.
-This command doesn't change the global version used when running the package
-manager from outside the project (use the \`-g,--global\` flag if you wish
-to do this).
-
-### `corepack install <-g,--global> [... name[@]]`
-
-Install the selected package managers and install them on the system.
-
-Package managers thus installed will be configured as the new default when
-calling their respective binaries outside of projects defining the
-`packageManager` field.
-
-### `corepack pack [... name[@]]`
-
-| Option | Description |
-| --------------------- | ------------------------------------------ |
-| `--json ` | Print the output folder rather than logs |
-| `-o,--output ` | Path where to generate the archive |
-
-Download the selected package managers and store them inside a tarball
-suitable for use with `corepack install -g`.
-
-### `corepack use ]>`
-
-When run, this command will retrieve the latest release matching the provided
-descriptor, assign it to the project's package.json file, and automatically
-perform an install.
-
-### `corepack up`
-
-Retrieve the latest available version for the current major release line of
-the package manager used in the local project, and update the project to use
-it.
-
-Unlike `corepack use` this command doesn't take a package manager name nor a
-version range, as it will always select the latest available version from the
-same major line. Should you need to upgrade to a new major, use an explicit
-`corepack use {name}@latest` call (or simply `corepack use {name}`).
-
-## Environment Variables
-
-- `COREPACK_DEFAULT_TO_LATEST` can be set to `0` in order to instruct Corepack
- not to lookup on the remote registry for the latest version of the selected
- package manager, and to not update the Last Known Good version when it
- downloads a new version of the same major line.
-
-- `COREPACK_ENABLE_DOWNLOAD_PROMPT` can be set to `0` to
- prevent Corepack showing the URL when it needs to download software, or can be
- set to `1` to have the URL shown. By default, when Corepack is called
- explicitly (e.g. `corepack pnpm …`), it is set to `0`; when Corepack is called
- implicitely (e.g. `pnpm …`), it is set to `1`.
- When standard input is a TTY and no CI environment is detected, Corepack will
- ask for user input before starting the download.
-
-- `COREPACK_ENABLE_UNSAFE_CUSTOM_URLS` can be set to `1` to allow use of
- custom URLs to load a package manager known by Corepack (`yarn`, `npm`, and
- `pnpm`).
-
-- `COREPACK_ENABLE_NETWORK` can be set to `0` to prevent Corepack from accessing
- the network (in which case you'll be responsible for hydrating the package
- manager versions that will be required for the projects you'll run, using
- `corepack install -g --cache-only`).
-
-- `COREPACK_ENABLE_STRICT` can be set to `0` to prevent Corepack from throwing
- error if the package manager does not correspond to the one defined for the
- current project. This means that if a user is using the package manager
- specified in the current project, it will use the version specified by the
- project's `packageManager` field. But if the user is using other package
- manager different from the one specified for the current project, it will use
- the system-wide package manager version.
-
-- `COREPACK_ENABLE_PROJECT_SPEC` can be set to `0` to prevent Corepack from
- checking if the package manager corresponds to the one defined for the current
- project. This means that it will always use the system-wide package manager
- regardless of what is being specified in the project's `packageManager` field.
-
-- `COREPACK_HOME` can be set in order to define where Corepack should install
- the package managers. By default it is set to `%LOCALAPPDATA%\node\corepack`
- on Windows, and to `$HOME/.cache/node/corepack` everywhere else.
-
-- `COREPACK_ROOT` has no functional impact on Corepack itself; it's
- automatically being set in your environment by Corepack when it shells out to
- the underlying package managers, so that they can feature-detect its presence
- (useful for commands like `yarn init`).
-
-- `COREPACK_NPM_REGISTRY` sets the registry base url used when retrieving
- package managers from npm. Default value is `https://registry.npmjs.org`
-
-- `COREPACK_NPM_TOKEN` sets a Bearer token authorization header when connecting
- to a npm type registry.
-
-- `COREPACK_NPM_USERNAME` and `COREPACK_NPM_PASSWORD` to set a Basic
- authorization header when connecting to a npm type registry. Note that both
- environment variables are required and as plain text. If you want to send an
- empty password, explicitly set `COREPACK_NPM_PASSWORD` to an empty string.
-
-- `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` are supported through
- [`node-proxy-agent`](https://github.com/TooTallNate/node-proxy-agent).
-
-## Troubleshooting
-
-### Networking
-
-There are a wide variety of networking issues that can occur while running `corepack` commands. Things to check:
-
-- Make sure your network connection is active.
-- Make sure the host for your request can be resolved by your DNS; try using
- `curl [URL]` (ipv4) and `curl -6 [URL]` (ipv6) from your shell.
-- Check your proxy settings (see [Environment Variables](#environment-variables)).
-
-## Contributing
-
-See [`CONTRIBUTING.md`](./CONTRIBUTING.md).
-
-## Design
-
-See [`DESIGN.md`](/DESIGN.md).
-
-## License (MIT)
-
-See [`LICENSE.md`](./LICENSE.md).
diff --git a/deps/corepack/dist/corepack.js b/deps/corepack/dist/corepack.js
deleted file mode 100755
index b1b22662466f86..00000000000000
--- a/deps/corepack/dist/corepack.js
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env node
-process.env.COREPACK_ENABLE_DOWNLOAD_PROMPT??='0';
-require('./lib/corepack.cjs').runMain(process.argv.slice(2));
\ No newline at end of file
diff --git a/deps/corepack/dist/lib/corepack.cjs b/deps/corepack/dist/lib/corepack.cjs
deleted file mode 100644
index 3d8e819e7997e7..00000000000000
--- a/deps/corepack/dist/lib/corepack.cjs
+++ /dev/null
@@ -1,24301 +0,0 @@
-"use strict";
-var __create = Object.create;
-var __defProp = Object.defineProperty;
-var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
-var __getOwnPropNames = Object.getOwnPropertyNames;
-var __getProtoOf = Object.getPrototypeOf;
-var __hasOwnProp = Object.prototype.hasOwnProperty;
-var __esm = (fn2, res) => function __init() {
- return fn2 && (res = (0, fn2[__getOwnPropNames(fn2)[0]])(fn2 = 0)), res;
-};
-var __commonJS = (cb, mod) => function __require() {
- return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
-};
-var __export = (target, all) => {
- for (var name in all)
- __defProp(target, name, { get: all[name], enumerable: true });
-};
-var __copyProps = (to, from, except, desc) => {
- 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 });
- }
- return to;
-};
-var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
- // If the importer is in node compatibility mode or this is not an ESM
- // file that has been converted to a CommonJS file using a Babel-
- // compatible transform (i.e. "__esModule" has not been set), then set
- // "default" to the CommonJS "module.exports" for node compatibility.
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
- mod
-));
-var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
-
-// .yarn/cache/typanion-npm-3.14.0-8af344c436-8b03b19844.zip/node_modules/typanion/lib/index.mjs
-var lib_exports = {};
-__export(lib_exports, {
- KeyRelationship: () => KeyRelationship,
- TypeAssertionError: () => TypeAssertionError,
- applyCascade: () => applyCascade,
- as: () => as,
- assert: () => assert,
- assertWithErrors: () => assertWithErrors,
- cascade: () => cascade,
- fn: () => fn,
- hasAtLeastOneKey: () => hasAtLeastOneKey,
- hasExactLength: () => hasExactLength,
- hasForbiddenKeys: () => hasForbiddenKeys,
- hasKeyRelationship: () => hasKeyRelationship,
- hasMaxLength: () => hasMaxLength,
- hasMinLength: () => hasMinLength,
- hasMutuallyExclusiveKeys: () => hasMutuallyExclusiveKeys,
- hasRequiredKeys: () => hasRequiredKeys,
- hasUniqueItems: () => hasUniqueItems,
- isArray: () => isArray,
- isAtLeast: () => isAtLeast,
- isAtMost: () => isAtMost,
- isBase64: () => isBase64,
- isBoolean: () => isBoolean,
- isDate: () => isDate,
- isDict: () => isDict,
- isEnum: () => isEnum,
- isHexColor: () => isHexColor,
- isISO8601: () => isISO8601,
- isInExclusiveRange: () => isInExclusiveRange,
- isInInclusiveRange: () => isInInclusiveRange,
- isInstanceOf: () => isInstanceOf,
- isInteger: () => isInteger,
- isJSON: () => isJSON,
- isLiteral: () => isLiteral,
- isLowerCase: () => isLowerCase,
- isMap: () => isMap,
- isNegative: () => isNegative,
- isNullable: () => isNullable,
- isNumber: () => isNumber,
- isObject: () => isObject,
- isOneOf: () => isOneOf,
- isOptional: () => isOptional,
- isPartial: () => isPartial,
- isPayload: () => isPayload,
- isPositive: () => isPositive,
- isRecord: () => isRecord,
- isSet: () => isSet,
- isString: () => isString,
- isTuple: () => isTuple,
- isUUID4: () => isUUID4,
- isUnknown: () => isUnknown,
- isUpperCase: () => isUpperCase,
- makeTrait: () => makeTrait,
- makeValidator: () => makeValidator,
- matchesRegExp: () => matchesRegExp,
- softAssert: () => softAssert
-});
-function getPrintable(value) {
- if (value === null)
- return `null`;
- if (value === void 0)
- return `undefined`;
- if (value === ``)
- return `an empty string`;
- if (typeof value === "symbol")
- return `<${value.toString()}>`;
- if (Array.isArray(value))
- return `an array`;
- return JSON.stringify(value);
-}
-function getPrintableArray(value, conjunction) {
- if (value.length === 0)
- return `nothing`;
- if (value.length === 1)
- return getPrintable(value[0]);
- const rest = value.slice(0, -1);
- const trailing = value[value.length - 1];
- const separator = value.length > 2 ? `, ${conjunction} ` : ` ${conjunction} `;
- return `${rest.map((value2) => getPrintable(value2)).join(`, `)}${separator}${getPrintable(trailing)}`;
-}
-function computeKey(state, key) {
- var _a, _b, _c;
- if (typeof key === `number`) {
- return `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}[${key}]`;
- } else if (simpleKeyRegExp.test(key)) {
- return `${(_b = state === null || state === void 0 ? void 0 : state.p) !== null && _b !== void 0 ? _b : ``}.${key}`;
- } else {
- return `${(_c = state === null || state === void 0 ? void 0 : state.p) !== null && _c !== void 0 ? _c : `.`}[${JSON.stringify(key)}]`;
- }
-}
-function plural(n, singular, plural2) {
- return n === 1 ? singular : plural2;
-}
-function pushError({ errors, p } = {}, message) {
- errors === null || errors === void 0 ? void 0 : errors.push(`${p !== null && p !== void 0 ? p : `.`}: ${message}`);
- return false;
-}
-function makeSetter(target, key) {
- return (v) => {
- target[key] = v;
- };
-}
-function makeCoercionFn(target, key) {
- return (v) => {
- const previous = target[key];
- target[key] = v;
- return makeCoercionFn(target, key).bind(null, previous);
- };
-}
-function makeLazyCoercionFn(fn2, orig, generator) {
- const commit = () => {
- fn2(generator());
- return revert;
- };
- const revert = () => {
- fn2(orig);
- return commit;
- };
- return commit;
-}
-function isUnknown() {
- return makeValidator({
- test: (value, state) => {
- return true;
- }
- });
-}
-function isLiteral(expected) {
- return makeValidator({
- test: (value, state) => {
- if (value !== expected)
- return pushError(state, `Expected ${getPrintable(expected)} (got ${getPrintable(value)})`);
- return true;
- }
- });
-}
-function isString() {
- return makeValidator({
- test: (value, state) => {
- if (typeof value !== `string`)
- return pushError(state, `Expected a string (got ${getPrintable(value)})`);
- return true;
- }
- });
-}
-function isEnum(enumSpec) {
- const valuesArray = Array.isArray(enumSpec) ? enumSpec : Object.values(enumSpec);
- const isAlphaNum = valuesArray.every((item) => typeof item === "string" || typeof item === "number");
- const values = new Set(valuesArray);
- if (values.size === 1)
- return isLiteral([...values][0]);
- return makeValidator({
- test: (value, state) => {
- if (!values.has(value)) {
- if (isAlphaNum) {
- return pushError(state, `Expected one of ${getPrintableArray(valuesArray, `or`)} (got ${getPrintable(value)})`);
- } else {
- return pushError(state, `Expected a valid enumeration value (got ${getPrintable(value)})`);
- }
- }
- return true;
- }
- });
-}
-function isBoolean() {
- return makeValidator({
- test: (value, state) => {
- var _a;
- if (typeof value !== `boolean`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- const coercion = BOOLEAN_COERCIONS.get(value);
- if (typeof coercion !== `undefined`) {
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]);
- return true;
- }
- }
- return pushError(state, `Expected a boolean (got ${getPrintable(value)})`);
- }
- return true;
- }
- });
-}
-function isNumber() {
- return makeValidator({
- test: (value, state) => {
- var _a;
- if (typeof value !== `number`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- let coercion;
- if (typeof value === `string`) {
- let val;
- try {
- val = JSON.parse(value);
- } catch (_b) {
- }
- if (typeof val === `number`) {
- if (JSON.stringify(val) === value) {
- coercion = val;
- } else {
- return pushError(state, `Received a number that can't be safely represented by the runtime (${value})`);
- }
- }
- }
- if (typeof coercion !== `undefined`) {
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]);
- return true;
- }
- }
- return pushError(state, `Expected a number (got ${getPrintable(value)})`);
- }
- return true;
- }
- });
-}
-function isPayload(spec) {
- return makeValidator({
- test: (value, state) => {
- var _a;
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) === `undefined`)
- return pushError(state, `The isPayload predicate can only be used with coercion enabled`);
- if (typeof state.coercion === `undefined`)
- return pushError(state, `Unbound coercion result`);
- if (typeof value !== `string`)
- return pushError(state, `Expected a string (got ${getPrintable(value)})`);
- let inner;
- try {
- inner = JSON.parse(value);
- } catch (_b) {
- return pushError(state, `Expected a JSON string (got ${getPrintable(value)})`);
- }
- const wrapper = { value: inner };
- if (!spec(inner, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(wrapper, `value`) })))
- return false;
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, wrapper.value)]);
- return true;
- }
- });
-}
-function isDate() {
- return makeValidator({
- test: (value, state) => {
- var _a;
- if (!(value instanceof Date)) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- let coercion;
- if (typeof value === `string` && iso8601RegExp.test(value)) {
- coercion = new Date(value);
- } else {
- let timestamp;
- if (typeof value === `string`) {
- let val;
- try {
- val = JSON.parse(value);
- } catch (_b) {
- }
- if (typeof val === `number`) {
- timestamp = val;
- }
- } else if (typeof value === `number`) {
- timestamp = value;
- }
- if (typeof timestamp !== `undefined`) {
- if (Number.isSafeInteger(timestamp) || !Number.isSafeInteger(timestamp * 1e3)) {
- coercion = new Date(timestamp * 1e3);
- } else {
- return pushError(state, `Received a timestamp that can't be safely represented by the runtime (${value})`);
- }
- }
- }
- if (typeof coercion !== `undefined`) {
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, coercion)]);
- return true;
- }
- }
- return pushError(state, `Expected a date (got ${getPrintable(value)})`);
- }
- return true;
- }
- });
-}
-function isArray(spec, { delimiter } = {}) {
- return makeValidator({
- test: (value, state) => {
- var _a;
- const originalValue = value;
- if (typeof value === `string` && typeof delimiter !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- value = value.split(delimiter);
- }
- }
- if (!Array.isArray(value))
- return pushError(state, `Expected an array (got ${getPrintable(value)})`);
- let valid = true;
- for (let t = 0, T = value.length; t < T; ++t) {
- valid = spec(value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid;
- if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
- break;
- }
- }
- if (value !== originalValue)
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]);
- return valid;
- }
- });
-}
-function isSet(spec, { delimiter } = {}) {
- const isArrayValidator = isArray(spec, { delimiter });
- return makeValidator({
- test: (value, state) => {
- var _a, _b;
- if (Object.getPrototypeOf(value).toString() === `[object Set]`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- const originalValues = [...value];
- const coercedValues = [...value];
- if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 })))
- return false;
- const updateValue = () => coercedValues.some((val, t) => val !== originalValues[t]) ? new Set(coercedValues) : value;
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]);
- return true;
- } else {
- let valid = true;
- for (const subValue of value) {
- valid = spec(subValue, Object.assign({}, state)) && valid;
- if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
- break;
- }
- }
- return valid;
- }
- }
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- const store = { value };
- if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) })))
- return false;
- state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Set(store.value))]);
- return true;
- }
- return pushError(state, `Expected a set (got ${getPrintable(value)})`);
- }
- });
-}
-function isMap(keySpec, valueSpec) {
- const isArrayValidator = isArray(isTuple([keySpec, valueSpec]));
- const isRecordValidator = isRecord(valueSpec, { keys: keySpec });
- return makeValidator({
- test: (value, state) => {
- var _a, _b, _c;
- if (Object.getPrototypeOf(value).toString() === `[object Map]`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- const originalValues = [...value];
- const coercedValues = [...value];
- if (!isArrayValidator(coercedValues, Object.assign(Object.assign({}, state), { coercion: void 0 })))
- return false;
- const updateValue = () => coercedValues.some((val, t) => val[0] !== originalValues[t][0] || val[1] !== originalValues[t][1]) ? new Map(coercedValues) : value;
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, makeLazyCoercionFn(state.coercion, value, updateValue)]);
- return true;
- } else {
- let valid = true;
- for (const [key, subValue] of value) {
- valid = keySpec(key, Object.assign({}, state)) && valid;
- if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
- break;
- }
- valid = valueSpec(subValue, Object.assign(Object.assign({}, state), { p: computeKey(state, key) })) && valid;
- if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
- break;
- }
- }
- return valid;
- }
- }
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- const store = { value };
- if (Array.isArray(value)) {
- if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 })))
- return false;
- state.coercions.push([(_b = state.p) !== null && _b !== void 0 ? _b : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(store.value))]);
- return true;
- } else {
- if (!isRecordValidator(value, Object.assign(Object.assign({}, state), { coercion: makeCoercionFn(store, `value`) })))
- return false;
- state.coercions.push([(_c = state.p) !== null && _c !== void 0 ? _c : `.`, makeLazyCoercionFn(state.coercion, value, () => new Map(Object.entries(store.value)))]);
- return true;
- }
- }
- return pushError(state, `Expected a map (got ${getPrintable(value)})`);
- }
- });
-}
-function isTuple(spec, { delimiter } = {}) {
- const lengthValidator = hasExactLength(spec.length);
- return makeValidator({
- test: (value, state) => {
- var _a;
- if (typeof value === `string` && typeof delimiter !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- value = value.split(delimiter);
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]);
- }
- }
- if (!Array.isArray(value))
- return pushError(state, `Expected a tuple (got ${getPrintable(value)})`);
- let valid = lengthValidator(value, Object.assign({}, state));
- for (let t = 0, T = value.length; t < T && t < spec.length; ++t) {
- valid = spec[t](value[t], Object.assign(Object.assign({}, state), { p: computeKey(state, t), coercion: makeCoercionFn(value, t) })) && valid;
- if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
- break;
- }
- }
- return valid;
- }
- });
-}
-function isRecord(spec, { keys: keySpec = null } = {}) {
- const isArrayValidator = isArray(isTuple([keySpec !== null && keySpec !== void 0 ? keySpec : isString(), spec]));
- return makeValidator({
- test: (value, state) => {
- var _a;
- if (Array.isArray(value)) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- if (!isArrayValidator(value, Object.assign(Object.assign({}, state), { coercion: void 0 })))
- return false;
- value = Object.fromEntries(value);
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, value)]);
- return true;
- }
- }
- if (typeof value !== `object` || value === null)
- return pushError(state, `Expected an object (got ${getPrintable(value)})`);
- const keys = Object.keys(value);
- let valid = true;
- for (let t = 0, T = keys.length; t < T && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null); ++t) {
- const key = keys[t];
- const sub = value[key];
- if (key === `__proto__` || key === `constructor`) {
- valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`);
- continue;
- }
- if (keySpec !== null && !keySpec(key, state)) {
- valid = false;
- continue;
- }
- if (!spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) }))) {
- valid = false;
- continue;
- }
- }
- return valid;
- }
- });
-}
-function isDict(spec, opts = {}) {
- return isRecord(spec, opts);
-}
-function isObject(props, { extra: extraSpec = null } = {}) {
- const specKeys = Object.keys(props);
- const validator = makeValidator({
- test: (value, state) => {
- if (typeof value !== `object` || value === null)
- return pushError(state, `Expected an object (got ${getPrintable(value)})`);
- const keys = /* @__PURE__ */ new Set([...specKeys, ...Object.keys(value)]);
- const extra = {};
- let valid = true;
- for (const key of keys) {
- if (key === `constructor` || key === `__proto__`) {
- valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Unsafe property name`);
- } else {
- const spec = Object.prototype.hasOwnProperty.call(props, key) ? props[key] : void 0;
- const sub = Object.prototype.hasOwnProperty.call(value, key) ? value[key] : void 0;
- if (typeof spec !== `undefined`) {
- valid = spec(sub, Object.assign(Object.assign({}, state), { p: computeKey(state, key), coercion: makeCoercionFn(value, key) })) && valid;
- } else if (extraSpec === null) {
- valid = pushError(Object.assign(Object.assign({}, state), { p: computeKey(state, key) }), `Extraneous property (got ${getPrintable(sub)})`);
- } else {
- Object.defineProperty(extra, key, {
- enumerable: true,
- get: () => sub,
- set: makeSetter(value, key)
- });
- }
- }
- if (!valid && (state === null || state === void 0 ? void 0 : state.errors) == null) {
- break;
- }
- }
- if (extraSpec !== null && (valid || (state === null || state === void 0 ? void 0 : state.errors) != null))
- valid = extraSpec(extra, state) && valid;
- return valid;
- }
- });
- return Object.assign(validator, {
- properties: props
- });
-}
-function isPartial(props) {
- return isObject(props, { extra: isRecord(isUnknown()) });
-}
-function makeTrait(value) {
- return () => {
- return value;
- };
-}
-function makeValidator({ test }) {
- return makeTrait(test)();
-}
-function assert(val, validator) {
- if (!validator(val)) {
- throw new TypeAssertionError();
- }
-}
-function assertWithErrors(val, validator) {
- const errors = [];
- if (!validator(val, { errors })) {
- throw new TypeAssertionError({ errors });
- }
-}
-function softAssert(val, validator) {
-}
-function as(value, validator, { coerce = false, errors: storeErrors, throw: throws } = {}) {
- const errors = storeErrors ? [] : void 0;
- if (!coerce) {
- if (validator(value, { errors })) {
- return throws ? value : { value, errors: void 0 };
- } else if (!throws) {
- return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true };
- } else {
- throw new TypeAssertionError({ errors });
- }
- }
- const state = { value };
- const coercion = makeCoercionFn(state, `value`);
- const coercions = [];
- if (!validator(value, { errors, coercion, coercions })) {
- if (!throws) {
- return { value: void 0, errors: errors !== null && errors !== void 0 ? errors : true };
- } else {
- throw new TypeAssertionError({ errors });
- }
- }
- for (const [, apply] of coercions)
- apply();
- if (throws) {
- return state.value;
- } else {
- return { value: state.value, errors: void 0 };
- }
-}
-function fn(validators, fn2) {
- const isValidArgList = isTuple(validators);
- return (...args) => {
- const check = isValidArgList(args);
- if (!check)
- throw new TypeAssertionError();
- return fn2(...args);
- };
-}
-function hasMinLength(length) {
- return makeValidator({
- test: (value, state) => {
- if (!(value.length >= length))
- return pushError(state, `Expected to have a length of at least ${length} elements (got ${value.length})`);
- return true;
- }
- });
-}
-function hasMaxLength(length) {
- return makeValidator({
- test: (value, state) => {
- if (!(value.length <= length))
- return pushError(state, `Expected to have a length of at most ${length} elements (got ${value.length})`);
- return true;
- }
- });
-}
-function hasExactLength(length) {
- return makeValidator({
- test: (value, state) => {
- if (!(value.length === length))
- return pushError(state, `Expected to have a length of exactly ${length} elements (got ${value.length})`);
- return true;
- }
- });
-}
-function hasUniqueItems({ map } = {}) {
- return makeValidator({
- test: (value, state) => {
- const set = /* @__PURE__ */ new Set();
- const dup = /* @__PURE__ */ new Set();
- for (let t = 0, T = value.length; t < T; ++t) {
- const sub = value[t];
- const key = typeof map !== `undefined` ? map(sub) : sub;
- if (set.has(key)) {
- if (dup.has(key))
- continue;
- pushError(state, `Expected to contain unique elements; got a duplicate with ${getPrintable(value)}`);
- dup.add(key);
- } else {
- set.add(key);
- }
- }
- return dup.size === 0;
- }
- });
-}
-function isNegative() {
- return makeValidator({
- test: (value, state) => {
- if (!(value <= 0))
- return pushError(state, `Expected to be negative (got ${value})`);
- return true;
- }
- });
-}
-function isPositive() {
- return makeValidator({
- test: (value, state) => {
- if (!(value >= 0))
- return pushError(state, `Expected to be positive (got ${value})`);
- return true;
- }
- });
-}
-function isAtLeast(n) {
- return makeValidator({
- test: (value, state) => {
- if (!(value >= n))
- return pushError(state, `Expected to be at least ${n} (got ${value})`);
- return true;
- }
- });
-}
-function isAtMost(n) {
- return makeValidator({
- test: (value, state) => {
- if (!(value <= n))
- return pushError(state, `Expected to be at most ${n} (got ${value})`);
- return true;
- }
- });
-}
-function isInInclusiveRange(a, b) {
- return makeValidator({
- test: (value, state) => {
- if (!(value >= a && value <= b))
- return pushError(state, `Expected to be in the [${a}; ${b}] range (got ${value})`);
- return true;
- }
- });
-}
-function isInExclusiveRange(a, b) {
- return makeValidator({
- test: (value, state) => {
- if (!(value >= a && value < b))
- return pushError(state, `Expected to be in the [${a}; ${b}[ range (got ${value})`);
- return true;
- }
- });
-}
-function isInteger({ unsafe = false } = {}) {
- return makeValidator({
- test: (value, state) => {
- if (value !== Math.round(value))
- return pushError(state, `Expected to be an integer (got ${value})`);
- if (!unsafe && !Number.isSafeInteger(value))
- return pushError(state, `Expected to be a safe integer (got ${value})`);
- return true;
- }
- });
-}
-function matchesRegExp(regExp) {
- return makeValidator({
- test: (value, state) => {
- if (!regExp.test(value))
- return pushError(state, `Expected to match the pattern ${regExp.toString()} (got ${getPrintable(value)})`);
- return true;
- }
- });
-}
-function isLowerCase() {
- return makeValidator({
- test: (value, state) => {
- if (value !== value.toLowerCase())
- return pushError(state, `Expected to be all-lowercase (got ${value})`);
- return true;
- }
- });
-}
-function isUpperCase() {
- return makeValidator({
- test: (value, state) => {
- if (value !== value.toUpperCase())
- return pushError(state, `Expected to be all-uppercase (got ${value})`);
- return true;
- }
- });
-}
-function isUUID4() {
- return makeValidator({
- test: (value, state) => {
- if (!uuid4RegExp.test(value))
- return pushError(state, `Expected to be a valid UUID v4 (got ${getPrintable(value)})`);
- return true;
- }
- });
-}
-function isISO8601() {
- return makeValidator({
- test: (value, state) => {
- if (!iso8601RegExp.test(value))
- return pushError(state, `Expected to be a valid ISO 8601 date string (got ${getPrintable(value)})`);
- return true;
- }
- });
-}
-function isHexColor({ alpha = false }) {
- return makeValidator({
- test: (value, state) => {
- const res = alpha ? colorStringRegExp.test(value) : colorStringAlphaRegExp.test(value);
- if (!res)
- return pushError(state, `Expected to be a valid hexadecimal color string (got ${getPrintable(value)})`);
- return true;
- }
- });
-}
-function isBase64() {
- return makeValidator({
- test: (value, state) => {
- if (!base64RegExp.test(value))
- return pushError(state, `Expected to be a valid base 64 string (got ${getPrintable(value)})`);
- return true;
- }
- });
-}
-function isJSON(spec = isUnknown()) {
- return makeValidator({
- test: (value, state) => {
- let data;
- try {
- data = JSON.parse(value);
- } catch (_a) {
- return pushError(state, `Expected to be a valid JSON string (got ${getPrintable(value)})`);
- }
- return spec(data, state);
- }
- });
-}
-function cascade(spec, ...followups) {
- const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups;
- return makeValidator({
- test: (value, state) => {
- var _a, _b;
- const context = { value };
- const subCoercion = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? makeCoercionFn(context, `value`) : void 0;
- const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0;
- if (!spec(value, Object.assign(Object.assign({}, state), { coercion: subCoercion, coercions: subCoercions })))
- return false;
- const reverts = [];
- if (typeof subCoercions !== `undefined`)
- for (const [, coercion] of subCoercions)
- reverts.push(coercion());
- try {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined`) {
- if (context.value !== value) {
- if (typeof (state === null || state === void 0 ? void 0 : state.coercion) === `undefined`)
- return pushError(state, `Unbound coercion result`);
- state.coercions.push([(_a = state.p) !== null && _a !== void 0 ? _a : `.`, state.coercion.bind(null, context.value)]);
- }
- (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions);
- }
- return resolvedFollowups.every((spec2) => {
- return spec2(context.value, state);
- });
- } finally {
- for (const revert of reverts) {
- revert();
- }
- }
- }
- });
-}
-function applyCascade(spec, ...followups) {
- const resolvedFollowups = Array.isArray(followups[0]) ? followups[0] : followups;
- return cascade(spec, resolvedFollowups);
-}
-function isOptional(spec) {
- return makeValidator({
- test: (value, state) => {
- if (typeof value === `undefined`)
- return true;
- return spec(value, state);
- }
- });
-}
-function isNullable(spec) {
- return makeValidator({
- test: (value, state) => {
- if (value === null)
- return true;
- return spec(value, state);
- }
- });
-}
-function hasRequiredKeys(requiredKeys, options) {
- var _a;
- const requiredSet = new Set(requiredKeys);
- const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
- return makeValidator({
- test: (value, state) => {
- const keys = new Set(Object.keys(value));
- const problems = [];
- for (const key of requiredSet)
- if (!check(keys, key, value))
- problems.push(key);
- if (problems.length > 0)
- return pushError(state, `Missing required ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`);
- return true;
- }
- });
-}
-function hasAtLeastOneKey(requiredKeys, options) {
- var _a;
- const requiredSet = new Set(requiredKeys);
- const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
- return makeValidator({
- test: (value, state) => {
- const keys = Object.keys(value);
- const valid = keys.some((key) => check(requiredSet, key, value));
- if (!valid)
- return pushError(state, `Missing at least one property from ${getPrintableArray(Array.from(requiredSet), `or`)}`);
- return true;
- }
- });
-}
-function hasForbiddenKeys(forbiddenKeys, options) {
- var _a;
- const forbiddenSet = new Set(forbiddenKeys);
- const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
- return makeValidator({
- test: (value, state) => {
- const keys = new Set(Object.keys(value));
- const problems = [];
- for (const key of forbiddenSet)
- if (check(keys, key, value))
- problems.push(key);
- if (problems.length > 0)
- return pushError(state, `Forbidden ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, `and`)}`);
- return true;
- }
- });
-}
-function hasMutuallyExclusiveKeys(exclusiveKeys, options) {
- var _a;
- const exclusiveSet = new Set(exclusiveKeys);
- const check = checks[(_a = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _a !== void 0 ? _a : "missing"];
- return makeValidator({
- test: (value, state) => {
- const keys = new Set(Object.keys(value));
- const used = [];
- for (const key of exclusiveSet)
- if (check(keys, key, value))
- used.push(key);
- if (used.length > 1)
- return pushError(state, `Mutually exclusive properties ${getPrintableArray(used, `and`)}`);
- return true;
- }
- });
-}
-function hasKeyRelationship(subject, relationship, others, options) {
- var _a, _b;
- const skipped = new Set((_a = options === null || options === void 0 ? void 0 : options.ignore) !== null && _a !== void 0 ? _a : []);
- const check = checks[(_b = options === null || options === void 0 ? void 0 : options.missingIf) !== null && _b !== void 0 ? _b : "missing"];
- const otherSet = new Set(others);
- const spec = keyRelationships[relationship];
- const conjunction = relationship === KeyRelationship.Forbids ? `or` : `and`;
- return makeValidator({
- test: (value, state) => {
- const keys = new Set(Object.keys(value));
- if (!check(keys, subject, value) || skipped.has(value[subject]))
- return true;
- const problems = [];
- for (const key of otherSet)
- if ((check(keys, key, value) && !skipped.has(value[key])) !== spec.expect)
- problems.push(key);
- if (problems.length >= 1)
- return pushError(state, `Property "${subject}" ${spec.message} ${plural(problems.length, `property`, `properties`)} ${getPrintableArray(problems, conjunction)}`);
- return true;
- }
- });
-}
-var simpleKeyRegExp, colorStringRegExp, colorStringAlphaRegExp, base64RegExp, uuid4RegExp, iso8601RegExp, BOOLEAN_COERCIONS, isInstanceOf, isOneOf, TypeAssertionError, checks, KeyRelationship, keyRelationships;
-var init_lib = __esm({
- ".yarn/cache/typanion-npm-3.14.0-8af344c436-8b03b19844.zip/node_modules/typanion/lib/index.mjs"() {
- simpleKeyRegExp = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
- colorStringRegExp = /^#[0-9a-f]{6}$/i;
- colorStringAlphaRegExp = /^#[0-9a-f]{6}([0-9a-f]{2})?$/i;
- base64RegExp = /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/;
- uuid4RegExp = /^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$/i;
- iso8601RegExp = /^(?:[1-9]\d{3}(-?)(?:(?:0[1-9]|1[0-2])\1(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])\1(?:29|30)|(?:0[13578]|1[02])(?:\1)31|00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[0-5]))|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)(?:(-?)02(?:\2)29|-?366))T(?:[01]\d|2[0-3])(:?)[0-5]\d(?:\3[0-5]\d)?(?:Z|[+-][01]\d(?:\3[0-5]\d)?)$/;
- BOOLEAN_COERCIONS = /* @__PURE__ */ new Map([
- [`true`, true],
- [`True`, true],
- [`1`, true],
- [1, true],
- [`false`, false],
- [`False`, false],
- [`0`, false],
- [0, false]
- ]);
- isInstanceOf = (constructor) => makeValidator({
- test: (value, state) => {
- if (!(value instanceof constructor))
- return pushError(state, `Expected an instance of ${constructor.name} (got ${getPrintable(value)})`);
- return true;
- }
- });
- isOneOf = (specs, { exclusive = false } = {}) => makeValidator({
- test: (value, state) => {
- var _a, _b, _c;
- const matches = [];
- const errorBuffer = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0;
- for (let t = 0, T = specs.length; t < T; ++t) {
- const subErrors = typeof (state === null || state === void 0 ? void 0 : state.errors) !== `undefined` ? [] : void 0;
- const subCoercions = typeof (state === null || state === void 0 ? void 0 : state.coercions) !== `undefined` ? [] : void 0;
- if (specs[t](value, Object.assign(Object.assign({}, state), { errors: subErrors, coercions: subCoercions, p: `${(_a = state === null || state === void 0 ? void 0 : state.p) !== null && _a !== void 0 ? _a : `.`}#${t + 1}` }))) {
- matches.push([`#${t + 1}`, subCoercions]);
- if (!exclusive) {
- break;
- }
- } else {
- errorBuffer === null || errorBuffer === void 0 ? void 0 : errorBuffer.push(subErrors[0]);
- }
- }
- if (matches.length === 1) {
- const [, subCoercions] = matches[0];
- if (typeof subCoercions !== `undefined`)
- (_b = state === null || state === void 0 ? void 0 : state.coercions) === null || _b === void 0 ? void 0 : _b.push(...subCoercions);
- return true;
- }
- if (matches.length > 1)
- pushError(state, `Expected to match exactly a single predicate (matched ${matches.join(`, `)})`);
- else
- (_c = state === null || state === void 0 ? void 0 : state.errors) === null || _c === void 0 ? void 0 : _c.push(...errorBuffer);
- return false;
- }
- });
- TypeAssertionError = class extends Error {
- constructor({ errors } = {}) {
- let errorMessage = `Type mismatch`;
- if (errors && errors.length > 0) {
- errorMessage += `
-`;
- for (const error of errors) {
- errorMessage += `
-- ${error}`;
- }
- }
- super(errorMessage);
- }
- };
- checks = {
- missing: (keys, key) => keys.has(key),
- undefined: (keys, key, value) => keys.has(key) && typeof value[key] !== `undefined`,
- nil: (keys, key, value) => keys.has(key) && value[key] != null,
- falsy: (keys, key, value) => keys.has(key) && !!value[key]
- };
- (function(KeyRelationship2) {
- KeyRelationship2["Forbids"] = "Forbids";
- KeyRelationship2["Requires"] = "Requires";
- })(KeyRelationship || (KeyRelationship = {}));
- keyRelationships = {
- [KeyRelationship.Forbids]: {
- expect: false,
- message: `forbids using`
- },
- [KeyRelationship.Requires]: {
- expect: true,
- message: `requires using`
- }
- };
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/constants.js
-var require_constants = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/constants.js"(exports, module2) {
- var SEMVER_SPEC_VERSION = "2.0.0";
- var MAX_LENGTH = 256;
- var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */
- 9007199254740991;
- var MAX_SAFE_COMPONENT_LENGTH = 16;
- var MAX_SAFE_BUILD_LENGTH = MAX_LENGTH - 6;
- var RELEASE_TYPES = [
- "major",
- "premajor",
- "minor",
- "preminor",
- "patch",
- "prepatch",
- "prerelease"
- ];
- module2.exports = {
- MAX_LENGTH,
- MAX_SAFE_COMPONENT_LENGTH,
- MAX_SAFE_BUILD_LENGTH,
- MAX_SAFE_INTEGER,
- RELEASE_TYPES,
- SEMVER_SPEC_VERSION,
- FLAG_INCLUDE_PRERELEASE: 1,
- FLAG_LOOSE: 2
- };
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/debug.js
-var require_debug = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/debug.js"(exports, module2) {
- 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.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/re.js
-var require_re = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/re.js"(exports, module2) {
- var {
- MAX_SAFE_COMPONENT_LENGTH,
- MAX_SAFE_BUILD_LENGTH,
- MAX_LENGTH
- } = require_constants();
- var debug2 = require_debug();
- exports = module2.exports = {};
- var re = exports.re = [];
- var safeRe = exports.safeRe = [];
- var src = exports.src = [];
- var t = exports.t = {};
- var R = 0;
- var LETTERDASHNUMBER = "[a-zA-Z0-9-]";
- var safeRegexReplacements = [
- ["\\s", 1],
- ["\\d", MAX_LENGTH],
- [LETTERDASHNUMBER, MAX_SAFE_BUILD_LENGTH]
- ];
- var makeSafeRegex = (value) => {
- for (const [token, max] of safeRegexReplacements) {
- value = value.split(`${token}*`).join(`${token}{0,${max}}`).split(`${token}+`).join(`${token}{1,${max}}`);
- }
- return value;
- };
- var createToken = (name, value, isGlobal) => {
- const safe = makeSafeRegex(value);
- const index = R++;
- debug2(name, index, value);
- t[name] = index;
- src[index] = value;
- re[index] = new RegExp(value, isGlobal ? "g" : void 0);
- safeRe[index] = new RegExp(safe, isGlobal ? "g" : void 0);
- };
- createToken("NUMERICIDENTIFIER", "0|[1-9]\\d*");
- createToken("NUMERICIDENTIFIERLOOSE", "\\d+");
- 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("PRERELEASE", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\.${src[t.PRERELEASEIDENTIFIER]})*))`);
- createToken("PRERELEASELOOSE", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);
- createToken("BUILDIDENTIFIER", `${LETTERDASHNUMBER}+`);
- createToken("BUILD", `(?:\\+(${src[t.BUILDIDENTIFIER]}(?:\\.${src[t.BUILDIDENTIFIER]})*))`);
- createToken("FULLPLAIN", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);
- createToken("FULL", `^${src[t.FULLPLAIN]}$`);
- createToken("LOOSEPLAIN", `[v=\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);
- createToken("LOOSE", `^${src[t.LOOSEPLAIN]}$`);
- createToken("GTLT", "((?:<|>)?=?)");
- createToken("XRANGEIDENTIFIERLOOSE", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);
- createToken("XRANGEIDENTIFIER", `${src[t.NUMERICIDENTIFIER]}|x|X|\\*`);
- createToken("XRANGEPLAIN", `[v=\\s]*(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:\\.(${src[t.XRANGEIDENTIFIER]})(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?)?)?`);
- createToken("XRANGEPLAINLOOSE", `[v=\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:\\.(${src[t.XRANGEIDENTIFIERLOOSE]})(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?)?)?`);
- createToken("XRANGE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAIN]}$`);
- createToken("XRANGELOOSE", `^${src[t.GTLT]}\\s*${src[t.XRANGEPLAINLOOSE]}$`);
- createToken("COERCEPLAIN", `${"(^|[^\\d])(\\d{1,"}${MAX_SAFE_COMPONENT_LENGTH}})(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?(?:\\.(\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?`);
- createToken("COERCE", `${src[t.COERCEPLAIN]}(?:$|[^\\d])`);
- createToken("COERCEFULL", src[t.COERCEPLAIN] + `(?:${src[t.PRERELEASE]})?(?:${src[t.BUILD]})?(?:$|[^\\d])`);
- createToken("COERCERTL", src[t.COERCE], true);
- createToken("COERCERTLFULL", src[t.COERCEFULL], true);
- createToken("LONETILDE", "(?:~>?)");
- createToken("TILDETRIM", `(\\s*)${src[t.LONETILDE]}\\s+`, true);
- exports.tildeTrimReplace = "$1~";
- createToken("TILDE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);
- createToken("TILDELOOSE", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);
- createToken("LONECARET", "(?:\\^)");
- createToken("CARETTRIM", `(\\s*)${src[t.LONECARET]}\\s+`, true);
- exports.caretTrimReplace = "$1^";
- createToken("CARET", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);
- createToken("CARETLOOSE", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);
- createToken("COMPARATORLOOSE", `^${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]})$|^$`);
- createToken("COMPARATOR", `^${src[t.GTLT]}\\s*(${src[t.FULLPLAIN]})$|^$`);
- createToken("COMPARATORTRIM", `(\\s*)${src[t.GTLT]}\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);
- exports.comparatorTrimReplace = "$1$2$3";
- createToken("HYPHENRANGE", `^\\s*(${src[t.XRANGEPLAIN]})\\s+-\\s+(${src[t.XRANGEPLAIN]})\\s*$`);
- createToken("HYPHENRANGELOOSE", `^\\s*(${src[t.XRANGEPLAINLOOSE]})\\s+-\\s+(${src[t.XRANGEPLAINLOOSE]})\\s*$`);
- createToken("STAR", "(<|>)?=?\\s*\\*");
- createToken("GTE0", "^\\s*>=\\s*0\\.0\\.0\\s*$");
- createToken("GTE0PRE", "^\\s*>=\\s*0\\.0\\.0-0\\s*$");
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/parse-options.js
-var require_parse_options = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/parse-options.js"(exports, module2) {
- var looseOption = Object.freeze({ loose: true });
- var emptyOpts = Object.freeze({});
- var parseOptions = (options) => {
- if (!options) {
- return emptyOpts;
- }
- if (typeof options !== "object") {
- return looseOption;
- }
- return options;
- };
- module2.exports = parseOptions;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/identifiers.js
-var require_identifiers = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/internal/identifiers.js"(exports, module2) {
- var numeric = /^[0-9]+$/;
- var compareIdentifiers = (a, b) => {
- const anum = numeric.test(a);
- const bnum = numeric.test(b);
- if (anum && bnum) {
- a = +a;
- b = +b;
- }
- return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;
- };
- var rcompareIdentifiers = (a, b) => compareIdentifiers(b, a);
- module2.exports = {
- compareIdentifiers,
- rcompareIdentifiers
- };
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/semver.js
-var require_semver = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/semver.js"(exports, module2) {
- var debug2 = require_debug();
- var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants();
- var { safeRe: re, t } = require_re();
- var parseOptions = require_parse_options();
- var { compareIdentifiers } = require_identifiers();
- var SemVer = class _SemVer {
- constructor(version2, options) {
- options = parseOptions(options);
- if (version2 instanceof _SemVer) {
- if (version2.loose === !!options.loose && version2.includePrerelease === !!options.includePrerelease) {
- return version2;
- } else {
- version2 = version2.version;
- }
- } else if (typeof version2 !== "string") {
- throw new TypeError(`Invalid version. Must be a string. Got type "${typeof version2}".`);
- }
- if (version2.length > MAX_LENGTH) {
- throw new TypeError(
- `version is longer than ${MAX_LENGTH} characters`
- );
- }
- debug2("SemVer", version2, options);
- this.options = options;
- this.loose = !!options.loose;
- this.includePrerelease = !!options.includePrerelease;
- const m = version2.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL]);
- if (!m) {
- throw new TypeError(`Invalid Version: ${version2}`);
- }
- this.raw = version2;
- this.major = +m[1];
- this.minor = +m[2];
- this.patch = +m[3];
- if (this.major > MAX_SAFE_INTEGER || this.major < 0) {
- throw new TypeError("Invalid major version");
- }
- if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {
- throw new TypeError("Invalid minor version");
- }
- if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {
- throw new TypeError("Invalid patch version");
- }
- if (!m[4]) {
- this.prerelease = [];
- } else {
- this.prerelease = m[4].split(".").map((id) => {
- if (/^[0-9]+$/.test(id)) {
- const num = +id;
- if (num >= 0 && num < MAX_SAFE_INTEGER) {
- return num;
- }
- }
- return id;
- });
- }
- this.build = m[5] ? m[5].split(".") : [];
- this.format();
- }
- format() {
- this.version = `${this.major}.${this.minor}.${this.patch}`;
- if (this.prerelease.length) {
- this.version += `-${this.prerelease.join(".")}`;
- }
- return this.version;
- }
- toString() {
- return this.version;
- }
- compare(other) {
- debug2("SemVer.compare", this.version, this.options, other);
- if (!(other instanceof _SemVer)) {
- if (typeof other === "string" && other === this.version) {
- return 0;
- }
- other = new _SemVer(other, this.options);
- }
- if (other.version === this.version) {
- return 0;
- }
- return this.compareMain(other) || this.comparePre(other);
- }
- compareMain(other) {
- 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);
- }
- comparePre(other) {
- if (!(other instanceof _SemVer)) {
- other = new _SemVer(other, this.options);
- }
- if (this.prerelease.length && !other.prerelease.length) {
- return -1;
- } else if (!this.prerelease.length && other.prerelease.length) {
- return 1;
- } else if (!this.prerelease.length && !other.prerelease.length) {
- return 0;
- }
- let i = 0;
- do {
- const a = this.prerelease[i];
- const b = other.prerelease[i];
- debug2("prerelease compare", i, a, b);
- if (a === void 0 && b === void 0) {
- return 0;
- } else if (b === void 0) {
- return 1;
- } else if (a === void 0) {
- return -1;
- } else if (a === b) {
- continue;
- } else {
- return compareIdentifiers(a, b);
- }
- } while (++i);
- }
- compareBuild(other) {
- if (!(other instanceof _SemVer)) {
- other = new _SemVer(other, this.options);
- }
- let i = 0;
- do {
- const a = this.build[i];
- const b = other.build[i];
- debug2("prerelease compare", i, a, b);
- if (a === void 0 && b === void 0) {
- return 0;
- } else if (b === void 0) {
- return 1;
- } else if (a === void 0) {
- return -1;
- } else if (a === b) {
- continue;
- } else {
- return compareIdentifiers(a, b);
- }
- } while (++i);
- }
- // preminor will bump the version up to the next minor release, and immediately
- // down to pre-release. premajor and prepatch work the same way.
- inc(release, identifier, identifierBase) {
- switch (release) {
- case "premajor":
- this.prerelease.length = 0;
- this.patch = 0;
- this.minor = 0;
- this.major++;
- this.inc("pre", identifier, identifierBase);
- break;
- case "preminor":
- this.prerelease.length = 0;
- this.patch = 0;
- this.minor++;
- this.inc("pre", identifier, identifierBase);
- break;
- case "prepatch":
- this.prerelease.length = 0;
- this.inc("patch", identifier, identifierBase);
- this.inc("pre", identifier, identifierBase);
- break;
- case "prerelease":
- if (this.prerelease.length === 0) {
- this.inc("patch", identifier, identifierBase);
- }
- this.inc("pre", identifier, identifierBase);
- break;
- case "major":
- if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) {
- this.major++;
- }
- this.minor = 0;
- this.patch = 0;
- this.prerelease = [];
- break;
- case "minor":
- if (this.patch !== 0 || this.prerelease.length === 0) {
- this.minor++;
- }
- this.patch = 0;
- this.prerelease = [];
- break;
- case "patch":
- if (this.prerelease.length === 0) {
- this.patch++;
- }
- this.prerelease = [];
- break;
- case "pre": {
- const base = Number(identifierBase) ? 1 : 0;
- if (!identifier && identifierBase === false) {
- throw new Error("invalid increment argument: identifier is empty");
- }
- if (this.prerelease.length === 0) {
- this.prerelease = [base];
- } else {
- let i = this.prerelease.length;
- while (--i >= 0) {
- if (typeof this.prerelease[i] === "number") {
- this.prerelease[i]++;
- i = -2;
- }
- }
- if (i === -1) {
- if (identifier === this.prerelease.join(".") && identifierBase === false) {
- throw new Error("invalid increment argument: identifier already exists");
- }
- this.prerelease.push(base);
- }
- }
- if (identifier) {
- let prerelease = [identifier, base];
- if (identifierBase === false) {
- prerelease = [identifier];
- }
- if (compareIdentifiers(this.prerelease[0], identifier) === 0) {
- if (isNaN(this.prerelease[1])) {
- this.prerelease = prerelease;
- }
- } else {
- this.prerelease = prerelease;
- }
- }
- break;
- }
- default:
- throw new Error(`invalid increment argument: ${release}`);
- }
- this.raw = this.format();
- if (this.build.length) {
- this.raw += `+${this.build.join(".")}`;
- }
- return this;
- }
- };
- module2.exports = SemVer;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/parse.js
-var require_parse = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/parse.js"(exports, module2) {
- var SemVer = require_semver();
- var parse = (version2, options, throwErrors = false) => {
- if (version2 instanceof SemVer) {
- return version2;
- }
- try {
- return new SemVer(version2, options);
- } catch (er) {
- if (!throwErrors) {
- return null;
- }
- throw er;
- }
- };
- module2.exports = parse;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/valid.js
-var require_valid = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/valid.js"(exports, module2) {
- var parse = require_parse();
- var valid = (version2, options) => {
- const v = parse(version2, options);
- return v ? v.version : null;
- };
- module2.exports = valid;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/clean.js
-var require_clean = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/clean.js"(exports, module2) {
- var parse = require_parse();
- var clean = (version2, options) => {
- const s = parse(version2.trim().replace(/^[=v]+/, ""), options);
- return s ? s.version : null;
- };
- module2.exports = clean;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/inc.js
-var require_inc = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/inc.js"(exports, module2) {
- var SemVer = require_semver();
- var inc = (version2, release, options, identifier, identifierBase) => {
- if (typeof options === "string") {
- identifierBase = identifier;
- identifier = options;
- options = void 0;
- }
- try {
- return new SemVer(
- version2 instanceof SemVer ? version2.version : version2,
- options
- ).inc(release, identifier, identifierBase).version;
- } catch (er) {
- return null;
- }
- };
- module2.exports = inc;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/diff.js
-var require_diff = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/diff.js"(exports, module2) {
- var parse = require_parse();
- var diff = (version1, version2) => {
- const v1 = parse(version1, null, true);
- const v2 = parse(version2, null, true);
- const comparison = v1.compare(v2);
- if (comparison === 0) {
- return null;
- }
- const v1Higher = comparison > 0;
- const highVersion = v1Higher ? v1 : v2;
- const lowVersion = v1Higher ? v2 : v1;
- const highHasPre = !!highVersion.prerelease.length;
- const lowHasPre = !!lowVersion.prerelease.length;
- if (lowHasPre && !highHasPre) {
- if (!lowVersion.patch && !lowVersion.minor) {
- return "major";
- }
- if (highVersion.patch) {
- return "patch";
- }
- if (highVersion.minor) {
- return "minor";
- }
- return "major";
- }
- const prefix = highHasPre ? "pre" : "";
- if (v1.major !== v2.major) {
- return prefix + "major";
- }
- if (v1.minor !== v2.minor) {
- return prefix + "minor";
- }
- if (v1.patch !== v2.patch) {
- return prefix + "patch";
- }
- return "prerelease";
- };
- module2.exports = diff;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/major.js
-var require_major = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/major.js"(exports, module2) {
- var SemVer = require_semver();
- var major = (a, loose) => new SemVer(a, loose).major;
- module2.exports = major;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/minor.js
-var require_minor = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/minor.js"(exports, module2) {
- var SemVer = require_semver();
- var minor = (a, loose) => new SemVer(a, loose).minor;
- module2.exports = minor;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/patch.js
-var require_patch = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/patch.js"(exports, module2) {
- var SemVer = require_semver();
- var patch = (a, loose) => new SemVer(a, loose).patch;
- module2.exports = patch;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/prerelease.js
-var require_prerelease = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/prerelease.js"(exports, module2) {
- var parse = require_parse();
- var prerelease = (version2, options) => {
- const parsed = parse(version2, options);
- return parsed && parsed.prerelease.length ? parsed.prerelease : null;
- };
- module2.exports = prerelease;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare.js
-var require_compare = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare.js"(exports, module2) {
- var SemVer = require_semver();
- var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose));
- module2.exports = compare;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/rcompare.js
-var require_rcompare = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/rcompare.js"(exports, module2) {
- var compare = require_compare();
- var rcompare = (a, b, loose) => compare(b, a, loose);
- module2.exports = rcompare;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare-loose.js
-var require_compare_loose = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare-loose.js"(exports, module2) {
- var compare = require_compare();
- var compareLoose = (a, b) => compare(a, b, true);
- module2.exports = compareLoose;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare-build.js
-var require_compare_build = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/compare-build.js"(exports, module2) {
- var SemVer = require_semver();
- var compareBuild = (a, b, loose) => {
- const versionA = new SemVer(a, loose);
- const versionB = new SemVer(b, loose);
- return versionA.compare(versionB) || versionA.compareBuild(versionB);
- };
- module2.exports = compareBuild;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/sort.js
-var require_sort = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/sort.js"(exports, module2) {
- var compareBuild = require_compare_build();
- var sort = (list, loose) => list.sort((a, b) => compareBuild(a, b, loose));
- module2.exports = sort;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/rsort.js
-var require_rsort = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/rsort.js"(exports, module2) {
- var compareBuild = require_compare_build();
- var rsort = (list, loose) => list.sort((a, b) => compareBuild(b, a, loose));
- module2.exports = rsort;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/gt.js
-var require_gt = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/gt.js"(exports, module2) {
- var compare = require_compare();
- var gt = (a, b, loose) => compare(a, b, loose) > 0;
- module2.exports = gt;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/lt.js
-var require_lt = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/lt.js"(exports, module2) {
- var compare = require_compare();
- var lt = (a, b, loose) => compare(a, b, loose) < 0;
- module2.exports = lt;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/eq.js
-var require_eq = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/eq.js"(exports, module2) {
- var compare = require_compare();
- var eq = (a, b, loose) => compare(a, b, loose) === 0;
- module2.exports = eq;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/neq.js
-var require_neq = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/neq.js"(exports, module2) {
- var compare = require_compare();
- var neq = (a, b, loose) => compare(a, b, loose) !== 0;
- module2.exports = neq;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/gte.js
-var require_gte = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/gte.js"(exports, module2) {
- var compare = require_compare();
- var gte = (a, b, loose) => compare(a, b, loose) >= 0;
- module2.exports = gte;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/lte.js
-var require_lte = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/lte.js"(exports, module2) {
- var compare = require_compare();
- var lte = (a, b, loose) => compare(a, b, loose) <= 0;
- module2.exports = lte;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/cmp.js
-var require_cmp = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/cmp.js"(exports, module2) {
- var eq = require_eq();
- var neq = require_neq();
- var gt = require_gt();
- var gte = require_gte();
- var lt = require_lt();
- var lte = require_lte();
- var cmp = (a, op, b, loose) => {
- switch (op) {
- case "===":
- if (typeof a === "object") {
- a = a.version;
- }
- if (typeof b === "object") {
- b = b.version;
- }
- return a === b;
- case "!==":
- if (typeof a === "object") {
- a = a.version;
- }
- if (typeof b === "object") {
- b = b.version;
- }
- return a !== b;
- case "":
- case "=":
- case "==":
- return eq(a, b, loose);
- case "!=":
- return neq(a, b, loose);
- case ">":
- return gt(a, b, loose);
- case ">=":
- return gte(a, b, loose);
- case "<":
- return lt(a, b, loose);
- case "<=":
- return lte(a, b, loose);
- default:
- throw new TypeError(`Invalid operator: ${op}`);
- }
- };
- module2.exports = cmp;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/coerce.js
-var require_coerce = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/coerce.js"(exports, module2) {
- var SemVer = require_semver();
- var parse = require_parse();
- var { safeRe: re, t } = require_re();
- var coerce = (version2, options) => {
- if (version2 instanceof SemVer) {
- return version2;
- }
- if (typeof version2 === "number") {
- version2 = String(version2);
- }
- if (typeof version2 !== "string") {
- return null;
- }
- options = options || {};
- let match = null;
- if (!options.rtl) {
- match = version2.match(options.includePrerelease ? re[t.COERCEFULL] : re[t.COERCE]);
- } else {
- const coerceRtlRegex = options.includePrerelease ? re[t.COERCERTLFULL] : re[t.COERCERTL];
- let next;
- while ((next = coerceRtlRegex.exec(version2)) && (!match || match.index + match[0].length !== version2.length)) {
- if (!match || next.index + next[0].length !== match.index + match[0].length) {
- match = next;
- }
- coerceRtlRegex.lastIndex = next.index + next[1].length + next[2].length;
- }
- coerceRtlRegex.lastIndex = -1;
- }
- if (match === null) {
- return null;
- }
- const major = match[2];
- const minor = match[3] || "0";
- const patch = match[4] || "0";
- const prerelease = options.includePrerelease && match[5] ? `-${match[5]}` : "";
- const build = options.includePrerelease && match[6] ? `+${match[6]}` : "";
- return parse(`${major}.${minor}.${patch}${prerelease}${build}`, options);
- };
- module2.exports = coerce;
- }
-});
-
-// .yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/iterator.js
-var require_iterator = __commonJS({
- ".yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/iterator.js"(exports, module2) {
- "use strict";
- module2.exports = function(Yallist) {
- Yallist.prototype[Symbol.iterator] = function* () {
- for (let walker = this.head; walker; walker = walker.next) {
- yield walker.value;
- }
- };
- };
- }
-});
-
-// .yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/yallist.js
-var require_yallist = __commonJS({
- ".yarn/cache/yallist-npm-4.0.0-b493d9e907-2286b5e8db.zip/node_modules/yallist/yallist.js"(exports, module2) {
- "use strict";
- module2.exports = Yallist;
- Yallist.Node = Node;
- Yallist.create = Yallist;
- function Yallist(list) {
- var self2 = this;
- if (!(self2 instanceof Yallist)) {
- self2 = new Yallist();
- }
- self2.tail = null;
- self2.head = null;
- self2.length = 0;
- if (list && typeof list.forEach === "function") {
- list.forEach(function(item) {
- self2.push(item);
- });
- } else if (arguments.length > 0) {
- for (var i = 0, l = arguments.length; i < l; i++) {
- self2.push(arguments[i]);
- }
- }
- return self2;
- }
- Yallist.prototype.removeNode = function(node) {
- if (node.list !== this) {
- throw new Error("removing node which does not belong to this list");
- }
- var next = node.next;
- var 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;
- }
- node.list.length--;
- node.next = null;
- node.prev = null;
- node.list = null;
- return next;
- };
- Yallist.prototype.unshiftNode = function(node) {
- if (node === this.head) {
- return;
- }
- if (node.list) {
- node.list.removeNode(node);
- }
- var head = this.head;
- node.list = this;
- node.next = head;
- if (head) {
- head.prev = node;
- }
- this.head = node;
- if (!this.tail) {
- this.tail = node;
- }
- this.length++;
- };
- Yallist.prototype.pushNode = function(node) {
- if (node === this.tail) {
- return;
- }
- if (node.list) {
- node.list.removeNode(node);
- }
- var 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++;
- };
- Yallist.prototype.push = function() {
- for (var i = 0, l = arguments.length; i < l; i++) {
- push(this, arguments[i]);
- }
- return this.length;
- };
- Yallist.prototype.unshift = function() {
- for (var i = 0, l = arguments.length; i < l; i++) {
- unshift(this, arguments[i]);
- }
- return this.length;
- };
- Yallist.prototype.pop = function() {
- if (!this.tail) {
- return void 0;
- }
- var res = this.tail.value;
- this.tail = this.tail.prev;
- if (this.tail) {
- this.tail.next = null;
- } else {
- this.head = null;
- }
- this.length--;
- return res;
- };
- Yallist.prototype.shift = function() {
- if (!this.head) {
- return void 0;
- }
- var res = this.head.value;
- this.head = this.head.next;
- if (this.head) {
- this.head.prev = null;
- } else {
- this.tail = null;
- }
- this.length--;
- return res;
- };
- Yallist.prototype.forEach = function(fn2, thisp) {
- thisp = thisp || this;
- for (var walker = this.head, i = 0; walker !== null; i++) {
- fn2.call(thisp, walker.value, i, this);
- walker = walker.next;
- }
- };
- Yallist.prototype.forEachReverse = function(fn2, thisp) {
- thisp = thisp || this;
- for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {
- fn2.call(thisp, walker.value, i, this);
- walker = walker.prev;
- }
- };
- Yallist.prototype.get = function(n) {
- for (var i = 0, walker = this.head; walker !== null && i < n; i++) {
- walker = walker.next;
- }
- if (i === n && walker !== null) {
- return walker.value;
- }
- };
- Yallist.prototype.getReverse = function(n) {
- for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {
- walker = walker.prev;
- }
- if (i === n && walker !== null) {
- return walker.value;
- }
- };
- Yallist.prototype.map = function(fn2, thisp) {
- thisp = thisp || this;
- var res = new Yallist();
- for (var walker = this.head; walker !== null; ) {
- res.push(fn2.call(thisp, walker.value, this));
- walker = walker.next;
- }
- return res;
- };
- Yallist.prototype.mapReverse = function(fn2, thisp) {
- thisp = thisp || this;
- var res = new Yallist();
- for (var walker = this.tail; walker !== null; ) {
- res.push(fn2.call(thisp, walker.value, this));
- walker = walker.prev;
- }
- return res;
- };
- Yallist.prototype.reduce = function(fn2, initial) {
- var acc;
- var 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");
- }
- for (var i = 0; walker !== null; i++) {
- acc = fn2(acc, walker.value, i);
- walker = walker.next;
- }
- return acc;
- };
- Yallist.prototype.reduceReverse = function(fn2, initial) {
- var acc;
- var 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");
- }
- for (var i = this.length - 1; walker !== null; i--) {
- acc = fn2(acc, walker.value, i);
- walker = walker.prev;
- }
- return acc;
- };
- Yallist.prototype.toArray = function() {
- var arr = new Array(this.length);
- for (var i = 0, walker = this.head; walker !== null; i++) {
- arr[i] = walker.value;
- walker = walker.next;
- }
- return arr;
- };
- Yallist.prototype.toArrayReverse = function() {
- var arr = new Array(this.length);
- for (var i = 0, walker = this.tail; walker !== null; i++) {
- arr[i] = walker.value;
- walker = walker.prev;
- }
- return arr;
- };
- Yallist.prototype.slice = function(from, to) {
- to = to || this.length;
- if (to < 0) {
- to += this.length;
- }
- from = from || 0;
- if (from < 0) {
- from += this.length;
- }
- var ret = new Yallist();
- if (to < from || to < 0) {
- return ret;
- }
- if (from < 0) {
- from = 0;
- }
- if (to > this.length) {
- to = this.length;
- }
- for (var i = 0, walker = this.head; walker !== null && i < from; i++) {
- walker = walker.next;
- }
- for (; walker !== null && i < to; i++, walker = walker.next) {
- ret.push(walker.value);
- }
- return ret;
- };
- Yallist.prototype.sliceReverse = function(from, to) {
- to = to || this.length;
- if (to < 0) {
- to += this.length;
- }
- from = from || 0;
- if (from < 0) {
- from += this.length;
- }
- var ret = new Yallist();
- if (to < from || to < 0) {
- return ret;
- }
- if (from < 0) {
- from = 0;
- }
- if (to > this.length) {
- to = this.length;
- }
- for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {
- walker = walker.prev;
- }
- for (; walker !== null && i > from; i--, walker = walker.prev) {
- ret.push(walker.value);
- }
- return ret;
- };
- Yallist.prototype.splice = function(start, deleteCount, ...nodes) {
- if (start > this.length) {
- start = this.length - 1;
- }
- if (start < 0) {
- start = this.length + start;
- }
- for (var i = 0, walker = this.head; walker !== null && i < start; i++) {
- walker = walker.next;
- }
- var ret = [];
- for (var i = 0; walker && i < deleteCount; i++) {
- ret.push(walker.value);
- walker = this.removeNode(walker);
- }
- if (walker === null) {
- walker = this.tail;
- }
- if (walker !== this.head && walker !== this.tail) {
- walker = walker.prev;
- }
- for (var i = 0; i < nodes.length; i++) {
- walker = insert(this, walker, nodes[i]);
- }
- return ret;
- };
- Yallist.prototype.reverse = function() {
- var head = this.head;
- var tail = this.tail;
- for (var walker = head; walker !== null; walker = walker.prev) {
- var p = walker.prev;
- walker.prev = walker.next;
- walker.next = p;
- }
- this.head = tail;
- this.tail = head;
- return this;
- };
- function insert(self2, node, value) {
- var inserted = node === self2.head ? new Node(value, null, node, self2) : new Node(value, node, node.next, self2);
- if (inserted.next === null) {
- self2.tail = inserted;
- }
- if (inserted.prev === null) {
- self2.head = inserted;
- }
- self2.length++;
- return inserted;
- }
- function push(self2, item) {
- self2.tail = new Node(item, self2.tail, null, self2);
- if (!self2.head) {
- self2.head = self2.tail;
- }
- self2.length++;
- }
- function unshift(self2, item) {
- self2.head = new Node(item, null, self2.head, self2);
- if (!self2.tail) {
- self2.tail = self2.head;
- }
- self2.length++;
- }
- function Node(value, prev, next, list) {
- if (!(this instanceof Node)) {
- return new Node(value, prev, next, list);
- }
- this.list = list;
- this.value = value;
- if (prev) {
- prev.next = this;
- this.prev = prev;
- } else {
- this.prev = null;
- }
- if (next) {
- next.prev = this;
- this.next = next;
- } else {
- this.next = null;
- }
- }
- try {
- require_iterator()(Yallist);
- } catch (er) {
- }
- }
-});
-
-// .yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-cb53e58278.zip/node_modules/lru-cache/index.js
-var require_lru_cache = __commonJS({
- ".yarn/cache/lru-cache-npm-6.0.0-b4c8668fe1-cb53e58278.zip/node_modules/lru-cache/index.js"(exports, module2) {
- "use strict";
- var Yallist = require_yallist();
- var MAX = Symbol("max");
- var LENGTH = Symbol("length");
- var LENGTH_CALCULATOR = Symbol("lengthCalculator");
- var ALLOW_STALE = Symbol("allowStale");
- var MAX_AGE = Symbol("maxAge");
- var DISPOSE = Symbol("dispose");
- var NO_DISPOSE_ON_SET = Symbol("noDisposeOnSet");
- var LRU_LIST = Symbol("lruList");
- var CACHE = Symbol("cache");
- var UPDATE_AGE_ON_GET = Symbol("updateAgeOnGet");
- var naiveLength = () => 1;
- var LRUCache = class {
- constructor(options) {
- if (typeof options === "number")
- options = { max: options };
- if (!options)
- options = {};
- if (options.max && (typeof options.max !== "number" || options.max < 0))
- throw new TypeError("max must be a non-negative number");
- const max = this[MAX] = options.max || Infinity;
- const lc = options.length || naiveLength;
- this[LENGTH_CALCULATOR] = typeof lc !== "function" ? naiveLength : lc;
- this[ALLOW_STALE] = options.stale || false;
- if (options.maxAge && typeof options.maxAge !== "number")
- throw new TypeError("maxAge must be a number");
- this[MAX_AGE] = options.maxAge || 0;
- this[DISPOSE] = options.dispose;
- this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;
- this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;
- this.reset();
- }
- // resize the cache when the max changes.
- set max(mL) {
- if (typeof mL !== "number" || mL < 0)
- throw new TypeError("max must be a non-negative number");
- this[MAX] = mL || Infinity;
- trim(this);
- }
- get max() {
- return this[MAX];
- }
- set allowStale(allowStale) {
- this[ALLOW_STALE] = !!allowStale;
- }
- get allowStale() {
- return this[ALLOW_STALE];
- }
- set maxAge(mA) {
- if (typeof mA !== "number")
- throw new TypeError("maxAge must be a non-negative number");
- this[MAX_AGE] = mA;
- trim(this);
- }
- get maxAge() {
- return this[MAX_AGE];
- }
- // resize the cache when the lengthCalculator changes.
- set lengthCalculator(lC) {
- if (typeof lC !== "function")
- lC = naiveLength;
- if (lC !== this[LENGTH_CALCULATOR]) {
- this[LENGTH_CALCULATOR] = lC;
- this[LENGTH] = 0;
- this[LRU_LIST].forEach((hit) => {
- hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key);
- this[LENGTH] += hit.length;
- });
- }
- trim(this);
- }
- get lengthCalculator() {
- return this[LENGTH_CALCULATOR];
- }
- get length() {
- return this[LENGTH];
- }
- get itemCount() {
- return this[LRU_LIST].length;
- }
- rforEach(fn2, thisp) {
- thisp = thisp || this;
- for (let walker = this[LRU_LIST].tail; walker !== null; ) {
- const prev = walker.prev;
- forEachStep(this, fn2, walker, thisp);
- walker = prev;
- }
- }
- forEach(fn2, thisp) {
- thisp = thisp || this;
- for (let walker = this[LRU_LIST].head; walker !== null; ) {
- const next = walker.next;
- forEachStep(this, fn2, walker, thisp);
- walker = next;
- }
- }
- keys() {
- return this[LRU_LIST].toArray().map((k) => k.key);
- }
- values() {
- return this[LRU_LIST].toArray().map((k) => k.value);
- }
- reset() {
- if (this[DISPOSE] && this[LRU_LIST] && this[LRU_LIST].length) {
- this[LRU_LIST].forEach((hit) => this[DISPOSE](hit.key, hit.value));
- }
- this[CACHE] = /* @__PURE__ */ new Map();
- this[LRU_LIST] = new Yallist();
- this[LENGTH] = 0;
- }
- dump() {
- return this[LRU_LIST].map((hit) => isStale(this, hit) ? false : {
- k: hit.key,
- v: hit.value,
- e: hit.now + (hit.maxAge || 0)
- }).toArray().filter((h) => h);
- }
- dumpLru() {
- return this[LRU_LIST];
- }
- set(key, value, maxAge) {
- maxAge = maxAge || this[MAX_AGE];
- if (maxAge && typeof maxAge !== "number")
- throw new TypeError("maxAge must be a number");
- const now = maxAge ? Date.now() : 0;
- const len = this[LENGTH_CALCULATOR](value, key);
- if (this[CACHE].has(key)) {
- if (len > this[MAX]) {
- del(this, this[CACHE].get(key));
- return false;
- }
- const node = this[CACHE].get(key);
- const item = node.value;
- if (this[DISPOSE]) {
- if (!this[NO_DISPOSE_ON_SET])
- this[DISPOSE](key, item.value);
- }
- item.now = now;
- item.maxAge = maxAge;
- item.value = value;
- this[LENGTH] += len - item.length;
- item.length = len;
- this.get(key);
- trim(this);
- return true;
- }
- const hit = new Entry(key, value, len, now, maxAge);
- if (hit.length > this[MAX]) {
- if (this[DISPOSE])
- this[DISPOSE](key, value);
- return false;
- }
- this[LENGTH] += hit.length;
- this[LRU_LIST].unshift(hit);
- this[CACHE].set(key, this[LRU_LIST].head);
- trim(this);
- return true;
- }
- has(key) {
- if (!this[CACHE].has(key))
- return false;
- const hit = this[CACHE].get(key).value;
- return !isStale(this, hit);
- }
- get(key) {
- return get(this, key, true);
- }
- peek(key) {
- return get(this, key, false);
- }
- pop() {
- const node = this[LRU_LIST].tail;
- if (!node)
- return null;
- del(this, node);
- return node.value;
- }
- del(key) {
- del(this, this[CACHE].get(key));
- }
- load(arr) {
- this.reset();
- const now = Date.now();
- for (let l = arr.length - 1; l >= 0; l--) {
- const hit = arr[l];
- const expiresAt = hit.e || 0;
- if (expiresAt === 0)
- this.set(hit.k, hit.v);
- else {
- const maxAge = expiresAt - now;
- if (maxAge > 0) {
- this.set(hit.k, hit.v, maxAge);
- }
- }
- }
- }
- prune() {
- this[CACHE].forEach((value, key) => get(this, key, false));
- }
- };
- var get = (self2, key, doUse) => {
- const node = self2[CACHE].get(key);
- if (node) {
- const hit = node.value;
- if (isStale(self2, hit)) {
- del(self2, node);
- if (!self2[ALLOW_STALE])
- return void 0;
- } else {
- if (doUse) {
- if (self2[UPDATE_AGE_ON_GET])
- node.value.now = Date.now();
- self2[LRU_LIST].unshiftNode(node);
- }
- }
- return hit.value;
- }
- };
- var isStale = (self2, hit) => {
- if (!hit || !hit.maxAge && !self2[MAX_AGE])
- return false;
- const diff = Date.now() - hit.now;
- return hit.maxAge ? diff > hit.maxAge : self2[MAX_AGE] && diff > self2[MAX_AGE];
- };
- var trim = (self2) => {
- if (self2[LENGTH] > self2[MAX]) {
- for (let walker = self2[LRU_LIST].tail; self2[LENGTH] > self2[MAX] && walker !== null; ) {
- const prev = walker.prev;
- del(self2, walker);
- walker = prev;
- }
- }
- };
- var del = (self2, node) => {
- if (node) {
- const hit = node.value;
- if (self2[DISPOSE])
- self2[DISPOSE](hit.key, hit.value);
- self2[LENGTH] -= hit.length;
- self2[CACHE].delete(hit.key);
- self2[LRU_LIST].removeNode(node);
- }
- };
- var Entry = class {
- constructor(key, value, length, now, maxAge) {
- this.key = key;
- this.value = value;
- this.length = length;
- this.now = now;
- this.maxAge = maxAge || 0;
- }
- };
- var forEachStep = (self2, fn2, node, thisp) => {
- let hit = node.value;
- if (isStale(self2, hit)) {
- del(self2, node);
- if (!self2[ALLOW_STALE])
- hit = void 0;
- }
- if (hit)
- fn2.call(thisp, hit.value, hit.key, self2);
- };
- module2.exports = LRUCache;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/range.js
-var require_range = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/range.js"(exports, module2) {
- var Range = class _Range {
- constructor(range, options) {
- options = parseOptions(options);
- if (range instanceof _Range) {
- if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) {
- return range;
- } else {
- return new _Range(range.raw, options);
- }
- }
- if (range instanceof Comparator) {
- this.raw = range.value;
- this.set = [[range]];
- this.format();
- return this;
- }
- this.options = options;
- this.loose = !!options.loose;
- this.includePrerelease = !!options.includePrerelease;
- this.raw = range.trim().split(/\s+/).join(" ");
- this.set = this.raw.split("||").map((r) => this.parseRange(r.trim())).filter((c) => c.length);
- if (!this.set.length) {
- throw new TypeError(`Invalid SemVer Range: ${this.raw}`);
- }
- if (this.set.length > 1) {
- const first = this.set[0];
- this.set = this.set.filter((c) => !isNullSet(c[0]));
- if (this.set.length === 0) {
- this.set = [first];
- } else if (this.set.length > 1) {
- for (const c of this.set) {
- if (c.length === 1 && isAny(c[0])) {
- this.set = [c];
- break;
- }
- }
- }
- }
- this.format();
- }
- format() {
- this.range = this.set.map((comps) => comps.join(" ").trim()).join("||").trim();
- return this.range;
- }
- toString() {
- return this.range;
- }
- parseRange(range) {
- const memoOpts = (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) | (this.options.loose && FLAG_LOOSE);
- const memoKey = memoOpts + ":" + range;
- const cached = cache.get(memoKey);
- if (cached) {
- return cached;
- }
- const loose = this.options.loose;
- const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE];
- range = range.replace(hr, hyphenReplace(this.options.includePrerelease));
- debug2("hyphen replace", range);
- range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace);
- debug2("comparator trim", range);
- range = range.replace(re[t.TILDETRIM], tildeTrimReplace);
- debug2("tilde trim", range);
- range = range.replace(re[t.CARETTRIM], caretTrimReplace);
- debug2("caret trim", range);
- let rangeList = range.split(" ").map((comp) => parseComparator(comp, this.options)).join(" ").split(/\s+/).map((comp) => replaceGTE0(comp, this.options));
- if (loose) {
- rangeList = rangeList.filter((comp) => {
- debug2("loose invalid filter", comp, this.options);
- return !!comp.match(re[t.COMPARATORLOOSE]);
- });
- }
- debug2("range list", rangeList);
- const rangeMap = /* @__PURE__ */ new Map();
- const comparators = rangeList.map((comp) => new Comparator(comp, this.options));
- for (const comp of comparators) {
- if (isNullSet(comp)) {
- return [comp];
- }
- rangeMap.set(comp.value, comp);
- }
- if (rangeMap.size > 1 && rangeMap.has("")) {
- rangeMap.delete("");
- }
- const result = [...rangeMap.values()];
- cache.set(memoKey, result);
- return result;
- }
- intersects(range, options) {
- if (!(range instanceof _Range)) {
- throw new TypeError("a Range is required");
- }
- return this.set.some((thisComparators) => {
- return isSatisfiable(thisComparators, options) && range.set.some((rangeComparators) => {
- return isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator) => {
- return rangeComparators.every((rangeComparator) => {
- return thisComparator.intersects(rangeComparator, options);
- });
- });
- });
- });
- }
- // if ANY of the sets match ALL of its comparators, then pass
- test(version2) {
- if (!version2) {
- return false;
- }
- if (typeof version2 === "string") {
- try {
- version2 = new SemVer(version2, this.options);
- } catch (er) {
- return false;
- }
- }
- for (let i = 0; i < this.set.length; i++) {
- if (testSet(this.set[i], version2, this.options)) {
- return true;
- }
- }
- return false;
- }
- };
- module2.exports = Range;
- var LRU = require_lru_cache();
- var cache = new LRU({ max: 1e3 });
- var parseOptions = require_parse_options();
- var Comparator = require_comparator();
- var debug2 = require_debug();
- var SemVer = require_semver();
- var {
- safeRe: re,
- t,
- comparatorTrimReplace,
- tildeTrimReplace,
- caretTrimReplace
- } = require_re();
- var { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require_constants();
- var isNullSet = (c) => c.value === "<0.0.0-0";
- var isAny = (c) => c.value === "";
- var isSatisfiable = (comparators, options) => {
- let result = true;
- const remainingComparators = comparators.slice();
- let testComparator = remainingComparators.pop();
- while (result && remainingComparators.length) {
- result = remainingComparators.every((otherComparator) => {
- return testComparator.intersects(otherComparator, options);
- });
- testComparator = remainingComparators.pop();
- }
- return result;
- };
- var parseComparator = (comp, options) => {
- debug2("comp", comp, options);
- comp = replaceCarets(comp, options);
- debug2("caret", comp);
- comp = replaceTildes(comp, options);
- debug2("tildes", comp);
- comp = replaceXRanges(comp, options);
- debug2("xrange", comp);
- comp = replaceStars(comp, options);
- debug2("stars", comp);
- return comp;
- };
- var isX = (id) => !id || id.toLowerCase() === "x" || id === "*";
- var replaceTildes = (comp, options) => {
- return comp.trim().split(/\s+/).map((c) => replaceTilde(c, options)).join(" ");
- };
- var replaceTilde = (comp, options) => {
- const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE];
- return comp.replace(r, (_, M, m, p, pr) => {
- debug2("tilde", comp, _, M, m, p, pr);
- let ret;
- if (isX(M)) {
- ret = "";
- } else if (isX(m)) {
- ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;
- } else if (isX(p)) {
- ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;
- } else if (pr) {
- debug2("replaceTilde pr", pr);
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
- } else {
- ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;
- }
- debug2("tilde return", ret);
- return ret;
- });
- };
- var replaceCarets = (comp, options) => {
- return comp.trim().split(/\s+/).map((c) => replaceCaret(c, options)).join(" ");
- };
- var replaceCaret = (comp, options) => {
- debug2("caret", comp, options);
- const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET];
- const z = options.includePrerelease ? "-0" : "";
- return comp.replace(r, (_, M, m, p, pr) => {
- debug2("caret", comp, _, M, m, p, pr);
- let ret;
- if (isX(M)) {
- ret = "";
- } else if (isX(m)) {
- ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;
- } else if (isX(p)) {
- if (M === "0") {
- ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;
- } else {
- ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;
- }
- } else if (pr) {
- debug2("replaceCaret pr", pr);
- if (M === "0") {
- if (m === "0") {
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;
- } else {
- ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;
- }
- } else {
- ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;
- }
- } else {
- debug2("no pr");
- if (M === "0") {
- if (m === "0") {
- ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;
- } else {
- ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;
- }
- } else {
- ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;
- }
- }
- debug2("caret return", ret);
- return ret;
- });
- };
- var replaceXRanges = (comp, options) => {
- debug2("replaceXRanges", comp, options);
- return comp.split(/\s+/).map((c) => replaceXRange(c, options)).join(" ");
- };
- var replaceXRange = (comp, options) => {
- comp = comp.trim();
- const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE];
- return comp.replace(r, (ret, gtlt, M, m, p, pr) => {
- debug2("xRange", comp, ret, gtlt, M, m, p, pr);
- const xM = isX(M);
- const xm = xM || isX(m);
- const xp = xm || isX(p);
- const anyX = xp;
- if (gtlt === "=" && anyX) {
- gtlt = "";
- }
- pr = options.includePrerelease ? "-0" : "";
- if (xM) {
- if (gtlt === ">" || gtlt === "<") {
- ret = "<0.0.0-0";
- } else {
- ret = "*";
- }
- } else if (gtlt && anyX) {
- if (xm) {
- m = 0;
- }
- p = 0;
- if (gtlt === ">") {
- gtlt = ">=";
- if (xm) {
- M = +M + 1;
- m = 0;
- p = 0;
- } else {
- m = +m + 1;
- p = 0;
- }
- } else if (gtlt === "<=") {
- gtlt = "<";
- if (xm) {
- M = +M + 1;
- } else {
- m = +m + 1;
- }
- }
- if (gtlt === "<") {
- pr = "-0";
- }
- ret = `${gtlt + M}.${m}.${p}${pr}`;
- } else if (xm) {
- ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;
- } else if (xp) {
- ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;
- }
- debug2("xRange return", ret);
- return ret;
- });
- };
- var replaceStars = (comp, options) => {
- debug2("replaceStars", comp, options);
- return comp.trim().replace(re[t.STAR], "");
- };
- var replaceGTE0 = (comp, options) => {
- debug2("replaceGTE0", comp, options);
- return comp.trim().replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], "");
- };
- var hyphenReplace = (incPr) => ($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb) => {
- if (isX(fM)) {
- from = "";
- } else if (isX(fm)) {
- from = `>=${fM}.0.0${incPr ? "-0" : ""}`;
- } else if (isX(fp)) {
- from = `>=${fM}.${fm}.0${incPr ? "-0" : ""}`;
- } else if (fpr) {
- from = `>=${from}`;
- } else {
- from = `>=${from}${incPr ? "-0" : ""}`;
- }
- if (isX(tM)) {
- to = "";
- } else if (isX(tm)) {
- to = `<${+tM + 1}.0.0-0`;
- } else if (isX(tp)) {
- to = `<${tM}.${+tm + 1}.0-0`;
- } else if (tpr) {
- to = `<=${tM}.${tm}.${tp}-${tpr}`;
- } else if (incPr) {
- to = `<${tM}.${tm}.${+tp + 1}-0`;
- } else {
- to = `<=${to}`;
- }
- return `${from} ${to}`.trim();
- };
- var testSet = (set, version2, options) => {
- for (let i = 0; i < set.length; i++) {
- if (!set[i].test(version2)) {
- return false;
- }
- }
- if (version2.prerelease.length && !options.includePrerelease) {
- for (let i = 0; i < set.length; i++) {
- debug2(set[i].semver);
- if (set[i].semver === Comparator.ANY) {
- continue;
- }
- if (set[i].semver.prerelease.length > 0) {
- const allowed = set[i].semver;
- if (allowed.major === version2.major && allowed.minor === version2.minor && allowed.patch === version2.patch) {
- return true;
- }
- }
- }
- return false;
- }
- return true;
- };
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/comparator.js
-var require_comparator = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/classes/comparator.js"(exports, module2) {
- var ANY = Symbol("SemVer ANY");
- var Comparator = class _Comparator {
- static get ANY() {
- return ANY;
- }
- constructor(comp, options) {
- options = parseOptions(options);
- if (comp instanceof _Comparator) {
- if (comp.loose === !!options.loose) {
- return comp;
- } else {
- comp = comp.value;
- }
- }
- comp = comp.trim().split(/\s+/).join(" ");
- debug2("comparator", comp, options);
- this.options = options;
- this.loose = !!options.loose;
- this.parse(comp);
- if (this.semver === ANY) {
- this.value = "";
- } else {
- this.value = this.operator + this.semver.version;
- }
- debug2("comp", this);
- }
- parse(comp) {
- const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR];
- const m = comp.match(r);
- if (!m) {
- throw new TypeError(`Invalid comparator: ${comp}`);
- }
- this.operator = m[1] !== void 0 ? m[1] : "";
- if (this.operator === "=") {
- this.operator = "";
- }
- if (!m[2]) {
- this.semver = ANY;
- } else {
- this.semver = new SemVer(m[2], this.options.loose);
- }
- }
- toString() {
- return this.value;
- }
- test(version2) {
- debug2("Comparator.test", version2, this.options.loose);
- if (this.semver === ANY || version2 === ANY) {
- return true;
- }
- if (typeof version2 === "string") {
- try {
- version2 = new SemVer(version2, this.options);
- } catch (er) {
- return false;
- }
- }
- return cmp(version2, this.operator, this.semver, this.options);
- }
- intersects(comp, options) {
- if (!(comp instanceof _Comparator)) {
- throw new TypeError("a Comparator is required");
- }
- if (this.operator === "") {
- if (this.value === "") {
- return true;
- }
- return new Range(comp.value, options).test(this.value);
- } else if (comp.operator === "") {
- if (comp.value === "") {
- return true;
- }
- return new Range(this.value, options).test(comp.semver);
- }
- options = parseOptions(options);
- if (options.includePrerelease && (this.value === "<0.0.0-0" || comp.value === "<0.0.0-0")) {
- return false;
- }
- if (!options.includePrerelease && (this.value.startsWith("<0.0.0") || comp.value.startsWith("<0.0.0"))) {
- return false;
- }
- if (this.operator.startsWith(">") && comp.operator.startsWith(">")) {
- return true;
- }
- if (this.operator.startsWith("<") && comp.operator.startsWith("<")) {
- return true;
- }
- if (this.semver.version === comp.semver.version && this.operator.includes("=") && comp.operator.includes("=")) {
- return true;
- }
- if (cmp(this.semver, "<", comp.semver, options) && this.operator.startsWith(">") && comp.operator.startsWith("<")) {
- return true;
- }
- if (cmp(this.semver, ">", comp.semver, options) && this.operator.startsWith("<") && comp.operator.startsWith(">")) {
- return true;
- }
- return false;
- }
- };
- module2.exports = Comparator;
- var parseOptions = require_parse_options();
- var { safeRe: re, t } = require_re();
- var cmp = require_cmp();
- var debug2 = require_debug();
- var SemVer = require_semver();
- var Range = require_range();
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/satisfies.js
-var require_satisfies = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/functions/satisfies.js"(exports, module2) {
- var Range = require_range();
- var satisfies = (version2, range, options) => {
- try {
- range = new Range(range, options);
- } catch (er) {
- return false;
- }
- return range.test(version2);
- };
- module2.exports = satisfies;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/to-comparators.js
-var require_to_comparators = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/to-comparators.js"(exports, module2) {
- var Range = require_range();
- var toComparators = (range, options) => new Range(range, options).set.map((comp) => comp.map((c) => c.value).join(" ").trim().split(" "));
- module2.exports = toComparators;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/max-satisfying.js
-var require_max_satisfying = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/max-satisfying.js"(exports, module2) {
- var SemVer = require_semver();
- var Range = require_range();
- var maxSatisfying = (versions, range, options) => {
- let max = null;
- let maxSV = null;
- let rangeObj = null;
- try {
- rangeObj = new Range(range, options);
- } catch (er) {
- return null;
- }
- versions.forEach((v) => {
- if (rangeObj.test(v)) {
- if (!max || maxSV.compare(v) === -1) {
- max = v;
- maxSV = new SemVer(max, options);
- }
- }
- });
- return max;
- };
- module2.exports = maxSatisfying;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/min-satisfying.js
-var require_min_satisfying = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/min-satisfying.js"(exports, module2) {
- var SemVer = require_semver();
- var Range = require_range();
- var minSatisfying = (versions, range, options) => {
- let min = null;
- let minSV = null;
- let rangeObj = null;
- try {
- rangeObj = new Range(range, options);
- } catch (er) {
- return null;
- }
- versions.forEach((v) => {
- if (rangeObj.test(v)) {
- if (!min || minSV.compare(v) === 1) {
- min = v;
- minSV = new SemVer(min, options);
- }
- }
- });
- return min;
- };
- module2.exports = minSatisfying;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/min-version.js
-var require_min_version = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/min-version.js"(exports, module2) {
- var SemVer = require_semver();
- var Range = require_range();
- var gt = require_gt();
- var minVersion = (range, loose) => {
- range = new Range(range, loose);
- let minver = new SemVer("0.0.0");
- if (range.test(minver)) {
- return minver;
- }
- minver = new SemVer("0.0.0-0");
- if (range.test(minver)) {
- return minver;
- }
- minver = null;
- for (let i = 0; i < range.set.length; ++i) {
- const comparators = range.set[i];
- let setMin = null;
- comparators.forEach((comparator) => {
- const compver = new SemVer(comparator.semver.version);
- switch (comparator.operator) {
- case ">":
- if (compver.prerelease.length === 0) {
- compver.patch++;
- } else {
- compver.prerelease.push(0);
- }
- compver.raw = compver.format();
- case "":
- case ">=":
- if (!setMin || gt(compver, setMin)) {
- setMin = compver;
- }
- break;
- case "<":
- case "<=":
- break;
- default:
- throw new Error(`Unexpected operation: ${comparator.operator}`);
- }
- });
- if (setMin && (!minver || gt(minver, setMin))) {
- minver = setMin;
- }
- }
- if (minver && range.test(minver)) {
- return minver;
- }
- return null;
- };
- module2.exports = minVersion;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/valid.js
-var require_valid2 = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/valid.js"(exports, module2) {
- var Range = require_range();
- var validRange = (range, options) => {
- try {
- return new Range(range, options).range || "*";
- } catch (er) {
- return null;
- }
- };
- module2.exports = validRange;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/outside.js
-var require_outside = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/outside.js"(exports, module2) {
- var SemVer = require_semver();
- var Comparator = require_comparator();
- var { ANY } = Comparator;
- var Range = require_range();
- var satisfies = require_satisfies();
- var gt = require_gt();
- var lt = require_lt();
- var lte = require_lte();
- var gte = require_gte();
- var outside = (version2, range, hilo, options) => {
- version2 = new SemVer(version2, options);
- range = new Range(range, options);
- let gtfn, ltefn, ltfn, comp, ecomp;
- switch (hilo) {
- case ">":
- gtfn = gt;
- ltefn = lte;
- ltfn = lt;
- comp = ">";
- ecomp = ">=";
- break;
- case "<":
- gtfn = lt;
- ltefn = gte;
- ltfn = gt;
- comp = "<";
- ecomp = "<=";
- break;
- default:
- throw new TypeError('Must provide a hilo val of "<" or ">"');
- }
- if (satisfies(version2, range, options)) {
- return false;
- }
- for (let i = 0; i < range.set.length; ++i) {
- const comparators = range.set[i];
- let high = null;
- let low = null;
- comparators.forEach((comparator) => {
- if (comparator.semver === ANY) {
- comparator = new Comparator(">=0.0.0");
- }
- high = high || comparator;
- low = low || comparator;
- if (gtfn(comparator.semver, high.semver, options)) {
- high = comparator;
- } else if (ltfn(comparator.semver, low.semver, options)) {
- low = comparator;
- }
- });
- if (high.operator === comp || high.operator === ecomp) {
- return false;
- }
- if ((!low.operator || low.operator === comp) && ltefn(version2, low.semver)) {
- return false;
- } else if (low.operator === ecomp && ltfn(version2, low.semver)) {
- return false;
- }
- }
- return true;
- };
- module2.exports = outside;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/gtr.js
-var require_gtr = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/gtr.js"(exports, module2) {
- var outside = require_outside();
- var gtr = (version2, range, options) => outside(version2, range, ">", options);
- module2.exports = gtr;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/ltr.js
-var require_ltr = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/ltr.js"(exports, module2) {
- var outside = require_outside();
- var ltr = (version2, range, options) => outside(version2, range, "<", options);
- module2.exports = ltr;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/intersects.js
-var require_intersects = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/intersects.js"(exports, module2) {
- var Range = require_range();
- var intersects = (r1, r2, options) => {
- r1 = new Range(r1, options);
- r2 = new Range(r2, options);
- return r1.intersects(r2, options);
- };
- module2.exports = intersects;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/simplify.js
-var require_simplify = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/simplify.js"(exports, module2) {
- var satisfies = require_satisfies();
- var compare = require_compare();
- module2.exports = (versions, range, options) => {
- const set = [];
- let first = null;
- let prev = null;
- const v = versions.sort((a, b) => compare(a, b, options));
- for (const version2 of v) {
- const included = satisfies(version2, range, options);
- if (included) {
- prev = version2;
- if (!first) {
- first = version2;
- }
- } else {
- if (prev) {
- set.push([first, prev]);
- }
- prev = null;
- first = null;
- }
- }
- if (first) {
- set.push([first, null]);
- }
- const ranges = [];
- for (const [min, max] of set) {
- if (min === max) {
- ranges.push(min);
- } else if (!max && min === v[0]) {
- ranges.push("*");
- } else if (!max) {
- ranges.push(`>=${min}`);
- } else if (min === v[0]) {
- ranges.push(`<=${max}`);
- } else {
- ranges.push(`${min} - ${max}`);
- }
- }
- const simplified = ranges.join(" || ");
- const original = typeof range.raw === "string" ? range.raw : String(range);
- return simplified.length < original.length ? simplified : range;
- };
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/subset.js
-var require_subset = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/ranges/subset.js"(exports, module2) {
- var Range = require_range();
- var Comparator = require_comparator();
- var { ANY } = Comparator;
- var satisfies = require_satisfies();
- var compare = require_compare();
- var subset = (sub, dom, options = {}) => {
- if (sub === dom) {
- return true;
- }
- sub = new Range(sub, options);
- dom = new Range(dom, options);
- let sawNonNull = false;
- OUTER:
- for (const simpleSub of sub.set) {
- for (const simpleDom of dom.set) {
- const isSub = simpleSubset(simpleSub, simpleDom, options);
- sawNonNull = sawNonNull || isSub !== null;
- if (isSub) {
- continue OUTER;
- }
- }
- if (sawNonNull) {
- return false;
- }
- }
- return true;
- };
- var minimumVersionWithPreRelease = [new Comparator(">=0.0.0-0")];
- var minimumVersion = [new Comparator(">=0.0.0")];
- var simpleSubset = (sub, dom, options) => {
- if (sub === dom) {
- return true;
- }
- if (sub.length === 1 && sub[0].semver === ANY) {
- if (dom.length === 1 && dom[0].semver === ANY) {
- return true;
- } else if (options.includePrerelease) {
- sub = minimumVersionWithPreRelease;
- } else {
- sub = minimumVersion;
- }
- }
- if (dom.length === 1 && dom[0].semver === ANY) {
- if (options.includePrerelease) {
- return true;
- } else {
- dom = minimumVersion;
- }
- }
- const eqSet = /* @__PURE__ */ new Set();
- let gt, lt;
- for (const c of sub) {
- if (c.operator === ">" || c.operator === ">=") {
- gt = higherGT(gt, c, options);
- } else if (c.operator === "<" || c.operator === "<=") {
- lt = lowerLT(lt, c, options);
- } else {
- eqSet.add(c.semver);
- }
- }
- if (eqSet.size > 1) {
- return null;
- }
- let gtltComp;
- if (gt && lt) {
- gtltComp = compare(gt.semver, lt.semver, options);
- if (gtltComp > 0) {
- return null;
- } else if (gtltComp === 0 && (gt.operator !== ">=" || lt.operator !== "<=")) {
- return null;
- }
- }
- for (const eq of eqSet) {
- if (gt && !satisfies(eq, String(gt), options)) {
- return null;
- }
- if (lt && !satisfies(eq, String(lt), options)) {
- return null;
- }
- for (const c of dom) {
- if (!satisfies(eq, String(c), options)) {
- return false;
- }
- }
- return true;
- }
- let higher, lower;
- let hasDomLT, hasDomGT;
- let needDomLTPre = lt && !options.includePrerelease && lt.semver.prerelease.length ? lt.semver : false;
- let needDomGTPre = gt && !options.includePrerelease && gt.semver.prerelease.length ? gt.semver : false;
- if (needDomLTPre && needDomLTPre.prerelease.length === 1 && lt.operator === "<" && needDomLTPre.prerelease[0] === 0) {
- needDomLTPre = false;
- }
- for (const c of dom) {
- hasDomGT = hasDomGT || c.operator === ">" || c.operator === ">=";
- hasDomLT = hasDomLT || c.operator === "<" || c.operator === "<=";
- if (gt) {
- if (needDomGTPre) {
- if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomGTPre.major && c.semver.minor === needDomGTPre.minor && c.semver.patch === needDomGTPre.patch) {
- needDomGTPre = false;
- }
- }
- if (c.operator === ">" || c.operator === ">=") {
- higher = higherGT(gt, c, options);
- if (higher === c && higher !== gt) {
- return false;
- }
- } else if (gt.operator === ">=" && !satisfies(gt.semver, String(c), options)) {
- return false;
- }
- }
- if (lt) {
- if (needDomLTPre) {
- if (c.semver.prerelease && c.semver.prerelease.length && c.semver.major === needDomLTPre.major && c.semver.minor === needDomLTPre.minor && c.semver.patch === needDomLTPre.patch) {
- needDomLTPre = false;
- }
- }
- if (c.operator === "<" || c.operator === "<=") {
- lower = lowerLT(lt, c, options);
- if (lower === c && lower !== lt) {
- return false;
- }
- } else if (lt.operator === "<=" && !satisfies(lt.semver, String(c), options)) {
- return false;
- }
- }
- if (!c.operator && (lt || gt) && gtltComp !== 0) {
- return false;
- }
- }
- if (gt && hasDomLT && !lt && gtltComp !== 0) {
- return false;
- }
- if (lt && hasDomGT && !gt && gtltComp !== 0) {
- return false;
- }
- if (needDomGTPre || needDomLTPre) {
- return false;
- }
- return true;
- };
- var higherGT = (a, b, options) => {
- if (!a) {
- return b;
- }
- const comp = compare(a.semver, b.semver, options);
- return comp > 0 ? a : comp < 0 ? b : b.operator === ">" && a.operator === ">=" ? b : a;
- };
- var lowerLT = (a, b, options) => {
- if (!a) {
- return b;
- }
- const comp = compare(a.semver, b.semver, options);
- return comp < 0 ? a : comp > 0 ? b : b.operator === "<" && a.operator === "<=" ? b : a;
- };
- module2.exports = subset;
- }
-});
-
-// .yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/index.js
-var require_semver2 = __commonJS({
- ".yarn/cache/semver-npm-7.6.0-f4630729f6-fbfe717094.zip/node_modules/semver/index.js"(exports, module2) {
- var internalRe = require_re();
- var constants = require_constants();
- var SemVer = require_semver();
- var identifiers = require_identifiers();
- var parse = require_parse();
- var valid = require_valid();
- var clean = require_clean();
- var inc = require_inc();
- var diff = require_diff();
- var major = require_major();
- var minor = require_minor();
- var patch = require_patch();
- var prerelease = require_prerelease();
- var compare = require_compare();
- var rcompare = require_rcompare();
- var compareLoose = require_compare_loose();
- var compareBuild = require_compare_build();
- var sort = require_sort();
- var rsort = require_rsort();
- var gt = require_gt();
- var lt = require_lt();
- var eq = require_eq();
- var neq = require_neq();
- var gte = require_gte();
- var lte = require_lte();
- var cmp = require_cmp();
- var coerce = require_coerce();
- var Comparator = require_comparator();
- var Range = require_range();
- var satisfies = require_satisfies();
- var toComparators = require_to_comparators();
- var maxSatisfying = require_max_satisfying();
- var minSatisfying = require_min_satisfying();
- var minVersion = require_min_version();
- var validRange = require_valid2();
- var outside = require_outside();
- var gtr = require_gtr();
- var ltr = require_ltr();
- var intersects = require_intersects();
- var simplifyRange = require_simplify();
- var subset = require_subset();
- module2.exports = {
- parse,
- valid,
- clean,
- inc,
- diff,
- major,
- minor,
- patch,
- prerelease,
- compare,
- rcompare,
- compareLoose,
- compareBuild,
- sort,
- rsort,
- gt,
- lt,
- eq,
- neq,
- gte,
- lte,
- cmp,
- coerce,
- Comparator,
- Range,
- satisfies,
- toComparators,
- maxSatisfying,
- minSatisfying,
- minVersion,
- validRange,
- outside,
- gtr,
- ltr,
- intersects,
- simplifyRange,
- subset,
- SemVer,
- re: internalRe.re,
- src: internalRe.src,
- tokens: internalRe.t,
- SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION,
- RELEASE_TYPES: constants.RELEASE_TYPES,
- compareIdentifiers: identifiers.compareIdentifiers,
- rcompareIdentifiers: identifiers.rcompareIdentifiers
- };
- }
-});
-
-// .yarn/cache/ms-npm-2.1.2-ec0c1512ff-a437714e2f.zip/node_modules/ms/index.js
-var require_ms = __commonJS({
- ".yarn/cache/ms-npm-2.1.2-ec0c1512ff-a437714e2f.zip/node_modules/ms/index.js"(exports, module2) {
- var s = 1e3;
- var m = s * 60;
- var h = m * 60;
- var d = h * 24;
- var w = d * 7;
- var y = d * 365.25;
- module2.exports = function(val, options) {
- options = options || {};
- var type = typeof val;
- if (type === "string" && val.length > 0) {
- return parse(val);
- } else if (type === "number" && isFinite(val)) {
- return options.long ? fmtLong(val) : fmtShort(val);
- }
- throw new Error(
- "val is not a non-empty string or a valid number. val=" + JSON.stringify(val)
- );
- };
- function parse(str) {
- str = String(str);
- if (str.length > 100) {
- return;
- }
- var match = /^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(
- str
- );
- if (!match) {
- return;
- }
- var n = parseFloat(match[1]);
- var type = (match[2] || "ms").toLowerCase();
- switch (type) {
- case "years":
- case "year":
- case "yrs":
- case "yr":
- case "y":
- return n * y;
- case "weeks":
- case "week":
- case "w":
- return n * w;
- case "days":
- case "day":
- case "d":
- return n * d;
- case "hours":
- case "hour":
- case "hrs":
- case "hr":
- case "h":
- return n * h;
- case "minutes":
- case "minute":
- case "mins":
- case "min":
- case "m":
- return n * m;
- case "seconds":
- case "second":
- case "secs":
- case "sec":
- case "s":
- return n * s;
- case "milliseconds":
- case "millisecond":
- case "msecs":
- case "msec":
- case "ms":
- return n;
- default:
- return void 0;
- }
- }
- function fmtShort(ms) {
- var msAbs = Math.abs(ms);
- if (msAbs >= d) {
- return Math.round(ms / d) + "d";
- }
- if (msAbs >= h) {
- return Math.round(ms / h) + "h";
- }
- if (msAbs >= m) {
- return Math.round(ms / m) + "m";
- }
- if (msAbs >= s) {
- return Math.round(ms / s) + "s";
- }
- return ms + "ms";
- }
- function fmtLong(ms) {
- var msAbs = Math.abs(ms);
- if (msAbs >= d) {
- return plural2(ms, msAbs, d, "day");
- }
- if (msAbs >= h) {
- return plural2(ms, msAbs, h, "hour");
- }
- if (msAbs >= m) {
- return plural2(ms, msAbs, m, "minute");
- }
- if (msAbs >= s) {
- return plural2(ms, msAbs, s, "second");
- }
- return ms + " ms";
- }
- function plural2(ms, msAbs, n, name) {
- var isPlural = msAbs >= n * 1.5;
- return Math.round(ms / n) + " " + name + (isPlural ? "s" : "");
- }
- }
-});
-
-// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip/node_modules/debug/src/common.js
-var require_common = __commonJS({
- ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip/node_modules/debug/src/common.js"(exports, module2) {
- function setup(env2) {
- createDebug.debug = createDebug;
- createDebug.default = createDebug;
- createDebug.coerce = coerce;
- createDebug.disable = disable;
- createDebug.enable = enable;
- createDebug.enabled = enabled;
- createDebug.humanize = require_ms();
- createDebug.destroy = destroy;
- Object.keys(env2).forEach((key) => {
- createDebug[key] = env2[key];
- });
- createDebug.names = [];
- createDebug.skips = [];
- createDebug.formatters = {};
- function selectColor(namespace) {
- let hash = 0;
- for (let i = 0; i < namespace.length; i++) {
- hash = (hash << 5) - hash + namespace.charCodeAt(i);
- hash |= 0;
- }
- return createDebug.colors[Math.abs(hash) % createDebug.colors.length];
- }
- createDebug.selectColor = selectColor;
- function createDebug(namespace) {
- let prevTime;
- let enableOverride = null;
- let namespacesCache;
- let enabledCache;
- function debug2(...args) {
- if (!debug2.enabled) {
- return;
- }
- const self2 = debug2;
- const curr = Number(/* @__PURE__ */ new Date());
- const ms = curr - (prevTime || curr);
- self2.diff = ms;
- self2.prev = prevTime;
- self2.curr = curr;
- prevTime = curr;
- args[0] = createDebug.coerce(args[0]);
- if (typeof args[0] !== "string") {
- args.unshift("%O");
- }
- let index = 0;
- args[0] = args[0].replace(/%([a-zA-Z%])/g, (match, format) => {
- if (match === "%%") {
- return "%";
- }
- index++;
- const formatter = createDebug.formatters[format];
- if (typeof formatter === "function") {
- const val = args[index];
- match = formatter.call(self2, val);
- args.splice(index, 1);
- index--;
- }
- return match;
- });
- createDebug.formatArgs.call(self2, args);
- const logFn = self2.log || createDebug.log;
- logFn.apply(self2, args);
- }
- debug2.namespace = namespace;
- debug2.useColors = createDebug.useColors();
- debug2.color = createDebug.selectColor(namespace);
- debug2.extend = extend;
- debug2.destroy = createDebug.destroy;
- Object.defineProperty(debug2, "enabled", {
- enumerable: true,
- configurable: false,
- get: () => {
- if (enableOverride !== null) {
- return enableOverride;
- }
- if (namespacesCache !== createDebug.namespaces) {
- namespacesCache = createDebug.namespaces;
- enabledCache = createDebug.enabled(namespace);
- }
- return enabledCache;
- },
- set: (v) => {
- enableOverride = v;
- }
- });
- if (typeof createDebug.init === "function") {
- createDebug.init(debug2);
- }
- return debug2;
- }
- function extend(namespace, delimiter) {
- const newDebug = createDebug(this.namespace + (typeof delimiter === "undefined" ? ":" : delimiter) + namespace);
- newDebug.log = this.log;
- return newDebug;
- }
- function enable(namespaces) {
- createDebug.save(namespaces);
- createDebug.namespaces = namespaces;
- createDebug.names = [];
- createDebug.skips = [];
- let i;
- const split = (typeof namespaces === "string" ? namespaces : "").split(/[\s,]+/);
- const len = split.length;
- for (i = 0; i < len; i++) {
- if (!split[i]) {
- continue;
- }
- namespaces = split[i].replace(/\*/g, ".*?");
- if (namespaces[0] === "-") {
- createDebug.skips.push(new RegExp("^" + namespaces.slice(1) + "$"));
- } else {
- createDebug.names.push(new RegExp("^" + namespaces + "$"));
- }
- }
- }
- function disable() {
- const namespaces = [
- ...createDebug.names.map(toNamespace),
- ...createDebug.skips.map(toNamespace).map((namespace) => "-" + namespace)
- ].join(",");
- createDebug.enable("");
- return namespaces;
- }
- function enabled(name) {
- if (name[name.length - 1] === "*") {
- return true;
- }
- let i;
- let len;
- for (i = 0, len = createDebug.skips.length; i < len; i++) {
- if (createDebug.skips[i].test(name)) {
- return false;
- }
- }
- for (i = 0, len = createDebug.names.length; i < len; i++) {
- if (createDebug.names[i].test(name)) {
- return true;
- }
- }
- return false;
- }
- function toNamespace(regexp) {
- return regexp.toString().substring(2, regexp.toString().length - 2).replace(/\.\*\?$/, "*");
- }
- function coerce(val) {
- if (val instanceof Error) {
- return val.stack || val.message;
- }
- return val;
- }
- function destroy() {
- console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
- }
- createDebug.enable(createDebug.load());
- return createDebug;
- }
- module2.exports = setup;
- }
-});
-
-// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip/node_modules/debug/src/browser.js
-var require_browser = __commonJS({
- ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip/node_modules/debug/src/browser.js"(exports, module2) {
- exports.formatArgs = formatArgs;
- exports.save = save;
- exports.load = load;
- exports.useColors = useColors;
- exports.storage = localstorage();
- exports.destroy = (() => {
- let warned = false;
- return () => {
- if (!warned) {
- warned = true;
- console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");
- }
- };
- })();
- exports.colors = [
- "#0000CC",
- "#0000FF",
- "#0033CC",
- "#0033FF",
- "#0066CC",
- "#0066FF",
- "#0099CC",
- "#0099FF",
- "#00CC00",
- "#00CC33",
- "#00CC66",
- "#00CC99",
- "#00CCCC",
- "#00CCFF",
- "#3300CC",
- "#3300FF",
- "#3333CC",
- "#3333FF",
- "#3366CC",
- "#3366FF",
- "#3399CC",
- "#3399FF",
- "#33CC00",
- "#33CC33",
- "#33CC66",
- "#33CC99",
- "#33CCCC",
- "#33CCFF",
- "#6600CC",
- "#6600FF",
- "#6633CC",
- "#6633FF",
- "#66CC00",
- "#66CC33",
- "#9900CC",
- "#9900FF",
- "#9933CC",
- "#9933FF",
- "#99CC00",
- "#99CC33",
- "#CC0000",
- "#CC0033",
- "#CC0066",
- "#CC0099",
- "#CC00CC",
- "#CC00FF",
- "#CC3300",
- "#CC3333",
- "#CC3366",
- "#CC3399",
- "#CC33CC",
- "#CC33FF",
- "#CC6600",
- "#CC6633",
- "#CC9900",
- "#CC9933",
- "#CCCC00",
- "#CCCC33",
- "#FF0000",
- "#FF0033",
- "#FF0066",
- "#FF0099",
- "#FF00CC",
- "#FF00FF",
- "#FF3300",
- "#FF3333",
- "#FF3366",
- "#FF3399",
- "#FF33CC",
- "#FF33FF",
- "#FF6600",
- "#FF6633",
- "#FF9900",
- "#FF9933",
- "#FFCC00",
- "#FFCC33"
- ];
- function useColors() {
- if (typeof window !== "undefined" && window.process && (window.process.type === "renderer" || window.process.__nwjs)) {
- return true;
- }
- if (typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)) {
- return false;
- }
- return typeof document !== "undefined" && document.documentElement && document.documentElement.style && document.documentElement.style.WebkitAppearance || // Is firebug? http://stackoverflow.com/a/398120/376773
- typeof window !== "undefined" && window.console && (window.console.firebug || window.console.exception && window.console.table) || // Is firefox >= v31?
- // https://developer.mozilla.org/en-US/docs/Tools/Web_Console#Styling_messages
- typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/) && parseInt(RegExp.$1, 10) >= 31 || // Double check webkit in userAgent just in case we are in a worker
- typeof navigator !== "undefined" && navigator.userAgent && navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);
- }
- function formatArgs(args) {
- args[0] = (this.useColors ? "%c" : "") + this.namespace + (this.useColors ? " %c" : " ") + args[0] + (this.useColors ? "%c " : " ") + "+" + module2.exports.humanize(this.diff);
- if (!this.useColors) {
- return;
- }
- const c = "color: " + this.color;
- args.splice(1, 0, c, "color: inherit");
- let index = 0;
- let lastC = 0;
- args[0].replace(/%[a-zA-Z%]/g, (match) => {
- if (match === "%%") {
- return;
- }
- index++;
- if (match === "%c") {
- lastC = index;
- }
- });
- args.splice(lastC, 0, c);
- }
- exports.log = console.debug || console.log || (() => {
- });
- function save(namespaces) {
- try {
- if (namespaces) {
- exports.storage.setItem("debug", namespaces);
- } else {
- exports.storage.removeItem("debug");
- }
- } catch (error) {
- }
- }
- function load() {
- let r;
- try {
- r = exports.storage.getItem("debug");
- } catch (error) {
- }
- if (!r && typeof process !== "undefined" && "env" in process) {
- r = process.env.DEBUG;
- }
- return r;
- }
- function localstorage() {
- try {
- return localStorage;
- } catch (error) {
- }
- }
- module2.exports = require_common()(exports);
- var { formatters } = module2.exports;
- formatters.j = function(v) {
- try {
- return JSON.stringify(v);
- } catch (error) {
- return "[UnexpectedJSONParseError]: " + error.message;
- }
- };
- }
-});
-
-// .yarn/cache/supports-color-npm-9.4.0-a415f39758-6c24e6b2b6.zip/node_modules/supports-color/index.js
-var supports_color_exports = {};
-__export(supports_color_exports, {
- createSupportsColor: () => createSupportsColor,
- default: () => supports_color_default
-});
-function hasFlag(flag, argv = globalThis.Deno ? globalThis.Deno.args : import_node_process.default.argv) {
- const prefix = flag.startsWith("-") ? "" : flag.length === 1 ? "-" : "--";
- const position = argv.indexOf(prefix + flag);
- const terminatorPosition = argv.indexOf("--");
- return position !== -1 && (terminatorPosition === -1 || position < terminatorPosition);
-}
-function envForceColor() {
- if ("FORCE_COLOR" in env) {
- if (env.FORCE_COLOR === "true") {
- return 1;
- }
- if (env.FORCE_COLOR === "false") {
- return 0;
- }
- return env.FORCE_COLOR.length === 0 ? 1 : Math.min(Number.parseInt(env.FORCE_COLOR, 10), 3);
- }
-}
-function translateLevel(level) {
- if (level === 0) {
- return false;
- }
- return {
- level,
- hasBasic: true,
- has256: level >= 2,
- has16m: level >= 3
- };
-}
-function _supportsColor(haveStream, { streamIsTTY, sniffFlags = true } = {}) {
- const noFlagForceColor = envForceColor();
- if (noFlagForceColor !== void 0) {
- flagForceColor = noFlagForceColor;
- }
- const forceColor = sniffFlags ? flagForceColor : noFlagForceColor;
- if (forceColor === 0) {
- return 0;
- }
- if (sniffFlags) {
- if (hasFlag("color=16m") || hasFlag("color=full") || hasFlag("color=truecolor")) {
- return 3;
- }
- if (hasFlag("color=256")) {
- return 2;
- }
- }
- if ("TF_BUILD" in env && "AGENT_NAME" in env) {
- return 1;
- }
- if (haveStream && !streamIsTTY && forceColor === void 0) {
- return 0;
- }
- const min = forceColor || 0;
- if (env.TERM === "dumb") {
- return min;
- }
- if (import_node_process.default.platform === "win32") {
- const osRelease = import_node_os.default.release().split(".");
- if (Number(osRelease[0]) >= 10 && Number(osRelease[2]) >= 10586) {
- return Number(osRelease[2]) >= 14931 ? 3 : 2;
- }
- return 1;
- }
- if ("CI" in env) {
- if ("GITHUB_ACTIONS" in env || "GITEA_ACTIONS" in env) {
- return 3;
- }
- if (["TRAVIS", "CIRCLECI", "APPVEYOR", "GITLAB_CI", "BUILDKITE", "DRONE"].some((sign) => sign in env) || env.CI_NAME === "codeship") {
- return 1;
- }
- return min;
- }
- if ("TEAMCITY_VERSION" in env) {
- return /^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(env.TEAMCITY_VERSION) ? 1 : 0;
- }
- if (env.COLORTERM === "truecolor") {
- return 3;
- }
- if (env.TERM === "xterm-kitty") {
- return 3;
- }
- if ("TERM_PROGRAM" in env) {
- const version2 = Number.parseInt((env.TERM_PROGRAM_VERSION || "").split(".")[0], 10);
- switch (env.TERM_PROGRAM) {
- case "iTerm.app": {
- return version2 >= 3 ? 3 : 2;
- }
- case "Apple_Terminal": {
- return 2;
- }
- }
- }
- if (/-256(color)?$/i.test(env.TERM)) {
- return 2;
- }
- if (/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(env.TERM)) {
- return 1;
- }
- if ("COLORTERM" in env) {
- return 1;
- }
- return min;
-}
-function createSupportsColor(stream, options = {}) {
- const level = _supportsColor(stream, {
- streamIsTTY: stream && stream.isTTY,
- ...options
- });
- return translateLevel(level);
-}
-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-9.4.0-a415f39758-6c24e6b2b6.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);
- ({ env } = import_node_process.default);
- if (hasFlag("no-color") || hasFlag("no-colors") || hasFlag("color=false") || hasFlag("color=never")) {
- flagForceColor = 0;
- } else if (hasFlag("color") || hasFlag("colors") || hasFlag("color=true") || hasFlag("color=always")) {
- flagForceColor = 1;
- }
- supportsColor = {
- stdout: createSupportsColor({ isTTY: import_node_tty.default.isatty(1) }),
- stderr: createSupportsColor({ isTTY: import_node_tty.default.isatty(2) })
- };
- supports_color_default = supportsColor;
- }
-});
-
-// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip/node_modules/debug/src/node.js
-var require_node = __commonJS({
- ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip/node_modules/debug/src/node.js"(exports, module2) {
- var tty3 = require("tty");
- var util = require("util");
- exports.init = init;
- exports.log = log2;
- exports.formatArgs = formatArgs;
- exports.save = save;
- exports.load = load;
- exports.useColors = useColors;
- exports.destroy = util.deprecate(
- () => {
- },
- "Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."
- );
- exports.colors = [6, 2, 3, 4, 5, 1];
- try {
- const supportsColor2 = (init_supports_color(), __toCommonJS(supports_color_exports));
- if (supportsColor2 && (supportsColor2.stderr || supportsColor2).level >= 2) {
- exports.colors = [
- 20,
- 21,
- 26,
- 27,
- 32,
- 33,
- 38,
- 39,
- 40,
- 41,
- 42,
- 43,
- 44,
- 45,
- 56,
- 57,
- 62,
- 63,
- 68,
- 69,
- 74,
- 75,
- 76,
- 77,
- 78,
- 79,
- 80,
- 81,
- 92,
- 93,
- 98,
- 99,
- 112,
- 113,
- 128,
- 129,
- 134,
- 135,
- 148,
- 149,
- 160,
- 161,
- 162,
- 163,
- 164,
- 165,
- 166,
- 167,
- 168,
- 169,
- 170,
- 171,
- 172,
- 173,
- 178,
- 179,
- 184,
- 185,
- 196,
- 197,
- 198,
- 199,
- 200,
- 201,
- 202,
- 203,
- 204,
- 205,
- 206,
- 207,
- 208,
- 209,
- 214,
- 215,
- 220,
- 221
- ];
- }
- } catch (error) {
- }
- exports.inspectOpts = Object.keys(process.env).filter((key) => {
- return /^debug_/i.test(key);
- }).reduce((obj, key) => {
- const prop = key.substring(6).toLowerCase().replace(/_([a-z])/g, (_, k) => {
- return k.toUpperCase();
- });
- let val = process.env[key];
- if (/^(yes|on|true|enabled)$/i.test(val)) {
- val = true;
- } else if (/^(no|off|false|disabled)$/i.test(val)) {
- val = false;
- } else if (val === "null") {
- val = null;
- } else {
- val = Number(val);
- }
- obj[prop] = val;
- return obj;
- }, {});
- function useColors() {
- return "colors" in exports.inspectOpts ? Boolean(exports.inspectOpts.colors) : tty3.isatty(process.stderr.fd);
- }
- function formatArgs(args) {
- const { namespace: name, useColors: useColors2 } = this;
- if (useColors2) {
- const c = this.color;
- const colorCode = "\x1B[3" + (c < 8 ? c : "8;5;" + c);
- const prefix = ` ${colorCode};1m${name} \x1B[0m`;
- args[0] = prefix + args[0].split("\n").join("\n" + prefix);
- args.push(colorCode + "m+" + module2.exports.humanize(this.diff) + "\x1B[0m");
- } else {
- args[0] = getDate() + name + " " + args[0];
- }
- }
- function getDate() {
- if (exports.inspectOpts.hideDate) {
- return "";
- }
- return (/* @__PURE__ */ new Date()).toISOString() + " ";
- }
- function log2(...args) {
- return process.stderr.write(util.format(...args) + "\n");
- }
- function save(namespaces) {
- if (namespaces) {
- process.env.DEBUG = namespaces;
- } else {
- delete process.env.DEBUG;
- }
- }
- function load() {
- return process.env.DEBUG;
- }
- function init(debug2) {
- debug2.inspectOpts = {};
- const keys = Object.keys(exports.inspectOpts);
- for (let i = 0; i < keys.length; i++) {
- debug2.inspectOpts[keys[i]] = exports.inspectOpts[keys[i]];
- }
- }
- module2.exports = require_common()(exports);
- var { formatters } = module2.exports;
- formatters.o = function(v) {
- this.inspectOpts.colors = this.useColors;
- return util.inspect(v, this.inspectOpts).split("\n").map((str) => str.trim()).join(" ");
- };
- formatters.O = function(v) {
- this.inspectOpts.colors = this.useColors;
- return util.inspect(v, this.inspectOpts);
- };
- }
-});
-
-// .yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip/node_modules/debug/src/index.js
-var require_src = __commonJS({
- ".yarn/__virtual__/debug-virtual-80c19f725b/0/cache/debug-npm-4.3.4-4513954577-cedbec4529.zip/node_modules/debug/src/index.js"(exports, module2) {
- if (typeof process === "undefined" || process.type === "renderer" || process.browser === true || process.__nwjs) {
- module2.exports = require_browser();
- } else {
- module2.exports = require_node();
- }
- }
-});
-
-// .yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-fe7dd8b1bd.zip/node_modules/proxy-from-env/index.js
-var require_proxy_from_env = __commonJS({
- ".yarn/cache/proxy-from-env-npm-1.1.0-c13d07f26b-fe7dd8b1bd.zip/node_modules/proxy-from-env/index.js"(exports) {
- "use strict";
- var parseUrl = require("url").parse;
- var DEFAULT_PORTS = {
- ftp: 21,
- gopher: 70,
- http: 80,
- https: 443,
- ws: 80,
- wss: 443
- };
- var stringEndsWith = String.prototype.endsWith || function(s) {
- return s.length <= this.length && this.indexOf(s, this.length - s.length) !== -1;
- };
- function getProxyForUrl(url) {
- var parsedUrl = typeof url === "string" ? parseUrl(url) : url || {};
- var proto = parsedUrl.protocol;
- var hostname = parsedUrl.host;
- var port = parsedUrl.port;
- if (typeof hostname !== "string" || !hostname || typeof proto !== "string") {
- return "";
- }
- proto = proto.split(":", 1)[0];
- hostname = hostname.replace(/:\d*$/, "");
- port = parseInt(port) || DEFAULT_PORTS[proto] || 0;
- if (!shouldProxy(hostname, port)) {
- return "";
- }
- var proxy = getEnv("npm_config_" + proto + "_proxy") || getEnv(proto + "_proxy") || getEnv("npm_config_proxy") || getEnv("all_proxy");
- if (proxy && proxy.indexOf("://") === -1) {
- proxy = proto + "://" + proxy;
- }
- return proxy;
- }
- function shouldProxy(hostname, port) {
- var NO_PROXY = (getEnv("npm_config_no_proxy") || getEnv("no_proxy")).toLowerCase();
- if (!NO_PROXY) {
- return true;
- }
- if (NO_PROXY === "*") {
- return false;
- }
- return NO_PROXY.split(/[,\s]/).every(function(proxy) {
- if (!proxy) {
- return true;
- }
- var parsedProxy = proxy.match(/^(.+):(\d+)$/);
- var parsedProxyHostname = parsedProxy ? parsedProxy[1] : proxy;
- var parsedProxyPort = parsedProxy ? parseInt(parsedProxy[2]) : 0;
- if (parsedProxyPort && parsedProxyPort !== port) {
- return true;
- }
- if (!/^[.*]/.test(parsedProxyHostname)) {
- return hostname !== parsedProxyHostname;
- }
- if (parsedProxyHostname.charAt(0) === "*") {
- parsedProxyHostname = parsedProxyHostname.slice(1);
- }
- return !stringEndsWith.call(hostname, parsedProxyHostname);
- });
- }
- function getEnv(key) {
- return process.env[key.toLowerCase()] || process.env[key.toUpperCase()] || "";
- }
- exports.getProxyForUrl = getProxyForUrl;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/symbols.js
-var require_symbols = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/symbols.js"(exports, module2) {
- module2.exports = {
- kClose: Symbol("close"),
- kDestroy: Symbol("destroy"),
- kDispatch: Symbol("dispatch"),
- kUrl: Symbol("url"),
- kWriting: Symbol("writing"),
- kResuming: Symbol("resuming"),
- kQueue: Symbol("queue"),
- kConnect: Symbol("connect"),
- kConnecting: Symbol("connecting"),
- kHeadersList: Symbol("headers list"),
- kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"),
- kKeepAliveMaxTimeout: Symbol("max keep alive timeout"),
- kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"),
- kKeepAliveTimeoutValue: Symbol("keep alive timeout"),
- kKeepAlive: Symbol("keep alive"),
- kHeadersTimeout: Symbol("headers timeout"),
- kBodyTimeout: Symbol("body timeout"),
- kServerName: Symbol("server name"),
- kLocalAddress: Symbol("local address"),
- kHost: Symbol("host"),
- kNoRef: Symbol("no ref"),
- kBodyUsed: Symbol("used"),
- kRunning: Symbol("running"),
- kBlocking: Symbol("blocking"),
- kPending: Symbol("pending"),
- kSize: Symbol("size"),
- kBusy: Symbol("busy"),
- kQueued: Symbol("queued"),
- kFree: Symbol("free"),
- kConnected: Symbol("connected"),
- kClosed: Symbol("closed"),
- kNeedDrain: Symbol("need drain"),
- kReset: Symbol("reset"),
- kDestroyed: Symbol.for("nodejs.stream.destroyed"),
- kMaxHeadersSize: Symbol("max headers size"),
- kRunningIdx: Symbol("running index"),
- kPendingIdx: Symbol("pending index"),
- kError: Symbol("error"),
- kClients: Symbol("clients"),
- kClient: Symbol("client"),
- kParser: Symbol("parser"),
- kOnDestroyed: Symbol("destroy callbacks"),
- kPipelining: Symbol("pipelining"),
- kSocket: Symbol("socket"),
- kHostHeader: Symbol("host header"),
- kConnector: Symbol("connector"),
- kStrictContentLength: Symbol("strict content length"),
- kMaxRedirections: Symbol("maxRedirections"),
- kMaxRequests: Symbol("maxRequestsPerClient"),
- kProxy: Symbol("proxy agent options"),
- kCounter: Symbol("socket request counter"),
- kInterceptors: Symbol("dispatch interceptors"),
- kMaxResponseSize: Symbol("max response size"),
- kHTTP2Session: Symbol("http2Session"),
- kHTTP2SessionState: Symbol("http2Session state"),
- kHTTP2BuildRequest: Symbol("http2 build request"),
- kHTTP1BuildRequest: Symbol("http1 build request"),
- kHTTP2CopyHeaders: Symbol("http2 copy headers"),
- kHTTPConnVersion: Symbol("http connection version"),
- kRetryHandlerDefaultRetry: Symbol("retry agent default retry"),
- kConstruct: Symbol("constructable")
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/errors.js
-var require_errors = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/errors.js"(exports, module2) {
- "use strict";
- var UndiciError = class extends Error {
- constructor(message) {
- super(message);
- this.name = "UndiciError";
- this.code = "UND_ERR";
- }
- };
- var ConnectTimeoutError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "ConnectTimeoutError";
- this.message = message || "Connect Timeout Error";
- this.code = "UND_ERR_CONNECT_TIMEOUT";
- }
- };
- var HeadersTimeoutError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "HeadersTimeoutError";
- this.message = message || "Headers Timeout Error";
- this.code = "UND_ERR_HEADERS_TIMEOUT";
- }
- };
- var HeadersOverflowError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "HeadersOverflowError";
- this.message = message || "Headers Overflow Error";
- this.code = "UND_ERR_HEADERS_OVERFLOW";
- }
- };
- var BodyTimeoutError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "BodyTimeoutError";
- this.message = message || "Body Timeout Error";
- this.code = "UND_ERR_BODY_TIMEOUT";
- }
- };
- var ResponseStatusCodeError = class extends UndiciError {
- constructor(message, statusCode, headers, body) {
- super(message);
- this.name = "ResponseStatusCodeError";
- this.message = message || "Response Status Code Error";
- this.code = "UND_ERR_RESPONSE_STATUS_CODE";
- this.body = body;
- this.status = statusCode;
- this.statusCode = statusCode;
- this.headers = headers;
- }
- };
- var InvalidArgumentError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "InvalidArgumentError";
- this.message = message || "Invalid Argument Error";
- this.code = "UND_ERR_INVALID_ARG";
- }
- };
- var InvalidReturnValueError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "InvalidReturnValueError";
- this.message = message || "Invalid Return Value Error";
- this.code = "UND_ERR_INVALID_RETURN_VALUE";
- }
- };
- var AbortError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "AbortError";
- this.message = message || "The operation was aborted";
- }
- };
- var RequestAbortedError = class extends AbortError {
- constructor(message) {
- super(message);
- this.name = "AbortError";
- this.message = message || "Request aborted";
- this.code = "UND_ERR_ABORTED";
- }
- };
- var InformationalError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "InformationalError";
- this.message = message || "Request information";
- this.code = "UND_ERR_INFO";
- }
- };
- var RequestContentLengthMismatchError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "RequestContentLengthMismatchError";
- this.message = message || "Request body length does not match content-length header";
- this.code = "UND_ERR_REQ_CONTENT_LENGTH_MISMATCH";
- }
- };
- var ResponseContentLengthMismatchError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "ResponseContentLengthMismatchError";
- this.message = message || "Response body length does not match content-length header";
- this.code = "UND_ERR_RES_CONTENT_LENGTH_MISMATCH";
- }
- };
- var ClientDestroyedError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "ClientDestroyedError";
- this.message = message || "The client is destroyed";
- this.code = "UND_ERR_DESTROYED";
- }
- };
- var ClientClosedError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "ClientClosedError";
- this.message = message || "The client is closed";
- this.code = "UND_ERR_CLOSED";
- }
- };
- var SocketError = class extends UndiciError {
- constructor(message, socket) {
- super(message);
- this.name = "SocketError";
- this.message = message || "Socket error";
- this.code = "UND_ERR_SOCKET";
- this.socket = socket;
- }
- };
- var NotSupportedError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "NotSupportedError";
- this.message = message || "Not supported error";
- this.code = "UND_ERR_NOT_SUPPORTED";
- }
- };
- var BalancedPoolMissingUpstreamError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "MissingUpstreamError";
- this.message = message || "No upstream has been added to the BalancedPool";
- this.code = "UND_ERR_BPL_MISSING_UPSTREAM";
- }
- };
- var HTTPParserError = class extends Error {
- constructor(message, code, data) {
- super(message);
- this.name = "HTTPParserError";
- this.code = code ? `HPE_${code}` : void 0;
- this.data = data ? data.toString() : void 0;
- }
- };
- var ResponseExceededMaxSizeError = class extends UndiciError {
- constructor(message) {
- super(message);
- this.name = "ResponseExceededMaxSizeError";
- this.message = message || "Response content exceeded max size";
- this.code = "UND_ERR_RES_EXCEEDED_MAX_SIZE";
- }
- };
- var RequestRetryError = class extends UndiciError {
- constructor(message, code, { headers, data }) {
- super(message);
- this.name = "RequestRetryError";
- this.message = message || "Request retry error";
- this.code = "UND_ERR_REQ_RETRY";
- this.statusCode = code;
- this.data = data;
- this.headers = headers;
- }
- };
- module2.exports = {
- AbortError,
- HTTPParserError,
- UndiciError,
- HeadersTimeoutError,
- HeadersOverflowError,
- BodyTimeoutError,
- RequestContentLengthMismatchError,
- ConnectTimeoutError,
- ResponseStatusCodeError,
- InvalidArgumentError,
- InvalidReturnValueError,
- RequestAbortedError,
- ClientDestroyedError,
- ClientClosedError,
- InformationalError,
- SocketError,
- NotSupportedError,
- ResponseContentLengthMismatchError,
- BalancedPoolMissingUpstreamError,
- ResponseExceededMaxSizeError,
- RequestRetryError
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/dispatcher.js
-var require_dispatcher = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/dispatcher.js"(exports, module2) {
- "use strict";
- var EventEmitter = require("node:events");
- var Dispatcher = class extends EventEmitter {
- dispatch() {
- throw new Error("not implemented");
- }
- close() {
- throw new Error("not implemented");
- }
- destroy() {
- throw new Error("not implemented");
- }
- };
- module2.exports = Dispatcher;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/dispatcher-base.js
-var require_dispatcher_base = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/dispatcher-base.js"(exports, module2) {
- "use strict";
- var Dispatcher = require_dispatcher();
- var {
- ClientDestroyedError,
- ClientClosedError,
- InvalidArgumentError
- } = require_errors();
- var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols();
- var kDestroyed = Symbol("destroyed");
- var kClosed = Symbol("closed");
- var kOnDestroyed = Symbol("onDestroyed");
- var kOnClosed = Symbol("onClosed");
- var kInterceptedDispatch = Symbol("Intercepted Dispatch");
- var DispatcherBase = class extends Dispatcher {
- constructor() {
- super();
- this[kDestroyed] = false;
- this[kOnDestroyed] = null;
- this[kClosed] = false;
- this[kOnClosed] = [];
- }
- get destroyed() {
- return this[kDestroyed];
- }
- get closed() {
- return this[kClosed];
- }
- get interceptors() {
- return this[kInterceptors];
- }
- set interceptors(newInterceptors) {
- if (newInterceptors) {
- for (let i = newInterceptors.length - 1; i >= 0; i--) {
- const interceptor = this[kInterceptors][i];
- if (typeof interceptor !== "function") {
- throw new InvalidArgumentError("interceptor must be an function");
- }
- }
- }
- this[kInterceptors] = newInterceptors;
- }
- close(callback) {
- if (callback === void 0) {
- return new Promise((resolve, reject) => {
- this.close((err, data) => {
- return err ? reject(err) : resolve(data);
- });
- });
- }
- if (typeof callback !== "function") {
- throw new InvalidArgumentError("invalid callback");
- }
- if (this[kDestroyed]) {
- queueMicrotask(() => callback(new ClientDestroyedError(), null));
- return;
- }
- if (this[kClosed]) {
- if (this[kOnClosed]) {
- this[kOnClosed].push(callback);
- } else {
- queueMicrotask(() => callback(null, null));
- }
- return;
- }
- this[kClosed] = true;
- this[kOnClosed].push(callback);
- const onClosed = () => {
- const callbacks = this[kOnClosed];
- this[kOnClosed] = null;
- for (let i = 0; i < callbacks.length; i++) {
- callbacks[i](null, null);
- }
- };
- this[kClose]().then(() => this.destroy()).then(() => {
- queueMicrotask(onClosed);
- });
- }
- destroy(err, callback) {
- if (typeof err === "function") {
- callback = err;
- err = null;
- }
- if (callback === void 0) {
- return new Promise((resolve, reject) => {
- this.destroy(err, (err2, data) => {
- return err2 ? (
- /* istanbul ignore next: should never error */
- reject(err2)
- ) : resolve(data);
- });
- });
- }
- if (typeof callback !== "function") {
- throw new InvalidArgumentError("invalid callback");
- }
- if (this[kDestroyed]) {
- if (this[kOnDestroyed]) {
- this[kOnDestroyed].push(callback);
- } else {
- queueMicrotask(() => callback(null, null));
- }
- return;
- }
- if (!err) {
- err = new ClientDestroyedError();
- }
- this[kDestroyed] = true;
- this[kOnDestroyed] = this[kOnDestroyed] || [];
- this[kOnDestroyed].push(callback);
- const onDestroyed = () => {
- const callbacks = this[kOnDestroyed];
- this[kOnDestroyed] = null;
- for (let i = 0; i < callbacks.length; i++) {
- callbacks[i](null, null);
- }
- };
- this[kDestroy](err).then(() => {
- queueMicrotask(onDestroyed);
- });
- }
- [kInterceptedDispatch](opts, handler) {
- if (!this[kInterceptors] || this[kInterceptors].length === 0) {
- this[kInterceptedDispatch] = this[kDispatch];
- return this[kDispatch](opts, handler);
- }
- let dispatch = this[kDispatch].bind(this);
- for (let i = this[kInterceptors].length - 1; i >= 0; i--) {
- dispatch = this[kInterceptors][i](dispatch);
- }
- this[kInterceptedDispatch] = dispatch;
- return dispatch(opts, handler);
- }
- dispatch(opts, handler) {
- if (!handler || typeof handler !== "object") {
- throw new InvalidArgumentError("handler must be an object");
- }
- try {
- if (!opts || typeof opts !== "object") {
- throw new InvalidArgumentError("opts must be an object.");
- }
- if (this[kDestroyed] || this[kOnDestroyed]) {
- throw new ClientDestroyedError();
- }
- if (this[kClosed]) {
- throw new ClientClosedError();
- }
- return this[kInterceptedDispatch](opts, handler);
- } catch (err) {
- if (typeof handler.onError !== "function") {
- throw new InvalidArgumentError("invalid onError method");
- }
- handler.onError(err);
- return false;
- }
- }
- };
- module2.exports = DispatcherBase;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/node/fixed-queue.js
-var require_fixed_queue = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/node/fixed-queue.js"(exports, module2) {
- "use strict";
- var kSize = 2048;
- var kMask = kSize - 1;
- var FixedCircularBuffer = class {
- constructor() {
- this.bottom = 0;
- this.top = 0;
- this.list = new Array(kSize);
- this.next = null;
- }
- isEmpty() {
- return this.top === this.bottom;
- }
- isFull() {
- return (this.top + 1 & kMask) === this.bottom;
- }
- push(data) {
- this.list[this.top] = data;
- this.top = this.top + 1 & kMask;
- }
- shift() {
- const nextItem = this.list[this.bottom];
- if (nextItem === void 0)
- return null;
- this.list[this.bottom] = void 0;
- this.bottom = this.bottom + 1 & kMask;
- return nextItem;
- }
- };
- module2.exports = class FixedQueue {
- constructor() {
- this.head = this.tail = new FixedCircularBuffer();
- }
- isEmpty() {
- return this.head.isEmpty();
- }
- push(data) {
- if (this.head.isFull()) {
- this.head = this.head.next = new FixedCircularBuffer();
- }
- this.head.push(data);
- }
- shift() {
- const tail = this.tail;
- const next = tail.shift();
- if (tail.isEmpty() && tail.next !== null) {
- this.tail = tail.next;
- }
- return next;
- }
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/pool-stats.js
-var require_pool_stats = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/pool-stats.js"(exports, module2) {
- var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols();
- var kPool = Symbol("pool");
- var PoolStats = class {
- constructor(pool) {
- this[kPool] = pool;
- }
- get connected() {
- return this[kPool][kConnected];
- }
- get free() {
- return this[kPool][kFree];
- }
- get pending() {
- return this[kPool][kPending];
- }
- get queued() {
- return this[kPool][kQueued];
- }
- get running() {
- return this[kPool][kRunning];
- }
- get size() {
- return this[kPool][kSize];
- }
- };
- module2.exports = PoolStats;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/pool-base.js
-var require_pool_base = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/pool-base.js"(exports, module2) {
- "use strict";
- var DispatcherBase = require_dispatcher_base();
- var FixedQueue = require_fixed_queue();
- var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols();
- var PoolStats = require_pool_stats();
- var kClients = Symbol("clients");
- var kNeedDrain = Symbol("needDrain");
- var kQueue = Symbol("queue");
- var kClosedResolve = Symbol("closed resolve");
- var kOnDrain = Symbol("onDrain");
- var kOnConnect = Symbol("onConnect");
- var kOnDisconnect = Symbol("onDisconnect");
- var kOnConnectionError = Symbol("onConnectionError");
- var kGetDispatcher = Symbol("get dispatcher");
- var kAddClient = Symbol("add client");
- var kRemoveClient = Symbol("remove client");
- var kStats = Symbol("stats");
- var PoolBase = class extends DispatcherBase {
- constructor() {
- super();
- this[kQueue] = new FixedQueue();
- this[kClients] = [];
- this[kQueued] = 0;
- const pool = this;
- this[kOnDrain] = function onDrain(origin, targets) {
- const queue = pool[kQueue];
- let needDrain = false;
- while (!needDrain) {
- const item = queue.shift();
- if (!item) {
- break;
- }
- pool[kQueued]--;
- needDrain = !this.dispatch(item.opts, item.handler);
- }
- this[kNeedDrain] = needDrain;
- if (!this[kNeedDrain] && pool[kNeedDrain]) {
- pool[kNeedDrain] = false;
- pool.emit("drain", origin, [pool, ...targets]);
- }
- if (pool[kClosedResolve] && queue.isEmpty()) {
- Promise.all(pool[kClients].map((c) => c.close())).then(pool[kClosedResolve]);
- }
- };
- this[kOnConnect] = (origin, targets) => {
- pool.emit("connect", origin, [pool, ...targets]);
- };
- this[kOnDisconnect] = (origin, targets, err) => {
- pool.emit("disconnect", origin, [pool, ...targets], err);
- };
- this[kOnConnectionError] = (origin, targets, err) => {
- pool.emit("connectionError", origin, [pool, ...targets], err);
- };
- this[kStats] = new PoolStats(this);
- }
- get [kBusy]() {
- return this[kNeedDrain];
- }
- get [kConnected]() {
- return this[kClients].filter((client) => client[kConnected]).length;
- }
- get [kFree]() {
- return this[kClients].filter((client) => client[kConnected] && !client[kNeedDrain]).length;
- }
- get [kPending]() {
- let ret = this[kQueued];
- for (const { [kPending]: pending } of this[kClients]) {
- ret += pending;
- }
- return ret;
- }
- get [kRunning]() {
- let ret = 0;
- for (const { [kRunning]: running } of this[kClients]) {
- ret += running;
- }
- return ret;
- }
- get [kSize]() {
- let ret = this[kQueued];
- for (const { [kSize]: size } of this[kClients]) {
- ret += size;
- }
- return ret;
- }
- get stats() {
- return this[kStats];
- }
- async [kClose]() {
- if (this[kQueue].isEmpty()) {
- return Promise.all(this[kClients].map((c) => c.close()));
- } else {
- return new Promise((resolve) => {
- this[kClosedResolve] = resolve;
- });
- }
- }
- async [kDestroy](err) {
- while (true) {
- const item = this[kQueue].shift();
- if (!item) {
- break;
- }
- item.handler.onError(err);
- }
- return Promise.all(this[kClients].map((c) => c.destroy(err)));
- }
- [kDispatch](opts, handler) {
- const dispatcher = this[kGetDispatcher]();
- if (!dispatcher) {
- this[kNeedDrain] = true;
- this[kQueue].push({ opts, handler });
- this[kQueued]++;
- } else if (!dispatcher.dispatch(opts, handler)) {
- dispatcher[kNeedDrain] = true;
- this[kNeedDrain] = !this[kGetDispatcher]();
- }
- return !this[kNeedDrain];
- }
- [kAddClient](client) {
- client.on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
- this[kClients].push(client);
- if (this[kNeedDrain]) {
- process.nextTick(() => {
- if (this[kNeedDrain]) {
- this[kOnDrain](client[kUrl], [this, client]);
- }
- });
- }
- return this;
- }
- [kRemoveClient](client) {
- client.close(() => {
- const idx = this[kClients].indexOf(client);
- if (idx !== -1) {
- this[kClients].splice(idx, 1);
- }
- });
- this[kNeedDrain] = this[kClients].some((dispatcher) => !dispatcher[kNeedDrain] && dispatcher.closed !== true && dispatcher.destroyed !== true);
- }
- };
- module2.exports = {
- PoolBase,
- kClients,
- kNeedDrain,
- kAddClient,
- kRemoveClient,
- kGetDispatcher
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/constants.js
-var require_constants2 = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/constants.js"(exports, module2) {
- "use strict";
- var headerNameLowerCasedRecord = {};
- var wellknownHeaderNames = [
- "Accept",
- "Accept-Encoding",
- "Accept-Language",
- "Accept-Ranges",
- "Access-Control-Allow-Credentials",
- "Access-Control-Allow-Headers",
- "Access-Control-Allow-Methods",
- "Access-Control-Allow-Origin",
- "Access-Control-Expose-Headers",
- "Access-Control-Max-Age",
- "Access-Control-Request-Headers",
- "Access-Control-Request-Method",
- "Age",
- "Allow",
- "Alt-Svc",
- "Alt-Used",
- "Authorization",
- "Cache-Control",
- "Clear-Site-Data",
- "Connection",
- "Content-Disposition",
- "Content-Encoding",
- "Content-Language",
- "Content-Length",
- "Content-Location",
- "Content-Range",
- "Content-Security-Policy",
- "Content-Security-Policy-Report-Only",
- "Content-Type",
- "Cookie",
- "Cross-Origin-Embedder-Policy",
- "Cross-Origin-Opener-Policy",
- "Cross-Origin-Resource-Policy",
- "Date",
- "Device-Memory",
- "Downlink",
- "ECT",
- "ETag",
- "Expect",
- "Expect-CT",
- "Expires",
- "Forwarded",
- "From",
- "Host",
- "If-Match",
- "If-Modified-Since",
- "If-None-Match",
- "If-Range",
- "If-Unmodified-Since",
- "Keep-Alive",
- "Last-Modified",
- "Link",
- "Location",
- "Max-Forwards",
- "Origin",
- "Permissions-Policy",
- "Pragma",
- "Proxy-Authenticate",
- "Proxy-Authorization",
- "RTT",
- "Range",
- "Referer",
- "Referrer-Policy",
- "Refresh",
- "Retry-After",
- "Sec-WebSocket-Accept",
- "Sec-WebSocket-Extensions",
- "Sec-WebSocket-Key",
- "Sec-WebSocket-Protocol",
- "Sec-WebSocket-Version",
- "Server",
- "Server-Timing",
- "Service-Worker-Allowed",
- "Service-Worker-Navigation-Preload",
- "Set-Cookie",
- "SourceMap",
- "Strict-Transport-Security",
- "Supports-Loading-Mode",
- "TE",
- "Timing-Allow-Origin",
- "Trailer",
- "Transfer-Encoding",
- "Upgrade",
- "Upgrade-Insecure-Requests",
- "User-Agent",
- "Vary",
- "Via",
- "WWW-Authenticate",
- "X-Content-Type-Options",
- "X-DNS-Prefetch-Control",
- "X-Frame-Options",
- "X-Permitted-Cross-Domain-Policies",
- "X-Powered-By",
- "X-Requested-With",
- "X-XSS-Protection"
- ];
- for (let i = 0; i < wellknownHeaderNames.length; ++i) {
- const key = wellknownHeaderNames[i];
- const lowerCasedKey = key.toLowerCase();
- headerNameLowerCasedRecord[key] = headerNameLowerCasedRecord[lowerCasedKey] = lowerCasedKey;
- }
- Object.setPrototypeOf(headerNameLowerCasedRecord, null);
- module2.exports = {
- wellknownHeaderNames,
- headerNameLowerCasedRecord
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/tree.js
-var require_tree = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/tree.js"(exports, module2) {
- "use strict";
- var {
- wellknownHeaderNames,
- headerNameLowerCasedRecord
- } = require_constants2();
- var TstNode = class _TstNode {
- /** @type {any} */
- value = null;
- /** @type {null | TstNode} */
- left = null;
- /** @type {null | TstNode} */
- middle = null;
- /** @type {null | TstNode} */
- right = null;
- /** @type {number} */
- code;
- /**
- * @param {Uint8Array} key
- * @param {any} value
- * @param {number} index
- */
- constructor(key, value, index) {
- if (index === void 0 || index >= key.length) {
- throw new TypeError("Unreachable");
- }
- this.code = key[index];
- if (key.length !== ++index) {
- this.middle = new _TstNode(key, value, index);
- } else {
- this.value = value;
- }
- }
- /**
- * @param {Uint8Array} key
- * @param {any} value
- * @param {number} index
- */
- add(key, value, index) {
- if (index === void 0 || index >= key.length) {
- throw new TypeError("Unreachable");
- }
- const code = key[index];
- if (this.code === code) {
- if (key.length === ++index) {
- this.value = value;
- } else if (this.middle !== null) {
- this.middle.add(key, value, index);
- } else {
- this.middle = new _TstNode(key, value, index);
- }
- } else if (this.code < code) {
- if (this.left !== null) {
- this.left.add(key, value, index);
- } else {
- this.left = new _TstNode(key, value, index);
- }
- } else if (this.right !== null) {
- this.right.add(key, value, index);
- } else {
- this.right = new _TstNode(key, value, index);
- }
- }
- /**
- * @param {Uint8Array} key
- * @return {TstNode | null}
- */
- search(key) {
- const keylength = key.length;
- let index = 0;
- let node = this;
- while (node !== null && index < keylength) {
- let code = key[index];
- if (code >= 65 && code <= 90) {
- code |= 32;
- }
- while (node !== null) {
- if (code === node.code) {
- if (keylength === ++index) {
- return node;
- }
- node = node.middle;
- break;
- }
- node = node.code < code ? node.left : node.right;
- }
- }
- return null;
- }
- };
- var TernarySearchTree = class {
- /** @type {TstNode | null} */
- node = null;
- /**
- * @param {Uint8Array} key
- * @param {any} value
- * */
- insert(key, value) {
- if (this.node === null) {
- this.node = new TstNode(key, value, 0);
- } else {
- this.node.add(key, value, 0);
- }
- }
- /**
- * @param {Uint8Array} key
- */
- lookup(key) {
- return this.node?.search(key)?.value ?? null;
- }
- };
- var tree = new TernarySearchTree();
- for (let i = 0; i < wellknownHeaderNames.length; ++i) {
- const key = headerNameLowerCasedRecord[wellknownHeaderNames[i]];
- tree.insert(Buffer.from(key), key);
- }
- module2.exports = {
- TernarySearchTree,
- tree
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/util.js
-var require_util = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/util.js"(exports, module2) {
- "use strict";
- var assert3 = require("node:assert");
- var { kDestroyed, kBodyUsed } = require_symbols();
- var { IncomingMessage } = require("node:http");
- var stream = require("node:stream");
- var net = require("node:net");
- var { InvalidArgumentError } = require_errors();
- var { Blob: Blob2 } = require("node:buffer");
- var nodeUtil = require("node:util");
- var { stringify } = require("node:querystring");
- var { headerNameLowerCasedRecord } = require_constants2();
- var { tree } = require_tree();
- var [nodeMajor, nodeMinor] = process.versions.node.split(".").map((v) => Number(v));
- function nop() {
- }
- function isStream(obj) {
- return obj && typeof obj === "object" && typeof obj.pipe === "function" && typeof obj.on === "function";
- }
- function isBlobLike(object) {
- return Blob2 && object instanceof Blob2 || object && typeof object === "object" && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && /^(Blob|File)$/.test(object[Symbol.toStringTag]);
- }
- function buildURL(url, queryParams) {
- if (url.includes("?") || url.includes("#")) {
- throw new Error('Query params cannot be passed when url already contains "?" or "#".');
- }
- const stringified = stringify(queryParams);
- if (stringified) {
- url += "?" + stringified;
- }
- return url;
- }
- function parseURL(url) {
- if (typeof url === "string") {
- url = new URL(url);
- if (!/^https?:/.test(url.origin || url.protocol)) {
- throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
- }
- return url;
- }
- if (!url || typeof url !== "object") {
- throw new InvalidArgumentError("Invalid URL: The URL argument must be a non-null object.");
- }
- if (!/^https?:/.test(url.origin || url.protocol)) {
- throw new InvalidArgumentError("Invalid URL protocol: the URL must start with `http:` or `https:`.");
- }
- if (!(url instanceof URL)) {
- if (url.port != null && url.port !== "" && !Number.isFinite(parseInt(url.port))) {
- throw new InvalidArgumentError("Invalid URL: port must be a valid integer or a string representation of an integer.");
- }
- if (url.path != null && typeof url.path !== "string") {
- throw new InvalidArgumentError("Invalid URL path: the path must be a string or null/undefined.");
- }
- if (url.pathname != null && typeof url.pathname !== "string") {
- throw new InvalidArgumentError("Invalid URL pathname: the pathname must be a string or null/undefined.");
- }
- if (url.hostname != null && typeof url.hostname !== "string") {
- throw new InvalidArgumentError("Invalid URL hostname: the hostname must be a string or null/undefined.");
- }
- if (url.origin != null && typeof url.origin !== "string") {
- throw new InvalidArgumentError("Invalid URL origin: the origin must be a string or null/undefined.");
- }
- const port = url.port != null ? url.port : url.protocol === "https:" ? 443 : 80;
- let origin = url.origin != null ? url.origin : `${url.protocol}//${url.hostname}:${port}`;
- let path10 = url.path != null ? url.path : `${url.pathname || ""}${url.search || ""}`;
- if (origin.endsWith("/")) {
- origin = origin.substring(0, origin.length - 1);
- }
- if (path10 && !path10.startsWith("/")) {
- path10 = `/${path10}`;
- }
- url = new URL(origin + path10);
- }
- return url;
- }
- function parseOrigin(url) {
- url = parseURL(url);
- if (url.pathname !== "/" || url.search || url.hash) {
- throw new InvalidArgumentError("invalid url");
- }
- return url;
- }
- function getHostname(host) {
- if (host[0] === "[") {
- const idx2 = host.indexOf("]");
- assert3(idx2 !== -1);
- return host.substring(1, idx2);
- }
- const idx = host.indexOf(":");
- if (idx === -1)
- return host;
- return host.substring(0, idx);
- }
- function getServerName(host) {
- if (!host) {
- return null;
- }
- assert3.strictEqual(typeof host, "string");
- const servername = getHostname(host);
- if (net.isIP(servername)) {
- return "";
- }
- return servername;
- }
- function deepClone(obj) {
- return JSON.parse(JSON.stringify(obj));
- }
- function isAsyncIterable(obj) {
- return !!(obj != null && typeof obj[Symbol.asyncIterator] === "function");
- }
- function isIterable(obj) {
- return !!(obj != null && (typeof obj[Symbol.iterator] === "function" || typeof obj[Symbol.asyncIterator] === "function"));
- }
- function bodyLength(body) {
- if (body == null) {
- return 0;
- } else if (isStream(body)) {
- const state = body._readableState;
- return state && state.objectMode === false && state.ended === true && Number.isFinite(state.length) ? state.length : null;
- } else if (isBlobLike(body)) {
- return body.size != null ? body.size : null;
- } else if (isBuffer(body)) {
- return body.byteLength;
- }
- return null;
- }
- function isDestroyed(stream2) {
- return !stream2 || !!(stream2.destroyed || stream2[kDestroyed]);
- }
- function isReadableAborted(stream2) {
- const state = stream2?._readableState;
- return isDestroyed(stream2) && state && !state.endEmitted;
- }
- function destroy(stream2, err) {
- if (stream2 == null || !isStream(stream2) || isDestroyed(stream2)) {
- return;
- }
- if (typeof stream2.destroy === "function") {
- if (Object.getPrototypeOf(stream2).constructor === IncomingMessage) {
- stream2.socket = null;
- }
- stream2.destroy(err);
- } else if (err) {
- process.nextTick((stream3, err2) => {
- stream3.emit("error", err2);
- }, stream2, err);
- }
- if (stream2.destroyed !== true) {
- stream2[kDestroyed] = true;
- }
- }
- var KEEPALIVE_TIMEOUT_EXPR = /timeout=(\d+)/;
- function parseKeepAliveTimeout(val) {
- const m = val.toString().match(KEEPALIVE_TIMEOUT_EXPR);
- return m ? parseInt(m[1], 10) * 1e3 : null;
- }
- function headerNameToString(value) {
- return typeof value === "string" ? headerNameLowerCasedRecord[value] ?? value.toLowerCase() : tree.lookup(value) ?? value.toString("latin1").toLowerCase();
- }
- function bufferToLowerCasedHeaderName(value) {
- return tree.lookup(value) ?? value.toString("latin1").toLowerCase();
- }
- function parseHeaders(headers, obj) {
- if (!Array.isArray(headers))
- return headers;
- if (obj === void 0)
- obj = {};
- for (let i = 0; i < headers.length; i += 2) {
- const key = headerNameToString(headers[i]);
- let val = obj[key];
- if (val) {
- if (typeof val === "string") {
- val = [val];
- obj[key] = val;
- }
- val.push(headers[i + 1].toString("utf8"));
- } else {
- const headersValue = headers[i + 1];
- if (typeof headersValue === "string") {
- obj[key] = headersValue;
- } else {
- obj[key] = Array.isArray(headersValue) ? headersValue.map((x) => x.toString("utf8")) : headersValue.toString("utf8");
- }
- }
- }
- if ("content-length" in obj && "content-disposition" in obj) {
- obj["content-disposition"] = Buffer.from(obj["content-disposition"]).toString("latin1");
- }
- return obj;
- }
- function parseRawHeaders(headers) {
- const ret = [];
- let hasContentLength = false;
- let contentDispositionIdx = -1;
- for (let n = 0; n < headers.length; n += 2) {
- const key = headers[n + 0].toString();
- const val = headers[n + 1].toString("utf8");
- if (key.length === 14 && (key === "content-length" || key.toLowerCase() === "content-length")) {
- ret.push(key, val);
- hasContentLength = true;
- } else if (key.length === 19 && (key === "content-disposition" || key.toLowerCase() === "content-disposition")) {
- contentDispositionIdx = ret.push(key, val) - 1;
- } else {
- ret.push(key, val);
- }
- }
- if (hasContentLength && contentDispositionIdx !== -1) {
- ret[contentDispositionIdx] = Buffer.from(ret[contentDispositionIdx]).toString("latin1");
- }
- return ret;
- }
- function isBuffer(buffer) {
- return buffer instanceof Uint8Array || Buffer.isBuffer(buffer);
- }
- function validateHandler(handler, method, upgrade) {
- if (!handler || typeof handler !== "object") {
- throw new InvalidArgumentError("handler must be an object");
- }
- if (typeof handler.onConnect !== "function") {
- throw new InvalidArgumentError("invalid onConnect method");
- }
- if (typeof handler.onError !== "function") {
- throw new InvalidArgumentError("invalid onError method");
- }
- if (typeof handler.onBodySent !== "function" && handler.onBodySent !== void 0) {
- throw new InvalidArgumentError("invalid onBodySent method");
- }
- if (upgrade || method === "CONNECT") {
- if (typeof handler.onUpgrade !== "function") {
- throw new InvalidArgumentError("invalid onUpgrade method");
- }
- } else {
- if (typeof handler.onHeaders !== "function") {
- throw new InvalidArgumentError("invalid onHeaders method");
- }
- if (typeof handler.onData !== "function") {
- throw new InvalidArgumentError("invalid onData method");
- }
- if (typeof handler.onComplete !== "function") {
- throw new InvalidArgumentError("invalid onComplete method");
- }
- }
- }
- function isDisturbed(body) {
- return !!(body && (stream.isDisturbed(body) || body[kBodyUsed]));
- }
- function isErrored(body) {
- return !!(body && stream.isErrored(body));
- }
- function isReadable(body) {
- return !!(body && stream.isReadable(body));
- }
- function getSocketInfo(socket) {
- return {
- localAddress: socket.localAddress,
- localPort: socket.localPort,
- remoteAddress: socket.remoteAddress,
- remotePort: socket.remotePort,
- remoteFamily: socket.remoteFamily,
- timeout: socket.timeout,
- bytesWritten: socket.bytesWritten,
- bytesRead: socket.bytesRead
- };
- }
- function ReadableStreamFrom(iterable) {
- let iterator;
- return new ReadableStream(
- {
- async start() {
- iterator = iterable[Symbol.asyncIterator]();
- },
- async pull(controller) {
- const { done, value } = await iterator.next();
- if (done) {
- queueMicrotask(() => {
- controller.close();
- controller.byobRequest?.respond(0);
- });
- } else {
- const buf = Buffer.isBuffer(value) ? value : Buffer.from(value);
- if (buf.byteLength) {
- controller.enqueue(new Uint8Array(buf));
- }
- }
- return controller.desiredSize > 0;
- },
- async cancel(reason) {
- await iterator.return();
- },
- type: "bytes"
- }
- );
- }
- function isFormDataLike(object) {
- return object && typeof object === "object" && typeof object.append === "function" && typeof object.delete === "function" && typeof object.get === "function" && typeof object.getAll === "function" && typeof object.has === "function" && typeof object.set === "function" && object[Symbol.toStringTag] === "FormData";
- }
- function addAbortListener(signal, listener) {
- if ("addEventListener" in signal) {
- signal.addEventListener("abort", listener, { once: true });
- return () => signal.removeEventListener("abort", listener);
- }
- signal.addListener("abort", listener);
- return () => signal.removeListener("abort", listener);
- }
- var hasToWellFormed = !!String.prototype.toWellFormed;
- function toUSVString(val) {
- if (hasToWellFormed) {
- return `${val}`.toWellFormed();
- } else if (nodeUtil.toUSVString) {
- return nodeUtil.toUSVString(val);
- }
- return `${val}`;
- }
- function isTokenCharCode(c) {
- switch (c) {
- case 34:
- case 40:
- case 41:
- case 44:
- case 47:
- case 58:
- case 59:
- case 60:
- case 61:
- case 62:
- case 63:
- case 64:
- case 91:
- case 92:
- case 93:
- case 123:
- case 125:
- return false;
- default:
- return c >= 33 && c <= 126;
- }
- }
- function isValidHTTPToken(characters) {
- if (characters.length === 0) {
- return false;
- }
- for (let i = 0; i < characters.length; ++i) {
- if (!isTokenCharCode(characters.charCodeAt(i))) {
- return false;
- }
- }
- return true;
- }
- function parseRangeHeader(range) {
- if (range == null || range === "")
- return { start: 0, end: null, size: null };
- const m = range ? range.match(/^bytes (\d+)-(\d+)\/(\d+)?$/) : null;
- return m ? {
- start: parseInt(m[1]),
- end: m[2] ? parseInt(m[2]) : null,
- size: m[3] ? parseInt(m[3]) : null
- } : null;
- }
- var kEnumerableProperty = /* @__PURE__ */ Object.create(null);
- kEnumerableProperty.enumerable = true;
- module2.exports = {
- kEnumerableProperty,
- nop,
- isDisturbed,
- isErrored,
- isReadable,
- toUSVString,
- isReadableAborted,
- isBlobLike,
- parseOrigin,
- parseURL,
- getServerName,
- isStream,
- isIterable,
- isAsyncIterable,
- isDestroyed,
- headerNameToString,
- bufferToLowerCasedHeaderName,
- parseRawHeaders,
- parseHeaders,
- parseKeepAliveTimeout,
- destroy,
- bodyLength,
- deepClone,
- ReadableStreamFrom,
- isBuffer,
- validateHandler,
- getSocketInfo,
- isFormDataLike,
- buildURL,
- addAbortListener,
- isValidHTTPToken,
- isTokenCharCode,
- parseRangeHeader,
- nodeMajor,
- nodeMinor,
- nodeHasAutoSelectFamily: nodeMajor > 18 || nodeMajor === 18 && nodeMinor >= 13,
- safeHTTPMethods: ["GET", "HEAD", "OPTIONS", "TRACE"]
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/diagnostics.js
-var require_diagnostics = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/diagnostics.js"(exports, module2) {
- "use strict";
- var diagnosticsChannel = require("node:diagnostics_channel");
- var util = require("node:util");
- var undiciDebugLog = util.debuglog("undici");
- var fetchDebuglog = util.debuglog("fetch");
- var websocketDebuglog = util.debuglog("websocket");
- var isClientSet = false;
- var channels = {
- // Client
- beforeConnect: diagnosticsChannel.channel("undici:client:beforeConnect"),
- connected: diagnosticsChannel.channel("undici:client:connected"),
- connectError: diagnosticsChannel.channel("undici:client:connectError"),
- sendHeaders: diagnosticsChannel.channel("undici:client:sendHeaders"),
- // Request
- create: diagnosticsChannel.channel("undici:request:create"),
- bodySent: diagnosticsChannel.channel("undici:request:bodySent"),
- headers: diagnosticsChannel.channel("undici:request:headers"),
- trailers: diagnosticsChannel.channel("undici:request:trailers"),
- error: diagnosticsChannel.channel("undici:request:error"),
- // WebSocket
- open: diagnosticsChannel.channel("undici:websocket:open"),
- close: diagnosticsChannel.channel("undici:websocket:close"),
- socketError: diagnosticsChannel.channel("undici:websocket:socket_error"),
- ping: diagnosticsChannel.channel("undici:websocket:ping"),
- pong: diagnosticsChannel.channel("undici:websocket:pong")
- };
- if (undiciDebugLog.enabled || fetchDebuglog.enabled) {
- const debuglog = fetchDebuglog.enabled ? fetchDebuglog : undiciDebugLog;
- diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
- const {
- connectParams: { version: version2, protocol, port, host }
- } = evt;
- debuglog(
- "connecting to %s using %s%s",
- `${host}${port ? `:${port}` : ""}`,
- protocol,
- version2
- );
- });
- diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
- const {
- connectParams: { version: version2, protocol, port, host }
- } = evt;
- debuglog(
- "connected to %s using %s%s",
- `${host}${port ? `:${port}` : ""}`,
- protocol,
- version2
- );
- });
- diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
- const {
- connectParams: { version: version2, protocol, port, host },
- error
- } = evt;
- debuglog(
- "connection to %s using %s%s errored - %s",
- `${host}${port ? `:${port}` : ""}`,
- protocol,
- version2,
- error.message
- );
- });
- diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
- const {
- request: { method, path: path10, origin }
- } = evt;
- debuglog("sending request to %s %s/%s", method, origin, path10);
- });
- diagnosticsChannel.channel("undici:request:headers").subscribe((evt) => {
- const {
- request: { method, path: path10, origin },
- response: { statusCode }
- } = evt;
- debuglog(
- "received response to %s %s/%s - HTTP %d",
- method,
- origin,
- path10,
- statusCode
- );
- });
- diagnosticsChannel.channel("undici:request:trailers").subscribe((evt) => {
- const {
- request: { method, path: path10, origin }
- } = evt;
- debuglog("trailers received from %s %s/%s", method, origin, path10);
- });
- diagnosticsChannel.channel("undici:request:error").subscribe((evt) => {
- const {
- request: { method, path: path10, origin },
- error
- } = evt;
- debuglog(
- "request to %s %s/%s errored - %s",
- method,
- origin,
- path10,
- error.message
- );
- });
- isClientSet = true;
- }
- if (websocketDebuglog.enabled) {
- if (!isClientSet) {
- const debuglog = undiciDebugLog.enabled ? undiciDebugLog : websocketDebuglog;
- diagnosticsChannel.channel("undici:client:beforeConnect").subscribe((evt) => {
- const {
- connectParams: { version: version2, protocol, port, host }
- } = evt;
- debuglog(
- "connecting to %s%s using %s%s",
- host,
- port ? `:${port}` : "",
- protocol,
- version2
- );
- });
- diagnosticsChannel.channel("undici:client:connected").subscribe((evt) => {
- const {
- connectParams: { version: version2, protocol, port, host }
- } = evt;
- debuglog(
- "connected to %s%s using %s%s",
- host,
- port ? `:${port}` : "",
- protocol,
- version2
- );
- });
- diagnosticsChannel.channel("undici:client:connectError").subscribe((evt) => {
- const {
- connectParams: { version: version2, protocol, port, host },
- error
- } = evt;
- debuglog(
- "connection to %s%s using %s%s errored - %s",
- host,
- port ? `:${port}` : "",
- protocol,
- version2,
- error.message
- );
- });
- diagnosticsChannel.channel("undici:client:sendHeaders").subscribe((evt) => {
- const {
- request: { method, path: path10, origin }
- } = evt;
- debuglog("sending request to %s %s/%s", method, origin, path10);
- });
- }
- diagnosticsChannel.channel("undici:websocket:open").subscribe((evt) => {
- const {
- address: { address, port }
- } = evt;
- websocketDebuglog("connection opened %s%s", address, port ? `:${port}` : "");
- });
- diagnosticsChannel.channel("undici:websocket:close").subscribe((evt) => {
- const { websocket, code, reason } = evt;
- websocketDebuglog(
- "closed connection to %s - %s %s",
- websocket.url,
- code,
- reason
- );
- });
- diagnosticsChannel.channel("undici:websocket:socket_error").subscribe((err) => {
- websocketDebuglog("connection errored - %s", err.message);
- });
- diagnosticsChannel.channel("undici:websocket:ping").subscribe((evt) => {
- websocketDebuglog("ping received");
- });
- diagnosticsChannel.channel("undici:websocket:pong").subscribe((evt) => {
- websocketDebuglog("pong received");
- });
- }
- module2.exports = {
- channels
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/timers.js
-var require_timers = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/timers.js"(exports, module2) {
- "use strict";
- var fastNow = Date.now();
- var fastNowTimeout;
- var fastTimers = [];
- function onTimeout() {
- fastNow = Date.now();
- let len = fastTimers.length;
- let idx = 0;
- while (idx < len) {
- const timer = fastTimers[idx];
- if (timer.state === 0) {
- timer.state = fastNow + timer.delay;
- } else if (timer.state > 0 && fastNow >= timer.state) {
- timer.state = -1;
- timer.callback(timer.opaque);
- }
- if (timer.state === -1) {
- timer.state = -2;
- if (idx !== len - 1) {
- fastTimers[idx] = fastTimers.pop();
- } else {
- fastTimers.pop();
- }
- len -= 1;
- } else {
- idx += 1;
- }
- }
- if (fastTimers.length > 0) {
- refreshTimeout();
- }
- }
- function refreshTimeout() {
- if (fastNowTimeout?.refresh) {
- fastNowTimeout.refresh();
- } else {
- clearTimeout(fastNowTimeout);
- fastNowTimeout = setTimeout(onTimeout, 1e3);
- if (fastNowTimeout.unref) {
- fastNowTimeout.unref();
- }
- }
- }
- var Timeout = class {
- constructor(callback, delay, opaque) {
- this.callback = callback;
- this.delay = delay;
- this.opaque = opaque;
- this.state = -2;
- this.refresh();
- }
- refresh() {
- if (this.state === -2) {
- fastTimers.push(this);
- if (!fastNowTimeout || fastTimers.length === 1) {
- refreshTimeout();
- }
- }
- this.state = 0;
- }
- clear() {
- this.state = -1;
- }
- };
- module2.exports = {
- setTimeout(callback, delay, opaque) {
- return delay < 1e3 ? setTimeout(callback, delay, opaque) : new Timeout(callback, delay, opaque);
- },
- clearTimeout(timeout) {
- if (timeout instanceof Timeout) {
- timeout.clear();
- } else {
- clearTimeout(timeout);
- }
- }
- };
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js
-var require_sbmh = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/deps/streamsearch/sbmh.js"(exports, module2) {
- "use strict";
- var EventEmitter = require("node:events").EventEmitter;
- var inherits = require("node:util").inherits;
- function SBMH(needle) {
- if (typeof needle === "string") {
- needle = Buffer.from(needle);
- }
- if (!Buffer.isBuffer(needle)) {
- throw new TypeError("The needle has to be a String or a Buffer.");
- }
- const needleLength = needle.length;
- if (needleLength === 0) {
- throw new Error("The needle cannot be an empty String/Buffer.");
- }
- if (needleLength > 256) {
- throw new Error("The needle cannot have a length bigger than 256.");
- }
- this.maxMatches = Infinity;
- this.matches = 0;
- this._occ = new Array(256).fill(needleLength);
- this._lookbehind_size = 0;
- this._needle = needle;
- this._bufpos = 0;
- this._lookbehind = Buffer.alloc(needleLength);
- for (var i = 0; i < needleLength - 1; ++i) {
- this._occ[needle[i]] = needleLength - 1 - i;
- }
- }
- inherits(SBMH, EventEmitter);
- SBMH.prototype.reset = function() {
- this._lookbehind_size = 0;
- this.matches = 0;
- this._bufpos = 0;
- };
- SBMH.prototype.push = function(chunk, pos) {
- if (!Buffer.isBuffer(chunk)) {
- chunk = Buffer.from(chunk, "binary");
- }
- const chlen = chunk.length;
- this._bufpos = pos || 0;
- let r;
- while (r !== chlen && this.matches < this.maxMatches) {
- r = this._sbmh_feed(chunk);
- }
- return r;
- };
- SBMH.prototype._sbmh_feed = function(data) {
- const len = data.length;
- const needle = this._needle;
- const needleLength = needle.length;
- const lastNeedleChar = needle[needleLength - 1];
- let pos = -this._lookbehind_size;
- let ch;
- if (pos < 0) {
- while (pos < 0 && pos <= len - needleLength) {
- ch = this._sbmh_lookup_char(data, pos + needleLength - 1);
- if (ch === lastNeedleChar && this._sbmh_memcmp(data, pos, needleLength - 1)) {
- this._lookbehind_size = 0;
- ++this.matches;
- this.emit("info", true);
- return this._bufpos = pos + needleLength;
- }
- pos += this._occ[ch];
- }
- if (pos < 0) {
- while (pos < 0 && !this._sbmh_memcmp(data, pos, len - pos)) {
- ++pos;
- }
- }
- if (pos >= 0) {
- this.emit("info", false, this._lookbehind, 0, this._lookbehind_size);
- this._lookbehind_size = 0;
- } else {
- const bytesToCutOff = this._lookbehind_size + pos;
- if (bytesToCutOff > 0) {
- this.emit("info", false, this._lookbehind, 0, bytesToCutOff);
- }
- this._lookbehind.copy(
- this._lookbehind,
- 0,
- bytesToCutOff,
- this._lookbehind_size - bytesToCutOff
- );
- this._lookbehind_size -= bytesToCutOff;
- data.copy(this._lookbehind, this._lookbehind_size);
- this._lookbehind_size += len;
- this._bufpos = len;
- return len;
- }
- }
- pos += (pos >= 0) * this._bufpos;
- if (data.indexOf(needle, pos) !== -1) {
- pos = data.indexOf(needle, pos);
- ++this.matches;
- if (pos > 0) {
- this.emit("info", true, data, this._bufpos, pos);
- } else {
- this.emit("info", true);
- }
- return this._bufpos = pos + needleLength;
- } else {
- pos = len - needleLength;
- }
- while (pos < len && (data[pos] !== needle[0] || Buffer.compare(
- data.subarray(pos, pos + len - pos),
- needle.subarray(0, len - pos)
- ) !== 0)) {
- ++pos;
- }
- if (pos < len) {
- data.copy(this._lookbehind, 0, pos, pos + (len - pos));
- this._lookbehind_size = len - pos;
- }
- if (pos > 0) {
- this.emit("info", false, data, this._bufpos, pos < len ? pos : len);
- }
- this._bufpos = len;
- return len;
- };
- SBMH.prototype._sbmh_lookup_char = function(data, pos) {
- return pos < 0 ? this._lookbehind[this._lookbehind_size + pos] : data[pos];
- };
- SBMH.prototype._sbmh_memcmp = function(data, pos, len) {
- for (var i = 0; i < len; ++i) {
- if (this._sbmh_lookup_char(data, pos + i) !== this._needle[i]) {
- return false;
- }
- }
- return true;
- };
- module2.exports = SBMH;
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js
-var require_PartStream = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/deps/dicer/lib/PartStream.js"(exports, module2) {
- "use strict";
- var inherits = require("node:util").inherits;
- var ReadableStream2 = require("node:stream").Readable;
- function PartStream(opts) {
- ReadableStream2.call(this, opts);
- }
- inherits(PartStream, ReadableStream2);
- PartStream.prototype._read = function(n) {
- };
- module2.exports = PartStream;
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/getLimit.js
-var require_getLimit = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/getLimit.js"(exports, module2) {
- "use strict";
- module2.exports = function getLimit(limits, name, defaultLimit) {
- if (!limits || limits[name] === void 0 || limits[name] === null) {
- return defaultLimit;
- }
- if (typeof limits[name] !== "number" || isNaN(limits[name])) {
- throw new TypeError("Limit " + name + " is not a valid number");
- }
- return limits[name];
- };
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js
-var require_HeaderParser = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/deps/dicer/lib/HeaderParser.js"(exports, module2) {
- "use strict";
- var EventEmitter = require("node:events").EventEmitter;
- var inherits = require("node:util").inherits;
- var getLimit = require_getLimit();
- var StreamSearch = require_sbmh();
- var B_DCRLF = Buffer.from("\r\n\r\n");
- var RE_CRLF = /\r\n/g;
- var RE_HDR = /^([^:]+):[ \t]?([\x00-\xFF]+)?$/;
- function HeaderParser(cfg) {
- EventEmitter.call(this);
- cfg = cfg || {};
- const self2 = this;
- this.nread = 0;
- this.maxed = false;
- this.npairs = 0;
- this.maxHeaderPairs = getLimit(cfg, "maxHeaderPairs", 2e3);
- this.maxHeaderSize = getLimit(cfg, "maxHeaderSize", 80 * 1024);
- this.buffer = "";
- this.header = {};
- this.finished = false;
- this.ss = new StreamSearch(B_DCRLF);
- this.ss.on("info", function(isMatch, data, start, end) {
- if (data && !self2.maxed) {
- if (self2.nread + end - start >= self2.maxHeaderSize) {
- end = self2.maxHeaderSize - self2.nread + start;
- self2.nread = self2.maxHeaderSize;
- self2.maxed = true;
- } else {
- self2.nread += end - start;
- }
- self2.buffer += data.toString("binary", start, end);
- }
- if (isMatch) {
- self2._finish();
- }
- });
- }
- inherits(HeaderParser, EventEmitter);
- HeaderParser.prototype.push = function(data) {
- const r = this.ss.push(data);
- if (this.finished) {
- return r;
- }
- };
- HeaderParser.prototype.reset = function() {
- this.finished = false;
- this.buffer = "";
- this.header = {};
- this.ss.reset();
- };
- HeaderParser.prototype._finish = function() {
- if (this.buffer) {
- this._parseHeader();
- }
- this.ss.matches = this.ss.maxMatches;
- const header = this.header;
- this.header = {};
- this.buffer = "";
- this.finished = true;
- this.nread = this.npairs = 0;
- this.maxed = false;
- this.emit("header", header);
- };
- HeaderParser.prototype._parseHeader = function() {
- if (this.npairs === this.maxHeaderPairs) {
- return;
- }
- const lines = this.buffer.split(RE_CRLF);
- const len = lines.length;
- let m, h;
- for (var i = 0; i < len; ++i) {
- if (lines[i].length === 0) {
- continue;
- }
- if (lines[i][0] === " " || lines[i][0] === " ") {
- if (h) {
- this.header[h][this.header[h].length - 1] += lines[i];
- continue;
- }
- }
- const posColon = lines[i].indexOf(":");
- if (posColon === -1 || posColon === 0) {
- return;
- }
- m = RE_HDR.exec(lines[i]);
- h = m[1].toLowerCase();
- this.header[h] = this.header[h] || [];
- this.header[h].push(m[2] || "");
- if (++this.npairs === this.maxHeaderPairs) {
- break;
- }
- }
- };
- module2.exports = HeaderParser;
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js
-var require_Dicer = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/deps/dicer/lib/Dicer.js"(exports, module2) {
- "use strict";
- var WritableStream = require("node:stream").Writable;
- var inherits = require("node:util").inherits;
- var StreamSearch = require_sbmh();
- var PartStream = require_PartStream();
- var HeaderParser = require_HeaderParser();
- var DASH = 45;
- var B_ONEDASH = Buffer.from("-");
- var B_CRLF = Buffer.from("\r\n");
- var EMPTY_FN = function() {
- };
- function Dicer(cfg) {
- if (!(this instanceof Dicer)) {
- return new Dicer(cfg);
- }
- WritableStream.call(this, cfg);
- if (!cfg || !cfg.headerFirst && typeof cfg.boundary !== "string") {
- throw new TypeError("Boundary required");
- }
- if (typeof cfg.boundary === "string") {
- this.setBoundary(cfg.boundary);
- } else {
- this._bparser = void 0;
- }
- this._headerFirst = cfg.headerFirst;
- this._dashes = 0;
- this._parts = 0;
- this._finished = false;
- this._realFinish = false;
- this._isPreamble = true;
- this._justMatched = false;
- this._firstWrite = true;
- this._inHeader = true;
- this._part = void 0;
- this._cb = void 0;
- this._ignoreData = false;
- this._partOpts = { highWaterMark: cfg.partHwm };
- this._pause = false;
- const self2 = this;
- this._hparser = new HeaderParser(cfg);
- this._hparser.on("header", function(header) {
- self2._inHeader = false;
- self2._part.emit("header", header);
- });
- }
- inherits(Dicer, WritableStream);
- Dicer.prototype.emit = function(ev) {
- if (ev === "finish" && !this._realFinish) {
- if (!this._finished) {
- const self2 = this;
- process.nextTick(function() {
- self2.emit("error", new Error("Unexpected end of multipart data"));
- if (self2._part && !self2._ignoreData) {
- const type = self2._isPreamble ? "Preamble" : "Part";
- self2._part.emit("error", new Error(type + " terminated early due to unexpected end of multipart data"));
- self2._part.push(null);
- process.nextTick(function() {
- self2._realFinish = true;
- self2.emit("finish");
- self2._realFinish = false;
- });
- return;
- }
- self2._realFinish = true;
- self2.emit("finish");
- self2._realFinish = false;
- });
- }
- } else {
- WritableStream.prototype.emit.apply(this, arguments);
- }
- };
- Dicer.prototype._write = function(data, encoding, cb) {
- if (!this._hparser && !this._bparser) {
- return cb();
- }
- if (this._headerFirst && this._isPreamble) {
- if (!this._part) {
- this._part = new PartStream(this._partOpts);
- if (this._events.preamble) {
- this.emit("preamble", this._part);
- } else {
- this._ignore();
- }
- }
- const r = this._hparser.push(data);
- if (!this._inHeader && r !== void 0 && r < data.length) {
- data = data.slice(r);
- } else {
- return cb();
- }
- }
- if (this._firstWrite) {
- this._bparser.push(B_CRLF);
- this._firstWrite = false;
- }
- this._bparser.push(data);
- if (this._pause) {
- this._cb = cb;
- } else {
- cb();
- }
- };
- Dicer.prototype.reset = function() {
- this._part = void 0;
- this._bparser = void 0;
- this._hparser = void 0;
- };
- Dicer.prototype.setBoundary = function(boundary) {
- const self2 = this;
- this._bparser = new StreamSearch("\r\n--" + boundary);
- this._bparser.on("info", function(isMatch, data, start, end) {
- self2._oninfo(isMatch, data, start, end);
- });
- };
- Dicer.prototype._ignore = function() {
- if (this._part && !this._ignoreData) {
- this._ignoreData = true;
- this._part.on("error", EMPTY_FN);
- this._part.resume();
- }
- };
- Dicer.prototype._oninfo = function(isMatch, data, start, end) {
- let buf;
- const self2 = this;
- let i = 0;
- let r;
- let shouldWriteMore = true;
- if (!this._part && this._justMatched && data) {
- while (this._dashes < 2 && start + i < end) {
- if (data[start + i] === DASH) {
- ++i;
- ++this._dashes;
- } else {
- if (this._dashes) {
- buf = B_ONEDASH;
- }
- this._dashes = 0;
- break;
- }
- }
- if (this._dashes === 2) {
- if (start + i < end && this._events.trailer) {
- this.emit("trailer", data.slice(start + i, end));
- }
- this.reset();
- this._finished = true;
- if (self2._parts === 0) {
- self2._realFinish = true;
- self2.emit("finish");
- self2._realFinish = false;
- }
- }
- if (this._dashes) {
- return;
- }
- }
- if (this._justMatched) {
- this._justMatched = false;
- }
- if (!this._part) {
- this._part = new PartStream(this._partOpts);
- this._part._read = function(n) {
- self2._unpause();
- };
- if (this._isPreamble && this._events.preamble) {
- this.emit("preamble", this._part);
- } else if (this._isPreamble !== true && this._events.part) {
- this.emit("part", this._part);
- } else {
- this._ignore();
- }
- if (!this._isPreamble) {
- this._inHeader = true;
- }
- }
- if (data && start < end && !this._ignoreData) {
- if (this._isPreamble || !this._inHeader) {
- if (buf) {
- shouldWriteMore = this._part.push(buf);
- }
- shouldWriteMore = this._part.push(data.slice(start, end));
- if (!shouldWriteMore) {
- this._pause = true;
- }
- } else if (!this._isPreamble && this._inHeader) {
- if (buf) {
- this._hparser.push(buf);
- }
- r = this._hparser.push(data.slice(start, end));
- if (!this._inHeader && r !== void 0 && r < end) {
- this._oninfo(false, data, start + r, end);
- }
- }
- }
- if (isMatch) {
- this._hparser.reset();
- if (this._isPreamble) {
- this._isPreamble = false;
- } else {
- if (start !== end) {
- ++this._parts;
- this._part.on("end", function() {
- if (--self2._parts === 0) {
- if (self2._finished) {
- self2._realFinish = true;
- self2.emit("finish");
- self2._realFinish = false;
- } else {
- self2._unpause();
- }
- }
- });
- }
- }
- this._part.push(null);
- this._part = void 0;
- this._ignoreData = false;
- this._justMatched = true;
- this._dashes = 0;
- }
- };
- Dicer.prototype._unpause = function() {
- if (!this._pause) {
- return;
- }
- this._pause = false;
- if (this._cb) {
- const cb = this._cb;
- this._cb = void 0;
- cb();
- }
- };
- module2.exports = Dicer;
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/decodeText.js
-var require_decodeText = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/decodeText.js"(exports, module2) {
- "use strict";
- var utf8Decoder = new TextDecoder("utf-8");
- var textDecoders = /* @__PURE__ */ new Map([
- ["utf-8", utf8Decoder],
- ["utf8", utf8Decoder]
- ]);
- function getDecoder(charset) {
- let lc;
- while (true) {
- switch (charset) {
- case "utf-8":
- case "utf8":
- return decoders.utf8;
- case "latin1":
- case "ascii":
- case "us-ascii":
- case "iso-8859-1":
- case "iso8859-1":
- case "iso88591":
- case "iso_8859-1":
- case "windows-1252":
- case "iso_8859-1:1987":
- case "cp1252":
- case "x-cp1252":
- return decoders.latin1;
- case "utf16le":
- case "utf-16le":
- case "ucs2":
- case "ucs-2":
- return decoders.utf16le;
- case "base64":
- return decoders.base64;
- default:
- if (lc === void 0) {
- lc = true;
- charset = charset.toLowerCase();
- continue;
- }
- return decoders.other.bind(charset);
- }
- }
- }
- var decoders = {
- utf8: (data, sourceEncoding) => {
- if (data.length === 0) {
- return "";
- }
- if (typeof data === "string") {
- data = Buffer.from(data, sourceEncoding);
- }
- return data.utf8Slice(0, data.length);
- },
- latin1: (data, sourceEncoding) => {
- if (data.length === 0) {
- return "";
- }
- if (typeof data === "string") {
- return data;
- }
- return data.latin1Slice(0, data.length);
- },
- utf16le: (data, sourceEncoding) => {
- if (data.length === 0) {
- return "";
- }
- if (typeof data === "string") {
- data = Buffer.from(data, sourceEncoding);
- }
- return data.ucs2Slice(0, data.length);
- },
- base64: (data, sourceEncoding) => {
- if (data.length === 0) {
- return "";
- }
- if (typeof data === "string") {
- data = Buffer.from(data, sourceEncoding);
- }
- return data.base64Slice(0, data.length);
- },
- other: (data, sourceEncoding) => {
- if (data.length === 0) {
- return "";
- }
- if (typeof data === "string") {
- data = Buffer.from(data, sourceEncoding);
- }
- if (textDecoders.has(exports.toString())) {
- try {
- return textDecoders.get(exports).decode(data);
- } catch (e) {
- }
- }
- return typeof data === "string" ? data : data.toString();
- }
- };
- function decodeText(text, sourceEncoding, destEncoding) {
- if (text) {
- return getDecoder(destEncoding)(text, sourceEncoding);
- }
- return text;
- }
- module2.exports = decodeText;
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/parseParams.js
-var require_parseParams = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/parseParams.js"(exports, module2) {
- "use strict";
- var decodeText = require_decodeText();
- var RE_ENCODED = /%[a-fA-F0-9][a-fA-F0-9]/g;
- var EncodedLookup = {
- "%00": "\0",
- "%01": "",
- "%02": "",
- "%03": "",
- "%04": "",
- "%05": "",
- "%06": "",
- "%07": "\x07",
- "%08": "\b",
- "%09": " ",
- "%0a": "\n",
- "%0A": "\n",
- "%0b": "\v",
- "%0B": "\v",
- "%0c": "\f",
- "%0C": "\f",
- "%0d": "\r",
- "%0D": "\r",
- "%0e": "",
- "%0E": "",
- "%0f": "",
- "%0F": "",
- "%10": "",
- "%11": "",
- "%12": "",
- "%13": "",
- "%14": "",
- "%15": "",
- "%16": "",
- "%17": "",
- "%18": "",
- "%19": "",
- "%1a": "",
- "%1A": "",
- "%1b": "\x1B",
- "%1B": "\x1B",
- "%1c": "",
- "%1C": "",
- "%1d": "",
- "%1D": "",
- "%1e": "",
- "%1E": "",
- "%1f": "",
- "%1F": "",
- "%20": " ",
- "%21": "!",
- "%22": '"',
- "%23": "#",
- "%24": "$",
- "%25": "%",
- "%26": "&",
- "%27": "'",
- "%28": "(",
- "%29": ")",
- "%2a": "*",
- "%2A": "*",
- "%2b": "+",
- "%2B": "+",
- "%2c": ",",
- "%2C": ",",
- "%2d": "-",
- "%2D": "-",
- "%2e": ".",
- "%2E": ".",
- "%2f": "/",
- "%2F": "/",
- "%30": "0",
- "%31": "1",
- "%32": "2",
- "%33": "3",
- "%34": "4",
- "%35": "5",
- "%36": "6",
- "%37": "7",
- "%38": "8",
- "%39": "9",
- "%3a": ":",
- "%3A": ":",
- "%3b": ";",
- "%3B": ";",
- "%3c": "<",
- "%3C": "<",
- "%3d": "=",
- "%3D": "=",
- "%3e": ">",
- "%3E": ">",
- "%3f": "?",
- "%3F": "?",
- "%40": "@",
- "%41": "A",
- "%42": "B",
- "%43": "C",
- "%44": "D",
- "%45": "E",
- "%46": "F",
- "%47": "G",
- "%48": "H",
- "%49": "I",
- "%4a": "J",
- "%4A": "J",
- "%4b": "K",
- "%4B": "K",
- "%4c": "L",
- "%4C": "L",
- "%4d": "M",
- "%4D": "M",
- "%4e": "N",
- "%4E": "N",
- "%4f": "O",
- "%4F": "O",
- "%50": "P",
- "%51": "Q",
- "%52": "R",
- "%53": "S",
- "%54": "T",
- "%55": "U",
- "%56": "V",
- "%57": "W",
- "%58": "X",
- "%59": "Y",
- "%5a": "Z",
- "%5A": "Z",
- "%5b": "[",
- "%5B": "[",
- "%5c": "\\",
- "%5C": "\\",
- "%5d": "]",
- "%5D": "]",
- "%5e": "^",
- "%5E": "^",
- "%5f": "_",
- "%5F": "_",
- "%60": "`",
- "%61": "a",
- "%62": "b",
- "%63": "c",
- "%64": "d",
- "%65": "e",
- "%66": "f",
- "%67": "g",
- "%68": "h",
- "%69": "i",
- "%6a": "j",
- "%6A": "j",
- "%6b": "k",
- "%6B": "k",
- "%6c": "l",
- "%6C": "l",
- "%6d": "m",
- "%6D": "m",
- "%6e": "n",
- "%6E": "n",
- "%6f": "o",
- "%6F": "o",
- "%70": "p",
- "%71": "q",
- "%72": "r",
- "%73": "s",
- "%74": "t",
- "%75": "u",
- "%76": "v",
- "%77": "w",
- "%78": "x",
- "%79": "y",
- "%7a": "z",
- "%7A": "z",
- "%7b": "{",
- "%7B": "{",
- "%7c": "|",
- "%7C": "|",
- "%7d": "}",
- "%7D": "}",
- "%7e": "~",
- "%7E": "~",
- "%7f": "\x7F",
- "%7F": "\x7F",
- "%80": "\x80",
- "%81": "\x81",
- "%82": "\x82",
- "%83": "\x83",
- "%84": "\x84",
- "%85": "\x85",
- "%86": "\x86",
- "%87": "\x87",
- "%88": "\x88",
- "%89": "\x89",
- "%8a": "\x8A",
- "%8A": "\x8A",
- "%8b": "\x8B",
- "%8B": "\x8B",
- "%8c": "\x8C",
- "%8C": "\x8C",
- "%8d": "\x8D",
- "%8D": "\x8D",
- "%8e": "\x8E",
- "%8E": "\x8E",
- "%8f": "\x8F",
- "%8F": "\x8F",
- "%90": "\x90",
- "%91": "\x91",
- "%92": "\x92",
- "%93": "\x93",
- "%94": "\x94",
- "%95": "\x95",
- "%96": "\x96",
- "%97": "\x97",
- "%98": "\x98",
- "%99": "\x99",
- "%9a": "\x9A",
- "%9A": "\x9A",
- "%9b": "\x9B",
- "%9B": "\x9B",
- "%9c": "\x9C",
- "%9C": "\x9C",
- "%9d": "\x9D",
- "%9D": "\x9D",
- "%9e": "\x9E",
- "%9E": "\x9E",
- "%9f": "\x9F",
- "%9F": "\x9F",
- "%a0": "\xA0",
- "%A0": "\xA0",
- "%a1": "\xA1",
- "%A1": "\xA1",
- "%a2": "\xA2",
- "%A2": "\xA2",
- "%a3": "\xA3",
- "%A3": "\xA3",
- "%a4": "\xA4",
- "%A4": "\xA4",
- "%a5": "\xA5",
- "%A5": "\xA5",
- "%a6": "\xA6",
- "%A6": "\xA6",
- "%a7": "\xA7",
- "%A7": "\xA7",
- "%a8": "\xA8",
- "%A8": "\xA8",
- "%a9": "\xA9",
- "%A9": "\xA9",
- "%aa": "\xAA",
- "%Aa": "\xAA",
- "%aA": "\xAA",
- "%AA": "\xAA",
- "%ab": "\xAB",
- "%Ab": "\xAB",
- "%aB": "\xAB",
- "%AB": "\xAB",
- "%ac": "\xAC",
- "%Ac": "\xAC",
- "%aC": "\xAC",
- "%AC": "\xAC",
- "%ad": "\xAD",
- "%Ad": "\xAD",
- "%aD": "\xAD",
- "%AD": "\xAD",
- "%ae": "\xAE",
- "%Ae": "\xAE",
- "%aE": "\xAE",
- "%AE": "\xAE",
- "%af": "\xAF",
- "%Af": "\xAF",
- "%aF": "\xAF",
- "%AF": "\xAF",
- "%b0": "\xB0",
- "%B0": "\xB0",
- "%b1": "\xB1",
- "%B1": "\xB1",
- "%b2": "\xB2",
- "%B2": "\xB2",
- "%b3": "\xB3",
- "%B3": "\xB3",
- "%b4": "\xB4",
- "%B4": "\xB4",
- "%b5": "\xB5",
- "%B5": "\xB5",
- "%b6": "\xB6",
- "%B6": "\xB6",
- "%b7": "\xB7",
- "%B7": "\xB7",
- "%b8": "\xB8",
- "%B8": "\xB8",
- "%b9": "\xB9",
- "%B9": "\xB9",
- "%ba": "\xBA",
- "%Ba": "\xBA",
- "%bA": "\xBA",
- "%BA": "\xBA",
- "%bb": "\xBB",
- "%Bb": "\xBB",
- "%bB": "\xBB",
- "%BB": "\xBB",
- "%bc": "\xBC",
- "%Bc": "\xBC",
- "%bC": "\xBC",
- "%BC": "\xBC",
- "%bd": "\xBD",
- "%Bd": "\xBD",
- "%bD": "\xBD",
- "%BD": "\xBD",
- "%be": "\xBE",
- "%Be": "\xBE",
- "%bE": "\xBE",
- "%BE": "\xBE",
- "%bf": "\xBF",
- "%Bf": "\xBF",
- "%bF": "\xBF",
- "%BF": "\xBF",
- "%c0": "\xC0",
- "%C0": "\xC0",
- "%c1": "\xC1",
- "%C1": "\xC1",
- "%c2": "\xC2",
- "%C2": "\xC2",
- "%c3": "\xC3",
- "%C3": "\xC3",
- "%c4": "\xC4",
- "%C4": "\xC4",
- "%c5": "\xC5",
- "%C5": "\xC5",
- "%c6": "\xC6",
- "%C6": "\xC6",
- "%c7": "\xC7",
- "%C7": "\xC7",
- "%c8": "\xC8",
- "%C8": "\xC8",
- "%c9": "\xC9",
- "%C9": "\xC9",
- "%ca": "\xCA",
- "%Ca": "\xCA",
- "%cA": "\xCA",
- "%CA": "\xCA",
- "%cb": "\xCB",
- "%Cb": "\xCB",
- "%cB": "\xCB",
- "%CB": "\xCB",
- "%cc": "\xCC",
- "%Cc": "\xCC",
- "%cC": "\xCC",
- "%CC": "\xCC",
- "%cd": "\xCD",
- "%Cd": "\xCD",
- "%cD": "\xCD",
- "%CD": "\xCD",
- "%ce": "\xCE",
- "%Ce": "\xCE",
- "%cE": "\xCE",
- "%CE": "\xCE",
- "%cf": "\xCF",
- "%Cf": "\xCF",
- "%cF": "\xCF",
- "%CF": "\xCF",
- "%d0": "\xD0",
- "%D0": "\xD0",
- "%d1": "\xD1",
- "%D1": "\xD1",
- "%d2": "\xD2",
- "%D2": "\xD2",
- "%d3": "\xD3",
- "%D3": "\xD3",
- "%d4": "\xD4",
- "%D4": "\xD4",
- "%d5": "\xD5",
- "%D5": "\xD5",
- "%d6": "\xD6",
- "%D6": "\xD6",
- "%d7": "\xD7",
- "%D7": "\xD7",
- "%d8": "\xD8",
- "%D8": "\xD8",
- "%d9": "\xD9",
- "%D9": "\xD9",
- "%da": "\xDA",
- "%Da": "\xDA",
- "%dA": "\xDA",
- "%DA": "\xDA",
- "%db": "\xDB",
- "%Db": "\xDB",
- "%dB": "\xDB",
- "%DB": "\xDB",
- "%dc": "\xDC",
- "%Dc": "\xDC",
- "%dC": "\xDC",
- "%DC": "\xDC",
- "%dd": "\xDD",
- "%Dd": "\xDD",
- "%dD": "\xDD",
- "%DD": "\xDD",
- "%de": "\xDE",
- "%De": "\xDE",
- "%dE": "\xDE",
- "%DE": "\xDE",
- "%df": "\xDF",
- "%Df": "\xDF",
- "%dF": "\xDF",
- "%DF": "\xDF",
- "%e0": "\xE0",
- "%E0": "\xE0",
- "%e1": "\xE1",
- "%E1": "\xE1",
- "%e2": "\xE2",
- "%E2": "\xE2",
- "%e3": "\xE3",
- "%E3": "\xE3",
- "%e4": "\xE4",
- "%E4": "\xE4",
- "%e5": "\xE5",
- "%E5": "\xE5",
- "%e6": "\xE6",
- "%E6": "\xE6",
- "%e7": "\xE7",
- "%E7": "\xE7",
- "%e8": "\xE8",
- "%E8": "\xE8",
- "%e9": "\xE9",
- "%E9": "\xE9",
- "%ea": "\xEA",
- "%Ea": "\xEA",
- "%eA": "\xEA",
- "%EA": "\xEA",
- "%eb": "\xEB",
- "%Eb": "\xEB",
- "%eB": "\xEB",
- "%EB": "\xEB",
- "%ec": "\xEC",
- "%Ec": "\xEC",
- "%eC": "\xEC",
- "%EC": "\xEC",
- "%ed": "\xED",
- "%Ed": "\xED",
- "%eD": "\xED",
- "%ED": "\xED",
- "%ee": "\xEE",
- "%Ee": "\xEE",
- "%eE": "\xEE",
- "%EE": "\xEE",
- "%ef": "\xEF",
- "%Ef": "\xEF",
- "%eF": "\xEF",
- "%EF": "\xEF",
- "%f0": "\xF0",
- "%F0": "\xF0",
- "%f1": "\xF1",
- "%F1": "\xF1",
- "%f2": "\xF2",
- "%F2": "\xF2",
- "%f3": "\xF3",
- "%F3": "\xF3",
- "%f4": "\xF4",
- "%F4": "\xF4",
- "%f5": "\xF5",
- "%F5": "\xF5",
- "%f6": "\xF6",
- "%F6": "\xF6",
- "%f7": "\xF7",
- "%F7": "\xF7",
- "%f8": "\xF8",
- "%F8": "\xF8",
- "%f9": "\xF9",
- "%F9": "\xF9",
- "%fa": "\xFA",
- "%Fa": "\xFA",
- "%fA": "\xFA",
- "%FA": "\xFA",
- "%fb": "\xFB",
- "%Fb": "\xFB",
- "%fB": "\xFB",
- "%FB": "\xFB",
- "%fc": "\xFC",
- "%Fc": "\xFC",
- "%fC": "\xFC",
- "%FC": "\xFC",
- "%fd": "\xFD",
- "%Fd": "\xFD",
- "%fD": "\xFD",
- "%FD": "\xFD",
- "%fe": "\xFE",
- "%Fe": "\xFE",
- "%fE": "\xFE",
- "%FE": "\xFE",
- "%ff": "\xFF",
- "%Ff": "\xFF",
- "%fF": "\xFF",
- "%FF": "\xFF"
- };
- function encodedReplacer(match) {
- return EncodedLookup[match];
- }
- var STATE_KEY = 0;
- var STATE_VALUE = 1;
- var STATE_CHARSET = 2;
- var STATE_LANG = 3;
- function parseParams(str) {
- const res = [];
- let state = STATE_KEY;
- let charset = "";
- let inquote = false;
- let escaping = false;
- let p = 0;
- let tmp = "";
- const len = str.length;
- for (var i = 0; i < len; ++i) {
- const char = str[i];
- if (char === "\\" && inquote) {
- if (escaping) {
- escaping = false;
- } else {
- escaping = true;
- continue;
- }
- } else if (char === '"') {
- if (!escaping) {
- if (inquote) {
- inquote = false;
- state = STATE_KEY;
- } else {
- inquote = true;
- }
- continue;
- } else {
- escaping = false;
- }
- } else {
- if (escaping && inquote) {
- tmp += "\\";
- }
- escaping = false;
- if ((state === STATE_CHARSET || state === STATE_LANG) && char === "'") {
- if (state === STATE_CHARSET) {
- state = STATE_LANG;
- charset = tmp.substring(1);
- } else {
- state = STATE_VALUE;
- }
- tmp = "";
- continue;
- } else if (state === STATE_KEY && (char === "*" || char === "=") && res.length) {
- state = char === "*" ? STATE_CHARSET : STATE_VALUE;
- res[p] = [tmp, void 0];
- tmp = "";
- continue;
- } else if (!inquote && char === ";") {
- state = STATE_KEY;
- if (charset) {
- if (tmp.length) {
- tmp = decodeText(
- tmp.replace(RE_ENCODED, encodedReplacer),
- "binary",
- charset
- );
- }
- charset = "";
- } else if (tmp.length) {
- tmp = decodeText(tmp, "binary", "utf8");
- }
- if (res[p] === void 0) {
- res[p] = tmp;
- } else {
- res[p][1] = tmp;
- }
- tmp = "";
- ++p;
- continue;
- } else if (!inquote && (char === " " || char === " ")) {
- continue;
- }
- }
- tmp += char;
- }
- if (charset && tmp.length) {
- tmp = decodeText(
- tmp.replace(RE_ENCODED, encodedReplacer),
- "binary",
- charset
- );
- } else if (tmp) {
- tmp = decodeText(tmp, "binary", "utf8");
- }
- if (res[p] === void 0) {
- if (tmp) {
- res[p] = tmp;
- }
- } else {
- res[p][1] = tmp;
- }
- return res;
- }
- module2.exports = parseParams;
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/basename.js
-var require_basename = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/basename.js"(exports, module2) {
- "use strict";
- module2.exports = function basename(path10) {
- if (typeof path10 !== "string") {
- return "";
- }
- for (var i = path10.length - 1; i >= 0; --i) {
- switch (path10.charCodeAt(i)) {
- case 47:
- case 92:
- path10 = path10.slice(i + 1);
- return path10 === ".." || path10 === "." ? "" : path10;
- }
- }
- return path10 === ".." || path10 === "." ? "" : path10;
- };
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/types/multipart.js
-var require_multipart = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/types/multipart.js"(exports, module2) {
- "use strict";
- var { Readable: Readable2 } = require("node:stream");
- var { inherits } = require("node:util");
- var Dicer = require_Dicer();
- var parseParams = require_parseParams();
- var decodeText = require_decodeText();
- var basename = require_basename();
- var getLimit = require_getLimit();
- var RE_BOUNDARY = /^boundary$/i;
- var RE_FIELD = /^form-data$/i;
- var RE_CHARSET = /^charset$/i;
- var RE_FILENAME = /^filename$/i;
- var RE_NAME = /^name$/i;
- Multipart.detect = /^multipart\/form-data/i;
- function Multipart(boy, cfg) {
- let i;
- let len;
- const self2 = this;
- let boundary;
- const limits = cfg.limits;
- const isPartAFile = cfg.isPartAFile || ((fieldName, contentType, fileName) => contentType === "application/octet-stream" || fileName !== void 0);
- const parsedConType = cfg.parsedConType || [];
- const defCharset = cfg.defCharset || "utf8";
- const preservePath = cfg.preservePath;
- const fileOpts = { highWaterMark: cfg.fileHwm };
- for (i = 0, len = parsedConType.length; i < len; ++i) {
- if (Array.isArray(parsedConType[i]) && RE_BOUNDARY.test(parsedConType[i][0])) {
- boundary = parsedConType[i][1];
- break;
- }
- }
- function checkFinished() {
- if (nends === 0 && finished && !boy._done) {
- finished = false;
- self2.end();
- }
- }
- if (typeof boundary !== "string") {
- throw new Error("Multipart: Boundary not found");
- }
- const fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
- const fileSizeLimit = getLimit(limits, "fileSize", Infinity);
- const filesLimit = getLimit(limits, "files", Infinity);
- const fieldsLimit = getLimit(limits, "fields", Infinity);
- const partsLimit = getLimit(limits, "parts", Infinity);
- const headerPairsLimit = getLimit(limits, "headerPairs", 2e3);
- const headerSizeLimit = getLimit(limits, "headerSize", 80 * 1024);
- let nfiles = 0;
- let nfields = 0;
- let nends = 0;
- let curFile;
- let curField;
- let finished = false;
- this._needDrain = false;
- this._pause = false;
- this._cb = void 0;
- this._nparts = 0;
- this._boy = boy;
- const parserCfg = {
- boundary,
- maxHeaderPairs: headerPairsLimit,
- maxHeaderSize: headerSizeLimit,
- partHwm: fileOpts.highWaterMark,
- highWaterMark: cfg.highWaterMark
- };
- this.parser = new Dicer(parserCfg);
- this.parser.on("drain", function() {
- self2._needDrain = false;
- if (self2._cb && !self2._pause) {
- const cb = self2._cb;
- self2._cb = void 0;
- cb();
- }
- }).on("part", function onPart(part) {
- if (++self2._nparts > partsLimit) {
- self2.parser.removeListener("part", onPart);
- self2.parser.on("part", skipPart);
- boy.hitPartsLimit = true;
- boy.emit("partsLimit");
- return skipPart(part);
- }
- if (curField) {
- const field = curField;
- field.emit("end");
- field.removeAllListeners("end");
- }
- part.on("header", function(header) {
- let contype;
- let fieldname;
- let parsed;
- let charset;
- let encoding;
- let filename;
- let nsize = 0;
- if (header["content-type"]) {
- parsed = parseParams(header["content-type"][0]);
- if (parsed[0]) {
- contype = parsed[0].toLowerCase();
- for (i = 0, len = parsed.length; i < len; ++i) {
- if (RE_CHARSET.test(parsed[i][0])) {
- charset = parsed[i][1].toLowerCase();
- break;
- }
- }
- }
- }
- if (contype === void 0) {
- contype = "text/plain";
- }
- if (charset === void 0) {
- charset = defCharset;
- }
- if (header["content-disposition"]) {
- parsed = parseParams(header["content-disposition"][0]);
- if (!RE_FIELD.test(parsed[0])) {
- return skipPart(part);
- }
- for (i = 0, len = parsed.length; i < len; ++i) {
- if (RE_NAME.test(parsed[i][0])) {
- fieldname = parsed[i][1];
- } else if (RE_FILENAME.test(parsed[i][0])) {
- filename = parsed[i][1];
- if (!preservePath) {
- filename = basename(filename);
- }
- }
- }
- } else {
- return skipPart(part);
- }
- if (header["content-transfer-encoding"]) {
- encoding = header["content-transfer-encoding"][0].toLowerCase();
- } else {
- encoding = "7bit";
- }
- let onData, onEnd;
- if (isPartAFile(fieldname, contype, filename)) {
- if (nfiles === filesLimit) {
- if (!boy.hitFilesLimit) {
- boy.hitFilesLimit = true;
- boy.emit("filesLimit");
- }
- return skipPart(part);
- }
- ++nfiles;
- if (!boy._events.file) {
- self2.parser._ignore();
- return;
- }
- ++nends;
- const file = new FileStream(fileOpts);
- curFile = file;
- file.on("end", function() {
- --nends;
- self2._pause = false;
- checkFinished();
- if (self2._cb && !self2._needDrain) {
- const cb = self2._cb;
- self2._cb = void 0;
- cb();
- }
- });
- file._read = function(n) {
- if (!self2._pause) {
- return;
- }
- self2._pause = false;
- if (self2._cb && !self2._needDrain) {
- const cb = self2._cb;
- self2._cb = void 0;
- cb();
- }
- };
- boy.emit("file", fieldname, file, filename, encoding, contype);
- onData = function(data) {
- if ((nsize += data.length) > fileSizeLimit) {
- const extralen = fileSizeLimit - nsize + data.length;
- if (extralen > 0) {
- file.push(data.slice(0, extralen));
- }
- file.truncated = true;
- file.bytesRead = fileSizeLimit;
- part.removeAllListeners("data");
- file.emit("limit");
- return;
- } else if (!file.push(data)) {
- self2._pause = true;
- }
- file.bytesRead = nsize;
- };
- onEnd = function() {
- curFile = void 0;
- file.push(null);
- };
- } else {
- if (nfields === fieldsLimit) {
- if (!boy.hitFieldsLimit) {
- boy.hitFieldsLimit = true;
- boy.emit("fieldsLimit");
- }
- return skipPart(part);
- }
- ++nfields;
- ++nends;
- let buffer = "";
- let truncated = false;
- curField = part;
- onData = function(data) {
- if ((nsize += data.length) > fieldSizeLimit) {
- const extralen = fieldSizeLimit - (nsize - data.length);
- buffer += data.toString("binary", 0, extralen);
- truncated = true;
- part.removeAllListeners("data");
- } else {
- buffer += data.toString("binary");
- }
- };
- onEnd = function() {
- curField = void 0;
- if (buffer.length) {
- buffer = decodeText(buffer, "binary", charset);
- }
- boy.emit("field", fieldname, buffer, false, truncated, encoding, contype);
- --nends;
- checkFinished();
- };
- }
- part._readableState.sync = false;
- part.on("data", onData);
- part.on("end", onEnd);
- }).on("error", function(err) {
- if (curFile) {
- curFile.emit("error", err);
- }
- });
- }).on("error", function(err) {
- boy.emit("error", err);
- }).on("finish", function() {
- finished = true;
- checkFinished();
- });
- }
- Multipart.prototype.write = function(chunk, cb) {
- const r = this.parser.write(chunk);
- if (r && !this._pause) {
- cb();
- } else {
- this._needDrain = !r;
- this._cb = cb;
- }
- };
- Multipart.prototype.end = function() {
- const self2 = this;
- if (self2.parser.writable) {
- self2.parser.end();
- } else if (!self2._boy._done) {
- process.nextTick(function() {
- self2._boy._done = true;
- self2._boy.emit("finish");
- });
- }
- };
- function skipPart(part) {
- part.resume();
- }
- function FileStream(opts) {
- Readable2.call(this, opts);
- this.bytesRead = 0;
- this.truncated = false;
- }
- inherits(FileStream, Readable2);
- FileStream.prototype._read = function(n) {
- };
- module2.exports = Multipart;
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/Decoder.js
-var require_Decoder = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/utils/Decoder.js"(exports, module2) {
- "use strict";
- var RE_PLUS = /\+/g;
- var HEX = [
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 1,
- 1,
- 1,
- 1,
- 1,
- 1,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0,
- 0
- ];
- function Decoder() {
- this.buffer = void 0;
- }
- Decoder.prototype.write = function(str) {
- str = str.replace(RE_PLUS, " ");
- let res = "";
- let i = 0;
- let p = 0;
- const len = str.length;
- for (; i < len; ++i) {
- if (this.buffer !== void 0) {
- if (!HEX[str.charCodeAt(i)]) {
- res += "%" + this.buffer;
- this.buffer = void 0;
- --i;
- } else {
- this.buffer += str[i];
- ++p;
- if (this.buffer.length === 2) {
- res += String.fromCharCode(parseInt(this.buffer, 16));
- this.buffer = void 0;
- }
- }
- } else if (str[i] === "%") {
- if (i > p) {
- res += str.substring(p, i);
- p = i;
- }
- this.buffer = "";
- ++p;
- }
- }
- if (p < len && this.buffer === void 0) {
- res += str.substring(p);
- }
- return res;
- };
- Decoder.prototype.reset = function() {
- this.buffer = void 0;
- };
- module2.exports = Decoder;
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/types/urlencoded.js
-var require_urlencoded = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/types/urlencoded.js"(exports, module2) {
- "use strict";
- var Decoder = require_Decoder();
- var decodeText = require_decodeText();
- var getLimit = require_getLimit();
- var RE_CHARSET = /^charset$/i;
- UrlEncoded.detect = /^application\/x-www-form-urlencoded/i;
- function UrlEncoded(boy, cfg) {
- const limits = cfg.limits;
- const parsedConType = cfg.parsedConType;
- this.boy = boy;
- this.fieldSizeLimit = getLimit(limits, "fieldSize", 1 * 1024 * 1024);
- this.fieldNameSizeLimit = getLimit(limits, "fieldNameSize", 100);
- this.fieldsLimit = getLimit(limits, "fields", Infinity);
- let charset;
- for (var i = 0, len = parsedConType.length; i < len; ++i) {
- if (Array.isArray(parsedConType[i]) && RE_CHARSET.test(parsedConType[i][0])) {
- charset = parsedConType[i][1].toLowerCase();
- break;
- }
- }
- if (charset === void 0) {
- charset = cfg.defCharset || "utf8";
- }
- this.decoder = new Decoder();
- this.charset = charset;
- this._fields = 0;
- this._state = "key";
- this._checkingBytes = true;
- this._bytesKey = 0;
- this._bytesVal = 0;
- this._key = "";
- this._val = "";
- this._keyTrunc = false;
- this._valTrunc = false;
- this._hitLimit = false;
- }
- UrlEncoded.prototype.write = function(data, cb) {
- if (this._fields === this.fieldsLimit) {
- if (!this.boy.hitFieldsLimit) {
- this.boy.hitFieldsLimit = true;
- this.boy.emit("fieldsLimit");
- }
- return cb();
- }
- let idxeq;
- let idxamp;
- let i;
- let p = 0;
- const len = data.length;
- while (p < len) {
- if (this._state === "key") {
- idxeq = idxamp = void 0;
- for (i = p; i < len; ++i) {
- if (!this._checkingBytes) {
- ++p;
- }
- if (data[i] === 61) {
- idxeq = i;
- break;
- } else if (data[i] === 38) {
- idxamp = i;
- break;
- }
- if (this._checkingBytes && this._bytesKey === this.fieldNameSizeLimit) {
- this._hitLimit = true;
- break;
- } else if (this._checkingBytes) {
- ++this._bytesKey;
- }
- }
- if (idxeq !== void 0) {
- if (idxeq > p) {
- this._key += this.decoder.write(data.toString("binary", p, idxeq));
- }
- this._state = "val";
- this._hitLimit = false;
- this._checkingBytes = true;
- this._val = "";
- this._bytesVal = 0;
- this._valTrunc = false;
- this.decoder.reset();
- p = idxeq + 1;
- } else if (idxamp !== void 0) {
- ++this._fields;
- let key;
- const keyTrunc = this._keyTrunc;
- if (idxamp > p) {
- key = this._key += this.decoder.write(data.toString("binary", p, idxamp));
- } else {
- key = this._key;
- }
- this._hitLimit = false;
- this._checkingBytes = true;
- this._key = "";
- this._bytesKey = 0;
- this._keyTrunc = false;
- this.decoder.reset();
- if (key.length) {
- this.boy.emit(
- "field",
- decodeText(key, "binary", this.charset),
- "",
- keyTrunc,
- false
- );
- }
- p = idxamp + 1;
- if (this._fields === this.fieldsLimit) {
- return cb();
- }
- } else if (this._hitLimit) {
- if (i > p) {
- this._key += this.decoder.write(data.toString("binary", p, i));
- }
- p = i;
- if ((this._bytesKey = this._key.length) === this.fieldNameSizeLimit) {
- this._checkingBytes = false;
- this._keyTrunc = true;
- }
- } else {
- if (p < len) {
- this._key += this.decoder.write(data.toString("binary", p));
- }
- p = len;
- }
- } else {
- idxamp = void 0;
- for (i = p; i < len; ++i) {
- if (!this._checkingBytes) {
- ++p;
- }
- if (data[i] === 38) {
- idxamp = i;
- break;
- }
- if (this._checkingBytes && this._bytesVal === this.fieldSizeLimit) {
- this._hitLimit = true;
- break;
- } else if (this._checkingBytes) {
- ++this._bytesVal;
- }
- }
- if (idxamp !== void 0) {
- ++this._fields;
- if (idxamp > p) {
- this._val += this.decoder.write(data.toString("binary", p, idxamp));
- }
- this.boy.emit(
- "field",
- decodeText(this._key, "binary", this.charset),
- decodeText(this._val, "binary", this.charset),
- this._keyTrunc,
- this._valTrunc
- );
- this._state = "key";
- this._hitLimit = false;
- this._checkingBytes = true;
- this._key = "";
- this._bytesKey = 0;
- this._keyTrunc = false;
- this.decoder.reset();
- p = idxamp + 1;
- if (this._fields === this.fieldsLimit) {
- return cb();
- }
- } else if (this._hitLimit) {
- if (i > p) {
- this._val += this.decoder.write(data.toString("binary", p, i));
- }
- p = i;
- if (this._val === "" && this.fieldSizeLimit === 0 || (this._bytesVal = this._val.length) === this.fieldSizeLimit) {
- this._checkingBytes = false;
- this._valTrunc = true;
- }
- } else {
- if (p < len) {
- this._val += this.decoder.write(data.toString("binary", p));
- }
- p = len;
- }
- }
- }
- cb();
- };
- UrlEncoded.prototype.end = function() {
- if (this.boy._done) {
- return;
- }
- if (this._state === "key" && this._key.length > 0) {
- this.boy.emit(
- "field",
- decodeText(this._key, "binary", this.charset),
- "",
- this._keyTrunc,
- false
- );
- } else if (this._state === "val") {
- this.boy.emit(
- "field",
- decodeText(this._key, "binary", this.charset),
- decodeText(this._val, "binary", this.charset),
- this._keyTrunc,
- this._valTrunc
- );
- }
- this.boy._done = true;
- this.boy.emit("finish");
- };
- module2.exports = UrlEncoded;
- }
-});
-
-// .yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/main.js
-var require_main = __commonJS({
- ".yarn/cache/@fastify-busboy-npm-2.1.0-960844a007-7bb641080a.zip/node_modules/@fastify/busboy/lib/main.js"(exports, module2) {
- "use strict";
- var WritableStream = require("node:stream").Writable;
- var { inherits } = require("node:util");
- var Dicer = require_Dicer();
- var MultipartParser = require_multipart();
- var UrlencodedParser = require_urlencoded();
- var parseParams = require_parseParams();
- function Busboy(opts) {
- if (!(this instanceof Busboy)) {
- return new Busboy(opts);
- }
- if (typeof opts !== "object") {
- throw new TypeError("Busboy expected an options-Object.");
- }
- if (typeof opts.headers !== "object") {
- throw new TypeError("Busboy expected an options-Object with headers-attribute.");
- }
- if (typeof opts.headers["content-type"] !== "string") {
- throw new TypeError("Missing Content-Type-header.");
- }
- const {
- headers,
- ...streamOptions
- } = opts;
- this.opts = {
- autoDestroy: false,
- ...streamOptions
- };
- WritableStream.call(this, this.opts);
- this._done = false;
- this._parser = this.getParserByHeaders(headers);
- this._finished = false;
- }
- inherits(Busboy, WritableStream);
- Busboy.prototype.emit = function(ev) {
- if (ev === "finish") {
- if (!this._done) {
- this._parser?.end();
- return;
- } else if (this._finished) {
- return;
- }
- this._finished = true;
- }
- WritableStream.prototype.emit.apply(this, arguments);
- };
- Busboy.prototype.getParserByHeaders = function(headers) {
- const parsed = parseParams(headers["content-type"]);
- const cfg = {
- defCharset: this.opts.defCharset,
- fileHwm: this.opts.fileHwm,
- headers,
- highWaterMark: this.opts.highWaterMark,
- isPartAFile: this.opts.isPartAFile,
- limits: this.opts.limits,
- parsedConType: parsed,
- preservePath: this.opts.preservePath
- };
- if (MultipartParser.detect.test(parsed[0])) {
- return new MultipartParser(this, cfg);
- }
- if (UrlencodedParser.detect.test(parsed[0])) {
- return new UrlencodedParser(this, cfg);
- }
- throw new Error("Unsupported Content-Type.");
- };
- Busboy.prototype._write = function(chunk, encoding, cb) {
- this._parser.write(chunk, cb);
- };
- module2.exports = Busboy;
- module2.exports.default = Busboy;
- module2.exports.Busboy = Busboy;
- module2.exports.Dicer = Dicer;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/constants.js
-var require_constants3 = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/constants.js"(exports, module2) {
- "use strict";
- var corsSafeListedMethods = ["GET", "HEAD", "POST"];
- var corsSafeListedMethodsSet = new Set(corsSafeListedMethods);
- var nullBodyStatus = [101, 204, 205, 304];
- var redirectStatus = [301, 302, 303, 307, 308];
- var redirectStatusSet = new Set(redirectStatus);
- var badPorts = [
- "1",
- "7",
- "9",
- "11",
- "13",
- "15",
- "17",
- "19",
- "20",
- "21",
- "22",
- "23",
- "25",
- "37",
- "42",
- "43",
- "53",
- "69",
- "77",
- "79",
- "87",
- "95",
- "101",
- "102",
- "103",
- "104",
- "109",
- "110",
- "111",
- "113",
- "115",
- "117",
- "119",
- "123",
- "135",
- "137",
- "139",
- "143",
- "161",
- "179",
- "389",
- "427",
- "465",
- "512",
- "513",
- "514",
- "515",
- "526",
- "530",
- "531",
- "532",
- "540",
- "548",
- "554",
- "556",
- "563",
- "587",
- "601",
- "636",
- "989",
- "990",
- "993",
- "995",
- "1719",
- "1720",
- "1723",
- "2049",
- "3659",
- "4045",
- "5060",
- "5061",
- "6000",
- "6566",
- "6665",
- "6666",
- "6667",
- "6668",
- "6669",
- "6697",
- "10080"
- ];
- var badPortsSet = new Set(badPorts);
- var referrerPolicy = [
- "",
- "no-referrer",
- "no-referrer-when-downgrade",
- "same-origin",
- "origin",
- "strict-origin",
- "origin-when-cross-origin",
- "strict-origin-when-cross-origin",
- "unsafe-url"
- ];
- var referrerPolicySet = new Set(referrerPolicy);
- var requestRedirect = ["follow", "manual", "error"];
- var safeMethods = ["GET", "HEAD", "OPTIONS", "TRACE"];
- var safeMethodsSet = new Set(safeMethods);
- var requestMode = ["navigate", "same-origin", "no-cors", "cors"];
- var requestCredentials = ["omit", "same-origin", "include"];
- var requestCache = [
- "default",
- "no-store",
- "reload",
- "no-cache",
- "force-cache",
- "only-if-cached"
- ];
- var requestBodyHeader = [
- "content-encoding",
- "content-language",
- "content-location",
- "content-type",
- // See https://github.com/nodejs/undici/issues/2021
- // 'Content-Length' is a forbidden header name, which is typically
- // removed in the Headers implementation. However, undici doesn't
- // filter out headers, so we add it here.
- "content-length"
- ];
- var requestDuplex = [
- "half"
- ];
- var forbiddenMethods = ["CONNECT", "TRACE", "TRACK"];
- var forbiddenMethodsSet = new Set(forbiddenMethods);
- var subresource = [
- "audio",
- "audioworklet",
- "font",
- "image",
- "manifest",
- "paintworklet",
- "script",
- "style",
- "track",
- "video",
- "xslt",
- ""
- ];
- var subresourceSet = new Set(subresource);
- module2.exports = {
- subresource,
- forbiddenMethods,
- requestBodyHeader,
- referrerPolicy,
- requestRedirect,
- requestMode,
- requestCredentials,
- requestCache,
- redirectStatus,
- corsSafeListedMethods,
- nullBodyStatus,
- safeMethods,
- badPorts,
- requestDuplex,
- subresourceSet,
- badPortsSet,
- redirectStatusSet,
- corsSafeListedMethodsSet,
- safeMethodsSet,
- forbiddenMethodsSet,
- referrerPolicySet
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/global.js
-var require_global = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/global.js"(exports, module2) {
- "use strict";
- var globalOrigin = Symbol.for("undici.globalOrigin.1");
- function getGlobalOrigin() {
- return globalThis[globalOrigin];
- }
- function setGlobalOrigin(newOrigin) {
- if (newOrigin === void 0) {
- Object.defineProperty(globalThis, globalOrigin, {
- value: void 0,
- writable: true,
- enumerable: false,
- configurable: false
- });
- return;
- }
- const parsedURL = new URL(newOrigin);
- if (parsedURL.protocol !== "http:" && parsedURL.protocol !== "https:") {
- throw new TypeError(`Only http & https urls are allowed, received ${parsedURL.protocol}`);
- }
- Object.defineProperty(globalThis, globalOrigin, {
- value: parsedURL,
- writable: true,
- enumerable: false,
- configurable: false
- });
- }
- module2.exports = {
- getGlobalOrigin,
- setGlobalOrigin
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/dataURL.js
-var require_dataURL = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/dataURL.js"(exports, module2) {
- var assert3 = require("node:assert");
- var encoder = new TextEncoder();
- var HTTP_TOKEN_CODEPOINTS = /^[!#$%&'*+-.^_|~A-Za-z0-9]+$/;
- var HTTP_WHITESPACE_REGEX = /[\u000A|\u000D|\u0009|\u0020]/;
- var ASCII_WHITESPACE_REPLACE_REGEX = /[\u0009\u000A\u000C\u000D\u0020]/g;
- var HTTP_QUOTED_STRING_TOKENS = /[\u0009|\u0020-\u007E|\u0080-\u00FF]/;
- function dataURLProcessor(dataURL) {
- assert3(dataURL.protocol === "data:");
- let input = URLSerializer(dataURL, true);
- input = input.slice(5);
- const position = { position: 0 };
- let mimeType = collectASequenceOfCodePointsFast(
- ",",
- input,
- position
- );
- const mimeTypeLength = mimeType.length;
- mimeType = removeASCIIWhitespace(mimeType, true, true);
- if (position.position >= input.length) {
- return "failure";
- }
- position.position++;
- const encodedBody = input.slice(mimeTypeLength + 1);
- let body = stringPercentDecode(encodedBody);
- if (/;(\u0020){0,}base64$/i.test(mimeType)) {
- const stringBody = isomorphicDecode(body);
- body = forgivingBase64(stringBody);
- if (body === "failure") {
- return "failure";
- }
- mimeType = mimeType.slice(0, -6);
- mimeType = mimeType.replace(/(\u0020)+$/, "");
- mimeType = mimeType.slice(0, -1);
- }
- if (mimeType.startsWith(";")) {
- mimeType = "text/plain" + mimeType;
- }
- let mimeTypeRecord = parseMIMEType(mimeType);
- if (mimeTypeRecord === "failure") {
- mimeTypeRecord = parseMIMEType("text/plain;charset=US-ASCII");
- }
- return { mimeType: mimeTypeRecord, body };
- }
- function URLSerializer(url, excludeFragment = false) {
- if (!excludeFragment) {
- return url.href;
- }
- const href = url.href;
- const hashLength = url.hash.length;
- const serialized = hashLength === 0 ? href : href.substring(0, href.length - hashLength);
- if (!hashLength && href.endsWith("#")) {
- return serialized.slice(0, -1);
- }
- return serialized;
- }
- function collectASequenceOfCodePoints(condition, input, position) {
- let result = "";
- while (position.position < input.length && condition(input[position.position])) {
- result += input[position.position];
- position.position++;
- }
- return result;
- }
- function collectASequenceOfCodePointsFast(char, input, position) {
- const idx = input.indexOf(char, position.position);
- const start = position.position;
- if (idx === -1) {
- position.position = input.length;
- return input.slice(start);
- }
- position.position = idx;
- return input.slice(start, position.position);
- }
- function stringPercentDecode(input) {
- const bytes = encoder.encode(input);
- return percentDecode(bytes);
- }
- function isHexCharByte(byte) {
- return byte >= 48 && byte <= 57 || byte >= 65 && byte <= 70 || byte >= 97 && byte <= 102;
- }
- function hexByteToNumber(byte) {
- return (
- // 0-9
- byte >= 48 && byte <= 57 ? byte - 48 : (byte & 223) - 55
- );
- }
- function percentDecode(input) {
- const length = input.length;
- const output = new Uint8Array(length);
- let j = 0;
- for (let i = 0; i < length; ++i) {
- const byte = input[i];
- if (byte !== 37) {
- output[j++] = byte;
- } else if (byte === 37 && !(isHexCharByte(input[i + 1]) && isHexCharByte(input[i + 2]))) {
- output[j++] = 37;
- } else {
- output[j++] = hexByteToNumber(input[i + 1]) << 4 | hexByteToNumber(input[i + 2]);
- i += 2;
- }
- }
- return length === j ? output : output.subarray(0, j);
- }
- function parseMIMEType(input) {
- input = removeHTTPWhitespace(input, true, true);
- const position = { position: 0 };
- const type = collectASequenceOfCodePointsFast(
- "/",
- input,
- position
- );
- if (type.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(type)) {
- return "failure";
- }
- if (position.position > input.length) {
- return "failure";
- }
- position.position++;
- let subtype = collectASequenceOfCodePointsFast(
- ";",
- input,
- position
- );
- subtype = removeHTTPWhitespace(subtype, false, true);
- if (subtype.length === 0 || !HTTP_TOKEN_CODEPOINTS.test(subtype)) {
- return "failure";
- }
- const typeLowercase = type.toLowerCase();
- const subtypeLowercase = subtype.toLowerCase();
- const mimeType = {
- type: typeLowercase,
- subtype: subtypeLowercase,
- /** @type {Map} */
- parameters: /* @__PURE__ */ new Map(),
- // https://mimesniff.spec.whatwg.org/#mime-type-essence
- essence: `${typeLowercase}/${subtypeLowercase}`
- };
- while (position.position < input.length) {
- position.position++;
- collectASequenceOfCodePoints(
- // https://fetch.spec.whatwg.org/#http-whitespace
- (char) => HTTP_WHITESPACE_REGEX.test(char),
- input,
- position
- );
- let parameterName = collectASequenceOfCodePoints(
- (char) => char !== ";" && char !== "=",
- input,
- position
- );
- parameterName = parameterName.toLowerCase();
- if (position.position < input.length) {
- if (input[position.position] === ";") {
- continue;
- }
- position.position++;
- }
- if (position.position > input.length) {
- break;
- }
- let parameterValue = null;
- if (input[position.position] === '"') {
- parameterValue = collectAnHTTPQuotedString(input, position, true);
- collectASequenceOfCodePointsFast(
- ";",
- input,
- position
- );
- } else {
- parameterValue = collectASequenceOfCodePointsFast(
- ";",
- input,
- position
- );
- parameterValue = removeHTTPWhitespace(parameterValue, false, true);
- if (parameterValue.length === 0) {
- continue;
- }
- }
- if (parameterName.length !== 0 && HTTP_TOKEN_CODEPOINTS.test(parameterName) && (parameterValue.length === 0 || HTTP_QUOTED_STRING_TOKENS.test(parameterValue)) && !mimeType.parameters.has(parameterName)) {
- mimeType.parameters.set(parameterName, parameterValue);
- }
- }
- return mimeType;
- }
- function forgivingBase64(data) {
- data = data.replace(ASCII_WHITESPACE_REPLACE_REGEX, "");
- let dataLength = data.length;
- if (dataLength % 4 === 0) {
- if (data.charCodeAt(dataLength - 1) === 61) {
- --dataLength;
- if (data.charCodeAt(dataLength - 1) === 61) {
- --dataLength;
- }
- }
- }
- if (dataLength % 4 === 1) {
- return "failure";
- }
- if (/[^+/0-9A-Za-z]/.test(data.length === dataLength ? data : data.substring(0, dataLength))) {
- return "failure";
- }
- const buffer = Buffer.from(data, "base64");
- return new Uint8Array(buffer.buffer, buffer.byteOffset, buffer.byteLength);
- }
- function collectAnHTTPQuotedString(input, position, extractValue) {
- const positionStart = position.position;
- let value = "";
- assert3(input[position.position] === '"');
- position.position++;
- while (true) {
- value += collectASequenceOfCodePoints(
- (char) => char !== '"' && char !== "\\",
- input,
- position
- );
- if (position.position >= input.length) {
- break;
- }
- const quoteOrBackslash = input[position.position];
- position.position++;
- if (quoteOrBackslash === "\\") {
- if (position.position >= input.length) {
- value += "\\";
- break;
- }
- value += input[position.position];
- position.position++;
- } else {
- assert3(quoteOrBackslash === '"');
- break;
- }
- }
- if (extractValue) {
- return value;
- }
- return input.slice(positionStart, position.position);
- }
- function serializeAMimeType(mimeType) {
- assert3(mimeType !== "failure");
- const { parameters, essence } = mimeType;
- let serialization = essence;
- for (let [name, value] of parameters.entries()) {
- serialization += ";";
- serialization += name;
- serialization += "=";
- if (!HTTP_TOKEN_CODEPOINTS.test(value)) {
- value = value.replace(/(\\|")/g, "\\$1");
- value = '"' + value;
- value += '"';
- }
- serialization += value;
- }
- return serialization;
- }
- function isHTTPWhiteSpace(char) {
- return char === 13 || char === 10 || char === 9 || char === 32;
- }
- function removeHTTPWhitespace(str, leading = true, trailing = true) {
- return removeChars(str, leading, trailing, isHTTPWhiteSpace);
- }
- function isASCIIWhitespace(char) {
- return char === 13 || char === 10 || char === 9 || char === 12 || char === 32;
- }
- function removeASCIIWhitespace(str, leading = true, trailing = true) {
- return removeChars(str, leading, trailing, isASCIIWhitespace);
- }
- function removeChars(str, leading, trailing, predicate) {
- let lead = 0;
- let trail = str.length - 1;
- if (leading) {
- while (lead < str.length && predicate(str.charCodeAt(lead)))
- lead++;
- }
- if (trailing) {
- while (trail > 0 && predicate(str.charCodeAt(trail)))
- trail--;
- }
- return lead === 0 && trail === str.length - 1 ? str : str.slice(lead, trail + 1);
- }
- function isomorphicDecode(input) {
- const length = input.length;
- if ((2 << 15) - 1 > length) {
- return String.fromCharCode.apply(null, input);
- }
- let result = "";
- let i = 0;
- let addition = (2 << 15) - 1;
- while (i < length) {
- if (i + addition > length) {
- addition = length - i;
- }
- result += String.fromCharCode.apply(null, input.subarray(i, i += addition));
- }
- return result;
- }
- function minimizeSupportedMimeType(mimeType) {
- switch (mimeType.essence) {
- case "application/ecmascript":
- case "application/javascript":
- case "application/x-ecmascript":
- case "application/x-javascript":
- case "text/ecmascript":
- case "text/javascript":
- case "text/javascript1.0":
- case "text/javascript1.1":
- case "text/javascript1.2":
- case "text/javascript1.3":
- case "text/javascript1.4":
- case "text/javascript1.5":
- case "text/jscript":
- case "text/livescript":
- case "text/x-ecmascript":
- case "text/x-javascript":
- return "text/javascript";
- case "application/json":
- case "text/json":
- return "application/json";
- case "image/svg+xml":
- return "image/svg+xml";
- case "text/xml":
- case "application/xml":
- return "application/xml";
- }
- if (mimeType.subtype.endsWith("+json")) {
- return "application/json";
- }
- if (mimeType.subtype.endsWith("+xml")) {
- return "application/xml";
- }
- return "";
- }
- module2.exports = {
- dataURLProcessor,
- URLSerializer,
- collectASequenceOfCodePoints,
- collectASequenceOfCodePointsFast,
- stringPercentDecode,
- parseMIMEType,
- collectAnHTTPQuotedString,
- serializeAMimeType,
- removeChars,
- minimizeSupportedMimeType
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/util.js
-var require_util2 = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/util.js"(exports, module2) {
- "use strict";
- var { Transform } = require("node:stream");
- var zlib = require("node:zlib");
- var { redirectStatusSet, referrerPolicySet: referrerPolicyTokens, badPortsSet } = require_constants3();
- var { getGlobalOrigin } = require_global();
- var { collectASequenceOfCodePoints, collectAnHTTPQuotedString, removeChars, parseMIMEType } = require_dataURL();
- var { performance } = require("node:perf_hooks");
- var { isBlobLike, toUSVString, ReadableStreamFrom, isValidHTTPToken } = require_util();
- var assert3 = require("node:assert");
- var { isUint8Array } = require("util/types");
- var crypto;
- try {
- crypto = require("node:crypto");
- } catch {
- }
- function responseURL(response) {
- const urlList = response.urlList;
- const length = urlList.length;
- return length === 0 ? null : urlList[length - 1].toString();
- }
- function responseLocationURL(response, requestFragment) {
- if (!redirectStatusSet.has(response.status)) {
- return null;
- }
- let location = response.headersList.get("location", true);
- if (location !== null && isValidHeaderValue(location)) {
- location = new URL(location, responseURL(response));
- }
- if (location && !location.hash) {
- location.hash = requestFragment;
- }
- return location;
- }
- function requestCurrentURL(request) {
- return request.urlList[request.urlList.length - 1];
- }
- function requestBadPort(request) {
- const url = requestCurrentURL(request);
- if (urlIsHttpHttpsScheme(url) && badPortsSet.has(url.port)) {
- return "blocked";
- }
- return "allowed";
- }
- function isErrorLike(object) {
- return object instanceof Error || (object?.constructor?.name === "Error" || object?.constructor?.name === "DOMException");
- }
- function isValidReasonPhrase(statusText) {
- for (let i = 0; i < statusText.length; ++i) {
- const c = statusText.charCodeAt(i);
- if (!(c === 9 || // HTAB
- c >= 32 && c <= 126 || // SP / VCHAR
- c >= 128 && c <= 255)) {
- return false;
- }
- }
- return true;
- }
- function isValidHeaderName(potentialValue) {
- return isValidHTTPToken(potentialValue);
- }
- function isValidHeaderValue(potentialValue) {
- if (potentialValue.startsWith(" ") || potentialValue.startsWith(" ") || potentialValue.endsWith(" ") || potentialValue.endsWith(" ")) {
- return false;
- }
- if (potentialValue.includes("\0") || potentialValue.includes("\r") || potentialValue.includes("\n")) {
- return false;
- }
- return true;
- }
- function setRequestReferrerPolicyOnRedirect(request, actualResponse) {
- const { headersList } = actualResponse;
- const policyHeader = (headersList.get("referrer-policy", true) ?? "").split(",");
- let policy = "";
- if (policyHeader.length > 0) {
- for (let i = policyHeader.length; i !== 0; i--) {
- const token = policyHeader[i - 1].trim();
- if (referrerPolicyTokens.has(token)) {
- policy = token;
- break;
- }
- }
- }
- if (policy !== "") {
- request.referrerPolicy = policy;
- }
- }
- function crossOriginResourcePolicyCheck() {
- return "allowed";
- }
- function corsCheck() {
- return "success";
- }
- function TAOCheck() {
- return "success";
- }
- function appendFetchMetadata(httpRequest) {
- let header = null;
- header = httpRequest.mode;
- httpRequest.headersList.set("sec-fetch-mode", header, true);
- }
- function appendRequestOriginHeader(request) {
- let serializedOrigin = request.origin;
- if (request.responseTainting === "cors" || request.mode === "websocket") {
- if (serializedOrigin) {
- request.headersList.append("origin", serializedOrigin, true);
- }
- } else if (request.method !== "GET" && request.method !== "HEAD") {
- switch (request.referrerPolicy) {
- case "no-referrer":
- serializedOrigin = null;
- break;
- case "no-referrer-when-downgrade":
- case "strict-origin":
- case "strict-origin-when-cross-origin":
- if (request.origin && urlHasHttpsScheme(request.origin) && !urlHasHttpsScheme(requestCurrentURL(request))) {
- serializedOrigin = null;
- }
- break;
- case "same-origin":
- if (!sameOrigin(request, requestCurrentURL(request))) {
- serializedOrigin = null;
- }
- break;
- default:
- }
- if (serializedOrigin) {
- request.headersList.append("origin", serializedOrigin, true);
- }
- }
- }
- function coarsenTime(timestamp, crossOriginIsolatedCapability) {
- return timestamp;
- }
- function clampAndCoarsenConnectionTimingInfo(connectionTimingInfo, defaultStartTime, crossOriginIsolatedCapability) {
- if (!connectionTimingInfo?.startTime || connectionTimingInfo.startTime < defaultStartTime) {
- return {
- domainLookupStartTime: defaultStartTime,
- domainLookupEndTime: defaultStartTime,
- connectionStartTime: defaultStartTime,
- connectionEndTime: defaultStartTime,
- secureConnectionStartTime: defaultStartTime,
- ALPNNegotiatedProtocol: connectionTimingInfo?.ALPNNegotiatedProtocol
- };
- }
- return {
- domainLookupStartTime: coarsenTime(connectionTimingInfo.domainLookupStartTime, crossOriginIsolatedCapability),
- domainLookupEndTime: coarsenTime(connectionTimingInfo.domainLookupEndTime, crossOriginIsolatedCapability),
- connectionStartTime: coarsenTime(connectionTimingInfo.connectionStartTime, crossOriginIsolatedCapability),
- connectionEndTime: coarsenTime(connectionTimingInfo.connectionEndTime, crossOriginIsolatedCapability),
- secureConnectionStartTime: coarsenTime(connectionTimingInfo.secureConnectionStartTime, crossOriginIsolatedCapability),
- ALPNNegotiatedProtocol: connectionTimingInfo.ALPNNegotiatedProtocol
- };
- }
- function coarsenedSharedCurrentTime(crossOriginIsolatedCapability) {
- return coarsenTime(performance.now(), crossOriginIsolatedCapability);
- }
- function createOpaqueTimingInfo(timingInfo) {
- return {
- startTime: timingInfo.startTime ?? 0,
- redirectStartTime: 0,
- redirectEndTime: 0,
- postRedirectStartTime: timingInfo.startTime ?? 0,
- finalServiceWorkerStartTime: 0,
- finalNetworkResponseStartTime: 0,
- finalNetworkRequestStartTime: 0,
- endTime: 0,
- encodedBodySize: 0,
- decodedBodySize: 0,
- finalConnectionTimingInfo: null
- };
- }
- function makePolicyContainer() {
- return {
- referrerPolicy: "strict-origin-when-cross-origin"
- };
- }
- function clonePolicyContainer(policyContainer) {
- return {
- referrerPolicy: policyContainer.referrerPolicy
- };
- }
- function determineRequestsReferrer(request) {
- const policy = request.referrerPolicy;
- assert3(policy);
- let referrerSource = null;
- if (request.referrer === "client") {
- const globalOrigin = getGlobalOrigin();
- if (!globalOrigin || globalOrigin.origin === "null") {
- return "no-referrer";
- }
- referrerSource = new URL(globalOrigin);
- } else if (request.referrer instanceof URL) {
- referrerSource = request.referrer;
- }
- let referrerURL = stripURLForReferrer(referrerSource);
- const referrerOrigin = stripURLForReferrer(referrerSource, true);
- if (referrerURL.toString().length > 4096) {
- referrerURL = referrerOrigin;
- }
- const areSameOrigin = sameOrigin(request, referrerURL);
- const isNonPotentiallyTrustWorthy = isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(request.url);
- switch (policy) {
- case "origin":
- return referrerOrigin != null ? referrerOrigin : stripURLForReferrer(referrerSource, true);
- case "unsafe-url":
- return referrerURL;
- case "same-origin":
- return areSameOrigin ? referrerOrigin : "no-referrer";
- case "origin-when-cross-origin":
- return areSameOrigin ? referrerURL : referrerOrigin;
- case "strict-origin-when-cross-origin": {
- const currentURL = requestCurrentURL(request);
- if (sameOrigin(referrerURL, currentURL)) {
- return referrerURL;
- }
- if (isURLPotentiallyTrustworthy(referrerURL) && !isURLPotentiallyTrustworthy(currentURL)) {
- return "no-referrer";
- }
- return referrerOrigin;
- }
- case "strict-origin":
- case "no-referrer-when-downgrade":
- default:
- return isNonPotentiallyTrustWorthy ? "no-referrer" : referrerOrigin;
- }
- }
- function stripURLForReferrer(url, originOnly) {
- assert3(url instanceof URL);
- if (url.protocol === "file:" || url.protocol === "about:" || url.protocol === "blank:") {
- return "no-referrer";
- }
- url.username = "";
- url.password = "";
- url.hash = "";
- if (originOnly) {
- url.pathname = "";
- url.search = "";
- }
- return url;
- }
- function isURLPotentiallyTrustworthy(url) {
- if (!(url instanceof URL)) {
- return false;
- }
- if (url.href === "about:blank" || url.href === "about:srcdoc") {
- return true;
- }
- if (url.protocol === "data:")
- return true;
- if (url.protocol === "file:")
- return true;
- return isOriginPotentiallyTrustworthy(url.origin);
- function isOriginPotentiallyTrustworthy(origin) {
- if (origin == null || origin === "null")
- return false;
- const originAsURL = new URL(origin);
- if (originAsURL.protocol === "https:" || originAsURL.protocol === "wss:") {
- return true;
- }
- if (/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(originAsURL.hostname) || (originAsURL.hostname === "localhost" || originAsURL.hostname.includes("localhost.")) || originAsURL.hostname.endsWith(".localhost")) {
- return true;
- }
- return false;
- }
- }
- function bytesMatch(bytes, metadataList) {
- if (crypto === void 0) {
- return true;
- }
- const parsedMetadata = parseMetadata(metadataList);
- if (parsedMetadata === "no metadata") {
- return true;
- }
- if (parsedMetadata.length === 0) {
- return true;
- }
- const list = parsedMetadata.sort((c, d) => d.algo.localeCompare(c.algo));
- const strongest = list[0].algo;
- const metadata = list.filter((item) => item.algo === strongest);
- for (const item of metadata) {
- const algorithm = item.algo;
- let expectedValue = item.hash;
- if (expectedValue.endsWith("==")) {
- expectedValue = expectedValue.slice(0, -2);
- }
- let actualValue = crypto.createHash(algorithm).update(bytes).digest("base64");
- if (actualValue.endsWith("==")) {
- actualValue = actualValue.slice(0, -2);
- }
- if (actualValue === expectedValue) {
- return true;
- }
- let actualBase64URL = crypto.createHash(algorithm).update(bytes).digest("base64url");
- if (actualBase64URL.endsWith("==")) {
- actualBase64URL = actualBase64URL.slice(0, -2);
- }
- if (actualBase64URL === expectedValue) {
- return true;
- }
- }
- return false;
- }
- var parseHashWithOptions = /(?sha256|sha384|sha512)-(?[A-Za-z0-9+/]+={0,2}(?=\s|$))( +[!-~]*)?/i;
- function parseMetadata(metadata) {
- const result = [];
- let empty = true;
- const supportedHashes = crypto.getHashes();
- for (const token of metadata.split(" ")) {
- empty = false;
- const parsedToken = parseHashWithOptions.exec(token);
- if (parsedToken === null || parsedToken.groups === void 0) {
- continue;
- }
- const algorithm = parsedToken.groups.algo;
- if (supportedHashes.includes(algorithm.toLowerCase())) {
- result.push(parsedToken.groups);
- }
- }
- if (empty === true) {
- return "no metadata";
- }
- return result;
- }
- function tryUpgradeRequestToAPotentiallyTrustworthyURL(request) {
- }
- function sameOrigin(A, B) {
- if (A.origin === B.origin && A.origin === "null") {
- return true;
- }
- if (A.protocol === B.protocol && A.hostname === B.hostname && A.port === B.port) {
- return true;
- }
- return false;
- }
- function createDeferredPromise() {
- let res;
- let rej;
- const promise = new Promise((resolve, reject) => {
- res = resolve;
- rej = reject;
- });
- return { promise, resolve: res, reject: rej };
- }
- function isAborted(fetchParams) {
- return fetchParams.controller.state === "aborted";
- }
- function isCancelled(fetchParams) {
- return fetchParams.controller.state === "aborted" || fetchParams.controller.state === "terminated";
- }
- var normalizeMethodRecordBase = {
- delete: "DELETE",
- DELETE: "DELETE",
- get: "GET",
- GET: "GET",
- head: "HEAD",
- HEAD: "HEAD",
- options: "OPTIONS",
- OPTIONS: "OPTIONS",
- post: "POST",
- POST: "POST",
- put: "PUT",
- PUT: "PUT"
- };
- var normalizeMethodRecord = {
- ...normalizeMethodRecordBase,
- patch: "patch",
- PATCH: "PATCH"
- };
- Object.setPrototypeOf(normalizeMethodRecordBase, null);
- Object.setPrototypeOf(normalizeMethodRecord, null);
- function normalizeMethod(method) {
- return normalizeMethodRecordBase[method.toLowerCase()] ?? method;
- }
- function serializeJavascriptValueToJSONString(value) {
- const result = JSON.stringify(value);
- if (result === void 0) {
- throw new TypeError("Value is not JSON serializable");
- }
- assert3(typeof result === "string");
- return result;
- }
- var esIteratorPrototype = Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));
- function makeIterator(iterator, name, kind, keyIndex = 0, valueIndex = 1) {
- const object = {
- index: 0,
- kind,
- target: iterator
- };
- const iteratorObject = Object.create(esIteratorPrototype);
- Object.defineProperty(iteratorObject, "next", {
- value: function next() {
- if (Object.getPrototypeOf(this) !== iteratorObject) {
- throw new TypeError(
- `'next' called on an object that does not implement interface ${name} Iterator.`
- );
- }
- const { index, kind: kind2, target } = object;
- const values = target();
- const len = values.length;
- if (index >= len) {
- return { value: void 0, done: true };
- }
- const { [keyIndex]: key, [valueIndex]: value } = values[index];
- object.index = index + 1;
- let result;
- switch (kind2) {
- case "key":
- result = key;
- break;
- case "value":
- result = value;
- break;
- case "key+value":
- result = [key, value];
- break;
- }
- return {
- value: result,
- done: false
- };
- },
- writable: true,
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(iteratorObject, Symbol.toStringTag, {
- value: `${name} Iterator`,
- writable: false,
- enumerable: false,
- configurable: true
- });
- return Object.create(iteratorObject);
- }
- async function fullyReadBody(body, processBody, processBodyError) {
- const successSteps = processBody;
- const errorSteps = processBodyError;
- let reader;
- try {
- reader = body.stream.getReader();
- } catch (e) {
- errorSteps(e);
- return;
- }
- try {
- const result = await readAllBytes(reader);
- successSteps(result);
- } catch (e) {
- errorSteps(e);
- }
- }
- function isReadableStreamLike(stream) {
- return stream instanceof ReadableStream || stream[Symbol.toStringTag] === "ReadableStream" && typeof stream.tee === "function";
- }
- function readableStreamClose(controller) {
- try {
- controller.close();
- controller.byobRequest?.respond(0);
- } catch (err) {
- if (!err.message.includes("Controller is already closed") && !err.message.includes("ReadableStream is already closed")) {
- throw err;
- }
- }
- }
- function isomorphicEncode(input) {
- for (let i = 0; i < input.length; i++) {
- assert3(input.charCodeAt(i) <= 255);
- }
- return input;
- }
- async function readAllBytes(reader) {
- const bytes = [];
- let byteLength = 0;
- while (true) {
- const { done, value: chunk } = await reader.read();
- if (done) {
- return Buffer.concat(bytes, byteLength);
- }
- if (!isUint8Array(chunk)) {
- throw new TypeError("Received non-Uint8Array chunk");
- }
- bytes.push(chunk);
- byteLength += chunk.length;
- }
- }
- function urlIsLocal(url) {
- assert3("protocol" in url);
- const protocol = url.protocol;
- return protocol === "about:" || protocol === "blob:" || protocol === "data:";
- }
- function urlHasHttpsScheme(url) {
- if (typeof url === "string") {
- return url.startsWith("https:");
- }
- return url.protocol === "https:";
- }
- function urlIsHttpHttpsScheme(url) {
- assert3("protocol" in url);
- const protocol = url.protocol;
- return protocol === "http:" || protocol === "https:";
- }
- function simpleRangeHeaderValue(value, allowWhitespace) {
- const data = value;
- if (!data.startsWith("bytes")) {
- return "failure";
- }
- const position = { position: 5 };
- if (allowWhitespace) {
- collectASequenceOfCodePoints(
- (char) => char === " " || char === " ",
- data,
- position
- );
- }
- if (data.charCodeAt(position.position) !== 61) {
- return "failure";
- }
- position.position++;
- if (allowWhitespace) {
- collectASequenceOfCodePoints(
- (char) => char === " " || char === " ",
- data,
- position
- );
- }
- const rangeStart = collectASequenceOfCodePoints(
- (char) => {
- const code = char.charCodeAt(0);
- return code >= 48 && code <= 57;
- },
- data,
- position
- );
- const rangeStartValue = rangeStart.length ? Number(rangeStart) : null;
- if (allowWhitespace) {
- collectASequenceOfCodePoints(
- (char) => char === " " || char === " ",
- data,
- position
- );
- }
- if (data.charCodeAt(position.position) !== 45) {
- return "failure";
- }
- position.position++;
- if (allowWhitespace) {
- collectASequenceOfCodePoints(
- (char) => char === " " || char === " ",
- data,
- position
- );
- }
- const rangeEnd = collectASequenceOfCodePoints(
- (char) => {
- const code = char.charCodeAt(0);
- return code >= 48 && code <= 57;
- },
- data,
- position
- );
- const rangeEndValue = rangeEnd.length ? Number(rangeEnd) : null;
- if (position.position < data.length) {
- return "failure";
- }
- if (rangeEndValue === null && rangeStartValue === null) {
- return "failure";
- }
- if (rangeStartValue > rangeEndValue) {
- return "failure";
- }
- return { rangeStartValue, rangeEndValue };
- }
- function buildContentRange(rangeStart, rangeEnd, fullLength) {
- let contentRange = "bytes ";
- contentRange += isomorphicEncode(`${rangeStart}`);
- contentRange += "-";
- contentRange += isomorphicEncode(`${rangeEnd}`);
- contentRange += "/";
- contentRange += isomorphicEncode(`${fullLength}`);
- return contentRange;
- }
- var InflateStream = class extends Transform {
- _transform(chunk, encoding, callback) {
- if (!this._inflateStream) {
- if (chunk.length === 0) {
- callback();
- return;
- }
- this._inflateStream = (chunk[0] & 15) === 8 ? zlib.createInflate() : zlib.createInflateRaw();
- this._inflateStream.on("data", this.push.bind(this));
- this._inflateStream.on("end", () => this.push(null));
- this._inflateStream.on("error", (err) => this.destroy(err));
- }
- this._inflateStream.write(chunk, encoding, callback);
- }
- _final(callback) {
- if (this._inflateStream) {
- this._inflateStream.end();
- this._inflateStream = null;
- }
- callback();
- }
- };
- function createInflate() {
- return new InflateStream();
- }
- function extractMimeType(headers) {
- let charset = null;
- let essence = null;
- let mimeType = null;
- const values = getDecodeSplit("content-type", headers);
- if (values === null) {
- return "failure";
- }
- for (const value of values) {
- const temporaryMimeType = parseMIMEType(value);
- if (temporaryMimeType === "failure" || temporaryMimeType.essence === "*/*") {
- continue;
- }
- mimeType = temporaryMimeType;
- if (mimeType.essence !== essence) {
- charset = null;
- if (mimeType.parameters.has("charset")) {
- charset = mimeType.parameters.get("charset");
- }
- essence = mimeType.essence;
- } else if (!mimeType.parameters.has("charset") && charset !== null) {
- mimeType.parameters.set("charset", charset);
- }
- }
- if (mimeType == null) {
- return "failure";
- }
- return mimeType;
- }
- function gettingDecodingSplitting(value) {
- const input = value;
- const position = { position: 0 };
- const values = [];
- let temporaryValue = "";
- while (position.position < input.length) {
- temporaryValue += collectASequenceOfCodePoints(
- (char) => char !== '"' && char !== ",",
- input,
- position
- );
- if (position.position < input.length) {
- if (input.charCodeAt(position.position) === 34) {
- temporaryValue += collectAnHTTPQuotedString(
- input,
- position
- );
- if (position.position < input.length) {
- continue;
- }
- } else {
- assert3(input.charCodeAt(position.position) === 44);
- position.position++;
- }
- }
- temporaryValue = removeChars(temporaryValue, true, true, (char) => char === 9 || char === 32);
- values.push(temporaryValue);
- temporaryValue = "";
- }
- return values;
- }
- function getDecodeSplit(name, list) {
- const value = list.get(name, true);
- if (value === null) {
- return null;
- }
- return gettingDecodingSplitting(value);
- }
- module2.exports = {
- isAborted,
- isCancelled,
- createDeferredPromise,
- ReadableStreamFrom,
- toUSVString,
- tryUpgradeRequestToAPotentiallyTrustworthyURL,
- clampAndCoarsenConnectionTimingInfo,
- coarsenedSharedCurrentTime,
- determineRequestsReferrer,
- makePolicyContainer,
- clonePolicyContainer,
- appendFetchMetadata,
- appendRequestOriginHeader,
- TAOCheck,
- corsCheck,
- crossOriginResourcePolicyCheck,
- createOpaqueTimingInfo,
- setRequestReferrerPolicyOnRedirect,
- isValidHTTPToken,
- requestBadPort,
- requestCurrentURL,
- responseURL,
- responseLocationURL,
- isBlobLike,
- isURLPotentiallyTrustworthy,
- isValidReasonPhrase,
- sameOrigin,
- normalizeMethod,
- serializeJavascriptValueToJSONString,
- makeIterator,
- isValidHeaderName,
- isValidHeaderValue,
- isErrorLike,
- fullyReadBody,
- bytesMatch,
- isReadableStreamLike,
- readableStreamClose,
- isomorphicEncode,
- urlIsLocal,
- urlHasHttpsScheme,
- urlIsHttpHttpsScheme,
- readAllBytes,
- normalizeMethodRecord,
- simpleRangeHeaderValue,
- buildContentRange,
- parseMetadata,
- createInflate,
- extractMimeType
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/symbols.js
-var require_symbols2 = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/symbols.js"(exports, module2) {
- "use strict";
- module2.exports = {
- kUrl: Symbol("url"),
- kHeaders: Symbol("headers"),
- kSignal: Symbol("signal"),
- kState: Symbol("state"),
- kGuard: Symbol("guard"),
- kRealm: Symbol("realm")
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/webidl.js
-var require_webidl = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/webidl.js"(exports, module2) {
- "use strict";
- var { types } = require("node:util");
- var { toUSVString } = require_util2();
- var webidl = {};
- webidl.converters = {};
- webidl.util = {};
- webidl.errors = {};
- webidl.errors.exception = function(message) {
- return new TypeError(`${message.header}: ${message.message}`);
- };
- webidl.errors.conversionFailed = function(context) {
- const plural2 = context.types.length === 1 ? "" : " one of";
- const message = `${context.argument} could not be converted to${plural2}: ${context.types.join(", ")}.`;
- return webidl.errors.exception({
- header: context.prefix,
- message
- });
- };
- webidl.errors.invalidArgument = function(context) {
- return webidl.errors.exception({
- header: context.prefix,
- message: `"${context.value}" is an invalid ${context.type}.`
- });
- };
- webidl.brandCheck = function(V, I, opts = void 0) {
- if (opts?.strict !== false) {
- if (!(V instanceof I)) {
- throw new TypeError("Illegal invocation");
- }
- } else {
- if (V?.[Symbol.toStringTag] !== I.prototype[Symbol.toStringTag]) {
- throw new TypeError("Illegal invocation");
- }
- }
- };
- webidl.argumentLengthCheck = function({ length }, min, ctx) {
- if (length < min) {
- throw webidl.errors.exception({
- message: `${min} argument${min !== 1 ? "s" : ""} required, but${length ? " only" : ""} ${length} found.`,
- ...ctx
- });
- }
- };
- webidl.illegalConstructor = function() {
- throw webidl.errors.exception({
- header: "TypeError",
- message: "Illegal constructor"
- });
- };
- webidl.util.Type = function(V) {
- switch (typeof V) {
- case "undefined":
- return "Undefined";
- case "boolean":
- return "Boolean";
- case "string":
- return "String";
- case "symbol":
- return "Symbol";
- case "number":
- return "Number";
- case "bigint":
- return "BigInt";
- case "function":
- case "object": {
- if (V === null) {
- return "Null";
- }
- return "Object";
- }
- }
- };
- webidl.util.ConvertToInt = function(V, bitLength, signedness, opts = {}) {
- let upperBound;
- let lowerBound;
- if (bitLength === 64) {
- upperBound = Math.pow(2, 53) - 1;
- if (signedness === "unsigned") {
- lowerBound = 0;
- } else {
- lowerBound = Math.pow(-2, 53) + 1;
- }
- } else if (signedness === "unsigned") {
- lowerBound = 0;
- upperBound = Math.pow(2, bitLength) - 1;
- } else {
- lowerBound = Math.pow(-2, bitLength) - 1;
- upperBound = Math.pow(2, bitLength - 1) - 1;
- }
- let x = Number(V);
- if (x === 0) {
- x = 0;
- }
- if (opts.enforceRange === true) {
- if (Number.isNaN(x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
- throw webidl.errors.exception({
- header: "Integer conversion",
- message: `Could not convert ${V} to an integer.`
- });
- }
- x = webidl.util.IntegerPart(x);
- if (x < lowerBound || x > upperBound) {
- throw webidl.errors.exception({
- header: "Integer conversion",
- message: `Value must be between ${lowerBound}-${upperBound}, got ${x}.`
- });
- }
- return x;
- }
- if (!Number.isNaN(x) && opts.clamp === true) {
- x = Math.min(Math.max(x, lowerBound), upperBound);
- if (Math.floor(x) % 2 === 0) {
- x = Math.floor(x);
- } else {
- x = Math.ceil(x);
- }
- return x;
- }
- if (Number.isNaN(x) || x === 0 && Object.is(0, x) || x === Number.POSITIVE_INFINITY || x === Number.NEGATIVE_INFINITY) {
- return 0;
- }
- x = webidl.util.IntegerPart(x);
- x = x % Math.pow(2, bitLength);
- if (signedness === "signed" && x >= Math.pow(2, bitLength) - 1) {
- return x - Math.pow(2, bitLength);
- }
- return x;
- };
- webidl.util.IntegerPart = function(n) {
- const r = Math.floor(Math.abs(n));
- if (n < 0) {
- return -1 * r;
- }
- return r;
- };
- webidl.sequenceConverter = function(converter) {
- return (V) => {
- if (webidl.util.Type(V) !== "Object") {
- throw webidl.errors.exception({
- header: "Sequence",
- message: `Value of type ${webidl.util.Type(V)} is not an Object.`
- });
- }
- const method = V?.[Symbol.iterator]?.();
- const seq = [];
- if (method === void 0 || typeof method.next !== "function") {
- throw webidl.errors.exception({
- header: "Sequence",
- message: "Object is not an iterator."
- });
- }
- while (true) {
- const { done, value } = method.next();
- if (done) {
- break;
- }
- seq.push(converter(value));
- }
- return seq;
- };
- };
- webidl.recordConverter = function(keyConverter, valueConverter) {
- return (O) => {
- if (webidl.util.Type(O) !== "Object") {
- throw webidl.errors.exception({
- header: "Record",
- message: `Value of type ${webidl.util.Type(O)} is not an Object.`
- });
- }
- const result = {};
- if (!types.isProxy(O)) {
- const keys2 = Object.keys(O);
- for (const key of keys2) {
- const typedKey = keyConverter(key);
- const typedValue = valueConverter(O[key]);
- result[typedKey] = typedValue;
- }
- return result;
- }
- const keys = Reflect.ownKeys(O);
- for (const key of keys) {
- const desc = Reflect.getOwnPropertyDescriptor(O, key);
- if (desc?.enumerable) {
- const typedKey = keyConverter(key);
- const typedValue = valueConverter(O[key]);
- result[typedKey] = typedValue;
- }
- }
- return result;
- };
- };
- webidl.interfaceConverter = function(i) {
- return (V, opts = {}) => {
- if (opts.strict !== false && !(V instanceof i)) {
- throw webidl.errors.exception({
- header: i.name,
- message: `Expected ${V} to be an instance of ${i.name}.`
- });
- }
- return V;
- };
- };
- webidl.dictionaryConverter = function(converters) {
- return (dictionary) => {
- const type = webidl.util.Type(dictionary);
- const dict = {};
- if (type === "Null" || type === "Undefined") {
- return dict;
- } else if (type !== "Object") {
- throw webidl.errors.exception({
- header: "Dictionary",
- message: `Expected ${dictionary} to be one of: Null, Undefined, Object.`
- });
- }
- for (const options of converters) {
- const { key, defaultValue, required, converter } = options;
- if (required === true) {
- if (!Object.hasOwn(dictionary, key)) {
- throw webidl.errors.exception({
- header: "Dictionary",
- message: `Missing required key "${key}".`
- });
- }
- }
- let value = dictionary[key];
- const hasDefault = Object.hasOwn(options, "defaultValue");
- if (hasDefault && value !== null) {
- value = value ?? defaultValue;
- }
- if (required || hasDefault || value !== void 0) {
- value = converter(value);
- if (options.allowedValues && !options.allowedValues.includes(value)) {
- throw webidl.errors.exception({
- header: "Dictionary",
- message: `${value} is not an accepted type. Expected one of ${options.allowedValues.join(", ")}.`
- });
- }
- dict[key] = value;
- }
- }
- return dict;
- };
- };
- webidl.nullableConverter = function(converter) {
- return (V) => {
- if (V === null) {
- return V;
- }
- return converter(V);
- };
- };
- webidl.converters.DOMString = function(V, opts = {}) {
- if (V === null && opts.legacyNullToEmptyString) {
- return "";
- }
- if (typeof V === "symbol") {
- throw new TypeError("Could not convert argument of type symbol to string.");
- }
- return String(V);
- };
- webidl.converters.ByteString = function(V) {
- const x = webidl.converters.DOMString(V);
- for (let index = 0; index < x.length; index++) {
- if (x.charCodeAt(index) > 255) {
- throw new TypeError(
- `Cannot convert argument to a ByteString because the character at index ${index} has a value of ${x.charCodeAt(index)} which is greater than 255.`
- );
- }
- }
- return x;
- };
- webidl.converters.USVString = toUSVString;
- webidl.converters.boolean = function(V) {
- const x = Boolean(V);
- return x;
- };
- webidl.converters.any = function(V) {
- return V;
- };
- webidl.converters["long long"] = function(V) {
- const x = webidl.util.ConvertToInt(V, 64, "signed");
- return x;
- };
- webidl.converters["unsigned long long"] = function(V) {
- const x = webidl.util.ConvertToInt(V, 64, "unsigned");
- return x;
- };
- webidl.converters["unsigned long"] = function(V) {
- const x = webidl.util.ConvertToInt(V, 32, "unsigned");
- return x;
- };
- webidl.converters["unsigned short"] = function(V, opts) {
- const x = webidl.util.ConvertToInt(V, 16, "unsigned", opts);
- return x;
- };
- webidl.converters.ArrayBuffer = function(V, opts = {}) {
- if (webidl.util.Type(V) !== "Object" || !types.isAnyArrayBuffer(V)) {
- throw webidl.errors.conversionFailed({
- prefix: `${V}`,
- argument: `${V}`,
- types: ["ArrayBuffer"]
- });
- }
- if (opts.allowShared === false && types.isSharedArrayBuffer(V)) {
- throw webidl.errors.exception({
- header: "ArrayBuffer",
- message: "SharedArrayBuffer is not allowed."
- });
- }
- return V;
- };
- webidl.converters.TypedArray = function(V, T, opts = {}) {
- if (webidl.util.Type(V) !== "Object" || !types.isTypedArray(V) || V.constructor.name !== T.name) {
- throw webidl.errors.conversionFailed({
- prefix: `${T.name}`,
- argument: `${V}`,
- types: [T.name]
- });
- }
- if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
- throw webidl.errors.exception({
- header: "ArrayBuffer",
- message: "SharedArrayBuffer is not allowed."
- });
- }
- return V;
- };
- webidl.converters.DataView = function(V, opts = {}) {
- if (webidl.util.Type(V) !== "Object" || !types.isDataView(V)) {
- throw webidl.errors.exception({
- header: "DataView",
- message: "Object is not a DataView."
- });
- }
- if (opts.allowShared === false && types.isSharedArrayBuffer(V.buffer)) {
- throw webidl.errors.exception({
- header: "ArrayBuffer",
- message: "SharedArrayBuffer is not allowed."
- });
- }
- return V;
- };
- webidl.converters.BufferSource = function(V, opts = {}) {
- if (types.isAnyArrayBuffer(V)) {
- return webidl.converters.ArrayBuffer(V, { ...opts, allowShared: false });
- }
- if (types.isTypedArray(V)) {
- return webidl.converters.TypedArray(V, V.constructor, { ...opts, allowShared: false });
- }
- if (types.isDataView(V)) {
- return webidl.converters.DataView(V, opts, { ...opts, allowShared: false });
- }
- throw new TypeError(`Could not convert ${V} to a BufferSource.`);
- };
- webidl.converters["sequence"] = webidl.sequenceConverter(
- webidl.converters.ByteString
- );
- webidl.converters["sequence>"] = webidl.sequenceConverter(
- webidl.converters["sequence"]
- );
- webidl.converters["record"] = webidl.recordConverter(
- webidl.converters.ByteString,
- webidl.converters.ByteString
- );
- module2.exports = {
- webidl
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/file.js
-var require_file = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/file.js"(exports, module2) {
- "use strict";
- var { Blob: Blob2, File: NativeFile } = require("node:buffer");
- var { types } = require("node:util");
- var { kState } = require_symbols2();
- var { isBlobLike } = require_util2();
- var { webidl } = require_webidl();
- var { parseMIMEType, serializeAMimeType } = require_dataURL();
- var { kEnumerableProperty } = require_util();
- var encoder = new TextEncoder();
- var File = class _File extends Blob2 {
- constructor(fileBits, fileName, options = {}) {
- webidl.argumentLengthCheck(arguments, 2, { header: "File constructor" });
- fileBits = webidl.converters["sequence"](fileBits);
- fileName = webidl.converters.USVString(fileName);
- options = webidl.converters.FilePropertyBag(options);
- const n = fileName;
- let t = options.type;
- let d;
- substep: {
- if (t) {
- t = parseMIMEType(t);
- if (t === "failure") {
- t = "";
- break substep;
- }
- t = serializeAMimeType(t).toLowerCase();
- }
- d = options.lastModified;
- }
- super(processBlobParts(fileBits, options), { type: t });
- this[kState] = {
- name: n,
- lastModified: d,
- type: t
- };
- }
- get name() {
- webidl.brandCheck(this, _File);
- return this[kState].name;
- }
- get lastModified() {
- webidl.brandCheck(this, _File);
- return this[kState].lastModified;
- }
- get type() {
- webidl.brandCheck(this, _File);
- return this[kState].type;
- }
- };
- var FileLike = class _FileLike {
- constructor(blobLike, fileName, options = {}) {
- const n = fileName;
- const t = options.type;
- const d = options.lastModified ?? Date.now();
- this[kState] = {
- blobLike,
- name: n,
- type: t,
- lastModified: d
- };
- }
- stream(...args) {
- webidl.brandCheck(this, _FileLike);
- return this[kState].blobLike.stream(...args);
- }
- arrayBuffer(...args) {
- webidl.brandCheck(this, _FileLike);
- return this[kState].blobLike.arrayBuffer(...args);
- }
- slice(...args) {
- webidl.brandCheck(this, _FileLike);
- return this[kState].blobLike.slice(...args);
- }
- text(...args) {
- webidl.brandCheck(this, _FileLike);
- return this[kState].blobLike.text(...args);
- }
- get size() {
- webidl.brandCheck(this, _FileLike);
- return this[kState].blobLike.size;
- }
- get type() {
- webidl.brandCheck(this, _FileLike);
- return this[kState].blobLike.type;
- }
- get name() {
- webidl.brandCheck(this, _FileLike);
- return this[kState].name;
- }
- get lastModified() {
- webidl.brandCheck(this, _FileLike);
- return this[kState].lastModified;
- }
- get [Symbol.toStringTag]() {
- return "File";
- }
- };
- Object.defineProperties(File.prototype, {
- [Symbol.toStringTag]: {
- value: "File",
- configurable: true
- },
- name: kEnumerableProperty,
- lastModified: kEnumerableProperty
- });
- webidl.converters.Blob = webidl.interfaceConverter(Blob2);
- webidl.converters.BlobPart = function(V, opts) {
- if (webidl.util.Type(V) === "Object") {
- if (isBlobLike(V)) {
- return webidl.converters.Blob(V, { strict: false });
- }
- if (ArrayBuffer.isView(V) || types.isAnyArrayBuffer(V)) {
- return webidl.converters.BufferSource(V, opts);
- }
- }
- return webidl.converters.USVString(V, opts);
- };
- webidl.converters["sequence"] = webidl.sequenceConverter(
- webidl.converters.BlobPart
- );
- webidl.converters.FilePropertyBag = webidl.dictionaryConverter([
- {
- key: "lastModified",
- converter: webidl.converters["long long"],
- get defaultValue() {
- return Date.now();
- }
- },
- {
- key: "type",
- converter: webidl.converters.DOMString,
- defaultValue: ""
- },
- {
- key: "endings",
- converter: (value) => {
- value = webidl.converters.DOMString(value);
- value = value.toLowerCase();
- if (value !== "native") {
- value = "transparent";
- }
- return value;
- },
- defaultValue: "transparent"
- }
- ]);
- function processBlobParts(parts, options) {
- const bytes = [];
- for (const element of parts) {
- if (typeof element === "string") {
- let s = element;
- if (options.endings === "native") {
- s = convertLineEndingsNative(s);
- }
- bytes.push(encoder.encode(s));
- } else if (ArrayBuffer.isView(element) || types.isArrayBuffer(element)) {
- if (element.buffer) {
- bytes.push(
- new Uint8Array(element.buffer, element.byteOffset, element.byteLength)
- );
- } else {
- bytes.push(new Uint8Array(element));
- }
- } else if (isBlobLike(element)) {
- bytes.push(element);
- }
- }
- return bytes;
- }
- function convertLineEndingsNative(s) {
- let nativeLineEnding = "\n";
- if (process.platform === "win32") {
- nativeLineEnding = "\r\n";
- }
- return s.replace(/\r?\n/g, nativeLineEnding);
- }
- function isFileLike(object) {
- return NativeFile && object instanceof NativeFile || object instanceof File || object && (typeof object.stream === "function" || typeof object.arrayBuffer === "function") && object[Symbol.toStringTag] === "File";
- }
- module2.exports = { File, FileLike, isFileLike };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/formdata.js
-var require_formdata = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/formdata.js"(exports, module2) {
- "use strict";
- var { isBlobLike, toUSVString, makeIterator } = require_util2();
- var { kState } = require_symbols2();
- var { kEnumerableProperty } = require_util();
- var { File: UndiciFile, FileLike, isFileLike } = require_file();
- var { webidl } = require_webidl();
- var { File: NativeFile } = require("node:buffer");
- var File = NativeFile ?? UndiciFile;
- var FormData = class _FormData {
- constructor(form) {
- if (form !== void 0) {
- throw webidl.errors.conversionFailed({
- prefix: "FormData constructor",
- argument: "Argument 1",
- types: ["undefined"]
- });
- }
- this[kState] = [];
- }
- append(name, value, filename = void 0) {
- webidl.brandCheck(this, _FormData);
- webidl.argumentLengthCheck(arguments, 2, { header: "FormData.append" });
- if (arguments.length === 3 && !isBlobLike(value)) {
- throw new TypeError(
- "Failed to execute 'append' on 'FormData': parameter 2 is not of type 'Blob'"
- );
- }
- name = webidl.converters.USVString(name);
- value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
- filename = arguments.length === 3 ? webidl.converters.USVString(filename) : void 0;
- const entry = makeEntry(name, value, filename);
- this[kState].push(entry);
- }
- delete(name) {
- webidl.brandCheck(this, _FormData);
- webidl.argumentLengthCheck(arguments, 1, { header: "FormData.delete" });
- name = webidl.converters.USVString(name);
- this[kState] = this[kState].filter((entry) => entry.name !== name);
- }
- get(name) {
- webidl.brandCheck(this, _FormData);
- webidl.argumentLengthCheck(arguments, 1, { header: "FormData.get" });
- name = webidl.converters.USVString(name);
- const idx = this[kState].findIndex((entry) => entry.name === name);
- if (idx === -1) {
- return null;
- }
- return this[kState][idx].value;
- }
- getAll(name) {
- webidl.brandCheck(this, _FormData);
- webidl.argumentLengthCheck(arguments, 1, { header: "FormData.getAll" });
- name = webidl.converters.USVString(name);
- return this[kState].filter((entry) => entry.name === name).map((entry) => entry.value);
- }
- has(name) {
- webidl.brandCheck(this, _FormData);
- webidl.argumentLengthCheck(arguments, 1, { header: "FormData.has" });
- name = webidl.converters.USVString(name);
- return this[kState].findIndex((entry) => entry.name === name) !== -1;
- }
- set(name, value, filename = void 0) {
- webidl.brandCheck(this, _FormData);
- webidl.argumentLengthCheck(arguments, 2, { header: "FormData.set" });
- if (arguments.length === 3 && !isBlobLike(value)) {
- throw new TypeError(
- "Failed to execute 'set' on 'FormData': parameter 2 is not of type 'Blob'"
- );
- }
- name = webidl.converters.USVString(name);
- value = isBlobLike(value) ? webidl.converters.Blob(value, { strict: false }) : webidl.converters.USVString(value);
- filename = arguments.length === 3 ? toUSVString(filename) : void 0;
- const entry = makeEntry(name, value, filename);
- const idx = this[kState].findIndex((entry2) => entry2.name === name);
- if (idx !== -1) {
- this[kState] = [
- ...this[kState].slice(0, idx),
- entry,
- ...this[kState].slice(idx + 1).filter((entry2) => entry2.name !== name)
- ];
- } else {
- this[kState].push(entry);
- }
- }
- entries() {
- webidl.brandCheck(this, _FormData);
- return makeIterator(
- () => this[kState],
- "FormData",
- "key+value",
- "name",
- "value"
- );
- }
- keys() {
- webidl.brandCheck(this, _FormData);
- return makeIterator(
- () => this[kState],
- "FormData",
- "key",
- "name",
- "value"
- );
- }
- values() {
- webidl.brandCheck(this, _FormData);
- return makeIterator(
- () => this[kState],
- "FormData",
- "value",
- "name",
- "value"
- );
- }
- /**
- * @param {(value: string, key: string, self: FormData) => void} callbackFn
- * @param {unknown} thisArg
- */
- forEach(callbackFn, thisArg = globalThis) {
- webidl.brandCheck(this, _FormData);
- webidl.argumentLengthCheck(arguments, 1, { header: "FormData.forEach" });
- if (typeof callbackFn !== "function") {
- throw new TypeError(
- "Failed to execute 'forEach' on 'FormData': parameter 1 is not of type 'Function'."
- );
- }
- for (const [key, value] of this) {
- callbackFn.call(thisArg, value, key, this);
- }
- }
- };
- FormData.prototype[Symbol.iterator] = FormData.prototype.entries;
- Object.defineProperties(FormData.prototype, {
- append: kEnumerableProperty,
- delete: kEnumerableProperty,
- get: kEnumerableProperty,
- getAll: kEnumerableProperty,
- has: kEnumerableProperty,
- set: kEnumerableProperty,
- entries: kEnumerableProperty,
- keys: kEnumerableProperty,
- values: kEnumerableProperty,
- forEach: kEnumerableProperty,
- [Symbol.iterator]: { enumerable: false },
- [Symbol.toStringTag]: {
- value: "FormData",
- configurable: true
- }
- });
- function makeEntry(name, value, filename) {
- name = Buffer.from(name).toString("utf8");
- if (typeof value === "string") {
- value = Buffer.from(value).toString("utf8");
- } else {
- if (!isFileLike(value)) {
- value = value instanceof Blob ? new File([value], "blob", { type: value.type }) : new FileLike(value, "blob", { type: value.type });
- }
- if (filename !== void 0) {
- const options = {
- type: value.type,
- lastModified: value.lastModified
- };
- value = NativeFile && value instanceof NativeFile || value instanceof UndiciFile ? new File([value], filename, options) : new FileLike(value, filename, options);
- }
- }
- return { name, value };
- }
- module2.exports = { FormData };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/body.js
-var require_body = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/fetch/body.js"(exports, module2) {
- "use strict";
- var Busboy = require_main();
- var util = require_util();
- var {
- ReadableStreamFrom,
- isBlobLike,
- isReadableStreamLike,
- readableStreamClose,
- createDeferredPromise,
- fullyReadBody,
- extractMimeType
- } = require_util2();
- var { FormData } = require_formdata();
- var { kState } = require_symbols2();
- var { webidl } = require_webidl();
- var { Blob: Blob2, File: NativeFile } = require("node:buffer");
- var { kBodyUsed } = require_symbols();
- var assert3 = require("node:assert");
- var { isErrored } = require_util();
- var { isUint8Array, isArrayBuffer } = require("util/types");
- var { File: UndiciFile } = require_file();
- var { serializeAMimeType } = require_dataURL();
- var File = NativeFile ?? UndiciFile;
- var textEncoder = new TextEncoder();
- var textDecoder = new TextDecoder();
- function extractBody(object, keepalive = false) {
- let stream = null;
- if (object instanceof ReadableStream) {
- stream = object;
- } else if (isBlobLike(object)) {
- stream = object.stream();
- } else {
- stream = new ReadableStream({
- async pull(controller) {
- const buffer = typeof source === "string" ? textEncoder.encode(source) : source;
- if (buffer.byteLength) {
- controller.enqueue(buffer);
- }
- queueMicrotask(() => readableStreamClose(controller));
- },
- start() {
- },
- type: "bytes"
- });
- }
- assert3(isReadableStreamLike(stream));
- let action = null;
- let source = null;
- let length = null;
- let type = null;
- if (typeof object === "string") {
- source = object;
- type = "text/plain;charset=UTF-8";
- } else if (object instanceof URLSearchParams) {
- source = object.toString();
- type = "application/x-www-form-urlencoded;charset=UTF-8";
- } else if (isArrayBuffer(object)) {
- source = new Uint8Array(object.slice());
- } else if (ArrayBuffer.isView(object)) {
- source = new Uint8Array(object.buffer.slice(object.byteOffset, object.byteOffset + object.byteLength));
- } else if (util.isFormDataLike(object)) {
- const boundary = `----formdata-undici-0${`${Math.floor(Math.random() * 1e11)}`.padStart(11, "0")}`;
- const prefix = `--${boundary}\r
-Content-Disposition: form-data`;
- const escape = (str) => str.replace(/\n/g, "%0A").replace(/\r/g, "%0D").replace(/"/g, "%22");
- const normalizeLinefeeds = (value) => value.replace(/\r?\n|\r/g, "\r\n");
- const blobParts = [];
- const rn = new Uint8Array([13, 10]);
- length = 0;
- let hasUnknownSizeValue = false;
- for (const [name, value] of object) {
- if (typeof value === "string") {
- const chunk2 = textEncoder.encode(prefix + `; name="${escape(normalizeLinefeeds(name))}"\r
-\r
-${normalizeLinefeeds(value)}\r
-`);
- blobParts.push(chunk2);
- length += chunk2.byteLength;
- } else {
- const chunk2 = textEncoder.encode(`${prefix}; name="${escape(normalizeLinefeeds(name))}"` + (value.name ? `; filename="${escape(value.name)}"` : "") + `\r
-Content-Type: ${value.type || "application/octet-stream"}\r
-\r
-`);
- blobParts.push(chunk2, value, rn);
- if (typeof value.size === "number") {
- length += chunk2.byteLength + value.size + rn.byteLength;
- } else {
- hasUnknownSizeValue = true;
- }
- }
- }
- const chunk = textEncoder.encode(`--${boundary}--`);
- blobParts.push(chunk);
- length += chunk.byteLength;
- if (hasUnknownSizeValue) {
- length = null;
- }
- source = object;
- action = async function* () {
- for (const part of blobParts) {
- if (part.stream) {
- yield* part.stream();
- } else {
- yield part;
- }
- }
- };
- type = `multipart/form-data; boundary=${boundary}`;
- } else if (isBlobLike(object)) {
- source = object;
- length = object.size;
- if (object.type) {
- type = object.type;
- }
- } else if (typeof object[Symbol.asyncIterator] === "function") {
- if (keepalive) {
- throw new TypeError("keepalive");
- }
- if (util.isDisturbed(object) || object.locked) {
- throw new TypeError(
- "Response body object should not be disturbed or locked"
- );
- }
- stream = object instanceof ReadableStream ? object : ReadableStreamFrom(object);
- }
- if (typeof source === "string" || util.isBuffer(source)) {
- length = Buffer.byteLength(source);
- }
- if (action != null) {
- let iterator;
- stream = new ReadableStream({
- async start() {
- iterator = action(object)[Symbol.asyncIterator]();
- },
- async pull(controller) {
- const { value, done } = await iterator.next();
- if (done) {
- queueMicrotask(() => {
- controller.close();
- controller.byobRequest?.respond(0);
- });
- } else {
- if (!isErrored(stream)) {
- const buffer = new Uint8Array(value);
- if (buffer.byteLength) {
- controller.enqueue(buffer);
- }
- }
- }
- return controller.desiredSize > 0;
- },
- async cancel(reason) {
- await iterator.return();
- },
- type: "bytes"
- });
- }
- const body = { stream, source, length };
- return [body, type];
- }
- function safelyExtractBody(object, keepalive = false) {
- if (object instanceof ReadableStream) {
- assert3(!util.isDisturbed(object), "The body has already been consumed.");
- assert3(!object.locked, "The stream is locked.");
- }
- return extractBody(object, keepalive);
- }
- function cloneBody(body) {
- const [out1, out2] = body.stream.tee();
- const out2Clone = structuredClone(out2, { transfer: [out2] });
- const [, finalClone] = out2Clone.tee();
- body.stream = out1;
- return {
- stream: finalClone,
- length: body.length,
- source: body.source
- };
- }
- async function* consumeBody(body) {
- if (body) {
- if (isUint8Array(body)) {
- yield body;
- } else {
- const stream = body.stream;
- if (util.isDisturbed(stream)) {
- throw new TypeError("The body has already been consumed.");
- }
- if (stream.locked) {
- throw new TypeError("The stream is locked.");
- }
- stream[kBodyUsed] = true;
- yield* stream;
- }
- }
- }
- function throwIfAborted(state) {
- if (state.aborted) {
- throw new DOMException("The operation was aborted.", "AbortError");
- }
- }
- function bodyMixinMethods(instance) {
- const methods = {
- blob() {
- return specConsumeBody(this, (bytes) => {
- let mimeType = bodyMimeType(this);
- if (mimeType === null) {
- mimeType = "";
- } else if (mimeType) {
- mimeType = serializeAMimeType(mimeType);
- }
- return new Blob2([bytes], { type: mimeType });
- }, instance);
- },
- arrayBuffer() {
- return specConsumeBody(this, (bytes) => {
- return new Uint8Array(bytes).buffer;
- }, instance);
- },
- text() {
- return specConsumeBody(this, utf8DecodeBytes, instance);
- },
- json() {
- return specConsumeBody(this, parseJSONFromBytes, instance);
- },
- async formData() {
- webidl.brandCheck(this, instance);
- throwIfAborted(this[kState]);
- const mimeType = bodyMimeType(this);
- if (mimeType !== null && mimeType.essence === "multipart/form-data") {
- const headers = {};
- for (const [key, value] of this.headers)
- headers[key] = value;
- const responseFormData = new FormData();
- let busboy;
- try {
- busboy = new Busboy({
- headers,
- preservePath: true
- });
- } catch (err) {
- throw new DOMException(`${err}`, "AbortError");
- }
- busboy.on("field", (name, value) => {
- responseFormData.append(name, value);
- });
- busboy.on("file", (name, value, filename, encoding, mimeType2) => {
- const chunks = [];
- if (encoding === "base64" || encoding.toLowerCase() === "base64") {
- let base64chunk = "";
- value.on("data", (chunk) => {
- base64chunk += chunk.toString().replace(/[\r\n]/gm, "");
- const end = base64chunk.length - base64chunk.length % 4;
- chunks.push(Buffer.from(base64chunk.slice(0, end), "base64"));
- base64chunk = base64chunk.slice(end);
- });
- value.on("end", () => {
- chunks.push(Buffer.from(base64chunk, "base64"));
- responseFormData.append(name, new File(chunks, filename, { type: mimeType2 }));
- });
- } else {
- value.on("data", (chunk) => {
- chunks.push(chunk);
- });
- value.on("end", () => {
- responseFormData.append(name, new File(chunks, filename, { type: mimeType2 }));
- });
- }
- });
- const busboyResolve = new Promise((resolve, reject) => {
- busboy.on("finish", resolve);
- busboy.on("error", (err) => reject(new TypeError(err)));
- });
- if (this.body !== null)
- for await (const chunk of consumeBody(this[kState].body))
- busboy.write(chunk);
- busboy.end();
- await busboyResolve;
- return responseFormData;
- } else if (mimeType !== null && mimeType.essence === "application/x-www-form-urlencoded") {
- let entries;
- try {
- let text = "";
- const streamingDecoder = new TextDecoder("utf-8", { ignoreBOM: true });
- for await (const chunk of consumeBody(this[kState].body)) {
- if (!isUint8Array(chunk)) {
- throw new TypeError("Expected Uint8Array chunk");
- }
- text += streamingDecoder.decode(chunk, { stream: true });
- }
- text += streamingDecoder.decode();
- entries = new URLSearchParams(text);
- } catch (err) {
- throw new TypeError(void 0, { cause: err });
- }
- const formData = new FormData();
- for (const [name, value] of entries) {
- formData.append(name, value);
- }
- return formData;
- } else {
- await Promise.resolve();
- throwIfAborted(this[kState]);
- throw webidl.errors.exception({
- header: `${instance.name}.formData`,
- message: "Could not parse content as FormData."
- });
- }
- }
- };
- return methods;
- }
- function mixinBody(prototype) {
- Object.assign(prototype.prototype, bodyMixinMethods(prototype));
- }
- async function specConsumeBody(object, convertBytesToJSValue, instance) {
- webidl.brandCheck(object, instance);
- throwIfAborted(object[kState]);
- if (bodyUnusable(object[kState].body)) {
- throw new TypeError("Body is unusable");
- }
- const promise = createDeferredPromise();
- const errorSteps = (error) => promise.reject(error);
- const successSteps = (data) => {
- try {
- promise.resolve(convertBytesToJSValue(data));
- } catch (e) {
- errorSteps(e);
- }
- };
- if (object[kState].body == null) {
- successSteps(new Uint8Array());
- return promise.promise;
- }
- await fullyReadBody(object[kState].body, successSteps, errorSteps);
- return promise.promise;
- }
- function bodyUnusable(body) {
- return body != null && (body.stream.locked || util.isDisturbed(body.stream));
- }
- function utf8DecodeBytes(buffer) {
- if (buffer.length === 0) {
- return "";
- }
- if (buffer[0] === 239 && buffer[1] === 187 && buffer[2] === 191) {
- buffer = buffer.subarray(3);
- }
- const output = textDecoder.decode(buffer);
- return output;
- }
- function parseJSONFromBytes(bytes) {
- return JSON.parse(utf8DecodeBytes(bytes));
- }
- function bodyMimeType(requestOrResponse) {
- const headers = requestOrResponse[kState].headersList;
- const mimeType = extractMimeType(headers);
- if (mimeType === "failure") {
- return null;
- }
- return mimeType;
- }
- module2.exports = {
- extractBody,
- safelyExtractBody,
- cloneBody,
- mixinBody
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/request.js
-var require_request = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/request.js"(exports, module2) {
- "use strict";
- var {
- InvalidArgumentError,
- NotSupportedError
- } = require_errors();
- var assert3 = require("node:assert");
- var { kHTTP2BuildRequest, kHTTP2CopyHeaders, kHTTP1BuildRequest } = require_symbols();
- var util = require_util();
- var { channels } = require_diagnostics();
- var { headerNameLowerCasedRecord } = require_constants2();
- var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
- var invalidPathRegex = /[^\u0021-\u00ff]/;
- var kHandler = Symbol("handler");
- var extractBody;
- var Request = class _Request {
- constructor(origin, {
- path: path10,
- method,
- body,
- headers,
- query,
- idempotent,
- blocking,
- upgrade,
- headersTimeout,
- bodyTimeout,
- reset,
- throwOnError,
- expectContinue
- }, handler) {
- if (typeof path10 !== "string") {
- throw new InvalidArgumentError("path must be a string");
- } else if (path10[0] !== "/" && !(path10.startsWith("http://") || path10.startsWith("https://")) && method !== "CONNECT") {
- throw new InvalidArgumentError("path must be an absolute URL or start with a slash");
- } else if (invalidPathRegex.exec(path10) !== null) {
- throw new InvalidArgumentError("invalid request path");
- }
- if (typeof method !== "string") {
- throw new InvalidArgumentError("method must be a string");
- } else if (!util.isValidHTTPToken(method)) {
- throw new InvalidArgumentError("invalid request method");
- }
- if (upgrade && typeof upgrade !== "string") {
- throw new InvalidArgumentError("upgrade must be a string");
- }
- if (headersTimeout != null && (!Number.isFinite(headersTimeout) || headersTimeout < 0)) {
- throw new InvalidArgumentError("invalid headersTimeout");
- }
- if (bodyTimeout != null && (!Number.isFinite(bodyTimeout) || bodyTimeout < 0)) {
- throw new InvalidArgumentError("invalid bodyTimeout");
- }
- if (reset != null && typeof reset !== "boolean") {
- throw new InvalidArgumentError("invalid reset");
- }
- if (expectContinue != null && typeof expectContinue !== "boolean") {
- throw new InvalidArgumentError("invalid expectContinue");
- }
- this.headersTimeout = headersTimeout;
- this.bodyTimeout = bodyTimeout;
- this.throwOnError = throwOnError === true;
- this.method = method;
- this.abort = null;
- if (body == null) {
- this.body = null;
- } else if (util.isStream(body)) {
- this.body = body;
- const rState = this.body._readableState;
- if (!rState || !rState.autoDestroy) {
- this.endHandler = function autoDestroy() {
- util.destroy(this);
- };
- this.body.on("end", this.endHandler);
- }
- this.errorHandler = (err) => {
- if (this.abort) {
- this.abort(err);
- } else {
- this.error = err;
- }
- };
- this.body.on("error", this.errorHandler);
- } else if (util.isBuffer(body)) {
- this.body = body.byteLength ? body : null;
- } else if (ArrayBuffer.isView(body)) {
- this.body = body.buffer.byteLength ? Buffer.from(body.buffer, body.byteOffset, body.byteLength) : null;
- } else if (body instanceof ArrayBuffer) {
- this.body = body.byteLength ? Buffer.from(body) : null;
- } else if (typeof body === "string") {
- this.body = body.length ? Buffer.from(body) : null;
- } else if (util.isFormDataLike(body) || util.isIterable(body) || util.isBlobLike(body)) {
- this.body = body;
- } else {
- throw new InvalidArgumentError("body must be a string, a Buffer, a Readable stream, an iterable, or an async iterable");
- }
- this.completed = false;
- this.aborted = false;
- this.upgrade = upgrade || null;
- this.path = query ? util.buildURL(path10, query) : path10;
- this.origin = origin;
- this.idempotent = idempotent == null ? method === "HEAD" || method === "GET" : idempotent;
- this.blocking = blocking == null ? false : blocking;
- this.reset = reset == null ? null : reset;
- this.host = null;
- this.contentLength = null;
- this.contentType = null;
- this.headers = "";
- this.expectContinue = expectContinue != null ? expectContinue : false;
- if (Array.isArray(headers)) {
- if (headers.length % 2 !== 0) {
- throw new InvalidArgumentError("headers array must be even");
- }
- for (let i = 0; i < headers.length; i += 2) {
- processHeader(this, headers[i], headers[i + 1]);
- }
- } else if (headers && typeof headers === "object") {
- const keys = Object.keys(headers);
- for (let i = 0; i < keys.length; i++) {
- const key = keys[i];
- processHeader(this, key, headers[key]);
- }
- } else if (headers != null) {
- throw new InvalidArgumentError("headers must be an object or an array");
- }
- if (util.isFormDataLike(this.body)) {
- if (!extractBody) {
- extractBody = require_body().extractBody;
- }
- const [bodyStream, contentType] = extractBody(body);
- if (this.contentType == null) {
- this.contentType = contentType;
- this.headers += `content-type: ${contentType}\r
-`;
- }
- this.body = bodyStream.stream;
- this.contentLength = bodyStream.length;
- } else if (util.isBlobLike(body) && this.contentType == null && body.type) {
- this.contentType = body.type;
- this.headers += `content-type: ${body.type}\r
-`;
- }
- util.validateHandler(handler, method, upgrade);
- this.servername = util.getServerName(this.host);
- this[kHandler] = handler;
- if (channels.create.hasSubscribers) {
- channels.create.publish({ request: this });
- }
- }
- onBodySent(chunk) {
- if (this[kHandler].onBodySent) {
- try {
- return this[kHandler].onBodySent(chunk);
- } catch (err) {
- this.abort(err);
- }
- }
- }
- onRequestSent() {
- if (channels.bodySent.hasSubscribers) {
- channels.bodySent.publish({ request: this });
- }
- if (this[kHandler].onRequestSent) {
- try {
- return this[kHandler].onRequestSent();
- } catch (err) {
- this.abort(err);
- }
- }
- }
- onConnect(abort) {
- assert3(!this.aborted);
- assert3(!this.completed);
- if (this.error) {
- abort(this.error);
- } else {
- this.abort = abort;
- return this[kHandler].onConnect(abort);
- }
- }
- onResponseStarted() {
- return this[kHandler].onResponseStarted?.();
- }
- onHeaders(statusCode, headers, resume, statusText) {
- assert3(!this.aborted);
- assert3(!this.completed);
- if (channels.headers.hasSubscribers) {
- channels.headers.publish({ request: this, response: { statusCode, headers, statusText } });
- }
- try {
- return this[kHandler].onHeaders(statusCode, headers, resume, statusText);
- } catch (err) {
- this.abort(err);
- }
- }
- onData(chunk) {
- assert3(!this.aborted);
- assert3(!this.completed);
- try {
- return this[kHandler].onData(chunk);
- } catch (err) {
- this.abort(err);
- return false;
- }
- }
- onUpgrade(statusCode, headers, socket) {
- assert3(!this.aborted);
- assert3(!this.completed);
- return this[kHandler].onUpgrade(statusCode, headers, socket);
- }
- onComplete(trailers) {
- this.onFinally();
- assert3(!this.aborted);
- this.completed = true;
- if (channels.trailers.hasSubscribers) {
- channels.trailers.publish({ request: this, trailers });
- }
- try {
- return this[kHandler].onComplete(trailers);
- } catch (err) {
- this.onError(err);
- }
- }
- onError(error) {
- this.onFinally();
- if (channels.error.hasSubscribers) {
- channels.error.publish({ request: this, error });
- }
- if (this.aborted) {
- return;
- }
- this.aborted = true;
- return this[kHandler].onError(error);
- }
- onFinally() {
- if (this.errorHandler) {
- this.body.off("error", this.errorHandler);
- this.errorHandler = null;
- }
- if (this.endHandler) {
- this.body.off("end", this.endHandler);
- this.endHandler = null;
- }
- }
- // TODO: adjust to support H2
- addHeader(key, value) {
- processHeader(this, key, value);
- return this;
- }
- static [kHTTP1BuildRequest](origin, opts, handler) {
- return new _Request(origin, opts, handler);
- }
- static [kHTTP2BuildRequest](origin, opts, handler) {
- const headers = opts.headers;
- opts = { ...opts, headers: null };
- const request = new _Request(origin, opts, handler);
- request.headers = {};
- if (Array.isArray(headers)) {
- if (headers.length % 2 !== 0) {
- throw new InvalidArgumentError("headers array must be even");
- }
- for (let i = 0; i < headers.length; i += 2) {
- processHeader(request, headers[i], headers[i + 1], true);
- }
- } else if (headers && typeof headers === "object") {
- const keys = Object.keys(headers);
- for (let i = 0; i < keys.length; i++) {
- const key = keys[i];
- processHeader(request, key, headers[key], true);
- }
- } else if (headers != null) {
- throw new InvalidArgumentError("headers must be an object or an array");
- }
- return request;
- }
- static [kHTTP2CopyHeaders](raw) {
- const rawHeaders = raw.split("\r\n");
- const headers = {};
- for (const header of rawHeaders) {
- const [key, value] = header.split(": ");
- if (value == null || value.length === 0)
- continue;
- if (headers[key]) {
- headers[key] += `,${value}`;
- } else {
- headers[key] = value;
- }
- }
- return headers;
- }
- };
- function processHeaderValue(key, val, skipAppend) {
- if (val && typeof val === "object") {
- throw new InvalidArgumentError(`invalid ${key} header`);
- }
- val = val != null ? `${val}` : "";
- if (headerCharRegex.exec(val) !== null) {
- throw new InvalidArgumentError(`invalid ${key} header`);
- }
- return skipAppend ? val : `${key}: ${val}\r
-`;
- }
- function processHeader(request, key, val, skipAppend = false) {
- if (val && (typeof val === "object" && !Array.isArray(val))) {
- throw new InvalidArgumentError(`invalid ${key} header`);
- } else if (val === void 0) {
- return;
- }
- let headerName = headerNameLowerCasedRecord[key];
- if (headerName === void 0) {
- headerName = key.toLowerCase();
- if (headerNameLowerCasedRecord[headerName] === void 0 && !util.isValidHTTPToken(headerName)) {
- throw new InvalidArgumentError("invalid header key");
- }
- }
- if (request.host === null && headerName === "host") {
- if (headerCharRegex.exec(val) !== null) {
- throw new InvalidArgumentError(`invalid ${key} header`);
- }
- request.host = val;
- } else if (request.contentLength === null && headerName === "content-length") {
- request.contentLength = parseInt(val, 10);
- if (!Number.isFinite(request.contentLength)) {
- throw new InvalidArgumentError("invalid content-length header");
- }
- } else if (request.contentType === null && headerName === "content-type") {
- request.contentType = val;
- if (skipAppend)
- request.headers[key] = processHeaderValue(key, val, skipAppend);
- else
- request.headers += processHeaderValue(key, val);
- } else if (headerName === "transfer-encoding" || headerName === "keep-alive" || headerName === "upgrade") {
- throw new InvalidArgumentError(`invalid ${headerName} header`);
- } else if (headerName === "connection") {
- const value = typeof val === "string" ? val.toLowerCase() : null;
- if (value !== "close" && value !== "keep-alive") {
- throw new InvalidArgumentError("invalid connection header");
- } else if (value === "close") {
- request.reset = true;
- }
- } else if (headerName === "expect") {
- throw new NotSupportedError("expect header not supported");
- } else if (Array.isArray(val)) {
- for (let i = 0; i < val.length; i++) {
- if (skipAppend) {
- if (request.headers[key]) {
- request.headers[key] += `,${processHeaderValue(key, val[i], skipAppend)}`;
- } else {
- request.headers[key] = processHeaderValue(key, val[i], skipAppend);
- }
- } else {
- request.headers += processHeaderValue(key, val[i]);
- }
- }
- } else if (skipAppend) {
- request.headers[key] = processHeaderValue(key, val, skipAppend);
- } else {
- request.headers += processHeaderValue(key, val);
- }
- }
- module2.exports = Request;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/connect.js
-var require_connect = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/core/connect.js"(exports, module2) {
- "use strict";
- var net = require("node:net");
- var assert3 = require("node:assert");
- var util = require_util();
- var { InvalidArgumentError, ConnectTimeoutError } = require_errors();
- var tls;
- var SessionCache;
- if (global.FinalizationRegistry && !(process.env.NODE_V8_COVERAGE || process.env.UNDICI_NO_FG)) {
- SessionCache = class WeakSessionCache {
- constructor(maxCachedSessions) {
- this._maxCachedSessions = maxCachedSessions;
- this._sessionCache = /* @__PURE__ */ new Map();
- this._sessionRegistry = new global.FinalizationRegistry((key) => {
- if (this._sessionCache.size < this._maxCachedSessions) {
- return;
- }
- const ref = this._sessionCache.get(key);
- if (ref !== void 0 && ref.deref() === void 0) {
- this._sessionCache.delete(key);
- }
- });
- }
- get(sessionKey) {
- const ref = this._sessionCache.get(sessionKey);
- return ref ? ref.deref() : null;
- }
- set(sessionKey, session) {
- if (this._maxCachedSessions === 0) {
- return;
- }
- this._sessionCache.set(sessionKey, new WeakRef(session));
- this._sessionRegistry.register(session, sessionKey);
- }
- };
- } else {
- SessionCache = class SimpleSessionCache {
- constructor(maxCachedSessions) {
- this._maxCachedSessions = maxCachedSessions;
- this._sessionCache = /* @__PURE__ */ new Map();
- }
- get(sessionKey) {
- return this._sessionCache.get(sessionKey);
- }
- set(sessionKey, session) {
- if (this._maxCachedSessions === 0) {
- return;
- }
- if (this._sessionCache.size >= this._maxCachedSessions) {
- const { value: oldestKey } = this._sessionCache.keys().next();
- this._sessionCache.delete(oldestKey);
- }
- this._sessionCache.set(sessionKey, session);
- }
- };
- }
- function buildConnector({ allowH2, maxCachedSessions, socketPath, timeout, ...opts }) {
- if (maxCachedSessions != null && (!Number.isInteger(maxCachedSessions) || maxCachedSessions < 0)) {
- throw new InvalidArgumentError("maxCachedSessions must be a positive integer or zero");
- }
- const options = { path: socketPath, ...opts };
- const sessionCache = new SessionCache(maxCachedSessions == null ? 100 : maxCachedSessions);
- timeout = timeout == null ? 1e4 : timeout;
- allowH2 = allowH2 != null ? allowH2 : false;
- return function connect({ hostname, host, protocol, port, servername, localAddress, httpSocket }, callback) {
- let socket;
- if (protocol === "https:") {
- if (!tls) {
- tls = require("node:tls");
- }
- servername = servername || options.servername || util.getServerName(host) || null;
- const sessionKey = servername || hostname;
- const session = sessionCache.get(sessionKey) || null;
- assert3(sessionKey);
- socket = tls.connect({
- highWaterMark: 16384,
- // TLS in node can't have bigger HWM anyway...
- ...options,
- servername,
- session,
- localAddress,
- // TODO(HTTP/2): Add support for h2c
- ALPNProtocols: allowH2 ? ["http/1.1", "h2"] : ["http/1.1"],
- socket: httpSocket,
- // upgrade socket connection
- port: port || 443,
- host: hostname
- });
- socket.on("session", function(session2) {
- sessionCache.set(sessionKey, session2);
- });
- } else {
- assert3(!httpSocket, "httpSocket can only be sent on TLS update");
- socket = net.connect({
- highWaterMark: 64 * 1024,
- // Same as nodejs fs streams.
- ...options,
- localAddress,
- port: port || 80,
- host: hostname
- });
- }
- if (options.keepAlive == null || options.keepAlive) {
- const keepAliveInitialDelay = options.keepAliveInitialDelay === void 0 ? 6e4 : options.keepAliveInitialDelay;
- socket.setKeepAlive(true, keepAliveInitialDelay);
- }
- const cancelTimeout = setupTimeout(() => onConnectTimeout(socket), timeout);
- socket.setNoDelay(true).once(protocol === "https:" ? "secureConnect" : "connect", function() {
- cancelTimeout();
- if (callback) {
- const cb = callback;
- callback = null;
- cb(null, this);
- }
- }).on("error", function(err) {
- cancelTimeout();
- if (callback) {
- const cb = callback;
- callback = null;
- cb(err);
- }
- });
- return socket;
- };
- }
- function setupTimeout(onConnectTimeout2, timeout) {
- if (!timeout) {
- return () => {
- };
- }
- let s1 = null;
- let s2 = null;
- const timeoutId = setTimeout(() => {
- s1 = setImmediate(() => {
- if (process.platform === "win32") {
- s2 = setImmediate(() => onConnectTimeout2());
- } else {
- onConnectTimeout2();
- }
- });
- }, timeout);
- return () => {
- clearTimeout(timeoutId);
- clearImmediate(s1);
- clearImmediate(s2);
- };
- }
- function onConnectTimeout(socket) {
- let message = "Connect Timeout Error";
- if (Array.isArray(socket.autoSelectFamilyAttemptedAddresses)) {
- message = +` (attempted addresses: ${socket.autoSelectFamilyAttemptedAddresses.join(", ")})`;
- }
- util.destroy(socket, new ConnectTimeoutError(message));
- }
- module2.exports = buildConnector;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/llhttp/utils.js
-var require_utils = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/llhttp/utils.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.enumToMap = void 0;
- function enumToMap(obj) {
- const res = {};
- Object.keys(obj).forEach((key) => {
- const value = obj[key];
- if (typeof value === "number") {
- res[key] = value;
- }
- });
- return res;
- }
- exports.enumToMap = enumToMap;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/llhttp/constants.js
-var require_constants4 = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/llhttp/constants.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.SPECIAL_HEADERS = exports.HEADER_STATE = exports.MINOR = exports.MAJOR = exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS = exports.TOKEN = exports.STRICT_TOKEN = exports.HEX = exports.URL_CHAR = exports.STRICT_URL_CHAR = exports.USERINFO_CHARS = exports.MARK = exports.ALPHANUM = exports.NUM = exports.HEX_MAP = exports.NUM_MAP = exports.ALPHA = exports.FINISH = exports.H_METHOD_MAP = exports.METHOD_MAP = exports.METHODS_RTSP = exports.METHODS_ICE = exports.METHODS_HTTP = exports.METHODS = exports.LENIENT_FLAGS = exports.FLAGS = exports.TYPE = exports.ERROR = void 0;
- var utils_1 = require_utils();
- var ERROR;
- (function(ERROR2) {
- ERROR2[ERROR2["OK"] = 0] = "OK";
- ERROR2[ERROR2["INTERNAL"] = 1] = "INTERNAL";
- ERROR2[ERROR2["STRICT"] = 2] = "STRICT";
- ERROR2[ERROR2["LF_EXPECTED"] = 3] = "LF_EXPECTED";
- ERROR2[ERROR2["UNEXPECTED_CONTENT_LENGTH"] = 4] = "UNEXPECTED_CONTENT_LENGTH";
- ERROR2[ERROR2["CLOSED_CONNECTION"] = 5] = "CLOSED_CONNECTION";
- ERROR2[ERROR2["INVALID_METHOD"] = 6] = "INVALID_METHOD";
- ERROR2[ERROR2["INVALID_URL"] = 7] = "INVALID_URL";
- ERROR2[ERROR2["INVALID_CONSTANT"] = 8] = "INVALID_CONSTANT";
- ERROR2[ERROR2["INVALID_VERSION"] = 9] = "INVALID_VERSION";
- ERROR2[ERROR2["INVALID_HEADER_TOKEN"] = 10] = "INVALID_HEADER_TOKEN";
- ERROR2[ERROR2["INVALID_CONTENT_LENGTH"] = 11] = "INVALID_CONTENT_LENGTH";
- ERROR2[ERROR2["INVALID_CHUNK_SIZE"] = 12] = "INVALID_CHUNK_SIZE";
- ERROR2[ERROR2["INVALID_STATUS"] = 13] = "INVALID_STATUS";
- ERROR2[ERROR2["INVALID_EOF_STATE"] = 14] = "INVALID_EOF_STATE";
- ERROR2[ERROR2["INVALID_TRANSFER_ENCODING"] = 15] = "INVALID_TRANSFER_ENCODING";
- ERROR2[ERROR2["CB_MESSAGE_BEGIN"] = 16] = "CB_MESSAGE_BEGIN";
- ERROR2[ERROR2["CB_HEADERS_COMPLETE"] = 17] = "CB_HEADERS_COMPLETE";
- ERROR2[ERROR2["CB_MESSAGE_COMPLETE"] = 18] = "CB_MESSAGE_COMPLETE";
- ERROR2[ERROR2["CB_CHUNK_HEADER"] = 19] = "CB_CHUNK_HEADER";
- ERROR2[ERROR2["CB_CHUNK_COMPLETE"] = 20] = "CB_CHUNK_COMPLETE";
- ERROR2[ERROR2["PAUSED"] = 21] = "PAUSED";
- ERROR2[ERROR2["PAUSED_UPGRADE"] = 22] = "PAUSED_UPGRADE";
- ERROR2[ERROR2["PAUSED_H2_UPGRADE"] = 23] = "PAUSED_H2_UPGRADE";
- ERROR2[ERROR2["USER"] = 24] = "USER";
- })(ERROR = exports.ERROR || (exports.ERROR = {}));
- var TYPE;
- (function(TYPE2) {
- TYPE2[TYPE2["BOTH"] = 0] = "BOTH";
- TYPE2[TYPE2["REQUEST"] = 1] = "REQUEST";
- TYPE2[TYPE2["RESPONSE"] = 2] = "RESPONSE";
- })(TYPE = exports.TYPE || (exports.TYPE = {}));
- var FLAGS;
- (function(FLAGS2) {
- FLAGS2[FLAGS2["CONNECTION_KEEP_ALIVE"] = 1] = "CONNECTION_KEEP_ALIVE";
- FLAGS2[FLAGS2["CONNECTION_CLOSE"] = 2] = "CONNECTION_CLOSE";
- FLAGS2[FLAGS2["CONNECTION_UPGRADE"] = 4] = "CONNECTION_UPGRADE";
- FLAGS2[FLAGS2["CHUNKED"] = 8] = "CHUNKED";
- FLAGS2[FLAGS2["UPGRADE"] = 16] = "UPGRADE";
- FLAGS2[FLAGS2["CONTENT_LENGTH"] = 32] = "CONTENT_LENGTH";
- FLAGS2[FLAGS2["SKIPBODY"] = 64] = "SKIPBODY";
- FLAGS2[FLAGS2["TRAILING"] = 128] = "TRAILING";
- FLAGS2[FLAGS2["TRANSFER_ENCODING"] = 512] = "TRANSFER_ENCODING";
- })(FLAGS = exports.FLAGS || (exports.FLAGS = {}));
- var LENIENT_FLAGS;
- (function(LENIENT_FLAGS2) {
- LENIENT_FLAGS2[LENIENT_FLAGS2["HEADERS"] = 1] = "HEADERS";
- LENIENT_FLAGS2[LENIENT_FLAGS2["CHUNKED_LENGTH"] = 2] = "CHUNKED_LENGTH";
- LENIENT_FLAGS2[LENIENT_FLAGS2["KEEP_ALIVE"] = 4] = "KEEP_ALIVE";
- })(LENIENT_FLAGS = exports.LENIENT_FLAGS || (exports.LENIENT_FLAGS = {}));
- var METHODS;
- (function(METHODS2) {
- METHODS2[METHODS2["DELETE"] = 0] = "DELETE";
- METHODS2[METHODS2["GET"] = 1] = "GET";
- METHODS2[METHODS2["HEAD"] = 2] = "HEAD";
- METHODS2[METHODS2["POST"] = 3] = "POST";
- METHODS2[METHODS2["PUT"] = 4] = "PUT";
- METHODS2[METHODS2["CONNECT"] = 5] = "CONNECT";
- METHODS2[METHODS2["OPTIONS"] = 6] = "OPTIONS";
- METHODS2[METHODS2["TRACE"] = 7] = "TRACE";
- METHODS2[METHODS2["COPY"] = 8] = "COPY";
- METHODS2[METHODS2["LOCK"] = 9] = "LOCK";
- METHODS2[METHODS2["MKCOL"] = 10] = "MKCOL";
- METHODS2[METHODS2["MOVE"] = 11] = "MOVE";
- METHODS2[METHODS2["PROPFIND"] = 12] = "PROPFIND";
- METHODS2[METHODS2["PROPPATCH"] = 13] = "PROPPATCH";
- METHODS2[METHODS2["SEARCH"] = 14] = "SEARCH";
- METHODS2[METHODS2["UNLOCK"] = 15] = "UNLOCK";
- METHODS2[METHODS2["BIND"] = 16] = "BIND";
- METHODS2[METHODS2["REBIND"] = 17] = "REBIND";
- METHODS2[METHODS2["UNBIND"] = 18] = "UNBIND";
- METHODS2[METHODS2["ACL"] = 19] = "ACL";
- METHODS2[METHODS2["REPORT"] = 20] = "REPORT";
- METHODS2[METHODS2["MKACTIVITY"] = 21] = "MKACTIVITY";
- METHODS2[METHODS2["CHECKOUT"] = 22] = "CHECKOUT";
- METHODS2[METHODS2["MERGE"] = 23] = "MERGE";
- METHODS2[METHODS2["M-SEARCH"] = 24] = "M-SEARCH";
- METHODS2[METHODS2["NOTIFY"] = 25] = "NOTIFY";
- METHODS2[METHODS2["SUBSCRIBE"] = 26] = "SUBSCRIBE";
- METHODS2[METHODS2["UNSUBSCRIBE"] = 27] = "UNSUBSCRIBE";
- METHODS2[METHODS2["PATCH"] = 28] = "PATCH";
- METHODS2[METHODS2["PURGE"] = 29] = "PURGE";
- METHODS2[METHODS2["MKCALENDAR"] = 30] = "MKCALENDAR";
- METHODS2[METHODS2["LINK"] = 31] = "LINK";
- METHODS2[METHODS2["UNLINK"] = 32] = "UNLINK";
- METHODS2[METHODS2["SOURCE"] = 33] = "SOURCE";
- METHODS2[METHODS2["PRI"] = 34] = "PRI";
- METHODS2[METHODS2["DESCRIBE"] = 35] = "DESCRIBE";
- METHODS2[METHODS2["ANNOUNCE"] = 36] = "ANNOUNCE";
- METHODS2[METHODS2["SETUP"] = 37] = "SETUP";
- METHODS2[METHODS2["PLAY"] = 38] = "PLAY";
- METHODS2[METHODS2["PAUSE"] = 39] = "PAUSE";
- METHODS2[METHODS2["TEARDOWN"] = 40] = "TEARDOWN";
- METHODS2[METHODS2["GET_PARAMETER"] = 41] = "GET_PARAMETER";
- METHODS2[METHODS2["SET_PARAMETER"] = 42] = "SET_PARAMETER";
- METHODS2[METHODS2["REDIRECT"] = 43] = "REDIRECT";
- METHODS2[METHODS2["RECORD"] = 44] = "RECORD";
- METHODS2[METHODS2["FLUSH"] = 45] = "FLUSH";
- })(METHODS = exports.METHODS || (exports.METHODS = {}));
- exports.METHODS_HTTP = [
- METHODS.DELETE,
- METHODS.GET,
- METHODS.HEAD,
- METHODS.POST,
- METHODS.PUT,
- METHODS.CONNECT,
- METHODS.OPTIONS,
- METHODS.TRACE,
- METHODS.COPY,
- METHODS.LOCK,
- METHODS.MKCOL,
- METHODS.MOVE,
- METHODS.PROPFIND,
- METHODS.PROPPATCH,
- METHODS.SEARCH,
- METHODS.UNLOCK,
- METHODS.BIND,
- METHODS.REBIND,
- METHODS.UNBIND,
- METHODS.ACL,
- METHODS.REPORT,
- METHODS.MKACTIVITY,
- METHODS.CHECKOUT,
- METHODS.MERGE,
- METHODS["M-SEARCH"],
- METHODS.NOTIFY,
- METHODS.SUBSCRIBE,
- METHODS.UNSUBSCRIBE,
- METHODS.PATCH,
- METHODS.PURGE,
- METHODS.MKCALENDAR,
- METHODS.LINK,
- METHODS.UNLINK,
- METHODS.PRI,
- // TODO(indutny): should we allow it with HTTP?
- METHODS.SOURCE
- ];
- exports.METHODS_ICE = [
- METHODS.SOURCE
- ];
- exports.METHODS_RTSP = [
- METHODS.OPTIONS,
- METHODS.DESCRIBE,
- METHODS.ANNOUNCE,
- METHODS.SETUP,
- METHODS.PLAY,
- METHODS.PAUSE,
- METHODS.TEARDOWN,
- METHODS.GET_PARAMETER,
- METHODS.SET_PARAMETER,
- METHODS.REDIRECT,
- METHODS.RECORD,
- METHODS.FLUSH,
- // For AirPlay
- METHODS.GET,
- METHODS.POST
- ];
- exports.METHOD_MAP = utils_1.enumToMap(METHODS);
- exports.H_METHOD_MAP = {};
- Object.keys(exports.METHOD_MAP).forEach((key) => {
- if (/^H/.test(key)) {
- exports.H_METHOD_MAP[key] = exports.METHOD_MAP[key];
- }
- });
- var FINISH;
- (function(FINISH2) {
- FINISH2[FINISH2["SAFE"] = 0] = "SAFE";
- FINISH2[FINISH2["SAFE_WITH_CB"] = 1] = "SAFE_WITH_CB";
- FINISH2[FINISH2["UNSAFE"] = 2] = "UNSAFE";
- })(FINISH = exports.FINISH || (exports.FINISH = {}));
- exports.ALPHA = [];
- for (let i = "A".charCodeAt(0); i <= "Z".charCodeAt(0); i++) {
- exports.ALPHA.push(String.fromCharCode(i));
- exports.ALPHA.push(String.fromCharCode(i + 32));
- }
- exports.NUM_MAP = {
- 0: 0,
- 1: 1,
- 2: 2,
- 3: 3,
- 4: 4,
- 5: 5,
- 6: 6,
- 7: 7,
- 8: 8,
- 9: 9
- };
- exports.HEX_MAP = {
- 0: 0,
- 1: 1,
- 2: 2,
- 3: 3,
- 4: 4,
- 5: 5,
- 6: 6,
- 7: 7,
- 8: 8,
- 9: 9,
- A: 10,
- B: 11,
- C: 12,
- D: 13,
- E: 14,
- F: 15,
- a: 10,
- b: 11,
- c: 12,
- d: 13,
- e: 14,
- f: 15
- };
- exports.NUM = [
- "0",
- "1",
- "2",
- "3",
- "4",
- "5",
- "6",
- "7",
- "8",
- "9"
- ];
- exports.ALPHANUM = exports.ALPHA.concat(exports.NUM);
- exports.MARK = ["-", "_", ".", "!", "~", "*", "'", "(", ")"];
- exports.USERINFO_CHARS = exports.ALPHANUM.concat(exports.MARK).concat(["%", ";", ":", "&", "=", "+", "$", ","]);
- exports.STRICT_URL_CHAR = [
- "!",
- '"',
- "$",
- "%",
- "&",
- "'",
- "(",
- ")",
- "*",
- "+",
- ",",
- "-",
- ".",
- "/",
- ":",
- ";",
- "<",
- "=",
- ">",
- "@",
- "[",
- "\\",
- "]",
- "^",
- "_",
- "`",
- "{",
- "|",
- "}",
- "~"
- ].concat(exports.ALPHANUM);
- exports.URL_CHAR = exports.STRICT_URL_CHAR.concat([" ", "\f"]);
- for (let i = 128; i <= 255; i++) {
- exports.URL_CHAR.push(i);
- }
- exports.HEX = exports.NUM.concat(["a", "b", "c", "d", "e", "f", "A", "B", "C", "D", "E", "F"]);
- exports.STRICT_TOKEN = [
- "!",
- "#",
- "$",
- "%",
- "&",
- "'",
- "*",
- "+",
- "-",
- ".",
- "^",
- "_",
- "`",
- "|",
- "~"
- ].concat(exports.ALPHANUM);
- exports.TOKEN = exports.STRICT_TOKEN.concat([" "]);
- exports.HEADER_CHARS = [" "];
- for (let i = 32; i <= 255; i++) {
- if (i !== 127) {
- exports.HEADER_CHARS.push(i);
- }
- }
- exports.CONNECTION_TOKEN_CHARS = exports.HEADER_CHARS.filter((c) => c !== 44);
- exports.MAJOR = exports.NUM_MAP;
- exports.MINOR = exports.MAJOR;
- var HEADER_STATE;
- (function(HEADER_STATE2) {
- HEADER_STATE2[HEADER_STATE2["GENERAL"] = 0] = "GENERAL";
- HEADER_STATE2[HEADER_STATE2["CONNECTION"] = 1] = "CONNECTION";
- HEADER_STATE2[HEADER_STATE2["CONTENT_LENGTH"] = 2] = "CONTENT_LENGTH";
- HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING"] = 3] = "TRANSFER_ENCODING";
- HEADER_STATE2[HEADER_STATE2["UPGRADE"] = 4] = "UPGRADE";
- HEADER_STATE2[HEADER_STATE2["CONNECTION_KEEP_ALIVE"] = 5] = "CONNECTION_KEEP_ALIVE";
- HEADER_STATE2[HEADER_STATE2["CONNECTION_CLOSE"] = 6] = "CONNECTION_CLOSE";
- HEADER_STATE2[HEADER_STATE2["CONNECTION_UPGRADE"] = 7] = "CONNECTION_UPGRADE";
- HEADER_STATE2[HEADER_STATE2["TRANSFER_ENCODING_CHUNKED"] = 8] = "TRANSFER_ENCODING_CHUNKED";
- })(HEADER_STATE = exports.HEADER_STATE || (exports.HEADER_STATE = {}));
- exports.SPECIAL_HEADERS = {
- "connection": HEADER_STATE.CONNECTION,
- "content-length": HEADER_STATE.CONTENT_LENGTH,
- "proxy-connection": HEADER_STATE.CONNECTION,
- "transfer-encoding": HEADER_STATE.TRANSFER_ENCODING,
- "upgrade": HEADER_STATE.UPGRADE
- };
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/handler/RedirectHandler.js
-var require_RedirectHandler = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/handler/RedirectHandler.js"(exports, module2) {
- "use strict";
- var util = require_util();
- var { kBodyUsed } = require_symbols();
- var assert3 = require("node:assert");
- var { InvalidArgumentError } = require_errors();
- var EE = require("node:events");
- var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
- var kBody = Symbol("body");
- var BodyAsyncIterable = class {
- constructor(body) {
- this[kBody] = body;
- this[kBodyUsed] = false;
- }
- async *[Symbol.asyncIterator]() {
- assert3(!this[kBodyUsed], "disturbed");
- this[kBodyUsed] = true;
- yield* this[kBody];
- }
- };
- var RedirectHandler = class {
- constructor(dispatch, maxRedirections, opts, handler) {
- if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
- throw new InvalidArgumentError("maxRedirections must be a positive number");
- }
- util.validateHandler(handler, opts.method, opts.upgrade);
- this.dispatch = dispatch;
- this.location = null;
- this.abort = null;
- this.opts = { ...opts, maxRedirections: 0 };
- this.maxRedirections = maxRedirections;
- this.handler = handler;
- this.history = [];
- this.redirectionLimitReached = false;
- if (util.isStream(this.opts.body)) {
- if (util.bodyLength(this.opts.body) === 0) {
- this.opts.body.on("data", function() {
- assert3(false);
- });
- }
- if (typeof this.opts.body.readableDidRead !== "boolean") {
- this.opts.body[kBodyUsed] = false;
- EE.prototype.on.call(this.opts.body, "data", function() {
- this[kBodyUsed] = true;
- });
- }
- } else if (this.opts.body && typeof this.opts.body.pipeTo === "function") {
- this.opts.body = new BodyAsyncIterable(this.opts.body);
- } else if (this.opts.body && typeof this.opts.body !== "string" && !ArrayBuffer.isView(this.opts.body) && util.isIterable(this.opts.body)) {
- this.opts.body = new BodyAsyncIterable(this.opts.body);
- }
- }
- onConnect(abort) {
- this.abort = abort;
- this.handler.onConnect(abort, { history: this.history });
- }
- onUpgrade(statusCode, headers, socket) {
- this.handler.onUpgrade(statusCode, headers, socket);
- }
- onError(error) {
- this.handler.onError(error);
- }
- onHeaders(statusCode, headers, resume, statusText) {
- this.location = this.history.length >= this.maxRedirections || util.isDisturbed(this.opts.body) ? null : parseLocation(statusCode, headers);
- if (this.opts.throwOnMaxRedirect && this.history.length >= this.maxRedirections) {
- if (this.request) {
- this.request.abort(new Error("max redirects"));
- }
- this.redirectionLimitReached = true;
- this.abort(new Error("max redirects"));
- return;
- }
- if (this.opts.origin) {
- this.history.push(new URL(this.opts.path, this.opts.origin));
- }
- if (!this.location) {
- return this.handler.onHeaders(statusCode, headers, resume, statusText);
- }
- const { origin, pathname, search } = util.parseURL(new URL(this.location, this.opts.origin && new URL(this.opts.path, this.opts.origin)));
- const path10 = search ? `${pathname}${search}` : pathname;
- this.opts.headers = cleanRequestHeaders(this.opts.headers, statusCode === 303, this.opts.origin !== origin);
- this.opts.path = path10;
- this.opts.origin = origin;
- this.opts.maxRedirections = 0;
- this.opts.query = null;
- if (statusCode === 303 && this.opts.method !== "HEAD") {
- this.opts.method = "GET";
- this.opts.body = null;
- }
- }
- onData(chunk) {
- if (this.location) {
- } else {
- return this.handler.onData(chunk);
- }
- }
- onComplete(trailers) {
- if (this.location) {
- this.location = null;
- this.abort = null;
- this.dispatch(this.opts, this);
- } else {
- this.handler.onComplete(trailers);
- }
- }
- onBodySent(chunk) {
- if (this.handler.onBodySent) {
- this.handler.onBodySent(chunk);
- }
- }
- };
- function parseLocation(statusCode, headers) {
- if (redirectableStatusCodes.indexOf(statusCode) === -1) {
- return null;
- }
- for (let i = 0; i < headers.length; i += 2) {
- if (headers[i].length === 8 && util.headerNameToString(headers[i]) === "location") {
- return headers[i + 1];
- }
- }
- }
- function shouldRemoveHeader(header, removeContent, unknownOrigin) {
- if (header.length === 4) {
- return util.headerNameToString(header) === "host";
- }
- if (removeContent && util.headerNameToString(header).startsWith("content-")) {
- return true;
- }
- if (unknownOrigin && (header.length === 13 || header.length === 6)) {
- const name = util.headerNameToString(header);
- return name === "authorization" || name === "cookie";
- }
- return false;
- }
- function cleanRequestHeaders(headers, removeContent, unknownOrigin) {
- const ret = [];
- if (Array.isArray(headers)) {
- for (let i = 0; i < headers.length; i += 2) {
- if (!shouldRemoveHeader(headers[i], removeContent, unknownOrigin)) {
- ret.push(headers[i], headers[i + 1]);
- }
- }
- } else if (headers && typeof headers === "object") {
- for (const key of Object.keys(headers)) {
- if (!shouldRemoveHeader(key, removeContent, unknownOrigin)) {
- ret.push(key, headers[key]);
- }
- }
- } else {
- assert3(headers == null, "headers must be an object or an array");
- }
- return ret;
- }
- module2.exports = RedirectHandler;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/interceptor/redirectInterceptor.js
-var require_redirectInterceptor = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/interceptor/redirectInterceptor.js"(exports, module2) {
- "use strict";
- var RedirectHandler = require_RedirectHandler();
- function createRedirectInterceptor({ maxRedirections: defaultMaxRedirections }) {
- return (dispatch) => {
- return function Intercept(opts, handler) {
- const { maxRedirections = defaultMaxRedirections } = opts;
- if (!maxRedirections) {
- return dispatch(opts, handler);
- }
- const redirectHandler = new RedirectHandler(dispatch, maxRedirections, opts, handler);
- opts = { ...opts, maxRedirections: 0 };
- return dispatch(opts, redirectHandler);
- };
- };
- }
- module2.exports = createRedirectInterceptor;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js
-var require_llhttp_wasm = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/llhttp/llhttp-wasm.js"(exports, module2) {
- var { Buffer: Buffer2 } = require("node:buffer");
- module2.exports = Buffer2.from("AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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ADcDACAAQShqQgA3AwAgAEEgakIANwMAIABBEGpCADcDACAAQQhqQgA3AwAgAEHdATYCHEEAC3sBAX8CQCAAKAIMIgMNAAJAIAAoAgRFDQAgACABNgIECwJAIAAgASACEMSAgIAAIgMNACAAKAIMDwsgACADNgIcQQAhAyAAKAIEIgFFDQAgACABIAIgACgCCBGBgICAAAAiAUUNACAAIAI2AhQgACABNgIMIAEhAwsgAwvk8wEDDn8DfgR/I4CAgIAAQRBrIgMkgICAgAAgASEEIAEhBSABIQYgASEHIAEhCCABIQkgASEKIAEhCyABIQwgASENIAEhDiABIQ8CQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgACgCHCIQQX9qDt0B2gEB2QECAwQFBgcICQoLDA0O2AEPENcBERLWARMUFRYXGBkaG+AB3wEcHR7VAR8gISIjJCXUASYnKCkqKyzTAdIBLS7RAdABLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVG2wFHSElKzwHOAUvNAUzMAU1OT1BRUlNUVVZXWFlaW1xdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1+f4ABgQGCAYMBhAGFAYYBhwGIAYkB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkAC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FCAAIBA2AgxBACEQDLIBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxNCyAAQdMANgIcIAAgATYCFCAAIBA2AgxBACEQDLEBCyAAKAIEIRAgAEEANgIEAkAgACAQIAEQp4CAgAAiEA0AIAEhAQxRCyAAQeUANgIcIAAgATYCFCAAIBA2AgxBACEQDLABCyAAQQA2AhwgACABNgIUIABBxoqAgAA2AhAgAEEHNgIMQQAhEAyvAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHSADYCHCAAIAE2AhQgACAQNgIMQQAhEAyuAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMSQsgAEHTADYCHCAAIAE2AhQgACAQNgIMQQAhEAytAQsgACgCBCEQIABBADYCBAJAIAAgECABEKeAgIAAIhANACABIQEMTQsgAEHlADYCHCAAIAE2AhQgACAQNgIMQQAhEAysAQsgAEEANgIcIAAgATYCFCAAQdyIgIAANgIQIABBBzYCDEEAIRAMqwELIBBBP0cNASABQQFqIQELQQUhEAyQAQtBACEQIABBADYCHCAAIAE2AhQgAEH9koCAADYCECAAQQc2AgwMqAELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0gA2AhwgACABNgIUIAAgEDYCDEEAIRAMpwELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEILIABB0wA2AhwgACABNgIUIAAgEDYCDEEAIRAMpgELIAAoAgQhECAAQQA2AgQCQCAAIBAgARCngICAACIQDQAgASEBDEYLIABB5QA2AhwgACABNgIUIAAgEDYCDEEAIRAMpQELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0gA2AhwgACAUNgIUIAAgATYCDEEAIRAMpAELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDD8LIABB0wA2AhwgACAUNgIUIAAgATYCDEEAIRAMowELIAAoAgQhASAAQQA2AgQCQCAAIAEgFBCngICAACIBDQAgFCEBDEMLIABB5QA2AhwgACAU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YWdlX2JlZ2luYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlYCBjYWxsYmFjayBlcnJvcgBgb25fc3RhdHVzX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdmVyc2lvbl9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX3VybF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWVzc2FnZV9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX21ldGhvZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZWAgY2FsbGJhY2sgZXJyb3IAYG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lYCBjYWxsYmFjayBlcnJvcgBVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNlcnZlcgBJbnZhbGlkIGhlYWRlciB2YWx1ZSBjaGFyAEludmFsaWQgaGVhZGVyIGZpZWxkIGNoYXIAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl92ZXJzaW9uAEludmFsaWQgbWlub3IgdmVyc2lvbgBJbnZhbGlkIG1ham9yIHZlcnNpb24ARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgdmVyc2lvbgBFeHBlY3RlZCBDUkxGIGFmdGVyIHZlcnNpb24ASW52YWxpZCBIVFRQIHZlcnNpb24ASW52YWxpZCBoZWFkZXIgdG9rZW4AU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl91cmwASW52YWxpZCBjaGFyYWN0ZXJzIGluIHVybABVbmV4cGVjdGVkIHN0YXJ0IGNoYXIgaW4gdXJsAERvdWJsZSBAIGluIHVybABFbXB0eSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXJhY3RlciBpbiBDb250ZW50LUxlbmd0aABEdXBsaWNhdGUgQ29udGVudC1MZW5ndGgASW52YWxpZCBjaGFyIGluIHVybCBwYXRoAENvbnRlbnQtTGVuZ3RoIGNhbid0IGJlIHByZXNlbnQgd2l0aCBUcmFuc2Zlci1FbmNvZGluZwBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBzaXplAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX3ZhbHVlAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgdmFsdWUATWlzc2luZyBleHBlY3RlZCBMRiBhZnRlciBoZWFkZXIgdmFsdWUASW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIHF1b3RlIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGVkIHZhbHVlAFBhdXNlZCBieSBvbl9oZWFkZXJzX2NvbXBsZXRlAEludmFsaWQgRU9GIHN0YXRlAG9uX3Jlc2V0IHBhdXNlAG9uX2NodW5rX2hlYWRlciBwYXVzZQBvbl9tZXNzYWdlX2JlZ2luIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl92YWx1ZSBwYXVzZQBvbl9zdGF0dXNfY29tcGxldGUgcGF1c2UAb25fdmVyc2lvbl9jb21wbGV0ZSBwYXVzZQBvbl91cmxfY29tcGxldGUgcGF1c2UAb25fY2h1bmtfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX3ZhbHVlX2NvbXBsZXRlIHBhdXNlAG9uX21lc3NhZ2VfY29tcGxldGUgcGF1c2UAb25fbWV0aG9kX2NvbXBsZXRlIHBhdXNlAG9uX2hlYWRlcl9maWVsZF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19leHRlbnNpb25fbmFtZSBwYXVzZQBVbmV4cGVjdGVkIHNwYWNlIGFmdGVyIHN0YXJ0IGxpbmUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fbmFtZQBJbnZhbGlkIGNoYXJhY3RlciBpbiBjaHVuayBleHRlbnNpb25zIG5hbWUAUGF1c2Ugb24gQ09OTkVDVC9VcGdyYWRlAFBhdXNlIG9uIFBSSS9VcGdyYWRlAEV4cGVjdGVkIEhUVFAvMiBDb25uZWN0aW9uIFByZWZhY2UAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9tZXRob2QARXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgbWV0aG9kAFNwYW4gY2FsbGJhY2sgZXJyb3IgaW4gb25faGVhZGVyX2ZpZWxkAFBhdXNlZABJbnZhbGlkIHdvcmQgZW5jb3VudGVyZWQASW52YWxpZCBtZXRob2QgZW5jb3VudGVyZWQAVW5leHBlY3RlZCBjaGFyIGluIHVybCBzY2hlbWEAUmVxdWVzdCBoYXMgaW52YWxpZCBgVHJhbnNmZXItRW5jb2RpbmdgAFNXSVRDSF9QUk9YWQBVU0VfUFJPWFkATUtBQ1RJVklUWQBVTlBST0NFU1NBQkxFX0VOVElUWQBDT1BZAE1PVkVEX1BFUk1BTkVOVExZAFRPT19FQVJMWQBOT1RJRlkARkFJTEVEX0RFUEVOREVOQ1kAQkFEX0dBVEVXQVkAUExBWQBQVVQAQ0hFQ0tPVVQAR0FURVdBWV9USU1FT1VUAFJFUVVFU1RfVElNRU9VVABORVRXT1JLX0NPTk5FQ1RfVElNRU9VVABDT05ORUNUSU9OX1RJTUVPVVQATE9HSU5fVElNRU9VVABORVRXT1JLX1JFQURfVElNRU9VVABQT1NUAE1JU0RJUkVDVEVEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9SRVFVRVNUAENMSUVOVF9DTE9TRURfTE9BRF9CQUxBTkNFRF9SRVFVRVNUAEJBRF9SRVFVRVNUAEhUVFBfUkVRVUVTVF9TRU5UX1RPX0hUVFBTX1BPUlQAUkVQT1JUAElNX0FfVEVBUE9UAFJFU0VUX0NPTlRFTlQATk9fQ09OVEVOVABQQVJUSUFMX0NPTlRFTlQASFBFX0lOVkFMSURfQ09OU1RBTlQASFBFX0NCX1JFU0VUAEdFVABIUEVfU1RSSUNUAENPTkZMSUNUAFRFTVBPUkFSWV9SRURJUkVDVABQRVJNQU5FTlRfUkVESVJFQ1QAQ09OTkVDVABNVUxUSV9TVEFUVVMASFBFX0lOVkFMSURfU1RBVFVTAFRPT19NQU5ZX1JFUVVFU1RTAEVBUkxZX0hJTlRTAFVOQVZBSUxBQkxFX0ZPUl9MRUdBTF9SRUFTT05TAE9QVElPTlMAU1dJVENISU5HX1BST1RPQ09MUwBWQVJJQU5UX0FMU09fTkVHT1RJQVRFUwBNVUxUSVBMRV9DSE9JQ0VTAElOVEVSTkFMX1NFUlZFUl9FUlJPUgBXRUJfU0VSVkVSX1VOS05PV05fRVJST1IAUkFJTEdVTl9FUlJPUgBJREVOVElUWV9QUk9WSURFUl9BVVRIRU5USUNBVElPTl9FUlJPUgBTU0xfQ0VSVElGSUNBVEVfRVJST1IASU5WQUxJRF9YX0ZPUldBUkRFRF9GT1IAU0VUX1BBUkFNRVRFUgBHRVRfUEFSQU1FVEVSAEhQRV9VU0VSAFNFRV9PVEhFUgBIUEVfQ0JfQ0hVTktfSEVBREVSAE1LQ0FMRU5EQVIAU0VUVVAAV0VCX1NFUlZFUl9JU19ET1dOAFRFQVJET1dOAEhQRV9DTE9TRURfQ09OTkVDVElPTgBIRVVSSVNUSUNfRVhQSVJBVElPTgBESVNDT05ORUNURURfT1BFUkFUSU9OAE5PTl9BVVRIT1JJVEFUSVZFX0lORk9STUFUSU9OAEhQRV9JTlZBTElEX1ZFUlNJT04ASFBFX0NCX01FU1NBR0VfQkVHSU4AU0lURV9JU19GUk9aRU4ASFBFX0lOVkFMSURfSEVBREVSX1RPS0VOAElOVkFMSURfVE9LRU4ARk9SQklEREVOAEVOSEFOQ0VfWU9VUl9DQUxNAEhQRV9JTlZBTElEX1VSTABCTE9DS0VEX0JZX1BBUkVOVEFMX0NPTlRST0wATUtDT0wAQUNMAEhQRV9JTlRFUk5BTABSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFX1VOT0ZGSUNJQUwASFBFX09LAFVOTElOSwBVTkxPQ0sAUFJJAFJFVFJZX1dJVEgASFBFX0lOVkFMSURfQ09OVEVOVF9MRU5HVEgASFBFX1VORVhQRUNURURfQ09OVEVOVF9MRU5HVEgARkxVU0gAUFJPUFBBVENIAE0tU0VBUkNIAFVSSV9UT09fTE9ORwBQUk9DRVNTSU5HAE1JU0NFTExBTkVPVVNfUEVSU0lTVEVOVF9XQVJOSU5HAE1JU0NFTExBTkVPVVNfV0FSTklORwBIUEVfSU5WQUxJRF9UUkFOU0ZFUl9FTkNPRElORwBFeHBlY3RlZCBDUkxGAEhQRV9JTlZBTElEX0NIVU5LX1NJWkUATU9WRQBDT05USU5VRQBIUEVfQ0JfU1RBVFVTX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJTX0NPTVBMRVRFAEhQRV9DQl9WRVJTSU9OX0NPTVBMRVRFAEhQRV9DQl9VUkxfQ09NUExFVEUASFBFX0NCX0NIVU5LX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfVkFMVUVfQ09NUExFVEUASFBFX0NCX0NIVU5LX0VYVEVOU0lPTl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX05BTUVfQ09NUExFVEUASFBFX0NCX01FU1NBR0VfQ09NUExFVEUASFBFX0NCX01FVEhPRF9DT01QTEVURQBIUEVfQ0JfSEVBREVSX0ZJRUxEX0NPTVBMRVRFAERFTEVURQBIUEVfSU5WQUxJRF9FT0ZfU1RBVEUASU5WQUxJRF9TU0xfQ0VSVElGSUNBVEUAUEFVU0UATk9fUkVTUE9OU0UAVU5TVVBQT1JURURfTUVESUFfVFlQRQBHT05FAE5PVF9BQ0NFUFRBQkxFAFNFUlZJQ0VfVU5BVkFJTEFCTEUAUkFOR0VfTk9UX1NBVElTRklBQkxFAE9SSUdJTl9JU19VTlJFQUNIQUJMRQBSRVNQT05TRV9JU19TVEFMRQBQVVJHRQBNRVJHRQBSRVFVRVNUX0hFQURFUl9GSUVMRFNfVE9PX0xBUkdFAFJFUVVFU1RfSEVBREVSX1RPT19MQVJHRQBQQVlMT0FEX1RPT19MQVJHRQBJTlNVRkZJQ0lFTlRfU1RPUkFHRQBIUEVfUEFVU0VEX1VQR1JBREUASFBFX1BBVVNFRF9IMl9VUEdSQURFAFNPVVJDRQBBTk5PVU5DRQBUUkFDRQBIUEVfVU5FWFBFQ1RFRF9TUEFDRQBERVNDUklCRQBVTlNVQlNDUklCRQBSRUNPUkQASFBFX0lOVkFMSURfTUVUSE9EAE5PVF9GT1VORABQUk9QRklORABVTkJJTkQAUkVCSU5EAFVOQVVUSE9SSVpFRABNRVRIT0RfTk9UX0FMTE9XRUQASFRUUF9WRVJTSU9OX05PVF9TVVBQT1JURUQAQUxSRUFEWV9SRVBPUlRFRABBQ0NFUFRFRABOT1RfSU1QTEVNRU5URUQATE9PUF9ERVRFQ1RFRABIUEVfQ1JfRVhQRUNURUQASFBFX0xGX0VYUEVDVEVEAENSRUFURUQASU1fVVNFRABIUEVfUEFVU0VEAFRJTUVPVVRfT0NDVVJFRABQQVlNRU5UX1JFUVVJUkVEAFBSRUNPTkRJVElPTl9SRVFVSVJFRABQUk9YWV9BVVRIRU5USUNBVElPTl9SRVFVSVJFRABORVRXT1JLX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAExFTkdUSF9SRVFVSVJFRABTU0xfQ0VSVElGSUNBVEVfUkVRVUlSRUQAVVBHUkFERV9SRVFVSVJFRABQQUdFX0VYUElSRUQAUFJFQ09ORElUSU9OX0ZBSUxFRABFWFBFQ1RBVElPTl9GQUlMRUQAUkVWQUxJREFUSU9OX0ZBSUxFRABTU0xfSEFORFNIQUtFX0ZBSUxFRABMT0NLRUQAVFJBTlNGT1JNQVRJT05fQVBQTElFRABOT1RfTU9ESUZJRUQATk9UX0VYVEVOREVEAEJBTkRXSURUSF9MSU1JVF9FWENFRURFRABTSVRFX0lTX09WRVJMT0FERUQASEVBRABFeHBlY3RlZCBIVFRQLwAAXhMAACYTAAAwEAAA8BcAAJ0TAAAVEgAAORcAAPASAAAKEAAAdRIAAK0SAACCEwAATxQAAH8QAACgFQAAIxQAAIkSAACLFAAATRUAANQRAADPFAAAEBgAAMkWAADcFgAAwREAAOAXAAC7FAAAdBQAAHwVAADlFAAACBcAAB8QAABlFQAAoxQAACgVAAACFQAAmRUAACwQAACLGQAATw8AANQOAABqEAAAzhAAAAIXAACJDgAAbhMAABwTAABmFAAAVhcAAMETAADNEwAAbBMAAGgXAABmFwAAXxcAACITAADODwAAaQ4AANgOAABjFgAAyxMAAKoOAAAoFwAAJhcAAMUTAABdFgAA6BEAAGcTAABlEwAA8hYAAHMTAAAdFwAA+RYAAPMRAADPDgAAzhUAAAwSAACzEQAApREAAGEQAAAyFwAAuxMAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIDAgICAgIAAAICAAICAAICAgICAgICAgIABAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAACAAICAgICAAACAgACAgACAgICAgICAgICAAMABAAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAAgACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbG9zZWVlcC1hbGl2ZQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQIBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBY2h1bmtlZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEAAAEBAAEBAAEBAQEBAQEBAQEAAAAAAAAAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlY3Rpb25lbnQtbGVuZ3Rob25yb3h5LWNvbm5lY3Rpb24AAAAAAAAAAAAAAAAAAAByYW5zZmVyLWVuY29kaW5ncGdyYWRlDQoNCg0KU00NCg0KVFRQL0NFL1RTUC8AAAAAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQIAAQMAAAAAAAAAAAAAAAAAAAAAAAAEAQEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAAAAQAAAgAAAAAAAAAAAAAAAAAAAAAAAAMEAAAEBAQEBAQEBAQEBAUEBAQEBAQEBAQEBAQABAAGBwQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAABAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAIAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABOT1VOQ0VFQ0tPVVRORUNURVRFQ1JJQkVMVVNIRVRFQURTRUFSQ0hSR0VDVElWSVRZTEVOREFSVkVPVElGWVBUSU9OU0NIU0VBWVNUQVRDSEdFT1JESVJFQ1RPUlRSQ0hQQVJBTUVURVJVUkNFQlNDUklCRUFSRE9XTkFDRUlORE5LQ0tVQlNDUklCRUhUVFAvQURUUC8=", "base64");
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js
-var require_llhttp_simd_wasm = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/llhttp/llhttp_simd-wasm.js"(exports, module2) {
- var { Buffer: Buffer2 } = require("node:buffer");
- module2.exports = Buffer2.from("AGFzbQEAAAABMAhgAX8Bf2ADf39/AX9gBH9/f38Bf2AAAGADf39/AGABfwBgAn9/AGAGf39/f39/AALLAQgDZW52GHdhc21fb25faGVhZGVyc19jb21wbGV0ZQACA2VudhV3YXNtX29uX21lc3NhZ2VfYmVnaW4AAANlbnYLd2FzbV9vbl91cmwAAQNlbnYOd2FzbV9vbl9zdGF0dXMAAQNlbnYUd2FzbV9vbl9oZWFkZXJfZmllbGQAAQNlbnYUd2FzbV9vbl9oZWFkZXJfdmFsdWUAAQNlbnYMd2FzbV9vbl9ib2R5AAEDZW52GHdhc21fb25fbWVzc2FnZV9jb21wbGV0ZQAAA0ZFAwMEAAAFAAAAAAAABQEFAAUFBQAABgAAAAAGBgYGAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAABAQcAAAUFAwABBAUBcAESEgUDAQACBggBfwFBgNQECwfRBSIGbWVtb3J5AgALX2luaXRpYWxpemUACRlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQALbGxodHRwX2luaXQAChhsbGh0dHBfc2hvdWxkX2tlZXBfYWxpdmUAQQxsbGh0dHBfYWxsb2MADAZtYWxsb2MARgtsbGh0dHBfZnJlZQANBGZyZWUASA9sbGh0dHBfZ2V0X3R5cGUADhVsbGh0dHBfZ2V0X2h0dHBfbWFqb3IADxVsbGh0dHBfZ2V0X2h0dHBfbWlub3IAEBFsbGh0dHBfZ2V0X21ldGhvZAARFmxsaHR0cF9nZXRfc3RhdHVzX2NvZGUAEhJsbGh0dHBfZ2V0X3VwZ3JhZGUAEwxsbGh0dHBfcmVzZXQAFA5sbGh0dHBfZXhlY3V0ZQAVFGxsaHR0cF9zZXR0aW5nc19pbml0ABYNbGxodHRwX2ZpbmlzaAAXDGxsaHR0cF9wYXVzZQAYDWxsaHR0cF9yZXN1bWUAGRtsbGh0dHBfcmVzdW1lX2FmdGVyX3VwZ3JhZGUAGhBsbGh0dHBfZ2V0X2Vycm5vABsXbGxodHRwX2dldF9lcnJvcl9yZWFzb24AHBdsbGh0dHBfc2V0X2Vycm9yX3JlYXNvbgAdFGxsaHR0cF9nZXRfZXJyb3JfcG9zAB4RbGxodHRwX2Vycm5vX25hbWUAHxJsbGh0dHBfbWV0aG9kX25hbWUAIBJs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IAH9CwMAIABBMGogAf0LAwAgAEEgaiAB/QsDACAAQd0BNgIcQQALewEBfwJAIAAoAgwiAw0AAkAgACgCBEUNACAAIAE2AgQLAkAgACABIAIQxICAgAAiAw0AIAAoAgwPCyAAIAM2AhxBACEDIAAoAgQiAUUNACAAIAEgAiAAKAIIEYGAgIAAACIBRQ0AIAAgAjYCFCAAIAE2AgwgASEDCyADC+TzAQMOfwN+BH8jgICAgABBEGsiAySAgICAACABIQQgASEFIAEhBiABIQcgASEIIAEhCSABIQogASELIAEhDCABIQ0gASEOIAEhDwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAAKAIcIhBBf2oO3QHaAQHZAQIDBAUGBwgJCgsMDQ7YAQ8Q1wEREtYBExQVFhcYGRob4AHfARwdHtUBHyAhIiMkJdQBJicoKSorLNMB0gEtLtEB0AEvMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUbbAUdISUrPAc4BS80BTMwBTU5PUFFSU1RVVldYWVpbXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEB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QAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIBAOxwEAAQID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YWNrIGVycm9yAGBvbl9jaHVua19leHRlbnNpb25fdmFsdWVgIGNhbGxiYWNrIGVycm9yAGBvbl9zdGF0dXNfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl92ZXJzaW9uX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fdXJsX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGVgIGNhbGxiYWNrIGVycm9yAGBvbl9tZXNzYWdlX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fbWV0aG9kX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlYCBjYWxsYmFjayBlcnJvcgBgb25fY2h1bmtfZXh0ZW5zaW9uX25hbWVgIGNhbGxiYWNrIGVycm9yAFVuZXhwZWN0ZWQgY2hhciBpbiB1cmwgc2VydmVyAEludmFsaWQgaGVhZGVyIHZhbHVlIGNoYXIASW52YWxpZCBoZWFkZXIgZmllbGQgY2hhcgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3ZlcnNpb24ASW52YWxpZCBtaW5vciB2ZXJzaW9uAEludmFsaWQgbWFqb3IgdmVyc2lvbgBFeHBlY3RlZCBzcGFjZSBhZnRlciB2ZXJzaW9uAEV4cGVjdGVkIENSTEYgYWZ0ZXIgdmVyc2lvbgBJbnZhbGlkIEhUVFAgdmVyc2lvbgBJbnZhbGlkIGhlYWRlciB0b2tlbgBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX3VybABJbnZhbGlkIGNoYXJhY3RlcnMgaW4gdXJsAFVuZXhwZWN0ZWQgc3RhcnQgY2hhciBpbiB1cmwARG91YmxlIEAgaW4gdXJsAEVtcHR5IENvbnRlbnQtTGVuZ3RoAEludmFsaWQgY2hhcmFjdGVyIGluIENvbnRlbnQtTGVuZ3RoAER1cGxpY2F0ZSBDb250ZW50LUxlbmd0aABJbnZhbGlkIGNoYXIgaW4gdXJsIHBhdGgAQ29udGVudC1MZW5ndGggY2FuJ3QgYmUgcHJlc2VudCB3aXRoIFRyYW5zZmVyLUVuY29kaW5nAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIHNpemUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfdmFsdWUAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9jaHVua19leHRlbnNpb25fdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyB2YWx1ZQBNaXNzaW5nIGV4cGVjdGVkIExGIGFmdGVyIGhlYWRlciB2YWx1ZQBJbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AgaGVhZGVyIHZhbHVlAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgcXVvdGUgdmFsdWUASW52YWxpZCBjaGFyYWN0ZXIgaW4gY2h1bmsgZXh0ZW5zaW9ucyBxdW90ZWQgdmFsdWUAUGF1c2VkIGJ5IG9uX2hlYWRlcnNfY29tcGxldGUASW52YWxpZCBFT0Ygc3RhdGUAb25fcmVzZXQgcGF1c2UAb25fY2h1bmtfaGVhZGVyIHBhdXNlAG9uX21lc3NhZ2VfYmVnaW4gcGF1c2UAb25fY2h1bmtfZXh0ZW5zaW9uX3ZhbHVlIHBhdXNlAG9uX3N0YXR1c19jb21wbGV0ZSBwYXVzZQBvbl92ZXJzaW9uX2NvbXBsZXRlIHBhdXNlAG9uX3VybF9jb21wbGV0ZSBwYXVzZQBvbl9jaHVua19jb21wbGV0ZSBwYXVzZQBvbl9oZWFkZXJfdmFsdWVfY29tcGxldGUgcGF1c2UAb25fbWVzc2FnZV9jb21wbGV0ZSBwYXVzZQBvbl9tZXRob2RfY29tcGxldGUgcGF1c2UAb25faGVhZGVyX2ZpZWxkX2NvbXBsZXRlIHBhdXNlAG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lIHBhdXNlAFVuZXhwZWN0ZWQgc3BhY2UgYWZ0ZXIgc3RhcnQgbGluZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX2NodW5rX2V4dGVuc2lvbl9uYW1lAEludmFsaWQgY2hhcmFjdGVyIGluIGNodW5rIGV4dGVuc2lvbnMgbmFtZQBQYXVzZSBvbiBDT05ORUNUL1VwZ3JhZGUAUGF1c2Ugb24gUFJJL1VwZ3JhZGUARXhwZWN0ZWQgSFRUUC8yIENvbm5lY3Rpb24gUHJlZmFjZQBTcGFuIGNhbGxiYWNrIGVycm9yIGluIG9uX21ldGhvZABFeHBlY3RlZCBzcGFjZSBhZnRlciBtZXRob2QAU3BhbiBjYWxsYmFjayBlcnJvciBpbiBvbl9oZWFkZXJfZmllbGQAUGF1c2VkAEludmFsaWQgd29yZCBlbmNvdW50ZXJlZABJbnZhbGlkIG1ldGhvZCBlbmNvdW50ZXJlZABVbmV4cGVjdGVkIGNoYXIgaW4gdXJsIHNjaGVtYQBSZXF1ZXN0IGhhcyBpbnZhbGlkIGBUcmFuc2Zlci1FbmNvZGluZ2AAU1dJVENIX1BST1hZAFVTRV9QUk9YWQBNS0FDVElWSVRZAFVOUFJPQ0VTU0FCTEVfRU5USVRZAENPUFkATU9WRURfUEVSTUFORU5UTFkAVE9PX0VBUkxZAE5PVElGWQBGQUlMRURfREVQRU5ERU5DWQBCQURfR0FURVdBWQBQTEFZAFBVVABDSEVDS09VVABHQVRFV0FZX1RJTUVPVVQAUkVRVUVTVF9USU1FT1VUAE5FVFdPUktfQ09OTkVDVF9USU1FT1VUAENPTk5FQ1RJT05fVElNRU9VVABMT0dJTl9USU1FT1VUAE5FVFdPUktfUkVBRF9USU1FT1VUAFBPU1QATUlTRElSRUNURURfUkVRVUVTVABDTElFTlRfQ0xPU0VEX1JFUVVFU1QAQ0xJRU5UX0NMT1NFRF9MT0FEX0JBTEFOQ0VEX1JFUVVFU1QAQkFEX1JFUVVFU1QASFRUUF9SRVFVRVNUX1NFTlRfVE9fSFRUUFNfUE9SVABSRVBPUlQASU1fQV9URUFQT1QAUkVTRVRfQ09OVEVOVABOT19DT05URU5UAFBBUlRJQUxfQ09OVEVOVABIUEVfSU5WQUxJRF9DT05TVEFOVABIUEVfQ0JfUkVTRVQAR0VUAEhQRV9TVFJJQ1QAQ09ORkxJQ1QAVEVNUE9SQVJZX1JFRElSRUNUAFBFUk1BTkVOVF9SRURJUkVDVABDT05ORUNUAE1VTFRJX1NUQVRVUwBIUEVfSU5WQUxJRF9TVEFUVVMAVE9PX01BTllfUkVRVUVTVFMARUFSTFlfSElOVFMAVU5BVkFJTEFCTEVfRk9SX0xFR0FMX1JFQVNPTlMAT1BUSU9OUwBTV0lUQ0hJTkdfUFJPVE9DT0xTAFZBUklBTlRfQUxTT19ORUdPVElBVEVTAE1VTFRJUExFX0NIT0lDRVMASU5URVJOQUxfU0VSVkVSX0VSUk9SAFdFQl9TRVJWRVJfVU5LTk9XTl9FUlJPUgBSQUlMR1VOX0VSUk9SAElERU5USVRZX1BST1ZJREVSX0FVVEhFTlRJQ0FUSU9OX0VSUk9SAFNTTF9DRVJUSUZJQ0FURV9FUlJPUgBJTlZBTElEX1hfRk9SV0FSREVEX0ZPUgBTRVRfUEFSQU1FVEVSAEdFVF9QQVJBTUVURVIASFBFX1VTRVIAU0VFX09USEVSAEhQRV9DQl9DSFVOS19IRUFERVIATUtDQUxFTkRBUgBTRVRVUABXRUJfU0VSVkVSX0lTX0RPV04AVEVBUkRPV04ASFBFX0NMT1NFRF9DT05ORUNUSU9OAEhFVVJJU1RJQ19FWFBJUkFUSU9OAERJU0NPTk5FQ1RFRF9PUEVSQVRJT04ATk9OX0FVVEhPUklUQVRJVkVfSU5GT1JNQVRJT04ASFBFX0lOVkFMSURfVkVSU0lPTgBIUEVfQ0JfTUVTU0FHRV9CRUdJTgBTSVRFX0lTX0ZST1pFTgBIUEVfSU5WQUxJRF9IRUFERVJfVE9LRU4ASU5WQUxJRF9UT0tFTgBGT1JCSURERU4ARU5IQU5DRV9ZT1VSX0NBTE0ASFBFX0lOVkFMSURfVVJMAEJMT0NLRURfQllfUEFSRU5UQUxfQ09OVFJPTABNS0NPTABBQ0wASFBFX0lOVEVSTkFMAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0VfVU5PRkZJQ0lBTABIUEVfT0sAVU5MSU5LAFVOTE9DSwBQUkkAUkVUUllfV0lUSABIUEVfSU5WQUxJRF9DT05URU5UX0xFTkdUSABIUEVfVU5FWFBFQ1RFRF9DT05URU5UX0xFTkdUSABGTFVTSABQUk9QUEFUQ0gATS1TRUFSQ0gAVVJJX1RPT19MT05HAFBST0NFU1NJTkcATUlTQ0VMTEFORU9VU19QRVJTSVNURU5UX1dBUk5JTkcATUlTQ0VMTEFORU9VU19XQVJOSU5HAEhQRV9JTlZBTElEX1RSQU5TRkVSX0VOQ09ESU5HAEV4cGVjdGVkIENSTEYASFBFX0lOVkFMSURfQ0hVTktfU0laRQBNT1ZFAENPTlRJTlVFAEhQRV9DQl9TVEFUVVNfQ09NUExFVEUASFBFX0NCX0hFQURFUlNfQ09NUExFVEUASFBFX0NCX1ZFUlNJT05fQ09NUExFVEUASFBFX0NCX1VSTF9DT01QTEVURQBIUEVfQ0JfQ0hVTktfQ09NUExFVEUASFBFX0NCX0hFQURFUl9WQUxVRV9DT01QTEVURQBIUEVfQ0JfQ0hVTktfRVhURU5TSU9OX1ZBTFVFX0NPTVBMRVRFAEhQRV9DQl9DSFVOS19FWFRFTlNJT05fTkFNRV9DT01QTEVURQBIUEVfQ0JfTUVTU0FHRV9DT01QTEVURQBIUEVfQ0JfTUVUSE9EX0NPTVBMRVRFAEhQRV9DQl9IRUFERVJfRklFTERfQ09NUExFVEUAREVMRVRFAEhQRV9JTlZBTElEX0VPRl9TVEFURQBJTlZBTElEX1NTTF9DRVJUSUZJQ0FURQBQQVVTRQBOT19SRVNQT05TRQBVTlNVUFBPUlRFRF9NRURJQV9UWVBFAEdPTkUATk9UX0FDQ0VQVEFCTEUAU0VSVklDRV9VTkFWQUlMQUJMRQBSQU5HRV9OT1RfU0FUSVNGSUFCTEUAT1JJR0lOX0lTX1VOUkVBQ0hBQkxFAFJFU1BPTlNFX0lTX1NUQUxFAFBVUkdFAE1FUkdFAFJFUVVFU1RfSEVBREVSX0ZJRUxEU19UT09fTEFSR0UAUkVRVUVTVF9IRUFERVJfVE9PX0xBUkdFAFBBWUxPQURfVE9PX0xBUkdFAElOU1VGRklDSUVOVF9TVE9SQUdFAEhQRV9QQVVTRURfVVBHUkFERQBIUEVfUEFVU0VEX0gyX1VQR1JBREUAU09VUkNFAEFOTk9VTkNFAFRSQUNFAEhQRV9VTkVYUEVDVEVEX1NQQUNFAERFU0NSSUJFAFVOU1VCU0NSSUJFAFJFQ09SRABIUEVfSU5WQUxJRF9NRVRIT0QATk9UX0ZPVU5EAFBST1BGSU5EAFVOQklORABSRUJJTkQAVU5BVVRIT1JJWkVEAE1FVEhPRF9OT1RfQUxMT1dFRABIVFRQX1ZFUlNJT05fTk9UX1NVUFBPUlRFRABBTFJFQURZX1JFUE9SVEVEAEFDQ0VQVEVEAE5PVF9JTVBMRU1FTlRFRABMT09QX0RFVEVDVEVEAEhQRV9DUl9FWFBFQ1RFRABIUEVfTEZfRVhQRUNURUQAQ1JFQVRFRABJTV9VU0VEAEhQRV9QQVVTRUQAVElNRU9VVF9PQ0NVUkVEAFBBWU1FTlRfUkVRVUlSRUQAUFJFQ09ORElUSU9OX1JFUVVJUkVEAFBST1hZX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEAE5FVFdPUktfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQATEVOR1RIX1JFUVVJUkVEAFNTTF9DRVJUSUZJQ0FURV9SRVFVSVJFRABVUEdSQURFX1JFUVVJUkVEAFBBR0VfRVhQSVJFRABQUkVDT05ESVRJT05fRkFJTEVEAEVYUEVDVEFUSU9OX0ZBSUxFRABSRVZBTElEQVRJT05fRkFJTEVEAFNTTF9IQU5EU0hBS0VfRkFJTEVEAExPQ0tFRABUUkFOU0ZPUk1BVElPTl9BUFBMSUVEAE5PVF9NT0RJRklFRABOT1RfRVhURU5ERUQAQkFORFdJRFRIX0xJTUlUX0VYQ0VFREVEAFNJVEVfSVNfT1ZFUkxPQURFRABIRUFEAEV4cGVjdGVkIEhUVFAvAABeEwAAJhMAADAQAADwFwAAnRMAABUSAAA5FwAA8BIAAAoQAAB1EgAArRIAAIITAABPFAAAfxAAAKAVAAAjFAAAiRIAAIsUAABNFQAA1BEAAM8UAAAQGAAAyRYAANwWAADBEQAA4BcAALsUAAB0FAAAfBUAAOUUAAAIFwAAHxAAAGUVAACjFAAAKBUAAAIVAACZFQAALBAAAIsZAABPDwAA1A4AAGoQAADOEAAAAhcAAIkOAABuEwAAHBMAAGYUAABWFwAAwRMAAM0TAABsEwAAaBcAAGYXAABfFwAAIhMAAM4PAABpDgAA2A4AAGMWAADLEwAAqg4AACgXAAAmFwAAxRMAAF0WAADoEQAAZxMAAGUTAADyFgAAcxMAAB0XAAD5FgAA8xEAAM8OAADOFQAADBIAALMRAAClEQAAYRAAADIXAAC7EwAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAgMCAgICAgAAAgIAAgIAAgICAgICAgICAgAEAAAAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAICAgICAgICAgICAgICAgICAgICAgICAgICAgICAAIAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAIAAgICAgIAAAICAAICAAICAgICAgICAgIAAwAEAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgIAAAACAgICAgICAgICAgICAgICAgICAgICAgICAgICAgACAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsb3NlZWVwLWFsaXZlAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAQEBAQEBAQEBAgEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQFjaHVua2VkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQABAQEBAQAAAQEAAQEAAQEBAQEBAQEBAQAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGVjdGlvbmVudC1sZW5ndGhvbnJveHktY29ubmVjdGlvbgAAAAAAAAAAAAAAAAAAAHJhbnNmZXItZW5jb2RpbmdwZ3JhZGUNCg0KDQpTTQ0KDQpUVFAvQ0UvVFNQLwAAAAAAAAAAAAAAAAECAAEDAAAAAAAAAAAAAAAAAAAAAAAABAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAAAAAAAAAAABAgABAwAAAAAAAAAAAAAAAAAAAAAAAAQBAQUBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAQEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQAAAAAAAAAAAAABAAACAAAAAAAAAAAAAAAAAAAAAAAAAwQAAAQEBAQEBAQEBAQEBQQEBAQEBAQEBAQEBAAEAAYHBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAQAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAgAAAAACAAAAAAAAAAAAAAAAAAAAAAADAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwAAAAAAAAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE5PVU5DRUVDS09VVE5FQ1RFVEVDUklCRUxVU0hFVEVBRFNFQVJDSFJHRUNUSVZJVFlMRU5EQVJWRU9USUZZUFRJT05TQ0hTRUFZU1RBVENIR0VPUkRJUkVDVE9SVFJDSFBBUkFNRVRFUlVSQ0VCU0NSSUJFQVJET1dOQUNFSU5ETktDS1VCU0NSSUJFSFRUUC9BRFRQLw==", "base64");
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/client.js
-var require_client = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/client.js"(exports, module2) {
- "use strict";
- var assert3 = require("node:assert");
- var net = require("node:net");
- var http = require("node:http");
- var { pipeline } = require("node:stream");
- var util = require_util();
- var { channels } = require_diagnostics();
- var timers = require_timers();
- var Request = require_request();
- var DispatcherBase = require_dispatcher_base();
- var {
- RequestContentLengthMismatchError,
- ResponseContentLengthMismatchError,
- InvalidArgumentError,
- RequestAbortedError,
- HeadersTimeoutError,
- HeadersOverflowError,
- SocketError,
- InformationalError,
- BodyTimeoutError,
- HTTPParserError,
- ResponseExceededMaxSizeError,
- ClientDestroyedError
- } = require_errors();
- var buildConnector = require_connect();
- var {
- kUrl,
- kReset,
- kServerName,
- kClient,
- kBusy,
- kParser,
- kConnect,
- kBlocking,
- kResuming,
- kRunning,
- kPending,
- kSize,
- kWriting,
- kQueue,
- kConnected,
- kConnecting,
- kNeedDrain,
- kNoRef,
- kKeepAliveDefaultTimeout,
- kHostHeader,
- kPendingIdx,
- kRunningIdx,
- kError,
- kPipelining,
- kSocket,
- kKeepAliveTimeoutValue,
- kMaxHeadersSize,
- kKeepAliveMaxTimeout,
- kKeepAliveTimeoutThreshold,
- kHeadersTimeout,
- kBodyTimeout,
- kStrictContentLength,
- kConnector,
- kMaxRedirections,
- kMaxRequests,
- kCounter,
- kClose,
- kDestroy,
- kDispatch,
- kInterceptors,
- kLocalAddress,
- kMaxResponseSize,
- kHTTPConnVersion,
- // HTTP2
- kHost,
- kHTTP2Session,
- kHTTP2SessionState,
- kHTTP2BuildRequest,
- kHTTP2CopyHeaders,
- kHTTP1BuildRequest
- } = require_symbols();
- var http2;
- try {
- http2 = require("node:http2");
- } catch {
- http2 = { constants: {} };
- }
- var {
- constants: {
- HTTP2_HEADER_AUTHORITY,
- HTTP2_HEADER_METHOD,
- HTTP2_HEADER_PATH,
- HTTP2_HEADER_SCHEME,
- HTTP2_HEADER_CONTENT_LENGTH,
- HTTP2_HEADER_EXPECT,
- HTTP2_HEADER_STATUS
- }
- } = http2;
- var h2ExperimentalWarned = false;
- var FastBuffer = Buffer[Symbol.species];
- var kClosedResolve = Symbol("kClosedResolve");
- var Client = class extends DispatcherBase {
- /**
- *
- * @param {string|URL} url
- * @param {import('../types/client').Client.Options} options
- */
- constructor(url, {
- interceptors,
- maxHeaderSize,
- headersTimeout,
- socketTimeout,
- requestTimeout,
- connectTimeout,
- bodyTimeout,
- idleTimeout,
- keepAlive,
- keepAliveTimeout,
- maxKeepAliveTimeout,
- keepAliveMaxTimeout,
- keepAliveTimeoutThreshold,
- socketPath,
- pipelining,
- tls,
- strictContentLength,
- maxCachedSessions,
- maxRedirections,
- connect: connect2,
- maxRequestsPerClient,
- localAddress,
- maxResponseSize,
- autoSelectFamily,
- autoSelectFamilyAttemptTimeout,
- // h2
- allowH2,
- maxConcurrentStreams
- } = {}) {
- super();
- if (keepAlive !== void 0) {
- throw new InvalidArgumentError("unsupported keepAlive, use pipelining=0 instead");
- }
- if (socketTimeout !== void 0) {
- throw new InvalidArgumentError("unsupported socketTimeout, use headersTimeout & bodyTimeout instead");
- }
- if (requestTimeout !== void 0) {
- throw new InvalidArgumentError("unsupported requestTimeout, use headersTimeout & bodyTimeout instead");
- }
- if (idleTimeout !== void 0) {
- throw new InvalidArgumentError("unsupported idleTimeout, use keepAliveTimeout instead");
- }
- if (maxKeepAliveTimeout !== void 0) {
- throw new InvalidArgumentError("unsupported maxKeepAliveTimeout, use keepAliveMaxTimeout instead");
- }
- if (maxHeaderSize != null && !Number.isFinite(maxHeaderSize)) {
- throw new InvalidArgumentError("invalid maxHeaderSize");
- }
- if (socketPath != null && typeof socketPath !== "string") {
- throw new InvalidArgumentError("invalid socketPath");
- }
- if (connectTimeout != null && (!Number.isFinite(connectTimeout) || connectTimeout < 0)) {
- throw new InvalidArgumentError("invalid connectTimeout");
- }
- if (keepAliveTimeout != null && (!Number.isFinite(keepAliveTimeout) || keepAliveTimeout <= 0)) {
- throw new InvalidArgumentError("invalid keepAliveTimeout");
- }
- if (keepAliveMaxTimeout != null && (!Number.isFinite(keepAliveMaxTimeout) || keepAliveMaxTimeout <= 0)) {
- throw new InvalidArgumentError("invalid keepAliveMaxTimeout");
- }
- if (keepAliveTimeoutThreshold != null && !Number.isFinite(keepAliveTimeoutThreshold)) {
- throw new InvalidArgumentError("invalid keepAliveTimeoutThreshold");
- }
- if (headersTimeout != null && (!Number.isInteger(headersTimeout) || headersTimeout < 0)) {
- throw new InvalidArgumentError("headersTimeout must be a positive integer or zero");
- }
- if (bodyTimeout != null && (!Number.isInteger(bodyTimeout) || bodyTimeout < 0)) {
- throw new InvalidArgumentError("bodyTimeout must be a positive integer or zero");
- }
- if (connect2 != null && typeof connect2 !== "function" && typeof connect2 !== "object") {
- throw new InvalidArgumentError("connect must be a function or an object");
- }
- if (maxRedirections != null && (!Number.isInteger(maxRedirections) || maxRedirections < 0)) {
- throw new InvalidArgumentError("maxRedirections must be a positive number");
- }
- if (maxRequestsPerClient != null && (!Number.isInteger(maxRequestsPerClient) || maxRequestsPerClient < 0)) {
- throw new InvalidArgumentError("maxRequestsPerClient must be a positive number");
- }
- if (localAddress != null && (typeof localAddress !== "string" || net.isIP(localAddress) === 0)) {
- throw new InvalidArgumentError("localAddress must be valid string IP address");
- }
- if (maxResponseSize != null && (!Number.isInteger(maxResponseSize) || maxResponseSize < -1)) {
- throw new InvalidArgumentError("maxResponseSize must be a positive number");
- }
- if (autoSelectFamilyAttemptTimeout != null && (!Number.isInteger(autoSelectFamilyAttemptTimeout) || autoSelectFamilyAttemptTimeout < -1)) {
- throw new InvalidArgumentError("autoSelectFamilyAttemptTimeout must be a positive number");
- }
- if (allowH2 != null && typeof allowH2 !== "boolean") {
- throw new InvalidArgumentError("allowH2 must be a valid boolean value");
- }
- if (maxConcurrentStreams != null && (typeof maxConcurrentStreams !== "number" || maxConcurrentStreams < 1)) {
- throw new InvalidArgumentError("maxConcurrentStreams must be a positive integer, greater than 0");
- }
- if (typeof connect2 !== "function") {
- connect2 = buildConnector({
- ...tls,
- maxCachedSessions,
- allowH2,
- socketPath,
- timeout: connectTimeout,
- ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
- ...connect2
- });
- }
- this[kInterceptors] = interceptors?.Client && Array.isArray(interceptors.Client) ? interceptors.Client : [createRedirectInterceptor({ maxRedirections })];
- this[kUrl] = util.parseOrigin(url);
- this[kConnector] = connect2;
- this[kSocket] = null;
- this[kPipelining] = pipelining != null ? pipelining : 1;
- this[kMaxHeadersSize] = maxHeaderSize || http.maxHeaderSize;
- this[kKeepAliveDefaultTimeout] = keepAliveTimeout == null ? 4e3 : keepAliveTimeout;
- this[kKeepAliveMaxTimeout] = keepAliveMaxTimeout == null ? 6e5 : keepAliveMaxTimeout;
- this[kKeepAliveTimeoutThreshold] = keepAliveTimeoutThreshold == null ? 1e3 : keepAliveTimeoutThreshold;
- this[kKeepAliveTimeoutValue] = this[kKeepAliveDefaultTimeout];
- this[kServerName] = null;
- this[kLocalAddress] = localAddress != null ? localAddress : null;
- this[kResuming] = 0;
- this[kNeedDrain] = 0;
- this[kHostHeader] = `host: ${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}\r
-`;
- this[kBodyTimeout] = bodyTimeout != null ? bodyTimeout : 3e5;
- this[kHeadersTimeout] = headersTimeout != null ? headersTimeout : 3e5;
- this[kStrictContentLength] = strictContentLength == null ? true : strictContentLength;
- this[kMaxRedirections] = maxRedirections;
- this[kMaxRequests] = maxRequestsPerClient;
- this[kClosedResolve] = null;
- this[kMaxResponseSize] = maxResponseSize > -1 ? maxResponseSize : -1;
- this[kHTTPConnVersion] = "h1";
- this[kHTTP2Session] = null;
- this[kHTTP2SessionState] = !allowH2 ? null : {
- // streams: null, // Fixed queue of streams - For future support of `push`
- openStreams: 0,
- // Keep track of them to decide whether or not unref the session
- maxConcurrentStreams: maxConcurrentStreams != null ? maxConcurrentStreams : 100
- // Max peerConcurrentStreams for a Node h2 server
- };
- this[kHost] = `${this[kUrl].hostname}${this[kUrl].port ? `:${this[kUrl].port}` : ""}`;
- this[kQueue] = [];
- this[kRunningIdx] = 0;
- this[kPendingIdx] = 0;
- }
- get pipelining() {
- return this[kPipelining];
- }
- set pipelining(value) {
- this[kPipelining] = value;
- resume(this, true);
- }
- get [kPending]() {
- return this[kQueue].length - this[kPendingIdx];
- }
- get [kRunning]() {
- return this[kPendingIdx] - this[kRunningIdx];
- }
- get [kSize]() {
- return this[kQueue].length - this[kRunningIdx];
- }
- get [kConnected]() {
- return !!this[kSocket] && !this[kConnecting] && !this[kSocket].destroyed;
- }
- get [kBusy]() {
- const socket = this[kSocket];
- return socket && (socket[kReset] || socket[kWriting] || socket[kBlocking]) || this[kSize] >= (this[kPipelining] || 1) || this[kPending] > 0;
- }
- /* istanbul ignore: only used for test */
- [kConnect](cb) {
- connect(this);
- this.once("connect", cb);
- }
- [kDispatch](opts, handler) {
- const origin = opts.origin || this[kUrl].origin;
- const request = this[kHTTPConnVersion] === "h2" ? Request[kHTTP2BuildRequest](origin, opts, handler) : Request[kHTTP1BuildRequest](origin, opts, handler);
- this[kQueue].push(request);
- if (this[kResuming]) {
- } else if (util.bodyLength(request.body) == null && util.isIterable(request.body)) {
- this[kResuming] = 1;
- process.nextTick(resume, this);
- } else {
- resume(this, true);
- }
- if (this[kResuming] && this[kNeedDrain] !== 2 && this[kBusy]) {
- this[kNeedDrain] = 2;
- }
- return this[kNeedDrain] < 2;
- }
- async [kClose]() {
- return new Promise((resolve) => {
- if (this[kSize]) {
- this[kClosedResolve] = resolve;
- } else {
- resolve(null);
- }
- });
- }
- async [kDestroy](err) {
- return new Promise((resolve) => {
- const requests = this[kQueue].splice(this[kPendingIdx]);
- for (let i = 0; i < requests.length; i++) {
- const request = requests[i];
- errorRequest(this, request, err);
- }
- const callback = () => {
- if (this[kClosedResolve]) {
- this[kClosedResolve]();
- this[kClosedResolve] = null;
- }
- resolve();
- };
- if (this[kHTTP2Session] != null) {
- util.destroy(this[kHTTP2Session], err);
- this[kHTTP2Session] = null;
- this[kHTTP2SessionState] = null;
- }
- if (this[kSocket]) {
- util.destroy(this[kSocket].on("close", callback), err);
- } else {
- queueMicrotask(callback);
- }
- resume(this);
- });
- }
- };
- function onHttp2SessionError(err) {
- assert3(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
- this[kSocket][kError] = err;
- onError(this[kClient], err);
- }
- function onHttp2FrameError(type, code, id) {
- const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`);
- if (id === 0) {
- this[kSocket][kError] = err;
- onError(this[kClient], err);
- }
- }
- function onHttp2SessionEnd() {
- util.destroy(this, new SocketError("other side closed"));
- util.destroy(this[kSocket], new SocketError("other side closed"));
- }
- function onHTTP2GoAway(code) {
- const client = this[kClient];
- const err = new InformationalError(`HTTP/2: "GOAWAY" frame received with code ${code}`);
- client[kSocket] = null;
- client[kHTTP2Session] = null;
- if (client.destroyed) {
- assert3(this[kPending] === 0);
- const requests = client[kQueue].splice(client[kRunningIdx]);
- for (let i = 0; i < requests.length; i++) {
- const request = requests[i];
- errorRequest(this, request, err);
- }
- } else if (client[kRunning] > 0) {
- const request = client[kQueue][client[kRunningIdx]];
- client[kQueue][client[kRunningIdx]++] = null;
- errorRequest(client, request, err);
- }
- client[kPendingIdx] = client[kRunningIdx];
- assert3(client[kRunning] === 0);
- client.emit(
- "disconnect",
- client[kUrl],
- [client],
- err
- );
- resume(client);
- }
- var constants = require_constants4();
- var createRedirectInterceptor = require_redirectInterceptor();
- var EMPTY_BUF = Buffer.alloc(0);
- async function lazyllhttp() {
- const llhttpWasmData = process.env.JEST_WORKER_ID ? require_llhttp_wasm() : void 0;
- let mod;
- try {
- mod = await WebAssembly.compile(require_llhttp_simd_wasm());
- } catch (e) {
- mod = await WebAssembly.compile(llhttpWasmData || require_llhttp_wasm());
- }
- return await WebAssembly.instantiate(mod, {
- env: {
- /* eslint-disable camelcase */
- wasm_on_url: (p, at, len) => {
- return 0;
- },
- wasm_on_status: (p, at, len) => {
- assert3.strictEqual(currentParser.ptr, p);
- const start = at - currentBufferPtr + currentBufferRef.byteOffset;
- return currentParser.onStatus(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
- },
- wasm_on_message_begin: (p) => {
- assert3.strictEqual(currentParser.ptr, p);
- return currentParser.onMessageBegin() || 0;
- },
- wasm_on_header_field: (p, at, len) => {
- assert3.strictEqual(currentParser.ptr, p);
- const start = at - currentBufferPtr + currentBufferRef.byteOffset;
- return currentParser.onHeaderField(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
- },
- wasm_on_header_value: (p, at, len) => {
- assert3.strictEqual(currentParser.ptr, p);
- const start = at - currentBufferPtr + currentBufferRef.byteOffset;
- return currentParser.onHeaderValue(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
- },
- wasm_on_headers_complete: (p, statusCode, upgrade, shouldKeepAlive) => {
- assert3.strictEqual(currentParser.ptr, p);
- return currentParser.onHeadersComplete(statusCode, Boolean(upgrade), Boolean(shouldKeepAlive)) || 0;
- },
- wasm_on_body: (p, at, len) => {
- assert3.strictEqual(currentParser.ptr, p);
- const start = at - currentBufferPtr + currentBufferRef.byteOffset;
- return currentParser.onBody(new FastBuffer(currentBufferRef.buffer, start, len)) || 0;
- },
- wasm_on_message_complete: (p) => {
- assert3.strictEqual(currentParser.ptr, p);
- return currentParser.onMessageComplete() || 0;
- }
- /* eslint-enable camelcase */
- }
- });
- }
- var llhttpInstance = null;
- var llhttpPromise = lazyllhttp();
- llhttpPromise.catch();
- var currentParser = null;
- var currentBufferRef = null;
- var currentBufferSize = 0;
- var currentBufferPtr = null;
- var TIMEOUT_HEADERS = 1;
- var TIMEOUT_BODY = 2;
- var TIMEOUT_IDLE = 3;
- var Parser = class {
- constructor(client, socket, { exports: exports2 }) {
- assert3(Number.isFinite(client[kMaxHeadersSize]) && client[kMaxHeadersSize] > 0);
- this.llhttp = exports2;
- this.ptr = this.llhttp.llhttp_alloc(constants.TYPE.RESPONSE);
- this.client = client;
- this.socket = socket;
- this.timeout = null;
- this.timeoutValue = null;
- this.timeoutType = null;
- this.statusCode = null;
- this.statusText = "";
- this.upgrade = false;
- this.headers = [];
- this.headersSize = 0;
- this.headersMaxSize = client[kMaxHeadersSize];
- this.shouldKeepAlive = false;
- this.paused = false;
- this.resume = this.resume.bind(this);
- this.bytesRead = 0;
- this.keepAlive = "";
- this.contentLength = "";
- this.connection = "";
- this.maxResponseSize = client[kMaxResponseSize];
- }
- setTimeout(value, type) {
- this.timeoutType = type;
- if (value !== this.timeoutValue) {
- timers.clearTimeout(this.timeout);
- if (value) {
- this.timeout = timers.setTimeout(onParserTimeout, value, this);
- if (this.timeout.unref) {
- this.timeout.unref();
- }
- } else {
- this.timeout = null;
- }
- this.timeoutValue = value;
- } else if (this.timeout) {
- if (this.timeout.refresh) {
- this.timeout.refresh();
- }
- }
- }
- resume() {
- if (this.socket.destroyed || !this.paused) {
- return;
- }
- assert3(this.ptr != null);
- assert3(currentParser == null);
- this.llhttp.llhttp_resume(this.ptr);
- assert3(this.timeoutType === TIMEOUT_BODY);
- if (this.timeout) {
- if (this.timeout.refresh) {
- this.timeout.refresh();
- }
- }
- this.paused = false;
- this.execute(this.socket.read() || EMPTY_BUF);
- this.readMore();
- }
- readMore() {
- while (!this.paused && this.ptr) {
- const chunk = this.socket.read();
- if (chunk === null) {
- break;
- }
- this.execute(chunk);
- }
- }
- execute(data) {
- assert3(this.ptr != null);
- assert3(currentParser == null);
- assert3(!this.paused);
- const { socket, llhttp } = this;
- if (data.length > currentBufferSize) {
- if (currentBufferPtr) {
- llhttp.free(currentBufferPtr);
- }
- currentBufferSize = Math.ceil(data.length / 4096) * 4096;
- currentBufferPtr = llhttp.malloc(currentBufferSize);
- }
- new Uint8Array(llhttp.memory.buffer, currentBufferPtr, currentBufferSize).set(data);
- try {
- let ret;
- try {
- currentBufferRef = data;
- currentParser = this;
- ret = llhttp.llhttp_execute(this.ptr, currentBufferPtr, data.length);
- } catch (err) {
- throw err;
- } finally {
- currentParser = null;
- currentBufferRef = null;
- }
- const offset = llhttp.llhttp_get_error_pos(this.ptr) - currentBufferPtr;
- if (ret === constants.ERROR.PAUSED_UPGRADE) {
- this.onUpgrade(data.slice(offset));
- } else if (ret === constants.ERROR.PAUSED) {
- this.paused = true;
- socket.unshift(data.slice(offset));
- } else if (ret !== constants.ERROR.OK) {
- const ptr = llhttp.llhttp_get_error_reason(this.ptr);
- let message = "";
- if (ptr) {
- const len = new Uint8Array(llhttp.memory.buffer, ptr).indexOf(0);
- message = "Response does not match the HTTP/1.1 protocol (" + Buffer.from(llhttp.memory.buffer, ptr, len).toString() + ")";
- }
- throw new HTTPParserError(message, constants.ERROR[ret], data.slice(offset));
- }
- } catch (err) {
- util.destroy(socket, err);
- }
- }
- destroy() {
- assert3(this.ptr != null);
- assert3(currentParser == null);
- this.llhttp.llhttp_free(this.ptr);
- this.ptr = null;
- timers.clearTimeout(this.timeout);
- this.timeout = null;
- this.timeoutValue = null;
- this.timeoutType = null;
- this.paused = false;
- }
- onStatus(buf) {
- this.statusText = buf.toString();
- }
- onMessageBegin() {
- const { socket, client } = this;
- if (socket.destroyed) {
- return -1;
- }
- const request = client[kQueue][client[kRunningIdx]];
- if (!request) {
- return -1;
- }
- request.onResponseStarted();
- }
- onHeaderField(buf) {
- const len = this.headers.length;
- if ((len & 1) === 0) {
- this.headers.push(buf);
- } else {
- this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
- }
- this.trackHeader(buf.length);
- }
- onHeaderValue(buf) {
- let len = this.headers.length;
- if ((len & 1) === 1) {
- this.headers.push(buf);
- len += 1;
- } else {
- this.headers[len - 1] = Buffer.concat([this.headers[len - 1], buf]);
- }
- const key = this.headers[len - 2];
- if (key.length === 10) {
- const headerName = util.bufferToLowerCasedHeaderName(key);
- if (headerName === "keep-alive") {
- this.keepAlive += buf.toString();
- } else if (headerName === "connection") {
- this.connection += buf.toString();
- }
- } else if (key.length === 14 && util.bufferToLowerCasedHeaderName(key) === "content-length") {
- this.contentLength += buf.toString();
- }
- this.trackHeader(buf.length);
- }
- trackHeader(len) {
- this.headersSize += len;
- if (this.headersSize >= this.headersMaxSize) {
- util.destroy(this.socket, new HeadersOverflowError());
- }
- }
- onUpgrade(head) {
- const { upgrade, client, socket, headers, statusCode } = this;
- assert3(upgrade);
- const request = client[kQueue][client[kRunningIdx]];
- assert3(request);
- assert3(!socket.destroyed);
- assert3(socket === client[kSocket]);
- assert3(!this.paused);
- assert3(request.upgrade || request.method === "CONNECT");
- this.statusCode = null;
- this.statusText = "";
- this.shouldKeepAlive = null;
- assert3(this.headers.length % 2 === 0);
- this.headers = [];
- this.headersSize = 0;
- socket.unshift(head);
- socket[kParser].destroy();
- socket[kParser] = null;
- socket[kClient] = null;
- socket[kError] = null;
- socket.removeListener("error", onSocketError).removeListener("readable", onSocketReadable).removeListener("end", onSocketEnd).removeListener("close", onSocketClose);
- client[kSocket] = null;
- client[kQueue][client[kRunningIdx]++] = null;
- client.emit("disconnect", client[kUrl], [client], new InformationalError("upgrade"));
- try {
- request.onUpgrade(statusCode, headers, socket);
- } catch (err) {
- util.destroy(socket, err);
- }
- resume(client);
- }
- onHeadersComplete(statusCode, upgrade, shouldKeepAlive) {
- const { client, socket, headers, statusText } = this;
- if (socket.destroyed) {
- return -1;
- }
- const request = client[kQueue][client[kRunningIdx]];
- if (!request) {
- return -1;
- }
- assert3(!this.upgrade);
- assert3(this.statusCode < 200);
- if (statusCode === 100) {
- util.destroy(socket, new SocketError("bad response", util.getSocketInfo(socket)));
- return -1;
- }
- if (upgrade && !request.upgrade) {
- util.destroy(socket, new SocketError("bad upgrade", util.getSocketInfo(socket)));
- return -1;
- }
- assert3.strictEqual(this.timeoutType, TIMEOUT_HEADERS);
- this.statusCode = statusCode;
- this.shouldKeepAlive = shouldKeepAlive || // Override llhttp value which does not allow keepAlive for HEAD.
- request.method === "HEAD" && !socket[kReset] && this.connection.toLowerCase() === "keep-alive";
- if (this.statusCode >= 200) {
- const bodyTimeout = request.bodyTimeout != null ? request.bodyTimeout : client[kBodyTimeout];
- this.setTimeout(bodyTimeout, TIMEOUT_BODY);
- } else if (this.timeout) {
- if (this.timeout.refresh) {
- this.timeout.refresh();
- }
- }
- if (request.method === "CONNECT") {
- assert3(client[kRunning] === 1);
- this.upgrade = true;
- return 2;
- }
- if (upgrade) {
- assert3(client[kRunning] === 1);
- this.upgrade = true;
- return 2;
- }
- assert3(this.headers.length % 2 === 0);
- this.headers = [];
- this.headersSize = 0;
- if (this.shouldKeepAlive && client[kPipelining]) {
- const keepAliveTimeout = this.keepAlive ? util.parseKeepAliveTimeout(this.keepAlive) : null;
- if (keepAliveTimeout != null) {
- const timeout = Math.min(
- keepAliveTimeout - client[kKeepAliveTimeoutThreshold],
- client[kKeepAliveMaxTimeout]
- );
- if (timeout <= 0) {
- socket[kReset] = true;
- } else {
- client[kKeepAliveTimeoutValue] = timeout;
- }
- } else {
- client[kKeepAliveTimeoutValue] = client[kKeepAliveDefaultTimeout];
- }
- } else {
- socket[kReset] = true;
- }
- const pause = request.onHeaders(statusCode, headers, this.resume, statusText) === false;
- if (request.aborted) {
- return -1;
- }
- if (request.method === "HEAD") {
- return 1;
- }
- if (statusCode < 200) {
- return 1;
- }
- if (socket[kBlocking]) {
- socket[kBlocking] = false;
- resume(client);
- }
- return pause ? constants.ERROR.PAUSED : 0;
- }
- onBody(buf) {
- const { client, socket, statusCode, maxResponseSize } = this;
- if (socket.destroyed) {
- return -1;
- }
- const request = client[kQueue][client[kRunningIdx]];
- assert3(request);
- assert3.strictEqual(this.timeoutType, TIMEOUT_BODY);
- if (this.timeout) {
- if (this.timeout.refresh) {
- this.timeout.refresh();
- }
- }
- assert3(statusCode >= 200);
- if (maxResponseSize > -1 && this.bytesRead + buf.length > maxResponseSize) {
- util.destroy(socket, new ResponseExceededMaxSizeError());
- return -1;
- }
- this.bytesRead += buf.length;
- if (request.onData(buf) === false) {
- return constants.ERROR.PAUSED;
- }
- }
- onMessageComplete() {
- const { client, socket, statusCode, upgrade, headers, contentLength, bytesRead, shouldKeepAlive } = this;
- if (socket.destroyed && (!statusCode || shouldKeepAlive)) {
- return -1;
- }
- if (upgrade) {
- return;
- }
- const request = client[kQueue][client[kRunningIdx]];
- assert3(request);
- assert3(statusCode >= 100);
- this.statusCode = null;
- this.statusText = "";
- this.bytesRead = 0;
- this.contentLength = "";
- this.keepAlive = "";
- this.connection = "";
- assert3(this.headers.length % 2 === 0);
- this.headers = [];
- this.headersSize = 0;
- if (statusCode < 200) {
- return;
- }
- if (request.method !== "HEAD" && contentLength && bytesRead !== parseInt(contentLength, 10)) {
- util.destroy(socket, new ResponseContentLengthMismatchError());
- return -1;
- }
- request.onComplete(headers);
- client[kQueue][client[kRunningIdx]++] = null;
- if (socket[kWriting]) {
- assert3.strictEqual(client[kRunning], 0);
- util.destroy(socket, new InformationalError("reset"));
- return constants.ERROR.PAUSED;
- } else if (!shouldKeepAlive) {
- util.destroy(socket, new InformationalError("reset"));
- return constants.ERROR.PAUSED;
- } else if (socket[kReset] && client[kRunning] === 0) {
- util.destroy(socket, new InformationalError("reset"));
- return constants.ERROR.PAUSED;
- } else if (client[kPipelining] === 1) {
- setImmediate(resume, client);
- } else {
- resume(client);
- }
- }
- };
- function onParserTimeout(parser) {
- const { socket, timeoutType, client } = parser;
- if (timeoutType === TIMEOUT_HEADERS) {
- if (!socket[kWriting] || socket.writableNeedDrain || client[kRunning] > 1) {
- assert3(!parser.paused, "cannot be paused while waiting for headers");
- util.destroy(socket, new HeadersTimeoutError());
- }
- } else if (timeoutType === TIMEOUT_BODY) {
- if (!parser.paused) {
- util.destroy(socket, new BodyTimeoutError());
- }
- } else if (timeoutType === TIMEOUT_IDLE) {
- assert3(client[kRunning] === 0 && client[kKeepAliveTimeoutValue]);
- util.destroy(socket, new InformationalError("socket idle timeout"));
- }
- }
- function onSocketReadable() {
- const { [kParser]: parser } = this;
- if (parser) {
- parser.readMore();
- }
- }
- function onSocketError(err) {
- const { [kClient]: client, [kParser]: parser } = this;
- assert3(err.code !== "ERR_TLS_CERT_ALTNAME_INVALID");
- if (client[kHTTPConnVersion] !== "h2") {
- if (err.code === "ECONNRESET" && parser.statusCode && !parser.shouldKeepAlive) {
- parser.onMessageComplete();
- return;
- }
- }
- this[kError] = err;
- onError(this[kClient], err);
- }
- function onError(client, err) {
- if (client[kRunning] === 0 && err.code !== "UND_ERR_INFO" && err.code !== "UND_ERR_SOCKET") {
- assert3(client[kPendingIdx] === client[kRunningIdx]);
- const requests = client[kQueue].splice(client[kRunningIdx]);
- for (let i = 0; i < requests.length; i++) {
- const request = requests[i];
- errorRequest(client, request, err);
- }
- assert3(client[kSize] === 0);
- }
- }
- function onSocketEnd() {
- const { [kParser]: parser, [kClient]: client } = this;
- if (client[kHTTPConnVersion] !== "h2") {
- if (parser.statusCode && !parser.shouldKeepAlive) {
- parser.onMessageComplete();
- return;
- }
- }
- util.destroy(this, new SocketError("other side closed", util.getSocketInfo(this)));
- }
- function onSocketClose() {
- const { [kClient]: client, [kParser]: parser } = this;
- if (client[kHTTPConnVersion] === "h1" && parser) {
- if (!this[kError] && parser.statusCode && !parser.shouldKeepAlive) {
- parser.onMessageComplete();
- }
- this[kParser].destroy();
- this[kParser] = null;
- }
- const err = this[kError] || new SocketError("closed", util.getSocketInfo(this));
- client[kSocket] = null;
- if (client.destroyed) {
- assert3(client[kPending] === 0);
- const requests = client[kQueue].splice(client[kRunningIdx]);
- for (let i = 0; i < requests.length; i++) {
- const request = requests[i];
- errorRequest(client, request, err);
- }
- } else if (client[kRunning] > 0 && err.code !== "UND_ERR_INFO") {
- const request = client[kQueue][client[kRunningIdx]];
- client[kQueue][client[kRunningIdx]++] = null;
- errorRequest(client, request, err);
- }
- client[kPendingIdx] = client[kRunningIdx];
- assert3(client[kRunning] === 0);
- client.emit("disconnect", client[kUrl], [client], err);
- resume(client);
- }
- async function connect(client) {
- assert3(!client[kConnecting]);
- assert3(!client[kSocket]);
- let { host, hostname, protocol, port } = client[kUrl];
- if (hostname[0] === "[") {
- const idx = hostname.indexOf("]");
- assert3(idx !== -1);
- const ip = hostname.substring(1, idx);
- assert3(net.isIP(ip));
- hostname = ip;
- }
- client[kConnecting] = true;
- if (channels.beforeConnect.hasSubscribers) {
- channels.beforeConnect.publish({
- connectParams: {
- host,
- hostname,
- protocol,
- port,
- version: client[kHTTPConnVersion],
- servername: client[kServerName],
- localAddress: client[kLocalAddress]
- },
- connector: client[kConnector]
- });
- }
- try {
- const socket = await new Promise((resolve, reject) => {
- client[kConnector]({
- host,
- hostname,
- protocol,
- port,
- servername: client[kServerName],
- localAddress: client[kLocalAddress]
- }, (err, socket2) => {
- if (err) {
- reject(err);
- } else {
- resolve(socket2);
- }
- });
- });
- if (client.destroyed) {
- util.destroy(socket.on("error", () => {
- }), new ClientDestroyedError());
- return;
- }
- client[kConnecting] = false;
- assert3(socket);
- const isH2 = socket.alpnProtocol === "h2";
- if (isH2) {
- if (!h2ExperimentalWarned) {
- h2ExperimentalWarned = true;
- process.emitWarning("H2 support is experimental, expect them to change at any time.", {
- code: "UNDICI-H2"
- });
- }
- const session = http2.connect(client[kUrl], {
- createConnection: () => socket,
- peerMaxConcurrentStreams: client[kHTTP2SessionState].maxConcurrentStreams
- });
- client[kHTTPConnVersion] = "h2";
- session[kClient] = client;
- session[kSocket] = socket;
- session.on("error", onHttp2SessionError);
- session.on("frameError", onHttp2FrameError);
- session.on("end", onHttp2SessionEnd);
- session.on("goaway", onHTTP2GoAway);
- session.on("close", onSocketClose);
- session.unref();
- client[kHTTP2Session] = session;
- socket[kHTTP2Session] = session;
- } else {
- if (!llhttpInstance) {
- llhttpInstance = await llhttpPromise;
- llhttpPromise = null;
- }
- socket[kNoRef] = false;
- socket[kWriting] = false;
- socket[kReset] = false;
- socket[kBlocking] = false;
- socket[kParser] = new Parser(client, socket, llhttpInstance);
- }
- socket[kCounter] = 0;
- socket[kMaxRequests] = client[kMaxRequests];
- socket[kClient] = client;
- socket[kError] = null;
- socket.on("error", onSocketError).on("readable", onSocketReadable).on("end", onSocketEnd).on("close", onSocketClose);
- client[kSocket] = socket;
- if (channels.connected.hasSubscribers) {
- channels.connected.publish({
- connectParams: {
- host,
- hostname,
- protocol,
- port,
- version: client[kHTTPConnVersion],
- servername: client[kServerName],
- localAddress: client[kLocalAddress]
- },
- connector: client[kConnector],
- socket
- });
- }
- client.emit("connect", client[kUrl], [client]);
- } catch (err) {
- if (client.destroyed) {
- return;
- }
- client[kConnecting] = false;
- if (channels.connectError.hasSubscribers) {
- channels.connectError.publish({
- connectParams: {
- host,
- hostname,
- protocol,
- port,
- version: client[kHTTPConnVersion],
- servername: client[kServerName],
- localAddress: client[kLocalAddress]
- },
- connector: client[kConnector],
- error: err
- });
- }
- if (err.code === "ERR_TLS_CERT_ALTNAME_INVALID") {
- assert3(client[kRunning] === 0);
- while (client[kPending] > 0 && client[kQueue][client[kPendingIdx]].servername === client[kServerName]) {
- const request = client[kQueue][client[kPendingIdx]++];
- errorRequest(client, request, err);
- }
- } else {
- onError(client, err);
- }
- client.emit("connectionError", client[kUrl], [client], err);
- }
- resume(client);
- }
- function emitDrain(client) {
- client[kNeedDrain] = 0;
- client.emit("drain", client[kUrl], [client]);
- }
- function resume(client, sync) {
- if (client[kResuming] === 2) {
- return;
- }
- client[kResuming] = 2;
- _resume(client, sync);
- client[kResuming] = 0;
- if (client[kRunningIdx] > 256) {
- client[kQueue].splice(0, client[kRunningIdx]);
- client[kPendingIdx] -= client[kRunningIdx];
- client[kRunningIdx] = 0;
- }
- }
- function _resume(client, sync) {
- while (true) {
- if (client.destroyed) {
- assert3(client[kPending] === 0);
- return;
- }
- if (client[kClosedResolve] && !client[kSize]) {
- client[kClosedResolve]();
- client[kClosedResolve] = null;
- return;
- }
- const socket = client[kSocket];
- if (socket && !socket.destroyed && socket.alpnProtocol !== "h2") {
- if (client[kSize] === 0) {
- if (!socket[kNoRef] && socket.unref) {
- socket.unref();
- socket[kNoRef] = true;
- }
- } else if (socket[kNoRef] && socket.ref) {
- socket.ref();
- socket[kNoRef] = false;
- }
- if (client[kSize] === 0) {
- if (socket[kParser].timeoutType !== TIMEOUT_IDLE) {
- socket[kParser].setTimeout(client[kKeepAliveTimeoutValue], TIMEOUT_IDLE);
- }
- } else if (client[kRunning] > 0 && socket[kParser].statusCode < 200) {
- if (socket[kParser].timeoutType !== TIMEOUT_HEADERS) {
- const request2 = client[kQueue][client[kRunningIdx]];
- const headersTimeout = request2.headersTimeout != null ? request2.headersTimeout : client[kHeadersTimeout];
- socket[kParser].setTimeout(headersTimeout, TIMEOUT_HEADERS);
- }
- }
- }
- if (client[kBusy]) {
- client[kNeedDrain] = 2;
- } else if (client[kNeedDrain] === 2) {
- if (sync) {
- client[kNeedDrain] = 1;
- process.nextTick(emitDrain, client);
- } else {
- emitDrain(client);
- }
- continue;
- }
- if (client[kPending] === 0) {
- return;
- }
- if (client[kRunning] >= (client[kPipelining] || 1)) {
- return;
- }
- const request = client[kQueue][client[kPendingIdx]];
- if (client[kUrl].protocol === "https:" && client[kServerName] !== request.servername) {
- if (client[kRunning] > 0) {
- return;
- }
- client[kServerName] = request.servername;
- if (socket && socket.servername !== request.servername) {
- util.destroy(socket, new InformationalError("servername changed"));
- return;
- }
- }
- if (client[kConnecting]) {
- return;
- }
- if (!socket && !client[kHTTP2Session]) {
- connect(client);
- return;
- }
- if (socket.destroyed || socket[kWriting] || socket[kReset] || socket[kBlocking]) {
- return;
- }
- if (client[kRunning] > 0 && !request.idempotent) {
- return;
- }
- if (client[kRunning] > 0 && (request.upgrade || request.method === "CONNECT")) {
- return;
- }
- if (client[kRunning] > 0 && util.bodyLength(request.body) !== 0 && (util.isStream(request.body) || util.isAsyncIterable(request.body))) {
- return;
- }
- if (!request.aborted && write(client, request)) {
- client[kPendingIdx]++;
- } else {
- client[kQueue].splice(client[kPendingIdx], 1);
- }
- }
- }
- function shouldSendContentLength(method) {
- return method !== "GET" && method !== "HEAD" && method !== "OPTIONS" && method !== "TRACE" && method !== "CONNECT";
- }
- function write(client, request) {
- if (client[kHTTPConnVersion] === "h2") {
- writeH2(client, client[kHTTP2Session], request);
- return;
- }
- const { body, method, path: path10, host, upgrade, headers, blocking, reset } = request;
- const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
- if (body && typeof body.read === "function") {
- body.read(0);
- }
- const bodyLength = util.bodyLength(body);
- let contentLength = bodyLength;
- if (contentLength === null) {
- contentLength = request.contentLength;
- }
- if (contentLength === 0 && !expectsPayload) {
- contentLength = null;
- }
- if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength !== null && request.contentLength !== contentLength) {
- if (client[kStrictContentLength]) {
- errorRequest(client, request, new RequestContentLengthMismatchError());
- return false;
- }
- process.emitWarning(new RequestContentLengthMismatchError());
- }
- const socket = client[kSocket];
- try {
- request.onConnect((err) => {
- if (request.aborted || request.completed) {
- return;
- }
- errorRequest(client, request, err || new RequestAbortedError());
- util.destroy(socket, new InformationalError("aborted"));
- });
- } catch (err) {
- errorRequest(client, request, err);
- }
- if (request.aborted) {
- return false;
- }
- if (method === "HEAD") {
- socket[kReset] = true;
- }
- if (upgrade || method === "CONNECT") {
- socket[kReset] = true;
- }
- if (reset != null) {
- socket[kReset] = reset;
- }
- if (client[kMaxRequests] && socket[kCounter]++ >= client[kMaxRequests]) {
- socket[kReset] = true;
- }
- if (blocking) {
- socket[kBlocking] = true;
- }
- let header = `${method} ${path10} HTTP/1.1\r
-`;
- if (typeof host === "string") {
- header += `host: ${host}\r
-`;
- } else {
- header += client[kHostHeader];
- }
- if (upgrade) {
- header += `connection: upgrade\r
-upgrade: ${upgrade}\r
-`;
- } else if (client[kPipelining] && !socket[kReset]) {
- header += "connection: keep-alive\r\n";
- } else {
- header += "connection: close\r\n";
- }
- if (headers) {
- header += headers;
- }
- if (channels.sendHeaders.hasSubscribers) {
- channels.sendHeaders.publish({ request, headers: header, socket });
- }
- if (!body || bodyLength === 0) {
- if (contentLength === 0) {
- socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
- } else {
- assert3(contentLength === null, "no body must not have content length");
- socket.write(`${header}\r
-`, "latin1");
- }
- request.onRequestSent();
- } else if (util.isBuffer(body)) {
- assert3(contentLength === body.byteLength, "buffer body must have content length");
- socket.cork();
- socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
- socket.write(body);
- socket.uncork();
- request.onBodySent(body);
- request.onRequestSent();
- if (!expectsPayload) {
- socket[kReset] = true;
- }
- } else if (util.isBlobLike(body)) {
- if (typeof body.stream === "function") {
- writeIterable({ body: body.stream(), client, request, socket, contentLength, header, expectsPayload });
- } else {
- writeBlob({ body, client, request, socket, contentLength, header, expectsPayload });
- }
- } else if (util.isStream(body)) {
- writeStream({ body, client, request, socket, contentLength, header, expectsPayload });
- } else if (util.isIterable(body)) {
- writeIterable({ body, client, request, socket, contentLength, header, expectsPayload });
- } else {
- assert3(false);
- }
- return true;
- }
- function writeH2(client, session, request) {
- const { body, method, path: path10, host, upgrade, expectContinue, signal, headers: reqHeaders } = request;
- let headers;
- if (typeof reqHeaders === "string")
- headers = Request[kHTTP2CopyHeaders](reqHeaders.trim());
- else
- headers = reqHeaders;
- if (upgrade) {
- errorRequest(client, request, new Error("Upgrade not supported for H2"));
- return false;
- }
- if (request.aborted) {
- return false;
- }
- let stream;
- const h2State = client[kHTTP2SessionState];
- headers[HTTP2_HEADER_AUTHORITY] = host || client[kHost];
- headers[HTTP2_HEADER_METHOD] = method;
- try {
- request.onConnect((err) => {
- if (request.aborted || request.completed) {
- return;
- }
- err = err || new RequestAbortedError();
- if (stream != null) {
- util.destroy(stream, err);
- h2State.openStreams -= 1;
- if (h2State.openStreams === 0) {
- session.unref();
- }
- }
- errorRequest(client, request, err);
- });
- } catch (err) {
- errorRequest(client, request, err);
- }
- if (method === "CONNECT") {
- session.ref();
- stream = session.request(headers, { endStream: false, signal });
- if (stream.id && !stream.pending) {
- request.onUpgrade(null, null, stream);
- ++h2State.openStreams;
- } else {
- stream.once("ready", () => {
- request.onUpgrade(null, null, stream);
- ++h2State.openStreams;
- });
- }
- stream.once("close", () => {
- h2State.openStreams -= 1;
- if (h2State.openStreams === 0)
- session.unref();
- });
- return true;
- }
- headers[HTTP2_HEADER_PATH] = path10;
- headers[HTTP2_HEADER_SCHEME] = "https";
- const expectsPayload = method === "PUT" || method === "POST" || method === "PATCH";
- if (body && typeof body.read === "function") {
- body.read(0);
- }
- let contentLength = util.bodyLength(body);
- if (contentLength == null) {
- contentLength = request.contentLength;
- }
- if (contentLength === 0 || !expectsPayload) {
- contentLength = null;
- }
- if (shouldSendContentLength(method) && contentLength > 0 && request.contentLength != null && request.contentLength !== contentLength) {
- if (client[kStrictContentLength]) {
- errorRequest(client, request, new RequestContentLengthMismatchError());
- return false;
- }
- process.emitWarning(new RequestContentLengthMismatchError());
- }
- if (contentLength != null) {
- assert3(body, "no body must not have content length");
- headers[HTTP2_HEADER_CONTENT_LENGTH] = `${contentLength}`;
- }
- session.ref();
- const shouldEndStream = method === "GET" || method === "HEAD" || body === null;
- if (expectContinue) {
- headers[HTTP2_HEADER_EXPECT] = "100-continue";
- stream = session.request(headers, { endStream: shouldEndStream, signal });
- stream.once("continue", writeBodyH2);
- } else {
- stream = session.request(headers, {
- endStream: shouldEndStream,
- signal
- });
- writeBodyH2();
- }
- ++h2State.openStreams;
- stream.once("response", (headers2) => {
- const { [HTTP2_HEADER_STATUS]: statusCode, ...realHeaders } = headers2;
- request.onResponseStarted();
- if (request.onHeaders(Number(statusCode), realHeaders, stream.resume.bind(stream), "") === false) {
- stream.pause();
- }
- });
- stream.once("end", () => {
- request.onComplete([]);
- });
- stream.on("data", (chunk) => {
- if (request.onData(chunk) === false) {
- stream.pause();
- }
- });
- stream.once("close", () => {
- h2State.openStreams -= 1;
- if (h2State.openStreams === 0) {
- session.unref();
- }
- });
- stream.once("error", function(err) {
- if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
- h2State.streams -= 1;
- util.destroy(stream, err);
- }
- });
- stream.once("frameError", (type, code) => {
- const err = new InformationalError(`HTTP/2: "frameError" received - type ${type}, code ${code}`);
- errorRequest(client, request, err);
- if (client[kHTTP2Session] && !client[kHTTP2Session].destroyed && !this.closed && !this.destroyed) {
- h2State.streams -= 1;
- util.destroy(stream, err);
- }
- });
- return true;
- function writeBodyH2() {
- if (!body) {
- request.onRequestSent();
- } else if (util.isBuffer(body)) {
- assert3(contentLength === body.byteLength, "buffer body must have content length");
- stream.cork();
- stream.write(body);
- stream.uncork();
- stream.end();
- request.onBodySent(body);
- request.onRequestSent();
- } else if (util.isBlobLike(body)) {
- if (typeof body.stream === "function") {
- writeIterable({
- client,
- request,
- contentLength,
- h2stream: stream,
- expectsPayload,
- body: body.stream(),
- socket: client[kSocket],
- header: ""
- });
- } else {
- writeBlob({
- body,
- client,
- request,
- contentLength,
- expectsPayload,
- h2stream: stream,
- header: "",
- socket: client[kSocket]
- });
- }
- } else if (util.isStream(body)) {
- writeStream({
- body,
- client,
- request,
- contentLength,
- expectsPayload,
- socket: client[kSocket],
- h2stream: stream,
- header: ""
- });
- } else if (util.isIterable(body)) {
- writeIterable({
- body,
- client,
- request,
- contentLength,
- expectsPayload,
- header: "",
- h2stream: stream,
- socket: client[kSocket]
- });
- } else {
- assert3(false);
- }
- }
- }
- function writeStream({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) {
- assert3(contentLength !== 0 || client[kRunning] === 0, "stream body cannot be pipelined");
- if (client[kHTTPConnVersion] === "h2") {
- let onPipeData = function(chunk) {
- request.onBodySent(chunk);
- };
- const pipe = pipeline(
- body,
- h2stream,
- (err) => {
- if (err) {
- util.destroy(body, err);
- util.destroy(h2stream, err);
- } else {
- request.onRequestSent();
- }
- }
- );
- pipe.on("data", onPipeData);
- pipe.once("end", () => {
- pipe.removeListener("data", onPipeData);
- util.destroy(pipe);
- });
- return;
- }
- let finished = false;
- const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header });
- const onData = function(chunk) {
- if (finished) {
- return;
- }
- try {
- if (!writer.write(chunk) && this.pause) {
- this.pause();
- }
- } catch (err) {
- util.destroy(this, err);
- }
- };
- const onDrain = function() {
- if (finished) {
- return;
- }
- if (body.resume) {
- body.resume();
- }
- };
- const onClose = function() {
- queueMicrotask(() => {
- body.removeListener("error", onFinished);
- });
- if (!finished) {
- const err = new RequestAbortedError();
- queueMicrotask(() => onFinished(err));
- }
- };
- const onFinished = function(err) {
- if (finished) {
- return;
- }
- finished = true;
- assert3(socket.destroyed || socket[kWriting] && client[kRunning] <= 1);
- socket.off("drain", onDrain).off("error", onFinished);
- body.removeListener("data", onData).removeListener("end", onFinished).removeListener("close", onClose);
- if (!err) {
- try {
- writer.end();
- } catch (er) {
- err = er;
- }
- }
- writer.destroy(err);
- if (err && (err.code !== "UND_ERR_INFO" || err.message !== "reset")) {
- util.destroy(body, err);
- } else {
- util.destroy(body);
- }
- };
- body.on("data", onData).on("end", onFinished).on("error", onFinished).on("close", onClose);
- if (body.resume) {
- body.resume();
- }
- socket.on("drain", onDrain).on("error", onFinished);
- }
- async function writeBlob({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) {
- assert3(contentLength === body.size, "blob body must have content length");
- const isH2 = client[kHTTPConnVersion] === "h2";
- try {
- if (contentLength != null && contentLength !== body.size) {
- throw new RequestContentLengthMismatchError();
- }
- const buffer = Buffer.from(await body.arrayBuffer());
- if (isH2) {
- h2stream.cork();
- h2stream.write(buffer);
- h2stream.uncork();
- } else {
- socket.cork();
- socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
- socket.write(buffer);
- socket.uncork();
- }
- request.onBodySent(buffer);
- request.onRequestSent();
- if (!expectsPayload) {
- socket[kReset] = true;
- }
- resume(client);
- } catch (err) {
- util.destroy(isH2 ? h2stream : socket, err);
- }
- }
- async function writeIterable({ h2stream, body, client, request, socket, contentLength, header, expectsPayload }) {
- assert3(contentLength !== 0 || client[kRunning] === 0, "iterator body cannot be pipelined");
- let callback = null;
- function onDrain() {
- if (callback) {
- const cb = callback;
- callback = null;
- cb();
- }
- }
- const waitForDrain = () => new Promise((resolve, reject) => {
- assert3(callback === null);
- if (socket[kError]) {
- reject(socket[kError]);
- } else {
- callback = resolve;
- }
- });
- if (client[kHTTPConnVersion] === "h2") {
- h2stream.on("close", onDrain).on("drain", onDrain);
- try {
- for await (const chunk of body) {
- if (socket[kError]) {
- throw socket[kError];
- }
- const res = h2stream.write(chunk);
- request.onBodySent(chunk);
- if (!res) {
- await waitForDrain();
- }
- }
- } catch (err) {
- h2stream.destroy(err);
- } finally {
- request.onRequestSent();
- h2stream.end();
- h2stream.off("close", onDrain).off("drain", onDrain);
- }
- return;
- }
- socket.on("close", onDrain).on("drain", onDrain);
- const writer = new AsyncWriter({ socket, request, contentLength, client, expectsPayload, header });
- try {
- for await (const chunk of body) {
- if (socket[kError]) {
- throw socket[kError];
- }
- if (!writer.write(chunk)) {
- await waitForDrain();
- }
- }
- writer.end();
- } catch (err) {
- writer.destroy(err);
- } finally {
- socket.off("close", onDrain).off("drain", onDrain);
- }
- }
- var AsyncWriter = class {
- constructor({ socket, request, contentLength, client, expectsPayload, header }) {
- this.socket = socket;
- this.request = request;
- this.contentLength = contentLength;
- this.client = client;
- this.bytesWritten = 0;
- this.expectsPayload = expectsPayload;
- this.header = header;
- socket[kWriting] = true;
- }
- write(chunk) {
- const { socket, request, contentLength, client, bytesWritten, expectsPayload, header } = this;
- if (socket[kError]) {
- throw socket[kError];
- }
- if (socket.destroyed) {
- return false;
- }
- const len = Buffer.byteLength(chunk);
- if (!len) {
- return true;
- }
- if (contentLength !== null && bytesWritten + len > contentLength) {
- if (client[kStrictContentLength]) {
- throw new RequestContentLengthMismatchError();
- }
- process.emitWarning(new RequestContentLengthMismatchError());
- }
- socket.cork();
- if (bytesWritten === 0) {
- if (!expectsPayload) {
- socket[kReset] = true;
- }
- if (contentLength === null) {
- socket.write(`${header}transfer-encoding: chunked\r
-`, "latin1");
- } else {
- socket.write(`${header}content-length: ${contentLength}\r
-\r
-`, "latin1");
- }
- }
- if (contentLength === null) {
- socket.write(`\r
-${len.toString(16)}\r
-`, "latin1");
- }
- this.bytesWritten += len;
- const ret = socket.write(chunk);
- socket.uncork();
- request.onBodySent(chunk);
- if (!ret) {
- if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
- if (socket[kParser].timeout.refresh) {
- socket[kParser].timeout.refresh();
- }
- }
- }
- return ret;
- }
- end() {
- const { socket, contentLength, client, bytesWritten, expectsPayload, header, request } = this;
- request.onRequestSent();
- socket[kWriting] = false;
- if (socket[kError]) {
- throw socket[kError];
- }
- if (socket.destroyed) {
- return;
- }
- if (bytesWritten === 0) {
- if (expectsPayload) {
- socket.write(`${header}content-length: 0\r
-\r
-`, "latin1");
- } else {
- socket.write(`${header}\r
-`, "latin1");
- }
- } else if (contentLength === null) {
- socket.write("\r\n0\r\n\r\n", "latin1");
- }
- if (contentLength !== null && bytesWritten !== contentLength) {
- if (client[kStrictContentLength]) {
- throw new RequestContentLengthMismatchError();
- } else {
- process.emitWarning(new RequestContentLengthMismatchError());
- }
- }
- if (socket[kParser].timeout && socket[kParser].timeoutType === TIMEOUT_HEADERS) {
- if (socket[kParser].timeout.refresh) {
- socket[kParser].timeout.refresh();
- }
- }
- resume(client);
- }
- destroy(err) {
- const { socket, client } = this;
- socket[kWriting] = false;
- if (err) {
- assert3(client[kRunning] <= 1, "pipeline should only contain this request");
- util.destroy(socket, err);
- }
- }
- };
- function errorRequest(client, request, err) {
- try {
- request.onError(err);
- assert3(request.aborted);
- } catch (err2) {
- client.emit("error", err2);
- }
- }
- module2.exports = Client;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/pool.js
-var require_pool = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/pool.js"(exports, module2) {
- "use strict";
- var {
- PoolBase,
- kClients,
- kNeedDrain,
- kAddClient,
- kGetDispatcher
- } = require_pool_base();
- var Client = require_client();
- var {
- InvalidArgumentError
- } = require_errors();
- var util = require_util();
- var { kUrl, kInterceptors } = require_symbols();
- var buildConnector = require_connect();
- var kOptions = Symbol("options");
- var kConnections = Symbol("connections");
- var kFactory = Symbol("factory");
- function defaultFactory(origin, opts) {
- return new Client(origin, opts);
- }
- var Pool = class extends PoolBase {
- constructor(origin, {
- connections,
- factory = defaultFactory,
- connect,
- connectTimeout,
- tls,
- maxCachedSessions,
- socketPath,
- autoSelectFamily,
- autoSelectFamilyAttemptTimeout,
- allowH2,
- ...options
- } = {}) {
- super();
- if (connections != null && (!Number.isFinite(connections) || connections < 0)) {
- throw new InvalidArgumentError("invalid connections");
- }
- if (typeof factory !== "function") {
- throw new InvalidArgumentError("factory must be a function.");
- }
- if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
- throw new InvalidArgumentError("connect must be a function or an object");
- }
- if (typeof connect !== "function") {
- connect = buildConnector({
- ...tls,
- maxCachedSessions,
- allowH2,
- socketPath,
- timeout: connectTimeout,
- ...util.nodeHasAutoSelectFamily && autoSelectFamily ? { autoSelectFamily, autoSelectFamilyAttemptTimeout } : void 0,
- ...connect
- });
- }
- this[kInterceptors] = options.interceptors?.Pool && Array.isArray(options.interceptors.Pool) ? options.interceptors.Pool : [];
- this[kConnections] = connections || null;
- this[kUrl] = util.parseOrigin(origin);
- this[kOptions] = { ...util.deepClone(options), connect, allowH2 };
- this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
- this[kFactory] = factory;
- }
- [kGetDispatcher]() {
- for (const client of this[kClients]) {
- if (!client[kNeedDrain]) {
- return client;
- }
- }
- if (!this[kConnections] || this[kClients].length < this[kConnections]) {
- const dispatcher = this[kFactory](this[kUrl], this[kOptions]);
- this[kAddClient](dispatcher);
- return dispatcher;
- }
- }
- };
- module2.exports = Pool;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/agent.js
-var require_agent = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/agent.js"(exports, module2) {
- "use strict";
- var { InvalidArgumentError } = require_errors();
- var { kClients, kRunning, kClose, kDestroy, kDispatch, kInterceptors } = require_symbols();
- var DispatcherBase = require_dispatcher_base();
- var Pool = require_pool();
- var Client = require_client();
- var util = require_util();
- var createRedirectInterceptor = require_redirectInterceptor();
- var kOnConnect = Symbol("onConnect");
- var kOnDisconnect = Symbol("onDisconnect");
- var kOnConnectionError = Symbol("onConnectionError");
- var kMaxRedirections = Symbol("maxRedirections");
- var kOnDrain = Symbol("onDrain");
- var kFactory = Symbol("factory");
- var kOptions = Symbol("options");
- function defaultFactory(origin, opts) {
- return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
- }
- var Agent = class extends DispatcherBase {
- constructor({ factory = defaultFactory, maxRedirections = 0, connect, ...options } = {}) {
- super();
- if (typeof factory !== "function") {
- throw new InvalidArgumentError("factory must be a function.");
- }
- if (connect != null && typeof connect !== "function" && typeof connect !== "object") {
- throw new InvalidArgumentError("connect must be a function or an object");
- }
- if (!Number.isInteger(maxRedirections) || maxRedirections < 0) {
- throw new InvalidArgumentError("maxRedirections must be a positive number");
- }
- if (connect && typeof connect !== "function") {
- connect = { ...connect };
- }
- this[kInterceptors] = options.interceptors?.Agent && Array.isArray(options.interceptors.Agent) ? options.interceptors.Agent : [createRedirectInterceptor({ maxRedirections })];
- this[kOptions] = { ...util.deepClone(options), connect };
- this[kOptions].interceptors = options.interceptors ? { ...options.interceptors } : void 0;
- this[kMaxRedirections] = maxRedirections;
- this[kFactory] = factory;
- this[kClients] = /* @__PURE__ */ new Map();
- this[kOnDrain] = (origin, targets) => {
- this.emit("drain", origin, [this, ...targets]);
- };
- this[kOnConnect] = (origin, targets) => {
- this.emit("connect", origin, [this, ...targets]);
- };
- this[kOnDisconnect] = (origin, targets, err) => {
- this.emit("disconnect", origin, [this, ...targets], err);
- };
- this[kOnConnectionError] = (origin, targets, err) => {
- this.emit("connectionError", origin, [this, ...targets], err);
- };
- }
- get [kRunning]() {
- let ret = 0;
- for (const client of this[kClients].values()) {
- ret += client[kRunning];
- }
- return ret;
- }
- [kDispatch](opts, handler) {
- let key;
- if (opts.origin && (typeof opts.origin === "string" || opts.origin instanceof URL)) {
- key = String(opts.origin);
- } else {
- throw new InvalidArgumentError("opts.origin must be a non-empty string or URL.");
- }
- let dispatcher = this[kClients].get(key);
- if (!dispatcher) {
- dispatcher = this[kFactory](opts.origin, this[kOptions]).on("drain", this[kOnDrain]).on("connect", this[kOnConnect]).on("disconnect", this[kOnDisconnect]).on("connectionError", this[kOnConnectionError]);
- this[kClients].set(key, dispatcher);
- }
- return dispatcher.dispatch(opts, handler);
- }
- async [kClose]() {
- const closePromises = [];
- for (const client of this[kClients].values()) {
- closePromises.push(client.close());
- }
- this[kClients].clear();
- await Promise.all(closePromises);
- }
- async [kDestroy](err) {
- const destroyPromises = [];
- for (const client of this[kClients].values()) {
- destroyPromises.push(client.destroy(err));
- }
- this[kClients].clear();
- await Promise.all(destroyPromises);
- }
- };
- module2.exports = Agent;
- }
-});
-
-// .yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/proxy-agent.js
-var require_proxy_agent = __commonJS({
- ".yarn/cache/undici-npm-6.6.2-a0bd6785a6-c8c8a43605.zip/node_modules/undici/lib/proxy-agent.js"(exports, module2) {
- "use strict";
- var { kProxy, kClose, kDestroy, 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 } = require_errors();
- var buildConnector = require_connect();
- 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");
- function defaultProtocolPort(protocol) {
- return protocol === "https:" ? 443 : 80;
- }
- function buildProxyOptions(opts) {
- if (typeof opts === "string") {
- opts = { uri: opts };
- }
- if (!opts || !opts.uri) {
- throw new InvalidArgumentError("Proxy opts.uri is mandatory");
- }
- return {
- uri: opts.uri,
- protocol: opts.protocol || "https"
- };
- }
- function defaultFactory(origin, opts) {
- return new Pool(origin, opts);
- }
- var ProxyAgent = class extends DispatcherBase {
- constructor(opts) {
- super(opts);
- this[kProxy] = buildProxyOptions(opts);
- this[kAgent] = new Agent(opts);
- this[kInterceptors] = opts.interceptors?.ProxyAgent && Array.isArray(opts.interceptors.ProxyAgent) ? opts.interceptors.ProxyAgent : [];
- if (typeof opts === "string") {
- opts = { uri: opts };
- }
- if (!opts || !opts.uri) {
- throw new InvalidArgumentError("Proxy opts.uri is mandatory");
- }
- const { clientFactory = defaultFactory } = opts;
- if (typeof clientFactory !== "function") {
- throw new InvalidArgumentError("Proxy opts.clientFactory must be a function.");
- }
- this[kRequestTls] = opts.requestTls;
- this[kProxyTls] = opts.proxyTls;
- this[kProxyHeaders] = opts.headers || {};
- const resolvedUrl = new URL2(opts.uri);
- const { origin, port, username, password } = resolvedUrl;
- if (opts.auth && opts.token) {
- throw new InvalidArgumentError("opts.auth cannot be used in combination with opts.token");
- } else if (opts.auth) {
- this[kProxyHeaders]["proxy-authorization"] = `Basic ${opts.auth}`;
- } else if (opts.token) {
- this[kProxyHeaders]["proxy-authorization"] = opts.token;
- } else if (username && password) {
- this[kProxyHeaders]["proxy-authorization"] = `Basic ${Buffer.from(`${decodeURIComponent(username)}:${decodeURIComponent(password)}`).toString("base64")}`;
- }
- const connect = buildConnector({ ...opts.proxyTls });
- this[kConnectEndpoint] = buildConnector({ ...opts.requestTls });
- this[kClient] = clientFactory(resolvedUrl, { connect });
- this[kAgent] = new Agent({
- ...opts,
- connect: async (opts2, callback) => {
- let requestedHost = opts2.host;
- if (!opts2.port) {
- requestedHost += `:${defaultProtocolPort(opts2.protocol)}`;
- }
- try {
- const { socket, statusCode } = await this[kClient].connect({
- origin,
- port,
- path: requestedHost,
- signal: opts2.signal,
- headers: {
- ...this[kProxyHeaders],
- host: requestedHost
- }
- });
- if (statusCode !== 200) {
- socket.on("error", () => {
- }).destroy();
- callback(new RequestAbortedError(`Proxy response (${statusCode}) !== 200 when HTTP Tunneling`));
- }
- if (opts2.protocol !== "https:") {
- callback(null, socket);
- return;
- }
- let servername;
- if (this[kRequestTls]) {
- servername = this[kRequestTls].servername;
- } else {
- servername = opts2.servername;
- }
- this[kConnectEndpoint]({ ...opts2, servername, httpSocket: socket }, callback);
- } catch (err) {
- callback(err);
- }
- }
- });
- }
- dispatch(opts, handler) {
- const { host } = new URL2(opts.origin);
- const headers = buildHeaders(opts.headers);
- throwIfProxyAuthIsSent(headers);
- return this[kAgent].dispatch(
- {
- ...opts,
- headers: {
- ...headers,
- host
- }
- },
- handler
- );
- }
- async [kClose]() {
- await this[kAgent].close();
- await this[kClient].close();
- }
- async [kDestroy]() {
- await this[kAgent].destroy();
- await this[kClient].destroy();
- }
- };
- function buildHeaders(headers) {
- if (Array.isArray(headers)) {
- const headersPair = {};
- for (let i = 0; i < headers.length; i += 2) {
- headersPair[headers[i]] = headers[i + 1];
- }
- return headersPair;
- }
- return headers;
- }
- function throwIfProxyAuthIsSent(headers) {
- const existProxyAuth = headers && Object.keys(headers).find((key) => key.toLowerCase() === "proxy-authorization");
- if (existProxyAuth) {
- throw new InvalidArgumentError("Proxy-Authorization should be sent in ProxyAgent constructor");
- }
- }
- module2.exports = ProxyAgent;
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/high-level-opt.js
-var require_high_level_opt = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/high-level-opt.js"(exports, module2) {
- "use strict";
- var argmap = /* @__PURE__ */ new Map([
- ["C", "cwd"],
- ["f", "file"],
- ["z", "gzip"],
- ["P", "preservePaths"],
- ["U", "unlink"],
- ["strip-components", "strip"],
- ["stripComponents", "strip"],
- ["keep-newer", "newer"],
- ["keepNewer", "newer"],
- ["keep-newer-files", "newer"],
- ["keepNewerFiles", "newer"],
- ["k", "keep"],
- ["keep-existing", "keep"],
- ["keepExisting", "keep"],
- ["m", "noMtime"],
- ["no-mtime", "noMtime"],
- ["p", "preserveOwner"],
- ["L", "follow"],
- ["h", "follow"]
- ]);
- module2.exports = (opt) => opt ? Object.keys(opt).map((k) => [
- argmap.has(k) ? argmap.get(k) : k,
- opt[k]
- ]).reduce((set, kv) => (set[kv[0]] = kv[1], set), /* @__PURE__ */ Object.create(null)) : {};
- }
-});
-
-// .yarn/cache/minipass-npm-5.0.0-c64fb63c92-a91d8043f6.zip/node_modules/minipass/index.js
-var require_minipass = __commonJS({
- ".yarn/cache/minipass-npm-5.0.0-c64fb63c92-a91d8043f6.zip/node_modules/minipass/index.js"(exports) {
- "use strict";
- var proc = typeof process === "object" && process ? process : {
- stdout: null,
- stderr: null
- };
- var EE = require("events");
- var Stream = require("stream");
- var stringdecoder = require("string_decoder");
- var SD = stringdecoder.StringDecoder;
- var EOF = Symbol("EOF");
- var MAYBE_EMIT_END = Symbol("maybeEmitEnd");
- var EMITTED_END = Symbol("emittedEnd");
- var EMITTING_END = Symbol("emittingEnd");
- var EMITTED_ERROR = Symbol("emittedError");
- var CLOSED = Symbol("closed");
- var READ = Symbol("read");
- var FLUSH = Symbol("flush");
- var FLUSHCHUNK = Symbol("flushChunk");
- var ENCODING = Symbol("encoding");
- var DECODER = Symbol("decoder");
- var FLOWING = Symbol("flowing");
- var PAUSED = Symbol("paused");
- var RESUME = Symbol("resume");
- var BUFFER = Symbol("buffer");
- var PIPES = Symbol("pipes");
- var BUFFERLENGTH = Symbol("bufferLength");
- var BUFFERPUSH = Symbol("bufferPush");
- var BUFFERSHIFT = Symbol("bufferShift");
- var OBJECTMODE = Symbol("objectMode");
- var DESTROYED = Symbol("destroyed");
- var ERROR = Symbol("error");
- var EMITDATA = Symbol("emitData");
- var EMITEND = Symbol("emitEnd");
- var EMITEND2 = Symbol("emitEnd2");
- var ASYNC = Symbol("async");
- var ABORT = Symbol("abort");
- var ABORTED = Symbol("aborted");
- var SIGNAL = Symbol("signal");
- var defer = (fn2) => Promise.resolve().then(fn2);
- var doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1";
- var ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented");
- var ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented");
- var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
- var isArrayBuffer = (b) => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
- var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
- var Pipe = class {
- constructor(src, dest, opts) {
- this.src = src;
- this.dest = dest;
- this.opts = opts;
- this.ondrain = () => src[RESUME]();
- dest.on("drain", this.ondrain);
- }
- unpipe() {
- this.dest.removeListener("drain", this.ondrain);
- }
- // istanbul ignore next - only here for the prototype
- proxyErrors() {
- }
- end() {
- this.unpipe();
- if (this.opts.end)
- this.dest.end();
- }
- };
- var PipeProxyErrors = class extends Pipe {
- unpipe() {
- this.src.removeListener("error", this.proxyErrors);
- super.unpipe();
- }
- constructor(src, dest, opts) {
- super(src, dest, opts);
- this.proxyErrors = (er) => dest.emit("error", er);
- src.on("error", this.proxyErrors);
- }
- };
- var Minipass = class _Minipass extends Stream {
- constructor(options) {
- super();
- this[FLOWING] = false;
- this[PAUSED] = false;
- this[PIPES] = [];
- this[BUFFER] = [];
- this[OBJECTMODE] = options && options.objectMode || false;
- if (this[OBJECTMODE])
- this[ENCODING] = null;
- else
- this[ENCODING] = options && options.encoding || null;
- if (this[ENCODING] === "buffer")
- this[ENCODING] = null;
- this[ASYNC] = options && !!options.async || false;
- this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null;
- this[EOF] = false;
- this[EMITTED_END] = false;
- this[EMITTING_END] = false;
- this[CLOSED] = false;
- this[EMITTED_ERROR] = null;
- this.writable = true;
- this.readable = true;
- this[BUFFERLENGTH] = 0;
- this[DESTROYED] = false;
- if (options && options.debugExposeBuffer === true) {
- Object.defineProperty(this, "buffer", { get: () => this[BUFFER] });
- }
- if (options && options.debugExposePipes === true) {
- Object.defineProperty(this, "pipes", { get: () => this[PIPES] });
- }
- this[SIGNAL] = options && options.signal;
- this[ABORTED] = false;
- if (this[SIGNAL]) {
- this[SIGNAL].addEventListener("abort", () => this[ABORT]());
- if (this[SIGNAL].aborted) {
- this[ABORT]();
- }
- }
- }
- get bufferLength() {
- return this[BUFFERLENGTH];
- }
- get encoding() {
- return this[ENCODING];
- }
- set encoding(enc) {
- if (this[OBJECTMODE])
- throw new Error("cannot set encoding in objectMode");
- if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH]))
- throw new Error("cannot change encoding");
- if (this[ENCODING] !== enc) {
- this[DECODER] = enc ? new SD(enc) : null;
- if (this[BUFFER].length)
- this[BUFFER] = this[BUFFER].map((chunk) => this[DECODER].write(chunk));
- }
- this[ENCODING] = enc;
- }
- setEncoding(enc) {
- this.encoding = enc;
- }
- get objectMode() {
- return this[OBJECTMODE];
- }
- set objectMode(om) {
- this[OBJECTMODE] = this[OBJECTMODE] || !!om;
- }
- get ["async"]() {
- return this[ASYNC];
- }
- set ["async"](a) {
- this[ASYNC] = this[ASYNC] || !!a;
- }
- // drop everything and get out of the flow completely
- [ABORT]() {
- this[ABORTED] = true;
- this.emit("abort", this[SIGNAL].reason);
- this.destroy(this[SIGNAL].reason);
- }
- get aborted() {
- return this[ABORTED];
- }
- set aborted(_) {
- }
- write(chunk, encoding, cb) {
- if (this[ABORTED])
- return false;
- if (this[EOF])
- throw new Error("write after end");
- if (this[DESTROYED]) {
- this.emit(
- "error",
- Object.assign(
- new Error("Cannot call write after a stream was destroyed"),
- { code: "ERR_STREAM_DESTROYED" }
- )
- );
- return true;
- }
- if (typeof encoding === "function")
- cb = encoding, encoding = "utf8";
- if (!encoding)
- encoding = "utf8";
- const fn2 = this[ASYNC] ? defer : (f) => f();
- if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
- if (isArrayBufferView(chunk))
- chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
- else if (isArrayBuffer(chunk))
- chunk = Buffer.from(chunk);
- else if (typeof chunk !== "string")
- this.objectMode = true;
- }
- if (this[OBJECTMODE]) {
- if (this.flowing && this[BUFFERLENGTH] !== 0)
- this[FLUSH](true);
- if (this.flowing)
- this.emit("data", chunk);
- else
- this[BUFFERPUSH](chunk);
- if (this[BUFFERLENGTH] !== 0)
- this.emit("readable");
- if (cb)
- fn2(cb);
- return this.flowing;
- }
- if (!chunk.length) {
- if (this[BUFFERLENGTH] !== 0)
- this.emit("readable");
- if (cb)
- fn2(cb);
- return this.flowing;
- }
- if (typeof chunk === "string" && // unless it is a string already ready for us to use
- !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) {
- chunk = Buffer.from(chunk, encoding);
- }
- if (Buffer.isBuffer(chunk) && this[ENCODING])
- chunk = this[DECODER].write(chunk);
- if (this.flowing && this[BUFFERLENGTH] !== 0)
- this[FLUSH](true);
- if (this.flowing)
- this.emit("data", chunk);
- else
- this[BUFFERPUSH](chunk);
- if (this[BUFFERLENGTH] !== 0)
- this.emit("readable");
- if (cb)
- fn2(cb);
- return this.flowing;
- }
- read(n) {
- if (this[DESTROYED])
- return null;
- if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) {
- this[MAYBE_EMIT_END]();
- return null;
- }
- if (this[OBJECTMODE])
- n = null;
- if (this[BUFFER].length > 1 && !this[OBJECTMODE]) {
- if (this.encoding)
- this[BUFFER] = [this[BUFFER].join("")];
- else
- this[BUFFER] = [Buffer.concat(this[BUFFER], this[BUFFERLENGTH])];
- }
- const ret = this[READ](n || null, this[BUFFER][0]);
- this[MAYBE_EMIT_END]();
- return ret;
- }
- [READ](n, chunk) {
- if (n === chunk.length || n === null)
- this[BUFFERSHIFT]();
- else {
- this[BUFFER][0] = chunk.slice(n);
- chunk = chunk.slice(0, n);
- this[BUFFERLENGTH] -= n;
- }
- this.emit("data", chunk);
- if (!this[BUFFER].length && !this[EOF])
- this.emit("drain");
- return chunk;
- }
- end(chunk, encoding, cb) {
- if (typeof chunk === "function")
- cb = chunk, chunk = null;
- if (typeof encoding === "function")
- cb = encoding, encoding = "utf8";
- if (chunk)
- this.write(chunk, encoding);
- if (cb)
- this.once("end", cb);
- this[EOF] = true;
- this.writable = false;
- if (this.flowing || !this[PAUSED])
- this[MAYBE_EMIT_END]();
- return this;
- }
- // don't let the internal resume be overwritten
- [RESUME]() {
- if (this[DESTROYED])
- return;
- this[PAUSED] = false;
- this[FLOWING] = true;
- this.emit("resume");
- if (this[BUFFER].length)
- this[FLUSH]();
- else if (this[EOF])
- this[MAYBE_EMIT_END]();
- else
- this.emit("drain");
- }
- resume() {
- return this[RESUME]();
- }
- pause() {
- this[FLOWING] = false;
- this[PAUSED] = true;
- }
- get destroyed() {
- return this[DESTROYED];
- }
- get flowing() {
- return this[FLOWING];
- }
- get paused() {
- return this[PAUSED];
- }
- [BUFFERPUSH](chunk) {
- if (this[OBJECTMODE])
- this[BUFFERLENGTH] += 1;
- else
- this[BUFFERLENGTH] += chunk.length;
- this[BUFFER].push(chunk);
- }
- [BUFFERSHIFT]() {
- if (this[OBJECTMODE])
- this[BUFFERLENGTH] -= 1;
- else
- this[BUFFERLENGTH] -= this[BUFFER][0].length;
- return this[BUFFER].shift();
- }
- [FLUSH](noDrain) {
- do {
- } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()) && this[BUFFER].length);
- if (!noDrain && !this[BUFFER].length && !this[EOF])
- this.emit("drain");
- }
- [FLUSHCHUNK](chunk) {
- this.emit("data", chunk);
- return this.flowing;
- }
- pipe(dest, opts) {
- if (this[DESTROYED])
- return;
- const ended = this[EMITTED_END];
- opts = opts || {};
- if (dest === proc.stdout || dest === proc.stderr)
- opts.end = false;
- else
- opts.end = opts.end !== false;
- opts.proxyErrors = !!opts.proxyErrors;
- if (ended) {
- if (opts.end)
- dest.end();
- } else {
- this[PIPES].push(
- !opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts)
- );
- if (this[ASYNC])
- defer(() => this[RESUME]());
- else
- this[RESUME]();
- }
- return dest;
- }
- unpipe(dest) {
- const p = this[PIPES].find((p2) => p2.dest === dest);
- if (p) {
- this[PIPES].splice(this[PIPES].indexOf(p), 1);
- p.unpipe();
- }
- }
- addListener(ev, fn2) {
- return this.on(ev, fn2);
- }
- on(ev, fn2) {
- const ret = super.on(ev, fn2);
- if (ev === "data" && !this[PIPES].length && !this.flowing)
- this[RESUME]();
- else if (ev === "readable" && this[BUFFERLENGTH] !== 0)
- super.emit("readable");
- else if (isEndish(ev) && this[EMITTED_END]) {
- super.emit(ev);
- this.removeAllListeners(ev);
- } else if (ev === "error" && this[EMITTED_ERROR]) {
- if (this[ASYNC])
- defer(() => fn2.call(this, this[EMITTED_ERROR]));
- else
- fn2.call(this, this[EMITTED_ERROR]);
- }
- return ret;
- }
- get emittedEnd() {
- return this[EMITTED_END];
- }
- [MAYBE_EMIT_END]() {
- if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this[BUFFER].length === 0 && this[EOF]) {
- this[EMITTING_END] = true;
- this.emit("end");
- this.emit("prefinish");
- this.emit("finish");
- if (this[CLOSED])
- this.emit("close");
- this[EMITTING_END] = false;
- }
- }
- emit(ev, data, ...extra) {
- if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED])
- return;
- else if (ev === "data") {
- return !this[OBJECTMODE] && !data ? false : this[ASYNC] ? defer(() => this[EMITDATA](data)) : this[EMITDATA](data);
- } else if (ev === "end") {
- return this[EMITEND]();
- } else if (ev === "close") {
- this[CLOSED] = true;
- if (!this[EMITTED_END] && !this[DESTROYED])
- return;
- const ret2 = super.emit("close");
- this.removeAllListeners("close");
- return ret2;
- } else if (ev === "error") {
- this[EMITTED_ERROR] = data;
- super.emit(ERROR, data);
- const ret2 = !this[SIGNAL] || this.listeners("error").length ? super.emit("error", data) : false;
- this[MAYBE_EMIT_END]();
- return ret2;
- } else if (ev === "resume") {
- const ret2 = super.emit("resume");
- this[MAYBE_EMIT_END]();
- return ret2;
- } else if (ev === "finish" || ev === "prefinish") {
- const ret2 = super.emit(ev);
- this.removeAllListeners(ev);
- return ret2;
- }
- const ret = super.emit(ev, data, ...extra);
- this[MAYBE_EMIT_END]();
- return ret;
- }
- [EMITDATA](data) {
- for (const p of this[PIPES]) {
- if (p.dest.write(data) === false)
- this.pause();
- }
- const ret = super.emit("data", data);
- this[MAYBE_EMIT_END]();
- return ret;
- }
- [EMITEND]() {
- if (this[EMITTED_END])
- return;
- this[EMITTED_END] = true;
- this.readable = false;
- if (this[ASYNC])
- defer(() => this[EMITEND2]());
- else
- this[EMITEND2]();
- }
- [EMITEND2]() {
- if (this[DECODER]) {
- const data = this[DECODER].end();
- if (data) {
- for (const p of this[PIPES]) {
- p.dest.write(data);
- }
- super.emit("data", data);
- }
- }
- for (const p of this[PIPES]) {
- p.end();
- }
- const ret = super.emit("end");
- this.removeAllListeners("end");
- return ret;
- }
- // const all = await stream.collect()
- collect() {
- const buf = [];
- if (!this[OBJECTMODE])
- buf.dataLength = 0;
- const p = this.promise();
- this.on("data", (c) => {
- buf.push(c);
- if (!this[OBJECTMODE])
- buf.dataLength += c.length;
- });
- return p.then(() => buf);
- }
- // const data = await stream.concat()
- concat() {
- return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then(
- (buf) => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength)
- );
- }
- // stream.promise().then(() => done, er => emitted error)
- promise() {
- return new Promise((resolve, reject) => {
- this.on(DESTROYED, () => reject(new Error("stream destroyed")));
- this.on("error", (er) => reject(er));
- this.on("end", () => resolve());
- });
- }
- // for await (let chunk of stream)
- [ASYNCITERATOR]() {
- let stopped = false;
- const stop = () => {
- this.pause();
- stopped = true;
- return Promise.resolve({ done: true });
- };
- const next = () => {
- if (stopped)
- return stop();
- const res = this.read();
- if (res !== null)
- return Promise.resolve({ done: false, value: res });
- if (this[EOF])
- return stop();
- let resolve = null;
- let reject = null;
- const onerr = (er) => {
- this.removeListener("data", ondata);
- this.removeListener("end", onend);
- this.removeListener(DESTROYED, ondestroy);
- stop();
- reject(er);
- };
- const ondata = (value) => {
- this.removeListener("error", onerr);
- this.removeListener("end", onend);
- this.removeListener(DESTROYED, ondestroy);
- this.pause();
- resolve({ value, done: !!this[EOF] });
- };
- const onend = () => {
- this.removeListener("error", onerr);
- this.removeListener("data", ondata);
- this.removeListener(DESTROYED, ondestroy);
- stop();
- resolve({ done: true });
- };
- const ondestroy = () => onerr(new Error("stream destroyed"));
- return new Promise((res2, rej) => {
- reject = rej;
- resolve = res2;
- this.once(DESTROYED, ondestroy);
- this.once("error", onerr);
- this.once("end", onend);
- this.once("data", ondata);
- });
- };
- return {
- next,
- throw: stop,
- return: stop,
- [ASYNCITERATOR]() {
- return this;
- }
- };
- }
- // for (let chunk of stream)
- [ITERATOR]() {
- let stopped = false;
- const stop = () => {
- this.pause();
- this.removeListener(ERROR, stop);
- this.removeListener(DESTROYED, stop);
- this.removeListener("end", stop);
- stopped = true;
- return { done: true };
- };
- const next = () => {
- if (stopped)
- return stop();
- const value = this.read();
- return value === null ? stop() : { value };
- };
- this.once("end", stop);
- this.once(ERROR, stop);
- this.once(DESTROYED, stop);
- return {
- next,
- throw: stop,
- return: stop,
- [ITERATOR]() {
- return this;
- }
- };
- }
- destroy(er) {
- if (this[DESTROYED]) {
- if (er)
- this.emit("error", er);
- else
- this.emit(DESTROYED);
- return this;
- }
- this[DESTROYED] = true;
- this[BUFFER].length = 0;
- this[BUFFERLENGTH] = 0;
- if (typeof this.close === "function" && !this[CLOSED])
- this.close();
- if (er)
- this.emit("error", er);
- else
- this.emit(DESTROYED);
- return this;
- }
- static isStream(s) {
- return !!s && (s instanceof _Minipass || s instanceof Stream || s instanceof EE && // readable
- (typeof s.pipe === "function" || // writable
- typeof s.write === "function" && typeof s.end === "function"));
- }
- };
- exports.Minipass = Minipass;
- }
-});
-
-// .yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-64fae024e1.zip/node_modules/minizlib/constants.js
-var require_constants5 = __commonJS({
- ".yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-64fae024e1.zip/node_modules/minizlib/constants.js"(exports, module2) {
- var realZlibConstants = require("zlib").constants || /* istanbul ignore next */
- { ZLIB_VERNUM: 4736 };
- module2.exports = Object.freeze(Object.assign(/* @__PURE__ */ Object.create(null), {
- Z_NO_FLUSH: 0,
- Z_PARTIAL_FLUSH: 1,
- Z_SYNC_FLUSH: 2,
- Z_FULL_FLUSH: 3,
- Z_FINISH: 4,
- Z_BLOCK: 5,
- Z_OK: 0,
- Z_STREAM_END: 1,
- Z_NEED_DICT: 2,
- Z_ERRNO: -1,
- Z_STREAM_ERROR: -2,
- Z_DATA_ERROR: -3,
- Z_MEM_ERROR: -4,
- Z_BUF_ERROR: -5,
- Z_VERSION_ERROR: -6,
- Z_NO_COMPRESSION: 0,
- Z_BEST_SPEED: 1,
- Z_BEST_COMPRESSION: 9,
- Z_DEFAULT_COMPRESSION: -1,
- Z_FILTERED: 1,
- Z_HUFFMAN_ONLY: 2,
- Z_RLE: 3,
- Z_FIXED: 4,
- Z_DEFAULT_STRATEGY: 0,
- DEFLATE: 1,
- INFLATE: 2,
- GZIP: 3,
- GUNZIP: 4,
- DEFLATERAW: 5,
- INFLATERAW: 6,
- UNZIP: 7,
- BROTLI_DECODE: 8,
- BROTLI_ENCODE: 9,
- Z_MIN_WINDOWBITS: 8,
- Z_MAX_WINDOWBITS: 15,
- Z_DEFAULT_WINDOWBITS: 15,
- Z_MIN_CHUNK: 64,
- Z_MAX_CHUNK: Infinity,
- Z_DEFAULT_CHUNK: 16384,
- Z_MIN_MEMLEVEL: 1,
- Z_MAX_MEMLEVEL: 9,
- Z_DEFAULT_MEMLEVEL: 8,
- Z_MIN_LEVEL: -1,
- Z_MAX_LEVEL: 9,
- Z_DEFAULT_LEVEL: -1,
- BROTLI_OPERATION_PROCESS: 0,
- BROTLI_OPERATION_FLUSH: 1,
- BROTLI_OPERATION_FINISH: 2,
- BROTLI_OPERATION_EMIT_METADATA: 3,
- BROTLI_MODE_GENERIC: 0,
- BROTLI_MODE_TEXT: 1,
- BROTLI_MODE_FONT: 2,
- BROTLI_DEFAULT_MODE: 0,
- BROTLI_MIN_QUALITY: 0,
- BROTLI_MAX_QUALITY: 11,
- BROTLI_DEFAULT_QUALITY: 11,
- BROTLI_MIN_WINDOW_BITS: 10,
- BROTLI_MAX_WINDOW_BITS: 24,
- BROTLI_LARGE_MAX_WINDOW_BITS: 30,
- BROTLI_DEFAULT_WINDOW: 22,
- BROTLI_MIN_INPUT_BLOCK_BITS: 16,
- BROTLI_MAX_INPUT_BLOCK_BITS: 24,
- BROTLI_PARAM_MODE: 0,
- BROTLI_PARAM_QUALITY: 1,
- BROTLI_PARAM_LGWIN: 2,
- BROTLI_PARAM_LGBLOCK: 3,
- BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING: 4,
- BROTLI_PARAM_SIZE_HINT: 5,
- BROTLI_PARAM_LARGE_WINDOW: 6,
- BROTLI_PARAM_NPOSTFIX: 7,
- BROTLI_PARAM_NDIRECT: 8,
- BROTLI_DECODER_RESULT_ERROR: 0,
- BROTLI_DECODER_RESULT_SUCCESS: 1,
- BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT: 2,
- BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT: 3,
- BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION: 0,
- BROTLI_DECODER_PARAM_LARGE_WINDOW: 1,
- BROTLI_DECODER_NO_ERROR: 0,
- BROTLI_DECODER_SUCCESS: 1,
- BROTLI_DECODER_NEEDS_MORE_INPUT: 2,
- BROTLI_DECODER_NEEDS_MORE_OUTPUT: 3,
- BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE: -1,
- BROTLI_DECODER_ERROR_FORMAT_RESERVED: -2,
- BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE: -3,
- BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET: -4,
- BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME: -5,
- BROTLI_DECODER_ERROR_FORMAT_CL_SPACE: -6,
- BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE: -7,
- BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT: -8,
- BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1: -9,
- BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2: -10,
- BROTLI_DECODER_ERROR_FORMAT_TRANSFORM: -11,
- BROTLI_DECODER_ERROR_FORMAT_DICTIONARY: -12,
- BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS: -13,
- BROTLI_DECODER_ERROR_FORMAT_PADDING_1: -14,
- BROTLI_DECODER_ERROR_FORMAT_PADDING_2: -15,
- BROTLI_DECODER_ERROR_FORMAT_DISTANCE: -16,
- BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET: -19,
- BROTLI_DECODER_ERROR_INVALID_ARGUMENTS: -20,
- BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES: -21,
- BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS: -22,
- BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP: -25,
- BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1: -26,
- BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2: -27,
- BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES: -30,
- BROTLI_DECODER_ERROR_UNREACHABLE: -31
- }, realZlibConstants));
- }
-});
-
-// .yarn/cache/minipass-npm-3.3.6-b8d93a945b-a114746943.zip/node_modules/minipass/index.js
-var require_minipass2 = __commonJS({
- ".yarn/cache/minipass-npm-3.3.6-b8d93a945b-a114746943.zip/node_modules/minipass/index.js"(exports, module2) {
- "use strict";
- var proc = typeof process === "object" && process ? process : {
- stdout: null,
- stderr: null
- };
- var EE = require("events");
- var Stream = require("stream");
- var SD = require("string_decoder").StringDecoder;
- var EOF = Symbol("EOF");
- var MAYBE_EMIT_END = Symbol("maybeEmitEnd");
- var EMITTED_END = Symbol("emittedEnd");
- var EMITTING_END = Symbol("emittingEnd");
- var EMITTED_ERROR = Symbol("emittedError");
- var CLOSED = Symbol("closed");
- var READ = Symbol("read");
- var FLUSH = Symbol("flush");
- var FLUSHCHUNK = Symbol("flushChunk");
- var ENCODING = Symbol("encoding");
- var DECODER = Symbol("decoder");
- var FLOWING = Symbol("flowing");
- var PAUSED = Symbol("paused");
- var RESUME = Symbol("resume");
- var BUFFERLENGTH = Symbol("bufferLength");
- var BUFFERPUSH = Symbol("bufferPush");
- var BUFFERSHIFT = Symbol("bufferShift");
- var OBJECTMODE = Symbol("objectMode");
- var DESTROYED = Symbol("destroyed");
- var EMITDATA = Symbol("emitData");
- var EMITEND = Symbol("emitEnd");
- var EMITEND2 = Symbol("emitEnd2");
- var ASYNC = Symbol("async");
- var defer = (fn2) => Promise.resolve().then(fn2);
- var doIter = global._MP_NO_ITERATOR_SYMBOLS_ !== "1";
- var ASYNCITERATOR = doIter && Symbol.asyncIterator || Symbol("asyncIterator not implemented");
- var ITERATOR = doIter && Symbol.iterator || Symbol("iterator not implemented");
- var isEndish = (ev) => ev === "end" || ev === "finish" || ev === "prefinish";
- var isArrayBuffer = (b) => b instanceof ArrayBuffer || typeof b === "object" && b.constructor && b.constructor.name === "ArrayBuffer" && b.byteLength >= 0;
- var isArrayBufferView = (b) => !Buffer.isBuffer(b) && ArrayBuffer.isView(b);
- var Pipe = class {
- constructor(src, dest, opts) {
- this.src = src;
- this.dest = dest;
- this.opts = opts;
- this.ondrain = () => src[RESUME]();
- dest.on("drain", this.ondrain);
- }
- unpipe() {
- this.dest.removeListener("drain", this.ondrain);
- }
- // istanbul ignore next - only here for the prototype
- proxyErrors() {
- }
- end() {
- this.unpipe();
- if (this.opts.end)
- this.dest.end();
- }
- };
- var PipeProxyErrors = class extends Pipe {
- unpipe() {
- this.src.removeListener("error", this.proxyErrors);
- super.unpipe();
- }
- constructor(src, dest, opts) {
- super(src, dest, opts);
- this.proxyErrors = (er) => dest.emit("error", er);
- src.on("error", this.proxyErrors);
- }
- };
- module2.exports = class Minipass extends Stream {
- constructor(options) {
- super();
- this[FLOWING] = false;
- this[PAUSED] = false;
- this.pipes = [];
- this.buffer = [];
- this[OBJECTMODE] = options && options.objectMode || false;
- if (this[OBJECTMODE])
- this[ENCODING] = null;
- else
- this[ENCODING] = options && options.encoding || null;
- if (this[ENCODING] === "buffer")
- this[ENCODING] = null;
- this[ASYNC] = options && !!options.async || false;
- this[DECODER] = this[ENCODING] ? new SD(this[ENCODING]) : null;
- this[EOF] = false;
- this[EMITTED_END] = false;
- this[EMITTING_END] = false;
- this[CLOSED] = false;
- this[EMITTED_ERROR] = null;
- this.writable = true;
- this.readable = true;
- this[BUFFERLENGTH] = 0;
- this[DESTROYED] = false;
- }
- get bufferLength() {
- return this[BUFFERLENGTH];
- }
- get encoding() {
- return this[ENCODING];
- }
- set encoding(enc) {
- if (this[OBJECTMODE])
- throw new Error("cannot set encoding in objectMode");
- if (this[ENCODING] && enc !== this[ENCODING] && (this[DECODER] && this[DECODER].lastNeed || this[BUFFERLENGTH]))
- throw new Error("cannot change encoding");
- if (this[ENCODING] !== enc) {
- this[DECODER] = enc ? new SD(enc) : null;
- if (this.buffer.length)
- this.buffer = this.buffer.map((chunk) => this[DECODER].write(chunk));
- }
- this[ENCODING] = enc;
- }
- setEncoding(enc) {
- this.encoding = enc;
- }
- get objectMode() {
- return this[OBJECTMODE];
- }
- set objectMode(om) {
- this[OBJECTMODE] = this[OBJECTMODE] || !!om;
- }
- get ["async"]() {
- return this[ASYNC];
- }
- set ["async"](a) {
- this[ASYNC] = this[ASYNC] || !!a;
- }
- write(chunk, encoding, cb) {
- if (this[EOF])
- throw new Error("write after end");
- if (this[DESTROYED]) {
- this.emit("error", Object.assign(
- new Error("Cannot call write after a stream was destroyed"),
- { code: "ERR_STREAM_DESTROYED" }
- ));
- return true;
- }
- if (typeof encoding === "function")
- cb = encoding, encoding = "utf8";
- if (!encoding)
- encoding = "utf8";
- const fn2 = this[ASYNC] ? defer : (f) => f();
- if (!this[OBJECTMODE] && !Buffer.isBuffer(chunk)) {
- if (isArrayBufferView(chunk))
- chunk = Buffer.from(chunk.buffer, chunk.byteOffset, chunk.byteLength);
- else if (isArrayBuffer(chunk))
- chunk = Buffer.from(chunk);
- else if (typeof chunk !== "string")
- this.objectMode = true;
- }
- if (this[OBJECTMODE]) {
- if (this.flowing && this[BUFFERLENGTH] !== 0)
- this[FLUSH](true);
- if (this.flowing)
- this.emit("data", chunk);
- else
- this[BUFFERPUSH](chunk);
- if (this[BUFFERLENGTH] !== 0)
- this.emit("readable");
- if (cb)
- fn2(cb);
- return this.flowing;
- }
- if (!chunk.length) {
- if (this[BUFFERLENGTH] !== 0)
- this.emit("readable");
- if (cb)
- fn2(cb);
- return this.flowing;
- }
- if (typeof chunk === "string" && // unless it is a string already ready for us to use
- !(encoding === this[ENCODING] && !this[DECODER].lastNeed)) {
- chunk = Buffer.from(chunk, encoding);
- }
- if (Buffer.isBuffer(chunk) && this[ENCODING])
- chunk = this[DECODER].write(chunk);
- if (this.flowing && this[BUFFERLENGTH] !== 0)
- this[FLUSH](true);
- if (this.flowing)
- this.emit("data", chunk);
- else
- this[BUFFERPUSH](chunk);
- if (this[BUFFERLENGTH] !== 0)
- this.emit("readable");
- if (cb)
- fn2(cb);
- return this.flowing;
- }
- read(n) {
- if (this[DESTROYED])
- return null;
- if (this[BUFFERLENGTH] === 0 || n === 0 || n > this[BUFFERLENGTH]) {
- this[MAYBE_EMIT_END]();
- return null;
- }
- if (this[OBJECTMODE])
- n = null;
- if (this.buffer.length > 1 && !this[OBJECTMODE]) {
- if (this.encoding)
- this.buffer = [this.buffer.join("")];
- else
- this.buffer = [Buffer.concat(this.buffer, this[BUFFERLENGTH])];
- }
- const ret = this[READ](n || null, this.buffer[0]);
- this[MAYBE_EMIT_END]();
- return ret;
- }
- [READ](n, chunk) {
- if (n === chunk.length || n === null)
- this[BUFFERSHIFT]();
- else {
- this.buffer[0] = chunk.slice(n);
- chunk = chunk.slice(0, n);
- this[BUFFERLENGTH] -= n;
- }
- this.emit("data", chunk);
- if (!this.buffer.length && !this[EOF])
- this.emit("drain");
- return chunk;
- }
- end(chunk, encoding, cb) {
- if (typeof chunk === "function")
- cb = chunk, chunk = null;
- if (typeof encoding === "function")
- cb = encoding, encoding = "utf8";
- if (chunk)
- this.write(chunk, encoding);
- if (cb)
- this.once("end", cb);
- this[EOF] = true;
- this.writable = false;
- if (this.flowing || !this[PAUSED])
- this[MAYBE_EMIT_END]();
- return this;
- }
- // don't let the internal resume be overwritten
- [RESUME]() {
- if (this[DESTROYED])
- return;
- this[PAUSED] = false;
- this[FLOWING] = true;
- this.emit("resume");
- if (this.buffer.length)
- this[FLUSH]();
- else if (this[EOF])
- this[MAYBE_EMIT_END]();
- else
- this.emit("drain");
- }
- resume() {
- return this[RESUME]();
- }
- pause() {
- this[FLOWING] = false;
- this[PAUSED] = true;
- }
- get destroyed() {
- return this[DESTROYED];
- }
- get flowing() {
- return this[FLOWING];
- }
- get paused() {
- return this[PAUSED];
- }
- [BUFFERPUSH](chunk) {
- if (this[OBJECTMODE])
- this[BUFFERLENGTH] += 1;
- else
- this[BUFFERLENGTH] += chunk.length;
- this.buffer.push(chunk);
- }
- [BUFFERSHIFT]() {
- if (this.buffer.length) {
- if (this[OBJECTMODE])
- this[BUFFERLENGTH] -= 1;
- else
- this[BUFFERLENGTH] -= this.buffer[0].length;
- }
- return this.buffer.shift();
- }
- [FLUSH](noDrain) {
- do {
- } while (this[FLUSHCHUNK](this[BUFFERSHIFT]()));
- if (!noDrain && !this.buffer.length && !this[EOF])
- this.emit("drain");
- }
- [FLUSHCHUNK](chunk) {
- return chunk ? (this.emit("data", chunk), this.flowing) : false;
- }
- pipe(dest, opts) {
- if (this[DESTROYED])
- return;
- const ended = this[EMITTED_END];
- opts = opts || {};
- if (dest === proc.stdout || dest === proc.stderr)
- opts.end = false;
- else
- opts.end = opts.end !== false;
- opts.proxyErrors = !!opts.proxyErrors;
- if (ended) {
- if (opts.end)
- dest.end();
- } else {
- this.pipes.push(!opts.proxyErrors ? new Pipe(this, dest, opts) : new PipeProxyErrors(this, dest, opts));
- if (this[ASYNC])
- defer(() => this[RESUME]());
- else
- this[RESUME]();
- }
- return dest;
- }
- unpipe(dest) {
- const p = this.pipes.find((p2) => p2.dest === dest);
- if (p) {
- this.pipes.splice(this.pipes.indexOf(p), 1);
- p.unpipe();
- }
- }
- addListener(ev, fn2) {
- return this.on(ev, fn2);
- }
- on(ev, fn2) {
- const ret = super.on(ev, fn2);
- if (ev === "data" && !this.pipes.length && !this.flowing)
- this[RESUME]();
- else if (ev === "readable" && this[BUFFERLENGTH] !== 0)
- super.emit("readable");
- else if (isEndish(ev) && this[EMITTED_END]) {
- super.emit(ev);
- this.removeAllListeners(ev);
- } else if (ev === "error" && this[EMITTED_ERROR]) {
- if (this[ASYNC])
- defer(() => fn2.call(this, this[EMITTED_ERROR]));
- else
- fn2.call(this, this[EMITTED_ERROR]);
- }
- return ret;
- }
- get emittedEnd() {
- return this[EMITTED_END];
- }
- [MAYBE_EMIT_END]() {
- if (!this[EMITTING_END] && !this[EMITTED_END] && !this[DESTROYED] && this.buffer.length === 0 && this[EOF]) {
- this[EMITTING_END] = true;
- this.emit("end");
- this.emit("prefinish");
- this.emit("finish");
- if (this[CLOSED])
- this.emit("close");
- this[EMITTING_END] = false;
- }
- }
- emit(ev, data, ...extra) {
- if (ev !== "error" && ev !== "close" && ev !== DESTROYED && this[DESTROYED])
- return;
- else if (ev === "data") {
- return !data ? false : this[ASYNC] ? defer(() => this[EMITDATA](data)) : this[EMITDATA](data);
- } else if (ev === "end") {
- return this[EMITEND]();
- } else if (ev === "close") {
- this[CLOSED] = true;
- if (!this[EMITTED_END] && !this[DESTROYED])
- return;
- const ret2 = super.emit("close");
- this.removeAllListeners("close");
- return ret2;
- } else if (ev === "error") {
- this[EMITTED_ERROR] = data;
- const ret2 = super.emit("error", data);
- this[MAYBE_EMIT_END]();
- return ret2;
- } else if (ev === "resume") {
- const ret2 = super.emit("resume");
- this[MAYBE_EMIT_END]();
- return ret2;
- } else if (ev === "finish" || ev === "prefinish") {
- const ret2 = super.emit(ev);
- this.removeAllListeners(ev);
- return ret2;
- }
- const ret = super.emit(ev, data, ...extra);
- this[MAYBE_EMIT_END]();
- return ret;
- }
- [EMITDATA](data) {
- for (const p of this.pipes) {
- if (p.dest.write(data) === false)
- this.pause();
- }
- const ret = super.emit("data", data);
- this[MAYBE_EMIT_END]();
- return ret;
- }
- [EMITEND]() {
- if (this[EMITTED_END])
- return;
- this[EMITTED_END] = true;
- this.readable = false;
- if (this[ASYNC])
- defer(() => this[EMITEND2]());
- else
- this[EMITEND2]();
- }
- [EMITEND2]() {
- if (this[DECODER]) {
- const data = this[DECODER].end();
- if (data) {
- for (const p of this.pipes) {
- p.dest.write(data);
- }
- super.emit("data", data);
- }
- }
- for (const p of this.pipes) {
- p.end();
- }
- const ret = super.emit("end");
- this.removeAllListeners("end");
- return ret;
- }
- // const all = await stream.collect()
- collect() {
- const buf = [];
- if (!this[OBJECTMODE])
- buf.dataLength = 0;
- const p = this.promise();
- this.on("data", (c) => {
- buf.push(c);
- if (!this[OBJECTMODE])
- buf.dataLength += c.length;
- });
- return p.then(() => buf);
- }
- // const data = await stream.concat()
- concat() {
- return this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this.collect().then((buf) => this[OBJECTMODE] ? Promise.reject(new Error("cannot concat in objectMode")) : this[ENCODING] ? buf.join("") : Buffer.concat(buf, buf.dataLength));
- }
- // stream.promise().then(() => done, er => emitted error)
- promise() {
- return new Promise((resolve, reject) => {
- this.on(DESTROYED, () => reject(new Error("stream destroyed")));
- this.on("error", (er) => reject(er));
- this.on("end", () => resolve());
- });
- }
- // for await (let chunk of stream)
- [ASYNCITERATOR]() {
- const next = () => {
- const res = this.read();
- if (res !== null)
- return Promise.resolve({ done: false, value: res });
- if (this[EOF])
- return Promise.resolve({ done: true });
- let resolve = null;
- let reject = null;
- const onerr = (er) => {
- this.removeListener("data", ondata);
- this.removeListener("end", onend);
- reject(er);
- };
- const ondata = (value) => {
- this.removeListener("error", onerr);
- this.removeListener("end", onend);
- this.pause();
- resolve({ value, done: !!this[EOF] });
- };
- const onend = () => {
- this.removeListener("error", onerr);
- this.removeListener("data", ondata);
- resolve({ done: true });
- };
- const ondestroy = () => onerr(new Error("stream destroyed"));
- return new Promise((res2, rej) => {
- reject = rej;
- resolve = res2;
- this.once(DESTROYED, ondestroy);
- this.once("error", onerr);
- this.once("end", onend);
- this.once("data", ondata);
- });
- };
- return { next };
- }
- // for (let chunk of stream)
- [ITERATOR]() {
- const next = () => {
- const value = this.read();
- const done = value === null;
- return { value, done };
- };
- return { next };
- }
- destroy(er) {
- if (this[DESTROYED]) {
- if (er)
- this.emit("error", er);
- else
- this.emit(DESTROYED);
- return this;
- }
- this[DESTROYED] = true;
- this.buffer.length = 0;
- this[BUFFERLENGTH] = 0;
- if (typeof this.close === "function" && !this[CLOSED])
- this.close();
- if (er)
- this.emit("error", er);
- else
- this.emit(DESTROYED);
- return this;
- }
- static isStream(s) {
- return !!s && (s instanceof Minipass || s instanceof Stream || s instanceof EE && (typeof s.pipe === "function" || // readable
- typeof s.write === "function" && typeof s.end === "function"));
- }
- };
- }
-});
-
-// .yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-64fae024e1.zip/node_modules/minizlib/index.js
-var require_minizlib = __commonJS({
- ".yarn/cache/minizlib-npm-2.1.2-ea89cd0cfb-64fae024e1.zip/node_modules/minizlib/index.js"(exports) {
- "use strict";
- var assert3 = require("assert");
- var Buffer2 = require("buffer").Buffer;
- var realZlib = require("zlib");
- var constants = exports.constants = require_constants5();
- var Minipass = require_minipass2();
- var OriginalBufferConcat = Buffer2.concat;
- var _superWrite = Symbol("_superWrite");
- var ZlibError = class extends Error {
- constructor(err) {
- super("zlib: " + err.message);
- 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);
- }
- get name() {
- return "ZlibError";
- }
- };
- var _opts = Symbol("opts");
- var _flushFlag = Symbol("flushFlag");
- var _finishFlushFlag = Symbol("finishFlushFlag");
- var _fullFlushFlag = Symbol("fullFlushFlag");
- var _handle = Symbol("handle");
- var _onError = Symbol("onError");
- var _sawError = Symbol("sawError");
- var _level = Symbol("level");
- var _strategy = Symbol("strategy");
- var _ended = Symbol("ended");
- var _defaultFullFlush = Symbol("_defaultFullFlush");
- var ZlibBase = class extends Minipass {
- constructor(opts, mode) {
- if (!opts || typeof opts !== "object")
- throw new TypeError("invalid options for ZlibBase constructor");
- super(opts);
- this[_sawError] = false;
- this[_ended] = false;
- this[_opts] = opts;
- this[_flushFlag] = opts.flush;
- this[_finishFlushFlag] = opts.finishFlush;
- try {
- this[_handle] = new realZlib[mode](opts);
- } catch (er) {
- throw new ZlibError(er);
- }
- this[_onError] = (err) => {
- if (this[_sawError])
- return;
- this[_sawError] = true;
- this.close();
- this.emit("error", err);
- };
- this[_handle].on("error", (er) => this[_onError](new ZlibError(er)));
- this.once("end", () => this.close);
- }
- close() {
- if (this[_handle]) {
- this[_handle].close();
- this[_handle] = null;
- this.emit("close");
- }
- }
- reset() {
- if (!this[_sawError]) {
- assert3(this[_handle], "zlib binding closed");
- return this[_handle].reset();
- }
- }
- flush(flushFlag) {
- if (this.ended)
- return;
- if (typeof flushFlag !== "number")
- flushFlag = this[_fullFlushFlag];
- this.write(Object.assign(Buffer2.alloc(0), { [_flushFlag]: flushFlag }));
- }
- end(chunk, encoding, cb) {
- if (chunk)
- this.write(chunk, encoding);
- this.flush(this[_finishFlushFlag]);
- this[_ended] = true;
- return super.end(null, null, cb);
- }
- get ended() {
- return this[_ended];
- }
- write(chunk, encoding, cb) {
- if (typeof encoding === "function")
- cb = encoding, encoding = "utf8";
- if (typeof chunk === "string")
- chunk = Buffer2.from(chunk, encoding);
- if (this[_sawError])
- return;
- assert3(this[_handle], "zlib binding closed");
- const nativeHandle = this[_handle]._handle;
- const originalNativeClose = nativeHandle.close;
- nativeHandle.close = () => {
- };
- const originalClose = this[_handle].close;
- this[_handle].close = () => {
- };
- Buffer2.concat = (args) => args;
- let result;
- try {
- const flushFlag = typeof chunk[_flushFlag] === "number" ? chunk[_flushFlag] : this[_flushFlag];
- result = this[_handle]._processChunk(chunk, flushFlag);
- Buffer2.concat = OriginalBufferConcat;
- } catch (err) {
- Buffer2.concat = OriginalBufferConcat;
- this[_onError](new ZlibError(err));
- } finally {
- if (this[_handle]) {
- this[_handle]._handle = nativeHandle;
- nativeHandle.close = originalNativeClose;
- this[_handle].close = originalClose;
- this[_handle].removeAllListeners("error");
- }
- }
- if (this[_handle])
- this[_handle].on("error", (er) => this[_onError](new ZlibError(er)));
- let writeReturn;
- if (result) {
- if (Array.isArray(result) && result.length > 0) {
- writeReturn = this[_superWrite](Buffer2.from(result[0]));
- for (let i = 1; i < result.length; i++) {
- writeReturn = this[_superWrite](result[i]);
- }
- } else {
- writeReturn = this[_superWrite](Buffer2.from(result));
- }
- }
- if (cb)
- cb();
- return writeReturn;
- }
- [_superWrite](data) {
- return super.write(data);
- }
- };
- var Zlib = class extends ZlibBase {
- constructor(opts, mode) {
- opts = opts || {};
- opts.flush = opts.flush || constants.Z_NO_FLUSH;
- opts.finishFlush = opts.finishFlush || constants.Z_FINISH;
- super(opts, mode);
- this[_fullFlushFlag] = constants.Z_FULL_FLUSH;
- this[_level] = opts.level;
- this[_strategy] = opts.strategy;
- }
- params(level, strategy) {
- if (this[_sawError])
- return;
- if (!this[_handle])
- throw new Error("cannot switch params when binding is closed");
- if (!this[_handle].params)
- throw new Error("not supported in this implementation");
- if (this[_level] !== level || this[_strategy] !== strategy) {
- this.flush(constants.Z_SYNC_FLUSH);
- assert3(this[_handle], "zlib binding closed");
- const origFlush = this[_handle].flush;
- this[_handle].flush = (flushFlag, cb) => {
- this.flush(flushFlag);
- cb();
- };
- try {
- this[_handle].params(level, strategy);
- } finally {
- this[_handle].flush = origFlush;
- }
- if (this[_handle]) {
- this[_level] = level;
- this[_strategy] = strategy;
- }
- }
- }
- };
- var Deflate = class extends Zlib {
- constructor(opts) {
- super(opts, "Deflate");
- }
- };
- var Inflate = class extends Zlib {
- constructor(opts) {
- super(opts, "Inflate");
- }
- };
- var _portable = Symbol("_portable");
- var Gzip = class extends Zlib {
- constructor(opts) {
- super(opts, "Gzip");
- this[_portable] = opts && !!opts.portable;
- }
- [_superWrite](data) {
- if (!this[_portable])
- return super[_superWrite](data);
- this[_portable] = false;
- data[9] = 255;
- return super[_superWrite](data);
- }
- };
- var Gunzip = class extends Zlib {
- constructor(opts) {
- super(opts, "Gunzip");
- }
- };
- var DeflateRaw = class extends Zlib {
- constructor(opts) {
- super(opts, "DeflateRaw");
- }
- };
- var InflateRaw = class extends Zlib {
- constructor(opts) {
- super(opts, "InflateRaw");
- }
- };
- var Unzip = class extends Zlib {
- constructor(opts) {
- super(opts, "Unzip");
- }
- };
- var Brotli = class extends ZlibBase {
- constructor(opts, mode) {
- opts = opts || {};
- opts.flush = opts.flush || constants.BROTLI_OPERATION_PROCESS;
- opts.finishFlush = opts.finishFlush || constants.BROTLI_OPERATION_FINISH;
- super(opts, mode);
- this[_fullFlushFlag] = constants.BROTLI_OPERATION_FLUSH;
- }
- };
- var BrotliCompress = class extends Brotli {
- constructor(opts) {
- super(opts, "BrotliCompress");
- }
- };
- var BrotliDecompress = class extends Brotli {
- constructor(opts) {
- super(opts, "BrotliDecompress");
- }
- };
- exports.Deflate = Deflate;
- exports.Inflate = Inflate;
- exports.Gzip = Gzip;
- exports.Gunzip = Gunzip;
- exports.DeflateRaw = DeflateRaw;
- exports.InflateRaw = InflateRaw;
- exports.Unzip = Unzip;
- if (typeof realZlib.BrotliCompress === "function") {
- exports.BrotliCompress = BrotliCompress;
- exports.BrotliDecompress = BrotliDecompress;
- } else {
- exports.BrotliCompress = exports.BrotliDecompress = class {
- constructor() {
- throw new Error("Brotli is not supported in this version of Node.js");
- }
- };
- }
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/normalize-windows-path.js
-var require_normalize_windows_path = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/normalize-windows-path.js"(exports, module2) {
- var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
- module2.exports = platform !== "win32" ? (p) => p : (p) => p && p.replace(/\\/g, "/");
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/read-entry.js
-var require_read_entry = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/read-entry.js"(exports, module2) {
- "use strict";
- var { Minipass } = require_minipass();
- var normPath = require_normalize_windows_path();
- var SLURP = Symbol("slurp");
- module2.exports = class ReadEntry extends Minipass {
- constructor(header, ex, gex) {
- super();
- this.pause();
- this.extended = ex;
- this.globalExtended = gex;
- this.header = header;
- this.startBlockSize = 512 * Math.ceil(header.size / 512);
- this.blockRemain = this.startBlockSize;
- this.remain = header.size;
- this.type = header.type;
- this.meta = false;
- this.ignore = false;
- 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;
- default:
- this.ignore = true;
- }
- this.path = normPath(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 = header.size;
- this.mtime = header.mtime;
- this.atime = header.atime;
- this.ctime = header.ctime;
- this.linkpath = normPath(header.linkpath);
- 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.slice(0, r));
- }
- [SLURP](ex, global2) {
- for (const k in ex) {
- if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) {
- this[k] = k === "path" || k === "linkpath" ? normPath(ex[k]) : ex[k];
- }
- }
- }
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/types.js
-var require_types = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/types.js"(exports) {
- "use strict";
- exports.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"]
- ]);
- exports.code = new Map(Array.from(exports.name).map((kv) => [kv[1], kv[0]]));
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/large-numbers.js
-var require_large_numbers = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/large-numbers.js"(exports, module2) {
- "use strict";
- var 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);
- }
- return buf;
- };
- var encodePositive = (num, buf) => {
- buf[0] = 128;
- for (var i = buf.length; i > 1; i--) {
- buf[i - 1] = num & 255;
- num = Math.floor(num / 256);
- }
- };
- var 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);
- }
- }
- };
- var parse = (buf) => {
- const pre = buf[0];
- const value = pre === 128 ? pos(buf.slice(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;
- };
- var twos = (buf) => {
- var len = buf.length;
- var sum = 0;
- var flipped = false;
- for (var i = len - 1; i > -1; i--) {
- var byte = buf[i];
- var f;
- if (flipped) {
- f = onesComp(byte);
- } else if (byte === 0) {
- f = byte;
- } else {
- flipped = true;
- f = twosComp(byte);
- }
- if (f !== 0) {
- sum -= f * Math.pow(256, len - i - 1);
- }
- }
- return sum;
- };
- var pos = (buf) => {
- var len = buf.length;
- var sum = 0;
- for (var i = len - 1; i > -1; i--) {
- var byte = buf[i];
- if (byte !== 0) {
- sum += byte * Math.pow(256, len - i - 1);
- }
- }
- return sum;
- };
- var onesComp = (byte) => (255 ^ byte) & 255;
- var twosComp = (byte) => (255 ^ byte) + 1 & 255;
- module2.exports = {
- encode,
- parse
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/header.js
-var require_header = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/header.js"(exports, module2) {
- "use strict";
- var types = require_types();
- var pathModule = require("path").posix;
- var large = require_large_numbers();
- var SLURP = Symbol("slurp");
- var TYPE = Symbol("type");
- var Header = class {
- constructor(data, off, ex, gex) {
- this.cksumValid = false;
- this.needPax = false;
- this.nullBlock = false;
- this.block = null;
- this.path = null;
- this.mode = null;
- this.uid = null;
- this.gid = null;
- this.size = null;
- this.mtime = null;
- this.cksum = null;
- this[TYPE] = "0";
- this.linkpath = null;
- this.uname = null;
- this.gname = null;
- this.devmaj = 0;
- this.devmin = 0;
- this.atime = null;
- this.ctime = null;
- if (Buffer.isBuffer(data)) {
- this.decode(data, off || 0, ex, gex);
- } else if (data) {
- this.set(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);
- this[SLURP](ex);
- this[SLURP](gex, true);
- this[TYPE] = decString(buf, off + 156, 1);
- if (this[TYPE] === "") {
- this[TYPE] = "0";
- }
- if (this[TYPE] === "0" && this.path.slice(-1) === "/") {
- this[TYPE] = "5";
- }
- if (this[TYPE] === "5") {
- this.size = 0;
- }
- this.linkpath = decString(buf, off + 157, 100);
- if (buf.slice(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);
- this.devmin = decNumber(buf, off + 337, 8);
- 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);
- }
- }
- let sum = 8 * 32;
- for (let i = off; i < off + 148; i++) {
- sum += buf[i];
- }
- for (let i = off + 156; i < off + 512; i++) {
- sum += buf[i];
- }
- this.cksumValid = sum === this.cksum;
- if (this.cksum === null && sum === 8 * 32) {
- this.nullBlock = true;
- }
- }
- [SLURP](ex, global2) {
- for (const k in ex) {
- if (ex[k] !== null && ex[k] !== void 0 && !(global2 && k === "path")) {
- this[k] = ex[k];
- }
- }
- }
- encode(buf, off) {
- if (!buf) {
- buf = this.block = Buffer.alloc(512);
- off = 0;
- }
- if (!off) {
- off = 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 path10 = split[0];
- const prefix = split[1];
- this.needPax = split[2];
- this.needPax = encString(buf, off, 100, path10) || 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;
- }
- let sum = 8 * 32;
- for (let i = off; i < off + 148; i++) {
- sum += buf[i];
- }
- for (let i = off + 156; i < off + 512; i++) {
- sum += buf[i];
- }
- this.cksum = sum;
- encNumber(buf, off + 148, 8, this.cksum);
- this.cksumValid = true;
- return this.needPax;
- }
- set(data) {
- for (const i in data) {
- if (data[i] !== null && data[i] !== void 0) {
- this[i] = data[i];
- }
- }
- }
- get type() {
- return types.name.get(this[TYPE]) || this[TYPE];
- }
- get typeKey() {
- return this[TYPE];
- }
- set type(type) {
- if (types.code.has(type)) {
- this[TYPE] = types.code.get(type);
- } else {
- this[TYPE] = type;
- }
- }
- };
- var splitPrefix = (p, prefixSize) => {
- const pathSize = 100;
- let pp = p;
- let prefix = "";
- let ret;
- const root = pathModule.parse(p).root || ".";
- if (Buffer.byteLength(pp) < pathSize) {
- ret = [pp, prefix, false];
- } else {
- prefix = pathModule.dirname(pp);
- pp = pathModule.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 = pathModule.join(pathModule.basename(prefix), pp);
- prefix = pathModule.dirname(prefix);
- }
- } while (prefix !== root && !ret);
- if (!ret) {
- ret = [p.slice(0, pathSize - 1), "", true];
- }
- }
- return ret;
- };
- var decString = (buf, off, size) => buf.slice(off, off + size).toString("utf8").replace(/\0.*/, "");
- var decDate = (buf, off, size) => numToDate(decNumber(buf, off, size));
- var numToDate = (num) => num === null ? null : new Date(num * 1e3);
- var decNumber = (buf, off, size) => buf[off] & 128 ? large.parse(buf.slice(off, off + size)) : decSmallNumber(buf, off, size);
- var nanNull = (value) => isNaN(value) ? null : value;
- var decSmallNumber = (buf, off, size) => nanNull(parseInt(
- buf.slice(off, off + size).toString("utf8").replace(/\0.*$/, "").trim(),
- 8
- ));
- var MAXNUM = {
- 12: 8589934591,
- 8: 2097151
- };
- var encNumber = (buf, off, size, number) => number === null ? false : number > MAXNUM[size] || number < 0 ? (large.encode(number, buf.slice(off, off + size)), true) : (encSmallNumber(buf, off, size, number), false);
- var encSmallNumber = (buf, off, size, number) => buf.write(octalString(number, size), off, size, "ascii");
- var octalString = (number, size) => padOctal(Math.floor(number).toString(8), size);
- var padOctal = (string, size) => (string.length === size - 1 ? string : new Array(size - string.length - 1).join("0") + string + " ") + "\0";
- var encDate = (buf, off, size, date) => date === null ? false : encNumber(buf, off, size, date.getTime() / 1e3);
- var NULLS = new Array(156).join("\0");
- var encString = (buf, off, size, string) => string === null ? false : (buf.write(string + NULLS, off, size, "utf8"), string.length !== Buffer.byteLength(string) || string.length > size);
- module2.exports = Header;
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/pax.js
-var require_pax = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/pax.js"(exports, module2) {
- "use strict";
- var Header = require_header();
- var path10 = require("path");
- var Pax = class {
- constructor(obj, global2) {
- this.atime = obj.atime || null;
- this.charset = obj.charset || null;
- this.comment = obj.comment || null;
- this.ctime = obj.ctime || null;
- this.gid = obj.gid || null;
- this.gname = obj.gname || null;
- this.linkpath = obj.linkpath || null;
- this.mtime = obj.mtime || null;
- this.path = obj.path || null;
- this.size = obj.size || null;
- this.uid = obj.uid || null;
- this.uname = obj.uname || null;
- this.dev = obj.dev || null;
- this.ino = obj.ino || null;
- this.nlink = obj.nlink || null;
- this.global = global2 || false;
- }
- encode() {
- const body = this.encodeBody();
- if (body === "") {
- return null;
- }
- 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
- path: ("PaxHeader/" + path10.basename(this.path)).slice(0, 99),
- mode: this.mode || 420,
- uid: this.uid || null,
- gid: this.gid || null,
- size: bodyLen,
- mtime: this.mtime || null,
- type: this.global ? "GlobalExtendedHeader" : "ExtendedHeader",
- linkpath: "",
- uname: this.uname || "",
- gname: this.gname || "",
- devmaj: 0,
- devmin: 0,
- atime: this.atime || null,
- ctime: this.ctime || null
- }).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] === null || this[field] === void 0) {
- return "";
- }
- const v = this[field] instanceof Date ? this[field].getTime() / 1e3 : this[field];
- 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;
- }
- };
- Pax.parse = (string, ex, g) => new Pax(merge(parseKV(string), ex), g);
- var merge = (a, b) => b ? Object.keys(a).reduce((s, k) => (s[k] = a[k], s), b) : a;
- var parseKV = (string) => string.replace(/\n$/, "").split("\n").reduce(parseKVLine, /* @__PURE__ */ Object.create(null));
- var 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 k = kv.shift().replace(/^SCHILY\.(dev|ino|nlink)/, "$1");
- if (!k) {
- return set;
- }
- const v = kv.join("=");
- set[k] = /^([A-Z]+\.)?([mac]|birth|creation)time$/.test(k) ? new Date(v * 1e3) : /^[0-9]+$/.test(v) ? +v : v;
- return set;
- };
- module2.exports = Pax;
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/strip-trailing-slashes.js
-var require_strip_trailing_slashes = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/strip-trailing-slashes.js"(exports, module2) {
- module2.exports = (str) => {
- let i = str.length - 1;
- let slashesStart = -1;
- while (i > -1 && str.charAt(i) === "/") {
- slashesStart = i;
- i--;
- }
- return slashesStart === -1 ? str : str.slice(0, slashesStart);
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/warn-mixin.js
-var require_warn_mixin = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/warn-mixin.js"(exports, module2) {
- "use strict";
- module2.exports = (Base) => class extends Base {
- warn(code, message, data = {}) {
- if (this.file) {
- data.file = this.file;
- }
- if (this.cwd) {
- data.cwd = this.cwd;
- }
- data.code = message instanceof Error && message.code || code;
- data.tarCode = code;
- if (!this.strict && data.recoverable !== false) {
- if (message instanceof Error) {
- data = Object.assign(message, data);
- message = message.message;
- }
- this.emit("warn", data.tarCode, message, data);
- } else if (message instanceof Error) {
- this.emit("error", Object.assign(message, data));
- } else {
- this.emit("error", Object.assign(new Error(`${code}: ${message}`), data));
- }
- }
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/winchars.js
-var require_winchars = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/winchars.js"(exports, module2) {
- "use strict";
- var raw = [
- "|",
- "<",
- ">",
- "?",
- ":"
- ];
- var win = raw.map((char) => String.fromCharCode(61440 + char.charCodeAt(0)));
- var toWin = new Map(raw.map((char, i) => [char, win[i]]));
- var toRaw = new Map(win.map((char, i) => [char, raw[i]]));
- module2.exports = {
- encode: (s) => raw.reduce((s2, c) => s2.split(c).join(toWin.get(c)), s),
- decode: (s) => win.reduce((s2, c) => s2.split(c).join(toRaw.get(c)), s)
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/strip-absolute-path.js
-var require_strip_absolute_path = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/strip-absolute-path.js"(exports, module2) {
- var { isAbsolute, parse } = require("path").win32;
- module2.exports = (path10) => {
- let r = "";
- let parsed = parse(path10);
- while (isAbsolute(path10) || parsed.root) {
- const root = path10.charAt(0) === "/" && path10.slice(0, 4) !== "//?/" ? "/" : parsed.root;
- path10 = path10.slice(root.length);
- r += root;
- parsed = parse(path10);
- }
- return [r, path10];
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/mode-fix.js
-var require_mode_fix = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/mode-fix.js"(exports, module2) {
- "use strict";
- module2.exports = (mode, isDir, portable) => {
- mode &= 4095;
- if (portable) {
- mode = (mode | 384) & ~18;
- }
- if (isDir) {
- if (mode & 256) {
- mode |= 64;
- }
- if (mode & 32) {
- mode |= 8;
- }
- if (mode & 4) {
- mode |= 1;
- }
- }
- return mode;
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/write-entry.js
-var require_write_entry = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/write-entry.js"(exports, module2) {
- "use strict";
- var { Minipass } = require_minipass();
- var Pax = require_pax();
- var Header = require_header();
- var fs9 = require("fs");
- var path10 = require("path");
- var normPath = require_normalize_windows_path();
- var stripSlash = require_strip_trailing_slashes();
- var prefixPath = (path11, prefix) => {
- if (!prefix) {
- return normPath(path11);
- }
- path11 = normPath(path11).replace(/^\.(\/|$)/, "");
- return stripSlash(prefix) + "/" + path11;
- };
- var maxReadSize = 16 * 1024 * 1024;
- var PROCESS = Symbol("process");
- var FILE = Symbol("file");
- var DIRECTORY = Symbol("directory");
- var SYMLINK = Symbol("symlink");
- var HARDLINK = Symbol("hardlink");
- var HEADER = Symbol("header");
- var READ = Symbol("read");
- var LSTAT = Symbol("lstat");
- var ONLSTAT = Symbol("onlstat");
- var ONREAD = Symbol("onread");
- var ONREADLINK = Symbol("onreadlink");
- var OPENFILE = Symbol("openfile");
- var ONOPENFILE = Symbol("onopenfile");
- var CLOSE = Symbol("close");
- var MODE = Symbol("mode");
- var AWAITDRAIN = Symbol("awaitDrain");
- var ONDRAIN = Symbol("ondrain");
- var PREFIX = Symbol("prefix");
- var HAD_ERROR = Symbol("hadError");
- var warner = require_warn_mixin();
- var winchars = require_winchars();
- var stripAbsolutePath = require_strip_absolute_path();
- var modeFix = require_mode_fix();
- var WriteEntry = warner(class WriteEntry extends Minipass {
- constructor(p, opt) {
- opt = opt || {};
- super(opt);
- if (typeof p !== "string") {
- throw new TypeError("path is required");
- }
- this.path = normPath(p);
- this.portable = !!opt.portable;
- this.myuid = process.getuid && process.getuid() || 0;
- this.myuser = process.env.USER || "";
- 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 = normPath(opt.cwd || process.cwd());
- this.strict = !!opt.strict;
- this.noPax = !!opt.noPax;
- this.noMtime = !!opt.noMtime;
- this.mtime = opt.mtime || null;
- this.prefix = opt.prefix ? normPath(opt.prefix) : null;
- this.fd = null;
- this.blockLen = null;
- this.blockRemain = null;
- this.buf = null;
- this.offset = null;
- this.length = null;
- this.pos = null;
- this.remain = null;
- if (typeof opt.onwarn === "function") {
- this.on("warn", opt.onwarn);
- }
- let pathWarn = false;
- if (!this.preservePaths) {
- const [root, stripped] = stripAbsolutePath(this.path);
- if (root) {
- this.path = stripped;
- pathWarn = root;
- }
- }
- this.win32 = !!opt.win32 || process.platform === "win32";
- if (this.win32) {
- this.path = winchars.decode(this.path.replace(/\\/g, "/"));
- p = p.replace(/\\/g, "/");
- }
- this.absolute = normPath(opt.absolute || path10.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
- });
- }
- if (this.statCache.has(this.absolute)) {
- this[ONLSTAT](this.statCache.get(this.absolute));
- } else {
- this[LSTAT]();
- }
- }
- emit(ev, ...data) {
- if (ev === "error") {
- this[HAD_ERROR] = true;
- }
- return super.emit(ev, ...data);
- }
- [LSTAT]() {
- fs9.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[FILE]();
- case "Directory":
- return this[DIRECTORY]();
- case "SymbolicLink":
- return this[SYMLINK]();
- default:
- return this.end();
- }
- }
- [MODE](mode) {
- return modeFix(mode, this.type === "Directory", this.portable);
- }
- [PREFIX](path11) {
- return prefixPath(path11, this.prefix);
- }
- [HEADER]() {
- if (this.type === "Directory" && this.portable) {
- this.noMtime = true;
- }
- this.header = new Header({
- path: this[PREFIX](this.path),
- // only apply the prefix to hard links.
- linkpath: this.type === "Link" ? 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 ? null : this.stat.uid,
- gid: this.portable ? null : this.stat.gid,
- size: this.stat.size,
- mtime: this.noMtime ? null : this.mtime || this.stat.mtime,
- type: this.type,
- uname: this.portable ? null : this.stat.uid === this.myuid ? this.myuser : "",
- atime: this.portable ? null : this.stat.atime,
- ctime: this.portable ? null : this.stat.ctime
- });
- if (this.header.encode() && !this.noPax) {
- super.write(new Pax({
- atime: this.portable ? null : this.header.atime,
- ctime: this.portable ? null : this.header.ctime,
- gid: this.portable ? null : this.header.gid,
- mtime: this.noMtime ? null : this.mtime || this.header.mtime,
- path: this[PREFIX](this.path),
- linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
- size: this.header.size,
- uid: this.portable ? null : this.header.uid,
- uname: this.portable ? null : this.header.uname,
- dev: this.portable ? null : this.stat.dev,
- ino: this.portable ? null : this.stat.ino,
- nlink: this.portable ? null : this.stat.nlink
- }).encode());
- }
- super.write(this.header.block);
- }
- [DIRECTORY]() {
- if (this.path.slice(-1) !== "/") {
- this.path += "/";
- }
- this.stat.size = 0;
- this[HEADER]();
- this.end();
- }
- [SYMLINK]() {
- fs9.readlink(this.absolute, (er, linkpath) => {
- if (er) {
- return this.emit("error", er);
- }
- this[ONREADLINK](linkpath);
- });
- }
- [ONREADLINK](linkpath) {
- this.linkpath = normPath(linkpath);
- this[HEADER]();
- this.end();
- }
- [HARDLINK](linkpath) {
- this.type = "Link";
- this.linkpath = normPath(path10.relative(this.cwd, linkpath));
- this.stat.size = 0;
- this[HEADER]();
- this.end();
- }
- [FILE]() {
- if (this.stat.nlink > 1) {
- const linkKey = this.stat.dev + ":" + this.stat.ino;
- if (this.linkCache.has(linkKey)) {
- const linkpath = this.linkCache.get(linkKey);
- if (linkpath.indexOf(this.cwd) === 0) {
- return this[HARDLINK](linkpath);
- }
- }
- this.linkCache.set(linkKey, this.absolute);
- }
- this[HEADER]();
- if (this.stat.size === 0) {
- return this.end();
- }
- this[OPENFILE]();
- }
- [OPENFILE]() {
- fs9.open(this.absolute, "r", (er, fd) => {
- if (er) {
- return this.emit("error", er);
- }
- this[ONOPENFILE](fd);
- });
- }
- [ONOPENFILE](fd) {
- this.fd = fd;
- if (this[HAD_ERROR]) {
- return this[CLOSE]();
- }
- 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[READ]();
- }
- [READ]() {
- const { fd, buf, offset, length, pos } = this;
- fs9.read(fd, buf, offset, length, pos, (er, bytesRead) => {
- if (er) {
- return this[CLOSE](() => this.emit("error", er));
- }
- this[ONREAD](bytesRead);
- });
- }
- [CLOSE](cb) {
- fs9.close(this.fd, cb);
- }
- [ONREAD](bytesRead) {
- if (bytesRead <= 0 && this.remain > 0) {
- const er = new Error("encountered unexpected EOF");
- er.path = this.absolute;
- er.syscall = "read";
- er.code = "EOF";
- return this[CLOSE](() => this.emit("error", er));
- }
- if (bytesRead > this.remain) {
- const er = new Error("did not encounter expected EOF");
- er.path = this.absolute;
- er.syscall = "read";
- er.code = "EOF";
- return this[CLOSE](() => this.emit("error", er));
- }
- 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 writeBuf = this.offset === 0 && bytesRead === this.buf.length ? this.buf : this.buf.slice(this.offset, this.offset + bytesRead);
- const flushed = this.write(writeBuf);
- if (!flushed) {
- this[AWAITDRAIN](() => this[ONDRAIN]());
- } else {
- this[ONDRAIN]();
- }
- }
- [AWAITDRAIN](cb) {
- this.once("drain", cb);
- }
- write(writeBuf) {
- if (this.blockRemain < writeBuf.length) {
- const er = new Error("writing more data than expected");
- er.path = this.absolute;
- return this.emit("error", er);
- }
- this.remain -= writeBuf.length;
- this.blockRemain -= writeBuf.length;
- this.pos += writeBuf.length;
- this.offset += writeBuf.length;
- return super.write(writeBuf);
- }
- [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.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[READ]();
- }
- });
- var WriteEntrySync = class extends WriteEntry {
- [LSTAT]() {
- this[ONLSTAT](fs9.lstatSync(this.absolute));
- }
- [SYMLINK]() {
- this[ONREADLINK](fs9.readlinkSync(this.absolute));
- }
- [OPENFILE]() {
- this[ONOPENFILE](fs9.openSync(this.absolute, "r"));
- }
- [READ]() {
- let threw = true;
- try {
- const { fd, buf, offset, length, pos } = this;
- const bytesRead = fs9.readSync(fd, buf, offset, length, pos);
- this[ONREAD](bytesRead);
- threw = false;
- } finally {
- if (threw) {
- try {
- this[CLOSE](() => {
- });
- } catch (er) {
- }
- }
- }
- }
- [AWAITDRAIN](cb) {
- cb();
- }
- [CLOSE](cb) {
- fs9.closeSync(this.fd);
- cb();
- }
- };
- var WriteEntryTar = warner(class WriteEntryTar extends Minipass {
- constructor(readEntry, opt) {
- opt = opt || {};
- super(opt);
- this.preservePaths = !!opt.preservePaths;
- this.portable = !!opt.portable;
- this.strict = !!opt.strict;
- this.noPax = !!opt.noPax;
- this.noMtime = !!opt.noMtime;
- this.readEntry = readEntry;
- this.type = readEntry.type;
- if (this.type === "Directory" && this.portable) {
- this.noMtime = true;
- }
- this.prefix = opt.prefix || null;
- this.path = normPath(readEntry.path);
- this.mode = this[MODE](readEntry.mode);
- this.uid = this.portable ? null : readEntry.uid;
- this.gid = this.portable ? null : readEntry.gid;
- this.uname = this.portable ? null : readEntry.uname;
- this.gname = this.portable ? null : readEntry.gname;
- this.size = readEntry.size;
- this.mtime = this.noMtime ? null : opt.mtime || readEntry.mtime;
- this.atime = this.portable ? null : readEntry.atime;
- this.ctime = this.portable ? null : readEntry.ctime;
- this.linkpath = normPath(readEntry.linkpath);
- if (typeof opt.onwarn === "function") {
- this.on("warn", opt.onwarn);
- }
- let pathWarn = false;
- if (!this.preservePaths) {
- const [root, stripped] = stripAbsolutePath(this.path);
- if (root) {
- this.path = stripped;
- pathWarn = root;
- }
- }
- this.remain = readEntry.size;
- this.blockRemain = readEntry.startBlockSize;
- this.header = new Header({
- path: this[PREFIX](this.path),
- linkpath: this.type === "Link" ? 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 ? null : this.uid,
- gid: this.portable ? null : this.gid,
- size: this.size,
- mtime: this.noMtime ? null : this.mtime,
- type: this.type,
- uname: this.portable ? null : this.uname,
- atime: this.portable ? null : this.atime,
- ctime: this.portable ? null : 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 ? null : this.atime,
- ctime: this.portable ? null : this.ctime,
- gid: this.portable ? null : this.gid,
- mtime: this.noMtime ? null : this.mtime,
- path: this[PREFIX](this.path),
- linkpath: this.type === "Link" ? this[PREFIX](this.linkpath) : this.linkpath,
- size: this.size,
- uid: this.portable ? null : this.uid,
- uname: this.portable ? null : this.uname,
- dev: this.portable ? null : this.readEntry.dev,
- ino: this.portable ? null : this.readEntry.ino,
- nlink: this.portable ? null : this.readEntry.nlink
- }).encode());
- }
- super.write(this.header.block);
- readEntry.pipe(this);
- }
- [PREFIX](path11) {
- return prefixPath(path11, this.prefix);
- }
- [MODE](mode) {
- return modeFix(mode, this.type === "Directory", this.portable);
- }
- write(data) {
- const writeLen = data.length;
- if (writeLen > this.blockRemain) {
- throw new Error("writing more to entry than is appropriate");
- }
- this.blockRemain -= writeLen;
- return super.write(data);
- }
- end() {
- if (this.blockRemain) {
- super.write(Buffer.alloc(this.blockRemain));
- }
- return super.end();
- }
- });
- WriteEntry.Sync = WriteEntrySync;
- WriteEntry.Tar = WriteEntryTar;
- var getType = (stat) => stat.isFile() ? "File" : stat.isDirectory() ? "Directory" : stat.isSymbolicLink() ? "SymbolicLink" : "Unsupported";
- module2.exports = WriteEntry;
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/pack.js
-var require_pack = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/pack.js"(exports, module2) {
- "use strict";
- var PackJob = class {
- constructor(path11, absolute) {
- this.path = path11 || "./";
- this.absolute = absolute;
- this.entry = null;
- this.stat = null;
- this.readdir = null;
- this.pending = false;
- this.ignore = false;
- this.piped = false;
- }
- };
- var { Minipass } = require_minipass();
- var zlib = require_minizlib();
- var ReadEntry = require_read_entry();
- var WriteEntry = require_write_entry();
- var WriteEntrySync = WriteEntry.Sync;
- var WriteEntryTar = WriteEntry.Tar;
- var Yallist = require_yallist();
- var EOF = Buffer.alloc(1024);
- var ONSTAT = Symbol("onStat");
- var ENDED = Symbol("ended");
- var QUEUE = Symbol("queue");
- var CURRENT = Symbol("current");
- var PROCESS = Symbol("process");
- var PROCESSING = Symbol("processing");
- var PROCESSJOB = Symbol("processJob");
- var JOBS = Symbol("jobs");
- var JOBDONE = Symbol("jobDone");
- var ADDFSENTRY = Symbol("addFSEntry");
- var ADDTARENTRY = Symbol("addTarEntry");
- var STAT = Symbol("stat");
- var READDIR = Symbol("readdir");
- var ONREADDIR = Symbol("onreaddir");
- var PIPE = Symbol("pipe");
- var ENTRY = Symbol("entry");
- var ENTRYOPT = Symbol("entryOpt");
- var WRITEENTRYCLASS = Symbol("writeEntryClass");
- var WRITE = Symbol("write");
- var ONDRAIN = Symbol("ondrain");
- var fs9 = require("fs");
- var path10 = require("path");
- var warner = require_warn_mixin();
- var normPath = require_normalize_windows_path();
- var Pack = warner(class Pack extends Minipass {
- constructor(opt) {
- super(opt);
- opt = opt || /* @__PURE__ */ Object.create(null);
- this.opt = opt;
- this.file = opt.file || "";
- this.cwd = opt.cwd || process.cwd();
- this.maxReadSize = opt.maxReadSize;
- this.preservePaths = !!opt.preservePaths;
- this.strict = !!opt.strict;
- this.noPax = !!opt.noPax;
- this.prefix = normPath(opt.prefix || "");
- this.linkCache = opt.linkCache || /* @__PURE__ */ new Map();
- this.statCache = opt.statCache || /* @__PURE__ */ new Map();
- this.readdirCache = opt.readdirCache || /* @__PURE__ */ new Map();
- this[WRITEENTRYCLASS] = WriteEntry;
- if (typeof opt.onwarn === "function") {
- this.on("warn", opt.onwarn);
- }
- this.portable = !!opt.portable;
- this.zip = null;
- if (opt.gzip || opt.brotli) {
- if (opt.gzip && opt.brotli) {
- throw new TypeError("gzip and brotli are mutually exclusive");
- }
- if (opt.gzip) {
- if (typeof opt.gzip !== "object") {
- opt.gzip = {};
- }
- if (this.portable) {
- opt.gzip.portable = true;
- }
- this.zip = new zlib.Gzip(opt.gzip);
- }
- if (opt.brotli) {
- if (typeof opt.brotli !== "object") {
- opt.brotli = {};
- }
- this.zip = new zlib.BrotliCompress(opt.brotli);
- }
- this.zip.on("data", (chunk) => super.write(chunk));
- this.zip.on("end", (_) => super.end());
- this.zip.on("drain", (_) => this[ONDRAIN]());
- this.on("resume", (_) => this.zip.resume());
- } else {
- this.on("drain", this[ONDRAIN]);
- }
- this.noDirRecurse = !!opt.noDirRecurse;
- this.follow = !!opt.follow;
- this.noMtime = !!opt.noMtime;
- this.mtime = opt.mtime || null;
- this.filter = typeof opt.filter === "function" ? opt.filter : (_) => true;
- this[QUEUE] = new Yallist();
- this[JOBS] = 0;
- this.jobs = +opt.jobs || 4;
- this[PROCESSING] = false;
- this[ENDED] = false;
- }
- [WRITE](chunk) {
- return super.write(chunk);
- }
- add(path11) {
- this.write(path11);
- return this;
- }
- end(path11) {
- if (path11) {
- this.write(path11);
- }
- this[ENDED] = true;
- this[PROCESS]();
- return this;
- }
- write(path11) {
- if (this[ENDED]) {
- throw new Error("write after end");
- }
- if (path11 instanceof ReadEntry) {
- this[ADDTARENTRY](path11);
- } else {
- this[ADDFSENTRY](path11);
- }
- return this.flowing;
- }
- [ADDTARENTRY](p) {
- const absolute = normPath(path10.resolve(this.cwd, p.path));
- if (!this.filter(p.path, p)) {
- p.resume();
- } else {
- const job = new PackJob(p.path, absolute, false);
- job.entry = new WriteEntryTar(p, this[ENTRYOPT](job));
- job.entry.on("end", (_) => this[JOBDONE](job));
- this[JOBS] += 1;
- this[QUEUE].push(job);
- }
- this[PROCESS]();
- }
- [ADDFSENTRY](p) {
- const absolute = normPath(path10.resolve(this.cwd, p));
- this[QUEUE].push(new PackJob(p, absolute));
- this[PROCESS]();
- }
- [STAT](job) {
- job.pending = true;
- this[JOBS] += 1;
- const stat = this.follow ? "stat" : "lstat";
- fs9[stat](job.absolute, (er, stat2) => {
- job.pending = false;
- this[JOBS] -= 1;
- if (er) {
- this.emit("error", er);
- } else {
- this[ONSTAT](job, stat2);
- }
- });
- }
- [ONSTAT](job, stat) {
- this.statCache.set(job.absolute, stat);
- job.stat = stat;
- if (!this.filter(job.path, stat)) {
- job.ignore = true;
- }
- this[PROCESS]();
- }
- [READDIR](job) {
- job.pending = true;
- this[JOBS] += 1;
- fs9.readdir(job.absolute, (er, entries) => {
- job.pending = false;
- this[JOBS] -= 1;
- if (er) {
- return this.emit("error", er);
- }
- this[ONREADDIR](job, entries);
- });
- }
- [ONREADDIR](job, entries) {
- this.readdirCache.set(job.absolute, entries);
- job.readdir = entries;
- this[PROCESS]();
- }
- [PROCESS]() {
- if (this[PROCESSING]) {
- return;
- }
- this[PROCESSING] = true;
- for (let w = this[QUEUE].head; w !== null && this[JOBS] < this.jobs; w = w.next) {
- this[PROCESSJOB](w.value);
- if (w.value.ignore) {
- const p = w.next;
- this[QUEUE].removeNode(w);
- w.next = p;
- }
- }
- this[PROCESSING] = false;
- if (this[ENDED] && !this[QUEUE].length && this[JOBS] === 0) {
- if (this.zip) {
- this.zip.end(EOF);
- } else {
- super.write(EOF);
- super.end();
- }
- }
- }
- get [CURRENT]() {
- return this[QUEUE] && this[QUEUE].head && this[QUEUE].head.value;
- }
- [JOBDONE](job) {
- this[QUEUE].shift();
- this[JOBS] -= 1;
- this[PROCESS]();
- }
- [PROCESSJOB](job) {
- if (job.pending) {
- return;
- }
- if (job.entry) {
- if (job === this[CURRENT] && !job.piped) {
- this[PIPE](job);
- }
- return;
- }
- if (!job.stat) {
- if (this.statCache.has(job.absolute)) {
- this[ONSTAT](job, this.statCache.get(job.absolute));
- } else {
- this[STAT](job);
- }
- }
- if (!job.stat) {
- return;
- }
- if (job.ignore) {
- return;
- }
- if (!this.noDirRecurse && job.stat.isDirectory() && !job.readdir) {
- if (this.readdirCache.has(job.absolute)) {
- this[ONREADDIR](job, this.readdirCache.get(job.absolute));
- } else {
- this[READDIR](job);
- }
- if (!job.readdir) {
- return;
- }
- }
- job.entry = this[ENTRY](job);
- if (!job.entry) {
- job.ignore = true;
- return;
- }
- if (job === this[CURRENT] && !job.piped) {
- this[PIPE](job);
- }
- }
- [ENTRYOPT](job) {
- return {
- onwarn: (code, msg, data) => this.warn(code, msg, data),
- noPax: this.noPax,
- cwd: this.cwd,
- absolute: job.absolute,
- preservePaths: this.preservePaths,
- maxReadSize: this.maxReadSize,
- strict: this.strict,
- portable: this.portable,
- linkCache: this.linkCache,
- statCache: this.statCache,
- noMtime: this.noMtime,
- mtime: this.mtime,
- prefix: this.prefix
- };
- }
- [ENTRY](job) {
- this[JOBS] += 1;
- try {
- return new this[WRITEENTRYCLASS](job.path, this[ENTRYOPT](job)).on("end", () => this[JOBDONE](job)).on("error", (er) => this.emit("error", er));
- } catch (er) {
- this.emit("error", er);
- }
- }
- [ONDRAIN]() {
- if (this[CURRENT] && this[CURRENT].entry) {
- this[CURRENT].entry.resume();
- }
- }
- // like .pipe() but using super, because our write() is special
- [PIPE](job) {
- job.piped = true;
- if (job.readdir) {
- job.readdir.forEach((entry) => {
- const p = job.path;
- const base = p === "./" ? "" : p.replace(/\/*$/, "/");
- this[ADDFSENTRY](base + entry);
- });
- }
- const source = job.entry;
- const zip = this.zip;
- if (zip) {
- source.on("data", (chunk) => {
- if (!zip.write(chunk)) {
- source.pause();
- }
- });
- } else {
- source.on("data", (chunk) => {
- if (!super.write(chunk)) {
- source.pause();
- }
- });
- }
- }
- pause() {
- if (this.zip) {
- this.zip.pause();
- }
- return super.pause();
- }
- });
- var PackSync = class extends Pack {
- constructor(opt) {
- super(opt);
- this[WRITEENTRYCLASS] = WriteEntrySync;
- }
- // pause/resume are no-ops in sync streams.
- pause() {
- }
- resume() {
- }
- [STAT](job) {
- const stat = this.follow ? "statSync" : "lstatSync";
- this[ONSTAT](job, fs9[stat](job.absolute));
- }
- [READDIR](job, stat) {
- this[ONREADDIR](job, fs9.readdirSync(job.absolute));
- }
- // gotta get it all in this tick
- [PIPE](job) {
- const source = job.entry;
- const zip = this.zip;
- if (job.readdir) {
- job.readdir.forEach((entry) => {
- const p = job.path;
- const base = p === "./" ? "" : p.replace(/\/*$/, "/");
- this[ADDFSENTRY](base + entry);
- });
- }
- if (zip) {
- source.on("data", (chunk) => {
- zip.write(chunk);
- });
- } else {
- source.on("data", (chunk) => {
- super[WRITE](chunk);
- });
- }
- }
- };
- Pack.Sync = PackSync;
- module2.exports = Pack;
- }
-});
-
-// .yarn/cache/fs-minipass-npm-2.1.0-501ef87306-703d16522b.zip/node_modules/fs-minipass/index.js
-var require_fs_minipass = __commonJS({
- ".yarn/cache/fs-minipass-npm-2.1.0-501ef87306-703d16522b.zip/node_modules/fs-minipass/index.js"(exports) {
- "use strict";
- var MiniPass = require_minipass2();
- var EE = require("events").EventEmitter;
- var fs9 = require("fs");
- var writev = fs9.writev;
- if (!writev) {
- const binding = process.binding("fs");
- const FSReqWrap = binding.FSReqWrap || binding.FSReqCallback;
- writev = (fd, iovec, pos, cb) => {
- const done = (er, bw) => cb(er, bw, iovec);
- const req = new FSReqWrap();
- req.oncomplete = done;
- binding.writeBuffers(fd, iovec, pos, req);
- };
- }
- var _autoClose = Symbol("_autoClose");
- var _close = Symbol("_close");
- var _ended = Symbol("_ended");
- var _fd = Symbol("_fd");
- var _finished = Symbol("_finished");
- var _flags = Symbol("_flags");
- var _flush = Symbol("_flush");
- var _handleChunk = Symbol("_handleChunk");
- var _makeBuf = Symbol("_makeBuf");
- var _mode = Symbol("_mode");
- var _needDrain = Symbol("_needDrain");
- var _onerror = Symbol("_onerror");
- var _onopen = Symbol("_onopen");
- var _onread = Symbol("_onread");
- var _onwrite = Symbol("_onwrite");
- var _open = Symbol("_open");
- var _path = Symbol("_path");
- var _pos = Symbol("_pos");
- var _queue = Symbol("_queue");
- var _read = Symbol("_read");
- var _readSize = Symbol("_readSize");
- var _reading = Symbol("_reading");
- var _remain = Symbol("_remain");
- var _size = Symbol("_size");
- var _write = Symbol("_write");
- var _writing = Symbol("_writing");
- var _defaultFlag = Symbol("_defaultFlag");
- var _errored = Symbol("_errored");
- var ReadStream = class extends MiniPass {
- constructor(path10, opt) {
- opt = opt || {};
- super(opt);
- this.readable = true;
- this.writable = false;
- if (typeof path10 !== "string")
- throw new TypeError("path must be a string");
- this[_errored] = false;
- this[_fd] = typeof opt.fd === "number" ? opt.fd : null;
- this[_path] = path10;
- this[_readSize] = opt.readSize || 16 * 1024 * 1024;
- this[_reading] = false;
- this[_size] = typeof opt.size === "number" ? opt.size : Infinity;
- this[_remain] = this[_size];
- this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true;
- if (typeof this[_fd] === "number")
- this[_read]();
- else
- this[_open]();
- }
- get fd() {
- return this[_fd];
- }
- get path() {
- return this[_path];
- }
- write() {
- throw new TypeError("this is a readable stream");
- }
- end() {
- throw new TypeError("this is a readable stream");
- }
- [_open]() {
- fs9.open(this[_path], "r", (er, fd) => this[_onopen](er, fd));
- }
- [_onopen](er, fd) {
- if (er)
- this[_onerror](er);
- else {
- this[_fd] = fd;
- this.emit("open", fd);
- this[_read]();
- }
- }
- [_makeBuf]() {
- return Buffer.allocUnsafe(Math.min(this[_readSize], this[_remain]));
- }
- [_read]() {
- if (!this[_reading]) {
- this[_reading] = true;
- const buf = this[_makeBuf]();
- if (buf.length === 0)
- return process.nextTick(() => this[_onread](null, 0, buf));
- fs9.read(this[_fd], buf, 0, buf.length, null, (er, br, buf2) => this[_onread](er, br, buf2));
- }
- }
- [_onread](er, br, buf) {
- this[_reading] = false;
- if (er)
- this[_onerror](er);
- else if (this[_handleChunk](br, buf))
- this[_read]();
- }
- [_close]() {
- if (this[_autoClose] && typeof this[_fd] === "number") {
- const fd = this[_fd];
- this[_fd] = null;
- fs9.close(fd, (er) => er ? this.emit("error", er) : this.emit("close"));
- }
- }
- [_onerror](er) {
- this[_reading] = true;
- this[_close]();
- this.emit("error", er);
- }
- [_handleChunk](br, buf) {
- let ret = false;
- this[_remain] -= br;
- if (br > 0)
- ret = super.write(br < buf.length ? buf.slice(0, br) : buf);
- if (br === 0 || this[_remain] <= 0) {
- ret = false;
- this[_close]();
- super.end();
- }
- return ret;
- }
- emit(ev, data) {
- switch (ev) {
- case "prefinish":
- case "finish":
- break;
- case "drain":
- if (typeof this[_fd] === "number")
- this[_read]();
- break;
- case "error":
- if (this[_errored])
- return;
- this[_errored] = true;
- return super.emit(ev, data);
- default:
- return super.emit(ev, data);
- }
- }
- };
- var ReadStreamSync = class extends ReadStream {
- [_open]() {
- let threw = true;
- try {
- this[_onopen](null, fs9.openSync(this[_path], "r"));
- threw = false;
- } finally {
- if (threw)
- this[_close]();
- }
- }
- [_read]() {
- let threw = true;
- try {
- if (!this[_reading]) {
- this[_reading] = true;
- do {
- const buf = this[_makeBuf]();
- const br = buf.length === 0 ? 0 : fs9.readSync(this[_fd], buf, 0, buf.length, null);
- if (!this[_handleChunk](br, buf))
- break;
- } while (true);
- this[_reading] = false;
- }
- threw = false;
- } finally {
- if (threw)
- this[_close]();
- }
- }
- [_close]() {
- if (this[_autoClose] && typeof this[_fd] === "number") {
- const fd = this[_fd];
- this[_fd] = null;
- fs9.closeSync(fd);
- this.emit("close");
- }
- }
- };
- var WriteStream = class extends EE {
- constructor(path10, opt) {
- opt = opt || {};
- super(opt);
- this.readable = false;
- this.writable = true;
- this[_errored] = false;
- this[_writing] = false;
- this[_ended] = false;
- this[_needDrain] = false;
- this[_queue] = [];
- this[_path] = path10;
- this[_fd] = typeof opt.fd === "number" ? opt.fd : null;
- this[_mode] = opt.mode === void 0 ? 438 : opt.mode;
- this[_pos] = typeof opt.start === "number" ? opt.start : null;
- this[_autoClose] = typeof opt.autoClose === "boolean" ? opt.autoClose : true;
- const defaultFlag = this[_pos] !== null ? "r+" : "w";
- this[_defaultFlag] = opt.flags === void 0;
- this[_flags] = this[_defaultFlag] ? defaultFlag : opt.flags;
- if (this[_fd] === null)
- this[_open]();
- }
- emit(ev, data) {
- if (ev === "error") {
- if (this[_errored])
- return;
- this[_errored] = true;
- }
- return super.emit(ev, data);
- }
- get fd() {
- return this[_fd];
- }
- get path() {
- return this[_path];
- }
- [_onerror](er) {
- this[_close]();
- this[_writing] = true;
- this.emit("error", er);
- }
- [_open]() {
- fs9.open(
- this[_path],
- this[_flags],
- this[_mode],
- (er, fd) => this[_onopen](er, fd)
- );
- }
- [_onopen](er, fd) {
- if (this[_defaultFlag] && this[_flags] === "r+" && er && er.code === "ENOENT") {
- this[_flags] = "w";
- this[_open]();
- } else if (er)
- this[_onerror](er);
- else {
- this[_fd] = fd;
- this.emit("open", fd);
- this[_flush]();
- }
- }
- end(buf, enc) {
- if (buf)
- this.write(buf, enc);
- this[_ended] = true;
- if (!this[_writing] && !this[_queue].length && typeof this[_fd] === "number")
- this[_onwrite](null, 0);
- return this;
- }
- write(buf, enc) {
- if (typeof buf === "string")
- buf = Buffer.from(buf, enc);
- if (this[_ended]) {
- this.emit("error", new Error("write() after end()"));
- return false;
- }
- if (this[_fd] === null || this[_writing] || this[_queue].length) {
- this[_queue].push(buf);
- this[_needDrain] = true;
- return false;
- }
- this[_writing] = true;
- this[_write](buf);
- return true;
- }
- [_write](buf) {
- fs9.write(this[_fd], buf, 0, buf.length, this[_pos], (er, bw) => this[_onwrite](er, bw));
- }
- [_onwrite](er, bw) {
- if (er)
- this[_onerror](er);
- else {
- if (this[_pos] !== null)
- this[_pos] += bw;
- if (this[_queue].length)
- this[_flush]();
- else {
- this[_writing] = false;
- if (this[_ended] && !this[_finished]) {
- this[_finished] = true;
- this[_close]();
- this.emit("finish");
- } else if (this[_needDrain]) {
- this[_needDrain] = false;
- this.emit("drain");
- }
- }
- }
- }
- [_flush]() {
- if (this[_queue].length === 0) {
- if (this[_ended])
- this[_onwrite](null, 0);
- } else if (this[_queue].length === 1)
- this[_write](this[_queue].pop());
- else {
- const iovec = this[_queue];
- this[_queue] = [];
- writev(
- this[_fd],
- iovec,
- this[_pos],
- (er, bw) => this[_onwrite](er, bw)
- );
- }
- }
- [_close]() {
- if (this[_autoClose] && typeof this[_fd] === "number") {
- const fd = this[_fd];
- this[_fd] = null;
- fs9.close(fd, (er) => er ? this.emit("error", er) : this.emit("close"));
- }
- }
- };
- var WriteStreamSync = class extends WriteStream {
- [_open]() {
- let fd;
- if (this[_defaultFlag] && this[_flags] === "r+") {
- try {
- fd = fs9.openSync(this[_path], this[_flags], this[_mode]);
- } catch (er) {
- if (er.code === "ENOENT") {
- this[_flags] = "w";
- return this[_open]();
- } else
- throw er;
- }
- } else
- fd = fs9.openSync(this[_path], this[_flags], this[_mode]);
- this[_onopen](null, fd);
- }
- [_close]() {
- if (this[_autoClose] && typeof this[_fd] === "number") {
- const fd = this[_fd];
- this[_fd] = null;
- fs9.closeSync(fd);
- this.emit("close");
- }
- }
- [_write](buf) {
- let threw = true;
- try {
- this[_onwrite](
- null,
- fs9.writeSync(this[_fd], buf, 0, buf.length, this[_pos])
- );
- threw = false;
- } finally {
- if (threw)
- try {
- this[_close]();
- } catch (_) {
- }
- }
- }
- };
- exports.ReadStream = ReadStream;
- exports.ReadStreamSync = ReadStreamSync;
- exports.WriteStream = WriteStream;
- exports.WriteStreamSync = WriteStreamSync;
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/parse.js
-var require_parse2 = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/parse.js"(exports, module2) {
- "use strict";
- var warner = require_warn_mixin();
- var Header = require_header();
- var EE = require("events");
- var Yallist = require_yallist();
- var maxMetaEntrySize = 1024 * 1024;
- var Entry = require_read_entry();
- var Pax = require_pax();
- var zlib = require_minizlib();
- var { nextTick } = require("process");
- var gzipHeader = Buffer.from([31, 139]);
- var STATE = Symbol("state");
- var WRITEENTRY = Symbol("writeEntry");
- var READENTRY = Symbol("readEntry");
- var NEXTENTRY = Symbol("nextEntry");
- var PROCESSENTRY = Symbol("processEntry");
- var EX = Symbol("extendedHeader");
- var GEX = Symbol("globalExtendedHeader");
- var META = Symbol("meta");
- var EMITMETA = Symbol("emitMeta");
- var BUFFER = Symbol("buffer");
- var QUEUE = Symbol("queue");
- var ENDED = Symbol("ended");
- var EMITTEDEND = Symbol("emittedEnd");
- var EMIT = Symbol("emit");
- var UNZIP = Symbol("unzip");
- var CONSUMECHUNK = Symbol("consumeChunk");
- var CONSUMECHUNKSUB = Symbol("consumeChunkSub");
- var CONSUMEBODY = Symbol("consumeBody");
- var CONSUMEMETA = Symbol("consumeMeta");
- var CONSUMEHEADER = Symbol("consumeHeader");
- var CONSUMING = Symbol("consuming");
- var BUFFERCONCAT = Symbol("bufferConcat");
- var MAYBEEND = Symbol("maybeEnd");
- var WRITING = Symbol("writing");
- var ABORTED = Symbol("aborted");
- var DONE = Symbol("onDone");
- var SAW_VALID_ENTRY = Symbol("sawValidEntry");
- var SAW_NULL_BLOCK = Symbol("sawNullBlock");
- var SAW_EOF = Symbol("sawEOF");
- var CLOSESTREAM = Symbol("closeStream");
- var noop = (_) => true;
- module2.exports = warner(class Parser extends EE {
- constructor(opt) {
- opt = opt || {};
- super(opt);
- this.file = opt.file || "";
- this[SAW_VALID_ENTRY] = null;
- this.on(DONE, (_) => {
- if (this[STATE] === "begin" || this[SAW_VALID_ENTRY] === false) {
- this.warn("TAR_BAD_ARCHIVE", "Unrecognized archive format");
- }
- });
- if (opt.ondone) {
- this.on(DONE, opt.ondone);
- } else {
- this.on(DONE, (_) => {
- this.emit("prefinish");
- this.emit("finish");
- this.emit("end");
- });
- }
- this.strict = !!opt.strict;
- this.maxMetaEntrySize = opt.maxMetaEntrySize || maxMetaEntrySize;
- this.filter = typeof opt.filter === "function" ? opt.filter : noop;
- 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.writable = true;
- this.readable = false;
- this[QUEUE] = new Yallist();
- this[BUFFER] = null;
- this[READENTRY] = null;
- this[WRITEENTRY] = null;
- this[STATE] = "begin";
- this[META] = "";
- this[EX] = null;
- this[GEX] = null;
- this[ENDED] = false;
- this[UNZIP] = null;
- this[ABORTED] = false;
- this[SAW_NULL_BLOCK] = false;
- this[SAW_EOF] = false;
- this.on("end", () => this[CLOSESTREAM]());
- if (typeof opt.onwarn === "function") {
- this.on("warn", opt.onwarn);
- }
- if (typeof opt.onentry === "function") {
- this.on("entry", opt.onentry);
- }
- }
- [CONSUMEHEADER](chunk, position) {
- if (this[SAW_VALID_ENTRY] === null) {
- this[SAW_VALID_ENTRY] = false;
- }
- let header;
- try {
- header = new Header(chunk, position, this[EX], this[GEX]);
- } catch (er) {
- return this.warn("TAR_ENTRY_INVALID", er);
- }
- if (header.nullBlock) {
- if (this[SAW_NULL_BLOCK]) {
- this[SAW_EOF] = true;
- if (this[STATE] === "begin") {
- this[STATE] = "header";
- }
- this[EMIT]("eof");
- } else {
- this[SAW_NULL_BLOCK] = true;
- this[EMIT]("nullBlock");
- }
- } else {
- this[SAW_NULL_BLOCK] = false;
- if (!header.cksumValid) {
- this.warn("TAR_ENTRY_INVALID", "checksum failure", { header });
- } else if (!header.path) {
- this.warn("TAR_ENTRY_INVALID", "path is required", { header });
- } else {
- const type = header.type;
- if (/^(Symbolic)?Link$/.test(type) && !header.linkpath) {
- this.warn("TAR_ENTRY_INVALID", "linkpath required", { header });
- } else if (!/^(Symbolic)?Link$/.test(type) && header.linkpath) {
- this.warn("TAR_ENTRY_INVALID", "linkpath forbidden", { header });
- } else {
- const entry = this[WRITEENTRY] = new Entry(header, this[EX], this[GEX]);
- if (!this[SAW_VALID_ENTRY]) {
- if (entry.remain) {
- const onend = () => {
- if (!entry.invalid) {
- this[SAW_VALID_ENTRY] = true;
- }
- };
- entry.on("end", onend);
- } else {
- this[SAW_VALID_ENTRY] = true;
- }
- }
- if (entry.meta) {
- if (entry.size > this.maxMetaEntrySize) {
- entry.ignore = true;
- this[EMIT]("ignoredEntry", entry);
- this[STATE] = "ignore";
- entry.resume();
- } else if (entry.size > 0) {
- this[META] = "";
- entry.on("data", (c) => this[META] += c);
- this[STATE] = "meta";
- }
- } else {
- this[EX] = null;
- entry.ignore = entry.ignore || !this.filter(entry.path, entry);
- if (entry.ignore) {
- this[EMIT]("ignoredEntry", entry);
- this[STATE] = entry.remain ? "ignore" : "header";
- entry.resume();
- } else {
- if (entry.remain) {
- this[STATE] = "body";
- } else {
- this[STATE] = "header";
- entry.end();
- }
- if (!this[READENTRY]) {
- this[QUEUE].push(entry);
- this[NEXTENTRY]();
- } else {
- this[QUEUE].push(entry);
- }
- }
- }
- }
- }
- }
- }
- [CLOSESTREAM]() {
- nextTick(() => this.emit("close"));
- }
- [PROCESSENTRY](entry) {
- let go = true;
- if (!entry) {
- this[READENTRY] = null;
- go = false;
- } else if (Array.isArray(entry)) {
- this.emit.apply(this, entry);
- } else {
- this[READENTRY] = entry;
- this.emit("entry", entry);
- if (!entry.emittedEnd) {
- entry.on("end", (_) => this[NEXTENTRY]());
- go = false;
- }
- }
- return go;
- }
- [NEXTENTRY]() {
- do {
- } while (this[PROCESSENTRY](this[QUEUE].shift()));
- if (!this[QUEUE].length) {
- const re = this[READENTRY];
- const drainNow = !re || re.flowing || re.size === re.remain;
- if (drainNow) {
- if (!this[WRITING]) {
- this.emit("drain");
- }
- } else {
- re.once("drain", (_) => this.emit("drain"));
- }
- }
- }
- [CONSUMEBODY](chunk, position) {
- const entry = this[WRITEENTRY];
- const br = entry.blockRemain;
- const c = br >= chunk.length && position === 0 ? chunk : chunk.slice(position, position + br);
- entry.write(c);
- if (!entry.blockRemain) {
- this[STATE] = "header";
- this[WRITEENTRY] = null;
- entry.end();
- }
- return c.length;
- }
- [CONSUMEMETA](chunk, position) {
- const entry = this[WRITEENTRY];
- const ret = this[CONSUMEBODY](chunk, position);
- if (!this[WRITEENTRY]) {
- this[EMITMETA](entry);
- }
- return ret;
- }
- [EMIT](ev, data, extra) {
- if (!this[QUEUE].length && !this[READENTRY]) {
- this.emit(ev, data, extra);
- } else {
- this[QUEUE].push([ev, data, extra]);
- }
- }
- [EMITMETA](entry) {
- this[EMIT]("meta", this[META]);
- switch (entry.type) {
- case "ExtendedHeader":
- case "OldExtendedHeader":
- this[EX] = Pax.parse(this[META], this[EX], false);
- break;
- case "GlobalExtendedHeader":
- this[GEX] = Pax.parse(this[META], this[GEX], true);
- break;
- case "NextFileHasLongPath":
- case "OldGnuLongPath":
- this[EX] = this[EX] || /* @__PURE__ */ Object.create(null);
- this[EX].path = this[META].replace(/\0.*/, "");
- break;
- case "NextFileHasLongLinkpath":
- this[EX] = this[EX] || /* @__PURE__ */ Object.create(null);
- this[EX].linkpath = this[META].replace(/\0.*/, "");
- break;
- default:
- throw new Error("unknown meta: " + entry.type);
- }
- }
- abort(error) {
- this[ABORTED] = true;
- this.emit("abort", error);
- this.warn("TAR_ABORT", error, { recoverable: false });
- }
- write(chunk) {
- if (this[ABORTED]) {
- return;
- }
- const needSniff = this[UNZIP] === null || this.brotli === void 0 && this[UNZIP] === false;
- if (needSniff && chunk) {
- if (this[BUFFER]) {
- chunk = Buffer.concat([this[BUFFER], chunk]);
- this[BUFFER] = null;
- }
- if (chunk.length < gzipHeader.length) {
- this[BUFFER] = chunk;
- return true;
- }
- for (let i = 0; this[UNZIP] === null && i < gzipHeader.length; i++) {
- if (chunk[i] !== gzipHeader[i]) {
- this[UNZIP] = false;
- }
- }
- const maybeBrotli = this.brotli === void 0;
- if (this[UNZIP] === false && maybeBrotli) {
- if (chunk.length < 512) {
- if (this[ENDED]) {
- this.brotli = true;
- } else {
- this[BUFFER] = chunk;
- return true;
- }
- } else {
- try {
- new Header(chunk.slice(0, 512));
- this.brotli = false;
- } catch (_) {
- this.brotli = true;
- }
- }
- }
- if (this[UNZIP] === null || this[UNZIP] === false && this.brotli) {
- const ended = this[ENDED];
- this[ENDED] = false;
- this[UNZIP] = this[UNZIP] === null ? new zlib.Unzip() : new zlib.BrotliDecompress();
- this[UNZIP].on("data", (chunk2) => this[CONSUMECHUNK](chunk2));
- this[UNZIP].on("error", (er) => this.abort(er));
- this[UNZIP].on("end", (_) => {
- this[ENDED] = true;
- this[CONSUMECHUNK]();
- });
- this[WRITING] = true;
- const ret2 = this[UNZIP][ended ? "end" : "write"](chunk);
- this[WRITING] = false;
- return ret2;
- }
- }
- this[WRITING] = true;
- if (this[UNZIP]) {
- this[UNZIP].write(chunk);
- } else {
- this[CONSUMECHUNK](chunk);
- }
- this[WRITING] = false;
- const ret = this[QUEUE].length ? false : this[READENTRY] ? this[READENTRY].flowing : true;
- if (!ret && !this[QUEUE].length) {
- this[READENTRY].once("drain", (_) => this.emit("drain"));
- }
- return ret;
- }
- [BUFFERCONCAT](c) {
- if (c && !this[ABORTED]) {
- this[BUFFER] = this[BUFFER] ? Buffer.concat([this[BUFFER], c]) : c;
- }
- }
- [MAYBEEND]() {
- if (this[ENDED] && !this[EMITTEDEND] && !this[ABORTED] && !this[CONSUMING]) {
- this[EMITTEDEND] = true;
- const entry = this[WRITEENTRY];
- if (entry && entry.blockRemain) {
- const have = this[BUFFER] ? this[BUFFER].length : 0;
- this.warn("TAR_BAD_ARCHIVE", `Truncated input (needed ${entry.blockRemain} more bytes, only ${have} available)`, { entry });
- if (this[BUFFER]) {
- entry.write(this[BUFFER]);
- }
- entry.end();
- }
- this[EMIT](DONE);
- }
- }
- [CONSUMECHUNK](chunk) {
- if (this[CONSUMING]) {
- this[BUFFERCONCAT](chunk);
- } else if (!chunk && !this[BUFFER]) {
- this[MAYBEEND]();
- } else {
- this[CONSUMING] = true;
- if (this[BUFFER]) {
- this[BUFFERCONCAT](chunk);
- const c = this[BUFFER];
- this[BUFFER] = null;
- this[CONSUMECHUNKSUB](c);
- } else {
- this[CONSUMECHUNKSUB](chunk);
- }
- while (this[BUFFER] && this[BUFFER].length >= 512 && !this[ABORTED] && !this[SAW_EOF]) {
- const c = this[BUFFER];
- this[BUFFER] = null;
- this[CONSUMECHUNKSUB](c);
- }
- this[CONSUMING] = false;
- }
- if (!this[BUFFER] || this[ENDED]) {
- this[MAYBEEND]();
- }
- }
- [CONSUMECHUNKSUB](chunk) {
- let position = 0;
- const length = chunk.length;
- while (position + 512 <= length && !this[ABORTED] && !this[SAW_EOF]) {
- switch (this[STATE]) {
- case "begin":
- case "header":
- this[CONSUMEHEADER](chunk, position);
- position += 512;
- break;
- case "ignore":
- case "body":
- position += this[CONSUMEBODY](chunk, position);
- break;
- case "meta":
- position += this[CONSUMEMETA](chunk, position);
- break;
- default:
- throw new Error("invalid state: " + this[STATE]);
- }
- }
- if (position < length) {
- if (this[BUFFER]) {
- this[BUFFER] = Buffer.concat([chunk.slice(position), this[BUFFER]]);
- } else {
- this[BUFFER] = chunk.slice(position);
- }
- }
- }
- end(chunk) {
- if (!this[ABORTED]) {
- if (this[UNZIP]) {
- this[UNZIP].end(chunk);
- } else {
- this[ENDED] = true;
- if (this.brotli === void 0)
- chunk = chunk || Buffer.alloc(0);
- this.write(chunk);
- }
- }
- }
- });
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/list.js
-var require_list = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/list.js"(exports, module2) {
- "use strict";
- var hlo = require_high_level_opt();
- var Parser = require_parse2();
- var fs9 = require("fs");
- var fsm = require_fs_minipass();
- var path10 = require("path");
- var stripSlash = require_strip_trailing_slashes();
- module2.exports = (opt_, files, cb) => {
- if (typeof opt_ === "function") {
- cb = opt_, files = null, opt_ = {};
- } else if (Array.isArray(opt_)) {
- files = opt_, opt_ = {};
- }
- if (typeof files === "function") {
- cb = files, files = null;
- }
- if (!files) {
- files = [];
- } else {
- files = Array.from(files);
- }
- const opt = hlo(opt_);
- if (opt.sync && typeof cb === "function") {
- throw new TypeError("callback not supported for sync tar functions");
- }
- if (!opt.file && typeof cb === "function") {
- throw new TypeError("callback only supported with file option");
- }
- if (files.length) {
- filesFilter(opt, files);
- }
- if (!opt.noResume) {
- onentryFunction(opt);
- }
- return opt.file && opt.sync ? listFileSync(opt) : opt.file ? listFile(opt, cb) : list(opt);
- };
- var onentryFunction = (opt) => {
- const onentry = opt.onentry;
- opt.onentry = onentry ? (e) => {
- onentry(e);
- e.resume();
- } : (e) => e.resume();
- };
- var filesFilter = (opt, files) => {
- const map = new Map(files.map((f) => [stripSlash(f), true]));
- const filter = opt.filter;
- const mapHas = (file, r) => {
- const root = r || path10.parse(file).root || ".";
- const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path10.dirname(file), root);
- map.set(file, ret);
- return ret;
- };
- opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file));
- };
- var listFileSync = (opt) => {
- const p = list(opt);
- const file = opt.file;
- let threw = true;
- let fd;
- try {
- const stat = fs9.statSync(file);
- const readSize = opt.maxReadSize || 16 * 1024 * 1024;
- if (stat.size < readSize) {
- p.end(fs9.readFileSync(file));
- } else {
- let pos = 0;
- const buf = Buffer.allocUnsafe(readSize);
- fd = fs9.openSync(file, "r");
- while (pos < stat.size) {
- const bytesRead = fs9.readSync(fd, buf, 0, readSize, pos);
- pos += bytesRead;
- p.write(buf.slice(0, bytesRead));
- }
- p.end();
- }
- threw = false;
- } finally {
- if (threw && fd) {
- try {
- fs9.closeSync(fd);
- } catch (er) {
- }
- }
- }
- };
- var listFile = (opt, cb) => {
- const parse = new Parser(opt);
- const readSize = opt.maxReadSize || 16 * 1024 * 1024;
- const file = opt.file;
- const p = new Promise((resolve, reject) => {
- parse.on("error", reject);
- parse.on("end", resolve);
- fs9.stat(file, (er, stat) => {
- if (er) {
- reject(er);
- } else {
- const stream = new fsm.ReadStream(file, {
- readSize,
- size: stat.size
- });
- stream.on("error", reject);
- stream.pipe(parse);
- }
- });
- });
- return cb ? p.then(cb, cb) : p;
- };
- var list = (opt) => new Parser(opt);
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/create.js
-var require_create = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/create.js"(exports, module2) {
- "use strict";
- var hlo = require_high_level_opt();
- var Pack = require_pack();
- var fsm = require_fs_minipass();
- var t = require_list();
- var path10 = require("path");
- module2.exports = (opt_, files, cb) => {
- if (typeof files === "function") {
- cb = files;
- }
- if (Array.isArray(opt_)) {
- files = opt_, opt_ = {};
- }
- if (!files || !Array.isArray(files) || !files.length) {
- throw new TypeError("no files or directories specified");
- }
- files = Array.from(files);
- const opt = hlo(opt_);
- if (opt.sync && typeof cb === "function") {
- throw new TypeError("callback not supported for sync tar functions");
- }
- if (!opt.file && typeof cb === "function") {
- throw new TypeError("callback only supported with file option");
- }
- return opt.file && opt.sync ? createFileSync(opt, files) : opt.file ? createFile(opt, files, cb) : opt.sync ? createSync(opt, files) : create(opt, files);
- };
- var createFileSync = (opt, files) => {
- const p = new Pack.Sync(opt);
- const stream = new fsm.WriteStreamSync(opt.file, {
- mode: opt.mode || 438
- });
- p.pipe(stream);
- addFilesSync(p, files);
- };
- var createFile = (opt, files, cb) => {
- const p = new Pack(opt);
- const stream = new fsm.WriteStream(opt.file, {
- mode: opt.mode || 438
- });
- p.pipe(stream);
- const promise = new Promise((res, rej) => {
- stream.on("error", rej);
- stream.on("close", res);
- p.on("error", rej);
- });
- addFilesAsync(p, files);
- return cb ? promise.then(cb, cb) : promise;
- };
- var addFilesSync = (p, files) => {
- files.forEach((file) => {
- if (file.charAt(0) === "@") {
- t({
- file: path10.resolve(p.cwd, file.slice(1)),
- sync: true,
- noResume: true,
- onentry: (entry) => p.add(entry)
- });
- } else {
- p.add(file);
- }
- });
- p.end();
- };
- var addFilesAsync = (p, files) => {
- while (files.length) {
- const file = files.shift();
- if (file.charAt(0) === "@") {
- return t({
- file: path10.resolve(p.cwd, file.slice(1)),
- noResume: true,
- onentry: (entry) => p.add(entry)
- }).then((_) => addFilesAsync(p, files));
- } else {
- p.add(file);
- }
- }
- p.end();
- };
- var createSync = (opt, files) => {
- const p = new Pack.Sync(opt);
- addFilesSync(p, files);
- return p;
- };
- var create = (opt, files) => {
- const p = new Pack(opt);
- addFilesAsync(p, files);
- return p;
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/replace.js
-var require_replace = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/replace.js"(exports, module2) {
- "use strict";
- var hlo = require_high_level_opt();
- var Pack = require_pack();
- var fs9 = require("fs");
- var fsm = require_fs_minipass();
- var t = require_list();
- var path10 = require("path");
- var Header = require_header();
- module2.exports = (opt_, files, cb) => {
- const opt = hlo(opt_);
- if (!opt.file) {
- throw new TypeError("file is required");
- }
- if (opt.gzip || opt.brotli || opt.file.endsWith(".br") || opt.file.endsWith(".tbr")) {
- throw new TypeError("cannot append to compressed archives");
- }
- if (!files || !Array.isArray(files) || !files.length) {
- throw new TypeError("no files or directories specified");
- }
- files = Array.from(files);
- return opt.sync ? replaceSync(opt, files) : replace(opt, files, cb);
- };
- var replaceSync = (opt, files) => {
- const p = new Pack.Sync(opt);
- let threw = true;
- let fd;
- let position;
- try {
- try {
- fd = fs9.openSync(opt.file, "r+");
- } catch (er) {
- if (er.code === "ENOENT") {
- fd = fs9.openSync(opt.file, "w+");
- } else {
- throw er;
- }
- }
- const st = fs9.fstatSync(fd);
- const headBuf = Buffer.alloc(512);
- POSITION:
- for (position = 0; position < st.size; position += 512) {
- for (let bufPos = 0, bytes = 0; bufPos < 512; bufPos += bytes) {
- bytes = fs9.readSync(
- fd,
- headBuf,
- bufPos,
- headBuf.length - bufPos,
- position + bufPos
- );
- if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) {
- throw new Error("cannot append to compressed archives");
- }
- if (!bytes) {
- break POSITION;
- }
- }
- const h = new Header(headBuf);
- if (!h.cksumValid) {
- break;
- }
- const entryBlockSize = 512 * Math.ceil(h.size / 512);
- if (position + entryBlockSize + 512 > st.size) {
- break;
- }
- position += entryBlockSize;
- if (opt.mtimeCache) {
- opt.mtimeCache.set(h.path, h.mtime);
- }
- }
- threw = false;
- streamSync(opt, p, position, fd, files);
- } finally {
- if (threw) {
- try {
- fs9.closeSync(fd);
- } catch (er) {
- }
- }
- }
- };
- var streamSync = (opt, p, position, fd, files) => {
- const stream = new fsm.WriteStreamSync(opt.file, {
- fd,
- start: position
- });
- p.pipe(stream);
- addFilesSync(p, files);
- };
- var replace = (opt, files, cb) => {
- files = Array.from(files);
- const p = new Pack(opt);
- const getPos = (fd, size, cb_) => {
- const cb2 = (er, pos) => {
- if (er) {
- fs9.close(fd, (_) => cb_(er));
- } else {
- cb_(null, pos);
- }
- };
- let position = 0;
- if (size === 0) {
- return cb2(null, 0);
- }
- let bufPos = 0;
- const headBuf = Buffer.alloc(512);
- const onread = (er, bytes) => {
- if (er) {
- return cb2(er);
- }
- bufPos += bytes;
- if (bufPos < 512 && bytes) {
- return fs9.read(
- fd,
- headBuf,
- bufPos,
- headBuf.length - bufPos,
- position + bufPos,
- onread
- );
- }
- if (position === 0 && headBuf[0] === 31 && headBuf[1] === 139) {
- return cb2(new Error("cannot append to compressed archives"));
- }
- if (bufPos < 512) {
- return cb2(null, position);
- }
- const h = new Header(headBuf);
- if (!h.cksumValid) {
- return cb2(null, position);
- }
- const entryBlockSize = 512 * Math.ceil(h.size / 512);
- if (position + entryBlockSize + 512 > size) {
- return cb2(null, position);
- }
- position += entryBlockSize + 512;
- if (position >= size) {
- return cb2(null, position);
- }
- if (opt.mtimeCache) {
- opt.mtimeCache.set(h.path, h.mtime);
- }
- bufPos = 0;
- fs9.read(fd, headBuf, 0, 512, position, onread);
- };
- fs9.read(fd, headBuf, 0, 512, position, onread);
- };
- const promise = new Promise((resolve, reject) => {
- p.on("error", reject);
- let flag = "r+";
- const onopen = (er, fd) => {
- if (er && er.code === "ENOENT" && flag === "r+") {
- flag = "w+";
- return fs9.open(opt.file, flag, onopen);
- }
- if (er) {
- return reject(er);
- }
- fs9.fstat(fd, (er2, st) => {
- if (er2) {
- return fs9.close(fd, () => reject(er2));
- }
- getPos(fd, st.size, (er3, position) => {
- if (er3) {
- return reject(er3);
- }
- const stream = new fsm.WriteStream(opt.file, {
- fd,
- start: position
- });
- p.pipe(stream);
- stream.on("error", reject);
- stream.on("close", resolve);
- addFilesAsync(p, files);
- });
- });
- };
- fs9.open(opt.file, flag, onopen);
- });
- return cb ? promise.then(cb, cb) : promise;
- };
- var addFilesSync = (p, files) => {
- files.forEach((file) => {
- if (file.charAt(0) === "@") {
- t({
- file: path10.resolve(p.cwd, file.slice(1)),
- sync: true,
- noResume: true,
- onentry: (entry) => p.add(entry)
- });
- } else {
- p.add(file);
- }
- });
- p.end();
- };
- var addFilesAsync = (p, files) => {
- while (files.length) {
- const file = files.shift();
- if (file.charAt(0) === "@") {
- return t({
- file: path10.resolve(p.cwd, file.slice(1)),
- noResume: true,
- onentry: (entry) => p.add(entry)
- }).then((_) => addFilesAsync(p, files));
- } else {
- p.add(file);
- }
- }
- p.end();
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/update.js
-var require_update = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/update.js"(exports, module2) {
- "use strict";
- var hlo = require_high_level_opt();
- var r = require_replace();
- module2.exports = (opt_, files, cb) => {
- const opt = hlo(opt_);
- if (!opt.file) {
- throw new TypeError("file is required");
- }
- if (opt.gzip || opt.brotli || opt.file.endsWith(".br") || opt.file.endsWith(".tbr")) {
- throw new TypeError("cannot append to compressed archives");
- }
- if (!files || !Array.isArray(files) || !files.length) {
- throw new TypeError("no files or directories specified");
- }
- files = Array.from(files);
- mtimeFilter(opt);
- return r(opt, files, cb);
- };
- var mtimeFilter = (opt) => {
- const filter = opt.filter;
- if (!opt.mtimeCache) {
- opt.mtimeCache = /* @__PURE__ */ new Map();
- }
- opt.filter = filter ? (path10, stat) => filter(path10, stat) && !(opt.mtimeCache.get(path10) > stat.mtime) : (path10, stat) => !(opt.mtimeCache.get(path10) > stat.mtime);
- };
- }
-});
-
-// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/opts-arg.js
-var require_opts_arg = __commonJS({
- ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/opts-arg.js"(exports, module2) {
- var { promisify } = require("util");
- var fs9 = require("fs");
- var optsArg = (opts) => {
- if (!opts)
- opts = { mode: 511, fs: fs9 };
- else if (typeof opts === "object")
- opts = { mode: 511, fs: fs9, ...opts };
- else if (typeof opts === "number")
- opts = { mode: opts, fs: fs9 };
- else if (typeof opts === "string")
- opts = { mode: parseInt(opts, 8), fs: fs9 };
- else
- throw new TypeError("invalid options argument");
- opts.mkdir = opts.mkdir || opts.fs.mkdir || fs9.mkdir;
- opts.mkdirAsync = promisify(opts.mkdir);
- opts.stat = opts.stat || opts.fs.stat || fs9.stat;
- opts.statAsync = promisify(opts.stat);
- opts.statSync = opts.statSync || opts.fs.statSync || fs9.statSync;
- opts.mkdirSync = opts.mkdirSync || opts.fs.mkdirSync || fs9.mkdirSync;
- return opts;
- };
- module2.exports = optsArg;
- }
-});
-
-// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/path-arg.js
-var require_path_arg = __commonJS({
- ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/path-arg.js"(exports, module2) {
- var platform = process.env.__TESTING_MKDIRP_PLATFORM__ || process.platform;
- var { resolve, parse } = require("path");
- var pathArg = (path10) => {
- if (/\0/.test(path10)) {
- throw Object.assign(
- new TypeError("path must be a string without null bytes"),
- {
- path: path10,
- code: "ERR_INVALID_ARG_VALUE"
- }
- );
- }
- path10 = resolve(path10);
- if (platform === "win32") {
- const badWinChars = /[*|"<>?:]/;
- const { root } = parse(path10);
- if (badWinChars.test(path10.substr(root.length))) {
- throw Object.assign(new Error("Illegal characters in path."), {
- path: path10,
- code: "EINVAL"
- });
- }
- }
- return path10;
- };
- module2.exports = pathArg;
- }
-});
-
-// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/find-made.js
-var require_find_made = __commonJS({
- ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/find-made.js"(exports, module2) {
- var { dirname } = require("path");
- var findMade = (opts, parent, path10 = void 0) => {
- if (path10 === parent)
- return Promise.resolve();
- return opts.statAsync(parent).then(
- (st) => st.isDirectory() ? path10 : void 0,
- // will fail later
- (er) => er.code === "ENOENT" ? findMade(opts, dirname(parent), parent) : void 0
- );
- };
- var findMadeSync = (opts, parent, path10 = void 0) => {
- if (path10 === parent)
- return void 0;
- try {
- return opts.statSync(parent).isDirectory() ? path10 : void 0;
- } catch (er) {
- return er.code === "ENOENT" ? findMadeSync(opts, dirname(parent), parent) : void 0;
- }
- };
- module2.exports = { findMade, findMadeSync };
- }
-});
-
-// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/mkdirp-manual.js
-var require_mkdirp_manual = __commonJS({
- ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/mkdirp-manual.js"(exports, module2) {
- var { dirname } = require("path");
- var mkdirpManual = (path10, opts, made) => {
- opts.recursive = false;
- const parent = dirname(path10);
- if (parent === path10) {
- return opts.mkdirAsync(path10, opts).catch((er) => {
- if (er.code !== "EISDIR")
- throw er;
- });
- }
- return opts.mkdirAsync(path10, opts).then(() => made || path10, (er) => {
- if (er.code === "ENOENT")
- return mkdirpManual(parent, opts).then((made2) => mkdirpManual(path10, opts, made2));
- if (er.code !== "EEXIST" && er.code !== "EROFS")
- throw er;
- return opts.statAsync(path10).then((st) => {
- if (st.isDirectory())
- return made;
- else
- throw er;
- }, () => {
- throw er;
- });
- });
- };
- var mkdirpManualSync = (path10, opts, made) => {
- const parent = dirname(path10);
- opts.recursive = false;
- if (parent === path10) {
- try {
- return opts.mkdirSync(path10, opts);
- } catch (er) {
- if (er.code !== "EISDIR")
- throw er;
- else
- return;
- }
- }
- try {
- opts.mkdirSync(path10, opts);
- return made || path10;
- } catch (er) {
- if (er.code === "ENOENT")
- return mkdirpManualSync(path10, opts, mkdirpManualSync(parent, opts, made));
- if (er.code !== "EEXIST" && er.code !== "EROFS")
- throw er;
- try {
- if (!opts.statSync(path10).isDirectory())
- throw er;
- } catch (_) {
- throw er;
- }
- }
- };
- module2.exports = { mkdirpManual, mkdirpManualSync };
- }
-});
-
-// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/mkdirp-native.js
-var require_mkdirp_native = __commonJS({
- ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/mkdirp-native.js"(exports, module2) {
- var { dirname } = require("path");
- var { findMade, findMadeSync } = require_find_made();
- var { mkdirpManual, mkdirpManualSync } = require_mkdirp_manual();
- var mkdirpNative = (path10, opts) => {
- opts.recursive = true;
- const parent = dirname(path10);
- if (parent === path10)
- return opts.mkdirAsync(path10, opts);
- return findMade(opts, path10).then((made) => opts.mkdirAsync(path10, opts).then(() => made).catch((er) => {
- if (er.code === "ENOENT")
- return mkdirpManual(path10, opts);
- else
- throw er;
- }));
- };
- var mkdirpNativeSync = (path10, opts) => {
- opts.recursive = true;
- const parent = dirname(path10);
- if (parent === path10)
- return opts.mkdirSync(path10, opts);
- const made = findMadeSync(opts, path10);
- try {
- opts.mkdirSync(path10, opts);
- return made;
- } catch (er) {
- if (er.code === "ENOENT")
- return mkdirpManualSync(path10, opts);
- else
- throw er;
- }
- };
- module2.exports = { mkdirpNative, mkdirpNativeSync };
- }
-});
-
-// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/use-native.js
-var require_use_native = __commonJS({
- ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/lib/use-native.js"(exports, module2) {
- var fs9 = require("fs");
- var version2 = process.env.__TESTING_MKDIRP_NODE_VERSION__ || process.version;
- var versArr = version2.replace(/^v/, "").split(".");
- var hasNative = +versArr[0] > 10 || +versArr[0] === 10 && +versArr[1] >= 12;
- var useNative = !hasNative ? () => false : (opts) => opts.mkdir === fs9.mkdir;
- var useNativeSync = !hasNative ? () => false : (opts) => opts.mkdirSync === fs9.mkdirSync;
- module2.exports = { useNative, useNativeSync };
- }
-});
-
-// .yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/index.js
-var require_mkdirp = __commonJS({
- ".yarn/cache/mkdirp-npm-1.0.4-37f6ef56b9-46ea0f3ffa.zip/node_modules/mkdirp/index.js"(exports, module2) {
- var optsArg = require_opts_arg();
- var pathArg = require_path_arg();
- var { mkdirpNative, mkdirpNativeSync } = require_mkdirp_native();
- var { mkdirpManual, mkdirpManualSync } = require_mkdirp_manual();
- var { useNative, useNativeSync } = require_use_native();
- var mkdirp = (path10, opts) => {
- path10 = pathArg(path10);
- opts = optsArg(opts);
- return useNative(opts) ? mkdirpNative(path10, opts) : mkdirpManual(path10, opts);
- };
- var mkdirpSync = (path10, opts) => {
- path10 = pathArg(path10);
- opts = optsArg(opts);
- return useNativeSync(opts) ? mkdirpNativeSync(path10, opts) : mkdirpManualSync(path10, opts);
- };
- mkdirp.sync = mkdirpSync;
- mkdirp.native = (path10, opts) => mkdirpNative(pathArg(path10), optsArg(opts));
- mkdirp.manual = (path10, opts) => mkdirpManual(pathArg(path10), optsArg(opts));
- mkdirp.nativeSync = (path10, opts) => mkdirpNativeSync(pathArg(path10), optsArg(opts));
- mkdirp.manualSync = (path10, opts) => mkdirpManualSync(pathArg(path10), optsArg(opts));
- module2.exports = mkdirp;
- }
-});
-
-// .yarn/cache/chownr-npm-2.0.0-638f1c9c61-594754e130.zip/node_modules/chownr/chownr.js
-var require_chownr = __commonJS({
- ".yarn/cache/chownr-npm-2.0.0-638f1c9c61-594754e130.zip/node_modules/chownr/chownr.js"(exports, module2) {
- "use strict";
- var fs9 = require("fs");
- var path10 = require("path");
- var LCHOWN = fs9.lchown ? "lchown" : "chown";
- var LCHOWNSYNC = fs9.lchownSync ? "lchownSync" : "chownSync";
- var needEISDIRHandled = fs9.lchown && !process.version.match(/v1[1-9]+\./) && !process.version.match(/v10\.[6-9]/);
- var lchownSync = (path11, uid, gid) => {
- try {
- return fs9[LCHOWNSYNC](path11, uid, gid);
- } catch (er) {
- if (er.code !== "ENOENT")
- throw er;
- }
- };
- var chownSync = (path11, uid, gid) => {
- try {
- return fs9.chownSync(path11, uid, gid);
- } catch (er) {
- if (er.code !== "ENOENT")
- throw er;
- }
- };
- var handleEISDIR = needEISDIRHandled ? (path11, uid, gid, cb) => (er) => {
- if (!er || er.code !== "EISDIR")
- cb(er);
- else
- fs9.chown(path11, uid, gid, cb);
- } : (_, __, ___, cb) => cb;
- var handleEISDirSync = needEISDIRHandled ? (path11, uid, gid) => {
- try {
- return lchownSync(path11, uid, gid);
- } catch (er) {
- if (er.code !== "EISDIR")
- throw er;
- chownSync(path11, uid, gid);
- }
- } : (path11, uid, gid) => lchownSync(path11, uid, gid);
- var nodeVersion = process.version;
- var readdir = (path11, options, cb) => fs9.readdir(path11, options, cb);
- var readdirSync = (path11, options) => fs9.readdirSync(path11, options);
- if (/^v4\./.test(nodeVersion))
- readdir = (path11, options, cb) => fs9.readdir(path11, cb);
- var chown = (cpath, uid, gid, cb) => {
- fs9[LCHOWN](cpath, uid, gid, handleEISDIR(cpath, uid, gid, (er) => {
- cb(er && er.code !== "ENOENT" ? er : null);
- }));
- };
- var chownrKid = (p, child, uid, gid, cb) => {
- if (typeof child === "string")
- return fs9.lstat(path10.resolve(p, child), (er, stats) => {
- if (er)
- return cb(er.code !== "ENOENT" ? er : null);
- stats.name = child;
- chownrKid(p, stats, uid, gid, cb);
- });
- if (child.isDirectory()) {
- chownr(path10.resolve(p, child.name), uid, gid, (er) => {
- if (er)
- return cb(er);
- const cpath = path10.resolve(p, child.name);
- chown(cpath, uid, gid, cb);
- });
- } else {
- const cpath = path10.resolve(p, child.name);
- chown(cpath, uid, gid, cb);
- }
- };
- var chownr = (p, uid, gid, cb) => {
- readdir(p, { withFileTypes: true }, (er, children) => {
- if (er) {
- if (er.code === "ENOENT")
- return cb();
- else if (er.code !== "ENOTDIR" && er.code !== "ENOTSUP")
- return cb(er);
- }
- if (er || !children.length)
- return chown(p, uid, gid, cb);
- let len = children.length;
- let errState = null;
- const then = (er2) => {
- if (errState)
- return;
- if (er2)
- return cb(errState = er2);
- if (--len === 0)
- return chown(p, uid, gid, cb);
- };
- children.forEach((child) => chownrKid(p, child, uid, gid, then));
- });
- };
- var chownrKidSync = (p, child, uid, gid) => {
- if (typeof child === "string") {
- try {
- const stats = fs9.lstatSync(path10.resolve(p, child));
- stats.name = child;
- child = stats;
- } catch (er) {
- if (er.code === "ENOENT")
- return;
- else
- throw er;
- }
- }
- if (child.isDirectory())
- chownrSync(path10.resolve(p, child.name), uid, gid);
- handleEISDirSync(path10.resolve(p, child.name), uid, gid);
- };
- var chownrSync = (p, uid, gid) => {
- let children;
- try {
- children = readdirSync(p, { withFileTypes: true });
- } catch (er) {
- if (er.code === "ENOENT")
- return;
- else if (er.code === "ENOTDIR" || er.code === "ENOTSUP")
- return handleEISDirSync(p, uid, gid);
- else
- throw er;
- }
- if (children && children.length)
- children.forEach((child) => chownrKidSync(p, child, uid, gid));
- return handleEISDirSync(p, uid, gid);
- };
- module2.exports = chownr;
- chownr.sync = chownrSync;
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/mkdir.js
-var require_mkdir = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/mkdir.js"(exports, module2) {
- "use strict";
- var mkdirp = require_mkdirp();
- var fs9 = require("fs");
- var path10 = require("path");
- var chownr = require_chownr();
- var normPath = require_normalize_windows_path();
- var SymlinkError = class extends Error {
- constructor(symlink, path11) {
- super("Cannot extract through symbolic link");
- this.path = path11;
- this.symlink = symlink;
- }
- get name() {
- return "SylinkError";
- }
- };
- var CwdError = class extends Error {
- constructor(path11, code) {
- super(code + ": Cannot cd into '" + path11 + "'");
- this.path = path11;
- this.code = code;
- }
- get name() {
- return "CwdError";
- }
- };
- var cGet = (cache, key) => cache.get(normPath(key));
- var cSet = (cache, key, val) => cache.set(normPath(key), val);
- var checkCwd = (dir, cb) => {
- fs9.stat(dir, (er, st) => {
- if (er || !st.isDirectory()) {
- er = new CwdError(dir, er && er.code || "ENOTDIR");
- }
- cb(er);
- });
- };
- module2.exports = (dir, opt, cb) => {
- dir = normPath(dir);
- const umask = opt.umask;
- const mode = opt.mode | 448;
- const needChmod = (mode & umask) !== 0;
- const uid = opt.uid;
- const gid = opt.gid;
- 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 = normPath(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) {
- fs9.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((made) => done(null, made), done);
- }
- const sub = normPath(path10.relative(cwd, dir));
- const parts = sub.split("/");
- mkdir_(cwd, parts, mode, cache, unlink, cwd, null, done);
- };
- var mkdir_ = (base, parts, mode, cache, unlink, cwd, created, cb) => {
- if (!parts.length) {
- return cb(null, created);
- }
- const p = parts.shift();
- const part = normPath(path10.resolve(base + "/" + p));
- if (cGet(cache, part)) {
- return mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
- }
- fs9.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb));
- };
- var onmkdir = (part, parts, mode, cache, unlink, cwd, created, cb) => (er) => {
- if (er) {
- fs9.lstat(part, (statEr, st) => {
- if (statEr) {
- statEr.path = statEr.path && normPath(statEr.path);
- cb(statEr);
- } else if (st.isDirectory()) {
- mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
- } else if (unlink) {
- fs9.unlink(part, (er2) => {
- if (er2) {
- return cb(er2);
- }
- fs9.mkdir(part, mode, onmkdir(part, parts, mode, cache, unlink, cwd, created, cb));
- });
- } else if (st.isSymbolicLink()) {
- return cb(new SymlinkError(part, part + "/" + parts.join("/")));
- } else {
- cb(er);
- }
- });
- } else {
- created = created || part;
- mkdir_(part, parts, mode, cache, unlink, cwd, created, cb);
- }
- };
- var checkCwdSync = (dir) => {
- let ok = false;
- let code = "ENOTDIR";
- try {
- ok = fs9.statSync(dir).isDirectory();
- } catch (er) {
- code = er.code;
- } finally {
- if (!ok) {
- throw new CwdError(dir, code);
- }
- }
- };
- module2.exports.sync = (dir, opt) => {
- dir = normPath(dir);
- const umask = opt.umask;
- const mode = opt.mode | 448;
- const needChmod = (mode & umask) !== 0;
- const uid = opt.uid;
- const gid = opt.gid;
- 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 = normPath(opt.cwd);
- const done = (created2) => {
- cSet(cache, dir, true);
- if (created2 && doChown) {
- chownr.sync(created2, uid, gid);
- }
- if (needChmod) {
- fs9.chmodSync(dir, mode);
- }
- };
- if (cache && cGet(cache, dir) === true) {
- return done();
- }
- if (dir === cwd) {
- checkCwdSync(cwd);
- return done();
- }
- if (preserve) {
- return done(mkdirp.sync(dir, mode));
- }
- const sub = normPath(path10.relative(cwd, dir));
- const parts = sub.split("/");
- let created = null;
- for (let p = parts.shift(), part = cwd; p && (part += "/" + p); p = parts.shift()) {
- part = normPath(path10.resolve(part));
- if (cGet(cache, part)) {
- continue;
- }
- try {
- fs9.mkdirSync(part, mode);
- created = created || part;
- cSet(cache, part, true);
- } catch (er) {
- const st = fs9.lstatSync(part);
- if (st.isDirectory()) {
- cSet(cache, part, true);
- continue;
- } else if (unlink) {
- fs9.unlinkSync(part);
- fs9.mkdirSync(part, mode);
- created = created || part;
- cSet(cache, part, true);
- continue;
- } else if (st.isSymbolicLink()) {
- return new SymlinkError(part, part + "/" + parts.join("/"));
- }
- }
- }
- return done(created);
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/normalize-unicode.js
-var require_normalize_unicode = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/normalize-unicode.js"(exports, module2) {
- var normalizeCache = /* @__PURE__ */ Object.create(null);
- var { hasOwnProperty } = Object.prototype;
- module2.exports = (s) => {
- if (!hasOwnProperty.call(normalizeCache, s)) {
- normalizeCache[s] = s.normalize("NFD");
- }
- return normalizeCache[s];
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/path-reservations.js
-var require_path_reservations = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/path-reservations.js"(exports, module2) {
- var assert3 = require("assert");
- var normalize = require_normalize_unicode();
- var stripSlashes = require_strip_trailing_slashes();
- var { join: join2 } = require("path");
- var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
- var isWindows = platform === "win32";
- module2.exports = () => {
- const queues = /* @__PURE__ */ new Map();
- const reservations = /* @__PURE__ */ new Map();
- const getDirs = (path10) => {
- const dirs = path10.split("/").slice(0, -1).reduce((set, path11) => {
- if (set.length) {
- path11 = join2(set[set.length - 1], path11);
- }
- set.push(path11 || "/");
- return set;
- }, []);
- return dirs;
- };
- const running = /* @__PURE__ */ new Set();
- const getQueues = (fn2) => {
- const res = reservations.get(fn2);
- if (!res) {
- throw new Error("function does not have any path reservations");
- }
- return {
- paths: res.paths.map((path10) => queues.get(path10)),
- dirs: [...res.dirs].map((path10) => queues.get(path10))
- };
- };
- const check = (fn2) => {
- const { paths, dirs } = getQueues(fn2);
- return paths.every((q) => q[0] === fn2) && dirs.every((q) => q[0] instanceof Set && q[0].has(fn2));
- };
- const run2 = (fn2) => {
- if (running.has(fn2) || !check(fn2)) {
- return false;
- }
- running.add(fn2);
- fn2(() => clear(fn2));
- return true;
- };
- const clear = (fn2) => {
- if (!running.has(fn2)) {
- return false;
- }
- const { paths, dirs } = reservations.get(fn2);
- const next = /* @__PURE__ */ new Set();
- paths.forEach((path10) => {
- const q = queues.get(path10);
- assert3.equal(q[0], fn2);
- if (q.length === 1) {
- queues.delete(path10);
- } else {
- q.shift();
- if (typeof q[0] === "function") {
- next.add(q[0]);
- } else {
- q[0].forEach((fn3) => next.add(fn3));
- }
- }
- });
- dirs.forEach((dir) => {
- const q = queues.get(dir);
- assert3(q[0] instanceof Set);
- if (q[0].size === 1 && q.length === 1) {
- queues.delete(dir);
- } else if (q[0].size === 1) {
- q.shift();
- next.add(q[0]);
- } else {
- q[0].delete(fn2);
- }
- });
- running.delete(fn2);
- next.forEach((fn3) => run2(fn3));
- return true;
- };
- const reserve = (paths, fn2) => {
- paths = isWindows ? ["win32 parallelization disabled"] : paths.map((p) => {
- return stripSlashes(join2(normalize(p))).toLowerCase();
- });
- const dirs = new Set(
- paths.map((path10) => getDirs(path10)).reduce((a, b) => a.concat(b))
- );
- reservations.set(fn2, { dirs, paths });
- paths.forEach((path10) => {
- const q = queues.get(path10);
- if (!q) {
- queues.set(path10, [fn2]);
- } else {
- q.push(fn2);
- }
- });
- dirs.forEach((dir) => {
- const q = queues.get(dir);
- if (!q) {
- queues.set(dir, [/* @__PURE__ */ new Set([fn2])]);
- } else if (q[q.length - 1] instanceof Set) {
- q[q.length - 1].add(fn2);
- } else {
- q.push(/* @__PURE__ */ new Set([fn2]));
- }
- });
- return run2(fn2);
- };
- return { check, reserve };
- };
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/get-write-flag.js
-var require_get_write_flag = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/get-write-flag.js"(exports, module2) {
- var platform = process.env.__FAKE_PLATFORM__ || process.platform;
- var isWindows = platform === "win32";
- var fs9 = global.__FAKE_TESTING_FS__ || require("fs");
- var { O_CREAT, O_TRUNC, O_WRONLY, UV_FS_O_FILEMAP = 0 } = fs9.constants;
- var fMapEnabled = isWindows && !!UV_FS_O_FILEMAP;
- var fMapLimit = 512 * 1024;
- var fMapFlag = UV_FS_O_FILEMAP | O_TRUNC | O_CREAT | O_WRONLY;
- module2.exports = !fMapEnabled ? () => "w" : (size) => size < fMapLimit ? fMapFlag : "w";
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/unpack.js
-var require_unpack = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/unpack.js"(exports, module2) {
- "use strict";
- var assert3 = require("assert");
- var Parser = require_parse2();
- var fs9 = require("fs");
- var fsm = require_fs_minipass();
- var path10 = require("path");
- var mkdir4 = require_mkdir();
- var wc = require_winchars();
- var pathReservations = require_path_reservations();
- var stripAbsolutePath = require_strip_absolute_path();
- var normPath = require_normalize_windows_path();
- var stripSlash = require_strip_trailing_slashes();
- var normalize = require_normalize_unicode();
- var ONENTRY = Symbol("onEntry");
- var CHECKFS = Symbol("checkFs");
- var CHECKFS2 = Symbol("checkFs2");
- var PRUNECACHE = Symbol("pruneCache");
- var ISREUSABLE = Symbol("isReusable");
- var MAKEFS = Symbol("makeFs");
- var FILE = Symbol("file");
- var DIRECTORY = Symbol("directory");
- var LINK = Symbol("link");
- var SYMLINK = Symbol("symlink");
- var HARDLINK = Symbol("hardlink");
- var UNSUPPORTED = Symbol("unsupported");
- var CHECKPATH = Symbol("checkPath");
- var MKDIR = Symbol("mkdir");
- var ONERROR = Symbol("onError");
- var PENDING = Symbol("pending");
- var PEND = Symbol("pend");
- var UNPEND = Symbol("unpend");
- var ENDED = Symbol("ended");
- var MAYBECLOSE = Symbol("maybeClose");
- var SKIP = Symbol("skip");
- var DOCHOWN = Symbol("doChown");
- var UID = Symbol("uid");
- var GID = Symbol("gid");
- var CHECKED_CWD = Symbol("checkedCwd");
- var crypto = require("crypto");
- var getFlag = require_get_write_flag();
- var platform = process.env.TESTING_TAR_FAKE_PLATFORM || process.platform;
- var isWindows = platform === "win32";
- var unlinkFile = (path11, cb) => {
- if (!isWindows) {
- return fs9.unlink(path11, cb);
- }
- const name = path11 + ".DELETE." + crypto.randomBytes(16).toString("hex");
- fs9.rename(path11, name, (er) => {
- if (er) {
- return cb(er);
- }
- fs9.unlink(name, cb);
- });
- };
- var unlinkFileSync = (path11) => {
- if (!isWindows) {
- return fs9.unlinkSync(path11);
- }
- const name = path11 + ".DELETE." + crypto.randomBytes(16).toString("hex");
- fs9.renameSync(path11, name);
- fs9.unlinkSync(name);
- };
- var uint32 = (a, b, c) => a === a >>> 0 ? a : b === b >>> 0 ? b : c;
- var cacheKeyNormalize = (path11) => stripSlash(normPath(normalize(path11))).toLowerCase();
- var pruneCache = (cache, abs) => {
- abs = cacheKeyNormalize(abs);
- for (const path11 of cache.keys()) {
- const pnorm = cacheKeyNormalize(path11);
- if (pnorm === abs || pnorm.indexOf(abs + "/") === 0) {
- cache.delete(path11);
- }
- }
- };
- var dropCache = (cache) => {
- for (const key of cache.keys()) {
- cache.delete(key);
- }
- };
- var Unpack = class extends Parser {
- constructor(opt) {
- if (!opt) {
- opt = {};
- }
- opt.ondone = (_) => {
- this[ENDED] = true;
- this[MAYBECLOSE]();
- };
- super(opt);
- this[CHECKED_CWD] = false;
- this.reservations = pathReservations();
- this.transform = typeof opt.transform === "function" ? opt.transform : null;
- this.writable = true;
- this.readable = false;
- this[PENDING] = 0;
- this[ENDED] = false;
- this.dirCache = opt.dirCache || /* @__PURE__ */ new Map();
- if (typeof opt.uid === "number" || typeof opt.gid === "number") {
- if (typeof opt.uid !== "number" || typeof opt.gid !== "number") {
- throw new TypeError("cannot set owner without number uid and gid");
- }
- if (opt.preserveOwner) {
- throw new TypeError(
- "cannot preserve owner in archive and also set owner explicitly"
- );
- }
- this.uid = opt.uid;
- this.gid = opt.gid;
- this.setOwner = true;
- } else {
- this.uid = null;
- this.gid = null;
- this.setOwner = false;
- }
- if (opt.preserveOwner === void 0 && typeof opt.uid !== "number") {
- this.preserveOwner = process.getuid && process.getuid() === 0;
- } else {
- this.preserveOwner = !!opt.preserveOwner;
- }
- this.processUid = (this.preserveOwner || this.setOwner) && process.getuid ? process.getuid() : null;
- this.processGid = (this.preserveOwner || this.setOwner) && process.getgid ? process.getgid() : null;
- this.forceChown = opt.forceChown === true;
- this.win32 = !!opt.win32 || isWindows;
- this.newer = !!opt.newer;
- this.keep = !!opt.keep;
- this.noMtime = !!opt.noMtime;
- this.preservePaths = !!opt.preservePaths;
- this.unlink = !!opt.unlink;
- this.cwd = normPath(path10.resolve(opt.cwd || process.cwd()));
- this.strip = +opt.strip || 0;
- this.processUmask = opt.noChmod ? 0 : process.umask();
- this.umask = typeof opt.umask === "number" ? opt.umask : this.processUmask;
- this.dmode = opt.dmode || 511 & ~this.umask;
- this.fmode = opt.fmode || 438 & ~this.umask;
- this.on("entry", (entry) => this[ONENTRY](entry));
- }
- // a bad or damaged archive is a warning for Parser, but an error
- // when extracting. Mark those errors as unrecoverable, because
- // the Unpack contract cannot be met.
- warn(code, msg, data = {}) {
- if (code === "TAR_BAD_ARCHIVE" || code === "TAR_ABORT") {
- data.recoverable = false;
- }
- return super.warn(code, msg, data);
- }
- [MAYBECLOSE]() {
- if (this[ENDED] && this[PENDING] === 0) {
- this.emit("prefinish");
- this.emit("finish");
- this.emit("end");
- }
- }
- [CHECKPATH](entry) {
- if (this.strip) {
- const parts = normPath(entry.path).split("/");
- if (parts.length < this.strip) {
- return false;
- }
- entry.path = parts.slice(this.strip).join("/");
- if (entry.type === "Link") {
- const linkparts = normPath(entry.linkpath).split("/");
- if (linkparts.length >= this.strip) {
- entry.linkpath = linkparts.slice(this.strip).join("/");
- } else {
- return false;
- }
- }
- }
- if (!this.preservePaths) {
- const p = normPath(entry.path);
- const parts = p.split("/");
- if (parts.includes("..") || isWindows && /^[a-z]:\.\.$/i.test(parts[0])) {
- this.warn("TAR_ENTRY_ERROR", `path contains '..'`, {
- entry,
- path: p
- });
- return false;
- }
- const [root, stripped] = stripAbsolutePath(p);
- if (root) {
- entry.path = stripped;
- this.warn("TAR_ENTRY_INFO", `stripping ${root} from absolute path`, {
- entry,
- path: p
- });
- }
- }
- if (path10.isAbsolute(entry.path)) {
- entry.absolute = normPath(path10.resolve(entry.path));
- } else {
- entry.absolute = normPath(path10.resolve(this.cwd, entry.path));
- }
- if (!this.preservePaths && entry.absolute.indexOf(this.cwd + "/") !== 0 && entry.absolute !== this.cwd) {
- this.warn("TAR_ENTRY_ERROR", "path escaped extraction target", {
- entry,
- path: normPath(entry.path),
- resolvedPath: entry.absolute,
- cwd: this.cwd
- });
- return false;
- }
- if (entry.absolute === this.cwd && entry.type !== "Directory" && entry.type !== "GNUDumpDir") {
- return false;
- }
- if (this.win32) {
- const { root: aRoot } = path10.win32.parse(entry.absolute);
- entry.absolute = aRoot + wc.encode(entry.absolute.slice(aRoot.length));
- const { root: pRoot } = path10.win32.parse(entry.path);
- entry.path = pRoot + wc.encode(entry.path.slice(pRoot.length));
- }
- return true;
- }
- [ONENTRY](entry) {
- if (!this[CHECKPATH](entry)) {
- return entry.resume();
- }
- assert3.equal(typeof entry.absolute, "string");
- switch (entry.type) {
- case "Directory":
- case "GNUDumpDir":
- if (entry.mode) {
- entry.mode = entry.mode | 448;
- }
- case "File":
- case "OldFile":
- case "ContiguousFile":
- case "Link":
- case "SymbolicLink":
- return this[CHECKFS](entry);
- case "CharacterDevice":
- case "BlockDevice":
- case "FIFO":
- default:
- return this[UNSUPPORTED](entry);
- }
- }
- [ONERROR](er, entry) {
- if (er.name === "CwdError") {
- this.emit("error", er);
- } else {
- this.warn("TAR_ENTRY_ERROR", er, { entry });
- this[UNPEND]();
- entry.resume();
- }
- }
- [MKDIR](dir, mode, cb) {
- mkdir4(normPath(dir), {
- uid: this.uid,
- gid: this.gid,
- processUid: this.processUid,
- processGid: this.processGid,
- umask: this.processUmask,
- preserve: this.preservePaths,
- unlink: this.unlink,
- cache: this.dirCache,
- cwd: this.cwd,
- mode,
- noChmod: this.noChmod
- }, cb);
- }
- [DOCHOWN](entry) {
- return this.forceChown || this.preserveOwner && (typeof entry.uid === "number" && entry.uid !== this.processUid || typeof entry.gid === "number" && entry.gid !== this.processGid) || (typeof this.uid === "number" && this.uid !== this.processUid || typeof this.gid === "number" && this.gid !== this.processGid);
- }
- [UID](entry) {
- return uint32(this.uid, entry.uid, this.processUid);
- }
- [GID](entry) {
- return uint32(this.gid, entry.gid, this.processGid);
- }
- [FILE](entry, fullyDone) {
- const mode = entry.mode & 4095 || this.fmode;
- const stream = new fsm.WriteStream(entry.absolute, {
- flags: getFlag(entry.size),
- mode,
- autoClose: false
- });
- stream.on("error", (er) => {
- if (stream.fd) {
- fs9.close(stream.fd, () => {
- });
- }
- stream.write = () => true;
- this[ONERROR](er, entry);
- fullyDone();
- });
- let actions = 1;
- const done = (er) => {
- if (er) {
- if (stream.fd) {
- fs9.close(stream.fd, () => {
- });
- }
- this[ONERROR](er, entry);
- fullyDone();
- return;
- }
- if (--actions === 0) {
- fs9.close(stream.fd, (er2) => {
- if (er2) {
- this[ONERROR](er2, entry);
- } else {
- this[UNPEND]();
- }
- fullyDone();
- });
- }
- };
- stream.on("finish", (_) => {
- const abs = entry.absolute;
- const fd = stream.fd;
- if (entry.mtime && !this.noMtime) {
- actions++;
- const atime = entry.atime || /* @__PURE__ */ new Date();
- const mtime = entry.mtime;
- fs9.futimes(fd, atime, mtime, (er) => er ? fs9.utimes(abs, atime, mtime, (er2) => done(er2 && er)) : done());
- }
- if (this[DOCHOWN](entry)) {
- actions++;
- const uid = this[UID](entry);
- const gid = this[GID](entry);
- fs9.fchown(fd, uid, gid, (er) => er ? fs9.chown(abs, uid, gid, (er2) => done(er2 && er)) : done());
- }
- done();
- });
- const tx = this.transform ? this.transform(entry) || entry : entry;
- if (tx !== entry) {
- tx.on("error", (er) => {
- this[ONERROR](er, entry);
- fullyDone();
- });
- entry.pipe(tx);
- }
- tx.pipe(stream);
- }
- [DIRECTORY](entry, fullyDone) {
- const mode = entry.mode & 4095 || this.dmode;
- this[MKDIR](entry.absolute, mode, (er) => {
- if (er) {
- this[ONERROR](er, entry);
- fullyDone();
- return;
- }
- let actions = 1;
- const done = (_) => {
- if (--actions === 0) {
- fullyDone();
- this[UNPEND]();
- entry.resume();
- }
- };
- if (entry.mtime && !this.noMtime) {
- actions++;
- fs9.utimes(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime, done);
- }
- if (this[DOCHOWN](entry)) {
- actions++;
- fs9.chown(entry.absolute, this[UID](entry), this[GID](entry), done);
- }
- done();
- });
- }
- [UNSUPPORTED](entry) {
- entry.unsupported = true;
- this.warn(
- "TAR_ENTRY_UNSUPPORTED",
- `unsupported entry type: ${entry.type}`,
- { entry }
- );
- entry.resume();
- }
- [SYMLINK](entry, done) {
- this[LINK](entry, entry.linkpath, "symlink", done);
- }
- [HARDLINK](entry, done) {
- const linkpath = normPath(path10.resolve(this.cwd, entry.linkpath));
- this[LINK](entry, linkpath, "link", done);
- }
- [PEND]() {
- this[PENDING]++;
- }
- [UNPEND]() {
- this[PENDING]--;
- this[MAYBECLOSE]();
- }
- [SKIP](entry) {
- this[UNPEND]();
- entry.resume();
- }
- // Check if we can reuse an existing filesystem entry safely and
- // overwrite it, rather than unlinking and recreating
- // Windows doesn't report a useful nlink, so we just never reuse entries
- [ISREUSABLE](entry, st) {
- return entry.type === "File" && !this.unlink && st.isFile() && st.nlink <= 1 && !isWindows;
- }
- // check if a thing is there, and if so, try to clobber it
- [CHECKFS](entry) {
- this[PEND]();
- const paths = [entry.path];
- if (entry.linkpath) {
- paths.push(entry.linkpath);
- }
- 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, entry.absolute);
- }
- }
- [CHECKFS2](entry, fullyDone) {
- this[PRUNECACHE](entry);
- const done = (er) => {
- this[PRUNECACHE](entry);
- fullyDone(er);
- };
- const checkCwd = () => {
- this[MKDIR](this.cwd, this.dmode, (er) => {
- if (er) {
- this[ONERROR](er, entry);
- done();
- return;
- }
- this[CHECKED_CWD] = true;
- start();
- });
- };
- const start = () => {
- if (entry.absolute !== this.cwd) {
- const parent = normPath(path10.dirname(entry.absolute));
- if (parent !== this.cwd) {
- return this[MKDIR](parent, this.dmode, (er) => {
- if (er) {
- this[ONERROR](er, entry);
- done();
- return;
- }
- afterMakeParent();
- });
- }
- }
- afterMakeParent();
- };
- const afterMakeParent = () => {
- fs9.lstat(entry.absolute, (lstatEr, st) => {
- if (st && (this.keep || this.newer && st.mtime > entry.mtime)) {
- this[SKIP](entry);
- done();
- return;
- }
- if (lstatEr || this[ISREUSABLE](entry, st)) {
- return this[MAKEFS](null, entry, done);
- }
- if (st.isDirectory()) {
- if (entry.type === "Directory") {
- const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode;
- const afterChmod = (er) => this[MAKEFS](er, entry, done);
- if (!needChmod) {
- return afterChmod();
- }
- return fs9.chmod(entry.absolute, entry.mode, afterChmod);
- }
- if (entry.absolute !== this.cwd) {
- return fs9.rmdir(entry.absolute, (er) => this[MAKEFS](er, entry, done));
- }
- }
- if (entry.absolute === this.cwd) {
- return this[MAKEFS](null, entry, done);
- }
- unlinkFile(entry.absolute, (er) => this[MAKEFS](er, entry, done));
- });
- };
- if (this[CHECKED_CWD]) {
- start();
- } else {
- checkCwd();
- }
- }
- [MAKEFS](er, entry, done) {
- if (er) {
- this[ONERROR](er, entry);
- done();
- return;
- }
- switch (entry.type) {
- case "File":
- case "OldFile":
- case "ContiguousFile":
- return this[FILE](entry, done);
- case "Link":
- return this[HARDLINK](entry, done);
- case "SymbolicLink":
- return this[SYMLINK](entry, done);
- case "Directory":
- case "GNUDumpDir":
- return this[DIRECTORY](entry, done);
- }
- }
- [LINK](entry, linkpath, link, done) {
- fs9[link](linkpath, entry.absolute, (er) => {
- if (er) {
- this[ONERROR](er, entry);
- } else {
- this[UNPEND]();
- entry.resume();
- }
- done();
- });
- }
- };
- var callSync = (fn2) => {
- try {
- return [null, fn2()];
- } catch (er) {
- return [er, null];
- }
- };
- var UnpackSync = class extends Unpack {
- [MAKEFS](er, entry) {
- return super[MAKEFS](er, entry, () => {
- });
- }
- [CHECKFS](entry) {
- this[PRUNECACHE](entry);
- if (!this[CHECKED_CWD]) {
- const er2 = this[MKDIR](this.cwd, this.dmode);
- if (er2) {
- return this[ONERROR](er2, entry);
- }
- this[CHECKED_CWD] = true;
- }
- if (entry.absolute !== this.cwd) {
- const parent = normPath(path10.dirname(entry.absolute));
- if (parent !== this.cwd) {
- const mkParent = this[MKDIR](parent, this.dmode);
- if (mkParent) {
- return this[ONERROR](mkParent, entry);
- }
- }
- }
- const [lstatEr, st] = callSync(() => fs9.lstatSync(entry.absolute));
- if (st && (this.keep || this.newer && st.mtime > entry.mtime)) {
- return this[SKIP](entry);
- }
- if (lstatEr || this[ISREUSABLE](entry, st)) {
- return this[MAKEFS](null, entry);
- }
- if (st.isDirectory()) {
- if (entry.type === "Directory") {
- const needChmod = !this.noChmod && entry.mode && (st.mode & 4095) !== entry.mode;
- const [er3] = needChmod ? callSync(() => {
- fs9.chmodSync(entry.absolute, entry.mode);
- }) : [];
- return this[MAKEFS](er3, entry);
- }
- const [er2] = callSync(() => fs9.rmdirSync(entry.absolute));
- this[MAKEFS](er2, entry);
- }
- const [er] = entry.absolute === this.cwd ? [] : callSync(() => unlinkFileSync(entry.absolute));
- this[MAKEFS](er, entry);
- }
- [FILE](entry, done) {
- const mode = entry.mode & 4095 || this.fmode;
- const oner = (er) => {
- let closeError;
- try {
- fs9.closeSync(fd);
- } catch (e) {
- closeError = e;
- }
- if (er || closeError) {
- this[ONERROR](er || closeError, entry);
- }
- done();
- };
- let fd;
- try {
- fd = fs9.openSync(entry.absolute, getFlag(entry.size), mode);
- } catch (er) {
- return oner(er);
- }
- const tx = this.transform ? this.transform(entry) || entry : entry;
- if (tx !== entry) {
- tx.on("error", (er) => this[ONERROR](er, entry));
- entry.pipe(tx);
- }
- tx.on("data", (chunk) => {
- try {
- fs9.writeSync(fd, chunk, 0, chunk.length);
- } catch (er) {
- oner(er);
- }
- });
- tx.on("end", (_) => {
- let er = null;
- if (entry.mtime && !this.noMtime) {
- const atime = entry.atime || /* @__PURE__ */ new Date();
- const mtime = entry.mtime;
- try {
- fs9.futimesSync(fd, atime, mtime);
- } catch (futimeser) {
- try {
- fs9.utimesSync(entry.absolute, atime, mtime);
- } catch (utimeser) {
- er = futimeser;
- }
- }
- }
- if (this[DOCHOWN](entry)) {
- const uid = this[UID](entry);
- const gid = this[GID](entry);
- try {
- fs9.fchownSync(fd, uid, gid);
- } catch (fchowner) {
- try {
- fs9.chownSync(entry.absolute, uid, gid);
- } catch (chowner) {
- er = er || fchowner;
- }
- }
- }
- oner(er);
- });
- }
- [DIRECTORY](entry, done) {
- const mode = entry.mode & 4095 || this.dmode;
- const er = this[MKDIR](entry.absolute, mode);
- if (er) {
- this[ONERROR](er, entry);
- done();
- return;
- }
- if (entry.mtime && !this.noMtime) {
- try {
- fs9.utimesSync(entry.absolute, entry.atime || /* @__PURE__ */ new Date(), entry.mtime);
- } catch (er2) {
- }
- }
- if (this[DOCHOWN](entry)) {
- try {
- fs9.chownSync(entry.absolute, this[UID](entry), this[GID](entry));
- } catch (er2) {
- }
- }
- done();
- entry.resume();
- }
- [MKDIR](dir, mode) {
- try {
- return mkdir4.sync(normPath(dir), {
- uid: this.uid,
- gid: this.gid,
- processUid: this.processUid,
- processGid: this.processGid,
- umask: this.processUmask,
- preserve: this.preservePaths,
- unlink: this.unlink,
- cache: this.dirCache,
- cwd: this.cwd,
- mode
- });
- } catch (er) {
- return er;
- }
- }
- [LINK](entry, linkpath, link, done) {
- try {
- fs9[link + "Sync"](linkpath, entry.absolute);
- done();
- entry.resume();
- } catch (er) {
- return this[ONERROR](er, entry);
- }
- }
- };
- Unpack.Sync = UnpackSync;
- module2.exports = Unpack;
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/extract.js
-var require_extract = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/lib/extract.js"(exports, module2) {
- "use strict";
- var hlo = require_high_level_opt();
- var Unpack = require_unpack();
- var fs9 = require("fs");
- var fsm = require_fs_minipass();
- var path10 = require("path");
- var stripSlash = require_strip_trailing_slashes();
- module2.exports = (opt_, files, cb) => {
- if (typeof opt_ === "function") {
- cb = opt_, files = null, opt_ = {};
- } else if (Array.isArray(opt_)) {
- files = opt_, opt_ = {};
- }
- if (typeof files === "function") {
- cb = files, files = null;
- }
- if (!files) {
- files = [];
- } else {
- files = Array.from(files);
- }
- const opt = hlo(opt_);
- if (opt.sync && typeof cb === "function") {
- throw new TypeError("callback not supported for sync tar functions");
- }
- if (!opt.file && typeof cb === "function") {
- throw new TypeError("callback only supported with file option");
- }
- if (files.length) {
- filesFilter(opt, files);
- }
- return opt.file && opt.sync ? extractFileSync(opt) : opt.file ? extractFile(opt, cb) : opt.sync ? extractSync(opt) : extract(opt);
- };
- var filesFilter = (opt, files) => {
- const map = new Map(files.map((f) => [stripSlash(f), true]));
- const filter = opt.filter;
- const mapHas = (file, r) => {
- const root = r || path10.parse(file).root || ".";
- const ret = file === root ? false : map.has(file) ? map.get(file) : mapHas(path10.dirname(file), root);
- map.set(file, ret);
- return ret;
- };
- opt.filter = filter ? (file, entry) => filter(file, entry) && mapHas(stripSlash(file)) : (file) => mapHas(stripSlash(file));
- };
- var extractFileSync = (opt) => {
- const u = new Unpack.Sync(opt);
- const file = opt.file;
- const stat = fs9.statSync(file);
- const readSize = opt.maxReadSize || 16 * 1024 * 1024;
- const stream = new fsm.ReadStreamSync(file, {
- readSize,
- size: stat.size
- });
- stream.pipe(u);
- };
- var extractFile = (opt, cb) => {
- const u = new Unpack(opt);
- const readSize = opt.maxReadSize || 16 * 1024 * 1024;
- const file = opt.file;
- const p = new Promise((resolve, reject) => {
- u.on("error", reject);
- u.on("close", resolve);
- fs9.stat(file, (er, stat) => {
- if (er) {
- reject(er);
- } else {
- const stream = new fsm.ReadStream(file, {
- readSize,
- size: stat.size
- });
- stream.on("error", reject);
- stream.pipe(u);
- }
- });
- });
- return cb ? p.then(cb, cb) : p;
- };
- var extractSync = (opt) => new Unpack.Sync(opt);
- var extract = (opt) => new Unpack(opt);
- }
-});
-
-// .yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/index.js
-var require_tar = __commonJS({
- ".yarn/cache/tar-npm-6.2.0-3eb25205a7-02ca064a1a.zip/node_modules/tar/index.js"(exports) {
- "use strict";
- exports.c = exports.create = require_create();
- exports.r = exports.replace = require_replace();
- exports.t = exports.list = require_list();
- exports.u = exports.update = require_update();
- exports.x = exports.extract = require_extract();
- exports.Pack = require_pack();
- exports.Unpack = require_unpack();
- exports.Parse = require_parse2();
- exports.ReadEntry = require_read_entry();
- exports.WriteEntry = require_write_entry();
- exports.Header = require_header();
- exports.Pax = require_pax();
- exports.types = require_types();
- }
-});
-
-// .yarn/cache/v8-compile-cache-npm-2.4.0-5979f8e405-3878511925.zip/node_modules/v8-compile-cache/v8-compile-cache.js
-var require_v8_compile_cache = __commonJS({
- ".yarn/cache/v8-compile-cache-npm-2.4.0-5979f8e405-3878511925.zip/node_modules/v8-compile-cache/v8-compile-cache.js"(exports, module2) {
- "use strict";
- var Module2 = require("module");
- var crypto = require("crypto");
- var fs9 = require("fs");
- var path10 = require("path");
- var vm = require("vm");
- var os3 = require("os");
- var hasOwnProperty = Object.prototype.hasOwnProperty;
- var FileSystemBlobStore = class {
- constructor(directory, prefix) {
- const name = prefix ? slashEscape(prefix + ".") : "";
- this._blobFilename = path10.join(directory, name + "BLOB");
- this._mapFilename = path10.join(directory, name + "MAP");
- this._lockFilename = path10.join(directory, name + "LOCK");
- this._directory = directory;
- this._load();
- }
- has(key, invalidationKey) {
- if (hasOwnProperty.call(this._memoryBlobs, key)) {
- return this._invalidationKeys[key] === invalidationKey;
- } else if (hasOwnProperty.call(this._storedMap, key)) {
- return this._storedMap[key][0] === invalidationKey;
- }
- return false;
- }
- get(key, invalidationKey) {
- if (hasOwnProperty.call(this._memoryBlobs, key)) {
- if (this._invalidationKeys[key] === invalidationKey) {
- return this._memoryBlobs[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]);
- }
- }
- }
- set(key, invalidationKey, buffer) {
- this._invalidationKeys[key] = invalidationKey;
- this._memoryBlobs[key] = buffer;
- this._dirty = true;
- }
- delete(key) {
- if (hasOwnProperty.call(this._memoryBlobs, key)) {
- this._dirty = true;
- delete this._memoryBlobs[key];
- }
- if (hasOwnProperty.call(this._invalidationKeys, key)) {
- this._dirty = true;
- delete this._invalidationKeys[key];
- }
- if (hasOwnProperty.call(this._storedMap, key)) {
- this._dirty = true;
- delete this._storedMap[key];
- }
- }
- isDirty() {
- return this._dirty;
- }
- save() {
- const dump = this._getDump();
- const blobToStore = Buffer.concat(dump[0]);
- const mapToStore = JSON.stringify(dump[1]);
- try {
- mkdirpSync(this._directory);
- fs9.writeFileSync(this._lockFilename, "LOCK", { flag: "wx" });
- } catch (error) {
- return false;
- }
- try {
- fs9.writeFileSync(this._blobFilename, blobToStore);
- fs9.writeFileSync(this._mapFilename, mapToStore);
- } finally {
- fs9.unlinkSync(this._lockFilename);
- }
- return true;
- }
- _load() {
- try {
- this._storedBlob = fs9.readFileSync(this._blobFilename);
- this._storedMap = JSON.parse(fs9.readFileSync(this._mapFilename));
- } catch (e) {
- this._storedBlob = Buffer.alloc(0);
- this._storedMap = {};
- }
- this._dirty = false;
- this._memoryBlobs = {};
- this._invalidationKeys = {};
- }
- _getDump() {
- const buffers = [];
- const newMap = {};
- let offset = 0;
- function push(key, invalidationKey, buffer) {
- buffers.push(buffer);
- newMap[key] = [invalidationKey, offset, offset + buffer.length];
- offset += buffer.length;
- }
- for (const key of Object.keys(this._memoryBlobs)) {
- const buffer = this._memoryBlobs[key];
- const invalidationKey = this._invalidationKeys[key];
- push(key, invalidationKey, buffer);
- }
- for (const key of Object.keys(this._storedMap)) {
- if (hasOwnProperty.call(newMap, key))
- continue;
- const mapping = this._storedMap[key];
- const buffer = this._storedBlob.slice(mapping[1], mapping[2]);
- push(key, mapping[0], buffer);
- }
- return [buffers, newMap];
- }
- };
- var NativeCompileCache = class {
- constructor() {
- this._cacheStore = null;
- this._previousModuleCompile = null;
- }
- setCacheStore(cacheStore) {
- this._cacheStore = cacheStore;
- }
- install() {
- const self2 = this;
- const hasRequireResolvePaths = typeof require.resolve.paths === "function";
- this._previousModuleCompile = Module2.prototype._compile;
- Module2.prototype._compile = function(content, filename) {
- const mod = this;
- function require2(id) {
- return mod.require(id);
- }
- function resolve(request, options) {
- return Module2._resolveFilename(request, mod, false, options);
- }
- require2.resolve = resolve;
- if (hasRequireResolvePaths) {
- resolve.paths = function paths(request) {
- return Module2._resolveLookupPaths(request, mod, true);
- };
- }
- require2.main = process.mainModule;
- require2.extensions = Module2._extensions;
- require2.cache = Module2._cache;
- const dirname = path10.dirname(filename);
- const compiledWrapper = self2._moduleCompile(filename, content);
- const args = [mod.exports, require2, mod, filename, dirname, process, global, Buffer];
- return compiledWrapper.apply(mod.exports, args);
- };
- }
- uninstall() {
- Module2.prototype._compile = this._previousModuleCompile;
- }
- _moduleCompile(filename, content) {
- var contLen = content.length;
- if (contLen >= 2) {
- if (content.charCodeAt(0) === 35 && content.charCodeAt(1) === 33) {
- if (contLen === 2) {
- content = "";
- } else {
- var i = 2;
- for (; i < contLen; ++i) {
- var code = content.charCodeAt(i);
- if (code === 10 || code === 13)
- break;
- }
- if (i === contLen) {
- content = "";
- } else {
- content = content.slice(i);
- }
- }
- }
- }
- var wrapper = Module2.wrap(content);
- var invalidationKey = crypto.createHash("sha1").update(content, "utf8").digest("hex");
- var buffer = this._cacheStore.get(filename, invalidationKey);
- var script = new vm.Script(wrapper, {
- filename,
- lineOffset: 0,
- displayErrors: true,
- cachedData: buffer,
- produceCachedData: true
- });
- if (script.cachedDataProduced) {
- this._cacheStore.set(filename, invalidationKey, script.cachedData);
- } else if (script.cachedDataRejected) {
- this._cacheStore.delete(filename);
- }
- var compiledWrapper = script.runInThisContext({
- filename,
- lineOffset: 0,
- columnOffset: 0,
- displayErrors: true
- });
- return compiledWrapper;
- }
- };
- function mkdirpSync(p_) {
- _mkdirpSync(path10.resolve(p_), 511);
- }
- function _mkdirpSync(p, mode) {
- try {
- fs9.mkdirSync(p, mode);
- } catch (err0) {
- if (err0.code === "ENOENT") {
- _mkdirpSync(path10.dirname(p));
- _mkdirpSync(p);
- } else {
- try {
- const stat = fs9.statSync(p);
- if (!stat.isDirectory()) {
- throw err0;
- }
- } catch (err1) {
- throw err0;
- }
- }
- }
- }
- function slashEscape(str) {
- const ESCAPE_LOOKUP = {
- "\\": "zB",
- ":": "zC",
- "/": "zS",
- "\0": "z0",
- "z": "zZ"
- };
- const ESCAPE_REGEX = /[\\:/\x00z]/g;
- return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
- }
- function supportsCachedData() {
- const script = new vm.Script('""', { produceCachedData: true });
- return script.cachedDataProduced === true;
- }
- function getCacheDir() {
- const v8_compile_cache_cache_dir = process.env.V8_COMPILE_CACHE_CACHE_DIR;
- if (v8_compile_cache_cache_dir) {
- return v8_compile_cache_cache_dir;
- }
- const dirname = typeof process.getuid === "function" ? "v8-compile-cache-" + process.getuid() : "v8-compile-cache";
- const arch = process.arch;
- const version2 = typeof process.versions.v8 === "string" ? process.versions.v8 : typeof process.versions.chakracore === "string" ? "chakracore-" + process.versions.chakracore : "node-" + process.version;
- const cacheDir = path10.join(os3.tmpdir(), dirname, arch, version2);
- return cacheDir;
- }
- function getMainName() {
- const mainName = require.main && typeof require.main.filename === "string" ? require.main.filename : process.cwd();
- return mainName;
- }
- if (!process.env.DISABLE_V8_COMPILE_CACHE && supportsCachedData()) {
- const cacheDir = getCacheDir();
- const prefix = getMainName();
- const blobStore = new FileSystemBlobStore(cacheDir, prefix);
- const nativeCompileCache = new NativeCompileCache();
- nativeCompileCache.setCacheStore(blobStore);
- nativeCompileCache.install();
- process.once("exit", () => {
- if (blobStore.isDirty()) {
- blobStore.save();
- }
- nativeCompileCache.uninstall();
- });
- }
- module2.exports.__TEST__ = {
- FileSystemBlobStore,
- NativeCompileCache,
- mkdirpSync,
- slashEscape,
- supportsCachedData,
- getCacheDir,
- getMainName
- };
- }
-});
-
-// .yarn/cache/isexe-npm-3.1.1-9c0061eead-9ec2576540.zip/node_modules/isexe/dist/cjs/posix.js
-var require_posix = __commonJS({
- ".yarn/cache/isexe-npm-3.1.1-9c0061eead-9ec2576540.zip/node_modules/isexe/dist/cjs/posix.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.sync = exports.isexe = void 0;
- var fs_1 = require("fs");
- var promises_1 = require("fs/promises");
- var isexe = async (path10, options = {}) => {
- const { ignoreErrors = false } = options;
- try {
- return checkStat(await (0, promises_1.stat)(path10), options);
- } catch (e) {
- const er = e;
- if (ignoreErrors || er.code === "EACCES")
- return false;
- throw er;
- }
- };
- exports.isexe = isexe;
- var sync = (path10, options = {}) => {
- const { ignoreErrors = false } = options;
- try {
- return checkStat((0, fs_1.statSync)(path10), options);
- } catch (e) {
- const er = e;
- if (ignoreErrors || er.code === "EACCES")
- return false;
- throw er;
- }
- };
- exports.sync = sync;
- 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];
- if (myUid === void 0 || myGid === void 0) {
- throw new Error("cannot get uid or gid");
- }
- const groups = /* @__PURE__ */ new Set([myGid, ...myGroups]);
- 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);
- const ug = u | g;
- return !!(mod & o || mod & g && groups.has(gid) || mod & u && uid === myUid || mod & ug && myUid === 0);
- };
- }
-});
-
-// .yarn/cache/isexe-npm-3.1.1-9c0061eead-9ec2576540.zip/node_modules/isexe/dist/cjs/win32.js
-var require_win32 = __commonJS({
- ".yarn/cache/isexe-npm-3.1.1-9c0061eead-9ec2576540.zip/node_modules/isexe/dist/cjs/win32.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.sync = exports.isexe = void 0;
- var fs_1 = require("fs");
- var promises_1 = require("fs/promises");
- var isexe = async (path10, options = {}) => {
- const { ignoreErrors = false } = options;
- try {
- return checkStat(await (0, promises_1.stat)(path10), path10, options);
- } catch (e) {
- const er = e;
- if (ignoreErrors || er.code === "EACCES")
- return false;
- throw er;
- }
- };
- exports.isexe = isexe;
- var sync = (path10, options = {}) => {
- const { ignoreErrors = false } = options;
- try {
- return checkStat((0, fs_1.statSync)(path10), path10, options);
- } catch (e) {
- const er = e;
- if (ignoreErrors || er.code === "EACCES")
- return false;
- throw er;
- }
- };
- exports.sync = sync;
- var checkPathExt = (path10, options) => {
- const { pathExt = process.env.PATHEXT || "" } = options;
- const peSplit = pathExt.split(";");
- if (peSplit.indexOf("") !== -1) {
- return true;
- }
- for (let i = 0; i < peSplit.length; i++) {
- const p = peSplit[i].toLowerCase();
- const ext = path10.substring(path10.length - p.length).toLowerCase();
- if (p && ext === p) {
- return true;
- }
- }
- return false;
- };
- var checkStat = (stat, path10, options) => stat.isFile() && checkPathExt(path10, options);
- }
-});
-
-// .yarn/cache/isexe-npm-3.1.1-9c0061eead-9ec2576540.zip/node_modules/isexe/dist/cjs/options.js
-var require_options = __commonJS({
- ".yarn/cache/isexe-npm-3.1.1-9c0061eead-9ec2576540.zip/node_modules/isexe/dist/cjs/options.js"(exports) {
- "use strict";
- Object.defineProperty(exports, "__esModule", { value: true });
- }
-});
-
-// .yarn/cache/isexe-npm-3.1.1-9c0061eead-9ec2576540.zip/node_modules/isexe/dist/cjs/index.js
-var require_cjs = __commonJS({
- ".yarn/cache/isexe-npm-3.1.1-9c0061eead-9ec2576540.zip/node_modules/isexe/dist/cjs/index.js"(exports) {
- "use strict";
- var __createBinding = exports && exports.__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() {
- return m[k];
- } };
- }
- Object.defineProperty(o, k2, desc);
- } : function(o, m, k, k2) {
- if (k2 === void 0)
- k2 = k;
- o[k2] = m[k];
- });
- var __setModuleDefault = exports && exports.__setModuleDefault || (Object.create ? function(o, v) {
- Object.defineProperty(o, "default", { enumerable: true, value: v });
- } : function(o, v) {
- o["default"] = v;
- });
- var __importStar = exports && exports.__importStar || function(mod) {
- if (mod && mod.__esModule)
- return mod;
- var result = {};
- if (mod != null) {
- for (var k in mod)
- if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k))
- __createBinding(result, mod, k);
- }
- __setModuleDefault(result, mod);
- return result;
- };
- var __exportStar = exports && exports.__exportStar || function(m, exports2) {
- for (var p in m)
- if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports2, p))
- __createBinding(exports2, m, p);
- };
- Object.defineProperty(exports, "__esModule", { value: true });
- exports.sync = exports.isexe = exports.posix = exports.win32 = void 0;
- var posix = __importStar(require_posix());
- exports.posix = posix;
- var win32 = __importStar(require_win32());
- exports.win32 = win32;
- __exportStar(require_options(), exports);
- var platform = process.env._ISEXE_TEST_PLATFORM_ || process.platform;
- var impl = platform === "win32" ? win32 : posix;
- exports.isexe = impl.isexe;
- exports.sync = impl.sync;
- }
-});
-
-// .yarn/cache/which-npm-4.0.0-dd31cd4928-449fa5c44e.zip/node_modules/which/lib/index.js
-var require_lib = __commonJS({
- ".yarn/cache/which-npm-4.0.0-dd31cd4928-449fa5c44e.zip/node_modules/which/lib/index.js"(exports, module2) {
- var { isexe, sync: isexeSync } = require_cjs();
- var { join: join2, delimiter, sep, posix } = require("path");
- var isWindows = process.platform === "win32";
- var rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? "" : sep}]`.replace(/(\\)/g, "\\$1"));
- var rRel = new RegExp(`^\\.${rSlash.source}`);
- var getNotFoundError = (cmd) => Object.assign(new Error(`not found: ${cmd}`), { code: "ENOENT" });
- var getPathInfo = (cmd, {
- path: optPath = process.env.PATH,
- pathExt: optPathExt = process.env.PATHEXT,
- delimiter: optDelimiter = delimiter
- }) => {
- const pathEnv = cmd.match(rSlash) ? [""] : [
- // windows always checks the cwd first
- ...isWindows ? [process.cwd()] : [],
- ...(optPath || /* istanbul ignore next: very unusual */
- "").split(optDelimiter)
- ];
- if (isWindows) {
- const pathExtExe = optPathExt || [".EXE", ".CMD", ".BAT", ".COM"].join(optDelimiter);
- const pathExt = pathExtExe.split(optDelimiter).flatMap((item) => [item, item.toLowerCase()]);
- if (cmd.includes(".") && pathExt[0] !== "") {
- pathExt.unshift("");
- }
- return { pathEnv, pathExt, pathExtExe };
- }
- return { pathEnv, pathExt: [""] };
- };
- var getPathPart = (raw, cmd) => {
- const pathPart = /^".*"$/.test(raw) ? raw.slice(1, -1) : raw;
- const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : "";
- return prefix + join2(pathPart, cmd);
- };
- var which3 = async (cmd, opt = {}) => {
- const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
- const found = [];
- for (const envPart of pathEnv) {
- const p = getPathPart(envPart, cmd);
- for (const ext of pathExt) {
- const withExt = p + ext;
- const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true });
- if (is) {
- if (!opt.all) {
- return withExt;
- }
- found.push(withExt);
- }
- }
- }
- if (opt.all && found.length) {
- return found;
- }
- if (opt.nothrow) {
- return null;
- }
- throw getNotFoundError(cmd);
- };
- var whichSync = (cmd, opt = {}) => {
- const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt);
- const found = [];
- for (const pathEnvPart of pathEnv) {
- const p = getPathPart(pathEnvPart, cmd);
- for (const ext of pathExt) {
- const withExt = p + ext;
- const is = isexeSync(withExt, { pathExt: pathExtExe, ignoreErrors: true });
- if (is) {
- if (!opt.all) {
- return withExt;
- }
- found.push(withExt);
- }
- }
- }
- if (opt.all && found.length) {
- return found;
- }
- if (opt.nothrow) {
- return null;
- }
- throw getNotFoundError(cmd);
- };
- module2.exports = which3;
- which3.sync = whichSync;
- }
-});
-
-// .yarn/cache/is-windows-npm-1.0.2-898cd6f3d7-b32f418ab3.zip/node_modules/is-windows/index.js
-var require_is_windows = __commonJS({
- ".yarn/cache/is-windows-npm-1.0.2-898cd6f3d7-b32f418ab3.zip/node_modules/is-windows/index.js"(exports, module2) {
- (function(factory) {
- if (exports && typeof exports === "object" && typeof module2 !== "undefined") {
- module2.exports = factory();
- } else if (typeof define === "function" && define.amd) {
- define([], factory);
- } else if (typeof window !== "undefined") {
- window.isWindows = factory();
- } else if (typeof global !== "undefined") {
- global.isWindows = factory();
- } else if (typeof self !== "undefined") {
- self.isWindows = factory();
- } else {
- this.isWindows = factory();
- }
- })(function() {
- "use strict";
- return function isWindows() {
- return process && (process.platform === "win32" || /^(msys|cygwin)$/.test(process.env.OSTYPE));
- };
- });
- }
-});
-
-// .yarn/cache/cmd-extension-npm-1.0.2-11aa204c4b-acdb425d51.zip/node_modules/cmd-extension/index.js
-var require_cmd_extension = __commonJS({
- ".yarn/cache/cmd-extension-npm-1.0.2-11aa204c4b-acdb425d51.zip/node_modules/cmd-extension/index.js"(exports, module2) {
- "use strict";
- var path10 = require("path");
- var cmdExtension;
- if (process.env.PATHEXT) {
- cmdExtension = process.env.PATHEXT.split(path10.delimiter).find((ext) => ext.toUpperCase() === ".CMD");
- }
- module2.exports = cmdExtension || ".cmd";
- }
-});
-
-// .yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip/node_modules/graceful-fs/polyfills.js
-var require_polyfills = __commonJS({
- ".yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip/node_modules/graceful-fs/polyfills.js"(exports, module2) {
- var constants = require("constants");
- var origCwd = process.cwd;
- var cwd = null;
- var platform = process.env.GRACEFUL_FS_PLATFORM || process.platform;
- process.cwd = function() {
- if (!cwd)
- cwd = origCwd.call(process);
- return cwd;
- };
- try {
- process.cwd();
- } catch (er) {
- }
- if (typeof process.chdir === "function") {
- chdir = process.chdir;
- process.chdir = function(d) {
- cwd = null;
- chdir.call(process, d);
- };
- if (Object.setPrototypeOf)
- Object.setPrototypeOf(process.chdir, chdir);
- }
- var chdir;
- module2.exports = patch;
- function patch(fs9) {
- if (constants.hasOwnProperty("O_SYMLINK") && process.version.match(/^v0\.6\.[0-2]|^v0\.5\./)) {
- patchLchmod(fs9);
- }
- if (!fs9.lutimes) {
- patchLutimes(fs9);
- }
- fs9.chown = chownFix(fs9.chown);
- fs9.fchown = chownFix(fs9.fchown);
- fs9.lchown = chownFix(fs9.lchown);
- fs9.chmod = chmodFix(fs9.chmod);
- fs9.fchmod = chmodFix(fs9.fchmod);
- fs9.lchmod = chmodFix(fs9.lchmod);
- fs9.chownSync = chownFixSync(fs9.chownSync);
- fs9.fchownSync = chownFixSync(fs9.fchownSync);
- fs9.lchownSync = chownFixSync(fs9.lchownSync);
- fs9.chmodSync = chmodFixSync(fs9.chmodSync);
- fs9.fchmodSync = chmodFixSync(fs9.fchmodSync);
- fs9.lchmodSync = chmodFixSync(fs9.lchmodSync);
- fs9.stat = statFix(fs9.stat);
- fs9.fstat = statFix(fs9.fstat);
- fs9.lstat = statFix(fs9.lstat);
- fs9.statSync = statFixSync(fs9.statSync);
- fs9.fstatSync = statFixSync(fs9.fstatSync);
- fs9.lstatSync = statFixSync(fs9.lstatSync);
- if (fs9.chmod && !fs9.lchmod) {
- fs9.lchmod = function(path10, mode, cb) {
- if (cb)
- process.nextTick(cb);
- };
- fs9.lchmodSync = function() {
- };
- }
- if (fs9.chown && !fs9.lchown) {
- fs9.lchown = function(path10, uid, gid, cb) {
- if (cb)
- process.nextTick(cb);
- };
- fs9.lchownSync = function() {
- };
- }
- if (platform === "win32") {
- fs9.rename = typeof fs9.rename !== "function" ? fs9.rename : function(fs$rename) {
- function rename(from, to, cb) {
- var start = Date.now();
- var backoff = 0;
- fs$rename(from, to, function CB(er) {
- if (er && (er.code === "EACCES" || er.code === "EPERM" || er.code === "EBUSY") && Date.now() - start < 6e4) {
- setTimeout(function() {
- fs9.stat(to, function(stater, st) {
- if (stater && stater.code === "ENOENT")
- fs$rename(from, to, CB);
- else
- cb(er);
- });
- }, backoff);
- if (backoff < 100)
- backoff += 10;
- return;
- }
- if (cb)
- cb(er);
- });
- }
- if (Object.setPrototypeOf)
- Object.setPrototypeOf(rename, fs$rename);
- return rename;
- }(fs9.rename);
- }
- fs9.read = typeof fs9.read !== "function" ? fs9.read : function(fs$read) {
- function read(fd, buffer, offset, length, position, callback_) {
- var callback;
- if (callback_ && typeof callback_ === "function") {
- var eagCounter = 0;
- callback = function(er, _, __) {
- if (er && er.code === "EAGAIN" && eagCounter < 10) {
- eagCounter++;
- return fs$read.call(fs9, fd, buffer, offset, length, position, callback);
- }
- callback_.apply(this, arguments);
- };
- }
- return fs$read.call(fs9, fd, buffer, offset, length, position, callback);
- }
- if (Object.setPrototypeOf)
- Object.setPrototypeOf(read, fs$read);
- return read;
- }(fs9.read);
- fs9.readSync = typeof fs9.readSync !== "function" ? fs9.readSync : function(fs$readSync) {
- return function(fd, buffer, offset, length, position) {
- var eagCounter = 0;
- while (true) {
- try {
- return fs$readSync.call(fs9, fd, buffer, offset, length, position);
- } catch (er) {
- if (er.code === "EAGAIN" && eagCounter < 10) {
- eagCounter++;
- continue;
- }
- throw er;
- }
- }
- };
- }(fs9.readSync);
- function patchLchmod(fs10) {
- fs10.lchmod = function(path10, mode, callback) {
- fs10.open(
- path10,
- constants.O_WRONLY | constants.O_SYMLINK,
- mode,
- function(err, fd) {
- if (err) {
- if (callback)
- callback(err);
- return;
- }
- fs10.fchmod(fd, mode, function(err2) {
- fs10.close(fd, function(err22) {
- if (callback)
- callback(err2 || err22);
- });
- });
- }
- );
- };
- fs10.lchmodSync = function(path10, mode) {
- var fd = fs10.openSync(path10, constants.O_WRONLY | constants.O_SYMLINK, mode);
- var threw = true;
- var ret;
- try {
- ret = fs10.fchmodSync(fd, mode);
- threw = false;
- } finally {
- if (threw) {
- try {
- fs10.closeSync(fd);
- } catch (er) {
- }
- } else {
- fs10.closeSync(fd);
- }
- }
- return ret;
- };
- }
- function patchLutimes(fs10) {
- if (constants.hasOwnProperty("O_SYMLINK") && fs10.futimes) {
- fs10.lutimes = function(path10, at, mt, cb) {
- fs10.open(path10, constants.O_SYMLINK, function(er, fd) {
- if (er) {
- if (cb)
- cb(er);
- return;
- }
- fs10.futimes(fd, at, mt, function(er2) {
- fs10.close(fd, function(er22) {
- if (cb)
- cb(er2 || er22);
- });
- });
- });
- };
- fs10.lutimesSync = function(path10, at, mt) {
- var fd = fs10.openSync(path10, constants.O_SYMLINK);
- var ret;
- var threw = true;
- try {
- ret = fs10.futimesSync(fd, at, mt);
- threw = false;
- } finally {
- if (threw) {
- try {
- fs10.closeSync(fd);
- } catch (er) {
- }
- } else {
- fs10.closeSync(fd);
- }
- }
- return ret;
- };
- } else if (fs10.futimes) {
- fs10.lutimes = function(_a, _b, _c, cb) {
- if (cb)
- process.nextTick(cb);
- };
- fs10.lutimesSync = function() {
- };
- }
- }
- function chmodFix(orig) {
- if (!orig)
- return orig;
- return function(target, mode, cb) {
- return orig.call(fs9, target, mode, function(er) {
- if (chownErOk(er))
- er = null;
- if (cb)
- cb.apply(this, arguments);
- });
- };
- }
- function chmodFixSync(orig) {
- if (!orig)
- return orig;
- return function(target, mode) {
- try {
- return orig.call(fs9, target, mode);
- } catch (er) {
- if (!chownErOk(er))
- throw er;
- }
- };
- }
- function chownFix(orig) {
- if (!orig)
- return orig;
- return function(target, uid, gid, cb) {
- return orig.call(fs9, target, uid, gid, function(er) {
- if (chownErOk(er))
- er = null;
- if (cb)
- cb.apply(this, arguments);
- });
- };
- }
- function chownFixSync(orig) {
- if (!orig)
- return orig;
- return function(target, uid, gid) {
- try {
- return orig.call(fs9, target, uid, gid);
- } catch (er) {
- if (!chownErOk(er))
- throw er;
- }
- };
- }
- function statFix(orig) {
- if (!orig)
- return orig;
- return function(target, options, cb) {
- if (typeof options === "function") {
- cb = options;
- options = null;
- }
- function callback(er, stats) {
- if (stats) {
- if (stats.uid < 0)
- stats.uid += 4294967296;
- if (stats.gid < 0)
- stats.gid += 4294967296;
- }
- if (cb)
- cb.apply(this, arguments);
- }
- return options ? orig.call(fs9, target, options, callback) : orig.call(fs9, target, callback);
- };
- }
- function statFixSync(orig) {
- if (!orig)
- return orig;
- return function(target, options) {
- var stats = options ? orig.call(fs9, target, options) : orig.call(fs9, target);
- if (stats) {
- if (stats.uid < 0)
- stats.uid += 4294967296;
- if (stats.gid < 0)
- stats.gid += 4294967296;
- }
- return stats;
- };
- }
- function chownErOk(er) {
- if (!er)
- return true;
- if (er.code === "ENOSYS")
- return true;
- var nonroot = !process.getuid || process.getuid() !== 0;
- if (nonroot) {
- if (er.code === "EINVAL" || er.code === "EPERM")
- return true;
- }
- return false;
- }
- }
- }
-});
-
-// .yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip/node_modules/graceful-fs/legacy-streams.js
-var require_legacy_streams = __commonJS({
- ".yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip/node_modules/graceful-fs/legacy-streams.js"(exports, module2) {
- var Stream = require("stream").Stream;
- module2.exports = legacy;
- function legacy(fs9) {
- return {
- ReadStream,
- WriteStream
- };
- function ReadStream(path10, options) {
- if (!(this instanceof ReadStream))
- return new ReadStream(path10, options);
- Stream.call(this);
- var self2 = this;
- this.path = path10;
- this.fd = null;
- this.readable = true;
- this.paused = false;
- this.flags = "r";
- this.mode = 438;
- this.bufferSize = 64 * 1024;
- options = options || {};
- var keys = Object.keys(options);
- for (var index = 0, length = keys.length; index < length; index++) {
- var key = keys[index];
- this[key] = options[key];
- }
- if (this.encoding)
- this.setEncoding(this.encoding);
- if (this.start !== void 0) {
- if ("number" !== typeof this.start) {
- throw TypeError("start must be a Number");
- }
- if (this.end === void 0) {
- this.end = Infinity;
- } else if ("number" !== typeof this.end) {
- throw TypeError("end must be a Number");
- }
- if (this.start > this.end) {
- throw new Error("start must be <= end");
- }
- this.pos = this.start;
- }
- if (this.fd !== null) {
- process.nextTick(function() {
- self2._read();
- });
- return;
- }
- fs9.open(this.path, this.flags, this.mode, function(err, fd) {
- if (err) {
- self2.emit("error", err);
- self2.readable = false;
- return;
- }
- self2.fd = fd;
- self2.emit("open", fd);
- self2._read();
- });
- }
- function WriteStream(path10, options) {
- if (!(this instanceof WriteStream))
- return new WriteStream(path10, options);
- Stream.call(this);
- this.path = path10;
- this.fd = null;
- this.writable = true;
- this.flags = "w";
- this.encoding = "binary";
- this.mode = 438;
- this.bytesWritten = 0;
- options = options || {};
- var keys = Object.keys(options);
- for (var index = 0, length = keys.length; index < length; index++) {
- var key = keys[index];
- this[key] = options[key];
- }
- if (this.start !== void 0) {
- if ("number" !== typeof this.start) {
- throw TypeError("start must be a Number");
- }
- if (this.start < 0) {
- throw new Error("start must be >= zero");
- }
- this.pos = this.start;
- }
- this.busy = false;
- this._queue = [];
- if (this.fd === null) {
- this._open = fs9.open;
- this._queue.push([this._open, this.path, this.flags, this.mode, void 0]);
- this.flush();
- }
- }
- }
- }
-});
-
-// .yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip/node_modules/graceful-fs/clone.js
-var require_clone = __commonJS({
- ".yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip/node_modules/graceful-fs/clone.js"(exports, module2) {
- "use strict";
- module2.exports = clone;
- var getPrototypeOf = Object.getPrototypeOf || function(obj) {
- return obj.__proto__;
- };
- function clone(obj) {
- if (obj === null || typeof obj !== "object")
- return obj;
- if (obj instanceof Object)
- var copy = { __proto__: getPrototypeOf(obj) };
- else
- var copy = /* @__PURE__ */ Object.create(null);
- Object.getOwnPropertyNames(obj).forEach(function(key) {
- Object.defineProperty(copy, key, Object.getOwnPropertyDescriptor(obj, key));
- });
- return copy;
- }
- }
-});
-
-// .yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip/node_modules/graceful-fs/graceful-fs.js
-var require_graceful_fs = __commonJS({
- ".yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-386d011a55.zip/node_modules/graceful-fs/graceful-fs.js"(exports, module2) {
- var fs9 = require("fs");
- var polyfills = require_polyfills();
- var legacy = require_legacy_streams();
- var clone = require_clone();
- var util = require("util");
- var gracefulQueue;
- var previousSymbol;
- if (typeof Symbol === "function" && typeof Symbol.for === "function") {
- gracefulQueue = Symbol.for("graceful-fs.queue");
- previousSymbol = Symbol.for("graceful-fs.previous");
- } else {
- gracefulQueue = "___graceful-fs.queue";
- previousSymbol = "___graceful-fs.previous";
- }
- function noop() {
- }
- function publishQueue(context, queue2) {
- Object.defineProperty(context, gracefulQueue, {
- get: function() {
- return queue2;
- }
- });
- }
- var debug2 = noop;
- if (util.debuglog)
- debug2 = util.debuglog("gfs4");
- else if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || ""))
- debug2 = function() {
- var m = util.format.apply(util, arguments);
- m = "GFS4: " + m.split(/\n/).join("\nGFS4: ");
- console.error(m);
- };
- if (!fs9[gracefulQueue]) {
- queue = global[gracefulQueue] || [];
- publishQueue(fs9, queue);
- fs9.close = function(fs$close) {
- function close(fd, cb) {
- return fs$close.call(fs9, fd, function(err) {
- if (!err) {
- resetQueue();
- }
- if (typeof cb === "function")
- cb.apply(this, arguments);
- });
- }
- Object.defineProperty(close, previousSymbol, {
- value: fs$close
- });
- return close;
- }(fs9.close);
- fs9.closeSync = function(fs$closeSync) {
- function closeSync(fd) {
- fs$closeSync.apply(fs9, arguments);
- resetQueue();
- }
- Object.defineProperty(closeSync, previousSymbol, {
- value: fs$closeSync
- });
- return closeSync;
- }(fs9.closeSync);
- if (/\bgfs4\b/i.test(process.env.NODE_DEBUG || "")) {
- process.on("exit", function() {
- debug2(fs9[gracefulQueue]);
- require("assert").equal(fs9[gracefulQueue].length, 0);
- });
- }
- }
- var queue;
- if (!global[gracefulQueue]) {
- publishQueue(global, fs9[gracefulQueue]);
- }
- module2.exports = patch(clone(fs9));
- if (process.env.TEST_GRACEFUL_FS_GLOBAL_PATCH && !fs9.__patched) {
- module2.exports = patch(fs9);
- fs9.__patched = true;
- }
- function patch(fs10) {
- polyfills(fs10);
- fs10.gracefulify = patch;
- fs10.createReadStream = createReadStream;
- fs10.createWriteStream = createWriteStream;
- var fs$readFile = fs10.readFile;
- fs10.readFile = readFile;
- function readFile(path10, options, cb) {
- if (typeof options === "function")
- cb = options, options = null;
- return go$readFile(path10, options, cb);
- function go$readFile(path11, options2, cb2, startTime) {
- return fs$readFile(path11, options2, function(err) {
- if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
- enqueue([go$readFile, [path11, options2, cb2], err, startTime || Date.now(), Date.now()]);
- else {
- if (typeof cb2 === "function")
- cb2.apply(this, arguments);
- }
- });
- }
- }
- var fs$writeFile = fs10.writeFile;
- fs10.writeFile = writeFile;
- function writeFile(path10, data, options, cb) {
- if (typeof options === "function")
- cb = options, options = null;
- return go$writeFile(path10, data, options, cb);
- function go$writeFile(path11, data2, options2, cb2, startTime) {
- return fs$writeFile(path11, data2, options2, function(err) {
- if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
- enqueue([go$writeFile, [path11, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
- else {
- if (typeof cb2 === "function")
- cb2.apply(this, arguments);
- }
- });
- }
- }
- var fs$appendFile = fs10.appendFile;
- if (fs$appendFile)
- fs10.appendFile = appendFile;
- function appendFile(path10, data, options, cb) {
- if (typeof options === "function")
- cb = options, options = null;
- return go$appendFile(path10, data, options, cb);
- function go$appendFile(path11, data2, options2, cb2, startTime) {
- return fs$appendFile(path11, data2, options2, function(err) {
- if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
- enqueue([go$appendFile, [path11, data2, options2, cb2], err, startTime || Date.now(), Date.now()]);
- else {
- if (typeof cb2 === "function")
- cb2.apply(this, arguments);
- }
- });
- }
- }
- var fs$copyFile = fs10.copyFile;
- if (fs$copyFile)
- fs10.copyFile = copyFile;
- function copyFile(src, dest, flags, cb) {
- if (typeof flags === "function") {
- cb = flags;
- flags = 0;
- }
- return go$copyFile(src, dest, flags, cb);
- function go$copyFile(src2, dest2, flags2, cb2, startTime) {
- return fs$copyFile(src2, dest2, flags2, function(err) {
- if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
- enqueue([go$copyFile, [src2, dest2, flags2, cb2], err, startTime || Date.now(), Date.now()]);
- else {
- if (typeof cb2 === "function")
- cb2.apply(this, arguments);
- }
- });
- }
- }
- var fs$readdir = fs10.readdir;
- fs10.readdir = readdir;
- var noReaddirOptionVersions = /^v[0-5]\./;
- function readdir(path10, options, cb) {
- if (typeof options === "function")
- cb = options, options = null;
- var go$readdir = noReaddirOptionVersions.test(process.version) ? function go$readdir2(path11, options2, cb2, startTime) {
- return fs$readdir(path11, fs$readdirCallback(
- path11,
- options2,
- cb2,
- startTime
- ));
- } : function go$readdir2(path11, options2, cb2, startTime) {
- return fs$readdir(path11, options2, fs$readdirCallback(
- path11,
- options2,
- cb2,
- startTime
- ));
- };
- return go$readdir(path10, options, cb);
- function fs$readdirCallback(path11, options2, cb2, startTime) {
- return function(err, files) {
- if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
- enqueue([
- go$readdir,
- [path11, options2, cb2],
- err,
- startTime || Date.now(),
- Date.now()
- ]);
- else {
- if (files && files.sort)
- files.sort();
- if (typeof cb2 === "function")
- cb2.call(this, err, files);
- }
- };
- }
- }
- if (process.version.substr(0, 4) === "v0.8") {
- var legStreams = legacy(fs10);
- ReadStream = legStreams.ReadStream;
- WriteStream = legStreams.WriteStream;
- }
- var fs$ReadStream = fs10.ReadStream;
- if (fs$ReadStream) {
- ReadStream.prototype = Object.create(fs$ReadStream.prototype);
- ReadStream.prototype.open = ReadStream$open;
- }
- var fs$WriteStream = fs10.WriteStream;
- if (fs$WriteStream) {
- WriteStream.prototype = Object.create(fs$WriteStream.prototype);
- WriteStream.prototype.open = WriteStream$open;
- }
- Object.defineProperty(fs10, "ReadStream", {
- get: function() {
- return ReadStream;
- },
- set: function(val) {
- ReadStream = val;
- },
- enumerable: true,
- configurable: true
- });
- Object.defineProperty(fs10, "WriteStream", {
- get: function() {
- return WriteStream;
- },
- set: function(val) {
- WriteStream = val;
- },
- enumerable: true,
- configurable: true
- });
- var FileReadStream = ReadStream;
- Object.defineProperty(fs10, "FileReadStream", {
- get: function() {
- return FileReadStream;
- },
- set: function(val) {
- FileReadStream = val;
- },
- enumerable: true,
- configurable: true
- });
- var FileWriteStream = WriteStream;
- Object.defineProperty(fs10, "FileWriteStream", {
- get: function() {
- return FileWriteStream;
- },
- set: function(val) {
- FileWriteStream = val;
- },
- enumerable: true,
- configurable: true
- });
- function ReadStream(path10, options) {
- if (this instanceof ReadStream)
- return fs$ReadStream.apply(this, arguments), this;
- else
- return ReadStream.apply(Object.create(ReadStream.prototype), arguments);
- }
- function ReadStream$open() {
- var that = this;
- open(that.path, that.flags, that.mode, function(err, fd) {
- if (err) {
- if (that.autoClose)
- that.destroy();
- that.emit("error", err);
- } else {
- that.fd = fd;
- that.emit("open", fd);
- that.read();
- }
- });
- }
- function WriteStream(path10, options) {
- if (this instanceof WriteStream)
- return fs$WriteStream.apply(this, arguments), this;
- else
- return WriteStream.apply(Object.create(WriteStream.prototype), arguments);
- }
- function WriteStream$open() {
- var that = this;
- open(that.path, that.flags, that.mode, function(err, fd) {
- if (err) {
- that.destroy();
- that.emit("error", err);
- } else {
- that.fd = fd;
- that.emit("open", fd);
- }
- });
- }
- function createReadStream(path10, options) {
- return new fs10.ReadStream(path10, options);
- }
- function createWriteStream(path10, options) {
- return new fs10.WriteStream(path10, options);
- }
- var fs$open = fs10.open;
- fs10.open = open;
- function open(path10, flags, mode, cb) {
- if (typeof mode === "function")
- cb = mode, mode = null;
- return go$open(path10, flags, mode, cb);
- function go$open(path11, flags2, mode2, cb2, startTime) {
- return fs$open(path11, flags2, mode2, function(err, fd) {
- if (err && (err.code === "EMFILE" || err.code === "ENFILE"))
- enqueue([go$open, [path11, flags2, mode2, cb2], err, startTime || Date.now(), Date.now()]);
- else {
- if (typeof cb2 === "function")
- cb2.apply(this, arguments);
- }
- });
- }
- }
- return fs10;
- }
- function enqueue(elem) {
- debug2("ENQUEUE", elem[0].name, elem[1]);
- fs9[gracefulQueue].push(elem);
- retry();
- }
- var retryTimer;
- function resetQueue() {
- var now = Date.now();
- for (var i = 0; i < fs9[gracefulQueue].length; ++i) {
- if (fs9[gracefulQueue][i].length > 2) {
- fs9[gracefulQueue][i][3] = now;
- fs9[gracefulQueue][i][4] = now;
- }
- }
- retry();
- }
- function retry() {
- clearTimeout(retryTimer);
- retryTimer = void 0;
- if (fs9[gracefulQueue].length === 0)
- return;
- var elem = fs9[gracefulQueue].shift();
- var fn2 = elem[0];
- var args = elem[1];
- var err = elem[2];
- var startTime = elem[3];
- var lastTime = elem[4];
- if (startTime === void 0) {
- debug2("RETRY", fn2.name, args);
- fn2.apply(null, args);
- } else if (Date.now() - startTime >= 6e4) {
- debug2("TIMEOUT", fn2.name, args);
- var cb = args.pop();
- if (typeof cb === "function")
- cb.call(null, err);
- } else {
- var sinceAttempt = Date.now() - lastTime;
- var sinceStart = Math.max(lastTime - startTime, 1);
- var desiredDelay = Math.min(sinceStart * 1.2, 100);
- if (sinceAttempt >= desiredDelay) {
- debug2("RETRY", fn2.name, args);
- fn2.apply(null, args.concat([startTime]));
- } else {
- fs9[gracefulQueue].push(elem);
- }
- }
- if (retryTimer === void 0) {
- retryTimer = setTimeout(retry, 0);
- }
- }
- }
-});
-
-// .yarn/cache/@zkochan-cmd-shim-npm-6.0.0-97792a7373-ba1442ba1e.zip/node_modules/@zkochan/cmd-shim/index.js
-var require_cmd_shim = __commonJS({
- ".yarn/cache/@zkochan-cmd-shim-npm-6.0.0-97792a7373-ba1442ba1e.zip/node_modules/@zkochan/cmd-shim/index.js"(exports, module2) {
- "use strict";
- cmdShim2.ifExists = cmdShimIfExists;
- var util_1 = require("util");
- var path10 = require("path");
- var isWindows = require_is_windows();
- var CMD_EXTENSION = require_cmd_extension();
- var shebangExpr = /^#!\s*(?:\/usr\/bin\/env(?:\s+-S\s*)?)?\s*([^ \t]+)(.*)$/;
- var DEFAULT_OPTIONS = {
- // Create PowerShell file by default if the option hasn't been specified
- createPwshFile: true,
- createCmdFile: isWindows(),
- fs: require_graceful_fs()
- };
- var extensionToProgramMap = /* @__PURE__ */ new Map([
- [".js", "node"],
- [".cjs", "node"],
- [".mjs", "node"],
- [".cmd", "cmd"],
- [".bat", "cmd"],
- [".ps1", "pwsh"],
- [".sh", "sh"]
- ]);
- function ingestOptions(opts) {
- const opts_ = { ...DEFAULT_OPTIONS, ...opts };
- const fs9 = opts_.fs;
- opts_.fs_ = {
- chmod: fs9.chmod ? (0, util_1.promisify)(fs9.chmod) : async () => {
- },
- mkdir: (0, util_1.promisify)(fs9.mkdir),
- readFile: (0, util_1.promisify)(fs9.readFile),
- stat: (0, util_1.promisify)(fs9.stat),
- unlink: (0, util_1.promisify)(fs9.unlink),
- writeFile: (0, util_1.promisify)(fs9.writeFile)
- };
- return opts_;
- }
- async function cmdShim2(src, to, opts) {
- const opts_ = ingestOptions(opts);
- await cmdShim_(src, to, opts_);
- }
- function cmdShimIfExists(src, to, opts) {
- return cmdShim2(src, to, opts).catch(() => {
- });
- }
- function rm2(path11, opts) {
- return opts.fs_.unlink(path11).catch(() => {
- });
- }
- async function cmdShim_(src, to, opts) {
- const srcRuntimeInfo = await searchScriptRuntime(src, opts);
- await writeShimsPreCommon(to, opts);
- return writeAllShims(src, to, srcRuntimeInfo, opts);
- }
- function writeShimsPreCommon(target, opts) {
- return opts.fs_.mkdir(path10.dirname(target), { recursive: true });
- }
- function writeAllShims(src, to, srcRuntimeInfo, opts) {
- const opts_ = ingestOptions(opts);
- const generatorAndExts = [{ generator: generateShShim, extension: "" }];
- if (opts_.createCmdFile) {
- generatorAndExts.push({ generator: generateCmdShim, extension: CMD_EXTENSION });
- }
- if (opts_.createPwshFile) {
- generatorAndExts.push({ generator: generatePwshShim, extension: ".ps1" });
- }
- return Promise.all(generatorAndExts.map((generatorAndExt) => writeShim(src, to + generatorAndExt.extension, srcRuntimeInfo, generatorAndExt.generator, opts_)));
- }
- function writeShimPre(target, opts) {
- return rm2(target, opts);
- }
- function writeShimPost(target, opts) {
- return chmodShim(target, opts);
- }
- async function searchScriptRuntime(target, opts) {
- try {
- const data = await opts.fs_.readFile(target, "utf8");
- const firstLine = data.trim().split(/\r*\n/)[0];
- const shebang = firstLine.match(shebangExpr);
- if (!shebang) {
- const targetExtension = path10.extname(target).toLowerCase();
- return {
- // undefined if extension is unknown but it's converted to null.
- program: extensionToProgramMap.get(targetExtension) || null,
- additionalArgs: ""
- };
- }
- return {
- program: shebang[1],
- additionalArgs: shebang[2]
- };
- } catch (err) {
- if (!isWindows() || err.code !== "ENOENT")
- throw err;
- if (await opts.fs_.stat(`${target}${getExeExtension()}`)) {
- return {
- program: null,
- additionalArgs: ""
- };
- }
- throw err;
- }
- }
- function getExeExtension() {
- let cmdExtension;
- if (process.env.PATHEXT) {
- cmdExtension = process.env.PATHEXT.split(path10.delimiter).find((ext) => ext.toLowerCase() === ".exe");
- }
- return cmdExtension || ".exe";
- }
- async function writeShim(src, to, srcRuntimeInfo, generateShimScript, opts) {
- const defaultArgs = opts.preserveSymlinks ? "--preserve-symlinks" : "";
- const args = [srcRuntimeInfo.additionalArgs, defaultArgs].filter((arg) => arg).join(" ");
- opts = Object.assign({}, opts, {
- prog: srcRuntimeInfo.program,
- args
- });
- await writeShimPre(to, opts);
- await opts.fs_.writeFile(to, generateShimScript(src, to, opts), "utf8");
- return writeShimPost(to, opts);
- }
- function generateCmdShim(src, to, opts) {
- const shTarget = path10.relative(path10.dirname(to), src);
- let target = shTarget.split("/").join("\\");
- const quotedPathToTarget = path10.isAbsolute(target) ? `"${target}"` : `"%~dp0\\${target}"`;
- let longProg;
- let prog = opts.prog;
- let args = opts.args || "";
- const nodePath = normalizePathEnvVar(opts.nodePath).win32;
- const prependToPath = normalizePathEnvVar(opts.prependToPath).win32;
- if (!prog) {
- prog = quotedPathToTarget;
- args = "";
- target = "";
- } else if (prog === "node" && opts.nodeExecPath) {
- prog = `"${opts.nodeExecPath}"`;
- target = quotedPathToTarget;
- } else {
- longProg = `"%~dp0\\${prog}.exe"`;
- target = quotedPathToTarget;
- }
- let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : "";
- let cmd = "@SETLOCAL\r\n";
- if (prependToPath) {
- cmd += `@SET "PATH=${prependToPath}:%PATH%"\r
-`;
- }
- if (nodePath) {
- cmd += `@IF NOT DEFINED NODE_PATH (\r
- @SET "NODE_PATH=${nodePath}"\r
-) ELSE (\r
- @SET "NODE_PATH=${nodePath};%NODE_PATH%"\r
-)\r
-`;
- }
- if (longProg) {
- cmd += `@IF EXIST ${longProg} (\r
- ${longProg} ${args} ${target} ${progArgs}%*\r
-) ELSE (\r
- @SET PATHEXT=%PATHEXT:;.JS;=;%\r
- ${prog} ${args} ${target} ${progArgs}%*\r
-)\r
-`;
- } else {
- cmd += `@${prog} ${args} ${target} ${progArgs}%*\r
-`;
- }
- return cmd;
- }
- function generateShShim(src, to, opts) {
- let shTarget = path10.relative(path10.dirname(to), src);
- let shProg = opts.prog && opts.prog.split("\\").join("/");
- let shLongProg;
- shTarget = shTarget.split("\\").join("/");
- const quotedPathToTarget = path10.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`;
- let args = opts.args || "";
- const shNodePath = normalizePathEnvVar(opts.nodePath).posix;
- if (!shProg) {
- shProg = quotedPathToTarget;
- args = "";
- shTarget = "";
- } else if (opts.prog === "node" && opts.nodeExecPath) {
- shProg = `"${opts.nodeExecPath}"`;
- shTarget = quotedPathToTarget;
- } else {
- shLongProg = `"$basedir/${opts.prog}"`;
- shTarget = quotedPathToTarget;
- }
- let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : "";
- let sh = `#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\\\,/,g')")
-
-case \`uname\` in
- *CYGWIN*) basedir=\`cygpath -w "$basedir"\`;;
-esac
-
-`;
- if (opts.prependToPath) {
- sh += `export PATH="${opts.prependToPath}:$PATH"
-`;
- }
- if (shNodePath) {
- sh += `if [ -z "$NODE_PATH" ]; then
- export NODE_PATH="${shNodePath}"
-else
- export NODE_PATH="${shNodePath}:$NODE_PATH"
-fi
-`;
- }
- if (shLongProg) {
- sh += `if [ -x ${shLongProg} ]; then
- exec ${shLongProg} ${args} ${shTarget} ${progArgs}"$@"
-else
- exec ${shProg} ${args} ${shTarget} ${progArgs}"$@"
-fi
-`;
- } else {
- sh += `${shProg} ${args} ${shTarget} ${progArgs}"$@"
-exit $?
-`;
- }
- return sh;
- }
- function generatePwshShim(src, to, opts) {
- let shTarget = path10.relative(path10.dirname(to), src);
- const shProg = opts.prog && opts.prog.split("\\").join("/");
- let pwshProg = shProg && `"${shProg}$exe"`;
- let pwshLongProg;
- shTarget = shTarget.split("\\").join("/");
- const quotedPathToTarget = path10.isAbsolute(shTarget) ? `"${shTarget}"` : `"$basedir/${shTarget}"`;
- let args = opts.args || "";
- let normalizedNodePathEnvVar = normalizePathEnvVar(opts.nodePath);
- const nodePath = normalizedNodePathEnvVar.win32;
- const shNodePath = normalizedNodePathEnvVar.posix;
- let normalizedPrependPathEnvVar = normalizePathEnvVar(opts.prependToPath);
- const prependPath = normalizedPrependPathEnvVar.win32;
- const shPrependPath = normalizedPrependPathEnvVar.posix;
- if (!pwshProg) {
- pwshProg = quotedPathToTarget;
- args = "";
- shTarget = "";
- } else if (opts.prog === "node" && opts.nodeExecPath) {
- pwshProg = `"${opts.nodeExecPath}"`;
- shTarget = quotedPathToTarget;
- } else {
- pwshLongProg = `"$basedir/${opts.prog}$exe"`;
- shTarget = quotedPathToTarget;
- }
- let progArgs = opts.progArgs ? `${opts.progArgs.join(` `)} ` : "";
- let pwsh = `#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-${nodePath || prependPath ? '$pathsep=":"\n' : ""}${nodePath ? `$env_node_path=$env:NODE_PATH
-$new_node_path="${nodePath}"
-` : ""}${prependPath ? `$env_path=$env:PATH
-$prepend_path="${prependPath}"
-` : ""}if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-${nodePath || prependPath ? ' $pathsep=";"\n' : ""}}`;
- if (shNodePath || shPrependPath) {
- pwsh += ` else {
-${shNodePath ? ` $new_node_path="${shNodePath}"
-` : ""}${shPrependPath ? ` $prepend_path="${shPrependPath}"
-` : ""}}
-`;
- }
- if (shNodePath) {
- pwsh += `if ([string]::IsNullOrEmpty($env_node_path)) {
- $env:NODE_PATH=$new_node_path
-} else {
- $env:NODE_PATH="$new_node_path$pathsep$env_node_path"
-}
-`;
- }
- if (opts.prependToPath) {
- pwsh += `
-$env:PATH="$prepend_path$pathsep$env:PATH"
-`;
- }
- if (pwshLongProg) {
- pwsh += `
-$ret=0
-if (Test-Path ${pwshLongProg}) {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args
- } else {
- & ${pwshLongProg} ${args} ${shTarget} ${progArgs}$args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
- } else {
- & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
- }
- $ret=$LASTEXITCODE
-}
-${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $ret
-`;
- } else {
- pwsh += `
-# Support pipeline input
-if ($MyInvocation.ExpectingInput) {
- $input | & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
-} else {
- & ${pwshProg} ${args} ${shTarget} ${progArgs}$args
-}
-${nodePath ? "$env:NODE_PATH=$env_node_path\n" : ""}${prependPath ? "$env:PATH=$env_path\n" : ""}exit $LASTEXITCODE
-`;
- }
- return pwsh;
- }
- function chmodShim(to, opts) {
- return opts.fs_.chmod(to, 493);
- }
- function normalizePathEnvVar(nodePath) {
- if (!nodePath || !nodePath.length) {
- return {
- win32: "",
- posix: ""
- };
- }
- let split = typeof nodePath === "string" ? nodePath.split(path10.delimiter) : Array.from(nodePath);
- let result = {};
- for (let i = 0; i < split.length; i++) {
- const win32 = split[i].split("/").join("\\");
- const posix = isWindows() ? split[i].split("\\").join("/").replace(/^([^:\\/]*):/, (_, $1) => `/mnt/${$1.toLowerCase()}`) : split[i];
- result.win32 = result.win32 ? `${result.win32};${win32}` : win32;
- result.posix = result.posix ? `${result.posix}:${posix}` : posix;
- result[i] = { win32, posix };
- }
- return result;
- }
- module2.exports = cmdShim2;
- }
-});
-
-// sources/_lib.ts
-var lib_exports2 = {};
-__export(lib_exports2, {
- runMain: () => runMain
-});
-module.exports = __toCommonJS(lib_exports2);
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/constants.mjs
-var NODE_INITIAL = 0;
-var NODE_SUCCESS = 1;
-var NODE_ERRORED = 2;
-var START_OF_INPUT = ``;
-var END_OF_INPUT = `\0`;
-var HELP_COMMAND_INDEX = -1;
-var HELP_REGEX = /^(-h|--help)(?:=([0-9]+))?$/;
-var OPTION_REGEX = /^(--[a-z]+(?:-[a-z]+)*|-[a-zA-Z]+)$/;
-var BATCH_REGEX = /^-[a-zA-Z]{2,}$/;
-var BINDING_REGEX = /^([^=]+)=([\s\S]*)$/;
-var DEBUG = process.env.DEBUG_CLI === `1`;
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/errors.mjs
-var UsageError = class extends Error {
- constructor(message) {
- super(message);
- this.clipanion = { type: `usage` };
- this.name = `UsageError`;
- }
-};
-var UnknownSyntaxError = class extends Error {
- constructor(input, candidates) {
- super();
- this.input = input;
- this.candidates = candidates;
- this.clipanion = { type: `none` };
- this.name = `UnknownSyntaxError`;
- if (this.candidates.length === 0) {
- this.message = `Command not found, but we're not sure what's the alternative.`;
- } else if (this.candidates.every((candidate) => candidate.reason !== null && candidate.reason === candidates[0].reason)) {
- const [{ reason }] = this.candidates;
- this.message = `${reason}
-
-${this.candidates.map(({ usage }) => `$ ${usage}`).join(`
-`)}`;
- } else if (this.candidates.length === 1) {
- const [{ usage }] = this.candidates;
- this.message = `Command not found; did you mean:
-
-$ ${usage}
-${whileRunning(input)}`;
- } else {
- this.message = `Command not found; did you mean one of:
-
-${this.candidates.map(({ usage }, index) => {
- return `${`${index}.`.padStart(4)} ${usage}`;
- }).join(`
-`)}
-
-${whileRunning(input)}`;
- }
- }
-};
-var AmbiguousSyntaxError = class extends Error {
- constructor(input, usages) {
- super();
- this.input = input;
- this.usages = usages;
- this.clipanion = { type: `none` };
- this.name = `AmbiguousSyntaxError`;
- this.message = `Cannot find which to pick amongst the following alternatives:
-
-${this.usages.map((usage, index) => {
- return `${`${index}.`.padStart(4)} ${usage}`;
- }).join(`
-`)}
-
-${whileRunning(input)}`;
- }
-};
-var whileRunning = (input) => `While running ${input.filter((token) => {
- return token !== END_OF_INPUT;
-}).map((token) => {
- const json = JSON.stringify(token);
- if (token.match(/\s/) || token.length === 0 || json !== `"${token}"`) {
- return json;
- } else {
- return token;
- }
-}).join(` `)}`;
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/format.mjs
-var MAX_LINE_LENGTH = 80;
-var richLine = Array(MAX_LINE_LENGTH).fill(`\u2501`);
-for (let t = 0; t <= 24; ++t)
- richLine[richLine.length - t] = `\x1B[38;5;${232 + t}m\u2501`;
-var richFormat = {
- header: (str) => `\x1B[1m\u2501\u2501\u2501 ${str}${str.length < MAX_LINE_LENGTH - 5 ? ` ${richLine.slice(str.length + 5).join(``)}` : `:`}\x1B[0m`,
- bold: (str) => `\x1B[1m${str}\x1B[22m`,
- error: (str) => `\x1B[31m\x1B[1m${str}\x1B[22m\x1B[39m`,
- code: (str) => `\x1B[36m${str}\x1B[39m`
-};
-var textFormat = {
- header: (str) => str,
- bold: (str) => str,
- error: (str) => str,
- code: (str) => str
-};
-function dedent(text) {
- const lines = text.split(`
-`);
- const nonEmptyLines = lines.filter((line) => line.match(/\S/));
- const indent = nonEmptyLines.length > 0 ? nonEmptyLines.reduce((minLength, line) => Math.min(minLength, line.length - line.trimStart().length), Number.MAX_VALUE) : 0;
- return lines.map((line) => line.slice(indent).trimRight()).join(`
-`);
-}
-function formatMarkdownish(text, { format, paragraphs }) {
- text = text.replace(/\r\n?/g, `
-`);
- text = dedent(text);
- text = text.replace(/^\n+|\n+$/g, ``);
- text = text.replace(/^(\s*)-([^\n]*?)\n+/gm, `$1-$2
-
-`);
- text = text.replace(/\n(\n)?\n*/g, ($0, $1) => $1 ? $1 : ` `);
- if (paragraphs) {
- text = text.split(/\n/).map((paragraph) => {
- const bulletMatch = paragraph.match(/^\s*[*-][\t ]+(.*)/);
- if (!bulletMatch)
- return paragraph.match(/(.{1,80})(?: |$)/g).join(`
-`);
- const indent = paragraph.length - paragraph.trimStart().length;
- return bulletMatch[1].match(new RegExp(`(.{1,${78 - indent}})(?: |$)`, `g`)).map((line, index) => {
- return ` `.repeat(indent) + (index === 0 ? `- ` : ` `) + line;
- }).join(`
-`);
- }).join(`
-
-`);
- }
- text = text.replace(/(`+)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
- return format.code($1 + $2 + $1);
- });
- text = text.replace(/(\*\*)((?:.|[\n])*?)\1/g, ($0, $1, $2) => {
- return format.bold($1 + $2 + $1);
- });
- return text ? `${text}
-` : ``;
-}
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/options/utils.mjs
-var isOptionSymbol = Symbol(`clipanion/isOption`);
-function makeCommandOption(spec) {
- return { ...spec, [isOptionSymbol]: true };
-}
-function rerouteArguments(a, b) {
- if (typeof a === `undefined`)
- return [a, b];
- if (typeof a === `object` && a !== null && !Array.isArray(a)) {
- return [void 0, a];
- } else {
- return [a, b];
- }
-}
-function cleanValidationError(message, { mergeName = false } = {}) {
- const match = message.match(/^([^:]+): (.*)$/m);
- if (!match)
- return `validation failed`;
- let [, path10, line] = match;
- if (mergeName)
- line = line[0].toLowerCase() + line.slice(1);
- line = path10 !== `.` || !mergeName ? `${path10.replace(/^\.(\[|$)/, `$1`)}: ${line}` : `: ${line}`;
- return line;
-}
-function formatError(message, errors) {
- if (errors.length === 1) {
- return new UsageError(`${message}${cleanValidationError(errors[0], { mergeName: true })}`);
- } else {
- return new UsageError(`${message}:
-${errors.map((error) => `
-- ${cleanValidationError(error)}`).join(``)}`);
- }
-}
-function applyValidator(name, value, validator) {
- if (typeof validator === `undefined`)
- return value;
- const errors = [];
- const coercions = [];
- const coercion = (v) => {
- const orig = value;
- value = v;
- return coercion.bind(null, orig);
- };
- const check = validator(value, { errors, coercions, coercion });
- if (!check)
- throw formatError(`Invalid value for ${name}`, errors);
- for (const [, op] of coercions)
- op();
- return value;
-}
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/Command.mjs
-var Command = class {
- constructor() {
- this.help = false;
- }
- /**
- * Defines the usage information for the given command.
- */
- static Usage(usage) {
- return usage;
- }
- /**
- * Standard error handler which will simply rethrow the error. Can be used
- * to add custom logic to handle errors from the command or simply return
- * the parent class error handling.
- */
- async catch(error) {
- throw error;
- }
- async validateAndExecute() {
- const commandClass = this.constructor;
- const cascade2 = commandClass.schema;
- if (Array.isArray(cascade2)) {
- const { isDict: isDict2, isUnknown: isUnknown2, applyCascade: applyCascade2 } = await Promise.resolve().then(() => (init_lib(), lib_exports));
- const schema = applyCascade2(isDict2(isUnknown2()), cascade2);
- const errors = [];
- const coercions = [];
- const check = schema(this, { errors, coercions });
- if (!check)
- throw formatError(`Invalid option schema`, errors);
- for (const [, op] of coercions) {
- op();
- }
- } else if (cascade2 != null) {
- throw new Error(`Invalid command schema`);
- }
- const exitCode = await this.execute();
- if (typeof exitCode !== `undefined`) {
- return exitCode;
- } else {
- return 0;
- }
- }
-};
-Command.isOption = isOptionSymbol;
-Command.Default = [];
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/core.mjs
-function debug(str) {
- if (DEBUG) {
- console.log(str);
- }
-}
-var basicHelpState = {
- candidateUsage: null,
- requiredOptions: [],
- errorMessage: null,
- ignoreOptions: false,
- path: [],
- positionals: [],
- options: [],
- remainder: null,
- selectedIndex: HELP_COMMAND_INDEX
-};
-function makeStateMachine() {
- return {
- nodes: [makeNode(), makeNode(), makeNode()]
- };
-}
-function makeAnyOfMachine(inputs) {
- const output = makeStateMachine();
- const heads = [];
- let offset = output.nodes.length;
- for (const input of inputs) {
- heads.push(offset);
- for (let t = 0; t < input.nodes.length; ++t)
- if (!isTerminalNode(t))
- output.nodes.push(cloneNode(input.nodes[t], offset));
- offset += input.nodes.length - 2;
- }
- for (const head of heads)
- registerShortcut(output, NODE_INITIAL, head);
- return output;
-}
-function injectNode(machine, node) {
- machine.nodes.push(node);
- return machine.nodes.length - 1;
-}
-function simplifyMachine(input) {
- const visited = /* @__PURE__ */ new Set();
- const process5 = (node) => {
- if (visited.has(node))
- return;
- visited.add(node);
- const nodeDef = input.nodes[node];
- for (const transitions of Object.values(nodeDef.statics))
- for (const { to } of transitions)
- process5(to);
- for (const [, { to }] of nodeDef.dynamics)
- process5(to);
- for (const { to } of nodeDef.shortcuts)
- process5(to);
- const shortcuts = new Set(nodeDef.shortcuts.map(({ to }) => to));
- while (nodeDef.shortcuts.length > 0) {
- const { to } = nodeDef.shortcuts.shift();
- const toDef = input.nodes[to];
- for (const [segment, transitions] of Object.entries(toDef.statics)) {
- const store = !Object.prototype.hasOwnProperty.call(nodeDef.statics, segment) ? nodeDef.statics[segment] = [] : nodeDef.statics[segment];
- for (const transition of transitions) {
- if (!store.some(({ to: to2 }) => transition.to === to2)) {
- store.push(transition);
- }
- }
- }
- for (const [test, transition] of toDef.dynamics)
- if (!nodeDef.dynamics.some(([otherTest, { to: to2 }]) => test === otherTest && transition.to === to2))
- nodeDef.dynamics.push([test, transition]);
- for (const transition of toDef.shortcuts) {
- if (!shortcuts.has(transition.to)) {
- nodeDef.shortcuts.push(transition);
- shortcuts.add(transition.to);
- }
- }
- }
- };
- process5(NODE_INITIAL);
-}
-function debugMachine(machine, { prefix = `` } = {}) {
- if (DEBUG) {
- debug(`${prefix}Nodes are:`);
- for (let t = 0; t < machine.nodes.length; ++t) {
- debug(`${prefix} ${t}: ${JSON.stringify(machine.nodes[t])}`);
- }
- }
-}
-function runMachineInternal(machine, input, partial = false) {
- debug(`Running a vm on ${JSON.stringify(input)}`);
- let branches = [{ node: NODE_INITIAL, state: {
- candidateUsage: null,
- requiredOptions: [],
- errorMessage: null,
- ignoreOptions: false,
- options: [],
- path: [],
- positionals: [],
- remainder: null,
- selectedIndex: null
- } }];
- debugMachine(machine, { prefix: ` ` });
- const tokens = [START_OF_INPUT, ...input];
- for (let t = 0; t < tokens.length; ++t) {
- const segment = tokens[t];
- debug(` Processing ${JSON.stringify(segment)}`);
- const nextBranches = [];
- for (const { node, state } of branches) {
- debug(` Current node is ${node}`);
- const nodeDef = machine.nodes[node];
- if (node === NODE_ERRORED) {
- nextBranches.push({ node, state });
- continue;
- }
- console.assert(nodeDef.shortcuts.length === 0, `Shortcuts should have been eliminated by now`);
- const hasExactMatch = Object.prototype.hasOwnProperty.call(nodeDef.statics, segment);
- if (!partial || t < tokens.length - 1 || hasExactMatch) {
- if (hasExactMatch) {
- const transitions = nodeDef.statics[segment];
- for (const { to, reducer } of transitions) {
- nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state });
- debug(` Static transition to ${to} found`);
- }
- } else {
- debug(` No static transition found`);
- }
- } else {
- let hasMatches = false;
- for (const candidate of Object.keys(nodeDef.statics)) {
- if (!candidate.startsWith(segment))
- continue;
- if (segment === candidate) {
- for (const { to, reducer } of nodeDef.statics[candidate]) {
- nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state });
- debug(` Static transition to ${to} found`);
- }
- } else {
- for (const { to } of nodeDef.statics[candidate]) {
- nextBranches.push({ node: to, state: { ...state, remainder: candidate.slice(segment.length) } });
- debug(` Static transition to ${to} found (partial match)`);
- }
- }
- hasMatches = true;
- }
- if (!hasMatches) {
- debug(` No partial static transition found`);
- }
- }
- if (segment !== END_OF_INPUT) {
- for (const [test, { to, reducer }] of nodeDef.dynamics) {
- if (execute(tests, test, state, segment)) {
- nextBranches.push({ node: to, state: typeof reducer !== `undefined` ? execute(reducers, reducer, state, segment) : state });
- debug(` Dynamic transition to ${to} found (via ${test})`);
- }
- }
- }
- }
- if (nextBranches.length === 0 && segment === END_OF_INPUT && input.length === 1) {
- return [{
- node: NODE_INITIAL,
- state: basicHelpState
- }];
- }
- if (nextBranches.length === 0) {
- throw new UnknownSyntaxError(input, branches.filter(({ node }) => {
- return node !== NODE_ERRORED;
- }).map(({ state }) => {
- return { usage: state.candidateUsage, reason: null };
- }));
- }
- if (nextBranches.every(({ node }) => node === NODE_ERRORED)) {
- throw new UnknownSyntaxError(input, nextBranches.map(({ state }) => {
- return { usage: state.candidateUsage, reason: state.errorMessage };
- }));
- }
- branches = trimSmallerBranches(nextBranches);
- }
- if (branches.length > 0) {
- debug(` Results:`);
- for (const branch of branches) {
- debug(` - ${branch.node} -> ${JSON.stringify(branch.state)}`);
- }
- } else {
- debug(` No results`);
- }
- return branches;
-}
-function checkIfNodeIsFinished(node, state) {
- if (state.selectedIndex !== null)
- return true;
- if (Object.prototype.hasOwnProperty.call(node.statics, END_OF_INPUT)) {
- for (const { to } of node.statics[END_OF_INPUT])
- if (to === NODE_SUCCESS)
- return true;
- }
- return false;
-}
-function suggestMachine(machine, input, partial) {
- const prefix = partial && input.length > 0 ? [``] : [];
- const branches = runMachineInternal(machine, input, partial);
- const suggestions = [];
- const suggestionsJson = /* @__PURE__ */ new Set();
- const traverseSuggestion = (suggestion, node, skipFirst = true) => {
- let nextNodes = [node];
- while (nextNodes.length > 0) {
- const currentNodes = nextNodes;
- nextNodes = [];
- for (const node2 of currentNodes) {
- const nodeDef = machine.nodes[node2];
- const keys = Object.keys(nodeDef.statics);
- for (const key of Object.keys(nodeDef.statics)) {
- const segment = keys[0];
- for (const { to, reducer } of nodeDef.statics[segment]) {
- if (reducer !== `pushPath`)
- continue;
- if (!skipFirst)
- suggestion.push(segment);
- nextNodes.push(to);
- }
- }
- }
- skipFirst = false;
- }
- const json = JSON.stringify(suggestion);
- if (suggestionsJson.has(json))
- return;
- suggestions.push(suggestion);
- suggestionsJson.add(json);
- };
- for (const { node, state } of branches) {
- if (state.remainder !== null) {
- traverseSuggestion([state.remainder], node);
- continue;
- }
- const nodeDef = machine.nodes[node];
- const isFinished = checkIfNodeIsFinished(nodeDef, state);
- for (const [candidate, transitions] of Object.entries(nodeDef.statics))
- if (isFinished && candidate !== END_OF_INPUT || !candidate.startsWith(`-`) && transitions.some(({ reducer }) => reducer === `pushPath`))
- traverseSuggestion([...prefix, candidate], node);
- if (!isFinished)
- continue;
- for (const [test, { to }] of nodeDef.dynamics) {
- if (to === NODE_ERRORED)
- continue;
- const tokens = suggest(test, state);
- if (tokens === null)
- continue;
- for (const token of tokens) {
- traverseSuggestion([...prefix, token], node);
- }
- }
- }
- return [...suggestions].sort();
-}
-function runMachine(machine, input) {
- const branches = runMachineInternal(machine, [...input, END_OF_INPUT]);
- return selectBestState(input, branches.map(({ state }) => {
- return state;
- }));
-}
-function trimSmallerBranches(branches) {
- let maxPathSize = 0;
- for (const { state } of branches)
- if (state.path.length > maxPathSize)
- maxPathSize = state.path.length;
- return branches.filter(({ state }) => {
- return state.path.length === maxPathSize;
- });
-}
-function selectBestState(input, states) {
- const terminalStates = states.filter((state) => {
- return state.selectedIndex !== null;
- });
- if (terminalStates.length === 0)
- throw new Error();
- const requiredOptionsSetStates = terminalStates.filter((state) => state.selectedIndex === HELP_COMMAND_INDEX || state.requiredOptions.every((names) => names.some((name) => state.options.find((opt) => opt.name === name))));
- if (requiredOptionsSetStates.length === 0) {
- throw new UnknownSyntaxError(input, terminalStates.map((state) => ({
- usage: state.candidateUsage,
- reason: null
- })));
- }
- let maxPathSize = 0;
- for (const state of requiredOptionsSetStates)
- if (state.path.length > maxPathSize)
- maxPathSize = state.path.length;
- const bestPathBranches = requiredOptionsSetStates.filter((state) => {
- return state.path.length === maxPathSize;
- });
- const getPositionalCount = (state) => state.positionals.filter(({ extra }) => {
- return !extra;
- }).length + state.options.length;
- const statesWithPositionalCount = bestPathBranches.map((state) => {
- return { state, positionalCount: getPositionalCount(state) };
- });
- let maxPositionalCount = 0;
- for (const { positionalCount } of statesWithPositionalCount)
- if (positionalCount > maxPositionalCount)
- maxPositionalCount = positionalCount;
- const bestPositionalStates = statesWithPositionalCount.filter(({ positionalCount }) => {
- return positionalCount === maxPositionalCount;
- }).map(({ state }) => {
- return state;
- });
- const fixedStates = aggregateHelpStates(bestPositionalStates);
- if (fixedStates.length > 1)
- throw new AmbiguousSyntaxError(input, fixedStates.map((state) => state.candidateUsage));
- return fixedStates[0];
-}
-function aggregateHelpStates(states) {
- const notHelps = [];
- const helps = [];
- for (const state of states) {
- if (state.selectedIndex === HELP_COMMAND_INDEX) {
- helps.push(state);
- } else {
- notHelps.push(state);
- }
- }
- if (helps.length > 0) {
- notHelps.push({
- ...basicHelpState,
- path: findCommonPrefix(...helps.map((state) => state.path)),
- options: helps.reduce((options, state) => options.concat(state.options), [])
- });
- }
- return notHelps;
-}
-function findCommonPrefix(firstPath, secondPath, ...rest) {
- if (secondPath === void 0)
- return Array.from(firstPath);
- return findCommonPrefix(firstPath.filter((segment, i) => segment === secondPath[i]), ...rest);
-}
-function makeNode() {
- return {
- dynamics: [],
- shortcuts: [],
- statics: {}
- };
-}
-function isTerminalNode(node) {
- return node === NODE_SUCCESS || node === NODE_ERRORED;
-}
-function cloneTransition(input, offset = 0) {
- return {
- to: !isTerminalNode(input.to) ? input.to > 2 ? input.to + offset - 2 : input.to + offset : input.to,
- reducer: input.reducer
- };
-}
-function cloneNode(input, offset = 0) {
- const output = makeNode();
- for (const [test, transition] of input.dynamics)
- output.dynamics.push([test, cloneTransition(transition, offset)]);
- for (const transition of input.shortcuts)
- output.shortcuts.push(cloneTransition(transition, offset));
- for (const [segment, transitions] of Object.entries(input.statics))
- output.statics[segment] = transitions.map((transition) => cloneTransition(transition, offset));
- return output;
-}
-function registerDynamic(machine, from, test, to, reducer) {
- machine.nodes[from].dynamics.push([
- test,
- { to, reducer }
- ]);
-}
-function registerShortcut(machine, from, to, reducer) {
- machine.nodes[from].shortcuts.push({ to, reducer });
-}
-function registerStatic(machine, from, test, to, reducer) {
- const store = !Object.prototype.hasOwnProperty.call(machine.nodes[from].statics, test) ? machine.nodes[from].statics[test] = [] : machine.nodes[from].statics[test];
- store.push({ to, reducer });
-}
-function execute(store, callback, state, segment) {
- if (Array.isArray(callback)) {
- const [name, ...args] = callback;
- return store[name](state, segment, ...args);
- } else {
- return store[callback](state, segment);
- }
-}
-function suggest(callback, state) {
- const fn2 = Array.isArray(callback) ? tests[callback[0]] : tests[callback];
- if (typeof fn2.suggest === `undefined`)
- return null;
- const args = Array.isArray(callback) ? callback.slice(1) : [];
- return fn2.suggest(state, ...args);
-}
-var tests = {
- always: () => {
- return true;
- },
- isOptionLike: (state, segment) => {
- return !state.ignoreOptions && (segment !== `-` && segment.startsWith(`-`));
- },
- isNotOptionLike: (state, segment) => {
- return state.ignoreOptions || segment === `-` || !segment.startsWith(`-`);
- },
- isOption: (state, segment, name, hidden) => {
- return !state.ignoreOptions && segment === name;
- },
- isBatchOption: (state, segment, names) => {
- return !state.ignoreOptions && BATCH_REGEX.test(segment) && [...segment.slice(1)].every((name) => names.includes(`-${name}`));
- },
- isBoundOption: (state, segment, names, options) => {
- const optionParsing = segment.match(BINDING_REGEX);
- return !state.ignoreOptions && !!optionParsing && OPTION_REGEX.test(optionParsing[1]) && names.includes(optionParsing[1]) && options.filter((opt) => opt.names.includes(optionParsing[1])).every((opt) => opt.allowBinding);
- },
- isNegatedOption: (state, segment, name) => {
- return !state.ignoreOptions && segment === `--no-${name.slice(2)}`;
- },
- isHelp: (state, segment) => {
- return !state.ignoreOptions && HELP_REGEX.test(segment);
- },
- isUnsupportedOption: (state, segment, names) => {
- return !state.ignoreOptions && segment.startsWith(`-`) && OPTION_REGEX.test(segment) && !names.includes(segment);
- },
- isInvalidOption: (state, segment) => {
- return !state.ignoreOptions && segment.startsWith(`-`) && !OPTION_REGEX.test(segment);
- }
-};
-tests.isOption.suggest = (state, name, hidden = true) => {
- return !hidden ? [name] : null;
-};
-var reducers = {
- setCandidateState: (state, segment, candidateState) => {
- return { ...state, ...candidateState };
- },
- setSelectedIndex: (state, segment, index) => {
- return { ...state, selectedIndex: index };
- },
- pushBatch: (state, segment) => {
- return { ...state, options: state.options.concat([...segment.slice(1)].map((name) => ({ name: `-${name}`, value: true }))) };
- },
- pushBound: (state, segment) => {
- const [, name, value] = segment.match(BINDING_REGEX);
- return { ...state, options: state.options.concat({ name, value }) };
- },
- pushPath: (state, segment) => {
- return { ...state, path: state.path.concat(segment) };
- },
- pushPositional: (state, segment) => {
- return { ...state, positionals: state.positionals.concat({ value: segment, extra: false }) };
- },
- pushExtra: (state, segment) => {
- return { ...state, positionals: state.positionals.concat({ value: segment, extra: true }) };
- },
- pushExtraNoLimits: (state, segment) => {
- return { ...state, positionals: state.positionals.concat({ value: segment, extra: NoLimits }) };
- },
- pushTrue: (state, segment, name = segment) => {
- return { ...state, options: state.options.concat({ name: segment, value: true }) };
- },
- pushFalse: (state, segment, name = segment) => {
- return { ...state, options: state.options.concat({ name, value: false }) };
- },
- pushUndefined: (state, segment) => {
- return { ...state, options: state.options.concat({ name: segment, value: void 0 }) };
- },
- pushStringValue: (state, segment) => {
- var _a;
- const copy = { ...state, options: [...state.options] };
- const lastOption = state.options[state.options.length - 1];
- lastOption.value = ((_a = lastOption.value) !== null && _a !== void 0 ? _a : []).concat([segment]);
- return copy;
- },
- setStringValue: (state, segment) => {
- const copy = { ...state, options: [...state.options] };
- const lastOption = state.options[state.options.length - 1];
- lastOption.value = segment;
- return copy;
- },
- inhibateOptions: (state) => {
- return { ...state, ignoreOptions: true };
- },
- useHelp: (state, segment, command) => {
- const [
- ,
- /* name */
- ,
- index
- ] = segment.match(HELP_REGEX);
- if (typeof index !== `undefined`) {
- return { ...state, options: [{ name: `-c`, value: String(command) }, { name: `-i`, value: index }] };
- } else {
- return { ...state, options: [{ name: `-c`, value: String(command) }] };
- }
- },
- setError: (state, segment, errorMessage) => {
- if (segment === END_OF_INPUT) {
- return { ...state, errorMessage: `${errorMessage}.` };
- } else {
- return { ...state, errorMessage: `${errorMessage} ("${segment}").` };
- }
- },
- setOptionArityError: (state, segment) => {
- const lastOption = state.options[state.options.length - 1];
- return { ...state, errorMessage: `Not enough arguments to option ${lastOption.name}.` };
- }
-};
-var NoLimits = Symbol();
-var CommandBuilder = class {
- constructor(cliIndex, cliOpts) {
- this.allOptionNames = [];
- this.arity = { leading: [], trailing: [], extra: [], proxy: false };
- this.options = [];
- this.paths = [];
- this.cliIndex = cliIndex;
- this.cliOpts = cliOpts;
- }
- addPath(path10) {
- this.paths.push(path10);
- }
- setArity({ leading = this.arity.leading, trailing = this.arity.trailing, extra = this.arity.extra, proxy = this.arity.proxy }) {
- Object.assign(this.arity, { leading, trailing, extra, proxy });
- }
- addPositional({ name = `arg`, required = true } = {}) {
- if (!required && this.arity.extra === NoLimits)
- throw new Error(`Optional parameters cannot be declared when using .rest() or .proxy()`);
- if (!required && this.arity.trailing.length > 0)
- throw new Error(`Optional parameters cannot be declared after the required trailing positional arguments`);
- if (!required && this.arity.extra !== NoLimits) {
- this.arity.extra.push(name);
- } else if (this.arity.extra !== NoLimits && this.arity.extra.length === 0) {
- this.arity.leading.push(name);
- } else {
- this.arity.trailing.push(name);
- }
- }
- addRest({ name = `arg`, required = 0 } = {}) {
- if (this.arity.extra === NoLimits)
- throw new Error(`Infinite lists cannot be declared multiple times in the same command`);
- if (this.arity.trailing.length > 0)
- throw new Error(`Infinite lists cannot be declared after the required trailing positional arguments`);
- for (let t = 0; t < required; ++t)
- this.addPositional({ name });
- this.arity.extra = NoLimits;
- }
- addProxy({ required = 0 } = {}) {
- this.addRest({ required });
- this.arity.proxy = true;
- }
- addOption({ names, description, arity = 0, hidden = false, required = false, allowBinding = true }) {
- if (!allowBinding && arity > 1)
- throw new Error(`The arity cannot be higher than 1 when the option only supports the --arg=value syntax`);
- if (!Number.isInteger(arity))
- throw new Error(`The arity must be an integer, got ${arity}`);
- if (arity < 0)
- throw new Error(`The arity must be positive, got ${arity}`);
- this.allOptionNames.push(...names);
- this.options.push({ names, description, arity, hidden, required, allowBinding });
- }
- setContext(context) {
- this.context = context;
- }
- usage({ detailed = true, inlineOptions = true } = {}) {
- const segments = [this.cliOpts.binaryName];
- const detailedOptionList = [];
- if (this.paths.length > 0)
- segments.push(...this.paths[0]);
- if (detailed) {
- for (const { names, arity, hidden, description, required } of this.options) {
- if (hidden)
- continue;
- const args = [];
- for (let t = 0; t < arity; ++t)
- args.push(` #${t}`);
- const definition = `${names.join(`,`)}${args.join(``)}`;
- if (!inlineOptions && description) {
- detailedOptionList.push({ definition, description, required });
- } else {
- segments.push(required ? `<${definition}>` : `[${definition}]`);
- }
- }
- segments.push(...this.arity.leading.map((name) => `<${name}>`));
- if (this.arity.extra === NoLimits)
- segments.push(`...`);
- else
- segments.push(...this.arity.extra.map((name) => `[${name}]`));
- segments.push(...this.arity.trailing.map((name) => `<${name}>`));
- }
- const usage = segments.join(` `);
- return { usage, options: detailedOptionList };
- }
- compile() {
- if (typeof this.context === `undefined`)
- throw new Error(`Assertion failed: No context attached`);
- const machine = makeStateMachine();
- let firstNode = NODE_INITIAL;
- const candidateUsage = this.usage().usage;
- const requiredOptions = this.options.filter((opt) => opt.required).map((opt) => opt.names);
- firstNode = injectNode(machine, makeNode());
- registerStatic(machine, NODE_INITIAL, START_OF_INPUT, firstNode, [`setCandidateState`, { candidateUsage, requiredOptions }]);
- const positionalArgument = this.arity.proxy ? `always` : `isNotOptionLike`;
- const paths = this.paths.length > 0 ? this.paths : [[]];
- for (const path10 of paths) {
- let lastPathNode = firstNode;
- if (path10.length > 0) {
- const optionPathNode = injectNode(machine, makeNode());
- registerShortcut(machine, lastPathNode, optionPathNode);
- this.registerOptions(machine, optionPathNode);
- lastPathNode = optionPathNode;
- }
- for (let t = 0; t < path10.length; ++t) {
- const nextPathNode = injectNode(machine, makeNode());
- registerStatic(machine, lastPathNode, path10[t], nextPathNode, `pushPath`);
- lastPathNode = nextPathNode;
- }
- if (this.arity.leading.length > 0 || !this.arity.proxy) {
- const helpNode = injectNode(machine, makeNode());
- registerDynamic(machine, lastPathNode, `isHelp`, helpNode, [`useHelp`, this.cliIndex]);
- registerDynamic(machine, helpNode, `always`, helpNode, `pushExtra`);
- registerStatic(machine, helpNode, END_OF_INPUT, NODE_SUCCESS, [`setSelectedIndex`, HELP_COMMAND_INDEX]);
- this.registerOptions(machine, lastPathNode);
- }
- if (this.arity.leading.length > 0)
- registerStatic(machine, lastPathNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
- let lastLeadingNode = lastPathNode;
- for (let t = 0; t < this.arity.leading.length; ++t) {
- const nextLeadingNode = injectNode(machine, makeNode());
- if (!this.arity.proxy || t + 1 !== this.arity.leading.length)
- this.registerOptions(machine, nextLeadingNode);
- if (this.arity.trailing.length > 0 || t + 1 !== this.arity.leading.length)
- registerStatic(machine, nextLeadingNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
- registerDynamic(machine, lastLeadingNode, `isNotOptionLike`, nextLeadingNode, `pushPositional`);
- lastLeadingNode = nextLeadingNode;
- }
- let lastExtraNode = lastLeadingNode;
- if (this.arity.extra === NoLimits || this.arity.extra.length > 0) {
- const extraShortcutNode = injectNode(machine, makeNode());
- registerShortcut(machine, lastLeadingNode, extraShortcutNode);
- if (this.arity.extra === NoLimits) {
- const extraNode = injectNode(machine, makeNode());
- if (!this.arity.proxy)
- this.registerOptions(machine, extraNode);
- registerDynamic(machine, lastLeadingNode, positionalArgument, extraNode, `pushExtraNoLimits`);
- registerDynamic(machine, extraNode, positionalArgument, extraNode, `pushExtraNoLimits`);
- registerShortcut(machine, extraNode, extraShortcutNode);
- } else {
- for (let t = 0; t < this.arity.extra.length; ++t) {
- const nextExtraNode = injectNode(machine, makeNode());
- if (!this.arity.proxy || t > 0)
- this.registerOptions(machine, nextExtraNode);
- registerDynamic(machine, lastExtraNode, positionalArgument, nextExtraNode, `pushExtra`);
- registerShortcut(machine, nextExtraNode, extraShortcutNode);
- lastExtraNode = nextExtraNode;
- }
- }
- lastExtraNode = extraShortcutNode;
- }
- if (this.arity.trailing.length > 0)
- registerStatic(machine, lastExtraNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
- let lastTrailingNode = lastExtraNode;
- for (let t = 0; t < this.arity.trailing.length; ++t) {
- const nextTrailingNode = injectNode(machine, makeNode());
- if (!this.arity.proxy)
- this.registerOptions(machine, nextTrailingNode);
- if (t + 1 < this.arity.trailing.length)
- registerStatic(machine, nextTrailingNode, END_OF_INPUT, NODE_ERRORED, [`setError`, `Not enough positional arguments`]);
- registerDynamic(machine, lastTrailingNode, `isNotOptionLike`, nextTrailingNode, `pushPositional`);
- lastTrailingNode = nextTrailingNode;
- }
- registerDynamic(machine, lastTrailingNode, positionalArgument, NODE_ERRORED, [`setError`, `Extraneous positional argument`]);
- registerStatic(machine, lastTrailingNode, END_OF_INPUT, NODE_SUCCESS, [`setSelectedIndex`, this.cliIndex]);
- }
- return {
- machine,
- context: this.context
- };
- }
- registerOptions(machine, node) {
- registerDynamic(machine, node, [`isOption`, `--`], node, `inhibateOptions`);
- registerDynamic(machine, node, [`isBatchOption`, this.allOptionNames], node, `pushBatch`);
- registerDynamic(machine, node, [`isBoundOption`, this.allOptionNames, this.options], node, `pushBound`);
- registerDynamic(machine, node, [`isUnsupportedOption`, this.allOptionNames], NODE_ERRORED, [`setError`, `Unsupported option name`]);
- registerDynamic(machine, node, [`isInvalidOption`], NODE_ERRORED, [`setError`, `Invalid option name`]);
- for (const option of this.options) {
- const longestName = option.names.reduce((longestName2, name) => {
- return name.length > longestName2.length ? name : longestName2;
- }, ``);
- if (option.arity === 0) {
- for (const name of option.names) {
- registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], node, `pushTrue`);
- if (name.startsWith(`--`) && !name.startsWith(`--no-`)) {
- registerDynamic(machine, node, [`isNegatedOption`, name], node, [`pushFalse`, name]);
- }
- }
- } else {
- let lastNode = injectNode(machine, makeNode());
- for (const name of option.names)
- registerDynamic(machine, node, [`isOption`, name, option.hidden || name !== longestName], lastNode, `pushUndefined`);
- for (let t = 0; t < option.arity; ++t) {
- const nextNode = injectNode(machine, makeNode());
- registerStatic(machine, lastNode, END_OF_INPUT, NODE_ERRORED, `setOptionArityError`);
- registerDynamic(machine, lastNode, `isOptionLike`, NODE_ERRORED, `setOptionArityError`);
- const action = option.arity === 1 ? `setStringValue` : `pushStringValue`;
- registerDynamic(machine, lastNode, `isNotOptionLike`, nextNode, action);
- lastNode = nextNode;
- }
- registerShortcut(machine, lastNode, node);
- }
- }
- }
-};
-var CliBuilder = class _CliBuilder {
- constructor({ binaryName = `...` } = {}) {
- this.builders = [];
- this.opts = { binaryName };
- }
- static build(cbs, opts = {}) {
- return new _CliBuilder(opts).commands(cbs).compile();
- }
- getBuilderByIndex(n) {
- if (!(n >= 0 && n < this.builders.length))
- throw new Error(`Assertion failed: Out-of-bound command index (${n})`);
- return this.builders[n];
- }
- commands(cbs) {
- for (const cb of cbs)
- cb(this.command());
- return this;
- }
- command() {
- const builder = new CommandBuilder(this.builders.length, this.opts);
- this.builders.push(builder);
- return builder;
- }
- compile() {
- const machines = [];
- const contexts = [];
- for (const builder of this.builders) {
- const { machine: machine2, context } = builder.compile();
- machines.push(machine2);
- contexts.push(context);
- }
- const machine = makeAnyOfMachine(machines);
- simplifyMachine(machine);
- return {
- machine,
- contexts,
- process: (input) => {
- return runMachine(machine, input);
- },
- suggest: (input, partial) => {
- return suggestMachine(machine, input, partial);
- }
- };
- }
-};
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/platform/node.mjs
-var import_tty = __toESM(require("tty"), 1);
-function getDefaultColorDepth() {
- if (import_tty.default && `getColorDepth` in import_tty.default.WriteStream.prototype)
- return import_tty.default.WriteStream.prototype.getColorDepth();
- if (process.env.FORCE_COLOR === `0`)
- return 1;
- if (process.env.FORCE_COLOR === `1`)
- return 8;
- if (typeof process.stdout !== `undefined` && process.stdout.isTTY)
- return 8;
- return 1;
-}
-var gContextStorage;
-function getCaptureActivator(context) {
- let contextStorage = gContextStorage;
- if (typeof contextStorage === `undefined`) {
- if (context.stdout === process.stdout && context.stderr === process.stderr)
- return null;
- const { AsyncLocalStorage: LazyAsyncLocalStorage } = require("async_hooks");
- contextStorage = gContextStorage = new LazyAsyncLocalStorage();
- const origStdoutWrite = process.stdout._write;
- process.stdout._write = function(chunk, encoding, cb) {
- const context2 = contextStorage.getStore();
- if (typeof context2 === `undefined`)
- return origStdoutWrite.call(this, chunk, encoding, cb);
- return context2.stdout.write(chunk, encoding, cb);
- };
- const origStderrWrite = process.stderr._write;
- process.stderr._write = function(chunk, encoding, cb) {
- const context2 = contextStorage.getStore();
- if (typeof context2 === `undefined`)
- return origStderrWrite.call(this, chunk, encoding, cb);
- return context2.stderr.write(chunk, encoding, cb);
- };
- }
- return (fn2) => {
- return contextStorage.run(context, fn2);
- };
-}
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/HelpCommand.mjs
-var HelpCommand = class _HelpCommand extends Command {
- constructor(contexts) {
- super();
- this.contexts = contexts;
- this.commands = [];
- }
- static from(state, contexts) {
- const command = new _HelpCommand(contexts);
- command.path = state.path;
- for (const opt of state.options) {
- switch (opt.name) {
- case `-c`:
- {
- command.commands.push(Number(opt.value));
- }
- break;
- case `-i`:
- {
- command.index = Number(opt.value);
- }
- break;
- }
- }
- return command;
- }
- async execute() {
- let commands = this.commands;
- if (typeof this.index !== `undefined` && this.index >= 0 && this.index < commands.length)
- commands = [commands[this.index]];
- if (commands.length === 0) {
- this.context.stdout.write(this.cli.usage());
- } else if (commands.length === 1) {
- this.context.stdout.write(this.cli.usage(this.contexts[commands[0]].commandClass, { detailed: true }));
- } else if (commands.length > 1) {
- this.context.stdout.write(`Multiple commands match your selection:
-`);
- this.context.stdout.write(`
-`);
- let index = 0;
- for (const command of this.commands)
- this.context.stdout.write(this.cli.usage(this.contexts[command].commandClass, { prefix: `${index++}. `.padStart(5) }));
- this.context.stdout.write(`
-`);
- this.context.stdout.write(`Run again with -h= to see the longer details of any of those commands.
-`);
- }
- }
-};
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/Cli.mjs
-var errorCommandSymbol = Symbol(`clipanion/errorCommand`);
-var Cli = class _Cli {
- constructor({ binaryLabel, binaryName: binaryNameOpt = `...`, binaryVersion, enableCapture = false, enableColors } = {}) {
- this.registrations = /* @__PURE__ */ new Map();
- this.builder = new CliBuilder({ binaryName: binaryNameOpt });
- this.binaryLabel = binaryLabel;
- this.binaryName = binaryNameOpt;
- this.binaryVersion = binaryVersion;
- this.enableCapture = enableCapture;
- this.enableColors = enableColors;
- }
- /**
- * Creates a new Cli and registers all commands passed as parameters.
- *
- * @param commandClasses The Commands to register
- * @returns The created `Cli` instance
- */
- static from(commandClasses, options = {}) {
- const cli = new _Cli(options);
- const resolvedCommandClasses = Array.isArray(commandClasses) ? commandClasses : [commandClasses];
- for (const commandClass of resolvedCommandClasses)
- cli.register(commandClass);
- return cli;
- }
- /**
- * Registers a command inside the CLI.
- */
- register(commandClass) {
- var _a;
- const specs = /* @__PURE__ */ new Map();
- const command = new commandClass();
- for (const key in command) {
- const value = command[key];
- if (typeof value === `object` && value !== null && value[Command.isOption]) {
- specs.set(key, value);
- }
- }
- const builder = this.builder.command();
- const index = builder.cliIndex;
- const paths = (_a = commandClass.paths) !== null && _a !== void 0 ? _a : command.paths;
- if (typeof paths !== `undefined`)
- for (const path10 of paths)
- builder.addPath(path10);
- this.registrations.set(commandClass, { specs, builder, index });
- for (const [key, { definition }] of specs.entries())
- definition(builder, key);
- builder.setContext({
- commandClass
- });
- }
- process(input, userContext) {
- const { contexts, process: process5 } = this.builder.compile();
- const state = process5(input);
- const context = {
- ..._Cli.defaultContext,
- ...userContext
- };
- switch (state.selectedIndex) {
- case HELP_COMMAND_INDEX: {
- const command = HelpCommand.from(state, contexts);
- command.context = context;
- return command;
- }
- default:
- {
- const { commandClass } = contexts[state.selectedIndex];
- const record = this.registrations.get(commandClass);
- if (typeof record === `undefined`)
- throw new Error(`Assertion failed: Expected the command class to have been registered.`);
- const command = new commandClass();
- command.context = context;
- command.path = state.path;
- try {
- for (const [key, { transformer }] of record.specs.entries())
- command[key] = transformer(record.builder, key, state, context);
- return command;
- } catch (error) {
- error[errorCommandSymbol] = command;
- throw error;
- }
- }
- break;
- }
- }
- async run(input, userContext) {
- var _a, _b;
- let command;
- const context = {
- ..._Cli.defaultContext,
- ...userContext
- };
- const colored = (_a = this.enableColors) !== null && _a !== void 0 ? _a : context.colorDepth > 1;
- if (!Array.isArray(input)) {
- command = input;
- } else {
- try {
- command = this.process(input, context);
- } catch (error) {
- context.stdout.write(this.error(error, { colored }));
- return 1;
- }
- }
- if (command.help) {
- context.stdout.write(this.usage(command, { colored, detailed: true }));
- return 0;
- }
- command.context = context;
- command.cli = {
- binaryLabel: this.binaryLabel,
- binaryName: this.binaryName,
- binaryVersion: this.binaryVersion,
- enableCapture: this.enableCapture,
- enableColors: this.enableColors,
- definitions: () => this.definitions(),
- error: (error, opts) => this.error(error, opts),
- format: (colored2) => this.format(colored2),
- process: (input2, subContext) => this.process(input2, { ...context, ...subContext }),
- run: (input2, subContext) => this.run(input2, { ...context, ...subContext }),
- usage: (command2, opts) => this.usage(command2, opts)
- };
- const activate = this.enableCapture ? (_b = getCaptureActivator(context)) !== null && _b !== void 0 ? _b : noopCaptureActivator : noopCaptureActivator;
- let exitCode;
- try {
- exitCode = await activate(() => command.validateAndExecute().catch((error) => command.catch(error).then(() => 0)));
- } catch (error) {
- context.stdout.write(this.error(error, { colored, command }));
- return 1;
- }
- return exitCode;
- }
- async runExit(input, context) {
- process.exitCode = await this.run(input, context);
- }
- suggest(input, partial) {
- const { suggest: suggest2 } = this.builder.compile();
- return suggest2(input, partial);
- }
- definitions({ colored = false } = {}) {
- const data = [];
- for (const [commandClass, { index }] of this.registrations) {
- if (typeof commandClass.usage === `undefined`)
- continue;
- const { usage: path10 } = this.getUsageByIndex(index, { detailed: false });
- const { usage, options } = this.getUsageByIndex(index, { detailed: true, inlineOptions: false });
- const category = typeof commandClass.usage.category !== `undefined` ? formatMarkdownish(commandClass.usage.category, { format: this.format(colored), paragraphs: false }) : void 0;
- const description = typeof commandClass.usage.description !== `undefined` ? formatMarkdownish(commandClass.usage.description, { format: this.format(colored), paragraphs: false }) : void 0;
- const details = typeof commandClass.usage.details !== `undefined` ? formatMarkdownish(commandClass.usage.details, { format: this.format(colored), paragraphs: true }) : void 0;
- const examples = typeof commandClass.usage.examples !== `undefined` ? commandClass.usage.examples.map(([label, cli]) => [formatMarkdownish(label, { format: this.format(colored), paragraphs: false }), cli.replace(/\$0/g, this.binaryName)]) : void 0;
- data.push({ path: path10, usage, category, description, details, examples, options });
- }
- return data;
- }
- usage(command = null, { colored, detailed = false, prefix = `$ ` } = {}) {
- var _a;
- if (command === null) {
- for (const commandClass2 of this.registrations.keys()) {
- const paths = commandClass2.paths;
- const isDocumented = typeof commandClass2.usage !== `undefined`;
- const isExclusivelyDefault = !paths || paths.length === 0 || paths.length === 1 && paths[0].length === 0;
- const isDefault = isExclusivelyDefault || ((_a = paths === null || paths === void 0 ? void 0 : paths.some((path10) => path10.length === 0)) !== null && _a !== void 0 ? _a : false);
- if (isDefault) {
- if (command) {
- command = null;
- break;
- } else {
- command = commandClass2;
- }
- } else {
- if (isDocumented) {
- command = null;
- continue;
- }
- }
- }
- if (command) {
- detailed = true;
- }
- }
- const commandClass = command !== null && command instanceof Command ? command.constructor : command;
- let result = ``;
- if (!commandClass) {
- const commandsByCategories = /* @__PURE__ */ new Map();
- for (const [commandClass2, { index }] of this.registrations.entries()) {
- if (typeof commandClass2.usage === `undefined`)
- continue;
- const category = typeof commandClass2.usage.category !== `undefined` ? formatMarkdownish(commandClass2.usage.category, { format: this.format(colored), paragraphs: false }) : null;
- let categoryCommands = commandsByCategories.get(category);
- if (typeof categoryCommands === `undefined`)
- commandsByCategories.set(category, categoryCommands = []);
- const { usage } = this.getUsageByIndex(index);
- categoryCommands.push({ commandClass: commandClass2, usage });
- }
- const categoryNames = Array.from(commandsByCategories.keys()).sort((a, b) => {
- if (a === null)
- return -1;
- if (b === null)
- return 1;
- return a.localeCompare(b, `en`, { usage: `sort`, caseFirst: `upper` });
- });
- const hasLabel = typeof this.binaryLabel !== `undefined`;
- const hasVersion = typeof this.binaryVersion !== `undefined`;
- if (hasLabel || hasVersion) {
- if (hasLabel && hasVersion)
- result += `${this.format(colored).header(`${this.binaryLabel} - ${this.binaryVersion}`)}
-
-`;
- else if (hasLabel)
- result += `${this.format(colored).header(`${this.binaryLabel}`)}
-`;
- else
- result += `${this.format(colored).header(`${this.binaryVersion}`)}
-`;
- result += ` ${this.format(colored).bold(prefix)}${this.binaryName}
-`;
- } else {
- result += `${this.format(colored).bold(prefix)}${this.binaryName}
-`;
- }
- for (const categoryName of categoryNames) {
- const commands = commandsByCategories.get(categoryName).slice().sort((a, b) => {
- return a.usage.localeCompare(b.usage, `en`, { usage: `sort`, caseFirst: `upper` });
- });
- const header = categoryName !== null ? categoryName.trim() : `General commands`;
- result += `
-`;
- result += `${this.format(colored).header(`${header}`)}
-`;
- for (const { commandClass: commandClass2, usage } of commands) {
- const doc = commandClass2.usage.description || `undocumented`;
- result += `
-`;
- result += ` ${this.format(colored).bold(usage)}
-`;
- result += ` ${formatMarkdownish(doc, { format: this.format(colored), paragraphs: false })}`;
- }
- }
- result += `
-`;
- result += formatMarkdownish(`You can also print more details about any of these commands by calling them with the \`-h,--help\` flag right after the command name.`, { format: this.format(colored), paragraphs: true });
- } else {
- if (!detailed) {
- const { usage } = this.getUsageByRegistration(commandClass);
- result += `${this.format(colored).bold(prefix)}${usage}
-`;
- } else {
- const { description = ``, details = ``, examples = [] } = commandClass.usage || {};
- if (description !== ``) {
- result += formatMarkdownish(description, { format: this.format(colored), paragraphs: false }).replace(/^./, ($0) => $0.toUpperCase());
- result += `
-`;
- }
- if (details !== `` || examples.length > 0) {
- result += `${this.format(colored).header(`Usage`)}
-`;
- result += `
-`;
- }
- const { usage, options } = this.getUsageByRegistration(commandClass, { inlineOptions: false });
- result += `${this.format(colored).bold(prefix)}${usage}
-`;
- if (options.length > 0) {
- result += `
-`;
- result += `${this.format(colored).header(`Options`)}
-`;
- const maxDefinitionLength = options.reduce((length, option) => {
- return Math.max(length, option.definition.length);
- }, 0);
- result += `
-`;
- for (const { definition, description: description2 } of options) {
- result += ` ${this.format(colored).bold(definition.padEnd(maxDefinitionLength))} ${formatMarkdownish(description2, { format: this.format(colored), paragraphs: false })}`;
- }
- }
- if (details !== ``) {
- result += `
-`;
- result += `${this.format(colored).header(`Details`)}
-`;
- result += `
-`;
- result += formatMarkdownish(details, { format: this.format(colored), paragraphs: true });
- }
- if (examples.length > 0) {
- result += `
-`;
- result += `${this.format(colored).header(`Examples`)}
-`;
- for (const [description2, example] of examples) {
- result += `
-`;
- result += formatMarkdownish(description2, { format: this.format(colored), paragraphs: false });
- result += `${example.replace(/^/m, ` ${this.format(colored).bold(prefix)}`).replace(/\$0/g, this.binaryName)}
-`;
- }
- }
- }
- }
- return result;
- }
- error(error, _a) {
- var _b;
- var { colored, command = (_b = error[errorCommandSymbol]) !== null && _b !== void 0 ? _b : null } = _a === void 0 ? {} : _a;
- if (!error || typeof error !== `object` || !(`stack` in error))
- error = new Error(`Execution failed with a non-error rejection (rejected value: ${JSON.stringify(error)})`);
- let result = ``;
- let name = error.name.replace(/([a-z])([A-Z])/g, `$1 $2`);
- if (name === `Error`)
- name = `Internal Error`;
- result += `${this.format(colored).error(name)}: ${error.message}
-`;
- const meta = error.clipanion;
- if (typeof meta !== `undefined`) {
- if (meta.type === `usage`) {
- result += `
-`;
- result += this.usage(command);
- }
- } else {
- if (error.stack) {
- result += `${error.stack.replace(/^.*\n/, ``)}
-`;
- }
- }
- return result;
- }
- format(colored) {
- var _a;
- return ((_a = colored !== null && colored !== void 0 ? colored : this.enableColors) !== null && _a !== void 0 ? _a : _Cli.defaultContext.colorDepth > 1) ? richFormat : textFormat;
- }
- getUsageByRegistration(klass, opts) {
- const record = this.registrations.get(klass);
- if (typeof record === `undefined`)
- throw new Error(`Assertion failed: Unregistered command`);
- return this.getUsageByIndex(record.index, opts);
- }
- getUsageByIndex(n, opts) {
- return this.builder.getBuilderByIndex(n).usage(opts);
- }
-};
-Cli.defaultContext = {
- env: process.env,
- stdin: process.stdin,
- stdout: process.stdout,
- stderr: process.stderr,
- colorDepth: getDefaultColorDepth()
-};
-function noopCaptureActivator(fn2) {
- return fn2();
-}
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/builtins/index.mjs
-var builtins_exports = {};
-__export(builtins_exports, {
- DefinitionsCommand: () => DefinitionsCommand,
- HelpCommand: () => HelpCommand2,
- VersionCommand: () => VersionCommand
-});
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/builtins/definitions.mjs
-var DefinitionsCommand = class extends Command {
- async execute() {
- this.context.stdout.write(`${JSON.stringify(this.cli.definitions(), null, 2)}
-`);
- }
-};
-DefinitionsCommand.paths = [[`--clipanion=definitions`]];
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/builtins/help.mjs
-var HelpCommand2 = class extends Command {
- async execute() {
- this.context.stdout.write(this.cli.usage());
- }
-};
-HelpCommand2.paths = [[`-h`], [`--help`]];
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/builtins/version.mjs
-var VersionCommand = class extends Command {
- async execute() {
- var _a;
- this.context.stdout.write(`${(_a = this.cli.binaryVersion) !== null && _a !== void 0 ? _a : ``}
-`);
- }
-};
-VersionCommand.paths = [[`-v`], [`--version`]];
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/options/index.mjs
-var options_exports = {};
-__export(options_exports, {
- Array: () => Array2,
- Boolean: () => Boolean2,
- Counter: () => Counter,
- Proxy: () => Proxy2,
- Rest: () => Rest,
- String: () => String2,
- applyValidator: () => applyValidator,
- cleanValidationError: () => cleanValidationError,
- formatError: () => formatError,
- isOptionSymbol: () => isOptionSymbol,
- makeCommandOption: () => makeCommandOption,
- rerouteArguments: () => rerouteArguments
-});
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/options/Array.mjs
-function Array2(descriptor, initialValueBase, optsBase) {
- const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
- const { arity = 1 } = opts;
- const optNames = descriptor.split(`,`);
- const nameSet = new Set(optNames);
- return makeCommandOption({
- definition(builder) {
- builder.addOption({
- names: optNames,
- arity,
- hidden: opts === null || opts === void 0 ? void 0 : opts.hidden,
- description: opts === null || opts === void 0 ? void 0 : opts.description,
- required: opts.required
- });
- },
- transformer(builder, key, state) {
- let usedName;
- let currentValue = typeof initialValue !== `undefined` ? [...initialValue] : void 0;
- for (const { name, value } of state.options) {
- if (!nameSet.has(name))
- continue;
- usedName = name;
- currentValue = currentValue !== null && currentValue !== void 0 ? currentValue : [];
- currentValue.push(value);
- }
- if (typeof currentValue !== `undefined`) {
- return applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts.validator);
- } else {
- return currentValue;
- }
- }
- });
-}
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/options/Boolean.mjs
-function Boolean2(descriptor, initialValueBase, optsBase) {
- const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
- const optNames = descriptor.split(`,`);
- const nameSet = new Set(optNames);
- return makeCommandOption({
- definition(builder) {
- builder.addOption({
- names: optNames,
- allowBinding: false,
- arity: 0,
- hidden: opts.hidden,
- description: opts.description,
- required: opts.required
- });
- },
- transformer(builer, key, state) {
- let currentValue = initialValue;
- for (const { name, value } of state.options) {
- if (!nameSet.has(name))
- continue;
- currentValue = value;
- }
- return currentValue;
- }
- });
-}
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/options/Counter.mjs
-function Counter(descriptor, initialValueBase, optsBase) {
- const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
- const optNames = descriptor.split(`,`);
- const nameSet = new Set(optNames);
- return makeCommandOption({
- definition(builder) {
- builder.addOption({
- names: optNames,
- allowBinding: false,
- arity: 0,
- hidden: opts.hidden,
- description: opts.description,
- required: opts.required
- });
- },
- transformer(builder, key, state) {
- let currentValue = initialValue;
- for (const { name, value } of state.options) {
- if (!nameSet.has(name))
- continue;
- currentValue !== null && currentValue !== void 0 ? currentValue : currentValue = 0;
- if (!value) {
- currentValue = 0;
- } else {
- currentValue += 1;
- }
- }
- return currentValue;
- }
- });
-}
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/options/Proxy.mjs
-function Proxy2(opts = {}) {
- return makeCommandOption({
- definition(builder, key) {
- var _a;
- builder.addProxy({
- name: (_a = opts.name) !== null && _a !== void 0 ? _a : key,
- required: opts.required
- });
- },
- transformer(builder, key, state) {
- return state.positionals.map(({ value }) => value);
- }
- });
-}
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/options/Rest.mjs
-function Rest(opts = {}) {
- return makeCommandOption({
- definition(builder, key) {
- var _a;
- builder.addRest({
- name: (_a = opts.name) !== null && _a !== void 0 ? _a : key,
- required: opts.required
- });
- },
- transformer(builder, key, state) {
- const isRestPositional = (index) => {
- const positional = state.positionals[index];
- if (positional.extra === NoLimits)
- return true;
- if (positional.extra === false && index < builder.arity.leading.length)
- return true;
- return false;
- };
- let count = 0;
- while (count < state.positionals.length && isRestPositional(count))
- count += 1;
- return state.positionals.splice(0, count).map(({ value }) => value);
- }
- });
-}
-
-// .yarn/__virtual__/clipanion-virtual-48805df892/0/cache/clipanion-npm-3.2.1-fc9187f56c-6c148bd01a.zip/node_modules/clipanion/lib/advanced/options/String.mjs
-function StringOption(descriptor, initialValueBase, optsBase) {
- const [initialValue, opts] = rerouteArguments(initialValueBase, optsBase !== null && optsBase !== void 0 ? optsBase : {});
- const { arity = 1 } = opts;
- const optNames = descriptor.split(`,`);
- const nameSet = new Set(optNames);
- return makeCommandOption({
- definition(builder) {
- builder.addOption({
- names: optNames,
- arity: opts.tolerateBoolean ? 0 : arity,
- hidden: opts.hidden,
- description: opts.description,
- required: opts.required
- });
- },
- transformer(builder, key, state, context) {
- let usedName;
- let currentValue = initialValue;
- if (typeof opts.env !== `undefined` && context.env[opts.env]) {
- usedName = opts.env;
- currentValue = context.env[opts.env];
- }
- for (const { name, value } of state.options) {
- if (!nameSet.has(name))
- continue;
- usedName = name;
- currentValue = value;
- }
- if (typeof currentValue === `string`) {
- return applyValidator(usedName !== null && usedName !== void 0 ? usedName : key, currentValue, opts.validator);
- } else {
- return currentValue;
- }
- }
- });
-}
-function StringPositional(opts = {}) {
- const { required = true } = opts;
- return makeCommandOption({
- definition(builder, key) {
- var _a;
- builder.addPositional({
- name: (_a = opts.name) !== null && _a !== void 0 ? _a : key,
- required: opts.required
- });
- },
- transformer(builder, key, state) {
- var _a;
- for (let i = 0; i < state.positionals.length; ++i) {
- if (state.positionals[i].extra === NoLimits)
- continue;
- if (required && state.positionals[i].extra === true)
- continue;
- if (!required && state.positionals[i].extra === false)
- continue;
- const [positional] = state.positionals.splice(i, 1);
- return applyValidator((_a = opts.name) !== null && _a !== void 0 ? _a : key, positional.value, opts.validator);
- }
- return void 0;
- }
- });
-}
-function String2(descriptor, ...args) {
- if (typeof descriptor === `string`) {
- return StringOption(descriptor, ...args);
- } else {
- return StringPositional(descriptor);
- }
-}
-
-// package.json
-var version = "0.25.2";
-
-// sources/Engine.ts
-var import_fs3 = __toESM(require("fs"));
-var import_path3 = __toESM(require("path"));
-var import_process3 = __toESM(require("process"));
-var import_semver3 = __toESM(require_semver2());
-
-// config.json
-var config_default = {
- definitions: {
- npm: {
- default: "10.4.0+sha1.904025b4d932cfaed8799e644a1c5ae7f02729fc",
- fetchLatestFrom: {
- type: "npm",
- package: "npm"
- },
- transparent: {
- commands: [
- [
- "npm",
- "init"
- ],
- [
- "npx"
- ]
- ]
- },
- ranges: {
- "*": {
- url: "https://registry.npmjs.org/npm/-/npm-{}.tgz",
- bin: {
- npm: "./bin/npm-cli.js",
- npx: "./bin/npx-cli.js"
- },
- registry: {
- type: "npm",
- package: "npm"
- },
- commands: {
- use: [
- "npm",
- "install"
- ]
- }
- }
- }
- },
- pnpm: {
- default: "8.15.3+sha1.64838798f519c18029c1e8a1310e16101fc2eda0",
- fetchLatestFrom: {
- type: "npm",
- package: "pnpm"
- },
- transparent: {
- commands: [
- [
- "pnpm",
- "init"
- ],
- [
- "pnpx"
- ],
- [
- "pnpm",
- "dlx"
- ]
- ]
- },
- ranges: {
- "<6.0.0": {
- url: "https://registry.npmjs.org/pnpm/-/pnpm-{}.tgz",
- bin: {
- pnpm: "./bin/pnpm.js",
- pnpx: "./bin/pnpx.js"
- },
- registry: {
- type: "npm",
- package: "pnpm"
- },
- commands: {
- use: [
- "pnpm",
- "install"
- ]
- }
- },
- ">=6.0.0": {
- url: "https://registry.npmjs.org/pnpm/-/pnpm-{}.tgz",
- bin: {
- pnpm: "./bin/pnpm.cjs",
- pnpx: "./bin/pnpx.cjs"
- },
- registry: {
- type: "npm",
- package: "pnpm"
- },
- commands: {
- use: [
- "pnpm",
- "install"
- ]
- }
- }
- }
- },
- yarn: {
- default: "1.22.21+sha1.1959a18351b811cdeedbd484a8f86c3cc3bbaf72",
- fetchLatestFrom: {
- type: "npm",
- package: "yarn"
- },
- transparent: {
- default: "4.1.0+sha224.bc24d7f5afc738464f3d4e95f4e6e7829a35cee54a0fd527ea5baa83",
- commands: [
- [
- "yarn",
- "dlx"
- ]
- ]
- },
- ranges: {
- "<2.0.0": {
- url: "https://registry.yarnpkg.com/yarn/-/yarn-{}.tgz",
- bin: {
- yarn: "./bin/yarn.js",
- yarnpkg: "./bin/yarn.js"
- },
- registry: {
- type: "npm",
- package: "yarn"
- },
- commands: {
- use: [
- "yarn",
- "install"
- ]
- }
- },
- ">=2.0.0": {
- name: "yarn",
- url: "https://repo.yarnpkg.com/{}/packages/yarnpkg-cli/bin/yarn.js",
- bin: [
- "yarn",
- "yarnpkg"
- ],
- registry: {
- type: "url",
- url: "https://repo.yarnpkg.com/tags",
- fields: {
- tags: "aliases",
- versions: "tags"
- }
- },
- npmRegistry: {
- type: "npm",
- package: "@yarnpkg/cli-dist"
- },
- commands: {
- use: [
- "yarn",
- "install"
- ]
- }
- }
- }
- }
- }
-};
-
-// sources/corepackUtils.ts
-var import_crypto = require("crypto");
-var import_events2 = require("events");
-var import_fs2 = __toESM(require("fs"));
-var import_module = __toESM(require("module"));
-var import_path2 = __toESM(require("path"));
-var import_semver = __toESM(require_semver2());
-
-// sources/debugUtils.ts
-var import_debug = __toESM(require_src());
-var log = (0, import_debug.default)(`corepack`);
-
-// sources/folderUtils.ts
-var import_fs = require("fs");
-var import_os = require("os");
-var import_path = require("path");
-var import_process = __toESM(require("process"));
-var INSTALL_FOLDER_VERSION = 1;
-function getCorepackHomeFolder() {
- return import_process.default.env.COREPACK_HOME ?? (0, import_path.join)(
- import_process.default.env.XDG_CACHE_HOME ?? import_process.default.env.LOCALAPPDATA ?? (0, import_path.join)((0, import_os.homedir)(), import_process.default.platform === `win32` ? `AppData/Local` : `.cache`),
- `node/corepack`
- );
-}
-function getInstallFolder() {
- return (0, import_path.join)(
- getCorepackHomeFolder(),
- `v${INSTALL_FOLDER_VERSION}`
- );
-}
-function getTemporaryFolder(target = (0, import_os.tmpdir)()) {
- (0, import_fs.mkdirSync)(target, { recursive: true });
- while (true) {
- const rnd = Math.random() * 4294967296;
- const hex = rnd.toString(16).padStart(8, `0`);
- const path10 = (0, import_path.join)(target, `corepack-${import_process.default.pid}-${hex}`);
- try {
- (0, import_fs.mkdirSync)(path10);
- return path10;
- } catch (error) {
- if (error.code === `EEXIST`) {
- continue;
- } else if (error.code === `EACCES`) {
- throw new UsageError(`Failed to create cache directory. Please ensure the user has write access to the target directory (${target}). If the user's home directory does not exist, create it first.`);
- } else {
- throw error;
- }
- }
- }
-}
-
-// sources/fsUtils.ts
-var import_promises = require("fs/promises");
-async function rimraf(path10) {
- return (0, import_promises.rm)(path10, { recursive: true, force: true });
-}
-
-// sources/httpUtils.ts
-var import_assert = __toESM(require("assert"));
-var import_events = require("events");
-var import_process2 = require("process");
-var import_stream = require("stream");
-async function fetch(input, init) {
- if (process.env.COREPACK_ENABLE_NETWORK === `0`)
- throw new UsageError(`Network access disabled by the environment; can't reach ${input}`);
- const agent = await getProxyAgent(input);
- let response;
- try {
- response = await globalThis.fetch(input, {
- ...init,
- dispatcher: agent
- });
- } catch (error) {
- throw new Error(
- `Error when performing the request to ${input}; for troubleshooting help, see https://github.com/nodejs/corepack#troubleshooting`,
- { cause: error }
- );
- }
- if (!response.ok) {
- await response.arrayBuffer();
- throw new Error(
- `Server answered with HTTP ${response.status} when performing the request to ${input}; for troubleshooting help, see https://github.com/nodejs/corepack#troubleshooting`
- );
- }
- return response;
-}
-async function fetchAsJson(input, init) {
- const response = await fetch(input, init);
- return response.json();
-}
-async function fetchUrlStream(input, init) {
- if (process.env.COREPACK_ENABLE_DOWNLOAD_PROMPT === `1`) {
- console.error(`Corepack is about to download ${input}.`);
- if (import_process2.stdin.isTTY && !process.env.CI) {
- import_process2.stderr.write(`
-Do you want to continue? [Y/n] `);
- import_process2.stdin.resume();
- const chars = await (0, import_events.once)(import_process2.stdin, `data`);
- import_process2.stdin.pause();
- if (chars[0][0] === 110 || // n
- chars[0][0] === 78) {
- throw new UsageError(`Aborted by the user`);
- }
- }
- }
- const response = await fetch(input, init);
- const webStream = response.body;
- (0, import_assert.default)(webStream, `Expected stream to be set`);
- const stream = import_stream.Readable.fromWeb(webStream);
- return stream;
-}
-async function getProxyAgent(input) {
- const { getProxyForUrl } = await Promise.resolve().then(() => __toESM(require_proxy_from_env()));
- const proxy = getProxyForUrl(input);
- if (!proxy)
- return void 0;
- const { default: ProxyAgent } = await Promise.resolve().then(() => __toESM(require_proxy_agent()));
- return new ProxyAgent(proxy);
-}
-
-// sources/npmRegistryUtils.ts
-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) {
- 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}`);
- const headers = { ...DEFAULT_HEADERS };
- if (`COREPACK_NPM_TOKEN` in process.env) {
- headers.authorization = `Bearer ${process.env.COREPACK_NPM_TOKEN}`;
- } else if (`COREPACK_NPM_USERNAME` in process.env && `COREPACK_NPM_PASSWORD` in process.env) {
- 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}`, { headers });
-}
-async function fetchLatestStableVersion(packageName) {
- const metadata = await fetchAsJson2(packageName);
- const { latest } = metadata[`dist-tags`];
- if (latest === void 0)
- throw new Error(`${packageName} does not have a "latest" tag.`);
- const { shasum } = metadata.versions[latest].dist;
- return `${latest}+sha1.${shasum}`;
-}
-async function fetchAvailableTags(packageName) {
- const metadata = await fetchAsJson2(packageName);
- return metadata[`dist-tags`];
-}
-async function fetchAvailableVersions(packageName) {
- const metadata = await fetchAsJson2(packageName);
- return Object.keys(metadata.versions);
-}
-
-// sources/corepackUtils.ts
-function getRegistryFromPackageManagerSpec(spec) {
- return process.env.COREPACK_NPM_REGISTRY ? spec.npmRegistry ?? spec.registry : spec.registry;
-}
-async function fetchLatestStableVersion2(spec) {
- switch (spec.type) {
- case `npm`: {
- return await fetchLatestStableVersion(spec.package);
- }
- case `url`: {
- const data = await fetchAsJson(spec.url);
- return data[spec.fields.tags].stable;
- }
- default: {
- throw new Error(`Unsupported specification ${JSON.stringify(spec)}`);
- }
- }
-}
-async function fetchAvailableTags2(spec) {
- switch (spec.type) {
- case `npm`: {
- return await fetchAvailableTags(spec.package);
- }
- case `url`: {
- const data = await fetchAsJson(spec.url);
- return data[spec.fields.tags];
- }
- default: {
- throw new Error(`Unsupported specification ${JSON.stringify(spec)}`);
- }
- }
-}
-async function fetchAvailableVersions2(spec) {
- switch (spec.type) {
- case `npm`: {
- return await fetchAvailableVersions(spec.package);
- }
- case `url`: {
- const data = await fetchAsJson(spec.url);
- const field = data[spec.fields.versions];
- return Array.isArray(field) ? field : Object.keys(field);
- }
- default: {
- throw new Error(`Unsupported specification ${JSON.stringify(spec)}`);
- }
- }
-}
-async function findInstalledVersion(installTarget, descriptor) {
- const installFolder = import_path2.default.join(installTarget, descriptor.name);
- let cacheDirectory;
- try {
- cacheDirectory = await import_fs2.default.promises.opendir(installFolder);
- } catch (error) {
- if (error.code === `ENOENT`) {
- return null;
- } else {
- throw error;
- }
- }
- const range = new import_semver.default.Range(descriptor.range);
- let bestMatch = null;
- let maxSV = void 0;
- for await (const { name } of cacheDirectory) {
- if (name.startsWith(`.`))
- continue;
- if (range.test(name) && maxSV?.compare(name) !== 1) {
- bestMatch = name;
- maxSV = new import_semver.default.SemVer(bestMatch);
- }
- }
- return bestMatch;
-}
-function isSupportedPackageManagerDescriptor(descriptor) {
- return !URL.canParse(descriptor.range);
-}
-function isSupportedPackageManagerLocator(locator) {
- return !URL.canParse(locator.reference);
-}
-function parseURLReference(locator) {
- const { hash, href } = new URL(locator.reference);
- if (hash) {
- return {
- version: encodeURIComponent(href.slice(0, -hash.length)),
- build: hash.slice(1).split(`.`)
- };
- }
- return { version: encodeURIComponent(href), build: [] };
-}
-async function installVersion(installTarget, locator, { spec }) {
- const locatorIsASupportedPackageManager = isSupportedPackageManagerLocator(locator);
- const locatorReference = locatorIsASupportedPackageManager ? import_semver.default.parse(locator.reference) : parseURLReference(locator);
- const { version: version2, build } = locatorReference;
- const installFolder = import_path2.default.join(installTarget, locator.name, version2);
- try {
- const corepackFile = import_path2.default.join(installFolder, `.corepack`);
- const corepackContent = await import_fs2.default.promises.readFile(corepackFile, `utf8`);
- const corepackData = JSON.parse(corepackContent);
- log(`Reusing ${locator.name}@${locator.reference}`);
- return {
- hash: corepackData.hash,
- location: installFolder,
- bin: corepackData.bin
- };
- } catch (err) {
- if (err?.code !== `ENOENT`) {
- throw err;
- }
- }
- let url;
- if (locatorIsASupportedPackageManager) {
- const defaultNpmRegistryURL = spec.url.replace(`{}`, version2);
- url = process.env.COREPACK_NPM_REGISTRY ? defaultNpmRegistryURL.replace(
- DEFAULT_NPM_REGISTRY_URL,
- () => process.env.COREPACK_NPM_REGISTRY
- ) : defaultNpmRegistryURL;
- } else {
- url = decodeURIComponent(version2);
- }
- const tmpFolder = getTemporaryFolder(installTarget);
- log(`Installing ${locator.name}@${version2} from ${url} to ${tmpFolder}`);
- const stream = await fetchUrlStream(url);
- const parsedUrl = new URL(url);
- const ext = import_path2.default.posix.extname(parsedUrl.pathname);
- let outputFile = null;
- let sendTo;
- if (ext === `.tgz`) {
- const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
- sendTo = tar.x({ strip: 1, cwd: tmpFolder });
- } else if (ext === `.js`) {
- outputFile = import_path2.default.join(tmpFolder, import_path2.default.posix.basename(parsedUrl.pathname));
- sendTo = import_fs2.default.createWriteStream(outputFile);
- }
- stream.pipe(sendTo);
- const algo = build[0] ?? `sha256`;
- const hash = stream.pipe((0, import_crypto.createHash)(algo));
- await (0, import_events2.once)(sendTo, `finish`);
- let bin;
- if (!locatorIsASupportedPackageManager) {
- if (ext === `.tgz`) {
- bin = require(import_path2.default.join(tmpFolder, `package.json`)).bin;
- } else if (ext === `.js`) {
- bin = [locator.name];
- }
- }
- const actualHash = hash.digest(`hex`);
- if (build[1] && actualHash !== build[1])
- throw new Error(`Mismatch hashes. Expected ${build[1]}, got ${actualHash}`);
- const serializedHash = `${algo}.${actualHash}`;
- await import_fs2.default.promises.writeFile(import_path2.default.join(tmpFolder, `.corepack`), JSON.stringify({
- locator,
- bin,
- hash: serializedHash
- }));
- await import_fs2.default.promises.mkdir(import_path2.default.dirname(installFolder), { recursive: true });
- try {
- await import_fs2.default.promises.rename(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_fs2.default.promises.stat(installFolder)).isDirectory()) {
- log(`Another instance of corepack installed ${locator.name}@${locator.reference}`);
- await rimraf(tmpFolder);
- } else {
- throw err;
- }
- }
- if (locatorIsASupportedPackageManager && process.env.COREPACK_DEFAULT_TO_LATEST !== `0`) {
- let lastKnownGoodFile;
- try {
- lastKnownGoodFile = await getLastKnownGoodFile(`r+`);
- const lastKnownGood = await getJSONFileContent(lastKnownGoodFile);
- const defaultVersion = getLastKnownGoodFromFileContent(lastKnownGood, locator.name);
- if (defaultVersion) {
- const currentDefault = import_semver.default.parse(defaultVersion);
- const downloadedVersion = locatorReference;
- if (currentDefault.major === downloadedVersion.major && import_semver.default.lt(currentDefault, downloadedVersion)) {
- await activatePackageManagerFromFileHandle(lastKnownGoodFile, lastKnownGood, locator);
- }
- }
- } catch (err) {
- if (err?.code !== `ENOENT`) {
- throw err;
- }
- } finally {
- await lastKnownGoodFile?.close();
- }
- }
- log(`Install finished`);
- return {
- location: installFolder,
- bin,
- hash: serializedHash
- };
-}
-async function runVersion(locator, installSpec, binName, args) {
- let binPath = null;
- if (Array.isArray(installSpec.spec.bin)) {
- if (installSpec.spec.bin.some((bin) => bin === binName)) {
- const parsedUrl = new URL(installSpec.spec.url);
- const ext = import_path2.default.posix.extname(parsedUrl.pathname);
- if (ext === `.js`) {
- binPath = import_path2.default.join(installSpec.location, import_path2.default.posix.basename(parsedUrl.pathname));
- }
- }
- } else {
- for (const [name, dest] of Object.entries(installSpec.spec.bin)) {
- if (name === binName) {
- binPath = import_path2.default.join(installSpec.location, dest);
- break;
- }
- }
- }
- if (!binPath)
- throw new Error(`Assertion failed: Unable to locate path for bin '${binName}'`);
- if (locator.name !== `npm` || import_semver.default.lt(locator.reference, `9.7.0`))
- await Promise.resolve().then(() => __toESM(require_v8_compile_cache()));
- process.env.COREPACK_ROOT = import_path2.default.dirname(require.resolve("corepack/package.json"));
- process.argv = [
- process.execPath,
- binPath,
- ...args
- ];
- process.execArgv = [];
- process.mainModule = void 0;
- process.nextTick(import_module.default.runMain, binPath);
-}
-
-// sources/semverUtils.ts
-var import_semver2 = __toESM(require_semver2());
-function satisfiesWithPrereleases(version2, range, loose = false) {
- let semverRange;
- try {
- semverRange = new import_semver2.default.Range(range, loose);
- } catch (err) {
- return false;
- }
- if (!version2)
- return false;
- let semverVersion;
- try {
- semverVersion = new import_semver2.default.SemVer(version2, semverRange.loose);
- if (semverVersion.prerelease) {
- semverVersion.prerelease = [];
- }
- } catch (err) {
- return false;
- }
- return semverRange.set.some((comparatorSet) => {
- for (const comparator of comparatorSet)
- if (comparator.semver.prerelease)
- comparator.semver.prerelease = [];
- return comparatorSet.every((comparator) => {
- return comparator.test(semverVersion);
- });
- });
-}
-
-// sources/types.ts
-var SupportedPackageManagers = /* @__PURE__ */ ((SupportedPackageManagers3) => {
- SupportedPackageManagers3["Npm"] = `npm`;
- SupportedPackageManagers3["Pnpm"] = `pnpm`;
- SupportedPackageManagers3["Yarn"] = `yarn`;
- return SupportedPackageManagers3;
-})(SupportedPackageManagers || {});
-var SupportedPackageManagerSet = new Set(
- Object.values(SupportedPackageManagers)
-);
-var SupportedPackageManagerSetWithoutNpm = new Set(
- Object.values(SupportedPackageManagers)
-);
-SupportedPackageManagerSetWithoutNpm.delete("npm" /* Npm */);
-function isSupportedPackageManager(value) {
- return SupportedPackageManagerSet.has(value);
-}
-
-// sources/Engine.ts
-function getLastKnownGoodFile(flag = `r`) {
- return import_fs3.default.promises.open(import_path3.default.join(getCorepackHomeFolder(), `lastKnownGood.json`), flag);
-}
-async function createLastKnownGoodFile() {
- await import_fs3.default.promises.mkdir(getCorepackHomeFolder(), { recursive: true });
- return getLastKnownGoodFile(`w`);
-}
-async function getJSONFileContent(fh) {
- let lastKnownGood;
- try {
- lastKnownGood = JSON.parse(await fh.readFile(`utf8`));
- } catch {
- return void 0;
- }
- return lastKnownGood;
-}
-async function overwriteJSONFileContent(fh, content) {
- await fh.truncate(0);
- await fh.write(`${JSON.stringify(content, null, 2)}
-`, 0);
-}
-function getLastKnownGoodFromFileContent(lastKnownGood, packageManager) {
- if (typeof lastKnownGood === `object` && lastKnownGood !== null && Object.hasOwn(lastKnownGood, packageManager)) {
- const override = lastKnownGood[packageManager];
- if (typeof override === `string`) {
- return override;
- }
- }
- return void 0;
-}
-async function activatePackageManagerFromFileHandle(lastKnownGoodFile, lastKnownGood, locator) {
- if (typeof lastKnownGood !== `object` || lastKnownGood === null)
- lastKnownGood = {};
- lastKnownGood[locator.name] = locator.reference;
- log(`Setting ${locator.name}@${locator.reference} as Last Known Good version`);
- await overwriteJSONFileContent(lastKnownGoodFile, lastKnownGood);
-}
-var Engine = class {
- constructor(config = config_default) {
- this.config = config;
- }
- getPackageManagerFor(binaryName) {
- for (const packageManager of SupportedPackageManagerSet) {
- for (const rangeDefinition of Object.values(this.config.definitions[packageManager].ranges)) {
- const bins = Array.isArray(rangeDefinition.bin) ? rangeDefinition.bin : Object.keys(rangeDefinition.bin);
- if (bins.includes(binaryName)) {
- return packageManager;
- }
- }
- }
- return null;
- }
- getPackageManagerSpecFor(locator) {
- if (!isSupportedPackageManagerLocator(locator)) {
- const url = `${locator.reference}`;
- return {
- url,
- bin: void 0,
- // bin will be set later
- registry: {
- type: `url`,
- url,
- fields: {
- tags: ``,
- versions: ``
- }
- }
- };
- }
- const definition = this.config.definitions[locator.name];
- if (typeof definition === `undefined`)
- throw new UsageError(`This package manager (${locator.name}) isn't supported by this corepack build`);
- const ranges = Object.keys(definition.ranges).reverse();
- const range = ranges.find((range2) => satisfiesWithPrereleases(locator.reference, range2));
- if (typeof range === `undefined`)
- throw new Error(`Assertion failed: Specified resolution (${locator.reference}) isn't supported by any of ${ranges.join(`, `)}`);
- return definition.ranges[range];
- }
- getBinariesFor(name) {
- const binNames = /* @__PURE__ */ new Set();
- for (const rangeDefinition of Object.values(this.config.definitions[name].ranges)) {
- const bins = Array.isArray(rangeDefinition.bin) ? rangeDefinition.bin : Object.keys(rangeDefinition.bin);
- for (const name2 of bins) {
- binNames.add(name2);
- }
- }
- return binNames;
- }
- async getDefaultDescriptors() {
- const locators = [];
- for (const name of SupportedPackageManagerSet)
- locators.push({ name, range: await this.getDefaultVersion(name) });
- return locators;
- }
- async getDefaultVersion(packageManager) {
- const definition = this.config.definitions[packageManager];
- if (typeof definition === `undefined`)
- throw new UsageError(`This package manager (${packageManager}) isn't supported by this corepack build`);
- let lastKnownGoodFile = await getLastKnownGoodFile(`r+`).catch((err) => {
- if (err?.code !== `ENOENT`) {
- throw err;
- }
- });
- try {
- const lastKnownGood = lastKnownGoodFile == null || await getJSONFileContent(lastKnownGoodFile);
- const lastKnownGoodForThisPackageManager = getLastKnownGoodFromFileContent(lastKnownGood, packageManager);
- if (lastKnownGoodForThisPackageManager)
- return lastKnownGoodForThisPackageManager;
- if (import_process3.default.env.COREPACK_DEFAULT_TO_LATEST === `0`)
- return definition.default;
- const reference = await fetchLatestStableVersion2(definition.fetchLatestFrom);
- try {
- lastKnownGoodFile ??= await createLastKnownGoodFile();
- await activatePackageManagerFromFileHandle(lastKnownGoodFile, lastKnownGood, {
- name: packageManager,
- reference
- });
- } catch {
- }
- return reference;
- } finally {
- await lastKnownGoodFile?.close();
- }
- }
- async activatePackageManager(locator) {
- let emptyFile = false;
- const lastKnownGoodFile = await getLastKnownGoodFile(`r+`).catch((err) => {
- if (err?.code === `ENOENT`) {
- emptyFile = true;
- return getLastKnownGoodFile(`w`);
- }
- throw err;
- });
- try {
- await activatePackageManagerFromFileHandle(lastKnownGoodFile, emptyFile || await getJSONFileContent(lastKnownGoodFile), locator);
- } finally {
- await lastKnownGoodFile.close();
- }
- }
- async ensurePackageManager(locator) {
- const spec = this.getPackageManagerSpecFor(locator);
- const packageManagerInfo = await installVersion(getInstallFolder(), locator, {
- spec
- });
- spec.bin ??= packageManagerInfo.bin;
- return {
- ...packageManagerInfo,
- locator,
- spec
- };
- }
- async fetchAvailableVersions() {
- }
- async resolveDescriptor(descriptor, { allowTags = false, useCache = true } = {}) {
- if (!isSupportedPackageManagerDescriptor(descriptor)) {
- if (import_process3.default.env.COREPACK_ENABLE_UNSAFE_CUSTOM_URLS !== `1` && isSupportedPackageManager(descriptor.name))
- throw new UsageError(`Illegal use of URL for known package manager. Instead, select a specific version, or set COREPACK_ENABLE_UNSAFE_CUSTOM_URLS=1 in your environment (${descriptor.name}@${descriptor.range})`);
- return {
- name: descriptor.name,
- reference: descriptor.range
- };
- }
- const definition = this.config.definitions[descriptor.name];
- if (typeof definition === `undefined`)
- throw new UsageError(`This package manager (${descriptor.name}) isn't supported by this corepack build`);
- let finalDescriptor = descriptor;
- if (!import_semver3.default.valid(descriptor.range) && !import_semver3.default.validRange(descriptor.range)) {
- if (!allowTags)
- throw new UsageError(`Packages managers can't be referenced via tags in this context`);
- const ranges = Object.keys(definition.ranges);
- const tagRange = ranges[ranges.length - 1];
- const packageManagerSpec = definition.ranges[tagRange];
- const registry = getRegistryFromPackageManagerSpec(packageManagerSpec);
- const tags = await fetchAvailableTags2(registry);
- if (!Object.hasOwn(tags, descriptor.range))
- throw new UsageError(`Tag not found (${descriptor.range})`);
- finalDescriptor = {
- name: descriptor.name,
- range: tags[descriptor.range]
- };
- }
- const cachedVersion = await findInstalledVersion(getInstallFolder(), finalDescriptor);
- if (cachedVersion !== null && useCache)
- return { name: finalDescriptor.name, reference: cachedVersion };
- if (import_semver3.default.valid(finalDescriptor.range))
- return { name: finalDescriptor.name, reference: finalDescriptor.range };
- const versions = await Promise.all(Object.keys(definition.ranges).map(async (range) => {
- const packageManagerSpec = definition.ranges[range];
- const registry = getRegistryFromPackageManagerSpec(packageManagerSpec);
- const versions2 = await fetchAvailableVersions2(registry);
- return versions2.filter((version2) => satisfiesWithPrereleases(version2, finalDescriptor.range));
- }));
- const highestVersion = [...new Set(versions.flat())].sort(import_semver3.default.rcompare);
- if (highestVersion.length === 0)
- return null;
- return { name: finalDescriptor.name, reference: highestVersion[0] };
- }
-};
-
-// sources/commands/Cache.ts
-var import_fs4 = __toESM(require("fs"));
-var CacheCommand = class extends Command {
- static paths = [
- [`cache`, `clean`],
- [`cache`, `clear`]
- ];
- static usage = Command.Usage({
- description: `Cleans Corepack cache`,
- details: `
- Removes Corepack cache directory from your local disk.
- `
- });
- async execute() {
- await import_fs4.default.promises.rm(getInstallFolder(), { recursive: true, force: true });
- }
-};
-
-// sources/commands/Disable.ts
-var import_fs5 = __toESM(require("fs"));
-var import_path4 = __toESM(require("path"));
-var import_which = __toESM(require_lib());
-var DisableCommand = class extends Command {
- static paths = [
- [`disable`]
- ];
- static usage = Command.Usage({
- description: `Remove the Corepack shims from the install directory`,
- details: `
- When run, this command will remove the shims for the specified package managers from the install directory, or all shims if no parameters are passed.
-
- By default it will locate the install directory by running the equivalent of \`which corepack\`, but this can be tweaked by explicitly passing the install directory via the \`--install-directory\` flag.
- `,
- examples: [[
- `Disable all shims, removing them if they're next to the \`coreshim\` binary`,
- `$0 disable`
- ], [
- `Disable all shims, removing them from the specified directory`,
- `$0 disable --install-directory /path/to/bin`
- ], [
- `Disable the Yarn shim only`,
- `$0 disable yarn`
- ]]
- });
- installDirectory = options_exports.String(`--install-directory`, {
- description: `Where the shims are located`
- });
- names = options_exports.Rest();
- async execute() {
- let installDirectory = this.installDirectory;
- if (typeof installDirectory === `undefined`)
- installDirectory = import_path4.default.dirname(await (0, import_which.default)(`corepack`));
- const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names;
- for (const name of new Set(names)) {
- if (!isSupportedPackageManager(name))
- throw new UsageError(`Invalid package manager name '${name}'`);
- for (const binName of this.context.engine.getBinariesFor(name)) {
- if (process.platform === `win32`) {
- await this.removeWin32Link(installDirectory, binName);
- } else {
- await this.removePosixLink(installDirectory, binName);
- }
- }
- }
- }
- async removePosixLink(installDirectory, binName) {
- const file = import_path4.default.join(installDirectory, binName);
- try {
- await import_fs5.default.promises.unlink(file);
- } catch (err) {
- if (err.code !== `ENOENT`) {
- throw err;
- }
- }
- }
- async removeWin32Link(installDirectory, binName) {
- for (const ext of [``, `.ps1`, `.cmd`]) {
- const file = import_path4.default.join(installDirectory, `${binName}${ext}`);
- try {
- await import_fs5.default.promises.unlink(file);
- } catch (err) {
- if (err.code !== `ENOENT`) {
- throw err;
- }
- }
- }
- }
-};
-
-// sources/commands/Enable.ts
-var import_cmd_shim = __toESM(require_cmd_shim());
-var import_fs6 = __toESM(require("fs"));
-var import_path5 = __toESM(require("path"));
-var import_which2 = __toESM(require_lib());
-var EnableCommand = class extends Command {
- static paths = [
- [`enable`]
- ];
- static usage = Command.Usage({
- description: `Add the Corepack shims to the install directories`,
- details: `
- When run, this commmand will check whether the shims for the specified package managers can be found with the correct values inside the install directory. If not, or if they don't exist, they will be created.
-
- By default it will locate the install directory by running the equivalent of \`which corepack\`, but this can be tweaked by explicitly passing the install directory via the \`--install-directory\` flag.
- `,
- examples: [[
- `Enable all shims, putting them next to the \`corepack\` binary`,
- `$0 enable`
- ], [
- `Enable all shims, putting them in the specified directory`,
- `$0 enable --install-directory /path/to/folder`
- ], [
- `Enable the Yarn shim only`,
- `$0 enable yarn`
- ]]
- });
- installDirectory = options_exports.String(`--install-directory`, {
- description: `Where the shims are to be installed`
- });
- names = options_exports.Rest();
- async execute() {
- let installDirectory = this.installDirectory;
- if (typeof installDirectory === `undefined`)
- installDirectory = import_path5.default.dirname(await (0, import_which2.default)(`corepack`));
- installDirectory = import_fs6.default.realpathSync(installDirectory);
- const manifestPath = require.resolve("corepack/package.json");
- const distFolder = import_path5.default.join(import_path5.default.dirname(manifestPath), `dist`);
- if (!import_fs6.default.existsSync(distFolder))
- throw new Error(`Assertion failed: The stub folder doesn't exist`);
- const names = this.names.length === 0 ? SupportedPackageManagerSetWithoutNpm : this.names;
- for (const name of new Set(names)) {
- if (!isSupportedPackageManager(name))
- throw new UsageError(`Invalid package manager name '${name}'`);
- for (const binName of this.context.engine.getBinariesFor(name)) {
- if (process.platform === `win32`) {
- await this.generateWin32Link(installDirectory, distFolder, binName);
- } else {
- await this.generatePosixLink(installDirectory, distFolder, binName);
- }
- }
- }
- }
- async generatePosixLink(installDirectory, distFolder, binName) {
- const file = import_path5.default.join(installDirectory, binName);
- const symlink = import_path5.default.relative(installDirectory, import_path5.default.join(distFolder, `${binName}.js`));
- if (import_fs6.default.existsSync(file)) {
- const currentSymlink = await import_fs6.default.promises.readlink(file);
- if (currentSymlink !== symlink) {
- await import_fs6.default.promises.unlink(file);
- } else {
- return;
- }
- }
- await import_fs6.default.promises.symlink(symlink, file);
- }
- async generateWin32Link(installDirectory, distFolder, binName) {
- const file = import_path5.default.join(installDirectory, binName);
- await (0, import_cmd_shim.default)(import_path5.default.join(distFolder, `${binName}.js`), file, {
- createCmdFile: true
- });
- }
-};
-
-// sources/commands/InstallGlobal.ts
-var import_fs9 = __toESM(require("fs"));
-var import_path7 = __toESM(require("path"));
-
-// sources/specUtils.ts
-var import_fs7 = __toESM(require("fs"));
-var import_path6 = __toESM(require("path"));
-var import_semver4 = __toESM(require_semver2());
-var nodeModulesRegExp = /[\\/]node_modules[\\/](@[^\\/]*[\\/])?([^@\\/][^\\/]*)$/;
-function parseSpec(raw, source, { enforceExactVersion = true } = {}) {
- if (typeof raw !== `string`)
- throw new UsageError(`Invalid package manager specification in ${source}; expected a string`);
- const atIndex = raw.indexOf(`@`);
- if (atIndex === -1 || atIndex === raw.length - 1) {
- if (enforceExactVersion)
- throw new UsageError(`No version specified for ${raw} in "packageManager" of ${source}`);
- const name2 = atIndex === -1 ? raw : raw.slice(0, -1);
- if (!isSupportedPackageManager(name2))
- throw new UsageError(`Unsupported package manager specification (${name2})`);
- return {
- name: name2,
- range: `*`
- };
- }
- const name = raw.slice(0, atIndex);
- const range = raw.slice(atIndex + 1);
- const isURL = URL.canParse(range);
- if (!isURL) {
- if (enforceExactVersion && !import_semver4.default.valid(range))
- throw new UsageError(`Invalid package manager specification in ${source} (${raw}); expected a semver version${enforceExactVersion ? `` : `, range, or tag`}`);
- if (!isSupportedPackageManager(name)) {
- throw new UsageError(`Unsupported package manager specification (${raw})`);
- }
- } else if (isSupportedPackageManager(name) && process.env.COREPACK_ENABLE_UNSAFE_CUSTOM_URLS !== `1`) {
- throw new UsageError(`Illegal use of URL for known package manager. Instead, select a specific version, or set COREPACK_ENABLE_UNSAFE_CUSTOM_URLS=1 in your environment (${raw})`);
- }
- return {
- name,
- range
- };
-}
-async function findProjectSpec(initialCwd, locator, { transparent = false } = {}) {
- const fallbackLocator = { name: locator.name, range: `${locator.reference}` };
- if (process.env.COREPACK_ENABLE_PROJECT_SPEC === `0`)
- return fallbackLocator;
- if (process.env.COREPACK_ENABLE_STRICT === `0`)
- transparent = true;
- while (true) {
- const result = await loadSpec(initialCwd);
- switch (result.type) {
- case `NoProject`:
- case `NoSpec`: {
- return fallbackLocator;
- }
- case `Found`: {
- if (result.spec.name !== locator.name) {
- if (transparent) {
- return fallbackLocator;
- } else {
- throw new UsageError(`This project is configured to use ${result.spec.name}`);
- }
- } else {
- return result.spec;
- }
- }
- }
- }
-}
-async function loadSpec(initialCwd) {
- let nextCwd = initialCwd;
- let currCwd = ``;
- let selection = null;
- while (nextCwd !== currCwd && (!selection || !selection.data.packageManager)) {
- currCwd = nextCwd;
- nextCwd = import_path6.default.dirname(currCwd);
- if (nodeModulesRegExp.test(currCwd))
- continue;
- const manifestPath = import_path6.default.join(currCwd, `package.json`);
- let content;
- try {
- content = await import_fs7.default.promises.readFile(manifestPath, `utf8`);
- } catch (err) {
- if (err?.code === `ENOENT`)
- continue;
- throw err;
- }
- let data;
- try {
- data = JSON.parse(content);
- } catch {
- }
- if (typeof data !== `object` || data === null)
- throw new UsageError(`Invalid package.json in ${import_path6.default.relative(initialCwd, manifestPath)}`);
- selection = { data, manifestPath };
- }
- if (selection === null)
- return { type: `NoProject`, target: import_path6.default.join(initialCwd, `package.json`) };
- const rawPmSpec = selection.data.packageManager;
- if (typeof rawPmSpec === `undefined`)
- return { type: `NoSpec`, target: selection.manifestPath };
- return {
- type: `Found`,
- target: selection.manifestPath,
- spec: parseSpec(rawPmSpec, import_path6.default.relative(initialCwd, selection.manifestPath))
- };
-}
-
-// sources/commands/Base.ts
-var import_fs8 = __toESM(require("fs"));
-
-// sources/nodeUtils.ts
-var import_os2 = __toESM(require("os"));
-function getEndOfLine(content) {
- const matches = content.match(/\r?\n/g);
- if (matches === null)
- return import_os2.default.EOL;
- const crlf = matches.filter((nl) => nl === `\r
-`).length;
- const lf = matches.length - crlf;
- return crlf > lf ? `\r
-` : `
-`;
-}
-function normalizeLineEndings(originalContent, newContent) {
- return newContent.replace(/\r?\n/g, getEndOfLine(originalContent));
-}
-function getIndent(content) {
- const indentMatch = content.match(/^[ \t]+/m);
- if (indentMatch) {
- return indentMatch[0];
- } else {
- return ` `;
- }
-}
-function stripBOM(content) {
- if (content.charCodeAt(0) === 65279) {
- return content.slice(1);
- } else {
- return content;
- }
-}
-function readPackageJson(content) {
- return {
- data: JSON.parse(stripBOM(content) || `{}`),
- indent: getIndent(content)
- };
-}
-
-// sources/commands/Base.ts
-var BaseCommand = class extends Command {
- async resolvePatternsToDescriptors({ patterns }) {
- const resolvedSpecs = patterns.map((pattern) => parseSpec(pattern, `CLI arguments`, { enforceExactVersion: false }));
- if (resolvedSpecs.length === 0) {
- const lookup = await loadSpec(this.context.cwd);
- switch (lookup.type) {
- case `NoProject`:
- throw new UsageError(`Couldn't find a project in the local directory - please explicit the package manager to pack, or run this command from a valid project`);
- case `NoSpec`:
- throw new UsageError(`The local project doesn't feature a 'packageManager' field - please explicit the package manager to pack, or update the manifest to reference it`);
- default: {
- return [lookup.spec];
- }
- }
- }
- return resolvedSpecs;
- }
- async setLocalPackageManager(info) {
- const lookup = await loadSpec(this.context.cwd);
- const content = lookup.type !== `NoProject` ? await import_fs8.default.promises.readFile(lookup.target, `utf8`) : ``;
- const { data, indent } = readPackageJson(content);
- const previousPackageManager = data.packageManager ?? `unknown`;
- data.packageManager = `${info.locator.name}@${info.locator.reference}+${info.hash}`;
- const newContent = normalizeLineEndings(content, `${JSON.stringify(data, null, indent)}
-`);
- await import_fs8.default.promises.writeFile(lookup.target, newContent, `utf8`);
- const command = this.context.engine.getPackageManagerSpecFor(info.locator).commands?.use ?? null;
- if (command === null)
- return 0;
- process.env.COREPACK_MIGRATE_FROM = previousPackageManager;
- this.context.stdout.write(`
-`);
- const [binaryName, ...args] = command;
- return await runVersion(info.locator, info, binaryName, args);
- }
-};
-
-// sources/commands/InstallGlobal.ts
-var InstallGlobalCommand = class extends BaseCommand {
- static paths = [
- [`install`]
- ];
- static usage = Command.Usage({
- description: `Install package managers on the system`,
- details: `
- Download the selected package managers and install them on the system.
-
- Package managers thus installed will be configured as the new default when calling their respective binaries outside of projects defining the 'packageManager' field.
- `,
- examples: [[
- `Install the latest version of Yarn 1.x and make it globally available`,
- `corepack install -g yarn@^1`
- ], [
- `Install the latest version of pnpm, and make it globally available`,
- `corepack install -g pnpm`
- ]]
- });
- global = options_exports.Boolean(`-g,--global`, {
- required: true
- });
- cacheOnly = options_exports.Boolean(`--cache-only`, false, {
- description: `If true, the package managers will only be cached, not set as new defaults`
- });
- args = options_exports.Rest();
- async execute() {
- if (this.args.length === 0)
- throw new UsageError(`No package managers specified`);
- for (const arg of this.args) {
- if (arg.endsWith(`.tgz`)) {
- await this.installFromTarball(import_path7.default.resolve(this.context.cwd, arg));
- } else {
- await this.installFromDescriptor(parseSpec(arg, `CLI arguments`, { enforceExactVersion: false }));
- }
- }
- }
- log(locator) {
- if (this.cacheOnly) {
- this.context.stdout.write(`Adding ${locator.name}@${locator.reference} to the cache...
-`);
- } else {
- this.context.stdout.write(`Installing ${locator.name}@${locator.reference}...
-`);
- }
- }
- async installFromDescriptor(descriptor) {
- const resolved = await this.context.engine.resolveDescriptor(descriptor, { allowTags: true, useCache: false });
- if (resolved === null)
- throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
- this.log(resolved);
- await this.context.engine.ensurePackageManager(resolved);
- if (!this.cacheOnly) {
- await this.context.engine.activatePackageManager(resolved);
- }
- }
- async installFromTarball(p) {
- const installFolder = getInstallFolder();
- const archiveEntries = /* @__PURE__ */ new Map();
- const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
- let hasShortEntries = false;
- await tar.t({ file: p, onentry: (entry) => {
- const segments = entry.path.split(/\//g);
- if (segments.length > 0 && segments[segments.length - 1] !== `.corepack`)
- return;
- if (segments.length < 3) {
- hasShortEntries = true;
- } else {
- let references = archiveEntries.get(segments[0]);
- if (typeof references === `undefined`)
- archiveEntries.set(segments[0], references = /* @__PURE__ */ new Set());
- references.add(segments[1]);
- }
- } });
- if (hasShortEntries || archiveEntries.size < 1)
- throw new UsageError(`Invalid archive format; did it get generated by 'corepack pack'?`);
- for (const [name, references] of archiveEntries) {
- for (const reference of references) {
- if (!isSupportedPackageManager(name))
- throw new UsageError(`Unsupported package manager '${name}'`);
- this.log({ name, reference });
- await import_fs9.default.promises.mkdir(installFolder, { recursive: true });
- await tar.x({ file: p, cwd: installFolder }, [`${name}/${reference}`]);
- if (!this.cacheOnly) {
- await this.context.engine.activatePackageManager({ name, reference });
- }
- }
- }
- }
-};
-
-// sources/commands/InstallLocal.ts
-var InstallLocalCommand = class extends BaseCommand {
- static paths = [
- [`install`]
- ];
- static usage = Command.Usage({
- description: `Install the package manager configured in the local project`,
- details: `
- Download and install the package manager configured in the local project. This command doesn't change the global version used when running the package manager from outside the project (use the \`-g,--global\` flag if you wish to do this).
- `,
- examples: [[
- `Install the project's package manager in the cache`,
- `corepack install`
- ]]
- });
- async execute() {
- const [descriptor] = await this.resolvePatternsToDescriptors({
- patterns: []
- });
- const resolved = await this.context.engine.resolveDescriptor(descriptor, { allowTags: true });
- if (resolved === null)
- throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
- this.context.stdout.write(`Adding ${resolved.name}@${resolved.reference} to the cache...
-`);
- await this.context.engine.ensurePackageManager(resolved);
- }
-};
-
-// sources/commands/Pack.ts
-var import_promises2 = require("fs/promises");
-var import_path8 = __toESM(require("path"));
-var PackCommand = class extends BaseCommand {
- static paths = [
- [`pack`]
- ];
- static usage = Command.Usage({
- description: `Store package managers in a tarball`,
- details: `
- Download the selected package managers and store them inside a tarball suitable for use with \`corepack install -g\`.
- `,
- examples: [[
- `Pack the package manager defined in the package.json file`,
- `corepack pack`
- ], [
- `Pack the latest version of Yarn 1.x inside a file named corepack.tgz`,
- `corepack pack yarn@^1`
- ]]
- });
- json = options_exports.Boolean(`--json`, false, {
- description: `If true, the path to the generated tarball will be printed on stdout`
- });
- output = options_exports.String(`-o,--output`, {
- description: `Where the tarball should be generated; by default "corepack.tgz"`
- });
- patterns = options_exports.Rest();
- async execute() {
- const descriptors = await this.resolvePatternsToDescriptors({
- patterns: this.patterns
- });
- const installLocations = [];
- for (const descriptor of descriptors) {
- const resolved = await this.context.engine.resolveDescriptor(descriptor, { allowTags: true, useCache: false });
- if (resolved === null)
- throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
- this.context.stdout.write(`Adding ${resolved.name}@${resolved.reference} to the cache...
-`);
- const packageManagerInfo = await this.context.engine.ensurePackageManager(resolved);
- await this.context.engine.activatePackageManager(packageManagerInfo.locator);
- installLocations.push(packageManagerInfo.location);
- }
- const baseInstallFolder = getInstallFolder();
- const outputPath = import_path8.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_path8.default.basename(outputPath)}...
-`);
- }
- const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
- await (0, import_promises2.mkdir)(baseInstallFolder, { recursive: true });
- await tar.c({ gzip: true, cwd: baseInstallFolder, file: import_path8.default.resolve(outputPath) }, installLocations.map((location) => {
- return import_path8.default.relative(baseInstallFolder, location);
- }));
- if (this.json) {
- this.context.stdout.write(`${JSON.stringify(outputPath)}
-`);
- } else {
- this.context.stdout.write(`All done!
-`);
- }
- }
-};
-
-// sources/commands/Up.ts
-var import_semver5 = __toESM(require_semver2());
-var UpCommand = class extends BaseCommand {
- static paths = [
- [`up`]
- ];
- static usage = Command.Usage({
- description: `Update the package manager used in the current project`,
- details: `
- Retrieve the latest available version for the current major release line
- of the package manager used in the local project, and update the project
- to use it.
-
- Unlike \`corepack use\` this command doesn't take a package manager name
- nor a version range, as it will always select the latest available
- version from the same major line. Should you need to upgrade to a new
- major, use an explicit \`corepack use '{name}@*'\` call.
- `,
- examples: [[
- `Configure the project to use the latest Yarn release`,
- `corepack up`
- ]]
- });
- async execute() {
- const [descriptor] = await this.resolvePatternsToDescriptors({
- patterns: []
- });
- if (!import_semver5.default.valid(descriptor.range) && !import_semver5.default.validRange(descriptor.range))
- throw new UsageError(`The 'corepack up' command can only be used when your project's packageManager field is set to a semver version or semver range`);
- const resolved = await this.context.engine.resolveDescriptor(descriptor, { useCache: false });
- if (!resolved)
- throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
- const majorVersion = import_semver5.default.major(resolved.reference);
- const majorDescriptor = { name: descriptor.name, range: `^${majorVersion}.0.0` };
- const highestVersion = await this.context.engine.resolveDescriptor(majorDescriptor, { useCache: false });
- if (!highestVersion)
- throw new UsageError(`Failed to find the highest release for ${descriptor.name} ${majorVersion}.x`);
- this.context.stdout.write(`Installing ${highestVersion.name}@${highestVersion.reference} in the project...
-`);
- const packageManagerInfo = await this.context.engine.ensurePackageManager(highestVersion);
- await this.setLocalPackageManager(packageManagerInfo);
- }
-};
-
-// sources/commands/Use.ts
-var UseCommand = class extends BaseCommand {
- static paths = [
- [`use`]
- ];
- static usage = Command.Usage({
- description: `Define the package manager to use for the current project`,
- details: `
- When run, this command will retrieve the latest release matching the
- provided descriptor, assign it to the project's package.json file, and
- automatically perform an install.
- `,
- examples: [[
- `Configure the project to use the latest Yarn release`,
- `corepack use yarn`
- ]]
- });
- pattern = options_exports.String();
- async execute() {
- const [descriptor] = await this.resolvePatternsToDescriptors({
- patterns: [this.pattern]
- });
- const resolved = await this.context.engine.resolveDescriptor(descriptor, { allowTags: true, useCache: false });
- if (resolved === null)
- throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
- this.context.stdout.write(`Installing ${resolved.name}@${resolved.reference} in the project...
-`);
- const packageManagerInfo = await this.context.engine.ensurePackageManager(resolved);
- await this.setLocalPackageManager(packageManagerInfo);
- }
-};
-
-// sources/commands/deprecated/Hydrate.ts
-var import_promises3 = require("fs/promises");
-var import_path9 = __toESM(require("path"));
-var HydrateCommand = class extends Command {
- static paths = [
- [`hydrate`]
- ];
- activate = options_exports.Boolean(`--activate`, false, {
- description: `If true, this release will become the default one for this package manager`
- });
- fileName = options_exports.String();
- async execute() {
- const installFolder = getInstallFolder();
- const fileName = import_path9.default.resolve(this.context.cwd, this.fileName);
- const archiveEntries = /* @__PURE__ */ new Map();
- let hasShortEntries = false;
- const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
- await tar.t({ file: fileName, onentry: (entry) => {
- const segments = entry.path.split(/\//g);
- if (segments.length < 3) {
- hasShortEntries = true;
- } else {
- let references = archiveEntries.get(segments[0]);
- if (typeof references === `undefined`)
- archiveEntries.set(segments[0], references = /* @__PURE__ */ new Set());
- references.add(segments[1]);
- }
- } });
- if (hasShortEntries || archiveEntries.size < 1)
- throw new UsageError(`Invalid archive format; did it get generated by 'corepack prepare'?`);
- for (const [name, references] of archiveEntries) {
- for (const reference of references) {
- if (!isSupportedPackageManager(name))
- throw new UsageError(`Unsupported package manager '${name}'`);
- if (this.activate)
- this.context.stdout.write(`Hydrating ${name}@${reference} for immediate activation...
-`);
- else
- this.context.stdout.write(`Hydrating ${name}@${reference}...
-`);
- await (0, import_promises3.mkdir)(installFolder, { recursive: true });
- await tar.x({ file: fileName, cwd: installFolder }, [`${name}/${reference}`]);
- if (this.activate) {
- await this.context.engine.activatePackageManager({ name, reference });
- }
- }
- }
- this.context.stdout.write(`All done!
-`);
- }
-};
-
-// sources/commands/deprecated/Prepare.ts
-var import_promises4 = require("fs/promises");
-var import_path10 = __toESM(require("path"));
-var PrepareCommand = class extends Command {
- static paths = [
- [`prepare`]
- ];
- activate = options_exports.Boolean(`--activate`, false, {
- description: `If true, this release will become the default one for this package manager`
- });
- json = options_exports.Boolean(`--json`, false, {
- description: `If true, the output will be the path of the generated tarball`
- });
- output = options_exports.String(`-o,--output`, {
- description: `If true, the installed package managers will also be stored in a tarball`,
- tolerateBoolean: true
- });
- specs = options_exports.Rest();
- async execute() {
- const specs = this.specs;
- const installLocations = [];
- if (specs.length === 0) {
- const lookup = await loadSpec(this.context.cwd);
- switch (lookup.type) {
- case `NoProject`:
- throw new UsageError(`Couldn't find a project in the local directory - please explicit the package manager to pack, or run this command from a valid project`);
- case `NoSpec`:
- throw new UsageError(`The local project doesn't feature a 'packageManager' field - please explicit the package manager to pack, or update the manifest to reference it`);
- default: {
- specs.push(lookup.spec);
- }
- }
- }
- for (const request of specs) {
- const spec = typeof request === `string` ? parseSpec(request, `CLI arguments`, { enforceExactVersion: false }) : request;
- const resolved = await this.context.engine.resolveDescriptor(spec, { allowTags: true });
- if (resolved === null)
- throw new UsageError(`Failed to successfully resolve '${spec.range}' to a valid ${spec.name} release`);
- if (!this.json) {
- if (this.activate) {
- this.context.stdout.write(`Preparing ${spec.name}@${spec.range} for immediate activation...
-`);
- } else {
- this.context.stdout.write(`Preparing ${spec.name}@${spec.range}...
-`);
- }
- }
- const installSpec = await this.context.engine.ensurePackageManager(resolved);
- installLocations.push(installSpec.location);
- if (this.activate) {
- await this.context.engine.activatePackageManager(resolved);
- }
- }
- if (this.output) {
- const outputName = typeof this.output === `string` ? this.output : `corepack.tgz`;
- const baseInstallFolder = getInstallFolder();
- const outputPath = import_path10.default.resolve(this.context.cwd, outputName);
- if (!this.json)
- this.context.stdout.write(`Packing the selected tools in ${import_path10.default.basename(outputPath)}...
-`);
- const { default: tar } = await Promise.resolve().then(() => __toESM(require_tar()));
- await (0, import_promises4.mkdir)(baseInstallFolder, { recursive: true });
- await tar.c({ gzip: true, cwd: baseInstallFolder, file: import_path10.default.resolve(outputPath) }, installLocations.map((location) => {
- return import_path10.default.relative(baseInstallFolder, location);
- }));
- if (this.json) {
- this.context.stdout.write(`${JSON.stringify(outputPath)}
-`);
- } else {
- this.context.stdout.write(`All done!
-`);
- }
- }
- }
-};
-
-// sources/miscUtils.ts
-var Cancellation = class extends Error {
- constructor() {
- super(`Cancelled operation`);
- }
-};
-
-// sources/main.ts
-function getPackageManagerRequestFromCli(parameter, context) {
- if (!parameter)
- return null;
- const match = parameter.match(/^([^@]*)(?:@(.*))?$/);
- if (!match)
- return null;
- const [, binaryName, binaryVersion] = match;
- const packageManager = context.engine.getPackageManagerFor(binaryName);
- if (packageManager == null && binaryVersion == null)
- return null;
- return {
- packageManager,
- binaryName,
- binaryVersion: binaryVersion || null
- };
-}
-async function executePackageManagerRequest({ packageManager, binaryName, binaryVersion }, args, context) {
- let fallbackLocator = {
- name: binaryName,
- reference: void 0
- };
- let isTransparentCommand = false;
- if (packageManager != null) {
- const defaultVersion = await context.engine.getDefaultVersion(packageManager);
- const definition = context.engine.config.definitions[packageManager];
- for (const transparentPath of definition.transparent.commands) {
- if (transparentPath[0] === binaryName && transparentPath.slice(1).every((segment, index) => segment === args[index])) {
- isTransparentCommand = true;
- break;
- }
- }
- const fallbackReference = isTransparentCommand ? definition.transparent.default ?? defaultVersion : defaultVersion;
- fallbackLocator = {
- name: packageManager,
- reference: fallbackReference
- };
- }
- let descriptor;
- try {
- descriptor = await findProjectSpec(context.cwd, fallbackLocator, { transparent: isTransparentCommand });
- } catch (err) {
- if (err instanceof Cancellation) {
- return 1;
- } else {
- throw err;
- }
- }
- if (binaryVersion)
- descriptor.range = binaryVersion;
- const resolved = await context.engine.resolveDescriptor(descriptor, { allowTags: true });
- if (resolved === null)
- throw new UsageError(`Failed to successfully resolve '${descriptor.range}' to a valid ${descriptor.name} release`);
- const installSpec = await context.engine.ensurePackageManager(resolved);
- return await runVersion(resolved, installSpec, binaryName, args);
-}
-async function runMain(argv) {
- const context = {
- ...Cli.defaultContext,
- cwd: process.cwd(),
- engine: new Engine()
- };
- const [firstArg, ...restArgs] = argv;
- const request = getPackageManagerRequestFromCli(firstArg, context);
- let code;
- if (!request) {
- const cli = new Cli({
- binaryLabel: `Corepack`,
- binaryName: `corepack`,
- binaryVersion: version
- });
- cli.register(builtins_exports.HelpCommand);
- cli.register(builtins_exports.VersionCommand);
- cli.register(CacheCommand);
- cli.register(DisableCommand);
- cli.register(EnableCommand);
- cli.register(InstallGlobalCommand);
- cli.register(InstallLocalCommand);
- cli.register(PackCommand);
- cli.register(UpCommand);
- cli.register(UseCommand);
- cli.register(HydrateCommand);
- cli.register(PrepareCommand);
- code = await cli.run(argv, context);
- } else {
- const cli = new Cli({
- binaryLabel: `'${request.binaryName}', via Corepack`,
- binaryName: request.binaryName,
- binaryVersion: `corepack/${version}`
- });
- cli.register(class BinaryCommand extends Command {
- proxy = options_exports.Proxy();
- async execute() {
- return executePackageManagerRequest(request, this.proxy, this.context);
- }
- });
- code = await cli.run(restArgs, context);
- }
- if (code !== 0) {
- process.exitCode ??= code;
- }
-}
-// Annotate the CommonJS export names for ESM import in node:
-0 && (module.exports = {
- runMain
-});
-/*! Bundled license information:
-
-undici/lib/fetch/body.js:
- (*! formdata-polyfill. MIT License. Jimmy Wärting *)
-
-is-windows/index.js:
- (*!
- * is-windows
- *
- * Copyright © 2015-2018, Jon Schlinkert.
- * Released under the MIT License.
- *)
-*/
diff --git a/deps/corepack/dist/npm.js b/deps/corepack/dist/npm.js
deleted file mode 100755
index 7d10ba5bdf36b2..00000000000000
--- a/deps/corepack/dist/npm.js
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env node
-process.env.COREPACK_ENABLE_DOWNLOAD_PROMPT??='1'
-require('./lib/corepack.cjs').runMain(['npm', ...process.argv.slice(2)]);
\ No newline at end of file
diff --git a/deps/corepack/dist/npx.js b/deps/corepack/dist/npx.js
deleted file mode 100755
index a8bd3e69014313..00000000000000
--- a/deps/corepack/dist/npx.js
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env node
-process.env.COREPACK_ENABLE_DOWNLOAD_PROMPT??='1'
-require('./lib/corepack.cjs').runMain(['npx', ...process.argv.slice(2)]);
\ No newline at end of file
diff --git a/deps/corepack/dist/pnpm.js b/deps/corepack/dist/pnpm.js
deleted file mode 100755
index a0a87263435562..00000000000000
--- a/deps/corepack/dist/pnpm.js
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env node
-process.env.COREPACK_ENABLE_DOWNLOAD_PROMPT??='1'
-require('./lib/corepack.cjs').runMain(['pnpm', ...process.argv.slice(2)]);
\ No newline at end of file
diff --git a/deps/corepack/dist/pnpx.js b/deps/corepack/dist/pnpx.js
deleted file mode 100755
index 57ad4842631cd7..00000000000000
--- a/deps/corepack/dist/pnpx.js
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env node
-process.env.COREPACK_ENABLE_DOWNLOAD_PROMPT??='1'
-require('./lib/corepack.cjs').runMain(['pnpx', ...process.argv.slice(2)]);
\ No newline at end of file
diff --git a/deps/corepack/dist/yarn.js b/deps/corepack/dist/yarn.js
deleted file mode 100755
index eaed8596eabaa3..00000000000000
--- a/deps/corepack/dist/yarn.js
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env node
-process.env.COREPACK_ENABLE_DOWNLOAD_PROMPT??='1'
-require('./lib/corepack.cjs').runMain(['yarn', ...process.argv.slice(2)]);
\ No newline at end of file
diff --git a/deps/corepack/dist/yarnpkg.js b/deps/corepack/dist/yarnpkg.js
deleted file mode 100755
index aada6032fa67ff..00000000000000
--- a/deps/corepack/dist/yarnpkg.js
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/usr/bin/env node
-process.env.COREPACK_ENABLE_DOWNLOAD_PROMPT??='1'
-require('./lib/corepack.cjs').runMain(['yarnpkg', ...process.argv.slice(2)]);
\ No newline at end of file
diff --git a/deps/corepack/package.json b/deps/corepack/package.json
deleted file mode 100644
index 391eb749c82d65..00000000000000
--- a/deps/corepack/package.json
+++ /dev/null
@@ -1,106 +0,0 @@
-{
- "name": "corepack",
- "version": "0.25.2",
- "homepage": "https://github.com/nodejs/corepack#readme",
- "bugs": {
- "url": "https://github.com/nodejs/corepack/issues"
- },
- "repository": {
- "type": "git",
- "url": "https://github.com/nodejs/corepack.git"
- },
- "engines": {
- "node": "^18.17.1 || >=20.10.0"
- },
- "exports": {
- "./package.json": "./package.json"
- },
- "license": "MIT",
- "packageManager": "yarn@4.1.0+sha224.bc24d7f5afc738464f3d4e95f4e6e7829a35cee54a0fd527ea5baa83",
- "devDependencies": {
- "@babel/core": "^7.14.3",
- "@babel/plugin-transform-modules-commonjs": "^7.14.0",
- "@babel/preset-typescript": "^7.13.0",
- "@jest/globals": "^29.0.0",
- "@types/debug": "^4.1.5",
- "@types/jest": "^29.0.0",
- "@types/node": "^20.4.6",
- "@types/proxy-from-env": "^1",
- "@types/semver": "^7.1.0",
- "@types/tar": "^6.0.0",
- "@types/which": "^3.0.0",
- "@typescript-eslint/eslint-plugin": "^6.8.0",
- "@typescript-eslint/parser": "^6.8.0",
- "@yarnpkg/eslint-config": "^1.0.0",
- "@yarnpkg/fslib": "^3.0.0-rc.48",
- "@zkochan/cmd-shim": "^6.0.0",
- "babel-plugin-dynamic-import-node": "^2.3.3",
- "clipanion": "^3.0.1",
- "debug": "^4.1.1",
- "esbuild": "0.19.5",
- "eslint": "^8.0.0",
- "eslint-plugin-arca": "^0.16.0",
- "jest": "^29.0.0",
- "proxy-from-env": "^1.1.0",
- "semver": "^7.5.2",
- "supports-color": "^9.0.0",
- "tar": "^6.0.1",
- "ts-node": "^10.0.0",
- "typescript": "^5.0.4",
- "undici": "^6.6.1",
- "v8-compile-cache": "^2.3.0",
- "which": "^4.0.0"
- },
- "scripts": {
- "build": "rm -rf dist shims && run build:bundle && ts-node ./mkshims.ts",
- "build:bundle": "esbuild ./sources/_lib.ts --bundle --platform=node --target=node18.17.0 --external:corepack --outfile='./dist/lib/corepack.cjs' --resolve-extensions='.ts,.mjs,.js'",
- "corepack": "ts-node ./sources/_cli.ts",
- "lint": "eslint .",
- "prepack": "yarn build",
- "postpack": "rm -rf dist shims",
- "typecheck": "tsc --noEmit",
- "test": "jest"
- },
- "files": [
- "dist",
- "shims",
- "LICENSE.md"
- ],
- "publishConfig": {
- "bin": {
- "corepack": "./dist/corepack.js",
- "pnpm": "./dist/pnpm.js",
- "pnpx": "./dist/pnpx.js",
- "yarn": "./dist/yarn.js",
- "yarnpkg": "./dist/yarnpkg.js"
- },
- "executableFiles": [
- "./dist/npm.js",
- "./dist/npx.js",
- "./dist/pnpm.js",
- "./dist/pnpx.js",
- "./dist/yarn.js",
- "./dist/yarnpkg.js",
- "./dist/corepack.js",
- "./shims/npm",
- "./shims/npm.ps1",
- "./shims/npx",
- "./shims/npx.ps1",
- "./shims/pnpm",
- "./shims/pnpm.ps1",
- "./shims/pnpx",
- "./shims/pnpx.ps1",
- "./shims/yarn",
- "./shims/yarn.ps1",
- "./shims/yarnpkg",
- "./shims/yarnpkg.ps1"
- ]
- },
- "bin": {
- "corepack": "./dist/corepack.js",
- "pnpm": "./dist/pnpm.js",
- "pnpx": "./dist/pnpx.js",
- "yarn": "./dist/yarn.js",
- "yarnpkg": "./dist/yarnpkg.js"
- }
-}
\ No newline at end of file
diff --git a/deps/corepack/shims/corepack b/deps/corepack/shims/corepack
deleted file mode 100755
index cc65902585b854..00000000000000
--- a/deps/corepack/shims/corepack
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../dist/corepack.js" "$@"
-else
- exec node "$basedir/../dist/corepack.js" "$@"
-fi
diff --git a/deps/corepack/shims/corepack.cmd b/deps/corepack/shims/corepack.cmd
deleted file mode 100755
index 79a51d5eb7d4fb..00000000000000
--- a/deps/corepack/shims/corepack.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\dist\corepack.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\dist\corepack.js" %*
-)
diff --git a/deps/corepack/shims/corepack.ps1 b/deps/corepack/shims/corepack.ps1
deleted file mode 100755
index c3b027b7070bca..00000000000000
--- a/deps/corepack/shims/corepack.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../dist/corepack.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../dist/corepack.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../dist/corepack.js" $args
- } else {
- & "node$exe" "$basedir/../dist/corepack.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/nodewin/corepack b/deps/corepack/shims/nodewin/corepack
deleted file mode 100644
index 04fc5cc3d07f4f..00000000000000
--- a/deps/corepack/shims/nodewin/corepack
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/node_modules/corepack/dist/corepack.js" "$@"
-else
- exec node "$basedir/node_modules/corepack/dist/corepack.js" "$@"
-fi
diff --git a/deps/corepack/shims/nodewin/corepack.cmd b/deps/corepack/shims/nodewin/corepack.cmd
deleted file mode 100644
index 6e2e1b7de7f715..00000000000000
--- a/deps/corepack/shims/nodewin/corepack.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\node_modules\corepack\dist\corepack.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\node_modules\corepack\dist\corepack.js" %*
-)
diff --git a/deps/corepack/shims/nodewin/corepack.ps1 b/deps/corepack/shims/nodewin/corepack.ps1
deleted file mode 100644
index 4bed6916816b97..00000000000000
--- a/deps/corepack/shims/nodewin/corepack.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/corepack.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/corepack.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/node_modules/corepack/dist/corepack.js" $args
- } else {
- & "node$exe" "$basedir/node_modules/corepack/dist/corepack.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/nodewin/npm b/deps/corepack/shims/nodewin/npm
deleted file mode 100644
index 9beab779250def..00000000000000
--- a/deps/corepack/shims/nodewin/npm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/node_modules/corepack/dist/npm.js" "$@"
-else
- exec node "$basedir/node_modules/corepack/dist/npm.js" "$@"
-fi
diff --git a/deps/corepack/shims/nodewin/npm.cmd b/deps/corepack/shims/nodewin/npm.cmd
deleted file mode 100644
index b84f335345e149..00000000000000
--- a/deps/corepack/shims/nodewin/npm.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\node_modules\corepack\dist\npm.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\node_modules\corepack\dist\npm.js" %*
-)
diff --git a/deps/corepack/shims/nodewin/npm.ps1 b/deps/corepack/shims/nodewin/npm.ps1
deleted file mode 100644
index 53fa7e425acf83..00000000000000
--- a/deps/corepack/shims/nodewin/npm.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/npm.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/npm.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/node_modules/corepack/dist/npm.js" $args
- } else {
- & "node$exe" "$basedir/node_modules/corepack/dist/npm.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/nodewin/npx b/deps/corepack/shims/nodewin/npx
deleted file mode 100644
index d69ebf30e0e10b..00000000000000
--- a/deps/corepack/shims/nodewin/npx
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/node_modules/corepack/dist/npx.js" "$@"
-else
- exec node "$basedir/node_modules/corepack/dist/npx.js" "$@"
-fi
diff --git a/deps/corepack/shims/nodewin/npx.cmd b/deps/corepack/shims/nodewin/npx.cmd
deleted file mode 100644
index 9c58097e7d791a..00000000000000
--- a/deps/corepack/shims/nodewin/npx.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\node_modules\corepack\dist\npx.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\node_modules\corepack\dist\npx.js" %*
-)
diff --git a/deps/corepack/shims/nodewin/npx.ps1 b/deps/corepack/shims/nodewin/npx.ps1
deleted file mode 100644
index 14c08544c5de8f..00000000000000
--- a/deps/corepack/shims/nodewin/npx.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/npx.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/npx.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/node_modules/corepack/dist/npx.js" $args
- } else {
- & "node$exe" "$basedir/node_modules/corepack/dist/npx.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/nodewin/pnpm b/deps/corepack/shims/nodewin/pnpm
deleted file mode 100644
index 56e2c7296497ba..00000000000000
--- a/deps/corepack/shims/nodewin/pnpm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/node_modules/corepack/dist/pnpm.js" "$@"
-else
- exec node "$basedir/node_modules/corepack/dist/pnpm.js" "$@"
-fi
diff --git a/deps/corepack/shims/nodewin/pnpm.cmd b/deps/corepack/shims/nodewin/pnpm.cmd
deleted file mode 100644
index 2eaa074dc9afc1..00000000000000
--- a/deps/corepack/shims/nodewin/pnpm.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\node_modules\corepack\dist\pnpm.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\node_modules\corepack\dist\pnpm.js" %*
-)
diff --git a/deps/corepack/shims/nodewin/pnpm.ps1 b/deps/corepack/shims/nodewin/pnpm.ps1
deleted file mode 100644
index 13f0be3b21827b..00000000000000
--- a/deps/corepack/shims/nodewin/pnpm.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/pnpm.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/pnpm.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/node_modules/corepack/dist/pnpm.js" $args
- } else {
- & "node$exe" "$basedir/node_modules/corepack/dist/pnpm.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/nodewin/pnpx b/deps/corepack/shims/nodewin/pnpx
deleted file mode 100644
index 604d099f4fb3a4..00000000000000
--- a/deps/corepack/shims/nodewin/pnpx
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/node_modules/corepack/dist/pnpx.js" "$@"
-else
- exec node "$basedir/node_modules/corepack/dist/pnpx.js" "$@"
-fi
diff --git a/deps/corepack/shims/nodewin/pnpx.cmd b/deps/corepack/shims/nodewin/pnpx.cmd
deleted file mode 100644
index 1da3b1b7bccfcd..00000000000000
--- a/deps/corepack/shims/nodewin/pnpx.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\node_modules\corepack\dist\pnpx.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\node_modules\corepack\dist\pnpx.js" %*
-)
diff --git a/deps/corepack/shims/nodewin/pnpx.ps1 b/deps/corepack/shims/nodewin/pnpx.ps1
deleted file mode 100644
index a25e07e580cac8..00000000000000
--- a/deps/corepack/shims/nodewin/pnpx.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/pnpx.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/pnpx.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/node_modules/corepack/dist/pnpx.js" $args
- } else {
- & "node$exe" "$basedir/node_modules/corepack/dist/pnpx.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/nodewin/yarn b/deps/corepack/shims/nodewin/yarn
deleted file mode 100644
index 9e2bd49fc38ee0..00000000000000
--- a/deps/corepack/shims/nodewin/yarn
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/node_modules/corepack/dist/yarn.js" "$@"
-else
- exec node "$basedir/node_modules/corepack/dist/yarn.js" "$@"
-fi
diff --git a/deps/corepack/shims/nodewin/yarn.cmd b/deps/corepack/shims/nodewin/yarn.cmd
deleted file mode 100644
index 31b2426655675a..00000000000000
--- a/deps/corepack/shims/nodewin/yarn.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\node_modules\corepack\dist\yarn.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\node_modules\corepack\dist\yarn.js" %*
-)
diff --git a/deps/corepack/shims/nodewin/yarn.ps1 b/deps/corepack/shims/nodewin/yarn.ps1
deleted file mode 100644
index 2af2b4478ad260..00000000000000
--- a/deps/corepack/shims/nodewin/yarn.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/yarn.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/yarn.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/node_modules/corepack/dist/yarn.js" $args
- } else {
- & "node$exe" "$basedir/node_modules/corepack/dist/yarn.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/nodewin/yarnpkg b/deps/corepack/shims/nodewin/yarnpkg
deleted file mode 100644
index 05a94b53da118e..00000000000000
--- a/deps/corepack/shims/nodewin/yarnpkg
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/node_modules/corepack/dist/yarnpkg.js" "$@"
-else
- exec node "$basedir/node_modules/corepack/dist/yarnpkg.js" "$@"
-fi
diff --git a/deps/corepack/shims/nodewin/yarnpkg.cmd b/deps/corepack/shims/nodewin/yarnpkg.cmd
deleted file mode 100644
index d490dbb6469b65..00000000000000
--- a/deps/corepack/shims/nodewin/yarnpkg.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\node_modules\corepack\dist\yarnpkg.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\node_modules\corepack\dist\yarnpkg.js" %*
-)
diff --git a/deps/corepack/shims/nodewin/yarnpkg.ps1 b/deps/corepack/shims/nodewin/yarnpkg.ps1
deleted file mode 100644
index a6df5d22d2c856..00000000000000
--- a/deps/corepack/shims/nodewin/yarnpkg.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/yarnpkg.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/node_modules/corepack/dist/yarnpkg.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/node_modules/corepack/dist/yarnpkg.js" $args
- } else {
- & "node$exe" "$basedir/node_modules/corepack/dist/yarnpkg.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/npm b/deps/corepack/shims/npm
deleted file mode 100755
index 79afda0ce4bd76..00000000000000
--- a/deps/corepack/shims/npm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../dist/npm.js" "$@"
-else
- exec node "$basedir/../dist/npm.js" "$@"
-fi
diff --git a/deps/corepack/shims/npm.cmd b/deps/corepack/shims/npm.cmd
deleted file mode 100755
index 5df57499710322..00000000000000
--- a/deps/corepack/shims/npm.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\dist\npm.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\dist\npm.js" %*
-)
diff --git a/deps/corepack/shims/npm.ps1 b/deps/corepack/shims/npm.ps1
deleted file mode 100755
index 3f6d6516892031..00000000000000
--- a/deps/corepack/shims/npm.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../dist/npm.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../dist/npm.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../dist/npm.js" $args
- } else {
- & "node$exe" "$basedir/../dist/npm.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/npx b/deps/corepack/shims/npx
deleted file mode 100755
index 68baa2cd949fa7..00000000000000
--- a/deps/corepack/shims/npx
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../dist/npx.js" "$@"
-else
- exec node "$basedir/../dist/npx.js" "$@"
-fi
diff --git a/deps/corepack/shims/npx.cmd b/deps/corepack/shims/npx.cmd
deleted file mode 100755
index c5da4edb2f3953..00000000000000
--- a/deps/corepack/shims/npx.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\dist\npx.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\dist\npx.js" %*
-)
diff --git a/deps/corepack/shims/npx.ps1 b/deps/corepack/shims/npx.ps1
deleted file mode 100755
index 950c2212ed9f9a..00000000000000
--- a/deps/corepack/shims/npx.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../dist/npx.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../dist/npx.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../dist/npx.js" $args
- } else {
- & "node$exe" "$basedir/../dist/npx.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/pnpm b/deps/corepack/shims/pnpm
deleted file mode 100755
index c67c9ae530ad3c..00000000000000
--- a/deps/corepack/shims/pnpm
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../dist/pnpm.js" "$@"
-else
- exec node "$basedir/../dist/pnpm.js" "$@"
-fi
diff --git a/deps/corepack/shims/pnpm.cmd b/deps/corepack/shims/pnpm.cmd
deleted file mode 100755
index 3a39baa15f1edd..00000000000000
--- a/deps/corepack/shims/pnpm.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\dist\pnpm.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\dist\pnpm.js" %*
-)
diff --git a/deps/corepack/shims/pnpm.ps1 b/deps/corepack/shims/pnpm.ps1
deleted file mode 100755
index 35046e1ef7dfc9..00000000000000
--- a/deps/corepack/shims/pnpm.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../dist/pnpm.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../dist/pnpm.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../dist/pnpm.js" $args
- } else {
- & "node$exe" "$basedir/../dist/pnpm.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/pnpx b/deps/corepack/shims/pnpx
deleted file mode 100755
index 4ea91807273cce..00000000000000
--- a/deps/corepack/shims/pnpx
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../dist/pnpx.js" "$@"
-else
- exec node "$basedir/../dist/pnpx.js" "$@"
-fi
diff --git a/deps/corepack/shims/pnpx.cmd b/deps/corepack/shims/pnpx.cmd
deleted file mode 100755
index ec45e6af81bb88..00000000000000
--- a/deps/corepack/shims/pnpx.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\dist\pnpx.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\dist\pnpx.js" %*
-)
diff --git a/deps/corepack/shims/pnpx.ps1 b/deps/corepack/shims/pnpx.ps1
deleted file mode 100755
index 341bb49fbead7a..00000000000000
--- a/deps/corepack/shims/pnpx.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../dist/pnpx.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../dist/pnpx.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../dist/pnpx.js" $args
- } else {
- & "node$exe" "$basedir/../dist/pnpx.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/yarn b/deps/corepack/shims/yarn
deleted file mode 100755
index 660917d0f1034c..00000000000000
--- a/deps/corepack/shims/yarn
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../dist/yarn.js" "$@"
-else
- exec node "$basedir/../dist/yarn.js" "$@"
-fi
diff --git a/deps/corepack/shims/yarn.cmd b/deps/corepack/shims/yarn.cmd
deleted file mode 100755
index e35cb92663d524..00000000000000
--- a/deps/corepack/shims/yarn.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\dist\yarn.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\dist\yarn.js" %*
-)
diff --git a/deps/corepack/shims/yarn.ps1 b/deps/corepack/shims/yarn.ps1
deleted file mode 100755
index f40254603d8aae..00000000000000
--- a/deps/corepack/shims/yarn.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../dist/yarn.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../dist/yarn.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../dist/yarn.js" $args
- } else {
- & "node$exe" "$basedir/../dist/yarn.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/deps/corepack/shims/yarnpkg b/deps/corepack/shims/yarnpkg
deleted file mode 100755
index 1e24527b62f691..00000000000000
--- a/deps/corepack/shims/yarnpkg
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/bin/sh
-basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
-
-case `uname` in
- *CYGWIN*) basedir=`cygpath -w "$basedir"`;;
-esac
-
-if [ -x "$basedir/node" ]; then
- exec "$basedir/node" "$basedir/../dist/yarnpkg.js" "$@"
-else
- exec node "$basedir/../dist/yarnpkg.js" "$@"
-fi
diff --git a/deps/corepack/shims/yarnpkg.cmd b/deps/corepack/shims/yarnpkg.cmd
deleted file mode 100755
index 1d369bb5a14c2c..00000000000000
--- a/deps/corepack/shims/yarnpkg.cmd
+++ /dev/null
@@ -1,7 +0,0 @@
-@SETLOCAL
-@IF EXIST "%~dp0\node.exe" (
- "%~dp0\node.exe" "%~dp0\..\dist\yarnpkg.js" %*
-) ELSE (
- @SET PATHEXT=%PATHEXT:;.JS;=;%
- node "%~dp0\..\dist\yarnpkg.js" %*
-)
diff --git a/deps/corepack/shims/yarnpkg.ps1 b/deps/corepack/shims/yarnpkg.ps1
deleted file mode 100755
index 825935c07351da..00000000000000
--- a/deps/corepack/shims/yarnpkg.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/usr/bin/env pwsh
-$basedir=Split-Path $MyInvocation.MyCommand.Definition -Parent
-
-$exe=""
-if ($PSVersionTable.PSVersion -lt "6.0" -or $IsWindows) {
- # Fix case when both the Windows and Linux builds of Node
- # are installed in the same directory
- $exe=".exe"
-}
-$ret=0
-if (Test-Path "$basedir/node$exe") {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "$basedir/node$exe" "$basedir/../dist/yarnpkg.js" $args
- } else {
- & "$basedir/node$exe" "$basedir/../dist/yarnpkg.js" $args
- }
- $ret=$LASTEXITCODE
-} else {
- # Support pipeline input
- if ($MyInvocation.ExpectingInput) {
- $input | & "node$exe" "$basedir/../dist/yarnpkg.js" $args
- } else {
- & "node$exe" "$basedir/../dist/yarnpkg.js" $args
- }
- $ret=$LASTEXITCODE
-}
-exit $ret
diff --git a/doc/api/corepack.md b/doc/api/corepack.md
deleted file mode 100644
index 0b9d2baef33679..00000000000000
--- a/doc/api/corepack.md
+++ /dev/null
@@ -1,150 +0,0 @@
-# Corepack
-
-
-
-
-
-
-
-> Stability: 1 - Experimental
-
-_[Corepack][Corepack repository]_ is an experimental tool to help with
-managing versions of your package managers. It exposes binary proxies for
-each [supported package manager][] that, when called, will identify whatever
-package manager is configured for the current project, download it if needed,
-and finally run it.
-
-Despite Corepack being distributed with default installs of Node.js, the package
-managers managed by Corepack are not part of the Node.js distribution and:
-
-* Upon first use, Corepack downloads the latest version from the network.
-* Any required updates (related to security vulnerabilities or otherwise) are
- out of scope of the Node.js project. If necessary end users must figure out
- how to update on their own.
-
-This feature simplifies two core workflows:
-
-* It eases new contributor onboarding, since they won't have to follow
- system-specific installation processes anymore just to have the package
- manager you want them to.
-
-* It allows you to ensure that everyone in your team will use exactly the
- package manager version you intend them to, without them having to
- manually synchronize it each time you need to make an update.
-
-## Workflows
-
-### Enabling the feature
-
-Due to its experimental status, Corepack currently needs to be explicitly
-enabled to have any effect. To do that, run [`corepack enable`][], which
-will set up the symlinks in your environment next to the `node` binary
-(and overwrite the existing symlinks if necessary).
-
-From this point forward, any call to the [supported binaries][] will work
-without further setup. Should you experience a problem, run
-[`corepack disable`][] to remove the proxies from your system (and consider
-opening an issue on the [Corepack repository][] to let us know).
-
-### Configuring a package
-
-The Corepack proxies will find the closest [`package.json`][] file in your
-current directory hierarchy to extract its [`"packageManager"`][] property.
-
-If the value corresponds to a [supported package manager][], Corepack will make
-sure that all calls to the relevant binaries are run against the requested
-version, downloading it on demand if needed, and aborting if it cannot be
-successfully retrieved.
-
-You can use [`corepack use`][] to ask Corepack to update your local
-`package.json` to use the package manager of your choice:
-
-```bash
-corepack use pnpm@7.x # sets the latest 7.x version in the package.json
-corepack use yarn@* # sets the latest version in the package.json
-```
-
-### Upgrading the global versions
-
-When running outside of an existing project (for example when running
-`yarn init`), Corepack will by default use predefined versions roughly
-corresponding to the latest stable releases from each tool. Those versions can
-be overridden by running the [`corepack install`][] command along with the
-package manager version you wish to set:
-
-```bash
-corepack install --global yarn@x.y.z
-```
-
-Alternately, a tag or range may be used:
-
-```bash
-corepack install --global pnpm@*
-corepack install --global yarn@stable
-```
-
-### Offline workflow
-
-Many production environments don't have network access. Since Corepack
-usually downloads the package manager releases straight from their registries,
-it can conflict with such environments. To avoid that happening, call the
-[`corepack pack`][] command while you still have network access (typically at
-the same time you're preparing your deploy image). This will ensure that the
-required package managers are available even without network access.
-
-The `pack` command has [various flags][]. Consult the detailed
-[Corepack documentation][] for more information.
-
-## Supported package managers
-
-The following binaries are provided through Corepack:
-
-| Package manager | Binary names |
-| --------------- | ----------------- |
-| [Yarn][] | `yarn`, `yarnpkg` |
-| [pnpm][] | `pnpm`, `pnpx` |
-
-## Common questions
-
-### How does Corepack interact with npm?
-
-While Corepack could support npm like any other package manager, its
-shims aren't enabled by default. This has a few consequences:
-
-* It's always possible to run a `npm` command within a project configured to
- be used with another package manager, since Corepack cannot intercept it.
-
-* While `npm` is a valid option in the [`"packageManager"`][] property, the
- lack of shim will cause the global npm to be used.
-
-### Running `npm install -g yarn` doesn't work
-
-npm prevents accidentally overriding the Corepack binaries when doing a global
-install. To avoid this problem, consider one of the following options:
-
-* Don't run this command; Corepack will provide the package manager
- binaries anyway and will ensure that the requested versions are always
- available, so installing the package managers explicitly isn't needed.
-
-* Add the `--force` flag to `npm install`; this will tell npm that it's fine to
- override binaries, but you'll erase the Corepack ones in the process. (Run
- [`corepack enable`][] to add them back.)
-
-[Corepack documentation]: https://github.com/nodejs/corepack#readme
-[Corepack repository]: https://github.com/nodejs/corepack
-[Yarn]: https://yarnpkg.com
-[`"packageManager"`]: packages.md#packagemanager
-[`corepack disable`]: https://github.com/nodejs/corepack#corepack-disable--name
-[`corepack enable`]: https://github.com/nodejs/corepack#corepack-enable--name
-[`corepack install`]: https://github.com/nodejs/corepack#corepack-install--g--global---all--nameversion
-[`corepack pack`]: https://github.com/nodejs/corepack#corepack-pack---all--nameversion
-[`corepack use`]: https://github.com/nodejs/corepack#corepack-use-nameversion
-[`package.json`]: packages.md#nodejs-packagejson-field-definitions
-[pnpm]: https://pnpm.js.org
-[supported binaries]: #supported-package-managers
-[supported package manager]: #supported-package-managers
-[various flags]: https://github.com/nodejs/corepack#utility-commands
diff --git a/doc/api/index.md b/doc/api/index.md
index 81ef77491b1f1b..0449bee10a8293 100644
--- a/doc/api/index.md
+++ b/doc/api/index.md
@@ -21,7 +21,6 @@
* [Cluster](cluster.md)
* [Command-line options](cli.md)
* [Console](console.md)
-* [Corepack](corepack.md)
* [Crypto](crypto.md)
* [Debugger](debugger.md)
* [Deprecated APIs](deprecations.md)
diff --git a/doc/api/packages.md b/doc/api/packages.md
index 8a5efdc89c4853..b60142da6c23e6 100644
--- a/doc/api/packages.md
+++ b/doc/api/packages.md
@@ -232,21 +232,6 @@ For completeness there is also `--input-type=commonjs`, for explicitly running
string input as CommonJS. This is the default behavior if `--input-type` is
unspecified.
-## Determining package manager
-
-> Stability: 1 - Experimental
-
-While all Node.js projects are expected to be installable by all package
-managers once published, their development teams are often required to use one
-specific package manager. To make this process easier, Node.js ships with a
-tool called [Corepack][] that aims to make all package managers transparently
-available in your environment - provided you have Node.js installed.
-
-By default Corepack won't enforce any specific package manager and will use
-the generic "Last Known Good" versions associated with each Node.js release,
-but you can improve this experience by setting the [`"packageManager"`][] field
-in your project's `package.json`.
-
## Package entry points
In a package's `package.json` file, two fields can define entry points for a
@@ -1116,8 +1101,6 @@ The following fields in `package.json` files are used in Node.js:
by package managers as the name of the package.
* [`"main"`][] - The default module when loading the package, if exports is not
specified, and in versions of Node.js prior to the introduction of exports.
-* [`"packageManager"`][] - The package manager recommended when contributing to
- the package. Leveraged by the [Corepack][] shims.
* [`"type"`][] - The package type determining whether to load `.js` files as
CommonJS or ES modules.
* [`"exports"`][] - Package exports and conditional exports. When present,
@@ -1182,33 +1165,6 @@ via `require()`](modules.md#folders-as-modules).
require('./path/to/directory');
```
-### `"packageManager"`
-
-
-
-> Stability: 1 - Experimental
-
-* Type: {string}
-
-```json
-{
- "packageManager": "@"
-}
-```
-
-The `"packageManager"` field defines which package manager is expected to be
-used when working on the current project. It can be set to any of the
-[supported package managers][], and will ensure that your teams use the exact
-same package manager versions without having to install anything else other than
-Node.js.
-
-This field is currently experimental and needs to be opted-in; check the
-[Corepack][] page for details about the procedure.
-
### `"type"`