diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml
index 71376637a2..9c86cb8b04 100644
--- a/.github/workflows/publish-npm.yml
+++ b/.github/workflows/publish-npm.yml
@@ -14,6 +14,7 @@ on:
- alpha
- internal
- testnet-three
+ - experiment
jobs:
publish:
runs-on: ubuntu-latest
diff --git a/CHANGELOG.md b/CHANGELOG.md
index bab148c217..23960fbeee 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,23 +8,57 @@ Changes before Tatum release are not documented in this file.
## [Unreleased]
+### Breaking Changes
+
+- **BREAKING CHANGE**: The following packages no longer include all source files in `dist`. They now export bundled artifacts for ESM, CJS, and TypeScript declarations only:
+ - `@streamr/sdk`
+ - `@streamr/utils`
+ - `@streamr/dht`
+ - `@streamr/proto-rpc`
+ - `@streamr/test-utils`
+ - `@streamr/autocertifier-client`
+ - `@streamr/trackerless-network`
+
+ If you previously relied on importing internal files directly from `dist`, you must update your imports to use the package's public exports.
+
### General
-#### Fixed
+#### Added
+
+- Expose cross-environment cryptographic utilities from `@streamr/utils` for both browser and Node.js ([#3342]):
+ - AES cipher utilities: `createCipheriv`, `createDecipheriv`
+ - Hash functions: `computeMd5`, `computeSha1`
+ - RSA utilities: `publicEncrypt`, `privateDecrypt`
+ - Random bytes: `randomBytes` (re-exported from `@noble/post-quantum/utils`)
+ - Types: `CryptoKey`, `Jwk`
+- Bundle a limited browser-compatible version of `autocertifier-client` ([#3340])
+
+#### Changed
+
+- Internal packages now produce separate bundles for browser and Node.js environments, improving tree-shaking and reducing polyfill requirements ([#3321], [#3322], [#3330], [#3333], [#3335], [#3336], [#3337], [#3338], [#3339])
### @streamr/sdk
#### Added
-#### Changed
+- Bundle `@streamr/sdk` for browser (no polyfills required!) and for Node.js ([#3358])
-#### Deprecated
+#### Changed
-#### Removed
+- **BREAKING CHANGE**: The package no longer provides a default export. Use named imports instead: `import { StreamrClient } from '@streamr/sdk'`. The UMD bundle remains accessible via `window.StreamrClient`. ([#3358])
+- Use named `StreamrClient` export and explicit `type` import syntax ([#3369])
+- Use named imports for `EventEmitter` from `eventemitter3` ([#3366])
#### Fixed
-#### Security
+- Resolve circular dependencies in the SDK package ([#3361], [#3367])
+- Clean-up `tsyringe` setup ([#3362])
+
+### @streamr/browser-test-runner
+
+#### Added
+
+- Support TypeScript karma-setup files ([#3368])
### @streamr/node
@@ -54,7 +88,6 @@ Changes before Tatum release are not documented in this file.
#### Security
-
## [103.2.2] - 2026-01-19
### General
@@ -589,7 +622,7 @@ Autostaker changes:
- Change websocket client library implementation used in Node.js (https://github.com/streamr-dev/network/pull/2384)
-[Unreleased]: https://github.com/streamr-dev/network/compare/v103.2.0...HEAD
+[Unreleased]: https://github.com/streamr-dev/network/compare/v103.2.2...HEAD
[103.2.2]: https://github.com/streamr-dev/network/compare/v103.2.1...v103.2.2
[103.2.1]: https://github.com/streamr-dev/network/compare/v103.2.0...v103.2.1
[103.2.0]: https://github.com/streamr-dev/network/compare/v103.1.2...v103.2.0
@@ -613,3 +646,22 @@ Autostaker changes:
[100.1.2]: https://github.com/streamr-dev/network/compare/v100.1.1...v100.1.2
[100.1.1]: https://github.com/streamr-dev/network/compare/v100.1.0...v100.1.1
[100.1.0]: https://github.com/streamr-dev/network/compare/v100.0.0...v100.1.0
+
+[#3321]: https://github.com/streamr-dev/network/pull/3321
+[#3322]: https://github.com/streamr-dev/network/pull/3322
+[#3330]: https://github.com/streamr-dev/network/pull/3330
+[#3333]: https://github.com/streamr-dev/network/pull/3333
+[#3335]: https://github.com/streamr-dev/network/pull/3335
+[#3336]: https://github.com/streamr-dev/network/pull/3336
+[#3337]: https://github.com/streamr-dev/network/pull/3337
+[#3338]: https://github.com/streamr-dev/network/pull/3338
+[#3339]: https://github.com/streamr-dev/network/pull/3339
+[#3340]: https://github.com/streamr-dev/network/pull/3340
+[#3342]: https://github.com/streamr-dev/network/pull/3342
+[#3358]: https://github.com/streamr-dev/network/pull/3358
+[#3361]: https://github.com/streamr-dev/network/pull/3361
+[#3362]: https://github.com/streamr-dev/network/pull/3362
+[#3366]: https://github.com/streamr-dev/network/pull/3366
+[#3367]: https://github.com/streamr-dev/network/pull/3367
+[#3368]: https://github.com/streamr-dev/network/pull/3368
+[#3369]: https://github.com/streamr-dev/network/pull/3369
diff --git a/Dockerfile.node b/Dockerfile.node
index 2e3a36cca5..fcdedd6ace 100644
--- a/Dockerfile.node
+++ b/Dockerfile.node
@@ -3,8 +3,11 @@ FROM node:${NODE_VERSION}-bullseye AS build
WORKDIR /usr/src/network
COPY . .
RUN --mount=type=cache,target=/root/.npm \
+ npm run bootstrap-pkg --package=@streamr/utils && \
npm run bootstrap-pkg --package=@streamr/proto-rpc && \
npm run bootstrap-pkg --package=@streamr/autocertifier-client && \
+ npm run bootstrap-pkg --package=@streamr/cdn-location && \
+ npm run bootstrap-pkg --package=@streamr/geoip-location && \
npm run bootstrap-pkg --package=@streamr/dht && \
npm run bootstrap-pkg --package=@streamr/trackerless-network && \
npm run bootstrap-pkg --package=@streamr/sdk && \
diff --git a/docs/docs/help/operator-faq.md b/docs/docs/help/operator-faq.md
index 3a7bbc98ad..7f0c82c343 100644
--- a/docs/docs/help/operator-faq.md
+++ b/docs/docs/help/operator-faq.md
@@ -179,10 +179,10 @@ Recheck operator address from the hub & reconfigure your node to use the correct
I’m receiving the following warning message.
```JSON
-WARN [2023-11-10T10:01:42.418] (NodeWebRtcConnection): Failed to set remote descriptor for peer 0a3849076d8a43b19b876fbc6eba935f
-WARN [2023-11-10T10:01:42.421] (NodeWebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
-WARN [2023-11-10T10:01:42.622] (NodeWebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
-WARN [2023-11-10T10:01:42.867] (NodeWebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
+WARN [2023-11-10T10:01:42.418] (WebRtcConnection): Failed to set remote descriptor for peer 0a3849076d8a43b19b876fbc6eba935f
+WARN [2023-11-10T10:01:42.421] (WebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
+WARN [2023-11-10T10:01:42.622] (WebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
+WARN [2023-11-10T10:01:42.867] (WebRtcConnection): Failed to set remote candidate for peer 0a3849076d8a43b19b876fbc6eba935f
```
**Explanation:**
@@ -332,4 +332,4 @@ You'll need to pay the early exit fee of 5k DATA. The unwithdrawn earnings from
#### What are some tips for staying safe on Streamr?
- Consider starting small with your stake amount and use common sense to never stake more than you can afford to lose. A professional audit of the incentive layer has been completed by Cyfrin, but nothing can be guaranteed of course.
- If you want to stake on a sponsorship, DO NOT click on the "Sponsor". That's for funding the sponsorship, not staking! Instead, go to the sponsorship you want to stake on and click "Join as an operator” and enter the amount.
-- There may be an increase in activity by scammers. A common approach is to pretend to offer help or tech support in direct messages (something we never do). Report any account that is asking you to sign transactions or asking for any sort of credentials such as your private key. These accounts are trying to steal your tokens. It’s advised you disable DMs on Discord. More tips can be found in #server-safety-guide.
\ No newline at end of file
+- There may be an increase in activity by scammers. A common approach is to pretend to offer help or tech support in direct messages (something we never do). Report any account that is asking you to sign transactions or asking for any sort of credentials such as your private key. These accounts are trying to steal your tokens. It’s advised you disable DMs on Discord. More tips can be found in #server-safety-guide.
diff --git a/docs/docs/usage/sdk/how-to-use.md b/docs/docs/usage/sdk/how-to-use.md
index 4d95fe6f8a..c9f80384d4 100644
--- a/docs/docs/usage/sdk/how-to-use.md
+++ b/docs/docs/usage/sdk/how-to-use.md
@@ -38,7 +38,7 @@ Node.js `20` is the minimum required version, ideally version 22 and later. Node
For usage in the browser include the latest build, e.g. by including a `
+
```
#### Browser extension
diff --git a/package-lock.json b/package-lock.json
index 7b39d655f8..3c9949164a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -822,19 +822,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.27.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
- "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.27.3"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-compilation-targets": {
"version": "7.27.2",
"resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
@@ -875,83 +862,6 @@
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
"license": "ISC"
},
- "node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.5.tgz",
- "integrity": "sha512-q3WC4JfdODypvxArsJQROfupPBq9+lMwjKq7C33GhbFYJsufD0yd/ziwD+hJucLeWsnFPWZjsU2DNFqBPE7jwQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-member-expression-to-functions": "^7.28.5",
- "@babel/helper-optimise-call-expression": "^7.27.1",
- "@babel/helper-replace-supers": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/traverse": "^7.28.5",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz",
- "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.1",
- "regexpu-core": "^6.2.0",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
- "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-plugin-utils": "^7.27.1",
- "debug": "^4.4.1",
- "lodash.debounce": "^4.0.8",
- "resolve": "^1.22.10"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
"node_modules/@babel/helper-globals": {
"version": "7.28.0",
"resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
@@ -961,20 +871,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz",
- "integrity": "sha512-cwM7SBRZcPCLgl8a7cY0soT1SptSzAlMH39vwiRpOQkJlh53r5hdHwLSCZpQdVLT39sZt+CRpNwYG4Y2v77atg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.28.5",
- "@babel/types": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-module-imports": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
@@ -1005,19 +901,6 @@
"@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
- "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-plugin-utils": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
@@ -1027,56 +910,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz",
- "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.1",
- "@babel/helper-wrap-function": "^7.27.1",
- "@babel/traverse": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz",
- "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.27.1",
- "@babel/helper-optimise-call-expression": "^7.27.1",
- "@babel/traverse": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
- "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.27.1",
- "@babel/types": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helper-string-parser": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
@@ -1104,21 +937,6 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/helper-wrap-function": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz",
- "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/template": "^7.27.1",
- "@babel/traverse": "^7.27.1",
- "@babel/types": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
"node_modules/@babel/helpers": {
"version": "7.28.4",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz",
@@ -1147,121 +965,6 @@
"node": ">=6.0.0"
}
},
- "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.28.5.tgz",
- "integrity": "sha512-87GDMS3tsmMSi/3bWOte1UblL+YUTFMV8SZPZ2eSEL17s74Cw/l63rR6NmGVKMYW2GYi85nE+/d6Hw5N0bEk2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz",
- "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz",
- "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz",
- "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/plugin-transform-optional-chaining": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.13.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz",
- "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-proposal-decorators": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz",
- "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/plugin-syntax-decorators": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.21.0-placeholder-for-preset-env.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
- "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-syntax-async-generators": {
"version": "7.8.4",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
@@ -1313,38 +1016,6 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-decorators": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz",
- "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz",
- "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
"node_modules/@babel/plugin-syntax-import-attributes": {
"version": "7.27.1",
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz",
@@ -1516,3857 +1187,3540 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
- "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
- "dev": true,
+ "node_modules/@babel/runtime": {
+ "version": "7.28.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
+ "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
"license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
}
},
- "node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz",
- "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==",
- "dev": true,
+ "node_modules/@babel/template": {
+ "version": "7.27.2",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+ "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@babel/code-frame": "^7.27.1",
+ "@babel/parser": "^7.27.2",
+ "@babel/types": "^7.27.1"
},
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz",
- "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==",
- "dev": true,
+ "node_modules/@babel/traverse": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz",
+ "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-remap-async-to-generator": "^7.27.1",
- "@babel/traverse": "^7.28.0"
+ "@babel/code-frame": "^7.27.1",
+ "@babel/generator": "^7.28.5",
+ "@babel/helper-globals": "^7.28.0",
+ "@babel/parser": "^7.28.5",
+ "@babel/template": "^7.27.2",
+ "@babel/types": "^7.28.5",
+ "debug": "^4.3.1"
},
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz",
- "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==",
- "dev": true,
+ "node_modules/@babel/types": {
+ "version": "7.28.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
+ "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
"license": "MIT",
"dependencies": {
- "@babel/helper-module-imports": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-remap-async-to-generator": "^7.27.1"
+ "@babel/helper-string-parser": "^7.27.1",
+ "@babel/helper-validator-identifier": "^7.28.5"
},
"engines": {
"node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz",
- "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==",
+ "node_modules/@bazel/runfiles": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/@bazel/runfiles/-/runfiles-6.3.1.tgz",
+ "integrity": "sha512-1uLNT5NZsUVIGS4syuHwTzZ8HycMPyr6POA3FCE4GbMtc4rhoJk8aZKtNIRthJYfL+iioppi+rTfH3olMPr9nA==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0"
+ },
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+ "license": "MIT"
+ },
+ "node_modules/@bufbuild/protobuf": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.5.0.tgz",
+ "integrity": "sha512-nniMblXT+dNyubek2OLKAYJnG/in4tmfS2c5CDnIvqfF9kFlERSG3FCBvmdqerpkWuPv0qhdGKReQ2OqKPG20w==",
+ "dev": true,
+ "license": "(Apache-2.0 AND BSD-3-Clause)"
+ },
+ "node_modules/@bufbuild/protoplugin": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@bufbuild/protoplugin/-/protoplugin-2.5.0.tgz",
+ "integrity": "sha512-8Z/vSynBHQD81WO7430j3FQyZr57EjnRjEwlNfz4/7bEv6vLfROn+ovOg07hA2BNCe7JPnyJzUAb2yZ6W1M7Ww==",
+ "dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@bufbuild/protobuf": "2.5.0",
+ "@typescript/vfs": "^1.5.2",
+ "typescript": "5.4.5"
+ }
+ },
+ "node_modules/@bufbuild/protoplugin/node_modules/typescript": {
+ "version": "5.4.5",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
+ "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=14.17"
}
},
- "node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.5.tgz",
- "integrity": "sha512-45DmULpySVvmq9Pj3X9B+62Xe+DJGov27QravQJU1LLcapR6/10i+gYVAucGGJpHBp5mYxIMK4nDAT/QDLr47g==",
+ "node_modules/@colors/colors": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
+ "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=0.1.90"
}
},
- "node_modules/@babel/plugin-transform-class-properties": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz",
- "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==",
+ "node_modules/@cspotcode/source-map-support": {
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
+ "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@jridgewell/trace-mapping": "0.3.9"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=12"
}
},
- "node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.28.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz",
- "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==",
+ "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.9",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.28.3",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "@jridgewell/resolve-uri": "^3.0.3",
+ "@jridgewell/sourcemap-codec": "^1.4.10"
+ }
+ },
+ "node_modules/@csstools/color-helpers": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.1.tgz",
+ "integrity": "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
+ "license": "MIT-0",
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-classes": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.4.tgz",
- "integrity": "sha512-cFOlhIYPBv/iBoc+KS3M6et2XPtbT2HiCRfBXWtfpc9OAyostldxIf9YAYB6ypURBBbx+Qv6nyrLzASfJe+hBA==",
+ "node_modules/@csstools/css-calc": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.1.tgz",
+ "integrity": "sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-globals": "^7.28.0",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-replace-supers": "^7.27.1",
- "@babel/traverse": "^7.28.4"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@csstools/css-parser-algorithms": "^3.0.4",
+ "@csstools/css-tokenizer": "^3.0.3"
}
},
- "node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz",
- "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==",
+ "node_modules/@csstools/css-color-parser": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.7.tgz",
+ "integrity": "sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/template": "^7.27.1"
+ "@csstools/color-helpers": "^5.0.1",
+ "@csstools/css-calc": "^2.1.1"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@csstools/css-parser-algorithms": "^3.0.4",
+ "@csstools/css-tokenizer": "^3.0.3"
}
},
- "node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.5.tgz",
- "integrity": "sha512-Kl9Bc6D0zTUcFUvkNuQh4eGXPKKNDOJQXVyyM4ZAQPMveniJdxi8XMJwLo+xSoW3MIq81bD33lcUe9kZpl0MCw==",
+ "node_modules/@csstools/css-parser-algorithms": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz",
+ "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.28.5"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@csstools/css-tokenizer": "^3.0.3"
}
},
- "node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz",
- "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==",
+ "node_modules/@csstools/css-tokenizer": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz",
+ "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==",
"dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/csstools"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/csstools"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz",
- "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==",
+ "node_modules/@electron/get": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz",
+ "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "debug": "^4.1.1",
+ "env-paths": "^2.2.0",
+ "fs-extra": "^8.1.0",
+ "got": "^11.8.5",
+ "progress": "^2.0.3",
+ "semver": "^6.2.0",
+ "sumchecker": "^3.0.1"
},
"engines": {
- "node": ">=6.9.0"
+ "node": ">=12"
},
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "optionalDependencies": {
+ "global-agent": "^3.0.0"
}
},
- "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz",
- "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==",
+ "node_modules/@electron/get/node_modules/fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": ">=6 <7 || >=8"
}
},
- "node_modules/@babel/plugin-transform-dynamic-import": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz",
- "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==",
+ "node_modules/@electron/get/node_modules/jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
}
},
- "node_modules/@babel/plugin-transform-explicit-resource-management": {
- "version": "7.28.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz",
- "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==",
+ "node_modules/@electron/get/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@electron/get/node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/plugin-transform-destructuring": "^7.28.0"
- },
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">= 4.0.0"
}
},
- "node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.28.5.tgz",
- "integrity": "sha512-D4WIMaFtwa2NizOp+dnoFjRez/ClKiC2BqqImwKd1X28nqBtZEyCYJ2ozQrrzlxAFrcrjxo39S6khe9RNDlGzw==",
+ "node_modules/@electron/rebuild": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-4.0.1.tgz",
+ "integrity": "sha512-iMGXb6Ib7H/Q3v+BKZJoETgF9g6KMNZVbsO4b7Dmpgb5qTFqyFTzqW9F3TOSHdybv2vKYKzSS9OiZL+dcJb+1Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@malept/cross-spawn-promise": "^2.0.0",
+ "chalk": "^4.0.0",
+ "debug": "^4.1.1",
+ "detect-libc": "^2.0.1",
+ "got": "^11.7.0",
+ "graceful-fs": "^4.2.11",
+ "node-abi": "^4.2.0",
+ "node-api-version": "^0.2.1",
+ "node-gyp": "^11.2.0",
+ "ora": "^5.1.0",
+ "read-binary-file-arch": "^1.0.6",
+ "semver": "^7.3.5",
+ "tar": "^6.0.5",
+ "yargs": "^17.0.1"
},
- "engines": {
- "node": ">=6.9.0"
+ "bin": {
+ "electron-rebuild": "lib/cli.js"
},
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "engines": {
+ "node": ">=22.12.0"
}
},
- "node_modules/@babel/plugin-transform-export-namespace-from": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz",
- "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==",
+ "node_modules/@electron/rebuild/node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "minipass": "^3.0.0"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">= 8"
}
},
- "node_modules/@babel/plugin-transform-for-of": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz",
- "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==",
+ "node_modules/@electron/rebuild/node_modules/fs-minipass/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
+ "yallist": "^4.0.0"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=8"
}
},
- "node_modules/@babel/plugin-transform-function-name": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz",
- "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==",
+ "node_modules/@electron/rebuild/node_modules/minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/traverse": "^7.27.1"
- },
+ "license": "ISC",
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=8"
}
},
- "node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz",
- "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==",
+ "node_modules/@electron/rebuild/node_modules/node-abi": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.6.0.tgz",
+ "integrity": "sha512-AActsRaxKmWuE/0u28/1u4PlvEcY/mh83HC0j+p3/4nQHgcHTgGR8tkDeDiyVboR+4J6YVl+er/C7NmQBhMP6A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "semver": "^7.6.3"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=22.12.0"
}
},
- "node_modules/@babel/plugin-transform-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz",
- "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==",
+ "node_modules/@electron/rebuild/node_modules/tar": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
+ "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=10"
}
},
- "node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.28.5.tgz",
- "integrity": "sha512-axUuqnUTBuXyHGcJEVVh9pORaN6wC5bYfE7FGzPiaWa3syib9m7g+/IT/4VgCOe2Upef43PHzeAvcrVek6QuuA==",
- "dev": true,
+ "node_modules/@emnapi/core": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz",
+ "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==",
+ "devOptional": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "@emnapi/wasi-threads": "1.0.2",
+ "tslib": "^2.4.0"
}
},
- "node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz",
- "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==",
- "dev": true,
+ "node_modules/@emnapi/runtime": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
+ "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
+ "devOptional": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "tslib": "^2.4.0"
}
},
- "node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz",
- "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==",
- "dev": true,
+ "node_modules/@emnapi/wasi-threads": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz",
+ "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==",
+ "devOptional": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "tslib": "^2.4.0"
}
},
- "node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz",
- "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==",
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.2.tgz",
+ "integrity": "sha512-GZMB+a0mOMZs4MpDbj8RJp4cw+w1WV5NYD6xzgvzUJ5Ek2jerwfO2eADyI6ExDSUED+1X8aMbegahsJi+8mgpw==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "aix"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.28.5.tgz",
- "integrity": "sha512-vn5Jma98LCOeBy/KpeQhXcV2WZgaRUtjwQmjoBuLNlOmkg0fB5pdvYVeWRYI69wWKwK2cD1QbMiUQnoujWvrew==",
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.2.tgz",
+ "integrity": "sha512-DVNI8jlPa7Ujbr1yjU2PfUSRtAUZPG9I1RwW4F4xFB1Imiu2on0ADiI/c3td+KmDtVKNbi+nffGDQMfcIMkwIA==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.28.3",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5",
- "@babel/traverse": "^7.28.5"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz",
- "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==",
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.2.tgz",
+ "integrity": "sha512-pvz8ZZ7ot/RBphf8fv60ljmaoydPU12VuXHImtAs0XhLLw+EXBi2BLe3OYSBslR4rryHvweW5gmkKFwTiFy6KA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz",
- "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==",
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.2.tgz",
+ "integrity": "sha512-z8Ank4Byh4TJJOh4wpz8g2vDy75zFL0TlZlkUkEwYXuPSgX8yzep596n6mT7905kA9uHZsf/o2OJZubl2l3M7A==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-new-target": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz",
- "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==",
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.2.tgz",
+ "integrity": "sha512-davCD2Zc80nzDVRwXTcQP/28fiJbcOwvdolL0sOiOsbwBa72kegmVU0Wrh1MYrbuCL98Omp5dVhQFWRKR2ZAlg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz",
- "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==",
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.2.tgz",
+ "integrity": "sha512-ZxtijOmlQCBWGwbVmwOF/UCzuGIbUkqB1faQRf5akQmxRJ1ujusWsb3CVfk/9iZKr2L5SMU5wPBi1UWbvL+VQA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-numeric-separator": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz",
- "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==",
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.2.tgz",
+ "integrity": "sha512-lS/9CN+rgqQ9czogxlMcBMGd+l8Q3Nj1MFQwBZJyoEKI50XGxwuzznYdwcav6lpOGv5BqaZXqvBSiB/kJ5op+g==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.4.tgz",
- "integrity": "sha512-373KA2HQzKhQCYiRVIRr+3MjpCObqzDlyrM6u4I201wL8Mp2wHf7uB8GhDwis03k2ti8Zr65Zyyqs1xOxUF/Ew==",
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.2.tgz",
+ "integrity": "sha512-tAfqtNYb4YgPnJlEFu4c212HYjQWSO/w/h/lQaBK7RbwGIkBOuNKQI9tqWzx7Wtp7bTPaGC6MJvWI608P3wXYA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/plugin-transform-destructuring": "^7.28.0",
- "@babel/plugin-transform-parameters": "^7.27.7",
- "@babel/traverse": "^7.28.4"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-object-super": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz",
- "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==",
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.2.tgz",
+ "integrity": "sha512-vWfq4GaIMP9AIe4yj1ZUW18RDhx6EPQKjwe7n8BbIecFtCQG4CfHGaHuh7fdfq+y3LIA2vGS/o9ZBGVxIDi9hw==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-replace-supers": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz",
- "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==",
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.2.tgz",
+ "integrity": "sha512-hYxN8pr66NsCCiRFkHUAsxylNOcAQaxSSkHMMjcpx0si13t1LHFphxJZUiGwojB1a/Hd5OiPIqDdXONia6bhTw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.28.5.tgz",
- "integrity": "sha512-N6fut9IZlPnjPwgiQkXNhb+cT8wQKFlJNqcZkWlcTqkcqx6/kU4ynGmLFoa4LViBSirn05YAwk+sQBbPfxtYzQ==",
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.2.tgz",
+ "integrity": "sha512-MJt5BRRSScPDwG2hLelYhAAKh9imjHK5+NE/tvnRLbIqUWa+0E9N4WNMjmp/kXXPHZGqPLxggwVhz7QP8CTR8w==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-parameters": {
- "version": "7.27.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz",
- "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==",
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.2.tgz",
+ "integrity": "sha512-lugyF1atnAT463aO6KPshVCJK5NgRnU4yb3FUumyVz+cGvZbontBgzeGFO1nF+dPueHD367a2ZXe1NtUkAjOtg==",
+ "cpu": [
+ "loong64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-private-methods": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz",
- "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==",
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.2.tgz",
+ "integrity": "sha512-nlP2I6ArEBewvJ2gjrrkESEZkB5mIoaTswuqNFRv/WYd+ATtUpe9Y09RnJvgvdag7he0OWgEZWhviS1OTOKixw==",
+ "cpu": [
+ "mips64el"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz",
- "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==",
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.2.tgz",
+ "integrity": "sha512-C92gnpey7tUQONqg1n6dKVbx3vphKtTHJaNG2Ok9lGwbZil6DrfyecMsp9CrmXGQJmZ7iiVXvvZH6Ml5hL6XdQ==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.1",
- "@babel/helper-create-class-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz",
- "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==",
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.2.tgz",
+ "integrity": "sha512-B5BOmojNtUyN8AXlK0QJyvjEZkWwy/FKvakkTDCziX95AowLZKR6aCDhG7LeF7uMCXEJqwa8Bejz5LTPYm8AvA==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.4.tgz",
- "integrity": "sha512-+ZEdQlBoRg9m2NnzvEeLgtvBMO4tkFBw5SQIUgLICgTrumLoU7lr+Oghi6km2PFj+dbUt2u1oby2w3BDO9YQnA==",
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.2.tgz",
+ "integrity": "sha512-p4bm9+wsPwup5Z8f4EpfN63qNagQ47Ua2znaqGH6bqLlmJ4bx97Y9JdqxgGZ6Y8xVTixUnEkoKSHcpRlDnNr5w==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-regexp-modifiers": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz",
- "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==",
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.2.tgz",
+ "integrity": "sha512-uwp2Tip5aPmH+NRUwTcfLb+W32WXjpFejTIOWZFw/v7/KnpCDKG66u4DLcurQpiYTiYwQ9B7KOeMJvLCu/OvbA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz",
- "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==",
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.2.tgz",
+ "integrity": "sha512-Kj6DiBlwXrPsCRDeRvGAUb/LNrBASrfqAIok+xB0LxK8CHqxZ037viF13ugfsIpePH93mX7xfJp97cyDuTZ3cw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-runtime": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.5.tgz",
- "integrity": "sha512-20NUVgOrinudkIBzQ2bNxP08YpKprUkRTiRSd2/Z5GOdPImJGkoN4Z7IQe1T5AdyKI1i5L6RBmluqdSzvaq9/w==",
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.2.tgz",
+ "integrity": "sha512-HwGDZ0VLVBY3Y+Nw0JexZy9o/nUAWq9MlV7cahpaXKW6TOzfVno3y3/M8Ga8u8Yr7GldLOov27xiCnqRZf0tCA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1",
- "babel-plugin-polyfill-corejs2": "^0.4.14",
- "babel-plugin-polyfill-corejs3": "^0.13.0",
- "babel-plugin-polyfill-regenerator": "^0.6.5",
- "semver": "^6.3.1"
- },
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz",
- "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==",
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.2.tgz",
+ "integrity": "sha512-DNIHH2BPQ5551A7oSHD0CKbwIA/Ox7+78/AWkbS5QoRzaqlev2uFayfSxq68EkonB+IKjiuxBFoV8ESJy8bOHA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-spread": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz",
- "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==",
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.2.tgz",
+ "integrity": "sha512-/it7w9Nb7+0KFIzjalNJVR5bOzA9Vay+yIPLVHfIQYG/j+j9VTH84aNB8ExGKPU4AzfaEvN9/V4HV+F+vo8OEg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz",
- "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==",
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.2.tgz",
+ "integrity": "sha512-LRBbCmiU51IXfeXk59csuX/aSaToeG7w48nMwA6049Y4J4+VbWALAuXcs+qcD04rHDuSCSRKdmY63sruDS5qag==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz",
- "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==",
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.2.tgz",
+ "integrity": "sha512-kMtx1yqJHTmqaqHPAzKCAkDaKsffmXkPHThSfRwZGyuqyIeBvf08KSsYXl+abf5HDAPMJIPnbBfXvP2ZC2TfHg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz",
- "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==",
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.2.tgz",
+ "integrity": "sha512-Yaf78O/B3Kkh+nKABUF++bvJv5Ijoy9AN1ww904rOXZFLWVc5OLOfL56W+C8F9xn5JQZa3UX6m+IktJnIb1Jjg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-typescript": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.28.5.tgz",
- "integrity": "sha512-x2Qa+v/CuEoX7Dr31iAfr0IhInrVOWZU/2vJMJ00FOR/2nM0BcBEclpaf9sWCDc+v5e9dMrhSH8/atq/kX7+bA==",
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.2.tgz",
+ "integrity": "sha512-Iuws0kxo4yusk7sw70Xa2E2imZU5HoixzxfGCdxwBdhiDgt9vX9VUCBhqcwY7/uh//78A1hMkkROMJq9l27oLQ==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.27.3",
- "@babel/helper-create-class-features-plugin": "^7.28.5",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
- "@babel/plugin-syntax-typescript": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz",
- "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==",
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.2.tgz",
+ "integrity": "sha512-sRdU18mcKf7F+YgheI/zGf5alZatMUTKj/jNS6l744f9u3WFu4v7twcUI9vu4mknF4Y9aDlblIie0IM+5xxaqQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "node": ">=18"
}
},
- "node_modules/@babel/plugin-transform-unicode-property-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz",
- "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==",
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.9.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
+ "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "eslint-visitor-keys": "^3.4.3"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
},
"peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
- "node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz",
- "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==",
+ "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
- },
+ "license": "Apache-2.0",
"engines": {
- "node": ">=6.9.0"
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.27.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz",
- "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==",
+ "node_modules/@eslint-community/regexpp": {
+ "version": "4.12.1",
+ "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
+ "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
"dev": true,
"license": "MIT",
+ "engines": {
+ "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/config-array": {
+ "version": "0.19.2",
+ "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz",
+ "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==",
+ "dev": true,
+ "license": "Apache-2.0",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.27.1",
- "@babel/helper-plugin-utils": "^7.27.1"
+ "@eslint/object-schema": "^2.1.6",
+ "debug": "^4.3.1",
+ "minimatch": "^3.1.2"
},
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@babel/preset-env": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.5.tgz",
- "integrity": "sha512-S36mOoi1Sb6Fz98fBfE+UZSpYw5mJm0NUHtIKrOuNcqeFauy1J6dIvXm2KRVKobOSaGq4t/hBXdN4HGU3wL9Wg==",
+ "node_modules/@eslint/config-array/node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/compat-data": "^7.28.5",
- "@babel/helper-compilation-targets": "^7.27.2",
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-validator-option": "^7.27.1",
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.28.5",
- "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3",
- "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
- "@babel/plugin-syntax-import-assertions": "^7.27.1",
- "@babel/plugin-syntax-import-attributes": "^7.27.1",
- "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
- "@babel/plugin-transform-arrow-functions": "^7.27.1",
- "@babel/plugin-transform-async-generator-functions": "^7.28.0",
- "@babel/plugin-transform-async-to-generator": "^7.27.1",
- "@babel/plugin-transform-block-scoped-functions": "^7.27.1",
- "@babel/plugin-transform-block-scoping": "^7.28.5",
- "@babel/plugin-transform-class-properties": "^7.27.1",
- "@babel/plugin-transform-class-static-block": "^7.28.3",
- "@babel/plugin-transform-classes": "^7.28.4",
- "@babel/plugin-transform-computed-properties": "^7.27.1",
- "@babel/plugin-transform-destructuring": "^7.28.5",
- "@babel/plugin-transform-dotall-regex": "^7.27.1",
- "@babel/plugin-transform-duplicate-keys": "^7.27.1",
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
- "@babel/plugin-transform-dynamic-import": "^7.27.1",
- "@babel/plugin-transform-explicit-resource-management": "^7.28.0",
- "@babel/plugin-transform-exponentiation-operator": "^7.28.5",
- "@babel/plugin-transform-export-namespace-from": "^7.27.1",
- "@babel/plugin-transform-for-of": "^7.27.1",
- "@babel/plugin-transform-function-name": "^7.27.1",
- "@babel/plugin-transform-json-strings": "^7.27.1",
- "@babel/plugin-transform-literals": "^7.27.1",
- "@babel/plugin-transform-logical-assignment-operators": "^7.28.5",
- "@babel/plugin-transform-member-expression-literals": "^7.27.1",
- "@babel/plugin-transform-modules-amd": "^7.27.1",
- "@babel/plugin-transform-modules-commonjs": "^7.27.1",
- "@babel/plugin-transform-modules-systemjs": "^7.28.5",
- "@babel/plugin-transform-modules-umd": "^7.27.1",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
- "@babel/plugin-transform-new-target": "^7.27.1",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
- "@babel/plugin-transform-numeric-separator": "^7.27.1",
- "@babel/plugin-transform-object-rest-spread": "^7.28.4",
- "@babel/plugin-transform-object-super": "^7.27.1",
- "@babel/plugin-transform-optional-catch-binding": "^7.27.1",
- "@babel/plugin-transform-optional-chaining": "^7.28.5",
- "@babel/plugin-transform-parameters": "^7.27.7",
- "@babel/plugin-transform-private-methods": "^7.27.1",
- "@babel/plugin-transform-private-property-in-object": "^7.27.1",
- "@babel/plugin-transform-property-literals": "^7.27.1",
- "@babel/plugin-transform-regenerator": "^7.28.4",
- "@babel/plugin-transform-regexp-modifiers": "^7.27.1",
- "@babel/plugin-transform-reserved-words": "^7.27.1",
- "@babel/plugin-transform-shorthand-properties": "^7.27.1",
- "@babel/plugin-transform-spread": "^7.27.1",
- "@babel/plugin-transform-sticky-regex": "^7.27.1",
- "@babel/plugin-transform-template-literals": "^7.27.1",
- "@babel/plugin-transform-typeof-symbol": "^7.27.1",
- "@babel/plugin-transform-unicode-escapes": "^7.27.1",
- "@babel/plugin-transform-unicode-property-regex": "^7.27.1",
- "@babel/plugin-transform-unicode-regex": "^7.27.1",
- "@babel/plugin-transform-unicode-sets-regex": "^7.27.1",
- "@babel/preset-modules": "0.1.6-no-external-plugins",
- "babel-plugin-polyfill-corejs2": "^0.4.14",
- "babel-plugin-polyfill-corejs3": "^0.13.0",
- "babel-plugin-polyfill-regenerator": "^0.6.5",
- "core-js-compat": "^3.43.0",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "node_modules/@babel/preset-env/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "node_modules/@eslint/config-array/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
"dev": true,
"license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
}
},
- "node_modules/@babel/preset-modules": {
- "version": "0.1.6-no-external-plugins",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
- "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
+ "node_modules/@eslint/core": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz",
+ "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
+ "@types/json-schema": "^7.0.15"
},
- "peerDependencies": {
- "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@babel/preset-typescript": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.28.5.tgz",
- "integrity": "sha512-+bQy5WOI2V6LJZpPVxY+yp66XdZ2yifu0Mc1aP5CQKgjn4QM5IN2i5fAZ4xKop47pr8rpVhiAeu+nDQa12C8+g==",
+ "node_modules/@eslint/eslintrc": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz",
+ "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.27.1",
- "@babel/helper-validator-option": "^7.27.1",
- "@babel/plugin-syntax-jsx": "^7.27.1",
- "@babel/plugin-transform-modules-commonjs": "^7.27.1",
- "@babel/plugin-transform-typescript": "^7.28.5"
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^10.0.1",
+ "globals": "^14.0.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
+ "funding": {
+ "url": "https://opencollective.com/eslint"
}
},
- "node_modules/@babel/runtime": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz",
- "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==",
+ "node_modules/@eslint/eslintrc/node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
"license": "MIT",
- "engines": {
- "node": ">=6.9.0"
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/@babel/runtime-corejs3": {
- "version": "7.28.4",
- "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.28.4.tgz",
- "integrity": "sha512-h7iEYiW4HebClDEhtvFObtPmIvrd1SSfpI9EhOeKk4CtIK/ngBWFpuhCzhdmRKtg71ylcue+9I6dv54XYO1epQ==",
+ "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "core-js-pure": "^3.43.0"
- },
- "engines": {
- "node": ">=6.9.0"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "node_modules/@babel/template": {
- "version": "7.27.2",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
- "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "14.0.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
+ "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.27.1",
- "@babel/parser": "^7.27.2",
- "@babel/types": "^7.27.1"
- },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@babel/traverse": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz",
- "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==",
- "license": "MIT",
+ "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/@eslint/eslintrc/node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "@babel/code-frame": "^7.27.1",
- "@babel/generator": "^7.28.5",
- "@babel/helper-globals": "^7.28.0",
- "@babel/parser": "^7.28.5",
- "@babel/template": "^7.27.2",
- "@babel/types": "^7.28.5",
- "debug": "^4.3.1"
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": ">=6.9.0"
+ "node": "*"
}
},
- "node_modules/@babel/types": {
- "version": "7.28.5",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz",
- "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==",
+ "node_modules/@eslint/js": {
+ "version": "9.39.1",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz",
+ "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.27.1",
- "@babel/helper-validator-identifier": "^7.28.5"
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
},
+ "funding": {
+ "url": "https://eslint.org/donate"
+ }
+ },
+ "node_modules/@eslint/object-schema": {
+ "version": "2.1.6",
+ "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
+ "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
+ "dev": true,
+ "license": "Apache-2.0",
"engines": {
- "node": ">=6.9.0"
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
- "node_modules/@bazel/runfiles": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/@bazel/runfiles/-/runfiles-6.3.1.tgz",
- "integrity": "sha512-1uLNT5NZsUVIGS4syuHwTzZ8HycMPyr6POA3FCE4GbMtc4rhoJk8aZKtNIRthJYfL+iioppi+rTfH3olMPr9nA==",
+ "node_modules/@eslint/plugin-kit": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.6.tgz",
+ "integrity": "sha512-+0TjwR1eAUdZtvv/ir1mGX+v0tUoR3VEPB8Up0LLJC+whRW0GgBBtpbOkg/a/U4Dxa6l5a3l9AJ1aWIQVyoWJA==",
"dev": true,
- "license": "Apache-2.0"
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@eslint/core": "^0.11.0",
+ "levn": "^0.4.1"
+ },
+ "engines": {
+ "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ }
},
- "node_modules/@bcoe/v8-coverage": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
- "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
- "license": "MIT"
+ "node_modules/@gar/promisify": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
+ "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "license": "MIT",
+ "optional": true
},
- "node_modules/@bufbuild/protobuf": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@bufbuild/protobuf/-/protobuf-2.5.0.tgz",
- "integrity": "sha512-nniMblXT+dNyubek2OLKAYJnG/in4tmfS2c5CDnIvqfF9kFlERSG3FCBvmdqerpkWuPv0qhdGKReQ2OqKPG20w==",
+ "node_modules/@humanfs/core": {
+ "version": "0.19.1",
+ "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
+ "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
"dev": true,
- "license": "(Apache-2.0 AND BSD-3-Clause)"
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=18.18.0"
+ }
},
- "node_modules/@bufbuild/protoplugin": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/@bufbuild/protoplugin/-/protoplugin-2.5.0.tgz",
- "integrity": "sha512-8Z/vSynBHQD81WO7430j3FQyZr57EjnRjEwlNfz4/7bEv6vLfROn+ovOg07hA2BNCe7JPnyJzUAb2yZ6W1M7Ww==",
+ "node_modules/@humanfs/node": {
+ "version": "0.16.6",
+ "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
+ "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
"dev": true,
"license": "Apache-2.0",
"dependencies": {
- "@bufbuild/protobuf": "2.5.0",
- "@typescript/vfs": "^1.5.2",
- "typescript": "5.4.5"
+ "@humanfs/core": "^0.19.1",
+ "@humanwhocodes/retry": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=18.18.0"
}
},
- "node_modules/@bufbuild/protoplugin/node_modules/typescript": {
- "version": "5.4.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
- "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
+ "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
+ "version": "0.3.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
+ "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
"dev": true,
"license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
"engines": {
- "node": ">=14.17"
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@colors/colors": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
+ "node_modules/@humanwhocodes/module-importer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
+ "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"engines": {
- "node": ">=0.1.90"
+ "node": ">=12.22"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@cspotcode/source-map-support": {
- "version": "0.8.1",
- "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
- "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
+ "node_modules/@humanwhocodes/retry": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz",
+ "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/trace-mapping": "0.3.9"
- },
+ "license": "Apache-2.0",
"engines": {
- "node": ">=12"
+ "node": ">=18.18"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/nzakas"
}
},
- "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.9",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
- "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
+ "node_modules/@hutson/parse-repository-url": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz",
+ "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.0.3",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "license": "Apache-2.0",
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@csstools/color-helpers": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/@csstools/color-helpers/-/color-helpers-5.0.1.tgz",
- "integrity": "sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
- "license": "MIT-0",
+ "node_modules/@inquirer/ansi": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.1.tgz",
+ "integrity": "sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw==",
+ "license": "MIT",
"engines": {
"node": ">=18"
}
},
- "node_modules/@csstools/css-calc": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.1.tgz",
- "integrity": "sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
+ "node_modules/@inquirer/checkbox": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.0.tgz",
+ "integrity": "sha512-5+Q3PKH35YsnoPTh75LucALdAxom6xh5D1oeY561x4cqBuH24ZFVyFREPe14xgnrtmGu3EEt1dIi60wRVSnGCw==",
"license": "MIT",
+ "dependencies": {
+ "@inquirer/ansi": "^1.0.1",
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/figures": "^1.0.14",
+ "@inquirer/type": "^3.0.9",
+ "yoctocolors-cjs": "^2.1.2"
+ },
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@csstools/css-parser-algorithms": "^3.0.4",
- "@csstools/css-tokenizer": "^3.0.3"
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@csstools/css-color-parser": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.7.tgz",
- "integrity": "sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
+ "node_modules/@inquirer/confirm": {
+ "version": "5.1.19",
+ "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.19.tgz",
+ "integrity": "sha512-wQNz9cfcxrtEnUyG5PndC8g3gZ7lGDBzmWiXZkX8ot3vfZ+/BLjR8EvyGX4YzQLeVqtAlY/YScZpW7CW8qMoDQ==",
"license": "MIT",
"dependencies": {
- "@csstools/color-helpers": "^5.0.1",
- "@csstools/css-calc": "^2.1.1"
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/type": "^3.0.9"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@csstools/css-parser-algorithms": "^3.0.4",
- "@csstools/css-tokenizer": "^3.0.3"
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@csstools/css-parser-algorithms": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-3.0.4.tgz",
- "integrity": "sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
+ "node_modules/@inquirer/core": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.0.tgz",
+ "integrity": "sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA==",
"license": "MIT",
+ "dependencies": {
+ "@inquirer/ansi": "^1.0.1",
+ "@inquirer/figures": "^1.0.14",
+ "@inquirer/type": "^3.0.9",
+ "cli-width": "^4.1.0",
+ "mute-stream": "^2.0.0",
+ "signal-exit": "^4.1.0",
+ "wrap-ansi": "^6.2.0",
+ "yoctocolors-cjs": "^2.1.2"
+ },
"engines": {
"node": ">=18"
},
"peerDependencies": {
- "@csstools/css-tokenizer": "^3.0.3"
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@csstools/css-tokenizer": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-3.0.3.tgz",
- "integrity": "sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/csstools"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/csstools"
- }
- ],
+ "node_modules/@inquirer/editor": {
+ "version": "4.2.21",
+ "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.21.tgz",
+ "integrity": "sha512-MjtjOGjr0Kh4BciaFShYpZ1s9400idOdvQ5D7u7lE6VztPFoyLcVNE5dXBmEEIQq5zi4B9h2kU+q7AVBxJMAkQ==",
"license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/external-editor": "^1.0.2",
+ "@inquirer/type": "^3.0.9"
+ },
"engines": {
"node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@discoveryjs/json-ext": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
- "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
- "dev": true,
+ "node_modules/@inquirer/expand": {
+ "version": "4.0.21",
+ "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.21.tgz",
+ "integrity": "sha512-+mScLhIcbPFmuvU3tAGBed78XvYHSvCl6dBiYMlzCLhpr0bzGzd8tfivMMeqND6XZiaZ1tgusbUHJEfc6YzOdA==",
"license": "MIT",
+ "dependencies": {
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/type": "^3.0.9",
+ "yoctocolors-cjs": "^2.1.2"
+ },
"engines": {
- "node": ">=10.0.0"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@electron/get": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/@electron/get/-/get-2.0.3.tgz",
- "integrity": "sha512-Qkzpg2s9GnVV2I2BjRksUi43U5e6+zaQMcjoJy0C+C5oxaKl+fmckGDQFtRpZpZV0NQekuZZ+tGz7EA9TVnQtQ==",
- "dev": true,
+ "node_modules/@inquirer/external-editor": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz",
+ "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==",
"license": "MIT",
"dependencies": {
- "debug": "^4.1.1",
- "env-paths": "^2.2.0",
- "fs-extra": "^8.1.0",
- "got": "^11.8.5",
- "progress": "^2.0.3",
- "semver": "^6.2.0",
- "sumchecker": "^3.0.1"
+ "chardet": "^2.1.0",
+ "iconv-lite": "^0.7.0"
},
"engines": {
- "node": ">=12"
+ "node": ">=18"
},
- "optionalDependencies": {
- "global-agent": "^3.0.0"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@electron/get/node_modules/fs-extra": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
- "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
- "dev": true,
+ "node_modules/@inquirer/external-editor/node_modules/iconv-lite": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz",
+ "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==",
"license": "MIT",
"dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^4.0.0",
- "universalify": "^0.1.0"
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
},
"engines": {
- "node": ">=6 <7 || >=8"
- }
- },
- "node_modules/@electron/get/node_modules/jsonfile": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
- "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
- "dev": true,
- "license": "MIT",
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/@electron/get/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/@electron/get/node_modules/universalify": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
- "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
- "dev": true,
+ "node_modules/@inquirer/figures": {
+ "version": "1.0.14",
+ "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.14.tgz",
+ "integrity": "sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==",
"license": "MIT",
"engines": {
- "node": ">= 4.0.0"
+ "node": ">=18"
}
},
- "node_modules/@electron/rebuild": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@electron/rebuild/-/rebuild-4.0.1.tgz",
- "integrity": "sha512-iMGXb6Ib7H/Q3v+BKZJoETgF9g6KMNZVbsO4b7Dmpgb5qTFqyFTzqW9F3TOSHdybv2vKYKzSS9OiZL+dcJb+1Q==",
- "dev": true,
+ "node_modules/@inquirer/input": {
+ "version": "4.2.5",
+ "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.5.tgz",
+ "integrity": "sha512-7GoWev7P6s7t0oJbenH0eQ0ThNdDJbEAEtVt9vsrYZ9FulIokvd823yLyhQlWHJPGce1wzP53ttfdCZmonMHyA==",
"license": "MIT",
"dependencies": {
- "@malept/cross-spawn-promise": "^2.0.0",
- "chalk": "^4.0.0",
- "debug": "^4.1.1",
- "detect-libc": "^2.0.1",
- "got": "^11.7.0",
- "graceful-fs": "^4.2.11",
- "node-abi": "^4.2.0",
- "node-api-version": "^0.2.1",
- "node-gyp": "^11.2.0",
- "ora": "^5.1.0",
- "read-binary-file-arch": "^1.0.6",
- "semver": "^7.3.5",
- "tar": "^6.0.5",
- "yargs": "^17.0.1"
- },
- "bin": {
- "electron-rebuild": "lib/cli.js"
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/type": "^3.0.9"
},
"engines": {
- "node": ">=22.12.0"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@electron/rebuild/node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
- "dev": true,
- "license": "ISC",
+ "node_modules/@inquirer/number": {
+ "version": "3.0.21",
+ "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.21.tgz",
+ "integrity": "sha512-5QWs0KGaNMlhbdhOSCFfKsW+/dcAVC2g4wT/z2MCiZM47uLgatC5N20kpkDQf7dHx+XFct/MJvvNGy6aYJn4Pw==",
+ "license": "MIT",
"dependencies": {
- "minipass": "^3.0.0"
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/type": "^3.0.9"
},
"engines": {
- "node": ">= 8"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@electron/rebuild/node_modules/fs-minipass/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
- "dev": true,
- "license": "ISC",
+ "node_modules/@inquirer/password": {
+ "version": "4.0.21",
+ "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.21.tgz",
+ "integrity": "sha512-xxeW1V5SbNFNig2pLfetsDb0svWlKuhmr7MPJZMYuDnCTkpVBI+X/doudg4pznc1/U+yYmWFFOi4hNvGgUo7EA==",
+ "license": "MIT",
"dependencies": {
- "yallist": "^4.0.0"
+ "@inquirer/ansi": "^1.0.1",
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/type": "^3.0.9"
},
"engines": {
- "node": ">=8"
- }
- },
- "node_modules/@electron/rebuild/node_modules/minipass": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
- "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=8"
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@electron/rebuild/node_modules/node-abi": {
- "version": "4.6.0",
- "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-4.6.0.tgz",
- "integrity": "sha512-AActsRaxKmWuE/0u28/1u4PlvEcY/mh83HC0j+p3/4nQHgcHTgGR8tkDeDiyVboR+4J6YVl+er/C7NmQBhMP6A==",
- "dev": true,
+ "node_modules/@inquirer/prompts": {
+ "version": "7.9.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.9.0.tgz",
+ "integrity": "sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A==",
"license": "MIT",
"dependencies": {
- "semver": "^7.6.3"
+ "@inquirer/checkbox": "^4.3.0",
+ "@inquirer/confirm": "^5.1.19",
+ "@inquirer/editor": "^4.2.21",
+ "@inquirer/expand": "^4.0.21",
+ "@inquirer/input": "^4.2.5",
+ "@inquirer/number": "^3.0.21",
+ "@inquirer/password": "^4.0.21",
+ "@inquirer/rawlist": "^4.1.9",
+ "@inquirer/search": "^3.2.0",
+ "@inquirer/select": "^4.4.0"
},
"engines": {
- "node": ">=22.12.0"
- }
- },
- "node_modules/@electron/rebuild/node_modules/tar": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
- "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^5.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
+ "node": ">=18"
},
- "engines": {
- "node": ">=10"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@emnapi/core": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.3.tgz",
- "integrity": "sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==",
- "devOptional": true,
+ "node_modules/@inquirer/rawlist": {
+ "version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.9.tgz",
+ "integrity": "sha512-AWpxB7MuJrRiSfTKGJ7Y68imYt8P9N3Gaa7ySdkFj1iWjr6WfbGAhdZvw/UnhFXTHITJzxGUI9k8IX7akAEBCg==",
"license": "MIT",
"dependencies": {
- "@emnapi/wasi-threads": "1.0.2",
- "tslib": "^2.4.0"
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/type": "^3.0.9",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@emnapi/runtime": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
- "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==",
- "devOptional": true,
+ "node_modules/@inquirer/search": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.0.tgz",
+ "integrity": "sha512-a5SzB/qrXafDX1Z4AZW3CsVoiNxcIYCzYP7r9RzrfMpaLpB+yWi5U8BWagZyLmwR0pKbbL5umnGRd0RzGVI8bQ==",
"license": "MIT",
"dependencies": {
- "tslib": "^2.4.0"
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/figures": "^1.0.14",
+ "@inquirer/type": "^3.0.9",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@emnapi/wasi-threads": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.2.tgz",
- "integrity": "sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==",
- "devOptional": true,
+ "node_modules/@inquirer/select": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.0.tgz",
+ "integrity": "sha512-kaC3FHsJZvVyIjYBs5Ih8y8Bj4P/QItQWrZW22WJax7zTN+ZPXVGuOM55vzbdCP9zKUiBd9iEJVdesujfF+cAA==",
"license": "MIT",
"dependencies": {
- "tslib": "^2.4.0"
+ "@inquirer/ansi": "^1.0.1",
+ "@inquirer/core": "^10.3.0",
+ "@inquirer/figures": "^1.0.14",
+ "@inquirer/type": "^3.0.9",
+ "yoctocolors-cjs": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@eslint-community/eslint-utils": {
- "version": "4.9.0",
- "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz",
- "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==",
+ "node_modules/@inquirer/testing": {
+ "version": "2.1.51",
+ "resolved": "https://registry.npmjs.org/@inquirer/testing/-/testing-2.1.51.tgz",
+ "integrity": "sha512-ZY1mp+AAxhwdJ+IzioKTPgxyqHWLGYZpOzQ3nkHJ8CMp+vpRtI5k94fktBbIXCsjNtOEm8SMttgLPKEK9si2nQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "eslint-visitor-keys": "^3.4.3"
+ "@inquirer/type": "^3.0.9",
+ "mute-stream": "^2.0.0"
},
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "node": ">=18"
},
"peerDependencies": {
- "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
- "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
- "dev": true,
- "license": "Apache-2.0",
+ "node_modules/@inquirer/type": {
+ "version": "3.0.9",
+ "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.9.tgz",
+ "integrity": "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w==",
+ "license": "MIT",
"engines": {
- "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ "node": ">=18"
},
- "funding": {
- "url": "https://opencollective.com/eslint"
+ "peerDependencies": {
+ "@types/node": ">=18"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ }
}
},
- "node_modules/@eslint-community/regexpp": {
- "version": "4.12.1",
- "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz",
- "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==",
+ "node_modules/@isaacs/balanced-match": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
+ "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
"dev": true,
"license": "MIT",
"engines": {
- "node": "^12.0.0 || ^14.0.0 || >=16.0.0"
+ "node": "20 || >=22"
}
},
- "node_modules/@eslint/config-array": {
- "version": "0.19.2",
- "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.2.tgz",
- "integrity": "sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==",
+ "node_modules/@isaacs/brace-expansion": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
+ "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"dependencies": {
- "@eslint/object-schema": "^2.1.6",
- "debug": "^4.3.1",
- "minimatch": "^3.1.2"
+ "@isaacs/balanced-match": "^4.0.1"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/config-array/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "node": "20 || >=22"
}
},
- "node_modules/@eslint/config-array/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
+ "node_modules/@isaacs/cliui": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
+ "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
"license": "ISC",
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "string-width": "^5.1.2",
+ "string-width-cjs": "npm:string-width@^4.2.0",
+ "strip-ansi": "^7.0.1",
+ "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
+ "wrap-ansi": "^8.1.0",
+ "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
},
"engines": {
- "node": "*"
+ "node": ">=12"
}
},
- "node_modules/@eslint/core": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.11.0.tgz",
- "integrity": "sha512-DWUB2pksgNEb6Bz2fggIy1wh6fGgZP4Xyy/Mt0QZPiloKKXerbqq9D3SBQTlCRYOrcRPu4vuz+CGjwdfqxnoWA==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@types/json-schema": "^7.0.15"
- },
+ "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
+ "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "license": "MIT",
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
- },
- "node_modules/@eslint/eslintrc": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz",
- "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^6.12.4",
- "debug": "^4.3.2",
- "espree": "^10.0.1",
- "globals": "^14.0.0",
- "ignore": "^5.2.0",
- "import-fresh": "^3.2.1",
- "js-yaml": "^4.1.0",
- "minimatch": "^3.1.2",
- "strip-json-comments": "^3.1.1"
+ "node": ">=12"
},
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
+ "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
+ "license": "MIT",
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": ">=12"
},
"funding": {
- "url": "https://opencollective.com/eslint"
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/@eslint/eslintrc/node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
+ "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
+ "version": "9.2.2",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
+ "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
+ "license": "MIT"
+ },
+ "node_modules/@isaacs/cliui/node_modules/string-width": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
+ "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
+ "eastasianwidth": "^0.2.0",
+ "emoji-regex": "^9.2.2",
+ "strip-ansi": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=12"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@eslint/eslintrc/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
- "dev": true,
+ "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
+ "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
"license": "MIT",
"dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
}
},
- "node_modules/@eslint/eslintrc/node_modules/globals": {
- "version": "14.0.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz",
- "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==",
- "dev": true,
+ "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
+ "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
"license": "MIT",
+ "dependencies": {
+ "ansi-styles": "^6.1.0",
+ "string-width": "^5.0.1",
+ "strip-ansi": "^7.0.1"
+ },
"engines": {
- "node": ">=18"
+ "node": ">=12"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@eslint/eslintrc/node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
+ "node_modules/@isaacs/fs-minipass": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
+ "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
"license": "ISC",
"dependencies": {
- "brace-expansion": "^1.1.7"
+ "minipass": "^7.0.4"
},
"engines": {
- "node": "*"
+ "node": ">=18.0.0"
}
},
- "node_modules/@eslint/js": {
- "version": "9.39.1",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz",
- "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==",
- "dev": true,
- "license": "MIT",
+ "node_modules/@isaacs/fs-minipass/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "license": "ISC",
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- },
- "funding": {
- "url": "https://eslint.org/donate"
+ "node": ">=16 || 14 >=14.17"
}
},
- "node_modules/@eslint/object-schema": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
- "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
+ "node_modules/@isaacs/string-locale-compare": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz",
+ "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==",
"dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
- }
+ "license": "ISC"
},
- "node_modules/@eslint/plugin-kit": {
- "version": "0.2.6",
- "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.6.tgz",
- "integrity": "sha512-+0TjwR1eAUdZtvv/ir1mGX+v0tUoR3VEPB8Up0LLJC+whRW0GgBBtpbOkg/a/U4Dxa6l5a3l9AJ1aWIQVyoWJA==",
- "dev": true,
- "license": "Apache-2.0",
+ "node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+ "license": "ISC",
"dependencies": {
- "@eslint/core": "^0.11.0",
- "levn": "^0.4.1"
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
},
"engines": {
- "node": "^18.18.0 || ^20.9.0 || >=21.1.0"
+ "node": ">=8"
}
},
- "node_modules/@gar/promisify": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz",
- "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"license": "MIT",
- "optional": true
- },
- "node_modules/@humanfs/core": {
- "version": "0.19.1",
- "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz",
- "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18.0"
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
}
},
- "node_modules/@humanfs/node": {
- "version": "0.16.6",
- "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz",
- "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==",
- "dev": true,
- "license": "Apache-2.0",
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "license": "MIT",
"dependencies": {
- "@humanfs/core": "^0.19.1",
- "@humanwhocodes/retry": "^0.3.0"
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
},
"engines": {
- "node": ">=18.18.0"
+ "node": ">=8"
}
},
- "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": {
- "version": "0.3.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz",
- "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=18.18"
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
+ "version": "3.14.2",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
+ "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
+ "license": "MIT",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/@humanwhocodes/module-importer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
- "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=12.22"
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "license": "MIT",
+ "dependencies": {
+ "p-locate": "^4.1.0"
},
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
- }
- },
- "node_modules/@humanwhocodes/retry": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz",
- "integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==",
- "dev": true,
- "license": "Apache-2.0",
"engines": {
- "node": ">=18.18"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/nzakas"
+ "node": ">=8"
}
},
- "node_modules/@hutson/parse-repository-url": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/@hutson/parse-repository-url/-/parse-repository-url-3.0.2.tgz",
- "integrity": "sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==",
- "dev": true,
- "license": "Apache-2.0",
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "license": "MIT",
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
"engines": {
- "node": ">=6.9.0"
+ "node": ">=8"
}
},
- "node_modules/@inquirer/ansi": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@inquirer/ansi/-/ansi-1.0.1.tgz",
- "integrity": "sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw==",
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"license": "MIT",
"engines": {
- "node": ">=18"
+ "node": ">=8"
}
},
- "node_modules/@inquirer/checkbox": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.3.0.tgz",
- "integrity": "sha512-5+Q3PKH35YsnoPTh75LucALdAxom6xh5D1oeY561x4cqBuH24ZFVyFREPe14xgnrtmGu3EEt1dIi60wRVSnGCw==",
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "license": "BSD-3-Clause"
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
"license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.1",
- "@inquirer/core": "^10.3.0",
- "@inquirer/figures": "^1.0.14",
- "@inquirer/type": "^3.0.9",
- "yoctocolors-cjs": "^2.1.2"
- },
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": ">=8"
}
},
- "node_modules/@inquirer/confirm": {
- "version": "5.1.19",
- "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.19.tgz",
- "integrity": "sha512-wQNz9cfcxrtEnUyG5PndC8g3gZ7lGDBzmWiXZkX8ot3vfZ+/BLjR8EvyGX4YzQLeVqtAlY/YScZpW7CW8qMoDQ==",
+ "node_modules/@jest/console": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.2.0.tgz",
+ "integrity": "sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==",
"license": "MIT",
"dependencies": {
- "@inquirer/core": "^10.3.0",
- "@inquirer/type": "^3.0.9"
+ "@jest/types": "30.2.0",
+ "@types/node": "*",
+ "chalk": "^4.1.2",
+ "jest-message-util": "30.2.0",
+ "jest-util": "30.2.0",
+ "slash": "^3.0.0"
},
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/core": {
- "version": "10.3.0",
- "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.3.0.tgz",
- "integrity": "sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA==",
+ "node_modules/@jest/core": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.2.0.tgz",
+ "integrity": "sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==",
"license": "MIT",
"dependencies": {
- "@inquirer/ansi": "^1.0.1",
- "@inquirer/figures": "^1.0.14",
- "@inquirer/type": "^3.0.9",
- "cli-width": "^4.1.0",
- "mute-stream": "^2.0.0",
- "signal-exit": "^4.1.0",
- "wrap-ansi": "^6.2.0",
- "yoctocolors-cjs": "^2.1.2"
+ "@jest/console": "30.2.0",
+ "@jest/pattern": "30.0.1",
+ "@jest/reporters": "30.2.0",
+ "@jest/test-result": "30.2.0",
+ "@jest/transform": "30.2.0",
+ "@jest/types": "30.2.0",
+ "@types/node": "*",
+ "ansi-escapes": "^4.3.2",
+ "chalk": "^4.1.2",
+ "ci-info": "^4.2.0",
+ "exit-x": "^0.2.2",
+ "graceful-fs": "^4.2.11",
+ "jest-changed-files": "30.2.0",
+ "jest-config": "30.2.0",
+ "jest-haste-map": "30.2.0",
+ "jest-message-util": "30.2.0",
+ "jest-regex-util": "30.0.1",
+ "jest-resolve": "30.2.0",
+ "jest-resolve-dependencies": "30.2.0",
+ "jest-runner": "30.2.0",
+ "jest-runtime": "30.2.0",
+ "jest-snapshot": "30.2.0",
+ "jest-util": "30.2.0",
+ "jest-validate": "30.2.0",
+ "jest-watcher": "30.2.0",
+ "micromatch": "^4.0.8",
+ "pretty-format": "30.2.0",
+ "slash": "^3.0.0"
},
"engines": {
- "node": ">=18"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
},
"peerDependencies": {
- "@types/node": ">=18"
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
},
"peerDependenciesMeta": {
- "@types/node": {
+ "node-notifier": {
"optional": true
}
}
},
- "node_modules/@inquirer/editor": {
- "version": "4.2.21",
- "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.21.tgz",
- "integrity": "sha512-MjtjOGjr0Kh4BciaFShYpZ1s9400idOdvQ5D7u7lE6VztPFoyLcVNE5dXBmEEIQq5zi4B9h2kU+q7AVBxJMAkQ==",
+ "node_modules/@jest/core/node_modules/ci-info": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz",
+ "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.0",
- "@inquirer/external-editor": "^1.0.2",
- "@inquirer/type": "^3.0.9"
- },
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": ">=8"
}
},
- "node_modules/@inquirer/expand": {
- "version": "4.0.21",
- "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.21.tgz",
- "integrity": "sha512-+mScLhIcbPFmuvU3tAGBed78XvYHSvCl6dBiYMlzCLhpr0bzGzd8tfivMMeqND6XZiaZ1tgusbUHJEfc6YzOdA==",
+ "node_modules/@jest/diff-sequences": {
+ "version": "30.0.1",
+ "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
+ "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.0",
- "@inquirer/type": "^3.0.9",
- "yoctocolors-cjs": "^2.1.2"
- },
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/external-editor": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.2.tgz",
- "integrity": "sha512-yy9cOoBnx58TlsPrIxauKIFQTiyH+0MK4e97y4sV9ERbI+zDxw7i2hxHLCIEGIE/8PPvDxGhgzIOTSOWcs6/MQ==",
+ "node_modules/@jest/environment": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.2.0.tgz",
+ "integrity": "sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==",
"license": "MIT",
"dependencies": {
- "chardet": "^2.1.0",
- "iconv-lite": "^0.7.0"
+ "@jest/fake-timers": "30.2.0",
+ "@jest/types": "30.2.0",
+ "@types/node": "*",
+ "jest-mock": "30.2.0"
},
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/external-editor/node_modules/iconv-lite": {
- "version": "0.7.0",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.0.tgz",
- "integrity": "sha512-cf6L2Ds3h57VVmkZe+Pn+5APsT7FpqJtEhhieDCvrE2MK5Qk9MyffgQyuxQTm6BChfeZNtcOLHp9IcWRVcIcBQ==",
+ "node_modules/@jest/expect": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.2.0.tgz",
+ "integrity": "sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==",
"license": "MIT",
"dependencies": {
- "safer-buffer": ">= 2.1.2 < 3.0.0"
+ "expect": "30.2.0",
+ "jest-snapshot": "30.2.0"
},
"engines": {
- "node": ">=0.10.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/express"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/figures": {
- "version": "1.0.14",
- "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.14.tgz",
- "integrity": "sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==",
+ "node_modules/@jest/expect-utils": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.2.0.tgz",
+ "integrity": "sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==",
"license": "MIT",
+ "dependencies": {
+ "@jest/get-type": "30.1.0"
+ },
"engines": {
- "node": ">=18"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/input": {
- "version": "4.2.5",
- "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.5.tgz",
- "integrity": "sha512-7GoWev7P6s7t0oJbenH0eQ0ThNdDJbEAEtVt9vsrYZ9FulIokvd823yLyhQlWHJPGce1wzP53ttfdCZmonMHyA==",
+ "node_modules/@jest/fake-timers": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.2.0.tgz",
+ "integrity": "sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==",
"license": "MIT",
"dependencies": {
- "@inquirer/core": "^10.3.0",
- "@inquirer/type": "^3.0.9"
+ "@jest/types": "30.2.0",
+ "@sinonjs/fake-timers": "^13.0.0",
+ "@types/node": "*",
+ "jest-message-util": "30.2.0",
+ "jest-mock": "30.2.0",
+ "jest-util": "30.2.0"
},
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/number": {
- "version": "3.0.21",
- "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.21.tgz",
- "integrity": "sha512-5QWs0KGaNMlhbdhOSCFfKsW+/dcAVC2g4wT/z2MCiZM47uLgatC5N20kpkDQf7dHx+XFct/MJvvNGy6aYJn4Pw==",
+ "node_modules/@jest/get-type": {
+ "version": "30.1.0",
+ "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz",
+ "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==",
"license": "MIT",
- "dependencies": {
- "@inquirer/core": "^10.3.0",
- "@inquirer/type": "^3.0.9"
- },
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/password": {
- "version": "4.0.21",
- "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.21.tgz",
- "integrity": "sha512-xxeW1V5SbNFNig2pLfetsDb0svWlKuhmr7MPJZMYuDnCTkpVBI+X/doudg4pznc1/U+yYmWFFOi4hNvGgUo7EA==",
+ "node_modules/@jest/globals": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.2.0.tgz",
+ "integrity": "sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==",
"license": "MIT",
"dependencies": {
- "@inquirer/ansi": "^1.0.1",
- "@inquirer/core": "^10.3.0",
- "@inquirer/type": "^3.0.9"
+ "@jest/environment": "30.2.0",
+ "@jest/expect": "30.2.0",
+ "@jest/types": "30.2.0",
+ "jest-mock": "30.2.0"
},
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/prompts": {
- "version": "7.9.0",
- "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.9.0.tgz",
- "integrity": "sha512-X7/+dG9SLpSzRkwgG5/xiIzW0oMrV3C0HOa7YHG1WnrLK+vCQHfte4k/T80059YBdei29RBC3s+pSMvPJDU9/A==",
+ "node_modules/@jest/pattern": {
+ "version": "30.0.1",
+ "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz",
+ "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==",
"license": "MIT",
"dependencies": {
- "@inquirer/checkbox": "^4.3.0",
- "@inquirer/confirm": "^5.1.19",
- "@inquirer/editor": "^4.2.21",
- "@inquirer/expand": "^4.0.21",
- "@inquirer/input": "^4.2.5",
- "@inquirer/number": "^3.0.21",
- "@inquirer/password": "^4.0.21",
- "@inquirer/rawlist": "^4.1.9",
- "@inquirer/search": "^3.2.0",
- "@inquirer/select": "^4.4.0"
+ "@types/node": "*",
+ "jest-regex-util": "30.0.1"
},
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/rawlist": {
- "version": "4.1.9",
- "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.9.tgz",
- "integrity": "sha512-AWpxB7MuJrRiSfTKGJ7Y68imYt8P9N3Gaa7ySdkFj1iWjr6WfbGAhdZvw/UnhFXTHITJzxGUI9k8IX7akAEBCg==",
+ "node_modules/@jest/reporters": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.2.0.tgz",
+ "integrity": "sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==",
"license": "MIT",
"dependencies": {
- "@inquirer/core": "^10.3.0",
- "@inquirer/type": "^3.0.9",
- "yoctocolors-cjs": "^2.1.2"
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "30.2.0",
+ "@jest/test-result": "30.2.0",
+ "@jest/transform": "30.2.0",
+ "@jest/types": "30.2.0",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "@types/node": "*",
+ "chalk": "^4.1.2",
+ "collect-v8-coverage": "^1.0.2",
+ "exit-x": "^0.2.2",
+ "glob": "^10.3.10",
+ "graceful-fs": "^4.2.11",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^6.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^5.0.0",
+ "istanbul-reports": "^3.1.3",
+ "jest-message-util": "30.2.0",
+ "jest-util": "30.2.0",
+ "jest-worker": "30.2.0",
+ "slash": "^3.0.0",
+ "string-length": "^4.0.2",
+ "v8-to-istanbul": "^9.0.1"
},
"engines": {
- "node": ">=18"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
},
"peerDependencies": {
- "@types/node": ">=18"
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
},
"peerDependenciesMeta": {
- "@types/node": {
+ "node-notifier": {
"optional": true
}
}
},
- "node_modules/@inquirer/search": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.2.0.tgz",
- "integrity": "sha512-a5SzB/qrXafDX1Z4AZW3CsVoiNxcIYCzYP7r9RzrfMpaLpB+yWi5U8BWagZyLmwR0pKbbL5umnGRd0RzGVI8bQ==",
- "license": "MIT",
+ "node_modules/@jest/reporters/node_modules/glob": {
+ "version": "10.4.5",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
+ "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
+ "license": "ISC",
"dependencies": {
- "@inquirer/core": "^10.3.0",
- "@inquirer/figures": "^1.0.14",
- "@inquirer/type": "^3.0.9",
- "yoctocolors-cjs": "^2.1.2"
- },
- "engines": {
- "node": ">=18"
+ "foreground-child": "^3.1.0",
+ "jackspeak": "^3.1.2",
+ "minimatch": "^9.0.4",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^1.11.1"
},
- "peerDependencies": {
- "@types/node": ">=18"
+ "bin": {
+ "glob": "dist/esm/bin.mjs"
},
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@inquirer/select": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.4.0.tgz",
- "integrity": "sha512-kaC3FHsJZvVyIjYBs5Ih8y8Bj4P/QItQWrZW22WJax7zTN+ZPXVGuOM55vzbdCP9zKUiBd9iEJVdesujfF+cAA==",
- "license": "MIT",
- "dependencies": {
- "@inquirer/ansi": "^1.0.1",
- "@inquirer/core": "^10.3.0",
- "@inquirer/figures": "^1.0.14",
- "@inquirer/type": "^3.0.9",
- "yoctocolors-cjs": "^2.1.2"
- },
+ "node_modules/@jest/reporters/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "license": "ISC",
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": ">=16 || 14 >=14.17"
}
},
- "node_modules/@inquirer/testing": {
- "version": "2.1.51",
- "resolved": "https://registry.npmjs.org/@inquirer/testing/-/testing-2.1.51.tgz",
- "integrity": "sha512-ZY1mp+AAxhwdJ+IzioKTPgxyqHWLGYZpOzQ3nkHJ8CMp+vpRtI5k94fktBbIXCsjNtOEm8SMttgLPKEK9si2nQ==",
- "dev": true,
+ "node_modules/@jest/schemas": {
+ "version": "30.0.5",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz",
+ "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==",
"license": "MIT",
"dependencies": {
- "@inquirer/type": "^3.0.9",
- "mute-stream": "^2.0.0"
+ "@sinclair/typebox": "^0.34.0"
},
"engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
- },
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@inquirer/type": {
- "version": "3.0.9",
- "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.9.tgz",
- "integrity": "sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w==",
+ "node_modules/@jest/snapshot-utils": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.2.0.tgz",
+ "integrity": "sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==",
"license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "peerDependencies": {
- "@types/node": ">=18"
+ "dependencies": {
+ "@jest/types": "30.2.0",
+ "chalk": "^4.1.2",
+ "graceful-fs": "^4.2.11",
+ "natural-compare": "^1.4.0"
},
- "peerDependenciesMeta": {
- "@types/node": {
- "optional": true
- }
- }
- },
- "node_modules/@isaacs/balanced-match": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz",
- "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==",
- "dev": true,
- "license": "MIT",
"engines": {
- "node": "20 || >=22"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@isaacs/brace-expansion": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz",
- "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==",
- "dev": true,
+ "node_modules/@jest/source-map": {
+ "version": "30.0.1",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz",
+ "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==",
"license": "MIT",
"dependencies": {
- "@isaacs/balanced-match": "^4.0.1"
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "callsites": "^3.1.0",
+ "graceful-fs": "^4.2.11"
},
"engines": {
- "node": "20 || >=22"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@isaacs/cliui": {
- "version": "8.0.2",
- "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz",
- "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==",
- "license": "ISC",
+ "node_modules/@jest/test-result": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.2.0.tgz",
+ "integrity": "sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==",
+ "license": "MIT",
"dependencies": {
- "string-width": "^5.1.2",
- "string-width-cjs": "npm:string-width@^4.2.0",
- "strip-ansi": "^7.0.1",
- "strip-ansi-cjs": "npm:strip-ansi@^6.0.1",
- "wrap-ansi": "^8.1.0",
- "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0"
+ "@jest/console": "30.2.0",
+ "@jest/types": "30.2.0",
+ "@types/istanbul-lib-coverage": "^2.0.6",
+ "collect-v8-coverage": "^1.0.2"
},
"engines": {
- "node": ">=12"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@isaacs/cliui/node_modules/ansi-regex": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz",
- "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==",
+ "node_modules/@jest/test-sequencer": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.2.0.tgz",
+ "integrity": "sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==",
"license": "MIT",
- "engines": {
- "node": ">=12"
+ "dependencies": {
+ "@jest/test-result": "30.2.0",
+ "graceful-fs": "^4.2.11",
+ "jest-haste-map": "30.2.0",
+ "slash": "^3.0.0"
},
- "funding": {
- "url": "https://github.com/chalk/ansi-regex?sponsor=1"
- }
- },
- "node_modules/@isaacs/cliui/node_modules/ansi-styles": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz",
- "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==",
- "license": "MIT",
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@isaacs/cliui/node_modules/emoji-regex": {
- "version": "9.2.2",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz",
- "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==",
- "license": "MIT"
- },
- "node_modules/@isaacs/cliui/node_modules/string-width": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz",
- "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==",
+ "node_modules/@jest/transform": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz",
+ "integrity": "sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==",
"license": "MIT",
"dependencies": {
- "eastasianwidth": "^0.2.0",
- "emoji-regex": "^9.2.2",
- "strip-ansi": "^7.0.1"
+ "@babel/core": "^7.27.4",
+ "@jest/types": "30.2.0",
+ "@jridgewell/trace-mapping": "^0.3.25",
+ "babel-plugin-istanbul": "^7.0.1",
+ "chalk": "^4.1.2",
+ "convert-source-map": "^2.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "graceful-fs": "^4.2.11",
+ "jest-haste-map": "30.2.0",
+ "jest-regex-util": "30.0.1",
+ "jest-util": "30.2.0",
+ "micromatch": "^4.0.8",
+ "pirates": "^4.0.7",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^5.0.1"
},
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@isaacs/cliui/node_modules/strip-ansi": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz",
- "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==",
+ "node_modules/@jest/types": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz",
+ "integrity": "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==",
"license": "MIT",
"dependencies": {
- "ansi-regex": "^6.0.1"
+ "@jest/pattern": "30.0.1",
+ "@jest/schemas": "30.0.5",
+ "@types/istanbul-lib-coverage": "^2.0.6",
+ "@types/istanbul-reports": "^3.0.4",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.33",
+ "chalk": "^4.1.2"
},
"engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
- "node_modules/@isaacs/cliui/node_modules/wrap-ansi": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz",
- "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==",
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.12",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
+ "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
"license": "MIT",
"dependencies": {
- "ansi-styles": "^6.1.0",
- "string-width": "^5.0.1",
- "strip-ansi": "^7.0.1"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@isaacs/fs-minipass": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz",
- "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==",
- "license": "ISC",
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "license": "MIT",
"dependencies": {
- "minipass": "^7.0.4"
- },
- "engines": {
- "node": ">=18.0.0"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@isaacs/fs-minipass/node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "license": "ISC",
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "license": "MIT",
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": ">=6.0.0"
}
},
- "node_modules/@isaacs/string-locale-compare": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz",
- "integrity": "sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==",
+ "node_modules/@jridgewell/source-map": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"dev": true,
- "license": "ISC"
- },
- "node_modules/@istanbuljs/load-nyc-config": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
- "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
- "license": "ISC",
- "dependencies": {
- "camelcase": "^5.3.1",
- "find-up": "^4.1.0",
- "get-package-type": "^0.1.0",
- "js-yaml": "^3.13.1",
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/argparse": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
- "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"license": "MIT",
"dependencies": {
- "sprintf-js": "~1.0.2"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
}
},
- "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "license": "MIT",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+ "license": "MIT"
},
- "node_modules/@istanbuljs/load-nyc-config/node_modules/js-yaml": {
- "version": "3.14.2",
- "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz",
- "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==",
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.29",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
+ "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
"license": "MIT",
"dependencies": {
- "argparse": "^1.0.7",
- "esprima": "^4.0.0"
- },
- "bin": {
- "js-yaml": "bin/js-yaml.js"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "node_modules/@js-sdsl/ordered-map": {
+ "version": "4.4.2",
+ "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz",
+ "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==",
"license": "MIT",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/js-sdsl"
}
},
- "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "node_modules/@lerna/create": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/@lerna/create/-/create-9.0.1.tgz",
+ "integrity": "sha512-xkZhQ+d7IsLzL5+1G+rKtH3b9aKRyBQ9yaz1VwPTfkD2nUAyaco97BRN9YRJgJrSHY/SI265RaD1D2rt00Jjkg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@istanbuljs/load-nyc-config/node_modules/sprintf-js": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
- "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
- "license": "BSD-3-Clause"
- },
- "node_modules/@istanbuljs/schema": {
- "version": "0.1.3",
- "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
- "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
- "license": "MIT",
+ "@npmcli/arborist": "9.1.6",
+ "@npmcli/package-json": "7.0.2",
+ "@npmcli/run-script": "10.0.2",
+ "@nx/devkit": ">=21.5.2 < 23.0.0",
+ "@octokit/plugin-enterprise-rest": "6.0.1",
+ "@octokit/rest": "20.1.2",
+ "aproba": "2.0.0",
+ "byte-size": "8.1.1",
+ "chalk": "4.1.0",
+ "cmd-shim": "6.0.3",
+ "color-support": "1.1.3",
+ "columnify": "1.6.0",
+ "console-control-strings": "^1.1.0",
+ "conventional-changelog-core": "5.0.1",
+ "conventional-recommended-bump": "7.0.1",
+ "cosmiconfig": "9.0.0",
+ "dedent": "1.5.3",
+ "execa": "5.0.0",
+ "fs-extra": "^11.2.0",
+ "get-stream": "6.0.0",
+ "git-url-parse": "14.0.0",
+ "glob-parent": "6.0.2",
+ "has-unicode": "2.0.1",
+ "ini": "^1.3.8",
+ "init-package-json": "8.2.2",
+ "inquirer": "12.9.6",
+ "is-ci": "3.0.1",
+ "is-stream": "2.0.0",
+ "js-yaml": "4.1.0",
+ "libnpmpublish": "11.1.2",
+ "load-json-file": "6.2.0",
+ "make-dir": "4.0.0",
+ "make-fetch-happen": "15.0.2",
+ "minimatch": "3.0.5",
+ "multimatch": "5.0.0",
+ "npm-package-arg": "13.0.1",
+ "npm-packlist": "10.0.3",
+ "npm-registry-fetch": "19.1.0",
+ "nx": ">=21.5.3 < 23.0.0",
+ "p-map": "4.0.0",
+ "p-map-series": "2.1.0",
+ "p-queue": "6.6.2",
+ "p-reduce": "^2.1.0",
+ "pacote": "21.0.1",
+ "pify": "5.0.0",
+ "read-cmd-shim": "4.0.0",
+ "resolve-from": "5.0.0",
+ "rimraf": "^4.4.1",
+ "semver": "7.7.2",
+ "set-blocking": "^2.0.0",
+ "signal-exit": "3.0.7",
+ "slash": "^3.0.0",
+ "ssri": "12.0.0",
+ "string-width": "^4.2.3",
+ "tar": "6.2.1",
+ "temp-dir": "1.0.0",
+ "through": "2.3.8",
+ "tinyglobby": "0.2.12",
+ "upath": "2.0.1",
+ "uuid": "^11.1.0",
+ "validate-npm-package-license": "3.0.4",
+ "validate-npm-package-name": "6.0.2",
+ "wide-align": "1.1.5",
+ "write-file-atomic": "5.0.1",
+ "write-pkg": "4.0.0",
+ "yargs": "17.7.2",
+ "yargs-parser": "21.1.1"
+ },
"engines": {
- "node": ">=8"
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
}
},
- "node_modules/@jest/console": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/console/-/console-30.2.0.tgz",
- "integrity": "sha512-+O1ifRjkvYIkBqASKWgLxrpEhQAAE7hY77ALLUufSk5717KfOShg6IbqLmdsLMPdUiFvA2kTs0R7YZy+l0IzZQ==",
+ "node_modules/@lerna/create/node_modules/brace-expansion": {
+ "version": "1.1.12",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jest/types": "30.2.0",
- "@types/node": "*",
- "chalk": "^4.1.2",
- "jest-message-util": "30.2.0",
- "jest-util": "30.2.0",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
}
},
- "node_modules/@jest/core": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/core/-/core-30.2.0.tgz",
- "integrity": "sha512-03W6IhuhjqTlpzh/ojut/pDB2LPRygyWX8ExpgHtQA8H/3K7+1vKmcINx5UzeOX1se6YEsBsOHQ1CRzf3fOwTQ==",
+ "node_modules/@lerna/create/node_modules/chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jest/console": "30.2.0",
- "@jest/pattern": "30.0.1",
- "@jest/reporters": "30.2.0",
- "@jest/test-result": "30.2.0",
- "@jest/transform": "30.2.0",
- "@jest/types": "30.2.0",
- "@types/node": "*",
- "ansi-escapes": "^4.3.2",
- "chalk": "^4.1.2",
- "ci-info": "^4.2.0",
- "exit-x": "^0.2.2",
- "graceful-fs": "^4.2.11",
- "jest-changed-files": "30.2.0",
- "jest-config": "30.2.0",
- "jest-haste-map": "30.2.0",
- "jest-message-util": "30.2.0",
- "jest-regex-util": "30.0.1",
- "jest-resolve": "30.2.0",
- "jest-resolve-dependencies": "30.2.0",
- "jest-runner": "30.2.0",
- "jest-runtime": "30.2.0",
- "jest-snapshot": "30.2.0",
- "jest-util": "30.2.0",
- "jest-validate": "30.2.0",
- "jest-watcher": "30.2.0",
- "micromatch": "^4.0.8",
- "pretty-format": "30.2.0",
- "slash": "^3.0.0"
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ "node": ">=10"
},
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/@jest/core/node_modules/ci-info": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.0.tgz",
- "integrity": "sha512-l+2bNRMiQgcfILUi33labAZYIWlH1kWDp+ecNo5iisRKrbm0xcRyCww71/YU0Fkw0mAFpz9bJayXPjey6vkmaQ==",
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/sibiraj-s"
- }
- ],
+ "node_modules/@lerna/create/node_modules/execa": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
+ "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==",
+ "dev": true,
"license": "MIT",
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
"engines": {
- "node": ">=8"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
}
},
- "node_modules/@jest/diff-sequences": {
- "version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/diff-sequences/-/diff-sequences-30.0.1.tgz",
- "integrity": "sha512-n5H8QLDJ47QqbCNn5SuFjCRDrOLEZ0h8vAHCK5RL9Ls7Xa8AQLa/YxAc9UjFqoEDM48muwtBGjtMY5cr0PLDCw==",
- "license": "MIT",
+ "node_modules/@lerna/create/node_modules/fs-minipass": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
+ "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^3.0.0"
+ },
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">= 8"
}
},
- "node_modules/@jest/environment": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-30.2.0.tgz",
- "integrity": "sha512-/QPTL7OBJQ5ac09UDRa3EQes4gt1FTEG/8jZ/4v5IVzx+Cv7dLxlVIvfvSVRiiX2drWyXeBjkMSR8hvOWSog5g==",
- "license": "MIT",
+ "node_modules/@lerna/create/node_modules/fs-minipass/node_modules/minipass": {
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
+ "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "@jest/fake-timers": "30.2.0",
- "@jest/types": "30.2.0",
- "@types/node": "*",
- "jest-mock": "30.2.0"
+ "yallist": "^4.0.0"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=8"
}
},
- "node_modules/@jest/expect": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-30.2.0.tgz",
- "integrity": "sha512-V9yxQK5erfzx99Sf+7LbhBwNWEZ9eZay8qQ9+JSC0TrMR1pMDHLMY+BnVPacWU6Jamrh252/IKo4F1Xn/zfiqA==",
+ "node_modules/@lerna/create/node_modules/get-stream": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz",
+ "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "expect": "30.2.0",
- "jest-snapshot": "30.2.0"
- },
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@jest/expect-utils": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-30.2.0.tgz",
- "integrity": "sha512-1JnRfhqpD8HGpOmQp180Fo9Zt69zNtC+9lR+kT7NVL05tNXIi+QC8Csz7lfidMoVLPD3FnOtcmp0CEFnxExGEA==",
+ "node_modules/@lerna/create/node_modules/is-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
+ "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "dev": true,
"license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@lerna/create/node_modules/minimatch": {
+ "version": "3.0.5",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
+ "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "@jest/get-type": "30.1.0"
+ "brace-expansion": "^1.1.7"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": "*"
}
},
- "node_modules/@jest/fake-timers": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-30.2.0.tgz",
- "integrity": "sha512-HI3tRLjRxAbBy0VO8dqqm7Hb2mIa8d5bg/NJkyQcOk7V118ObQML8RC5luTF/Zsg4474a+gDvhce7eTnP4GhYw==",
- "license": "MIT",
- "dependencies": {
- "@jest/types": "30.2.0",
- "@sinonjs/fake-timers": "^13.0.0",
- "@types/node": "*",
- "jest-message-util": "30.2.0",
- "jest-mock": "30.2.0",
- "jest-util": "30.2.0"
- },
+ "node_modules/@lerna/create/node_modules/minipass": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
+ "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
+ "dev": true,
+ "license": "ISC",
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=8"
}
},
- "node_modules/@jest/get-type": {
- "version": "30.1.0",
- "resolved": "https://registry.npmjs.org/@jest/get-type/-/get-type-30.1.0.tgz",
- "integrity": "sha512-eMbZE2hUnx1WV0pmURZY9XoXPkUYjpc55mb0CrhtdWLtzMQPFvu/rZkTLZFTsdaVQa+Tr4eWAteqcUzoawq/uA==",
+ "node_modules/@lerna/create/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
"license": "MIT",
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=8"
}
},
- "node_modules/@jest/globals": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-30.2.0.tgz",
- "integrity": "sha512-b63wmnKPaK+6ZZfpYhz9K61oybvbI1aMcIs80++JI1O1rR1vaxHUCNqo3ITu6NU0d4V34yZFoHMn/uoKr/Rwfw==",
- "license": "MIT",
- "dependencies": {
- "@jest/environment": "30.2.0",
- "@jest/expect": "30.2.0",
- "@jest/types": "30.2.0",
- "jest-mock": "30.2.0"
+ "node_modules/@lerna/create/node_modules/semver": {
+ "version": "7.7.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+ "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
+ "dev": true,
+ "license": "ISC",
+ "bin": {
+ "semver": "bin/semver.js"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=10"
}
},
- "node_modules/@jest/pattern": {
- "version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/pattern/-/pattern-30.0.1.tgz",
- "integrity": "sha512-gWp7NfQW27LaBQz3TITS8L7ZCQ0TLvtmI//4OwlQRx4rnWxcPNIYjxZpDcN4+UlGxgm3jS5QPz8IPTCkb59wZA==",
- "license": "MIT",
+ "node_modules/@lerna/create/node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/@lerna/create/node_modules/tar": {
+ "version": "6.2.1",
+ "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
+ "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "@types/node": "*",
- "jest-regex-util": "30.0.1"
+ "chownr": "^2.0.0",
+ "fs-minipass": "^2.0.0",
+ "minipass": "^5.0.0",
+ "minizlib": "^2.1.1",
+ "mkdirp": "^1.0.3",
+ "yallist": "^4.0.0"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=10"
}
},
- "node_modules/@jest/reporters": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-30.2.0.tgz",
- "integrity": "sha512-DRyW6baWPqKMa9CzeiBjHwjd8XeAyco2Vt8XbcLFjiwCOEKOvy82GJ8QQnJE9ofsxCMPjH4MfH8fCWIHHDKpAQ==",
+ "node_modules/@lerna/create/node_modules/tinyglobby": {
+ "version": "0.2.12",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz",
+ "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@bcoe/v8-coverage": "^0.2.3",
- "@jest/console": "30.2.0",
- "@jest/test-result": "30.2.0",
- "@jest/transform": "30.2.0",
- "@jest/types": "30.2.0",
- "@jridgewell/trace-mapping": "^0.3.25",
- "@types/node": "*",
- "chalk": "^4.1.2",
- "collect-v8-coverage": "^1.0.2",
- "exit-x": "^0.2.2",
- "glob": "^10.3.10",
- "graceful-fs": "^4.2.11",
- "istanbul-lib-coverage": "^3.0.0",
- "istanbul-lib-instrument": "^6.0.0",
- "istanbul-lib-report": "^3.0.0",
- "istanbul-lib-source-maps": "^5.0.0",
- "istanbul-reports": "^3.1.3",
- "jest-message-util": "30.2.0",
- "jest-util": "30.2.0",
- "jest-worker": "30.2.0",
- "slash": "^3.0.0",
- "string-length": "^4.0.2",
- "v8-to-istanbul": "^9.0.1"
+ "fdir": "^6.4.3",
+ "picomatch": "^4.0.2"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
- },
- "peerDependencies": {
- "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ "node": ">=12.0.0"
},
- "peerDependenciesMeta": {
- "node-notifier": {
- "optional": true
+ "funding": {
+ "url": "https://github.com/sponsors/SuperchupuDev"
+ }
+ },
+ "node_modules/@malept/cross-spawn-promise": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz",
+ "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/malept"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund"
}
+ ],
+ "license": "Apache-2.0",
+ "dependencies": {
+ "cross-spawn": "^7.0.1"
+ },
+ "engines": {
+ "node": ">= 12.13.0"
}
},
- "node_modules/@jest/reporters/node_modules/glob": {
- "version": "10.4.5",
- "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz",
- "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==",
- "license": "ISC",
+ "node_modules/@manypkg/cli": {
+ "version": "0.25.1",
+ "resolved": "https://registry.npmjs.org/@manypkg/cli/-/cli-0.25.1.tgz",
+ "integrity": "sha512-lag906FyiNxzZjsRErkUD5/to174I2JzPk5bZubuJp6loMKKJn73zrtqeU7nHlVkHBg3tgXDTJj22HxUDxLRXw==",
+ "dev": true,
+ "license": "MIT",
"dependencies": {
- "foreground-child": "^3.1.0",
- "jackspeak": "^3.1.2",
- "minimatch": "^9.0.4",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^1.11.1"
+ "@manypkg/get-packages": "^3.1.0",
+ "detect-indent": "^7.0.1",
+ "normalize-path": "^3.0.0",
+ "p-limit": "^6.2.0",
+ "package-json": "^10.0.1",
+ "parse-github-url": "^1.0.3",
+ "picocolors": "^1.1.1",
+ "sembear": "^0.7.0",
+ "semver": "^7.7.1",
+ "tinyexec": "^1.0.1",
+ "validate-npm-package-name": "^6.0.0"
},
"bin": {
- "glob": "dist/esm/bin.mjs"
+ "manypkg": "bin.js"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/@jest/reporters/node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
- "license": "ISC",
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": ">=20.0.0"
}
},
- "node_modules/@jest/schemas": {
- "version": "30.0.5",
- "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-30.0.5.tgz",
- "integrity": "sha512-DmdYgtezMkh3cpU8/1uyXakv3tJRcmcXxBOcO0tbaozPwpmh4YMsnWrQm9ZmZMfa5ocbxzbFk6O4bDPEc/iAnA==",
+ "node_modules/@manypkg/cli/node_modules/p-limit": {
+ "version": "6.2.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz",
+ "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@sinclair/typebox": "^0.34.0"
+ "yocto-queue": "^1.1.1"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@jest/snapshot-utils": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/snapshot-utils/-/snapshot-utils-30.2.0.tgz",
- "integrity": "sha512-0aVxM3RH6DaiLcjj/b0KrIBZhSX1373Xci4l3cW5xiUWPctZ59zQ7jj4rqcJQ/Z8JuN/4wX3FpJSa3RssVvCug==",
+ "node_modules/@manypkg/cli/node_modules/yocto-queue": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
+ "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jest/types": "30.2.0",
- "chalk": "^4.1.2",
- "graceful-fs": "^4.2.11",
- "natural-compare": "^1.4.0"
- },
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=12.20"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@jest/source-map": {
- "version": "30.0.1",
- "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-30.0.1.tgz",
- "integrity": "sha512-MIRWMUUR3sdbP36oyNyhbThLHyJ2eEDClPCiHVbrYAe5g3CHRArIVpBw7cdSB5fr+ofSfIb2Tnsw8iEHL0PYQg==",
+ "node_modules/@manypkg/find-root": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-3.1.0.tgz",
+ "integrity": "sha512-BcSqCyKhBVZ5YkSzOiheMCV41kqAFptW6xGqYSTjkVTl9XQpr+pqHhwgGCOHQtjDCv7Is6EFyA14Sm5GVbVABA==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jridgewell/trace-mapping": "^0.3.25",
- "callsites": "^3.1.0",
- "graceful-fs": "^4.2.11"
+ "@manypkg/tools": "^2.1.0"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=20.0.0"
}
},
- "node_modules/@jest/test-result": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-30.2.0.tgz",
- "integrity": "sha512-RF+Z+0CCHkARz5HT9mcQCBulb1wgCP3FBvl9VFokMX27acKphwyQsNuWH3c+ojd1LeWBLoTYoxF0zm6S/66mjg==",
+ "node_modules/@manypkg/get-packages": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-3.1.0.tgz",
+ "integrity": "sha512-0TbBVyvPrP7xGYBI/cP8UP+yl/z+HtbTttAD7FMAJgn/kXOTwh5/60TsqP9ZYY710forNfyV0N8P/IE/ujGZJg==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jest/console": "30.2.0",
- "@jest/types": "30.2.0",
- "@types/istanbul-lib-coverage": "^2.0.6",
- "collect-v8-coverage": "^1.0.2"
+ "@manypkg/find-root": "^3.1.0",
+ "@manypkg/tools": "^2.1.0"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=20.0.0"
}
},
- "node_modules/@jest/test-sequencer": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-30.2.0.tgz",
- "integrity": "sha512-wXKgU/lk8fKXMu/l5Hog1R61bL4q5GCdT6OJvdAFz1P+QrpoFuLU68eoKuVc4RbrTtNnTL5FByhWdLgOPSph+Q==",
+ "node_modules/@manypkg/tools": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@manypkg/tools/-/tools-2.1.0.tgz",
+ "integrity": "sha512-0FOIepYR4ugPYaHwK7hDeHDkfPOBVvayt9QpvRbi2LT/h2b0GaE/gM9Gag7fsnyYyNaTZ2IGyOuVg07IYepvYQ==",
+ "dev": true,
"license": "MIT",
"dependencies": {
- "@jest/test-result": "30.2.0",
- "graceful-fs": "^4.2.11",
- "jest-haste-map": "30.2.0",
- "slash": "^3.0.0"
+ "jju": "^1.4.0",
+ "js-yaml": "^4.1.0",
+ "tinyglobby": "^0.2.13"
},
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">=20.0.0"
}
},
- "node_modules/@jest/transform": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-30.2.0.tgz",
- "integrity": "sha512-XsauDV82o5qXbhalKxD7p4TZYYdwcaEXC77PPD2HixEFF+6YGppjrAAQurTl2ECWcEomHBMMNS9AH3kcCFx8jA==",
+ "node_modules/@napi-rs/nice": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.0.1.tgz",
+ "integrity": "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==",
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/core": "^7.27.4",
- "@jest/types": "30.2.0",
- "@jridgewell/trace-mapping": "^0.3.25",
- "babel-plugin-istanbul": "^7.0.1",
- "chalk": "^4.1.2",
- "convert-source-map": "^2.0.0",
- "fast-json-stable-stringify": "^2.1.0",
- "graceful-fs": "^4.2.11",
- "jest-haste-map": "30.2.0",
- "jest-regex-util": "30.0.1",
- "jest-util": "30.2.0",
- "micromatch": "^4.0.8",
- "pirates": "^4.0.7",
- "slash": "^3.0.0",
- "write-file-atomic": "^5.0.1"
- },
+ "optional": true,
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/Brooooooklyn"
+ },
+ "optionalDependencies": {
+ "@napi-rs/nice-android-arm-eabi": "1.0.1",
+ "@napi-rs/nice-android-arm64": "1.0.1",
+ "@napi-rs/nice-darwin-arm64": "1.0.1",
+ "@napi-rs/nice-darwin-x64": "1.0.1",
+ "@napi-rs/nice-freebsd-x64": "1.0.1",
+ "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1",
+ "@napi-rs/nice-linux-arm64-gnu": "1.0.1",
+ "@napi-rs/nice-linux-arm64-musl": "1.0.1",
+ "@napi-rs/nice-linux-ppc64-gnu": "1.0.1",
+ "@napi-rs/nice-linux-riscv64-gnu": "1.0.1",
+ "@napi-rs/nice-linux-s390x-gnu": "1.0.1",
+ "@napi-rs/nice-linux-x64-gnu": "1.0.1",
+ "@napi-rs/nice-linux-x64-musl": "1.0.1",
+ "@napi-rs/nice-win32-arm64-msvc": "1.0.1",
+ "@napi-rs/nice-win32-ia32-msvc": "1.0.1",
+ "@napi-rs/nice-win32-x64-msvc": "1.0.1"
}
},
- "node_modules/@jest/types": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/@jest/types/-/types-30.2.0.tgz",
- "integrity": "sha512-H9xg1/sfVvyfU7o3zMfBEjQ1gcsdeTMgqHoYdN79tuLqfTtuu7WckRA1R5whDwOzxaZAeMKTYWqP+WCAi0CHsg==",
+ "node_modules/@napi-rs/nice-android-arm-eabi": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.0.1.tgz",
+ "integrity": "sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jest/pattern": "30.0.1",
- "@jest/schemas": "30.0.5",
- "@types/istanbul-lib-coverage": "^2.0.6",
- "@types/istanbul-reports": "^3.0.4",
- "@types/node": "*",
- "@types/yargs": "^17.0.33",
- "chalk": "^4.1.2"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
+ "node": ">= 10"
}
},
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.12",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.12.tgz",
- "integrity": "sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==",
+ "node_modules/@napi-rs/nice-android-arm64": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.0.1.tgz",
+ "integrity": "sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jridgewell/sourcemap-codec": "^1.5.0",
- "@jridgewell/trace-mapping": "^0.3.24"
+ "optional": true,
+ "os": [
+ "android"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@jridgewell/remapping": {
- "version": "2.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
- "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
+ "node_modules/@napi-rs/nice-darwin-arm64": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.0.1.tgz",
+ "integrity": "sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
+ "node_modules/@napi-rs/nice-darwin-x64": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.0.1.tgz",
+ "integrity": "sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=6.0.0"
+ "node": ">= 10"
}
},
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
- "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
+ "node_modules/@napi-rs/nice-freebsd-x64": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.0.1.tgz",
+ "integrity": "sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25"
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "license": "MIT"
+ "node_modules/@napi-rs/nice-linux-arm-gnueabihf": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.0.1.tgz",
+ "integrity": "sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
},
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.29",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.29.tgz",
- "integrity": "sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==",
+ "node_modules/@napi-rs/nice-linux-arm64-gnu": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.0.1.tgz",
+ "integrity": "sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@js-sdsl/ordered-map": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/@js-sdsl/ordered-map/-/ordered-map-4.4.2.tgz",
- "integrity": "sha512-iUKgm52T8HOE/makSxjqoWhe95ZJA1/G1sYsGev2JDKUSS14KAgg1LHb+Ba+IPow0xflbnSkOsZcO08C7w1gYw==",
+ "node_modules/@napi-rs/nice-linux-arm64-musl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.0.1.tgz",
+ "integrity": "sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/js-sdsl"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@lerna/create": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/@lerna/create/-/create-9.0.1.tgz",
- "integrity": "sha512-xkZhQ+d7IsLzL5+1G+rKtH3b9aKRyBQ9yaz1VwPTfkD2nUAyaco97BRN9YRJgJrSHY/SI265RaD1D2rt00Jjkg==",
+ "node_modules/@napi-rs/nice-linux-ppc64-gnu": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.0.1.tgz",
+ "integrity": "sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@npmcli/arborist": "9.1.6",
- "@npmcli/package-json": "7.0.2",
- "@npmcli/run-script": "10.0.2",
- "@nx/devkit": ">=21.5.2 < 23.0.0",
- "@octokit/plugin-enterprise-rest": "6.0.1",
- "@octokit/rest": "20.1.2",
- "aproba": "2.0.0",
- "byte-size": "8.1.1",
- "chalk": "4.1.0",
- "cmd-shim": "6.0.3",
- "color-support": "1.1.3",
- "columnify": "1.6.0",
- "console-control-strings": "^1.1.0",
- "conventional-changelog-core": "5.0.1",
- "conventional-recommended-bump": "7.0.1",
- "cosmiconfig": "9.0.0",
- "dedent": "1.5.3",
- "execa": "5.0.0",
- "fs-extra": "^11.2.0",
- "get-stream": "6.0.0",
- "git-url-parse": "14.0.0",
- "glob-parent": "6.0.2",
- "has-unicode": "2.0.1",
- "ini": "^1.3.8",
- "init-package-json": "8.2.2",
- "inquirer": "12.9.6",
- "is-ci": "3.0.1",
- "is-stream": "2.0.0",
- "js-yaml": "4.1.0",
- "libnpmpublish": "11.1.2",
- "load-json-file": "6.2.0",
- "make-dir": "4.0.0",
- "make-fetch-happen": "15.0.2",
- "minimatch": "3.0.5",
- "multimatch": "5.0.0",
- "npm-package-arg": "13.0.1",
- "npm-packlist": "10.0.3",
- "npm-registry-fetch": "19.1.0",
- "nx": ">=21.5.3 < 23.0.0",
- "p-map": "4.0.0",
- "p-map-series": "2.1.0",
- "p-queue": "6.6.2",
- "p-reduce": "^2.1.0",
- "pacote": "21.0.1",
- "pify": "5.0.0",
- "read-cmd-shim": "4.0.0",
- "resolve-from": "5.0.0",
- "rimraf": "^4.4.1",
- "semver": "7.7.2",
- "set-blocking": "^2.0.0",
- "signal-exit": "3.0.7",
- "slash": "^3.0.0",
- "ssri": "12.0.0",
- "string-width": "^4.2.3",
- "tar": "6.2.1",
- "temp-dir": "1.0.0",
- "through": "2.3.8",
- "tinyglobby": "0.2.12",
- "upath": "2.0.1",
- "uuid": "^11.1.0",
- "validate-npm-package-license": "3.0.4",
- "validate-npm-package-name": "6.0.2",
- "wide-align": "1.1.5",
- "write-file-atomic": "5.0.1",
- "write-pkg": "4.0.0",
- "yargs": "17.7.2",
- "yargs-parser": "21.1.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
+ "node": ">= 10"
}
},
- "node_modules/@lerna/create/node_modules/brace-expansion": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
- "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
+ "node_modules/@napi-rs/nice-linux-riscv64-gnu": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.0.1.tgz",
+ "integrity": "sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/@lerna/create/node_modules/chalk": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
- "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "node_modules/@napi-rs/nice-linux-s390x-gnu": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.0.1.tgz",
+ "integrity": "sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
+ "node": ">= 10"
}
},
- "node_modules/@lerna/create/node_modules/execa": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.0.0.tgz",
- "integrity": "sha512-ov6w/2LCiuyO4RLYGdpFGjkcs0wMTgGE8PrkTHikeUy5iJekXyPIKUjifk5CsE0pt7sMCrMZ3YNqoCj6idQOnQ==",
+ "node_modules/@napi-rs/nice-linux-x64-gnu": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.0.1.tgz",
+ "integrity": "sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ "node": ">= 10"
}
},
- "node_modules/@lerna/create/node_modules/fs-minipass": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz",
- "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
+ "node_modules/@napi-rs/nice-linux-x64-musl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.0.1.tgz",
+ "integrity": "sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^3.0.0"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 8"
+ "node": ">= 10"
}
},
- "node_modules/@lerna/create/node_modules/fs-minipass/node_modules/minipass": {
- "version": "3.3.6",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz",
- "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
+ "node_modules/@napi-rs/nice-win32-arm64-msvc": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.0.1.tgz",
+ "integrity": "sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^4.0.0"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">= 10"
}
},
- "node_modules/@lerna/create/node_modules/get-stream": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.0.tgz",
- "integrity": "sha512-A1B3Bh1UmL0bidM/YX2NsCOTnGJePL9rO/M+Mw3m9f2gUpfokS0hi5Eah0WSUEWZdZhIZtMjkIYS7mDfOqNHbg==",
+ "node_modules/@napi-rs/nice-win32-ia32-msvc": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.0.1.tgz",
+ "integrity": "sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": ">= 10"
}
},
- "node_modules/@lerna/create/node_modules/is-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz",
- "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==",
+ "node_modules/@napi-rs/nice-win32-x64-msvc": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz",
+ "integrity": "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=8"
+ "node": ">= 10"
}
},
- "node_modules/@lerna/create/node_modules/minimatch": {
- "version": "3.0.5",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz",
- "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==",
+ "node_modules/@napi-rs/wasm-runtime": {
+ "version": "0.2.4",
+ "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz",
+ "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/@lerna/create/node_modules/minipass": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz",
- "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=8"
+ "@emnapi/core": "^1.1.0",
+ "@emnapi/runtime": "^1.1.0",
+ "@tybys/wasm-util": "^0.9.0"
}
},
- "node_modules/@lerna/create/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "node_modules/@nightwatch/chai": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@nightwatch/chai/-/chai-5.0.3.tgz",
+ "integrity": "sha512-1OIkOf/7jswOC3/t+Add/HVQO8ib75kz6BVYSNeWGghTlmHUqYEfNJ6vcACbXrn/4v3+9iRlWixuhFkxXkU/RQ==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/@lerna/create/node_modules/semver": {
- "version": "7.7.2",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
- "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "dependencies": {
+ "assertion-error": "1.1.0",
+ "check-error": "1.0.2",
+ "deep-eql": "4.0.1",
+ "loupe": "^2.3.7",
+ "pathval": "1.1.1",
+ "type-detect": "4.0.8"
},
"engines": {
- "node": ">=10"
+ "node": ">=12"
}
},
- "node_modules/@lerna/create/node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "node_modules/@nightwatch/html-reporter-template": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/@nightwatch/html-reporter-template/-/html-reporter-template-0.3.0.tgz",
+ "integrity": "sha512-Mze1z6pmUz2O8N9w1/h3QWz1lzMig45PGyh8PrL9ERs3FxVnIX0RCn37vjZUYiV4wgjZOg41JjdcpriZ3dJxkA==",
"dev": true,
- "license": "ISC"
+ "license": "MIT"
},
- "node_modules/@lerna/create/node_modules/tar": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz",
- "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
+ "node_modules/@nightwatch/nightwatch-inspector": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@nightwatch/nightwatch-inspector/-/nightwatch-inspector-1.0.1.tgz",
+ "integrity": "sha512-/ax11EOB4eJXT5VioMztcalbCtsNeuFn6icfT75qPLBmkxLvThePSfyGTys+t9AULUR0ug0wMDMiLV1Oy586Fg==",
"dev": true,
- "license": "ISC",
+ "hasInstallScript": true,
+ "license": "MIT",
"dependencies": {
- "chownr": "^2.0.0",
- "fs-minipass": "^2.0.0",
- "minipass": "^5.0.0",
- "minizlib": "^2.1.1",
- "mkdirp": "^1.0.3",
- "yallist": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
+ "archiver": "^5.3.1"
}
},
- "node_modules/@lerna/create/node_modules/tinyglobby": {
- "version": "0.2.12",
- "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.12.tgz",
- "integrity": "sha512-qkf4trmKSIiMTs/E63cxH+ojC2unam7rJ0WrauAzpT3ECNTxGRMlaXxVbfxMUC/w0LaYk6jQ4y/nGR9uBO3tww==",
- "dev": true,
+ "node_modules/@noble/curves": {
+ "version": "1.9.7",
+ "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz",
+ "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==",
"license": "MIT",
"dependencies": {
- "fdir": "^6.4.3",
- "picomatch": "^4.0.2"
+ "@noble/hashes": "1.8.0"
},
"engines": {
- "node": ">=12.0.0"
+ "node": "^14.21.3 || >=16"
},
"funding": {
- "url": "https://github.com/sponsors/SuperchupuDev"
+ "url": "https://paulmillr.com/funding/"
}
},
- "node_modules/@malept/cross-spawn-promise": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/@malept/cross-spawn-promise/-/cross-spawn-promise-2.0.0.tgz",
- "integrity": "sha512-1DpKU0Z5ThltBwjNySMC14g0CkbyhCaz9FkhxqNsZI6uAPJXFS8cMXlBKo26FJ8ZuW6S9GCMcR9IO5k2X5/9Fg==",
- "dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/malept"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/subscription/pkg/npm-.malept-cross-spawn-promise?utm_medium=referral&utm_source=npm_fund"
- }
- ],
- "license": "Apache-2.0",
- "dependencies": {
- "cross-spawn": "^7.0.1"
- },
+ "node_modules/@noble/curves/node_modules/@noble/hashes": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
+ "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
+ "license": "MIT",
"engines": {
- "node": ">= 12.13.0"
+ "node": "^14.21.3 || >=16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
}
},
- "node_modules/@manypkg/cli": {
- "version": "0.25.1",
- "resolved": "https://registry.npmjs.org/@manypkg/cli/-/cli-0.25.1.tgz",
- "integrity": "sha512-lag906FyiNxzZjsRErkUD5/to174I2JzPk5bZubuJp6loMKKJn73zrtqeU7nHlVkHBg3tgXDTJj22HxUDxLRXw==",
- "dev": true,
+ "node_modules/@noble/hashes": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
+ "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==",
"license": "MIT",
- "dependencies": {
- "@manypkg/get-packages": "^3.1.0",
- "detect-indent": "^7.0.1",
- "normalize-path": "^3.0.0",
- "p-limit": "^6.2.0",
- "package-json": "^10.0.1",
- "parse-github-url": "^1.0.3",
- "picocolors": "^1.1.1",
- "sembear": "^0.7.0",
- "semver": "^7.7.1",
- "tinyexec": "^1.0.1",
- "validate-npm-package-name": "^6.0.0"
- },
- "bin": {
- "manypkg": "bin.js"
- },
"engines": {
- "node": ">=20.0.0"
+ "node": ">= 16"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
}
},
- "node_modules/@manypkg/cli/node_modules/p-limit": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz",
- "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==",
- "dev": true,
+ "node_modules/@noble/post-quantum": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@noble/post-quantum/-/post-quantum-0.4.1.tgz",
+ "integrity": "sha512-TRXjvnY9jAFNWbxOx+pKt21BNsCEWKFjMbIKwdx9CQXBudDanpY20EfOcooV7DIsRS/+Mf8D8utpUPjfGrQ8fA==",
"license": "MIT",
"dependencies": {
- "yocto-queue": "^1.1.1"
- },
- "engines": {
- "node": ">=18"
+ "@noble/hashes": "1.8.0"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://paulmillr.com/funding/"
}
},
- "node_modules/@manypkg/cli/node_modules/yocto-queue": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz",
- "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==",
- "dev": true,
+ "node_modules/@noble/post-quantum/node_modules/@noble/hashes": {
+ "version": "1.8.0",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
+ "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
"license": "MIT",
"engines": {
- "node": ">=12.20"
+ "node": "^14.21.3 || >=16"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://paulmillr.com/funding/"
}
},
- "node_modules/@manypkg/find-root": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@manypkg/find-root/-/find-root-3.1.0.tgz",
- "integrity": "sha512-BcSqCyKhBVZ5YkSzOiheMCV41kqAFptW6xGqYSTjkVTl9XQpr+pqHhwgGCOHQtjDCv7Is6EFyA14Sm5GVbVABA==",
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@manypkg/tools": "^2.1.0"
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
},
"engines": {
- "node": ">=20.0.0"
+ "node": ">= 8"
}
},
- "node_modules/@manypkg/get-packages": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@manypkg/get-packages/-/get-packages-3.1.0.tgz",
- "integrity": "sha512-0TbBVyvPrP7xGYBI/cP8UP+yl/z+HtbTttAD7FMAJgn/kXOTwh5/60TsqP9ZYY710forNfyV0N8P/IE/ujGZJg==",
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@manypkg/find-root": "^3.1.0",
- "@manypkg/tools": "^2.1.0"
- },
"engines": {
- "node": ">=20.0.0"
+ "node": ">= 8"
}
},
- "node_modules/@manypkg/tools": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/@manypkg/tools/-/tools-2.1.0.tgz",
- "integrity": "sha512-0FOIepYR4ugPYaHwK7hDeHDkfPOBVvayt9QpvRbi2LT/h2b0GaE/gM9Gag7fsnyYyNaTZ2IGyOuVg07IYepvYQ==",
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "jju": "^1.4.0",
- "js-yaml": "^4.1.0",
- "tinyglobby": "^0.2.13"
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
},
"engines": {
- "node": ">=20.0.0"
+ "node": ">= 8"
}
},
- "node_modules/@napi-rs/nice": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.0.1.tgz",
- "integrity": "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==",
+ "node_modules/@npmcli/agent": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz",
+ "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/Brooooooklyn"
+ "license": "ISC",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.1",
+ "lru-cache": "^11.2.1",
+ "socks-proxy-agent": "^8.0.3"
},
- "optionalDependencies": {
- "@napi-rs/nice-android-arm-eabi": "1.0.1",
- "@napi-rs/nice-android-arm64": "1.0.1",
- "@napi-rs/nice-darwin-arm64": "1.0.1",
- "@napi-rs/nice-darwin-x64": "1.0.1",
- "@napi-rs/nice-freebsd-x64": "1.0.1",
- "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1",
- "@napi-rs/nice-linux-arm64-gnu": "1.0.1",
- "@napi-rs/nice-linux-arm64-musl": "1.0.1",
- "@napi-rs/nice-linux-ppc64-gnu": "1.0.1",
- "@napi-rs/nice-linux-riscv64-gnu": "1.0.1",
- "@napi-rs/nice-linux-s390x-gnu": "1.0.1",
- "@napi-rs/nice-linux-x64-gnu": "1.0.1",
- "@napi-rs/nice-linux-x64-musl": "1.0.1",
- "@napi-rs/nice-win32-arm64-msvc": "1.0.1",
- "@napi-rs/nice-win32-ia32-msvc": "1.0.1",
- "@napi-rs/nice-win32-x64-msvc": "1.0.1"
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-android-arm-eabi": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.0.1.tgz",
- "integrity": "sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==",
- "cpu": [
- "arm"
- ],
+ "node_modules/@npmcli/agent/node_modules/agent-base": {
+ "version": "7.1.4",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
+ "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
"engines": {
- "node": ">= 10"
+ "node": ">= 14"
}
},
- "node_modules/@napi-rs/nice-android-arm64": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.0.1.tgz",
- "integrity": "sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@npmcli/agent/node_modules/https-proxy-agent": {
+ "version": "7.0.6",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
+ "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "android"
- ],
+ "dependencies": {
+ "agent-base": "^7.1.2",
+ "debug": "4"
+ },
"engines": {
- "node": ">= 10"
+ "node": ">= 14"
}
},
- "node_modules/@napi-rs/nice-darwin-arm64": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.0.1.tgz",
- "integrity": "sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@npmcli/arborist": {
+ "version": "9.1.6",
+ "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-9.1.6.tgz",
+ "integrity": "sha512-c5Pr3EG8UP5ollkJy2x+UdEQC5sEHe3H9whYn6hb2HJimAKS4zmoJkx5acCiR/g4P38RnCSMlsYQyyHnKYeLvQ==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
+ "license": "ISC",
+ "dependencies": {
+ "@isaacs/string-locale-compare": "^1.1.0",
+ "@npmcli/fs": "^4.0.0",
+ "@npmcli/installed-package-contents": "^3.0.0",
+ "@npmcli/map-workspaces": "^5.0.0",
+ "@npmcli/metavuln-calculator": "^9.0.2",
+ "@npmcli/name-from-folder": "^3.0.0",
+ "@npmcli/node-gyp": "^4.0.0",
+ "@npmcli/package-json": "^7.0.0",
+ "@npmcli/query": "^4.0.0",
+ "@npmcli/redact": "^3.0.0",
+ "@npmcli/run-script": "^10.0.0",
+ "bin-links": "^5.0.0",
+ "cacache": "^20.0.1",
+ "common-ancestor-path": "^1.0.1",
+ "hosted-git-info": "^9.0.0",
+ "json-stringify-nice": "^1.1.4",
+ "lru-cache": "^11.2.1",
+ "minimatch": "^10.0.3",
+ "nopt": "^8.0.0",
+ "npm-install-checks": "^7.1.0",
+ "npm-package-arg": "^13.0.0",
+ "npm-pick-manifest": "^11.0.1",
+ "npm-registry-fetch": "^19.0.0",
+ "pacote": "^21.0.2",
+ "parse-conflict-json": "^4.0.0",
+ "proc-log": "^5.0.0",
+ "proggy": "^3.0.0",
+ "promise-all-reject-late": "^1.0.0",
+ "promise-call-limit": "^3.0.1",
+ "semver": "^7.3.7",
+ "ssri": "^12.0.0",
+ "treeverse": "^3.0.0",
+ "walk-up-path": "^4.0.0"
+ },
+ "bin": {
+ "arborist": "bin/index.js"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-darwin-x64": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.0.1.tgz",
- "integrity": "sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/cacache": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz",
+ "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/fs": "^5.0.0",
+ "fs-minipass": "^3.0.0",
+ "glob": "^13.0.0",
+ "lru-cache": "^11.1.0",
+ "minipass": "^7.0.3",
+ "minipass-collect": "^2.0.1",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "p-map": "^7.0.2",
+ "ssri": "^13.0.0",
+ "unique-filename": "^5.0.0"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-freebsd-x64": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.0.1.tgz",
- "integrity": "sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/cacache/node_modules/@npmcli/fs": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz",
+ "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ],
+ "license": "ISC",
+ "dependencies": {
+ "semver": "^7.3.5"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-linux-arm-gnueabihf": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.0.1.tgz",
- "integrity": "sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q==",
- "cpu": [
- "arm"
- ],
+ "node_modules/@npmcli/arborist/node_modules/cacache/node_modules/ssri": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz",
+ "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-linux-arm64-gnu": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.0.1.tgz",
- "integrity": "sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
"engines": {
- "node": ">= 10"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@napi-rs/nice-linux-arm64-musl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.0.1.tgz",
- "integrity": "sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
"engines": {
- "node": ">= 10"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@napi-rs/nice-linux-ppc64-gnu": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.0.1.tgz",
- "integrity": "sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q==",
- "cpu": [
- "ppc64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "license": "ISC",
"engines": {
- "node": ">= 10"
+ "node": ">=16 || 14 >=14.17"
}
},
- "node_modules/@napi-rs/nice-linux-riscv64-gnu": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.0.1.tgz",
- "integrity": "sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig==",
- "cpu": [
- "riscv64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/npm-bundled": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz",
+ "integrity": "sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "license": "ISC",
+ "dependencies": {
+ "npm-normalize-package-bin": "^5.0.0"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-linux-s390x-gnu": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.0.1.tgz",
- "integrity": "sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg==",
- "cpu": [
- "s390x"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "node_modules/@npmcli/arborist/node_modules/npm-normalize-package-bin": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz",
+ "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==",
+ "dev": true,
+ "license": "ISC",
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-linux-x64-gnu": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.0.1.tgz",
- "integrity": "sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/p-map": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
+ "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
"dev": true,
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
"engines": {
- "node": ">= 10"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@napi-rs/nice-linux-x64-musl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.0.1.tgz",
- "integrity": "sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/pacote": {
+ "version": "21.0.4",
+ "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.4.tgz",
+ "integrity": "sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ],
+ "license": "ISC",
+ "dependencies": {
+ "@npmcli/git": "^7.0.0",
+ "@npmcli/installed-package-contents": "^4.0.0",
+ "@npmcli/package-json": "^7.0.0",
+ "@npmcli/promise-spawn": "^9.0.0",
+ "@npmcli/run-script": "^10.0.0",
+ "cacache": "^20.0.0",
+ "fs-minipass": "^3.0.0",
+ "minipass": "^7.0.2",
+ "npm-package-arg": "^13.0.0",
+ "npm-packlist": "^10.0.1",
+ "npm-pick-manifest": "^11.0.1",
+ "npm-registry-fetch": "^19.0.0",
+ "proc-log": "^6.0.0",
+ "promise-retry": "^2.0.1",
+ "sigstore": "^4.0.0",
+ "ssri": "^13.0.0",
+ "tar": "^7.4.3"
+ },
+ "bin": {
+ "pacote": "bin/index.js"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-win32-arm64-msvc": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.0.1.tgz",
- "integrity": "sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg==",
- "cpu": [
- "arm64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/pacote/node_modules/@npmcli/installed-package-contents": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz",
+ "integrity": "sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "license": "ISC",
+ "dependencies": {
+ "npm-bundled": "^5.0.0",
+ "npm-normalize-package-bin": "^5.0.0"
+ },
+ "bin": {
+ "installed-package-contents": "bin/index.js"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-win32-ia32-msvc": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.0.1.tgz",
- "integrity": "sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw==",
- "cpu": [
- "ia32"
- ],
+ "node_modules/@npmcli/arborist/node_modules/pacote/node_modules/proc-log": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz",
+ "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "license": "ISC",
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/nice-win32-x64-msvc": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz",
- "integrity": "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==",
- "cpu": [
- "x64"
- ],
+ "node_modules/@npmcli/arborist/node_modules/pacote/node_modules/ssri": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz",
+ "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==",
"dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ],
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
"engines": {
- "node": ">= 10"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@napi-rs/wasm-runtime": {
- "version": "0.2.4",
- "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.4.tgz",
- "integrity": "sha512-9zESzOO5aDByvhIAsOy9TbpZ0Ur2AJbUI7UT73kcUTS2mxAMHOBaa1st/jAymNoCtvrit99kkzT1FZuXVcgfIQ==",
+ "node_modules/@npmcli/arborist/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
"dev": true,
- "license": "MIT",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@emnapi/core": "^1.1.0",
- "@emnapi/runtime": "^1.1.0",
- "@tybys/wasm-util": "^0.9.0"
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@nightwatch/chai": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@nightwatch/chai/-/chai-5.0.3.tgz",
- "integrity": "sha512-1OIkOf/7jswOC3/t+Add/HVQO8ib75kz6BVYSNeWGghTlmHUqYEfNJ6vcACbXrn/4v3+9iRlWixuhFkxXkU/RQ==",
+ "node_modules/@npmcli/arborist/node_modules/unique-filename": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz",
+ "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "assertion-error": "1.1.0",
- "check-error": "1.0.2",
- "deep-eql": "4.0.1",
- "loupe": "^2.3.7",
- "pathval": "1.1.1",
- "type-detect": "4.0.8"
+ "unique-slug": "^6.0.0"
},
"engines": {
- "node": ">=12"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@nightwatch/html-reporter-template": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/@nightwatch/html-reporter-template/-/html-reporter-template-0.3.0.tgz",
- "integrity": "sha512-Mze1z6pmUz2O8N9w1/h3QWz1lzMig45PGyh8PrL9ERs3FxVnIX0RCn37vjZUYiV4wgjZOg41JjdcpriZ3dJxkA==",
+ "node_modules/@npmcli/arborist/node_modules/unique-slug": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz",
+ "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==",
"dev": true,
- "license": "MIT"
+ "license": "ISC",
+ "dependencies": {
+ "imurmurhash": "^0.1.4"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
},
- "node_modules/@nightwatch/nightwatch-inspector": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/@nightwatch/nightwatch-inspector/-/nightwatch-inspector-1.0.1.tgz",
- "integrity": "sha512-/ax11EOB4eJXT5VioMztcalbCtsNeuFn6icfT75qPLBmkxLvThePSfyGTys+t9AULUR0ug0wMDMiLV1Oy586Fg==",
+ "node_modules/@npmcli/fs": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz",
+ "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==",
"dev": true,
- "hasInstallScript": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "archiver": "^5.3.1"
+ "semver": "^7.3.5"
+ },
+ "engines": {
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@noble/curves": {
- "version": "1.9.7",
- "resolved": "https://registry.npmjs.org/@noble/curves/-/curves-1.9.7.tgz",
- "integrity": "sha512-gbKGcRUYIjA3/zCCNaWDciTMFI0dCkvou3TL8Zmy5Nc7sJ47a0jtOeZoTaMxkuqRo9cRhjOdZJXegxYE5FN/xw==",
- "license": "MIT",
+ "node_modules/@npmcli/git": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.1.tgz",
+ "integrity": "sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==",
+ "dev": true,
+ "license": "ISC",
"dependencies": {
- "@noble/hashes": "1.8.0"
+ "@npmcli/promise-spawn": "^9.0.0",
+ "ini": "^6.0.0",
+ "lru-cache": "^11.2.1",
+ "npm-pick-manifest": "^11.0.1",
+ "proc-log": "^6.0.0",
+ "promise-retry": "^2.0.1",
+ "semver": "^7.3.5",
+ "which": "^6.0.0"
},
"engines": {
- "node": "^14.21.3 || >=16"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@noble/curves/node_modules/@noble/hashes": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
- "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
- "license": "MIT",
+ "node_modules/@npmcli/git/node_modules/ini": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz",
+ "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==",
+ "dev": true,
+ "license": "ISC",
"engines": {
- "node": "^14.21.3 || >=16"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@noble/hashes": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.2.tgz",
- "integrity": "sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==",
- "license": "MIT",
- "engines": {
- "node": ">= 16"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/@noble/post-quantum": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/@noble/post-quantum/-/post-quantum-0.4.1.tgz",
- "integrity": "sha512-TRXjvnY9jAFNWbxOx+pKt21BNsCEWKFjMbIKwdx9CQXBudDanpY20EfOcooV7DIsRS/+Mf8D8utpUPjfGrQ8fA==",
- "license": "MIT",
- "dependencies": {
- "@noble/hashes": "1.8.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/@noble/post-quantum/node_modules/@noble/hashes": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.8.0.tgz",
- "integrity": "sha512-jCs9ldd7NwzpgXDIf6P3+NrHh9/sD6CQdxHyjQI+h/6rDNo88ypBxxz45UDuZHz9r3tNz7N/VInSVoVdtXEI4A==",
- "license": "MIT",
- "engines": {
- "node": "^14.21.3 || >=16"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- }
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "node_modules/@npmcli/git/node_modules/isexe": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
+ "license": "ISC",
"engines": {
- "node": ">= 8"
+ "node": ">=16"
}
},
- "node_modules/@npmcli/agent": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-4.0.0.tgz",
- "integrity": "sha512-kAQTcEN9E8ERLVg5AsGwLNoFb+oEG6engbqAU2P43gD4JEIkNGMHdVQ096FsOAAYpZPB0RSt0zgInKIAS1l5QA==",
+ "node_modules/@npmcli/git/node_modules/proc-log": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz",
+ "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==",
"dev": true,
"license": "ISC",
- "dependencies": {
- "agent-base": "^7.1.0",
- "http-proxy-agent": "^7.0.0",
- "https-proxy-agent": "^7.0.1",
- "lru-cache": "^11.2.1",
- "socks-proxy-agent": "^8.0.3"
- },
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/agent/node_modules/agent-base": {
- "version": "7.1.4",
- "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz",
- "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@npmcli/agent/node_modules/https-proxy-agent": {
- "version": "7.0.6",
- "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
- "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "agent-base": "^7.1.2",
- "debug": "4"
- },
- "engines": {
- "node": ">= 14"
- }
- },
- "node_modules/@npmcli/arborist": {
- "version": "9.1.6",
- "resolved": "https://registry.npmjs.org/@npmcli/arborist/-/arborist-9.1.6.tgz",
- "integrity": "sha512-c5Pr3EG8UP5ollkJy2x+UdEQC5sEHe3H9whYn6hb2HJimAKS4zmoJkx5acCiR/g4P38RnCSMlsYQyyHnKYeLvQ==",
+ "node_modules/@npmcli/git/node_modules/which": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz",
+ "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==",
"dev": true,
"license": "ISC",
"dependencies": {
- "@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/fs": "^4.0.0",
- "@npmcli/installed-package-contents": "^3.0.0",
- "@npmcli/map-workspaces": "^5.0.0",
- "@npmcli/metavuln-calculator": "^9.0.2",
- "@npmcli/name-from-folder": "^3.0.0",
- "@npmcli/node-gyp": "^4.0.0",
- "@npmcli/package-json": "^7.0.0",
- "@npmcli/query": "^4.0.0",
- "@npmcli/redact": "^3.0.0",
- "@npmcli/run-script": "^10.0.0",
- "bin-links": "^5.0.0",
- "cacache": "^20.0.1",
- "common-ancestor-path": "^1.0.1",
- "hosted-git-info": "^9.0.0",
- "json-stringify-nice": "^1.1.4",
- "lru-cache": "^11.2.1",
- "minimatch": "^10.0.3",
- "nopt": "^8.0.0",
- "npm-install-checks": "^7.1.0",
- "npm-package-arg": "^13.0.0",
- "npm-pick-manifest": "^11.0.1",
- "npm-registry-fetch": "^19.0.0",
- "pacote": "^21.0.2",
- "parse-conflict-json": "^4.0.0",
- "proc-log": "^5.0.0",
- "proggy": "^3.0.0",
- "promise-all-reject-late": "^1.0.0",
- "promise-call-limit": "^3.0.1",
- "semver": "^7.3.7",
- "ssri": "^12.0.0",
- "treeverse": "^3.0.0",
- "walk-up-path": "^4.0.0"
+ "isexe": "^3.1.1"
},
"bin": {
- "arborist": "bin/index.js"
+ "node-which": "bin/which.js"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/cacache": {
- "version": "20.0.3",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz",
- "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==",
+ "node_modules/@npmcli/installed-package-contents": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz",
+ "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==",
"dev": true,
"license": "ISC",
"dependencies": {
- "@npmcli/fs": "^5.0.0",
- "fs-minipass": "^3.0.0",
- "glob": "^13.0.0",
- "lru-cache": "^11.1.0",
- "minipass": "^7.0.3",
- "minipass-collect": "^2.0.1",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "p-map": "^7.0.2",
- "ssri": "^13.0.0",
- "unique-filename": "^5.0.0"
+ "npm-bundled": "^4.0.0",
+ "npm-normalize-package-bin": "^4.0.0"
+ },
+ "bin": {
+ "installed-package-contents": "bin/index.js"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/cacache/node_modules/@npmcli/fs": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz",
- "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==",
+ "node_modules/@npmcli/map-workspaces": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-5.0.3.tgz",
+ "integrity": "sha512-o2grssXo1e774E5OtEwwrgoszYRh0lqkJH+Pb9r78UcqdGJRDRfhpM8DvZPjzNLLNYeD/rNbjOKM3Ss5UABROw==",
"dev": true,
"license": "ISC",
"dependencies": {
- "semver": "^7.3.5"
+ "@npmcli/name-from-folder": "^4.0.0",
+ "@npmcli/package-json": "^7.0.0",
+ "glob": "^13.0.0",
+ "minimatch": "^10.0.3"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/cacache/node_modules/ssri": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz",
- "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==",
+ "node_modules/@npmcli/map-workspaces/node_modules/@npmcli/name-from-folder": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-4.0.0.tgz",
+ "integrity": "sha512-qfrhVlOSqmKM8i6rkNdZzABj8MKEITGFAY+4teqBziksCQAOLutiAxM1wY2BKEd8KjUSpWmWCYxvXr0y4VTlPg==",
"dev": true,
"license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/glob": {
+ "node_modules/@npmcli/map-workspaces/node_modules/glob": {
"version": "13.0.0",
"resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
"integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
@@ -5384,7 +4738,7 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/arborist/node_modules/minimatch": {
+ "node_modules/@npmcli/map-workspaces/node_modules/minimatch": {
"version": "10.1.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
"integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
@@ -5400,7 +4754,7 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/arborist/node_modules/minipass": {
+ "node_modules/@npmcli/map-workspaces/node_modules/minipass": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
@@ -5410,115 +4764,134 @@
"node": ">=16 || 14 >=14.17"
}
},
- "node_modules/@npmcli/arborist/node_modules/npm-bundled": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-5.0.0.tgz",
- "integrity": "sha512-JLSpbzh6UUXIEoqPsYBvVNVmyrjVZ1fzEFbqxKkTJQkWBO3xFzFT+KDnSKQWwOQNbuWRwt5LSD6HOTLGIWzfrw==",
+ "node_modules/@npmcli/map-workspaces/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@npmcli/metavuln-calculator": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-9.0.3.tgz",
+ "integrity": "sha512-94GLSYhLXF2t2LAC7pDwLaM4uCARzxShyAQKsirmlNcpidH89VA4/+K1LbJmRMgz5gy65E/QBBWQdUvGLe2Frg==",
"dev": true,
"license": "ISC",
"dependencies": {
- "npm-normalize-package-bin": "^5.0.0"
+ "cacache": "^20.0.0",
+ "json-parse-even-better-errors": "^5.0.0",
+ "pacote": "^21.0.0",
+ "proc-log": "^6.0.0",
+ "semver": "^7.3.5"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/npm-normalize-package-bin": {
+ "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/fs": {
"version": "5.0.0",
- "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-5.0.0.tgz",
- "integrity": "sha512-CJi3OS4JLsNMmr2u07OJlhcrPxCeOeP/4xq67aWNai6TNWWbTrlNDgl8NcFKVlcBKp18GPj+EzbNIgrBfZhsag==",
+ "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz",
+ "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==",
"dev": true,
"license": "ISC",
+ "dependencies": {
+ "semver": "^7.3.5"
+ },
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/p-map": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
- "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/@npmcli/arborist/node_modules/pacote": {
- "version": "21.0.4",
- "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.4.tgz",
- "integrity": "sha512-RplP/pDW0NNNDh3pnaoIWYPvNenS7UqMbXyvMqJczosiFWTeGGwJC2NQBLqKf4rGLFfwCOnntw1aEp9Jiqm1MA==",
+ "node_modules/@npmcli/metavuln-calculator/node_modules/cacache": {
+ "version": "20.0.3",
+ "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz",
+ "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==",
"dev": true,
"license": "ISC",
"dependencies": {
- "@npmcli/git": "^7.0.0",
- "@npmcli/installed-package-contents": "^4.0.0",
- "@npmcli/package-json": "^7.0.0",
- "@npmcli/promise-spawn": "^9.0.0",
- "@npmcli/run-script": "^10.0.0",
- "cacache": "^20.0.0",
+ "@npmcli/fs": "^5.0.0",
"fs-minipass": "^3.0.0",
- "minipass": "^7.0.2",
- "npm-package-arg": "^13.0.0",
- "npm-packlist": "^10.0.1",
- "npm-pick-manifest": "^11.0.1",
- "npm-registry-fetch": "^19.0.0",
- "proc-log": "^6.0.0",
- "promise-retry": "^2.0.1",
- "sigstore": "^4.0.0",
+ "glob": "^13.0.0",
+ "lru-cache": "^11.1.0",
+ "minipass": "^7.0.3",
+ "minipass-collect": "^2.0.1",
+ "minipass-flush": "^1.0.5",
+ "minipass-pipeline": "^1.2.4",
+ "p-map": "^7.0.2",
"ssri": "^13.0.0",
- "tar": "^7.4.3"
- },
- "bin": {
- "pacote": "bin/index.js"
+ "unique-filename": "^5.0.0"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/pacote/node_modules/@npmcli/installed-package-contents": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-4.0.0.tgz",
- "integrity": "sha512-yNyAdkBxB72gtZ4GrwXCM0ZUedo9nIbOMKfGjt6Cu6DXf0p8y1PViZAKDC8q8kv/fufx0WTjRBdSlyrvnP7hmA==",
+ "node_modules/@npmcli/metavuln-calculator/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "npm-bundled": "^5.0.0",
- "npm-normalize-package-bin": "^5.0.0"
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
},
- "bin": {
- "installed-package-contents": "bin/index.js"
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/@npmcli/metavuln-calculator/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/arborist/node_modules/pacote/node_modules/proc-log": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz",
- "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==",
+ "node_modules/@npmcli/metavuln-calculator/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
"license": "ISC",
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=16 || 14 >=14.17"
}
},
- "node_modules/@npmcli/arborist/node_modules/pacote/node_modules/ssri": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz",
- "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==",
+ "node_modules/@npmcli/metavuln-calculator/node_modules/p-map": {
+ "version": "7.0.4",
+ "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
+ "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
"dev": true,
- "license": "ISC",
- "dependencies": {
- "minipass": "^7.0.3"
- },
+ "license": "MIT",
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/@npmcli/arborist/node_modules/path-scurry": {
+ "node_modules/@npmcli/metavuln-calculator/node_modules/path-scurry": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
"integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
@@ -5535,7 +4908,30 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/arborist/node_modules/unique-filename": {
+ "node_modules/@npmcli/metavuln-calculator/node_modules/proc-log": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz",
+ "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@npmcli/metavuln-calculator/node_modules/ssri": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz",
+ "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==",
+ "dev": true,
+ "license": "ISC",
+ "dependencies": {
+ "minipass": "^7.0.3"
+ },
+ "engines": {
+ "node": "^20.17.0 || >=22.9.0"
+ }
+ },
+ "node_modules/@npmcli/metavuln-calculator/node_modules/unique-filename": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz",
"integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==",
@@ -5548,7 +4944,7 @@
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/arborist/node_modules/unique-slug": {
+ "node_modules/@npmcli/metavuln-calculator/node_modules/unique-slug": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz",
"integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==",
@@ -5561,138 +4957,109 @@
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/fs": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz",
- "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==",
- "dev": true,
- "license": "ISC",
+ "node_modules/@npmcli/move-file": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
+ "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
+ "deprecated": "This functionality has been moved to @npmcli/fs",
+ "license": "MIT",
+ "optional": true,
"dependencies": {
- "semver": "^7.3.5"
+ "mkdirp": "^1.0.4",
+ "rimraf": "^3.0.2"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": ">=10"
}
},
- "node_modules/@npmcli/git": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-7.0.1.tgz",
- "integrity": "sha512-+XTFxK2jJF/EJJ5SoAzXk3qwIDfvFc5/g+bD274LZ7uY7LE8sTfG6Z8rOanPl2ZEvZWqNvmEdtXC25cE54VcoA==",
- "dev": true,
+ "node_modules/@npmcli/move-file/node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
"license": "ISC",
+ "optional": true,
"dependencies": {
- "@npmcli/promise-spawn": "^9.0.0",
- "ini": "^6.0.0",
- "lru-cache": "^11.2.1",
- "npm-pick-manifest": "^11.0.1",
- "proc-log": "^6.0.0",
- "promise-retry": "^2.0.1",
- "semver": "^7.3.5",
- "which": "^6.0.0"
+ "glob": "^7.1.3"
},
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/git/node_modules/ini": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/ini/-/ini-6.0.0.tgz",
- "integrity": "sha512-IBTdIkzZNOpqm7q3dRqJvMaldXjDHWkEDfrwGEQTs5eaQMWV+djAhR+wahyNNMAa+qpbDUhBMVt4ZKNwpPm7xQ==",
+ "node_modules/@npmcli/name-from-folder": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-3.0.0.tgz",
+ "integrity": "sha512-61cDL8LUc9y80fXn+lir+iVt8IS0xHqEKwPu/5jCjxQTVoSCmkXvw4vbMrzAMtmghz3/AkiBjhHkDKUH+kf7kA==",
"dev": true,
"license": "ISC",
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@npmcli/git/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "node_modules/@npmcli/node-gyp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz",
+ "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==",
"dev": true,
"license": "ISC",
"engines": {
- "node": ">=16"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@npmcli/git/node_modules/proc-log": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz",
- "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==",
+ "node_modules/@npmcli/package-json": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.2.tgz",
+ "integrity": "sha512-0ylN3U5htO1SJTmy2YI78PZZjLkKUGg7EKgukb2CRi0kzyoDr0cfjHAzi7kozVhj2V3SxN1oyKqZ2NSo40z00g==",
"dev": true,
"license": "ISC",
+ "dependencies": {
+ "@npmcli/git": "^7.0.0",
+ "glob": "^11.0.3",
+ "hosted-git-info": "^9.0.0",
+ "json-parse-even-better-errors": "^5.0.0",
+ "proc-log": "^6.0.0",
+ "semver": "^7.5.3",
+ "validate-npm-package-license": "^3.0.4"
+ },
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/git/node_modules/which": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz",
- "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==",
+ "node_modules/@npmcli/package-json/node_modules/glob": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz",
+ "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "isexe": "^3.1.1"
+ "foreground-child": "^3.3.1",
+ "jackspeak": "^4.1.1",
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "package-json-from-dist": "^1.0.0",
+ "path-scurry": "^2.0.0"
},
"bin": {
- "node-which": "bin/which.js"
+ "glob": "dist/esm/bin.mjs"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/installed-package-contents": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz",
- "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==",
+ "node_modules/@npmcli/package-json/node_modules/jackspeak": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz",
+ "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==",
"dev": true,
- "license": "ISC",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "npm-bundled": "^4.0.0",
- "npm-normalize-package-bin": "^4.0.0"
- },
- "bin": {
- "installed-package-contents": "bin/index.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/map-workspaces": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-5.0.3.tgz",
- "integrity": "sha512-o2grssXo1e774E5OtEwwrgoszYRh0lqkJH+Pb9r78UcqdGJRDRfhpM8DvZPjzNLLNYeD/rNbjOKM3Ss5UABROw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "@npmcli/name-from-folder": "^4.0.0",
- "@npmcli/package-json": "^7.0.0",
- "glob": "^13.0.0",
- "minimatch": "^10.0.3"
- },
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@npmcli/map-workspaces/node_modules/@npmcli/name-from-folder": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-4.0.0.tgz",
- "integrity": "sha512-qfrhVlOSqmKM8i6rkNdZzABj8MKEITGFAY+4teqBziksCQAOLutiAxM1wY2BKEd8KjUSpWmWCYxvXr0y4VTlPg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@npmcli/map-workspaces/node_modules/glob": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
- "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
- "dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "minimatch": "^10.1.1",
- "minipass": "^7.1.2",
- "path-scurry": "^2.0.0"
+ "@isaacs/cliui": "^8.0.2"
},
"engines": {
"node": "20 || >=22"
@@ -5701,7 +5068,7 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/map-workspaces/node_modules/minimatch": {
+ "node_modules/@npmcli/package-json/node_modules/minimatch": {
"version": "10.1.1",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
"integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
@@ -5717,7 +5084,7 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/map-workspaces/node_modules/minipass": {
+ "node_modules/@npmcli/package-json/node_modules/minipass": {
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
"integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
@@ -5727,7 +5094,7 @@
"node": ">=16 || 14 >=14.17"
}
},
- "node_modules/@npmcli/map-workspaces/node_modules/path-scurry": {
+ "node_modules/@npmcli/package-json/node_modules/path-scurry": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
"integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
@@ -5744,134 +5111,117 @@
"url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/metavuln-calculator": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-9.0.3.tgz",
- "integrity": "sha512-94GLSYhLXF2t2LAC7pDwLaM4uCARzxShyAQKsirmlNcpidH89VA4/+K1LbJmRMgz5gy65E/QBBWQdUvGLe2Frg==",
+ "node_modules/@npmcli/package-json/node_modules/proc-log": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz",
+ "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==",
"dev": true,
"license": "ISC",
- "dependencies": {
- "cacache": "^20.0.0",
- "json-parse-even-better-errors": "^5.0.0",
- "pacote": "^21.0.0",
- "proc-log": "^6.0.0",
- "semver": "^7.3.5"
- },
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/@npmcli/fs": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-5.0.0.tgz",
- "integrity": "sha512-7OsC1gNORBEawOa5+j2pXN9vsicaIOH5cPXxoR6fJOmH6/EXpJB2CajXOu1fPRFun2m1lktEFX11+P89hqO/og==",
+ "node_modules/@npmcli/promise-spawn": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz",
+ "integrity": "sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==",
"dev": true,
"license": "ISC",
"dependencies": {
- "semver": "^7.3.5"
+ "which": "^6.0.0"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/cacache": {
- "version": "20.0.3",
- "resolved": "https://registry.npmjs.org/cacache/-/cacache-20.0.3.tgz",
- "integrity": "sha512-3pUp4e8hv07k1QlijZu6Kn7c9+ZpWWk4j3F8N3xPuCExULobqJydKYOTj1FTq58srkJsXvO7LbGAH4C0ZU3WGw==",
+ "node_modules/@npmcli/promise-spawn/node_modules/isexe": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16"
+ }
+ },
+ "node_modules/@npmcli/promise-spawn/node_modules/which": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz",
+ "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==",
"dev": true,
"license": "ISC",
"dependencies": {
- "@npmcli/fs": "^5.0.0",
- "fs-minipass": "^3.0.0",
- "glob": "^13.0.0",
- "lru-cache": "^11.1.0",
- "minipass": "^7.0.3",
- "minipass-collect": "^2.0.1",
- "minipass-flush": "^1.0.5",
- "minipass-pipeline": "^1.2.4",
- "p-map": "^7.0.2",
- "ssri": "^13.0.0",
- "unique-filename": "^5.0.0"
+ "isexe": "^3.1.1"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
},
"engines": {
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/glob": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
- "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+ "node_modules/@npmcli/query": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-4.0.1.tgz",
+ "integrity": "sha512-4OIPFb4weUUwkDXJf4Hh1inAn8neBGq3xsH4ZsAaN6FK3ldrFkH7jSpCc7N9xesi0Sp+EBXJ9eGMDrEww2Ztqw==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "ISC",
"dependencies": {
- "minimatch": "^10.1.1",
- "minipass": "^7.1.2",
- "path-scurry": "^2.0.0"
+ "postcss-selector-parser": "^7.0.0"
},
"engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/minimatch": {
- "version": "10.1.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
- "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "node_modules/@npmcli/redact": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz",
+ "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==",
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/brace-expansion": "^5.0.0"
- },
+ "license": "ISC",
"engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "node_modules/@npmcli/run-script": {
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.2.tgz",
+ "integrity": "sha512-9lCTqxaoa9c9cdkzSSx+q/qaYrCrUPEwTWzLkVYg1/T8ESH3BG9vmb1zRc6ODsBVB0+gnGRSqSr01pxTS1yX3A==",
"dev": true,
"license": "ISC",
+ "dependencies": {
+ "@npmcli/node-gyp": "^5.0.0",
+ "@npmcli/package-json": "^7.0.0",
+ "@npmcli/promise-spawn": "^9.0.0",
+ "node-gyp": "^11.0.0",
+ "proc-log": "^6.0.0",
+ "which": "^5.0.0"
+ },
"engines": {
- "node": ">=16 || 14 >=14.17"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/p-map": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.4.tgz",
- "integrity": "sha512-tkAQEw8ysMzmkhgw8k+1U/iPhWNhykKnSk4Rd5zLoPJCuJaGRPo6YposrZgaxHKzDHdDWWZvE/Sk7hsL2X/CpQ==",
+ "node_modules/@npmcli/run-script/node_modules/@npmcli/node-gyp": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz",
+ "integrity": "sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"engines": {
- "node": ">=18"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/path-scurry": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
- "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "node_modules/@npmcli/run-script/node_modules/isexe": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
+ "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
- },
+ "license": "ISC",
"engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">=16"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/proc-log": {
+ "node_modules/@npmcli/run-script/node_modules/proc-log": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz",
"integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==",
@@ -5881,976 +5231,1153 @@
"node": "^20.17.0 || >=22.9.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/ssri": {
- "version": "13.0.0",
- "resolved": "https://registry.npmjs.org/ssri/-/ssri-13.0.0.tgz",
- "integrity": "sha512-yizwGBpbCn4YomB2lzhZqrHLJoqFGXihNbib3ozhqF/cIp5ue+xSmOQrjNasEE62hFxsCcg/V/z23t4n8jMEng==",
+ "node_modules/@npmcli/run-script/node_modules/which": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
+ "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
"dev": true,
"license": "ISC",
"dependencies": {
- "minipass": "^7.0.3"
+ "isexe": "^3.1.1"
+ },
+ "bin": {
+ "node-which": "bin/which.js"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": "^18.17.0 || >=20.5.0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/unique-filename": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-5.0.0.tgz",
- "integrity": "sha512-2RaJTAvAb4owyjllTfXzFClJ7WsGxlykkPvCr9pA//LD9goVq+m4PPAeBgNodGZ7nSrntT/auWpJ6Y5IFXcfjg==",
+ "node_modules/@nx/devkit": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.1.0.tgz",
+ "integrity": "sha512-8vWDUDMn2yZnsVDmNKvy0H6XCnXnB6taK25XxS1RGrnkCxrLE7NWDbTfi3SlydYy5LdQgnji8Gy4BjqHVJRlLQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "unique-slug": "^6.0.0"
+ "@zkochan/js-yaml": "0.0.7",
+ "ejs": "^3.1.7",
+ "enquirer": "~2.3.6",
+ "minimatch": "9.0.3",
+ "semver": "^7.6.3",
+ "tslib": "^2.3.0",
+ "yargs-parser": "21.1.1"
},
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "peerDependencies": {
+ "nx": ">= 21 <= 23 || ^22.0.0-0"
}
},
- "node_modules/@npmcli/metavuln-calculator/node_modules/unique-slug": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-6.0.0.tgz",
- "integrity": "sha512-4Lup7Ezn8W3d52/xBhZBVdx323ckxa7DEvd9kPQHppTkLoJXw6ltrBCyj5pnrxj0qKDxYMJ56CoxNuFCscdTiw==",
+ "node_modules/@nx/devkit/node_modules/minimatch": {
+ "version": "9.0.3",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
+ "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"dev": true,
"license": "ISC",
"dependencies": {
- "imurmurhash": "^0.1.4"
+ "brace-expansion": "^2.0.1"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">=16 || 14 >=14.17"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/@npmcli/move-file": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz",
- "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
- "deprecated": "This functionality has been moved to @npmcli/fs",
+ "node_modules/@nx/nx-darwin-arm64": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.1.0.tgz",
+ "integrity": "sha512-mQ6DnSDxB993DzgcF+VTDOqldo8SvAIGH7qYlTZuiS5E1BpvTr8V3NmEvuKz7HdMg0oa+77wzOb4xDnuU4rgFw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
"optional": true,
- "dependencies": {
- "mkdirp": "^1.0.4",
- "rimraf": "^3.0.2"
- },
- "engines": {
- "node": ">=10"
- }
+ "os": [
+ "darwin"
+ ]
},
- "node_modules/@npmcli/move-file/node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "license": "ISC",
+ "node_modules/@nx/nx-darwin-x64": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.1.0.tgz",
+ "integrity": "sha512-bY8uoP3GKoOqDSr0Dp7gvOV4q874Q8HG2r6rpmL5kjRCdk0Af28LCVS7m0mNuadpW453zvJg8wJn4fD7nw2NXg==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
"optional": true,
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
+ "os": [
+ "darwin"
+ ]
},
- "node_modules/@npmcli/name-from-folder": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/name-from-folder/-/name-from-folder-3.0.0.tgz",
- "integrity": "sha512-61cDL8LUc9y80fXn+lir+iVt8IS0xHqEKwPu/5jCjxQTVoSCmkXvw4vbMrzAMtmghz3/AkiBjhHkDKUH+kf7kA==",
+ "node_modules/@nx/nx-freebsd-x64": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.1.0.tgz",
+ "integrity": "sha512-38ER08loKrkF23sW1jfqTan8WyM2vYZc3CD0lSdXGTjqy0RdopW9L/jsRw8I1UDzcP85xLhMVw0LrK7kvZRSrQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
},
- "node_modules/@npmcli/node-gyp": {
+ "node_modules/@nx/nx-linux-arm-gnueabihf": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.1.0.tgz",
+ "integrity": "sha512-+paooeUeh+5cv0v++nIa35Q+nvlIpyohn7dFgtU+h7wkXbS/qpKNS+mpdxV+Fox5iPB67wYakzdkgtXi6VA3hg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@nx/nx-linux-arm64-gnu": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.1.0.tgz",
+ "integrity": "sha512-DgXp6VPmHr9whP67d29KzI0IF5LEeZtKI2j90hdgM3IIe3YONqYBpUHBEkzJlVV/PgPcm5rJc5VaBNcXYGpVGA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@nx/nx-linux-arm64-musl": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.1.0.tgz",
+ "integrity": "sha512-m8MMFSJC/+N1MaZj4ybPQpC0eLb1G40UktnLgYRqmeYHYZ3LQfH1ipzpcSv/z6rMXDs2A8ggZKGnn02UKJeiaA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@nx/nx-linux-x64-gnu": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.1.0.tgz",
+ "integrity": "sha512-wgJb9CBHZvx1lkiP+rYfF3QpVMjh1X+hBApMFVMS2fO30V47q0wJarejPXd3v0lfCvk1B3MR7pkP/QXeI89MEA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@nx/nx-linux-x64-musl": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.1.0.tgz",
+ "integrity": "sha512-v55nAHazexyU0GkSZyJgw29Y03gJIFGPWABYlQ8xfNyjzZjY8EIpiUm4DoODlEaMSRaPrDctaZWQcnb1tYlawA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@nx/nx-win32-arm64-msvc": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.1.0.tgz",
+ "integrity": "sha512-x1aX20lKDLtwA5/6Hfg81H7entgOdRJC0kDKx2bQwFMAtfU7CRsLWk/CEa2ZpsuuDhZH4XfhWuimnOfulaax+w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@nx/nx-win32-x64-msvc": {
+ "version": "22.1.0",
+ "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.1.0.tgz",
+ "integrity": "sha512-ZQ5m+ho/uq7IUBXOvLvgpLeEwIyvVivl4bO/MKGVoQvxL96oZ4VK4dC3vSs8sGuV5j0bAEEH/zBvToWijEcv+A==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@octokit/auth-token": {
"version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz",
- "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
+ "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": ">= 18"
}
},
- "node_modules/@npmcli/package-json": {
- "version": "7.0.2",
- "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-7.0.2.tgz",
- "integrity": "sha512-0ylN3U5htO1SJTmy2YI78PZZjLkKUGg7EKgukb2CRi0kzyoDr0cfjHAzi7kozVhj2V3SxN1oyKqZ2NSo40z00g==",
+ "node_modules/@octokit/core": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz",
+ "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "@npmcli/git": "^7.0.0",
- "glob": "^11.0.3",
- "hosted-git-info": "^9.0.0",
- "json-parse-even-better-errors": "^5.0.0",
- "proc-log": "^6.0.0",
- "semver": "^7.5.3",
- "validate-npm-package-license": "^3.0.4"
+ "@octokit/auth-token": "^4.0.0",
+ "@octokit/graphql": "^7.1.0",
+ "@octokit/request": "^8.4.1",
+ "@octokit/request-error": "^5.1.1",
+ "@octokit/types": "^13.0.0",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 18"
}
},
- "node_modules/@npmcli/package-json/node_modules/glob": {
- "version": "11.1.0",
- "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz",
- "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==",
+ "node_modules/@octokit/endpoint": {
+ "version": "9.0.6",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz",
+ "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "foreground-child": "^3.3.1",
- "jackspeak": "^4.1.1",
- "minimatch": "^10.1.1",
- "minipass": "^7.1.2",
- "package-json-from-dist": "^1.0.0",
- "path-scurry": "^2.0.0"
- },
- "bin": {
- "glob": "dist/esm/bin.mjs"
+ "@octokit/types": "^13.1.0",
+ "universal-user-agent": "^6.0.0"
},
"engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">= 18"
}
},
- "node_modules/@npmcli/package-json/node_modules/jackspeak": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz",
- "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==",
+ "node_modules/@octokit/graphql": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz",
+ "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "@isaacs/cliui": "^8.0.2"
+ "@octokit/request": "^8.4.1",
+ "@octokit/types": "^13.0.0",
+ "universal-user-agent": "^6.0.0"
},
"engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "node": ">= 18"
}
},
- "node_modules/@npmcli/package-json/node_modules/minimatch": {
- "version": "10.1.1",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
- "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "node_modules/@octokit/openapi-types": {
+ "version": "24.2.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
+ "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
"dev": true,
- "license": "BlueOak-1.0.0",
- "dependencies": {
- "@isaacs/brace-expansion": "^5.0.0"
- },
- "engines": {
- "node": "20 || >=22"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
+ "license": "MIT"
},
- "node_modules/@npmcli/package-json/node_modules/minipass": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
- "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "node_modules/@octokit/plugin-enterprise-rest": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz",
+ "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==",
"dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16 || 14 >=14.17"
- }
+ "license": "MIT"
},
- "node_modules/@npmcli/package-json/node_modules/path-scurry": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
- "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "node_modules/@octokit/plugin-paginate-rest": {
+ "version": "11.4.4-cjs.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.4-cjs.2.tgz",
+ "integrity": "sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw==",
"dev": true,
- "license": "BlueOak-1.0.0",
+ "license": "MIT",
"dependencies": {
- "lru-cache": "^11.0.0",
- "minipass": "^7.1.2"
+ "@octokit/types": "^13.7.0"
},
"engines": {
- "node": "20 || >=22"
+ "node": ">= 18"
},
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "peerDependencies": {
+ "@octokit/core": "5"
}
},
- "node_modules/@npmcli/package-json/node_modules/proc-log": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz",
- "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==",
+ "node_modules/@octokit/plugin-request-log": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz",
+ "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": "5"
}
},
- "node_modules/@npmcli/promise-spawn": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-9.0.1.tgz",
- "integrity": "sha512-OLUaoqBuyxeTqUvjA3FZFiXUfYC1alp3Sa99gW3EUDz3tZ3CbXDdcZ7qWKBzicrJleIgucoWamWH1saAmH/l2Q==",
+ "node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "13.3.2-cjs.1",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.2-cjs.1.tgz",
+ "integrity": "sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "which": "^6.0.0"
+ "@octokit/types": "^13.8.0"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
- }
- },
- "node_modules/@npmcli/promise-spawn/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16"
+ "node": ">= 18"
+ },
+ "peerDependencies": {
+ "@octokit/core": "^5"
}
},
- "node_modules/@npmcli/promise-spawn/node_modules/which": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-6.0.0.tgz",
- "integrity": "sha512-f+gEpIKMR9faW/JgAgPK1D7mekkFoqbmiwvNzuhsHetni20QSgzg9Vhn0g2JSJkkfehQnqdUAx7/e15qS1lPxg==",
+ "node_modules/@octokit/request": {
+ "version": "8.4.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz",
+ "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
+ "@octokit/endpoint": "^9.0.6",
+ "@octokit/request-error": "^5.1.1",
+ "@octokit/types": "^13.1.0",
+ "universal-user-agent": "^6.0.0"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 18"
}
},
- "node_modules/@npmcli/query": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@npmcli/query/-/query-4.0.1.tgz",
- "integrity": "sha512-4OIPFb4weUUwkDXJf4Hh1inAn8neBGq3xsH4ZsAaN6FK3ldrFkH7jSpCc7N9xesi0Sp+EBXJ9eGMDrEww2Ztqw==",
+ "node_modules/@octokit/request-error": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz",
+ "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "postcss-selector-parser": "^7.0.0"
+ "@octokit/types": "^13.1.0",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
},
"engines": {
- "node": "^18.17.0 || >=20.5.0"
- }
- },
- "node_modules/@npmcli/redact": {
- "version": "3.2.2",
- "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz",
- "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "node": ">= 18"
}
},
- "node_modules/@npmcli/run-script": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-10.0.2.tgz",
- "integrity": "sha512-9lCTqxaoa9c9cdkzSSx+q/qaYrCrUPEwTWzLkVYg1/T8ESH3BG9vmb1zRc6ODsBVB0+gnGRSqSr01pxTS1yX3A==",
+ "node_modules/@octokit/rest": {
+ "version": "20.1.2",
+ "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.2.tgz",
+ "integrity": "sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "@npmcli/node-gyp": "^5.0.0",
- "@npmcli/package-json": "^7.0.0",
- "@npmcli/promise-spawn": "^9.0.0",
- "node-gyp": "^11.0.0",
- "proc-log": "^6.0.0",
- "which": "^5.0.0"
+ "@octokit/core": "^5.0.2",
+ "@octokit/plugin-paginate-rest": "11.4.4-cjs.2",
+ "@octokit/plugin-request-log": "^4.0.0",
+ "@octokit/plugin-rest-endpoint-methods": "13.3.2-cjs.1"
},
"engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node": ">= 18"
}
},
- "node_modules/@npmcli/run-script/node_modules/@npmcli/node-gyp": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-5.0.0.tgz",
- "integrity": "sha512-uuG5HZFXLfyFKqg8QypsmgLQW7smiRjVc45bqD/ofZZcR/uxEjgQU8qDPv0s9TEeMUiAAU/GC5bR6++UdTirIQ==",
+ "node_modules/@octokit/types": {
+ "version": "13.10.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
+ "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
"dev": true,
- "license": "ISC",
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "license": "MIT",
+ "dependencies": {
+ "@octokit/openapi-types": "^24.2.0"
}
},
- "node_modules/@npmcli/run-script/node_modules/isexe": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz",
- "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==",
+ "node_modules/@paralleldrive/cuid2": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.2.2.tgz",
+ "integrity": "sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==",
"dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=16"
+ "license": "MIT",
+ "dependencies": {
+ "@noble/hashes": "^1.1.5"
}
},
- "node_modules/@npmcli/run-script/node_modules/proc-log": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-6.0.0.tgz",
- "integrity": "sha512-KG/XsTDN901PNfPfAMmj6N/Ywg9tM+bHK8pAz+27fS4N4Pcr+4zoYBOcGSBu6ceXYNPxkLpa4ohtfxV1XcLAfA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^20.17.0 || >=22.9.0"
+ "node_modules/@peculiar/asn1-cms": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.3.15.tgz",
+ "integrity": "sha512-B+DoudF+TCrxoJSTjjcY8Mmu+lbv8e7pXGWrhNp2/EGJp9EEcpzjBCar7puU57sGifyzaRVM03oD5L7t7PghQg==",
+ "license": "MIT",
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.3.15",
+ "@peculiar/asn1-x509": "^2.3.15",
+ "@peculiar/asn1-x509-attr": "^2.3.15",
+ "asn1js": "^3.0.5",
+ "tslib": "^2.8.1"
}
},
- "node_modules/@npmcli/run-script/node_modules/which": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz",
- "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==",
- "dev": true,
- "license": "ISC",
+ "node_modules/@peculiar/asn1-csr": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.3.15.tgz",
+ "integrity": "sha512-caxAOrvw2hUZpxzhz8Kp8iBYKsHbGXZPl2KYRMIPvAfFateRebS3136+orUpcVwHRmpXWX2kzpb6COlIrqCumA==",
+ "license": "MIT",
"dependencies": {
- "isexe": "^3.1.1"
- },
- "bin": {
- "node-which": "bin/which.js"
- },
- "engines": {
- "node": "^18.17.0 || >=20.5.0"
+ "@peculiar/asn1-schema": "^2.3.15",
+ "@peculiar/asn1-x509": "^2.3.15",
+ "asn1js": "^3.0.5",
+ "tslib": "^2.8.1"
}
},
- "node_modules/@nx/devkit": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-22.1.0.tgz",
- "integrity": "sha512-8vWDUDMn2yZnsVDmNKvy0H6XCnXnB6taK25XxS1RGrnkCxrLE7NWDbTfi3SlydYy5LdQgnji8Gy4BjqHVJRlLQ==",
- "dev": true,
+ "node_modules/@peculiar/asn1-ecc": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.3.15.tgz",
+ "integrity": "sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA==",
"license": "MIT",
"dependencies": {
- "@zkochan/js-yaml": "0.0.7",
- "ejs": "^3.1.7",
- "enquirer": "~2.3.6",
- "minimatch": "9.0.3",
- "semver": "^7.6.3",
- "tslib": "^2.3.0",
- "yargs-parser": "21.1.1"
- },
- "peerDependencies": {
- "nx": ">= 21 <= 23 || ^22.0.0-0"
+ "@peculiar/asn1-schema": "^2.3.15",
+ "@peculiar/asn1-x509": "^2.3.15",
+ "asn1js": "^3.0.5",
+ "tslib": "^2.8.1"
}
},
- "node_modules/@nx/devkit/node_modules/minimatch": {
- "version": "9.0.3",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
- "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
- "dev": true,
- "license": "ISC",
+ "node_modules/@peculiar/asn1-pfx": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.3.15.tgz",
+ "integrity": "sha512-E3kzQe3J2xV9DP6SJS4X6/N1e4cYa2xOAK46VtvpaRk8jlheNri8v0rBezKFVPB1rz/jW8npO+u1xOvpATFMWg==",
+ "license": "MIT",
"dependencies": {
- "brace-expansion": "^2.0.1"
- },
- "engines": {
- "node": ">=16 || 14 >=14.17"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
+ "@peculiar/asn1-cms": "^2.3.15",
+ "@peculiar/asn1-pkcs8": "^2.3.15",
+ "@peculiar/asn1-rsa": "^2.3.15",
+ "@peculiar/asn1-schema": "^2.3.15",
+ "asn1js": "^3.0.5",
+ "tslib": "^2.8.1"
}
},
- "node_modules/@nx/nx-darwin-arm64": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-22.1.0.tgz",
- "integrity": "sha512-mQ6DnSDxB993DzgcF+VTDOqldo8SvAIGH7qYlTZuiS5E1BpvTr8V3NmEvuKz7HdMg0oa+77wzOb4xDnuU4rgFw==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
+ "node_modules/@peculiar/asn1-pkcs8": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.3.15.tgz",
+ "integrity": "sha512-/PuQj2BIAw1/v76DV1LUOA6YOqh/UvptKLJHtec/DQwruXOCFlUo7k6llegn8N5BTeZTWMwz5EXruBw0Q10TMg==",
"license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.3.15",
+ "@peculiar/asn1-x509": "^2.3.15",
+ "asn1js": "^3.0.5",
+ "tslib": "^2.8.1"
+ }
},
- "node_modules/@nx/nx-darwin-x64": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-22.1.0.tgz",
- "integrity": "sha512-bY8uoP3GKoOqDSr0Dp7gvOV4q874Q8HG2r6rpmL5kjRCdk0Af28LCVS7m0mNuadpW453zvJg8wJn4fD7nw2NXg==",
- "cpu": [
- "x64"
- ],
- "dev": true,
+ "node_modules/@peculiar/asn1-pkcs9": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.3.15.tgz",
+ "integrity": "sha512-yiZo/1EGvU1KiQUrbcnaPGWc0C7ElMMskWn7+kHsCFm+/9fU0+V1D/3a5oG0Jpy96iaXggQpA9tzdhnYDgjyFg==",
"license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ]
+ "dependencies": {
+ "@peculiar/asn1-cms": "^2.3.15",
+ "@peculiar/asn1-pfx": "^2.3.15",
+ "@peculiar/asn1-pkcs8": "^2.3.15",
+ "@peculiar/asn1-schema": "^2.3.15",
+ "@peculiar/asn1-x509": "^2.3.15",
+ "@peculiar/asn1-x509-attr": "^2.3.15",
+ "asn1js": "^3.0.5",
+ "tslib": "^2.8.1"
+ }
},
- "node_modules/@nx/nx-freebsd-x64": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-freebsd-x64/-/nx-freebsd-x64-22.1.0.tgz",
- "integrity": "sha512-38ER08loKrkF23sW1jfqTan8WyM2vYZc3CD0lSdXGTjqy0RdopW9L/jsRw8I1UDzcP85xLhMVw0LrK7kvZRSrQ==",
- "cpu": [
- "x64"
- ],
- "dev": true,
+ "node_modules/@peculiar/asn1-rsa": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.3.15.tgz",
+ "integrity": "sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg==",
"license": "MIT",
- "optional": true,
- "os": [
- "freebsd"
- ]
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.3.15",
+ "@peculiar/asn1-x509": "^2.3.15",
+ "asn1js": "^3.0.5",
+ "tslib": "^2.8.1"
+ }
},
- "node_modules/@nx/nx-linux-arm-gnueabihf": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-22.1.0.tgz",
- "integrity": "sha512-+paooeUeh+5cv0v++nIa35Q+nvlIpyohn7dFgtU+h7wkXbS/qpKNS+mpdxV+Fox5iPB67wYakzdkgtXi6VA3hg==",
- "cpu": [
- "arm"
- ],
- "dev": true,
+ "node_modules/@peculiar/asn1-schema": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.15.tgz",
+ "integrity": "sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w==",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
+ "dependencies": {
+ "asn1js": "^3.0.5",
+ "pvtsutils": "^1.3.6",
+ "tslib": "^2.8.1"
+ }
},
- "node_modules/@nx/nx-linux-arm64-gnu": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-22.1.0.tgz",
- "integrity": "sha512-DgXp6VPmHr9whP67d29KzI0IF5LEeZtKI2j90hdgM3IIe3YONqYBpUHBEkzJlVV/PgPcm5rJc5VaBNcXYGpVGA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
+ "node_modules/@peculiar/asn1-x509": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.3.15.tgz",
+ "integrity": "sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg==",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.3.15",
+ "asn1js": "^3.0.5",
+ "pvtsutils": "^1.3.6",
+ "tslib": "^2.8.1"
+ }
},
- "node_modules/@nx/nx-linux-arm64-musl": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-22.1.0.tgz",
- "integrity": "sha512-m8MMFSJC/+N1MaZj4ybPQpC0eLb1G40UktnLgYRqmeYHYZ3LQfH1ipzpcSv/z6rMXDs2A8ggZKGnn02UKJeiaA==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
+ "node_modules/@peculiar/asn1-x509-attr": {
+ "version": "2.3.15",
+ "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.3.15.tgz",
+ "integrity": "sha512-TWJVJhqc+IS4MTEML3l6W1b0sMowVqdsnI4dnojg96LvTuP8dga9f76fjP07MUuss60uSyT2ckoti/2qHXA10A==",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
+ "dependencies": {
+ "@peculiar/asn1-schema": "^2.3.15",
+ "@peculiar/asn1-x509": "^2.3.15",
+ "asn1js": "^3.0.5",
+ "tslib": "^2.8.1"
+ }
},
- "node_modules/@nx/nx-linux-x64-gnu": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-22.1.0.tgz",
- "integrity": "sha512-wgJb9CBHZvx1lkiP+rYfF3QpVMjh1X+hBApMFVMS2fO30V47q0wJarejPXd3v0lfCvk1B3MR7pkP/QXeI89MEA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
+ "node_modules/@peculiar/x509": {
+ "version": "1.12.3",
+ "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.12.3.tgz",
+ "integrity": "sha512-+Mzq+W7cNEKfkNZzyLl6A6ffqc3r21HGZUezgfKxpZrkORfOqgRXnS80Zu0IV6a9Ue9QBJeKD7kN0iWfc3bhRQ==",
"license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
+ "dependencies": {
+ "@peculiar/asn1-cms": "^2.3.13",
+ "@peculiar/asn1-csr": "^2.3.13",
+ "@peculiar/asn1-ecc": "^2.3.14",
+ "@peculiar/asn1-pkcs9": "^2.3.13",
+ "@peculiar/asn1-rsa": "^2.3.13",
+ "@peculiar/asn1-schema": "^2.3.13",
+ "@peculiar/asn1-x509": "^2.3.13",
+ "pvtsutils": "^1.3.5",
+ "reflect-metadata": "^0.2.2",
+ "tslib": "^2.7.0",
+ "tsyringe": "^4.8.0"
+ }
},
- "node_modules/@nx/nx-linux-x64-musl": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-22.1.0.tgz",
- "integrity": "sha512-v55nAHazexyU0GkSZyJgw29Y03gJIFGPWABYlQ8xfNyjzZjY8EIpiUm4DoODlEaMSRaPrDctaZWQcnb1tYlawA==",
- "cpu": [
- "x64"
- ],
- "dev": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "linux"
- ]
+ "node_modules/@pinojs/redact": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@pinojs/redact/-/redact-0.4.0.tgz",
+ "integrity": "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==",
+ "license": "MIT"
},
- "node_modules/@nx/nx-win32-arm64-msvc": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-22.1.0.tgz",
- "integrity": "sha512-x1aX20lKDLtwA5/6Hfg81H7entgOdRJC0kDKx2bQwFMAtfU7CRsLWk/CEa2ZpsuuDhZH4XfhWuimnOfulaax+w==",
- "cpu": [
- "arm64"
- ],
- "dev": true,
+ "node_modules/@pkgjs/parseargs": {
+ "version": "0.11.0",
+ "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
+ "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
"license": "MIT",
"optional": true,
- "os": [
- "win32"
- ]
+ "engines": {
+ "node": ">=14"
+ }
},
- "node_modules/@nx/nx-win32-x64-msvc": {
- "version": "22.1.0",
- "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-22.1.0.tgz",
- "integrity": "sha512-ZQ5m+ho/uq7IUBXOvLvgpLeEwIyvVivl4bO/MKGVoQvxL96oZ4VK4dC3vSs8sGuV5j0bAEEH/zBvToWijEcv+A==",
- "cpu": [
- "x64"
- ],
- "dev": true,
+ "node_modules/@pkgr/core": {
+ "version": "0.2.9",
+ "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
+ "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
"license": "MIT",
- "optional": true,
- "os": [
- "win32"
- ]
+ "engines": {
+ "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/pkgr"
+ }
},
- "node_modules/@octokit/auth-token": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz",
- "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==",
+ "node_modules/@pnpm/config.env-replace": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz",
+ "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 18"
+ "node": ">=12.22.0"
}
},
- "node_modules/@octokit/core": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz",
- "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==",
+ "node_modules/@pnpm/network.ca-file": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz",
+ "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/auth-token": "^4.0.0",
- "@octokit/graphql": "^7.1.0",
- "@octokit/request": "^8.4.1",
- "@octokit/request-error": "^5.1.1",
- "@octokit/types": "^13.0.0",
- "before-after-hook": "^2.2.0",
- "universal-user-agent": "^6.0.0"
+ "graceful-fs": "4.2.10"
},
"engines": {
- "node": ">= 18"
+ "node": ">=12.22.0"
}
},
- "node_modules/@octokit/endpoint": {
- "version": "9.0.6",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz",
- "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==",
+ "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/@pnpm/npm-conf": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz",
+ "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^13.1.0",
- "universal-user-agent": "^6.0.0"
+ "@pnpm/config.env-replace": "^1.1.0",
+ "@pnpm/network.ca-file": "^1.0.1",
+ "config-chain": "^1.1.11"
},
"engines": {
- "node": ">= 18"
+ "node": ">=12"
}
},
- "node_modules/@octokit/graphql": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz",
- "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==",
+ "node_modules/@protobuf-ts/plugin": {
+ "version": "2.11.1",
+ "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.11.1.tgz",
+ "integrity": "sha512-HyuprDcw0bEEJqkOWe1rnXUP0gwYLij8YhPuZyZk6cJbIgc/Q0IFgoHQxOXNIXAcXM4Sbehh6kjVnCzasElw1A==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "@octokit/request": "^8.4.1",
- "@octokit/types": "^13.0.0",
- "universal-user-agent": "^6.0.0"
+ "@bufbuild/protobuf": "^2.4.0",
+ "@bufbuild/protoplugin": "^2.4.0",
+ "@protobuf-ts/protoc": "^2.11.1",
+ "@protobuf-ts/runtime": "^2.11.1",
+ "@protobuf-ts/runtime-rpc": "^2.11.1",
+ "typescript": "^3.9"
},
- "engines": {
- "node": ">= 18"
+ "bin": {
+ "protoc-gen-dump": "bin/protoc-gen-dump",
+ "protoc-gen-ts": "bin/protoc-gen-ts"
}
},
- "node_modules/@octokit/openapi-types": {
- "version": "24.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz",
- "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==",
+ "node_modules/@protobuf-ts/plugin/node_modules/typescript": {
+ "version": "3.9.10",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
+ "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
"dev": true,
- "license": "MIT"
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
},
- "node_modules/@octokit/plugin-enterprise-rest": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz",
- "integrity": "sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==",
+ "node_modules/@protobuf-ts/protoc": {
+ "version": "2.11.1",
+ "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.11.1.tgz",
+ "integrity": "sha512-mUZJaV0daGO6HUX90o/atzQ6A7bbN2RSuHtdwo8SSF2Qoe3zHwa4IHyCN1evftTeHfLmdz+45qo47sL+5P8nyg==",
"dev": true,
- "license": "MIT"
+ "license": "Apache-2.0",
+ "bin": {
+ "protoc": "protoc.js"
+ }
},
- "node_modules/@octokit/plugin-paginate-rest": {
- "version": "11.4.4-cjs.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.4-cjs.2.tgz",
- "integrity": "sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw==",
+ "node_modules/@protobuf-ts/runtime": {
+ "version": "2.11.1",
+ "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.11.1.tgz",
+ "integrity": "sha512-KuDaT1IfHkugM2pyz+FwiY80ejWrkH1pAtOBOZFuR6SXEFTsnb/jiQWQ1rCIrcKx2BtyxnxW6BWwsVSA/Ie+WQ==",
+ "license": "(Apache-2.0 AND BSD-3-Clause)"
+ },
+ "node_modules/@protobuf-ts/runtime-rpc": {
+ "version": "2.11.1",
+ "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.11.1.tgz",
+ "integrity": "sha512-4CqqUmNA+/uMz00+d3CYKgElXO9VrEbucjnBFEjqI4GuDrEQ32MaI3q+9qPBvIGOlL4PmHXrzM32vBPWRhQKWQ==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@protobuf-ts/runtime": "^2.11.1"
+ }
+ },
+ "node_modules/@rollup/plugin-alias": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-alias/-/plugin-alias-6.0.0.tgz",
+ "integrity": "sha512-tPCzJOtS7uuVZd+xPhoy5W4vThe6KWXNmsFCNktaAh5RTqcLiSfT4huPQIXkgJ6YCOjJHvecOAzQxLFhPxKr+g==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@octokit/types": "^13.7.0"
- },
"engines": {
- "node": ">= 18"
+ "node": ">=20.19.0"
},
"peerDependencies": {
- "@octokit/core": "5"
+ "rollup": ">=4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "node_modules/@octokit/plugin-request-log": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz",
- "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==",
+ "node_modules/@rollup/plugin-commonjs": {
+ "version": "29.0.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-29.0.0.tgz",
+ "integrity": "sha512-U2YHaxR2cU/yAiwKJtJRhnyLk7cifnQw0zUpISsocBDoHDJn+HTV74ABqnwr5bEgWUwFZC9oFL6wLe21lHu5eQ==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "@rollup/pluginutils": "^5.0.1",
+ "commondir": "^1.0.1",
+ "estree-walker": "^2.0.2",
+ "fdir": "^6.2.0",
+ "is-reference": "1.2.1",
+ "magic-string": "^0.30.3",
+ "picomatch": "^4.0.2"
+ },
"engines": {
- "node": ">= 18"
+ "node": ">=16.0.0 || 14 >= 14.17"
},
"peerDependencies": {
- "@octokit/core": "5"
+ "rollup": "^2.68.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "node_modules/@octokit/plugin-rest-endpoint-methods": {
- "version": "13.3.2-cjs.1",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.2-cjs.1.tgz",
- "integrity": "sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ==",
+ "node_modules/@rollup/plugin-json": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz",
+ "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^13.8.0"
+ "@rollup/pluginutils": "^5.1.0"
},
"engines": {
- "node": ">= 18"
+ "node": ">=14.0.0"
},
"peerDependencies": {
- "@octokit/core": "^5"
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "node_modules/@octokit/request": {
- "version": "8.4.1",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz",
- "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==",
+ "node_modules/@rollup/plugin-node-resolve": {
+ "version": "16.0.3",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-16.0.3.tgz",
+ "integrity": "sha512-lUYM3UBGuM93CnMPG1YocWu7X802BrNF3jW2zny5gQyLQgRFJhV1Sq0Zi74+dh/6NBx1DxFC4b4GXg9wUCG5Qg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/endpoint": "^9.0.6",
- "@octokit/request-error": "^5.1.1",
- "@octokit/types": "^13.1.0",
- "universal-user-agent": "^6.0.0"
+ "@rollup/pluginutils": "^5.0.1",
+ "@types/resolve": "1.20.2",
+ "deepmerge": "^4.2.2",
+ "is-module": "^1.0.0",
+ "resolve": "^1.22.1"
},
"engines": {
- "node": ">= 18"
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.78.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "node_modules/@octokit/request-error": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz",
- "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==",
+ "node_modules/@rollup/plugin-terser": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz",
+ "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/types": "^13.1.0",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
+ "serialize-javascript": "^6.0.1",
+ "smob": "^1.0.0",
+ "terser": "^5.17.4"
},
"engines": {
- "node": ">= 18"
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "node_modules/@octokit/rest": {
- "version": "20.1.2",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.2.tgz",
- "integrity": "sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA==",
+ "node_modules/@rollup/plugin-terser/node_modules/serialize-javascript": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
+ "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "dev": true,
+ "license": "BSD-3-Clause",
+ "dependencies": {
+ "randombytes": "^2.1.0"
+ }
+ },
+ "node_modules/@rollup/pluginutils": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz",
+ "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@octokit/core": "^5.0.2",
- "@octokit/plugin-paginate-rest": "11.4.4-cjs.2",
- "@octokit/plugin-request-log": "^4.0.0",
- "@octokit/plugin-rest-endpoint-methods": "13.3.2-cjs.1"
+ "@types/estree": "^1.0.0",
+ "estree-walker": "^2.0.2",
+ "picomatch": "^4.0.2"
},
"engines": {
- "node": ">= 18"
+ "node": ">=14.0.0"
+ },
+ "peerDependencies": {
+ "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0"
+ },
+ "peerDependenciesMeta": {
+ "rollup": {
+ "optional": true
+ }
}
},
- "node_modules/@octokit/types": {
- "version": "13.10.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz",
- "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==",
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.55.1.tgz",
+ "integrity": "sha512-9R0DM/ykwfGIlNu6+2U09ga0WXeZ9MRC2Ter8jnz8415VbuIykVuc6bhdrbORFZANDmTDvq26mJrEVTl8TdnDg==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@octokit/openapi-types": "^24.2.0"
- }
+ "optional": true,
+ "os": [
+ "android"
+ ]
},
- "node_modules/@paralleldrive/cuid2": {
- "version": "2.2.2",
- "resolved": "https://registry.npmjs.org/@paralleldrive/cuid2/-/cuid2-2.2.2.tgz",
- "integrity": "sha512-ZOBkgDwEdoYVlSeRbYYXs0S9MejQofiVYoTbKzy/6GQa39/q5tQU2IX46+shYnUkpEl3wc+J6wRlar7r2EK2xA==",
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.55.1.tgz",
+ "integrity": "sha512-eFZCb1YUqhTysgW3sj/55du5cG57S7UTNtdMjCW7LwVcj3dTTcowCsC8p7uBdzKsZYa8J7IDE8lhMI+HX1vQvg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@noble/hashes": "^1.1.5"
- }
+ "optional": true,
+ "os": [
+ "android"
+ ]
},
- "node_modules/@peculiar/asn1-cms": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-cms/-/asn1-cms-2.3.15.tgz",
- "integrity": "sha512-B+DoudF+TCrxoJSTjjcY8Mmu+lbv8e7pXGWrhNp2/EGJp9EEcpzjBCar7puU57sGifyzaRVM03oD5L7t7PghQg==",
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.55.1.tgz",
+ "integrity": "sha512-p3grE2PHcQm2e8PSGZdzIhCKbMCw/xi9XvMPErPhwO17vxtvCN5FEA2mSLgmKlCjHGMQTP6phuQTYWUnKewwGg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.3.15",
- "@peculiar/asn1-x509": "^2.3.15",
- "@peculiar/asn1-x509-attr": "^2.3.15",
- "asn1js": "^3.0.5",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
},
- "node_modules/@peculiar/asn1-csr": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-csr/-/asn1-csr-2.3.15.tgz",
- "integrity": "sha512-caxAOrvw2hUZpxzhz8Kp8iBYKsHbGXZPl2KYRMIPvAfFateRebS3136+orUpcVwHRmpXWX2kzpb6COlIrqCumA==",
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.55.1.tgz",
+ "integrity": "sha512-rDUjG25C9qoTm+e02Esi+aqTKSBYwVTaoS1wxcN47/Luqef57Vgp96xNANwt5npq9GDxsH7kXxNkJVEsWEOEaQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.3.15",
- "@peculiar/asn1-x509": "^2.3.15",
- "asn1js": "^3.0.5",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
},
- "node_modules/@peculiar/asn1-ecc": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-ecc/-/asn1-ecc-2.3.15.tgz",
- "integrity": "sha512-/HtR91dvgog7z/WhCVdxZJ/jitJuIu8iTqiyWVgRE9Ac5imt2sT/E4obqIVGKQw7PIy+X6i8lVBoT6wC73XUgA==",
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.55.1.tgz",
+ "integrity": "sha512-+JiU7Jbp5cdxekIgdte0jfcu5oqw4GCKr6i3PJTlXTCU5H5Fvtkpbs4XJHRmWNXF+hKmn4v7ogI5OQPaupJgOg==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.3.15",
- "@peculiar/asn1-x509": "^2.3.15",
- "asn1js": "^3.0.5",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
},
- "node_modules/@peculiar/asn1-pfx": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pfx/-/asn1-pfx-2.3.15.tgz",
- "integrity": "sha512-E3kzQe3J2xV9DP6SJS4X6/N1e4cYa2xOAK46VtvpaRk8jlheNri8v0rBezKFVPB1rz/jW8npO+u1xOvpATFMWg==",
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.55.1.tgz",
+ "integrity": "sha512-V5xC1tOVWtLLmr3YUk2f6EJK4qksksOYiz/TCsFHu/R+woubcLWdC9nZQmwjOAbmExBIVKsm1/wKmEy4z4u4Bw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-cms": "^2.3.15",
- "@peculiar/asn1-pkcs8": "^2.3.15",
- "@peculiar/asn1-rsa": "^2.3.15",
- "@peculiar/asn1-schema": "^2.3.15",
- "asn1js": "^3.0.5",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
},
- "node_modules/@peculiar/asn1-pkcs8": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs8/-/asn1-pkcs8-2.3.15.tgz",
- "integrity": "sha512-/PuQj2BIAw1/v76DV1LUOA6YOqh/UvptKLJHtec/DQwruXOCFlUo7k6llegn8N5BTeZTWMwz5EXruBw0Q10TMg==",
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.55.1.tgz",
+ "integrity": "sha512-Rn3n+FUk2J5VWx+ywrG/HGPTD9jXNbicRtTM11e/uorplArnXZYsVifnPPqNNP5BsO3roI4n8332ukpY/zN7rQ==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.3.15",
- "@peculiar/asn1-x509": "^2.3.15",
- "asn1js": "^3.0.5",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@peculiar/asn1-pkcs9": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-pkcs9/-/asn1-pkcs9-2.3.15.tgz",
- "integrity": "sha512-yiZo/1EGvU1KiQUrbcnaPGWc0C7ElMMskWn7+kHsCFm+/9fU0+V1D/3a5oG0Jpy96iaXggQpA9tzdhnYDgjyFg==",
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.55.1.tgz",
+ "integrity": "sha512-grPNWydeKtc1aEdrJDWk4opD7nFtQbMmV7769hiAaYyUKCT1faPRm2av8CX1YJsZ4TLAZcg9gTR1KvEzoLjXkg==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-cms": "^2.3.15",
- "@peculiar/asn1-pfx": "^2.3.15",
- "@peculiar/asn1-pkcs8": "^2.3.15",
- "@peculiar/asn1-schema": "^2.3.15",
- "@peculiar/asn1-x509": "^2.3.15",
- "@peculiar/asn1-x509-attr": "^2.3.15",
- "asn1js": "^3.0.5",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@peculiar/asn1-rsa": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-rsa/-/asn1-rsa-2.3.15.tgz",
- "integrity": "sha512-p6hsanvPhexRtYSOHihLvUUgrJ8y0FtOM97N5UEpC+VifFYyZa0iZ5cXjTkZoDwxJ/TTJ1IJo3HVTB2JJTpXvg==",
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.55.1.tgz",
+ "integrity": "sha512-a59mwd1k6x8tXKcUxSyISiquLwB5pX+fJW9TkWU46lCqD/GRDe9uDN31jrMmVP3feI3mhAdvcCClhV8V5MhJFQ==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.3.15",
- "@peculiar/asn1-x509": "^2.3.15",
- "asn1js": "^3.0.5",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@peculiar/asn1-schema": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-schema/-/asn1-schema-2.3.15.tgz",
- "integrity": "sha512-QPeD8UA8axQREpgR5UTAfu2mqQmm97oUqahDtNdBcfj3qAnoXzFdQW+aNf/tD2WVXF8Fhmftxoj0eMIT++gX2w==",
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.55.1.tgz",
+ "integrity": "sha512-puS1MEgWX5GsHSoiAsF0TYrpomdvkaXm0CofIMG5uVkP6IBV+ZO9xhC5YEN49nsgYo1DuuMquF9+7EDBVYu4uA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "asn1js": "^3.0.5",
- "pvtsutils": "^1.3.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@peculiar/asn1-x509": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509/-/asn1-x509-2.3.15.tgz",
- "integrity": "sha512-0dK5xqTqSLaxv1FHXIcd4Q/BZNuopg+u1l23hT9rOmQ1g4dNtw0g/RnEi+TboB0gOwGtrWn269v27cMgchFIIg==",
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.55.1.tgz",
+ "integrity": "sha512-r3Wv40in+lTsULSb6nnoudVbARdOwb2u5fpeoOAZjFLznp6tDU8kd+GTHmJoqZ9lt6/Sys33KdIHUaQihFcu7g==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.3.15",
- "asn1js": "^3.0.5",
- "pvtsutils": "^1.3.6",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@peculiar/asn1-x509-attr": {
- "version": "2.3.15",
- "resolved": "https://registry.npmjs.org/@peculiar/asn1-x509-attr/-/asn1-x509-attr-2.3.15.tgz",
- "integrity": "sha512-TWJVJhqc+IS4MTEML3l6W1b0sMowVqdsnI4dnojg96LvTuP8dga9f76fjP07MUuss60uSyT2ckoti/2qHXA10A==",
+ "node_modules/@rollup/rollup-linux-loong64-musl": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.55.1.tgz",
+ "integrity": "sha512-MR8c0+UxAlB22Fq4R+aQSPBayvYa3+9DrwG/i1TKQXFYEaoW3B5b/rkSRIypcZDdWjWnpcvxbNaAJDcSbJU3Lw==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-schema": "^2.3.15",
- "@peculiar/asn1-x509": "^2.3.15",
- "asn1js": "^3.0.5",
- "tslib": "^2.8.1"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@peculiar/x509": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/@peculiar/x509/-/x509-1.12.3.tgz",
- "integrity": "sha512-+Mzq+W7cNEKfkNZzyLl6A6ffqc3r21HGZUezgfKxpZrkORfOqgRXnS80Zu0IV6a9Ue9QBJeKD7kN0iWfc3bhRQ==",
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.55.1.tgz",
+ "integrity": "sha512-3KhoECe1BRlSYpMTeVrD4sh2Pw2xgt4jzNSZIIPLFEsnQn9gAnZagW9+VqDqAHgm1Xc77LzJOo2LdigS5qZ+gw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
"license": "MIT",
- "dependencies": {
- "@peculiar/asn1-cms": "^2.3.13",
- "@peculiar/asn1-csr": "^2.3.13",
- "@peculiar/asn1-ecc": "^2.3.14",
- "@peculiar/asn1-pkcs9": "^2.3.13",
- "@peculiar/asn1-rsa": "^2.3.13",
- "@peculiar/asn1-schema": "^2.3.13",
- "@peculiar/asn1-x509": "^2.3.13",
- "pvtsutils": "^1.3.5",
- "reflect-metadata": "^0.2.2",
- "tslib": "^2.7.0",
- "tsyringe": "^4.8.0"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@pinojs/redact": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/@pinojs/redact/-/redact-0.4.0.tgz",
- "integrity": "sha512-k2ENnmBugE/rzQfEcdWHcCY+/FM3VLzH9cYEsbdsoqrvzAKRhUZeRNhAZvB8OitQJ1TBed3yqWtdjzS6wJKBwg==",
- "license": "MIT"
+ "node_modules/@rollup/rollup-linux-ppc64-musl": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.55.1.tgz",
+ "integrity": "sha512-ziR1OuZx0vdYZZ30vueNZTg73alF59DicYrPViG0NEgDVN8/Jl87zkAPu4u6VjZST2llgEUjaiNl9JM6HH1Vdw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@pkgjs/parseargs": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
- "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==",
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.55.1.tgz",
+ "integrity": "sha512-uW0Y12ih2XJRERZ4jAfKamTyIHVMPQnTZcQjme2HMVDAHY4amf5u414OqNYC+x+LzRdRcnIG1YodLrrtA8xsxw==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
"license": "MIT",
"optional": true,
- "engines": {
- "node": ">=14"
- }
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@pkgr/core": {
- "version": "0.2.9",
- "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz",
- "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==",
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.55.1.tgz",
+ "integrity": "sha512-u9yZ0jUkOED1BFrqu3BwMQoixvGHGZ+JhJNkNKY/hyoEgOwlqKb62qu+7UjbPSHYjiVy8kKJHvXKv5coH4wDeg==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
"license": "MIT",
- "engines": {
- "node": "^12.20.0 || ^14.18.0 || >=16.0.0"
- },
- "funding": {
- "url": "https://opencollective.com/pkgr"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@pnpm/config.env-replace": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/@pnpm/config.env-replace/-/config.env-replace-1.1.0.tgz",
- "integrity": "sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==",
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.55.1.tgz",
+ "integrity": "sha512-/0PenBCmqM4ZUd0190j7J0UsQ/1nsi735iPRakO8iPciE7BQ495Y6msPzaOmvx0/pn+eJVVlZrNrSh4WSYLxNg==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=12.22.0"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@pnpm/network.ca-file": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz",
- "integrity": "sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==",
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.55.1.tgz",
+ "integrity": "sha512-a8G4wiQxQG2BAvo+gU6XrReRRqj+pLS2NGXKm8io19goR+K8lw269eTrPkSdDTALwMmJp4th2Uh0D8J9bEV1vg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "graceful-fs": "4.2.10"
- },
- "engines": {
- "node": ">=12.22.0"
- }
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@pnpm/network.ca-file/node_modules/graceful-fs": {
- "version": "4.2.10",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
- "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.55.1.tgz",
+ "integrity": "sha512-bD+zjpFrMpP/hqkfEcnjXWHMw5BIghGisOKPj+2NaNDuVT+8Ds4mPf3XcPHuat1tz89WRL+1wbcxKY3WSbiT7w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "ISC"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
},
- "node_modules/@pnpm/npm-conf": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/@pnpm/npm-conf/-/npm-conf-2.3.1.tgz",
- "integrity": "sha512-c83qWb22rNRuB0UaVCI0uRPNRr8Z0FWnEIvT47jiHAmOIUHbBOg5XvV7pM5x+rKn9HRpjxquDbXYSXr3fAKFcw==",
+ "node_modules/@rollup/rollup-openbsd-x64": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.55.1.tgz",
+ "integrity": "sha512-eLXw0dOiqE4QmvikfQ6yjgkg/xDM+MdU9YJuP4ySTibXU0oAvnEWXt7UDJmD4UkYialMfOGFPJnIHSe/kdzPxg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@pnpm/config.env-replace": "^1.1.0",
- "@pnpm/network.ca-file": "^1.0.1",
- "config-chain": "^1.1.11"
- },
- "engines": {
- "node": ">=12"
- }
+ "optional": true,
+ "os": [
+ "openbsd"
+ ]
},
- "node_modules/@polka/url": {
- "version": "1.0.0-next.28",
- "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.28.tgz",
- "integrity": "sha512-8LduaNlMZGwdZ6qWrKlfa+2M4gahzFkprZiAt2TF8uS0qQgBizKXpXURqvTJ4WtmupWxaLqjRb2UCTe72mu+Aw==",
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.55.1.tgz",
+ "integrity": "sha512-xzm44KgEP11te3S2HCSyYf5zIzWmx3n8HDCc7EE59+lTcswEWNpvMLfd9uJvVX8LCg9QWG67Xt75AuHn4vgsXw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "MIT"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
},
- "node_modules/@protobuf-ts/plugin": {
- "version": "2.11.1",
- "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.11.1.tgz",
- "integrity": "sha512-HyuprDcw0bEEJqkOWe1rnXUP0gwYLij8YhPuZyZk6cJbIgc/Q0IFgoHQxOXNIXAcXM4Sbehh6kjVnCzasElw1A==",
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.55.1.tgz",
+ "integrity": "sha512-yR6Bl3tMC/gBok5cz/Qi0xYnVbIxGx5Fcf/ca0eB6/6JwOY+SRUcJfI0OpeTpPls7f194as62thCt/2BjxYN8g==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@bufbuild/protobuf": "^2.4.0",
- "@bufbuild/protoplugin": "^2.4.0",
- "@protobuf-ts/protoc": "^2.11.1",
- "@protobuf-ts/runtime": "^2.11.1",
- "@protobuf-ts/runtime-rpc": "^2.11.1",
- "typescript": "^3.9"
- },
- "bin": {
- "protoc-gen-dump": "bin/protoc-gen-dump",
- "protoc-gen-ts": "bin/protoc-gen-ts"
- }
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
},
- "node_modules/@protobuf-ts/plugin/node_modules/typescript": {
- "version": "3.9.10",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz",
- "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==",
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.55.1.tgz",
+ "integrity": "sha512-3fZBidchE0eY0oFZBnekYCfg+5wAB0mbpCBuofh5mZuzIU/4jIVkbESmd2dOsFNS78b53CYv3OAtwqkZZmU5nA==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
- "license": "Apache-2.0",
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
},
- "node_modules/@protobuf-ts/protoc": {
- "version": "2.11.1",
- "resolved": "https://registry.npmjs.org/@protobuf-ts/protoc/-/protoc-2.11.1.tgz",
- "integrity": "sha512-mUZJaV0daGO6HUX90o/atzQ6A7bbN2RSuHtdwo8SSF2Qoe3zHwa4IHyCN1evftTeHfLmdz+45qo47sL+5P8nyg==",
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.55.1.tgz",
+ "integrity": "sha512-xGGY5pXj69IxKb4yv/POoocPy/qmEGhimy/FoTpTSVju3FYXUQQMFCaZZXJVidsmGxRioZAwpThl/4zX41gRKg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "Apache-2.0",
- "bin": {
- "protoc": "protoc.js"
- }
- },
- "node_modules/@protobuf-ts/runtime": {
- "version": "2.11.1",
- "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime/-/runtime-2.11.1.tgz",
- "integrity": "sha512-KuDaT1IfHkugM2pyz+FwiY80ejWrkH1pAtOBOZFuR6SXEFTsnb/jiQWQ1rCIrcKx2BtyxnxW6BWwsVSA/Ie+WQ==",
- "license": "(Apache-2.0 AND BSD-3-Clause)"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
},
- "node_modules/@protobuf-ts/runtime-rpc": {
- "version": "2.11.1",
- "resolved": "https://registry.npmjs.org/@protobuf-ts/runtime-rpc/-/runtime-rpc-2.11.1.tgz",
- "integrity": "sha512-4CqqUmNA+/uMz00+d3CYKgElXO9VrEbucjnBFEjqI4GuDrEQ32MaI3q+9qPBvIGOlL4PmHXrzM32vBPWRhQKWQ==",
- "license": "Apache-2.0",
- "dependencies": {
- "@protobuf-ts/runtime": "^2.11.1"
- }
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.55.1.tgz",
+ "integrity": "sha512-SPEpaL6DX4rmcXtnhdrQYgzQ5W2uW3SCJch88lB2zImhJRhIIK44fkUrgIV/Q8yUNfw5oyZ5vkeQsZLhCb06lw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
},
"node_modules/@rtsao/scc": {
"version": "1.1.0",
@@ -7675,13 +7202,6 @@
"node": ">=10"
}
},
- "node_modules/@testim/chrome-version": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/@testim/chrome-version/-/chrome-version-1.1.4.tgz",
- "integrity": "sha512-kIhULpw9TrGYnHp/8VfdcneIcxKnLixmADtukQRtJUmsVlMg0niMkwV0xZmi8hqa57xqilIHjWFA0GKvEjVU5g==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@tootallnate/once": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
@@ -7945,6 +7465,27 @@
"@types/send": "*"
}
},
+ "node_modules/@types/fs-extra": {
+ "version": "8.1.5",
+ "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-8.1.5.tgz",
+ "integrity": "sha512-0dzKcwO+S8s2kuF5Z9oUWatQJj5Uq/iqphEtE3GQJVRRYm/tD1LglU2UnXi2A8jLq5umkGouOXOR9y0n613ZwQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/glob": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
+ "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
"node_modules/@types/haversine": {
"version": "1.1.8",
"resolved": "https://registry.npmjs.org/@types/haversine/-/haversine-1.1.8.tgz",
@@ -8056,6 +7597,13 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/@types/md5": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/@types/md5/-/md5-2.3.6.tgz",
+ "integrity": "sha512-WD69gNXtRBnpknfZcb4TRQ0XJQbUPZcai/Qdhmka3sxUR3Et8NrXoeAoknG/LghYHTf4ve795rInVYHBTQdNVA==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/@types/merge2": {
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/@types/merge2/-/merge2-1.4.4.tgz",
@@ -8141,19 +7689,19 @@
"license": "MIT"
},
"node_modules/@types/readable-stream": {
- "version": "4.0.18",
- "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.18.tgz",
- "integrity": "sha512-21jK/1j+Wg+7jVw1xnSwy/2Q1VgVjWuFssbYGTREPUBeZ+rqVFl2udq0IkxzPC0ZhOzVceUbyIACFZKLqKEBlA==",
+ "version": "4.0.23",
+ "resolved": "https://registry.npmjs.org/@types/readable-stream/-/readable-stream-4.0.23.tgz",
+ "integrity": "sha512-wwXrtQvbMHxCbBgjHaMGEmImFTQxxpfMOR/ZoQnXxB1woqkUbdLGFDgauo00Py9IudiaqSeiBiulSV9i6XIPig==",
"license": "MIT",
"dependencies": {
- "@types/node": "*",
- "safe-buffer": "~5.1.1"
+ "@types/node": "*"
}
},
- "node_modules/@types/readable-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "node_modules/@types/resolve": {
+ "version": "1.20.2",
+ "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz",
+ "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==",
+ "dev": true,
"license": "MIT"
},
"node_modules/@types/responselike": {
@@ -9351,8 +8899,8 @@
"version": "6.0.2",
"resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
"integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
- "devOptional": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"debug": "4"
},
@@ -9867,7 +9415,6 @@
"version": "4.10.1",
"resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
"integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"bn.js": "^4.0.0",
@@ -9879,7 +9426,6 @@
"version": "4.12.1",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
"integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==",
- "dev": true,
"license": "MIT"
},
"node_modules/asn1js": {
@@ -9966,7 +9512,6 @@
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
"integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"possible-typed-array-names": "^1.0.0"
@@ -10011,138 +9556,44 @@
"babel-preset-jest": "30.2.0",
"chalk": "^4.1.2",
"graceful-fs": "^4.2.11",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.11.0 || ^8.0.0-0"
- }
- },
- "node_modules/babel-loader": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-10.0.0.tgz",
- "integrity": "sha512-z8jt+EdS61AMw22nSfoNJAZ0vrtmhPRVi6ghL3rCeRZI8cdNYFiV5xeV3HbE7rlZZNmGH8BVccwWt8/ED0QOHA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-up": "^5.0.0"
- },
- "engines": {
- "node": "^18.20.0 || ^20.10.0 || >=22.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0",
- "webpack": ">=5.61.0"
- }
- },
- "node_modules/babel-plugin-add-module-exports": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz",
- "integrity": "sha512-g+8yxHUZ60RcyaUpfNzy56OtWW+x9cyEe9j+CranqLiqbju2yf/Cy6ZtYK40EZxtrdHllzlVZgLmcOUCTlJ7Jg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/babel-plugin-istanbul": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz",
- "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==",
- "license": "BSD-3-Clause",
- "workspaces": [
- "test/babel-8"
- ],
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@istanbuljs/load-nyc-config": "^1.0.0",
- "@istanbuljs/schema": "^0.1.3",
- "istanbul-lib-instrument": "^6.0.2",
- "test-exclude": "^6.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/babel-plugin-jest-hoist": {
- "version": "30.2.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz",
- "integrity": "sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==",
- "license": "MIT",
- "dependencies": {
- "@types/babel__core": "^7.20.5"
- },
- "engines": {
- "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.14",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
- "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.27.7",
- "@babel/helper-define-polyfill-provider": "^0.6.5",
- "semver": "^6.3.1"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.13.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz",
- "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.5",
- "core-js-compat": "^3.43.0"
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
},
"peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ "@babel/core": "^7.11.0 || ^8.0.0-0"
}
},
- "node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
- "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
- "dev": true,
- "license": "MIT",
+ "node_modules/babel-plugin-istanbul": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-7.0.1.tgz",
+ "integrity": "sha512-D8Z6Qm8jCvVXtIRkBnqNHX0zJ37rQcFJ9u8WOS6tkYOsRdHBzypCstaxWiu5ZIlqQtviRYbgnRLSoCEvjqcqbA==",
+ "license": "BSD-3-Clause",
+ "workspaces": [
+ "test/babel-8"
+ ],
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.5"
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.3",
+ "istanbul-lib-instrument": "^6.0.2",
+ "test-exclude": "^6.0.0"
},
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/babel-plugin-transform-typescript-metadata": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-transform-typescript-metadata/-/babel-plugin-transform-typescript-metadata-0.4.0.tgz",
- "integrity": "sha512-thy3pV6nMurTsjxONcv14/AyWCLY3RoftFQGJSTrhLOToYSVFCQlm2PD6KHK1UqHPKHwRPXgujfUWhrKuVctcg==",
- "dev": true,
+ "node_modules/babel-plugin-jest-hoist": {
+ "version": "30.2.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-30.2.0.tgz",
+ "integrity": "sha512-ftzhzSGMUnOzcCXd6WHdBGMyuwy15Wnn0iyyWGKgBDLxf9/s5ABuraCSpBX2uG0jUg4rqJnxsLc5+oYBqoxVaA==",
"license": "MIT",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0 || ^8.0.0-0"
+ "@types/babel__core": "^7.20.5"
},
- "peerDependenciesMeta": {
- "@babel/core": {
- "optional": false
- }
+ "engines": {
+ "node": "^18.14.0 || ^20.0.0 || ^22.0.0 || >=24.0.0"
}
},
"node_modules/babel-preset-current-node-syntax": {
@@ -10339,7 +9790,6 @@
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
"integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/body-parser": {
@@ -10556,7 +10006,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
"integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"buffer-xor": "^1.0.3",
@@ -10596,7 +10045,6 @@
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz",
"integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"bn.js": "^5.2.1",
@@ -10811,11 +10259,19 @@
"integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
"license": "MIT"
},
+ "node_modules/buffer-shim": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/buffer-shim/-/buffer-shim-1.0.1.tgz",
+ "integrity": "sha512-VG1oTE6Ecr9h/Gx3XOXue0F1vQaQlkBd3tGAzpL7Fsu+8f1Jbtk5ORPkrVLA/ADBTQ08bcPt3HanaZ7tUfJqMg==",
+ "license": "ISC",
+ "peerDependencies": {
+ "buffer": "^6.0.3"
+ }
+ },
"node_modules/buffer-xor": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
"integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/bufferutil": {
@@ -10965,7 +10421,6 @@
"version": "1.0.8",
"resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz",
"integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==",
- "dev": true,
"license": "MIT",
"dependencies": {
"call-bind-apply-helpers": "^1.0.0",
@@ -11208,29 +10663,6 @@
"node": ">=6.0"
}
},
- "node_modules/chromedriver": {
- "version": "121.0.2",
- "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-121.0.2.tgz",
- "integrity": "sha512-58MUSCEE3oB3G3Y/Jo3URJ2Oa1VLHcVBufyYt7vNfGrABSJm7ienQLF9IQ8LPDlPVgLUXt2OBfggK3p2/SlEBg==",
- "dev": true,
- "hasInstallScript": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@testim/chrome-version": "^1.1.4",
- "axios": "^1.6.5",
- "compare-versions": "^6.1.0",
- "extract-zip": "^2.0.1",
- "https-proxy-agent": "^5.0.1",
- "proxy-from-env": "^1.1.0",
- "tcp-port-used": "^1.0.2"
- },
- "bin": {
- "chromedriver": "bin/chromedriver"
- },
- "engines": {
- "node": ">=18"
- }
- },
"node_modules/ci-info": {
"version": "3.9.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
@@ -11251,7 +10683,6 @@
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz",
"integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"inherits": "^2.0.4",
@@ -11615,6 +11046,13 @@
"dev": true,
"license": "ISC"
},
+ "node_modules/commondir": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
+ "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/compare-func": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz",
@@ -11626,13 +11064,6 @@
"dot-prop": "^5.1.0"
}
},
- "node_modules/compare-versions": {
- "version": "6.1.1",
- "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-6.1.1.tgz",
- "integrity": "sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/component-emitter": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.1.tgz",
@@ -12008,47 +11439,10 @@
"dev": true,
"license": "MIT"
},
- "node_modules/core-js": {
- "version": "3.47.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.47.0.tgz",
- "integrity": "sha512-c3Q2VVkGAUyupsjRnaNX6u8Dq2vAdzm9iuPj5FW0fRxzlxgq9Q39MDq10IvmQSpLgHQNyQzQmOo6bgGHmH3NNg==",
- "hasInstallScript": true,
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
- "node_modules/core-js-compat": {
- "version": "3.44.0",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.44.0.tgz",
- "integrity": "sha512-JepmAj2zfl6ogy34qfWtcE7nHKAJnKsQFRn++scjVS2bZFllwptzw61BZcZFYBPpUznLfAvh0LGhxKppk04ClA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.25.1"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
- "node_modules/core-js-pure": {
- "version": "3.44.0",
- "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.44.0.tgz",
- "integrity": "sha512-gvMQAGB4dfVUxpYD0k3Fq8J+n5bB6Ytl15lqlZrOIXFzxOhtPaObfkQGHtMRdyjIf7z2IeNULwi1jEwyS+ltKQ==",
- "hasInstallScript": true,
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
"node_modules/core-util-is": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
"integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true,
"license": "MIT"
},
"node_modules/cors": {
@@ -12155,7 +11549,6 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
"integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"cipher-base": "^1.0.1",
@@ -12169,7 +11562,6 @@
"version": "1.1.7",
"resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
"integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"cipher-base": "^1.0.3",
@@ -12380,13 +11772,6 @@
"node": "*"
}
},
- "node_modules/debounce": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz",
- "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/debug": {
"version": "4.4.3",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
@@ -12576,7 +11961,6 @@
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
"integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
- "dev": true,
"license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0",
@@ -12769,6 +12153,29 @@
"dev": true,
"license": "MIT"
},
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dir-glob/node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/dns2": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/dns2/-/dns2-2.1.0.tgz",
@@ -13473,6 +12880,48 @@
"node": ">=0.12"
}
},
+ "node_modules/esbuild": {
+ "version": "0.27.2",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.2.tgz",
+ "integrity": "sha512-HyNQImnsOC7X9PMNaCIeAm4ISCQXs5a5YasTXVliKv4uuBo1dKrG0A+uQS8M5eXjVMnLg3WgXaKvprHlFJQffw==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "MIT",
+ "bin": {
+ "esbuild": "bin/esbuild"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.27.2",
+ "@esbuild/android-arm": "0.27.2",
+ "@esbuild/android-arm64": "0.27.2",
+ "@esbuild/android-x64": "0.27.2",
+ "@esbuild/darwin-arm64": "0.27.2",
+ "@esbuild/darwin-x64": "0.27.2",
+ "@esbuild/freebsd-arm64": "0.27.2",
+ "@esbuild/freebsd-x64": "0.27.2",
+ "@esbuild/linux-arm": "0.27.2",
+ "@esbuild/linux-arm64": "0.27.2",
+ "@esbuild/linux-ia32": "0.27.2",
+ "@esbuild/linux-loong64": "0.27.2",
+ "@esbuild/linux-mips64el": "0.27.2",
+ "@esbuild/linux-ppc64": "0.27.2",
+ "@esbuild/linux-riscv64": "0.27.2",
+ "@esbuild/linux-s390x": "0.27.2",
+ "@esbuild/linux-x64": "0.27.2",
+ "@esbuild/netbsd-arm64": "0.27.2",
+ "@esbuild/netbsd-x64": "0.27.2",
+ "@esbuild/openbsd-arm64": "0.27.2",
+ "@esbuild/openbsd-x64": "0.27.2",
+ "@esbuild/openharmony-arm64": "0.27.2",
+ "@esbuild/sunos-x64": "0.27.2",
+ "@esbuild/win32-arm64": "0.27.2",
+ "@esbuild/win32-ia32": "0.27.2",
+ "@esbuild/win32-x64": "0.27.2"
+ }
+ },
"node_modules/escalade": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
@@ -13988,6 +13437,13 @@
"node": ">=4.0"
}
},
+ "node_modules/estree-walker": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
+ "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/esutils": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
@@ -14136,7 +13592,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
"integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"md5.js": "^1.3.4",
@@ -14731,7 +14186,6 @@
"version": "0.3.5",
"resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz",
"integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"is-callable": "^1.2.7"
@@ -15287,19 +14741,6 @@
"node": ">=0.10.0"
}
},
- "node_modules/git-revision-webpack-plugin": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/git-revision-webpack-plugin/-/git-revision-webpack-plugin-5.0.0.tgz",
- "integrity": "sha512-RptQN/4UKcEPkCBmRy8kLPo5i8MnF8+XfAgFYN9gbwmKLTLx4YHsQw726H+C5+sIGDixDkmGL3IxPA2gKo+u4w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "peerDependencies": {
- "webpack": "^5.0.0"
- }
- },
"node_modules/git-semver-tags": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-5.0.1.tgz",
@@ -15466,6 +14907,26 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/globby": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.1.tgz",
+ "integrity": "sha512-sSs4inE1FB2YQiymcmTv6NWENryABjUNPeWhOvmn4SjtKybglsyPZxFB3U1/+L1bYi0rNZDqCLlHyLYDl1Pq5A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/glob": "^7.1.1",
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.0.3",
+ "glob": "^7.1.3",
+ "ignore": "^5.1.1",
+ "merge2": "^1.2.3",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/gopd": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
@@ -15582,7 +15043,6 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
"integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"es-define-property": "^1.0.0"
@@ -15645,7 +15105,6 @@
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.5.tgz",
"integrity": "sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"inherits": "^2.0.4",
@@ -15875,8 +15334,8 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
"integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
- "devOptional": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
"agent-base": "6",
"debug": "4"
@@ -16272,16 +15731,6 @@
"node": ">= 12"
}
},
- "node_modules/ip-regex": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz",
- "integrity": "sha512-B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
"node_modules/ipaddr.js": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
@@ -16412,7 +15861,6 @@
"version": "1.2.7",
"resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
"integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -16607,6 +16055,13 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-module": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz",
+ "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/is-nan": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz",
@@ -16683,6 +16138,16 @@
"node": ">=0.10.0"
}
},
+ "node_modules/is-plain-object": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.1.tgz",
+ "integrity": "sha512-Xnpx182SBMrr/aBik8y+GuR4U1L9FqMSojwDQwPMmxyC6bvEqly9UBCxhauBF5vNh2gwWJNX6oDV7O+OM4z34g==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
"node_modules/is-potential-custom-element-name": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
@@ -16696,6 +16161,16 @@
"integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
"license": "MIT"
},
+ "node_modules/is-reference": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz",
+ "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
"node_modules/is-regex": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz",
@@ -16818,7 +16293,6 @@
"version": "1.1.15",
"resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz",
"integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"which-typed-array": "^1.1.16"
@@ -16849,13 +16323,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/is-url": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz",
- "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/is-weakmap": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
@@ -16915,26 +16382,10 @@
"node": ">=8"
}
},
- "node_modules/is2": {
- "version": "2.0.9",
- "resolved": "https://registry.npmjs.org/is2/-/is2-2.0.9.tgz",
- "integrity": "sha512-rZkHeBn9Zzq52sd9IUIV3a5mfwBY+o2HePMh0wkGBM4z4qjvy2GwVxQ6nNXSfw6MmVP6gf1QIlWjiOavhM3x5g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "deep-is": "^0.1.3",
- "ip-regex": "^4.1.0",
- "is-url": "^1.2.4"
- },
- "engines": {
- "node": ">=v0.10.0"
- }
- },
"node_modules/isarray": {
"version": "2.0.5",
"resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
"integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
- "dev": true,
"license": "MIT"
},
"node_modules/isbinaryfile": {
@@ -19209,26 +18660,6 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"license": "MIT"
},
- "node_modules/lodash-webpack-plugin": {
- "version": "0.11.6",
- "resolved": "https://registry.npmjs.org/lodash-webpack-plugin/-/lodash-webpack-plugin-0.11.6.tgz",
- "integrity": "sha512-nsHN/+IxZK/C425vGC8pAxkKJ8KQH2+NJnhDul14zYNWr6HJcA95w+oRR7Cp0oZpOdMplDZXmjVROp8prPk7ig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lodash": "^4.17.20"
- },
- "peerDependencies": {
- "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.1.0"
- }
- },
- "node_modules/lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/lodash.defaults": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz",
@@ -19360,6 +18791,16 @@
"node": "20 || >=22"
}
},
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@jridgewell/sourcemap-codec": "^1.5.5"
+ }
+ },
"node_modules/make-dir": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
@@ -19631,7 +19072,6 @@
"version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
"integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"hash-base": "^3.0.0",
@@ -20606,16 +20046,6 @@
}
}
},
- "node_modules/mrmime": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz",
- "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
"node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
@@ -21937,16 +21367,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/opener": {
- "version": "1.5.2",
- "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz",
- "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==",
- "dev": true,
- "license": "(WTFPL OR MIT)",
- "bin": {
- "opener": "bin/opener-bin.js"
- }
- },
"node_modules/optionator": {
"version": "0.9.4",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
@@ -22667,7 +22087,6 @@
"version": "5.1.7",
"resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz",
"integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==",
- "dev": true,
"license": "ISC",
"dependencies": {
"asn1.js": "^4.10.1",
@@ -22808,7 +22227,6 @@
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
- "dev": true,
"license": "MIT"
},
"node_modules/path-exists": {
@@ -22934,7 +22352,6 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
"integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"create-hash": "^1.1.2",
@@ -23112,7 +22529,6 @@
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz",
"integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==",
- "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.4"
@@ -23369,7 +22785,6 @@
"version": "4.0.3",
"resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
"integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "dev": true,
"license": "MIT",
"dependencies": {
"bn.js": "^4.1.0",
@@ -23384,7 +22799,6 @@
"version": "4.12.1",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.1.tgz",
"integrity": "sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==",
- "dev": true,
"license": "MIT"
},
"node_modules/pump": {
@@ -23992,26 +23406,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/regenerate": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regenerate-unicode-properties": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
- "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerate": "^1.4.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/regexp.prototype.flags": {
"version": "1.5.4",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz",
@@ -24022,33 +23416,15 @@
"call-bind": "^1.0.8",
"define-properties": "^1.2.1",
"es-errors": "^1.3.0",
- "get-proto": "^1.0.1",
- "gopd": "^1.2.0",
- "set-function-name": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/regexpu-core": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
- "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.2.0",
- "regjsgen": "^0.8.0",
- "regjsparser": "^0.12.0",
- "unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.1.0"
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "set-function-name": "^2.0.2"
},
"engines": {
- "node": ">=4"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/registry-auth-token": {
@@ -24080,39 +23456,6 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
- "node_modules/regjsgen": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regjsparser": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
- "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "jsesc": "~3.0.2"
- },
- "bin": {
- "regjsparser": "bin/parser"
- }
- },
- "node_modules/regjsparser/node_modules/jsesc": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
- "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/reinterval": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/reinterval/-/reinterval-1.1.0.tgz",
@@ -24352,7 +23695,6 @@
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
"integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "dev": true,
"license": "MIT",
"dependencies": {
"hash-base": "^3.0.0",
@@ -24378,6 +23720,133 @@
"node": ">=8.0"
}
},
+ "node_modules/rollup": {
+ "version": "4.55.1",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.55.1.tgz",
+ "integrity": "sha512-wDv/Ht1BNHB4upNbK74s9usvl7hObDnvVzknxqY/E/O3X6rW1U1rV1aENEfJ54eFZDTNo7zv1f5N4edCluH7+A==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/estree": "1.0.8"
+ },
+ "bin": {
+ "rollup": "dist/bin/rollup"
+ },
+ "engines": {
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
+ },
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.55.1",
+ "@rollup/rollup-android-arm64": "4.55.1",
+ "@rollup/rollup-darwin-arm64": "4.55.1",
+ "@rollup/rollup-darwin-x64": "4.55.1",
+ "@rollup/rollup-freebsd-arm64": "4.55.1",
+ "@rollup/rollup-freebsd-x64": "4.55.1",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.55.1",
+ "@rollup/rollup-linux-arm-musleabihf": "4.55.1",
+ "@rollup/rollup-linux-arm64-gnu": "4.55.1",
+ "@rollup/rollup-linux-arm64-musl": "4.55.1",
+ "@rollup/rollup-linux-loong64-gnu": "4.55.1",
+ "@rollup/rollup-linux-loong64-musl": "4.55.1",
+ "@rollup/rollup-linux-ppc64-gnu": "4.55.1",
+ "@rollup/rollup-linux-ppc64-musl": "4.55.1",
+ "@rollup/rollup-linux-riscv64-gnu": "4.55.1",
+ "@rollup/rollup-linux-riscv64-musl": "4.55.1",
+ "@rollup/rollup-linux-s390x-gnu": "4.55.1",
+ "@rollup/rollup-linux-x64-gnu": "4.55.1",
+ "@rollup/rollup-linux-x64-musl": "4.55.1",
+ "@rollup/rollup-openbsd-x64": "4.55.1",
+ "@rollup/rollup-openharmony-arm64": "4.55.1",
+ "@rollup/rollup-win32-arm64-msvc": "4.55.1",
+ "@rollup/rollup-win32-ia32-msvc": "4.55.1",
+ "@rollup/rollup-win32-x64-gnu": "4.55.1",
+ "@rollup/rollup-win32-x64-msvc": "4.55.1",
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/rollup-plugin-copy": {
+ "version": "3.5.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-copy/-/rollup-plugin-copy-3.5.0.tgz",
+ "integrity": "sha512-wI8D5dvYovRMx/YYKtUNt3Yxaw4ORC9xo6Gt9t22kveWz1enG9QrhVlagzwrxSC455xD1dHMKhIJkbsQ7d48BA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "@types/fs-extra": "^8.0.1",
+ "colorette": "^1.1.0",
+ "fs-extra": "^8.1.0",
+ "globby": "10.0.1",
+ "is-plain-object": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8.3"
+ }
+ },
+ "node_modules/rollup-plugin-copy/node_modules/colorette": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.4.0.tgz",
+ "integrity": "sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/rollup-plugin-copy/node_modules/fs-extra": {
+ "version": "8.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz",
+ "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/rollup-plugin-copy/node_modules/jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "dev": true,
+ "license": "MIT",
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/rollup-plugin-copy/node_modules/universalify": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz",
+ "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/rollup-plugin-dts": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/rollup-plugin-dts/-/rollup-plugin-dts-6.3.0.tgz",
+ "integrity": "sha512-d0UrqxYd8KyZ6i3M2Nx7WOMy708qsV/7fTHMHxCMCBOAe3V/U7OMPu5GkX8hC+cmkHhzGnfeYongl1IgiooddA==",
+ "dev": true,
+ "license": "LGPL-3.0-only",
+ "dependencies": {
+ "magic-string": "^0.30.21"
+ },
+ "engines": {
+ "node": ">=16"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/Swatinem"
+ },
+ "optionalDependencies": {
+ "@babel/code-frame": "^7.27.1"
+ },
+ "peerDependencies": {
+ "rollup": "^3.29.4 || ^4",
+ "typescript": "^4.5 || ^5.0"
+ }
+ },
"node_modules/router": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
@@ -24810,7 +24279,6 @@
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
"integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
- "dev": true,
"license": "MIT",
"dependencies": {
"define-data-property": "^1.1.4",
@@ -24859,7 +24327,6 @@
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
"integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
- "dev": true,
"license": "MIT"
},
"node_modules/setimmediate-napi": {
@@ -24883,7 +24350,6 @@
"version": "2.4.11",
"resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
"integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "dev": true,
"license": "(MIT AND BSD-3-Clause)",
"dependencies": {
"inherits": "^2.0.1",
@@ -25083,21 +24549,6 @@
"simple-concat": "^1.0.0"
}
},
- "node_modules/sirv": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.4.tgz",
- "integrity": "sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@polka/url": "^1.0.0-next.24",
- "mrmime": "^2.0.0",
- "totalist": "^3.0.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
"node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -25118,6 +24569,13 @@
"npm": ">= 3.0.0"
}
},
+ "node_modules/smob": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz",
+ "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==",
+ "dev": true,
+ "license": "MIT"
+ },
"node_modules/socket.io": {
"version": "4.8.1",
"resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz",
@@ -26388,42 +25846,6 @@
"node": ">=18"
}
},
- "node_modules/tcp-port-used": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/tcp-port-used/-/tcp-port-used-1.0.2.tgz",
- "integrity": "sha512-l7ar8lLUD3XS1V2lfoJlCBaeoaWo/2xfYt81hM7VlvR4RrMVFqfmzfhLVk40hAb368uitje5gPtBRL1m/DGvLA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "4.3.1",
- "is2": "^2.0.6"
- }
- },
- "node_modules/tcp-port-used/node_modules/debug": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
- "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/tcp-port-used/node_modules/ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/temp-dir": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-1.0.0.tgz",
@@ -26663,7 +26085,6 @@
"version": "2.0.12",
"resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
"integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
- "dev": true,
"license": "MIT",
"dependencies": {
"setimmediate": "^1.0.4"
@@ -26712,6 +26133,20 @@
"integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
"license": "BSD-3-Clause"
},
+ "node_modules/to-buffer": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.2.2.tgz",
+ "integrity": "sha512-db0E3UJjcFhpDhAF4tLo03oli3pwl3dbnzXOUIlRKrp+ldk/VUxzpWYZENsw2SZiuBjHAk7DfB0VU7NKdpb6sw==",
+ "license": "MIT",
+ "dependencies": {
+ "isarray": "^2.0.5",
+ "safe-buffer": "^5.2.1",
+ "typed-array-buffer": "^1.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/to-regex-range": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
@@ -26733,16 +26168,6 @@
"node": ">=0.6"
}
},
- "node_modules/totalist": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.1.tgz",
- "integrity": "sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
"node_modules/tough-cookie": {
"version": "4.1.4",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.4.tgz",
@@ -26947,13 +26372,13 @@
}
},
"node_modules/ts-loader/node_modules/source-map": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz",
- "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==",
+ "version": "0.7.6",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz",
+ "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==",
"dev": true,
"license": "BSD-3-Clause",
"engines": {
- "node": ">= 8"
+ "node": ">= 12"
}
},
"node_modules/ts-node": {
@@ -27057,6 +26482,26 @@
"integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
"license": "0BSD"
},
+ "node_modules/tsx": {
+ "version": "4.21.0",
+ "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.21.0.tgz",
+ "integrity": "sha512-5C1sg4USs1lfG0GFb2RLXsdpXqBSEhAaA/0kPL01wxzpMqLILNxIxIOKiILz+cdg/pLnOUxFYOR5yhHU666wbw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "esbuild": "~0.27.0",
+ "get-tsconfig": "^4.7.5"
+ },
+ "bin": {
+ "tsx": "dist/cli.mjs"
+ },
+ "engines": {
+ "node": ">=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
+ }
+ },
"node_modules/tsyringe": {
"version": "4.10.0",
"resolved": "https://registry.npmjs.org/tsyringe/-/tsyringe-4.10.0.tgz",
@@ -27167,7 +26612,6 @@
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz",
"integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"call-bound": "^1.0.3",
@@ -27361,50 +26805,6 @@
"integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
"license": "MIT"
},
- "node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
- "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-match-property-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "unicode-canonical-property-names-ecmascript": "^2.0.0",
- "unicode-property-aliases-ecmascript": "^2.0.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
- "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/unicode-property-aliases-ecmascript": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
- "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/unique-filename": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz",
@@ -27824,87 +27224,29 @@
"eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.11",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.3.1",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^4.3.3",
- "tapable": "^2.3.0",
- "terser-webpack-plugin": "^5.3.11",
- "watchpack": "^2.4.4",
- "webpack-sources": "^3.3.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
- }
- },
- "node_modules/webpack-bundle-analyzer": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-5.0.1.tgz",
- "integrity": "sha512-PUp3YFOHysSw8t+13rcF+8o5SGaP/AZ5KnIF3qJfFodv4xJkmixnfcyy+LOwNadpzvyrEKpaMlewAG2sFUfdpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@discoveryjs/json-ext": "0.5.7",
- "acorn": "^8.0.4",
- "acorn-walk": "^8.0.0",
- "commander": "^7.2.0",
- "debounce": "^1.2.1",
- "escape-string-regexp": "^4.0.0",
- "html-escaper": "^2.0.2",
- "opener": "^1.5.2",
- "picocolors": "^1.0.0",
- "sirv": "^2.0.3",
- "ws": "^7.3.1"
- },
- "bin": {
- "webpack-bundle-analyzer": "lib/bin/analyzer.js"
- },
- "engines": {
- "node": ">= 20.9.0"
- }
- },
- "node_modules/webpack-bundle-analyzer/node_modules/commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/webpack-bundle-analyzer/node_modules/ws": {
- "version": "7.5.10",
- "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
- "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
- "dev": true,
- "license": "MIT",
+ "graceful-fs": "^4.2.11",
+ "json-parse-even-better-errors": "^2.3.1",
+ "loader-runner": "^4.3.1",
+ "mime-types": "^2.1.27",
+ "neo-async": "^2.6.2",
+ "schema-utils": "^4.3.3",
+ "tapable": "^2.3.0",
+ "terser-webpack-plugin": "^5.3.11",
+ "watchpack": "^2.4.4",
+ "webpack-sources": "^3.3.3"
+ },
+ "bin": {
+ "webpack": "bin/webpack.js"
+ },
"engines": {
- "node": ">=8.3.0"
+ "node": ">=10.13.0"
},
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": "^5.0.2"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
},
"peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
+ "webpack-cli": {
"optional": true
}
}
@@ -28222,7 +27564,6 @@
"version": "1.1.19",
"resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz",
"integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==",
- "dev": true,
"license": "MIT",
"dependencies": {
"available-typed-arrays": "^1.0.7",
@@ -28584,294 +27925,553 @@
"yargs-parser": "^21.1.1"
},
"engines": {
- "node": ">=12"
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "license": "ISC",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-unparser": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
+ "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "camelcase": "^6.0.0",
+ "decamelize": "^4.0.0",
+ "flat": "^5.0.2",
+ "is-plain-obj": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs-unparser/node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/yargs-unparser/node_modules/decamelize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
+ "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/yargs-unparser/node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/yarn": {
+ "version": "1.22.22",
+ "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz",
+ "integrity": "sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==",
+ "dev": true,
+ "hasInstallScript": true,
+ "license": "BSD-2-Clause",
+ "bin": {
+ "yarn": "bin/yarn.js",
+ "yarnpkg": "bin/yarn.js"
+ },
+ "engines": {
+ "node": ">=4.0.0"
+ }
+ },
+ "node_modules/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
+ },
+ "node_modules/yn": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "dev": true,
+ "license": "MIT",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/yoctocolors-cjs": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz",
+ "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zip-stream": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz",
+ "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "archiver-utils": "^3.0.4",
+ "compress-commons": "^4.1.2",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/zip-stream/node_modules/archiver-utils": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz",
+ "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "glob": "^7.2.3",
+ "graceful-fs": "^4.2.0",
+ "lazystream": "^1.0.0",
+ "lodash.defaults": "^4.2.0",
+ "lodash.difference": "^4.5.0",
+ "lodash.flatten": "^4.4.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.union": "^4.6.0",
+ "normalize-path": "^3.0.0",
+ "readable-stream": "^3.6.0"
+ },
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/zip-stream/node_modules/readable-stream": {
+ "version": "3.6.2",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "dev": true,
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.3",
+ "string_decoder": "^1.1.1",
+ "util-deprecate": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/zod": {
+ "version": "4.1.13",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz",
+ "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==",
+ "license": "MIT",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
+ },
+ "node_modules/zx": {
+ "version": "8.8.5",
+ "resolved": "https://registry.npmjs.org/zx/-/zx-8.8.5.tgz",
+ "integrity": "sha512-SNgDF5L0gfN7FwVOdEFguY3orU5AkfFZm9B5YSHog/UDHv+lvmd82ZAsOenOkQixigwH2+yyH198AwNdKhj+RA==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "zx": "build/cli.js"
+ },
+ "engines": {
+ "node": ">= 12.17.0"
+ }
+ },
+ "packages/autocertifier-client": {
+ "name": "@streamr/autocertifier-client",
+ "version": "103.2.0-experiment.1",
+ "license": "STREAMR NETWORK OPEN SOURCE LICENSE",
+ "dependencies": {
+ "@protobuf-ts/runtime-rpc": "^2.8.2",
+ "@streamr/utils": "103.2.0-experiment.1",
+ "eventemitter3": "^5.0.0",
+ "node-forge": "^1.3.2"
+ },
+ "devDependencies": {
+ "@rollup/plugin-node-resolve": "^16.0.3",
+ "@types/node-forge": "^1.3.14",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
+ }
+ },
+ "packages/autocertifier-client/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/autocertifier-client/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "packages/autocertifier-client/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
"license": "ISC",
"engines": {
- "node": ">=12"
+ "node": ">=16 || 14 >=14.17"
}
},
- "node_modules/yargs-unparser": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz",
- "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==",
+ "packages/autocertifier-client/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
"dev": true,
- "license": "MIT",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "camelcase": "^6.0.0",
- "decamelize": "^4.0.0",
- "flat": "^5.0.2",
- "is-plain-obj": "^2.1.0"
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
},
"engines": {
- "node": ">=10"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/yargs-unparser/node_modules/camelcase": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
- "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "packages/autocertifier-client/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
"dev": true,
- "license": "MIT",
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
"engines": {
- "node": ">=10"
+ "node": "20 || >=22"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/yargs-unparser/node_modules/decamelize": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz",
- "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
+ "packages/autocertifier-server": {
+ "name": "@streamr/autocertifier-server",
+ "version": "103.2.0-experiment.1",
+ "license": "STREAMR NETWORK OPEN SOURCE LICENSE",
+ "dependencies": {
+ "@aws-sdk/client-route-53": "^3.936.0",
+ "@streamr/autocertifier-client": "103.2.0-experiment.1",
+ "@streamr/dht": "103.2.0-experiment.1",
+ "@streamr/proto-rpc": "103.2.0-experiment.1",
+ "@streamr/utils": "103.2.0-experiment.1",
+ "acme-client": "^5.4.0",
+ "body-parser": "^2.2.1",
+ "dns2": "^2.1.0",
+ "dotenv": "^17.2.3",
+ "express": "^5.2.0",
+ "lodash": "^4.17.21",
+ "sqlite": "^5.1.1",
+ "sqlite3": "^5.1.7",
+ "uuid": "^11.1.0"
},
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "bin": {
+ "autocertifier": "dist/bin/run.js",
+ "copyARecordsToRoute53": "dist/bin/copyARecordsToRoute53.js"
+ },
+ "devDependencies": {
+ "@types/dns2": "^2.0.10",
+ "@types/express": "^5.0.1"
}
},
- "node_modules/yargs-unparser/node_modules/is-plain-obj": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
- "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
+ "packages/browser-test-runner": {
+ "name": "@streamr/browser-test-runner",
+ "version": "0.0.1",
+ "license": "Apache-2.0",
+ "devDependencies": {
+ "@electron/rebuild": "^4.0.1",
+ "@jest/fake-timers": "^30.0.5",
+ "@rollup/plugin-node-resolve": "^16.0.3",
+ "buffer": "^6.0.3",
+ "electron": "^34.0.0",
+ "expect": "^30.0.5",
+ "jest-matcher-utils": "^30.0.5",
+ "jest-mock": "^30.0.5",
+ "karma": "^6.4.4",
+ "karma-chrome-launcher": "^3.1.1",
+ "karma-electron": "^7.3.0",
+ "karma-jasmine": "^5.1.0",
+ "karma-sourcemap-loader": "^0.4.0",
+ "karma-spec-reporter": "^0.0.36",
+ "karma-webpack": "^5.0.1",
+ "node-polyfill-webpack-plugin": "^4.1.0",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "ts-loader": "^9.5.4",
+ "tsx": "^4.21.0",
+ "webpack": "^5.103.0",
+ "webpack-cli": "^6.0.1"
}
},
- "node_modules/yarn": {
- "version": "1.22.22",
- "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz",
- "integrity": "sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==",
+ "packages/browser-test-runner/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
"dev": true,
- "hasInstallScript": true,
- "license": "BSD-2-Clause",
- "bin": {
- "yarn": "bin/yarn.js",
- "yarnpkg": "bin/yarn.js"
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
},
"engines": {
- "node": ">=4.0.0"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/yauzl": {
- "version": "2.10.0",
- "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz",
- "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==",
+ "packages/browser-test-runner/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
"dev": true,
- "license": "MIT",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "buffer-crc32": "~0.2.3",
- "fd-slicer": "~1.1.0"
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/yn": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
- "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
+ "packages/browser-test-runner/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"engines": {
- "node": ">=6"
+ "node": ">=16 || 14 >=14.17"
}
},
- "node_modules/yocto-queue": {
- "version": "0.1.0",
- "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
- "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
- "license": "MIT",
+ "packages/browser-test-runner/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
"engines": {
- "node": ">=10"
+ "node": "20 || >=22"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/yoctocolors-cjs": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz",
- "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==",
- "license": "MIT",
+ "packages/browser-test-runner/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
"engines": {
- "node": ">=18"
+ "node": "20 || >=22"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/zip-stream": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/zip-stream/-/zip-stream-4.1.1.tgz",
- "integrity": "sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==",
- "dev": true,
- "license": "MIT",
+ "packages/cdn-location": {
+ "name": "@streamr/cdn-location",
+ "version": "103.2.0-experiment.1",
+ "license": "Apache-2.0",
"dependencies": {
- "archiver-utils": "^3.0.4",
- "compress-commons": "^4.1.2",
- "readable-stream": "^3.6.0"
+ "@streamr/utils": "103.2.0-experiment.1",
+ "haversine": "^1.1.1"
},
- "engines": {
- "node": ">= 10"
+ "devDependencies": {
+ "@rollup/plugin-node-resolve": "^16.0.3",
+ "@types/haversine": "^1.1.8",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
}
},
- "node_modules/zip-stream/node_modules/archiver-utils": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/archiver-utils/-/archiver-utils-3.0.4.tgz",
- "integrity": "sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==",
+ "packages/cdn-location/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
"dev": true,
- "license": "MIT",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "glob": "^7.2.3",
- "graceful-fs": "^4.2.0",
- "lazystream": "^1.0.0",
- "lodash.defaults": "^4.2.0",
- "lodash.difference": "^4.5.0",
- "lodash.flatten": "^4.4.0",
- "lodash.isplainobject": "^4.0.6",
- "lodash.union": "^4.6.0",
- "normalize-path": "^3.0.0",
- "readable-stream": "^3.6.0"
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
},
"engines": {
- "node": ">= 10"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/zip-stream/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "packages/cdn-location/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
"dev": true,
- "license": "MIT",
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "@isaacs/brace-expansion": "^5.0.0"
},
"engines": {
- "node": ">= 6"
- }
- },
- "node_modules/zod": {
- "version": "4.1.13",
- "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz",
- "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==",
- "license": "MIT",
+ "node": "20 || >=22"
+ },
"funding": {
- "url": "https://github.com/sponsors/colinhacks"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "node_modules/zx": {
- "version": "8.8.5",
- "resolved": "https://registry.npmjs.org/zx/-/zx-8.8.5.tgz",
- "integrity": "sha512-SNgDF5L0gfN7FwVOdEFguY3orU5AkfFZm9B5YSHog/UDHv+lvmd82ZAsOenOkQixigwH2+yyH198AwNdKhj+RA==",
+ "packages/cdn-location/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
"dev": true,
- "license": "Apache-2.0",
- "bin": {
- "zx": "build/cli.js"
- },
+ "license": "ISC",
"engines": {
- "node": ">= 12.17.0"
+ "node": ">=16 || 14 >=14.17"
}
},
- "packages/autocertifier-client": {
- "name": "@streamr/autocertifier-client",
- "version": "103.2.2",
- "license": "STREAMR NETWORK OPEN SOURCE LICENSE",
+ "packages/cdn-location/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@protobuf-ts/runtime-rpc": "^2.8.2",
- "@streamr/utils": "103.2.2",
- "eventemitter3": "^5.0.0",
- "node-forge": "^1.3.2"
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
},
- "devDependencies": {
- "@types/node-forge": "^1.3.14"
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "packages/autocertifier-server": {
- "name": "@streamr/autocertifier-server",
- "version": "103.2.2",
- "license": "STREAMR NETWORK OPEN SOURCE LICENSE",
+ "packages/cdn-location/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@aws-sdk/client-route-53": "^3.936.0",
- "@streamr/autocertifier-client": "103.2.2",
- "@streamr/dht": "103.2.2",
- "@streamr/proto-rpc": "103.2.2",
- "@streamr/utils": "103.2.2",
- "acme-client": "^5.4.0",
- "body-parser": "^2.2.1",
- "dns2": "^2.1.0",
- "dotenv": "^17.2.3",
- "express": "^5.2.0",
- "lodash": "^4.17.21",
- "sqlite": "^5.1.1",
- "sqlite3": "^5.1.7",
- "uuid": "^11.1.0"
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
},
"bin": {
- "autocertifier": "dist/bin/run.js",
- "copyARecordsToRoute53": "dist/bin/copyARecordsToRoute53.js"
+ "rimraf": "dist/esm/bin.mjs"
},
- "devDependencies": {
- "@types/dns2": "^2.0.10",
- "@types/express": "^5.0.1"
- }
- },
- "packages/browser-test-runner": {
- "name": "@streamr/browser-test-runner",
- "version": "0.0.1",
- "license": "Apache-2.0",
- "devDependencies": {
- "@electron/rebuild": "^4.0.1",
- "@jest/fake-timers": "^30.0.5",
- "buffer": "^6.0.3",
- "electron": "^34.0.0",
- "expect": "^30.0.5",
- "jest-matcher-utils": "^30.0.5",
- "jest-mock": "^30.0.5",
- "karma": "^6.4.4",
- "karma-chrome-launcher": "^3.1.1",
- "karma-electron": "^7.3.0",
- "karma-jasmine": "^5.1.0",
- "karma-sourcemap-loader": "^0.4.0",
- "karma-spec-reporter": "^0.0.36",
- "karma-webpack": "^5.0.1",
- "node-polyfill-webpack-plugin": "^4.1.0",
- "webpack": "^5.103.0",
- "webpack-cli": "^6.0.1"
- }
- },
- "packages/cdn-location": {
- "name": "@streamr/cdn-location",
- "version": "103.2.2",
- "license": "Apache-2.0",
- "dependencies": {
- "@streamr/utils": "103.2.2",
- "haversine": "^1.1.1"
+ "engines": {
+ "node": "20 || >=22"
},
- "devDependencies": {
- "@types/haversine": "^1.1.8"
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"packages/cli-tools": {
"name": "@streamr/cli-tools",
- "version": "103.2.2",
+ "version": "103.2.0-experiment.1",
"license": "AGPL-3.0",
"dependencies": {
"@streamr/config": "^5.9.2",
- "@streamr/dht": "103.2.2",
+ "@streamr/dht": "103.2.0-experiment.1",
"@streamr/network-contracts": "^9.1.0",
- "@streamr/sdk": "103.2.2",
- "@streamr/trackerless-network": "103.2.2",
- "@streamr/utils": "103.2.2",
+ "@streamr/sdk": "103.2.0-experiment.1",
+ "@streamr/trackerless-network": "103.2.0-experiment.1",
+ "@streamr/utils": "103.2.0-experiment.1",
"commander": "^14.0.2",
"easy-table": "^1.1.1",
"ethers": "^6.13.0",
@@ -28883,7 +28483,7 @@
"streamr": "dist/bin/streamr.js"
},
"devDependencies": {
- "@streamr/test-utils": "103.2.2",
+ "@streamr/test-utils": "103.2.0-experiment.1",
"@types/event-stream": "^4.0.6",
"@types/lodash": "^4.17.21",
"@types/merge2": "^1.4.4",
@@ -28893,17 +28493,17 @@
},
"packages/dht": {
"name": "@streamr/dht",
- "version": "103.2.2",
+ "version": "103.2.0-experiment.1",
"license": "STREAMR NETWORK OPEN SOURCE LICENSE",
"dependencies": {
"@js-sdsl/ordered-map": "^4.4.2",
"@protobuf-ts/runtime": "^2.8.2",
"@protobuf-ts/runtime-rpc": "^2.8.2",
- "@streamr/autocertifier-client": "103.2.2",
- "@streamr/cdn-location": "103.2.2",
- "@streamr/geoip-location": "103.2.2",
- "@streamr/proto-rpc": "103.2.2",
- "@streamr/utils": "103.2.2",
+ "@streamr/autocertifier-client": "103.2.0-experiment.1",
+ "@streamr/cdn-location": "103.2.0-experiment.1",
+ "@streamr/geoip-location": "103.2.0-experiment.1",
+ "@streamr/proto-rpc": "103.2.0-experiment.1",
+ "@streamr/utils": "103.2.0-experiment.1",
"eventemitter3": "^5.0.0",
"heap": "^0.2.6",
"ipaddr.js": "^2.0.1",
@@ -28916,8 +28516,11 @@
"ws": "^8.18.3"
},
"devDependencies": {
+ "@rollup/plugin-alias": "^6.0.0",
+ "@rollup/plugin-json": "^6.1.0",
+ "@rollup/plugin-node-resolve": "^16.0.3",
"@streamr/browser-test-runner": "^0.0.1",
- "@streamr/test-utils": "103.2.2",
+ "@streamr/test-utils": "103.2.0-experiment.1",
"@types/heap": "^0.2.35",
"@types/k-bucket": "^5.0.1",
"@types/lodash": "^4.17.21",
@@ -28925,51 +28528,221 @@
"@types/ws": "^8.18.1",
"jest-leak-detector": "^27.3.1",
"jest-matcher-utils": "^30.0.5",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
"ts-essentials": "^10.1.1",
- "ts-node": "^10.9.2"
+ "tsx": "^4.21.0"
+ },
+ "optionalDependencies": {
+ "bufferutil": "^4.0.9",
+ "utf-8-validate": "^6.0.5"
+ }
+ },
+ "packages/dht/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/dht/node_modules/ipaddr.js": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz",
+ "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "packages/dht/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/dht/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "packages/dht/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/dht/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/geoip-location": {
+ "name": "@streamr/geoip-location",
+ "version": "103.2.0-experiment.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@streamr/utils": "103.2.0-experiment.1",
+ "eventemitter3": "^5.0.0",
+ "long-timeout": "^0.1.1",
+ "mmdb-lib": "^3.0.1",
+ "tar": "^7.5.2",
+ "uuid": "^11.1.0"
+ },
+ "devDependencies": {
+ "@rollup/plugin-node-resolve": "^16.0.3",
+ "@types/long-timeout": "^0.1.2",
+ "@types/tar": "^6.1.11",
+ "express": "^5.2.0",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
+ }
+ },
+ "packages/geoip-location/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/geoip-location/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/geoip-location/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "packages/geoip-location/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
},
- "optionalDependencies": {
- "bufferutil": "^4.0.9",
- "utf-8-validate": "^6.0.5"
- }
- },
- "packages/dht/node_modules/ipaddr.js": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz",
- "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==",
- "license": "MIT",
"engines": {
- "node": ">= 10"
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "packages/geoip-location": {
- "name": "@streamr/geoip-location",
- "version": "103.2.2",
- "license": "Apache-2.0",
+ "packages/geoip-location/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@streamr/utils": "103.2.2",
- "eventemitter3": "^5.0.0",
- "long-timeout": "^0.1.1",
- "mmdb-lib": "^3.0.1",
- "tar": "^7.5.2",
- "uuid": "^11.1.0"
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
},
- "devDependencies": {
- "@types/long-timeout": "^0.1.2",
- "@types/tar": "^6.1.11",
- "express": "^5.2.0"
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"packages/node": {
"name": "@streamr/node",
- "version": "103.2.2",
+ "version": "103.2.0-experiment.1",
"license": "STREAMR NETWORK OPEN SOURCE LICENSE",
"dependencies": {
"@inquirer/prompts": "^7.9.0",
"@streamr/config": "^5.9.2",
- "@streamr/dht": "103.2.2",
- "@streamr/sdk": "103.2.2",
- "@streamr/utils": "103.2.2",
+ "@streamr/dht": "103.2.0-experiment.1",
+ "@streamr/sdk": "103.2.0-experiment.1",
+ "@streamr/utils": "103.2.0-experiment.1",
"aedes": "^0.51.3",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
@@ -28999,7 +28772,7 @@
"devDependencies": {
"@inquirer/testing": "^2.1.51",
"@streamr/network-contracts": "^9.1.0",
- "@streamr/test-utils": "103.2.2",
+ "@streamr/test-utils": "103.2.0-experiment.1",
"@types/cors": "^2.8.19",
"@types/express": "^5.0.1",
"@types/heap": "^0.2.35",
@@ -29031,43 +28804,126 @@
},
"packages/proto-rpc": {
"name": "@streamr/proto-rpc",
- "version": "103.2.2",
+ "version": "103.2.0-experiment.1",
"license": "(Apache-2.0 AND BSD-3-Clause)",
"dependencies": {
"@protobuf-ts/runtime": "^2.8.2",
"@protobuf-ts/runtime-rpc": "^2.8.2",
- "@streamr/utils": "103.2.2",
+ "@streamr/utils": "103.2.0-experiment.1",
"eventemitter3": "^5.0.0",
"lodash": "^4.17.21",
"uuid": "^11.1.0"
},
"devDependencies": {
+ "@rollup/plugin-node-resolve": "^16.0.3",
"@streamr/browser-test-runner": "^0.0.1",
- "@streamr/test-utils": "103.2.2",
- "@types/lodash": "^4.17.21"
+ "@streamr/test-utils": "103.2.0-experiment.1",
+ "@types/lodash": "^4.17.21",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
},
"optionalDependencies": {
"bufferutil": "^4.0.9",
"utf-8-validate": "^6.0.5"
}
},
+ "packages/proto-rpc/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/proto-rpc/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/proto-rpc/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "packages/proto-rpc/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/proto-rpc/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
"packages/sdk": {
"name": "@streamr/sdk",
- "version": "103.2.2",
+ "version": "103.2.0-experiment.1",
"license": "Apache-2.0",
"dependencies": {
- "@babel/runtime": "^7.28.4",
- "@babel/runtime-corejs3": "^7.28.4",
"@noble/post-quantum": "^0.4.1",
"@protobuf-ts/runtime": "^2.8.2",
"@protobuf-ts/runtime-rpc": "^2.8.2",
"@streamr/config": "^5.9.2",
- "@streamr/dht": "103.2.2",
+ "@streamr/dht": "103.2.0-experiment.1",
"@streamr/network-contracts": "^9.1.0",
- "@streamr/proto-rpc": "103.2.2",
- "@streamr/trackerless-network": "103.2.2",
- "@streamr/utils": "103.2.2",
- "core-js": "^3.47.0",
+ "@streamr/proto-rpc": "103.2.0-experiment.1",
+ "@streamr/trackerless-network": "103.2.0-experiment.1",
+ "@streamr/utils": "103.2.0-experiment.1",
"env-paths": "^2.2.1",
"ethers": "^6.13.0",
"eventemitter3": "^5.0.0",
@@ -29077,9 +28933,11 @@
"p-limit": "^3.1.0",
"p-memoize": "4.0.4",
"p-throttle": "4.1.1",
+ "readable-stream": "^4.7.0",
"reflect-metadata": "^0.2.1",
"sqlite": "^5.1.1",
"sqlite3": "^5.1.7",
+ "timers-browserify": "^2.0.12",
"ts-essentials": "^10.1.1",
"ts-toolbelt": "^9.6.0",
"tsyringe": "^4.10.0",
@@ -29087,93 +28945,250 @@
"zod": "^4.1.13"
},
"devDependencies": {
- "@babel/core": "^7.28.5",
- "@babel/plugin-proposal-decorators": "^7.28.0",
- "@babel/plugin-transform-modules-commonjs": "^7.27.1",
- "@babel/plugin-transform-runtime": "^7.28.5",
- "@babel/preset-env": "^7.28.5",
- "@babel/preset-typescript": "^7.28.5",
"@jest/globals": "^30.0.5",
- "@streamr/test-utils": "103.2.2",
+ "@rollup/plugin-alias": "^6.0.0",
+ "@rollup/plugin-commonjs": "^29.0.0",
+ "@rollup/plugin-json": "^6.1.0",
+ "@rollup/plugin-node-resolve": "^16.0.3",
+ "@rollup/plugin-terser": "^0.4.4",
+ "@streamr/test-utils": "103.2.0-experiment.1",
"@types/heap": "^0.2.35",
"@types/lodash": "^4.17.21",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
- "babel-loader": "^10.0.0",
- "babel-plugin-add-module-exports": "^1.0.4",
- "babel-plugin-transform-typescript-metadata": "^0.4.0",
"benchmark": "^2.1.4",
"buffer": "^6.0.3",
"bytes": "^3.1.1",
- "chromedriver": "^121.0.2",
- "crypto-browserify": "^3.12.1",
"express": "^5.2.0",
- "git-revision-webpack-plugin": "^5.0.0",
"jest-leak-detector": "^27.3.1",
"jest-matcher-utils": "^30.0.5",
- "lodash-webpack-plugin": "^0.11.6",
"nightwatch": "^3.12.3",
- "node-polyfill-webpack-plugin": "^4.1.0",
- "terser-webpack-plugin": "^5.3.14",
- "ts-loader": "^9.5.4",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-copy": "^3.5.0",
+ "rollup-plugin-dts": "^6.3.0",
"ts-node": "^10.9.2",
+ "tsx": "^4.21.0",
"util": "^0.12.4",
- "weak-napi": "^2.0.2",
- "webpack": "^5.103.0",
- "webpack-bundle-analyzer": "^5.0.1",
- "webpack-cli": "^6.0.1",
- "webpack-merge": "^6.0.1"
+ "weak-napi": "^2.0.2"
},
"optionalDependencies": {
"bufferutil": "^4.0.9",
"utf-8-validate": "^6.0.5"
}
},
- "packages/sdk/node_modules/p-limit": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
- "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
- "license": "MIT",
+ "packages/sdk/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/sdk/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/sdk/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "packages/sdk/node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "license": "MIT",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "packages/sdk/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/sdk/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/test-utils": {
+ "name": "@streamr/test-utils",
+ "version": "103.2.0-experiment.1",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@streamr/config": "^5.9.2",
+ "@streamr/network-contracts": "^9.1.0",
+ "@streamr/utils": "103.2.0-experiment.1",
+ "cors": "^2.8.5",
+ "ethers": "^6.13.0",
+ "express": "^5.2.0",
+ "jest": "^30.2.0",
+ "jest-matcher-utils": "^30.0.5",
+ "lodash": "^4.17.21"
+ },
+ "devDependencies": {
+ "@rollup/plugin-node-resolve": "^16.0.3",
+ "@types/cors": "^2.8.19",
+ "@types/express": "^5.0.1",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
+ }
+ },
+ "packages/test-utils/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/test-utils/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/test-utils/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "packages/test-utils/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "yocto-queue": "^0.1.0"
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
},
"engines": {
- "node": ">=10"
+ "node": "20 || >=22"
},
"funding": {
- "url": "https://github.com/sponsors/sindresorhus"
+ "url": "https://github.com/sponsors/isaacs"
}
},
- "packages/test-utils": {
- "name": "@streamr/test-utils",
- "version": "103.2.2",
- "license": "Apache-2.0",
+ "packages/test-utils/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
"dependencies": {
- "@streamr/config": "^5.9.2",
- "@streamr/network-contracts": "^9.1.0",
- "@streamr/utils": "103.2.2",
- "cors": "^2.8.5",
- "ethers": "^6.13.0",
- "express": "^5.2.0",
- "jest": "^30.2.0",
- "jest-matcher-utils": "^30.0.5",
- "lodash": "^4.17.21"
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
},
- "devDependencies": {
- "@types/cors": "^2.8.19",
- "@types/express": "^5.0.1"
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"packages/trackerless-network": {
"name": "@streamr/trackerless-network",
- "version": "103.2.2",
+ "version": "103.2.0-experiment.1",
"license": "STREAMR NETWORK OPEN SOURCE LICENSE",
"dependencies": {
"@protobuf-ts/runtime": "^2.8.2",
"@protobuf-ts/runtime-rpc": "^2.8.2",
- "@streamr/dht": "103.2.2",
- "@streamr/proto-rpc": "103.2.2",
- "@streamr/utils": "103.2.2",
+ "@streamr/dht": "103.2.0-experiment.1",
+ "@streamr/proto-rpc": "103.2.0-experiment.1",
+ "@streamr/utils": "103.2.0-experiment.1",
"eventemitter3": "^5.0.0",
"lodash": "^4.17.21",
"ts-essentials": "^10.1.1",
@@ -29181,12 +29196,99 @@
"yallist": "^5.0.0"
},
"devDependencies": {
+ "@rollup/plugin-json": "^6.1.0",
+ "@rollup/plugin-node-resolve": "^16.0.3",
"@streamr/browser-test-runner": "^0.0.1",
- "@streamr/test-utils": "103.2.2",
+ "@streamr/test-utils": "103.2.0-experiment.1",
"@types/lodash": "^4.17.21",
"@types/yallist": "^5.0.0",
"expect": "^30.0.5",
- "ts-node": "^10.9.2"
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "ts-node": "^10.9.2",
+ "tsx": "^4.21.0"
+ }
+ },
+ "packages/trackerless-network/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/trackerless-network/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/trackerless-network/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "packages/trackerless-network/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/trackerless-network/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
}
},
"packages/trackerless-network/node_modules/yallist": {
@@ -29200,23 +29302,210 @@
},
"packages/utils": {
"name": "@streamr/utils",
- "version": "103.2.2",
+ "version": "103.2.0-experiment.1",
"license": "Apache-2.0",
"dependencies": {
"@noble/curves": "^1.9.7",
+ "@noble/hashes": "^2.0.1",
"@noble/post-quantum": "^0.4.1",
+ "asn1.js": "^5.4.1",
+ "browserify-aes": "^1.2.0",
+ "buffer": "^6.0.3",
+ "buffer-shim": "^1.0.1",
"eventemitter3": "^5.0.0",
+ "hash-base": "^3.1.2",
"lodash": "^4.17.21",
+ "path-browserify": "^1.0.1",
"pino": "^10.1.0",
"pino-pretty": "^13.1.2",
+ "public-encrypt": "^4.0.3",
+ "readable-stream": "^4.7.0",
"secp256k1": "^5.0.1",
"sha3": "^2.1.4"
},
"devDependencies": {
+ "@rollup/plugin-alias": "^6.0.0",
+ "@rollup/plugin-commonjs": "^29.0.0",
+ "@rollup/plugin-json": "^6.1.0",
+ "@rollup/plugin-node-resolve": "^16.0.3",
"@streamr/browser-test-runner": "^0.0.1",
"@types/lodash": "^4.17.21",
- "@types/secp256k1": "^4.0.7"
+ "@types/md5": "^2.3.6",
+ "@types/readable-stream": "^4.0.23",
+ "@types/secp256k1": "^4.0.7",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
+ }
+ },
+ "packages/utils/node_modules/@noble/hashes": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-2.0.1.tgz",
+ "integrity": "sha512-XlOlEbQcE9fmuXxrVTXCTlG2nlRXa9Rj3rr5Ue/+tX+nmkgbX720YHh0VR3hBF9xDvwnb8D2shVGOwNx+ulArw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 20.19.0"
+ },
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
}
+ },
+ "packages/utils/node_modules/asn1.js": {
+ "version": "5.4.1",
+ "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
+ "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
+ "license": "MIT",
+ "dependencies": {
+ "bn.js": "^4.0.0",
+ "inherits": "^2.0.1",
+ "minimalistic-assert": "^1.0.0",
+ "safer-buffer": "^2.1.0"
+ }
+ },
+ "packages/utils/node_modules/bn.js": {
+ "version": "4.12.2",
+ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.2.tgz",
+ "integrity": "sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==",
+ "license": "MIT"
+ },
+ "packages/utils/node_modules/glob": {
+ "version": "13.0.0",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.0.tgz",
+ "integrity": "sha512-tvZgpqk6fz4BaNZ66ZsRaZnbHvP/jG3uKJvAZOwEVUL4RTA5nJeeLYfyN9/VA8NX/V3IBG+hkeuGpKjvELkVhA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "minimatch": "^10.1.1",
+ "minipass": "^7.1.2",
+ "path-scurry": "^2.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/utils/node_modules/hash-base": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz",
+ "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==",
+ "license": "MIT",
+ "dependencies": {
+ "inherits": "^2.0.4",
+ "readable-stream": "^2.3.8",
+ "safe-buffer": "^5.2.1",
+ "to-buffer": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "packages/utils/node_modules/hash-base/node_modules/readable-stream": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
+ "license": "MIT",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "packages/utils/node_modules/hash-base/node_modules/readable-stream/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "license": "MIT"
+ },
+ "packages/utils/node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
+ "license": "MIT"
+ },
+ "packages/utils/node_modules/minimatch": {
+ "version": "10.1.1",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.1.1.tgz",
+ "integrity": "sha512-enIvLvRAFZYXJzkCYG5RKmPfrFArdLv+R+lbQ53BmIMLIry74bjKzX6iHAm8WYamJkhSSEabrWN5D97XnKObjQ==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "@isaacs/brace-expansion": "^5.0.0"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/utils/node_modules/minipass": {
+ "version": "7.1.2",
+ "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz",
+ "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==",
+ "dev": true,
+ "license": "ISC",
+ "engines": {
+ "node": ">=16 || 14 >=14.17"
+ }
+ },
+ "packages/utils/node_modules/path-scurry": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.1.tgz",
+ "integrity": "sha512-oWyT4gICAu+kaA7QWk/jvCHWarMKNs6pXOGWKDTr7cw4IGcUbW+PeTfbaQiLGheFRpjo6O9J0PmyMfQPjH71oA==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "lru-cache": "^11.0.0",
+ "minipass": "^7.1.2"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/utils/node_modules/rimraf": {
+ "version": "6.1.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-6.1.2.tgz",
+ "integrity": "sha512-cFCkPslJv7BAXJsYlK1dZsbP8/ZNLkCAQ0bi1hf5EKX2QHegmDFEFA6QhuYJlk7UDdc+02JjO80YSOrWPpw06g==",
+ "dev": true,
+ "license": "BlueOak-1.0.0",
+ "dependencies": {
+ "glob": "^13.0.0",
+ "package-json-from-dist": "^1.0.1"
+ },
+ "bin": {
+ "rimraf": "dist/esm/bin.mjs"
+ },
+ "engines": {
+ "node": "20 || >=22"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "packages/utils/node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "license": "MIT",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "packages/utils/node_modules/string_decoder/node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+ "license": "MIT"
}
}
}
diff --git a/packages/autocertifier-client/package.json b/packages/autocertifier-client/package.json
index e298b2f1d0..bec22fa651 100644
--- a/packages/autocertifier-client/package.json
+++ b/packages/autocertifier-client/package.json
@@ -7,18 +7,36 @@
"url": "git+https://github.com/streamr-dev/network.git",
"directory": "packages/autocertifier-client"
},
- "main": "dist/src/exports.js",
- "types": "dist/src/exports.d.ts",
+ "main": "./dist/exports-nodejs.cjs",
+ "module": "./dist/exports-nodejs.js",
+ "types": "./dist/exports-nodejs.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/exports-nodejs.d.ts",
+ "browser": {
+ "types": "./dist/exports-browser.d.ts",
+ "import": "./dist/exports-browser.js",
+ "require": "./dist/exports-browser.cjs"
+ },
+ "node": "./dist/exports-nodejs.cjs",
+ "import": "./dist/exports-nodejs.js",
+ "require": "./dist/exports-nodejs.cjs",
+ "default": "./dist/exports-nodejs.js"
+ }
+ },
"files": [
- "dist",
+ "dist/exports-nodejs.*",
+ "dist/exports-browser.*",
"!*.tsbuildinfo"
],
"license": "STREAMR NETWORK OPEN SOURCE LICENSE",
"author": "Streamr Network AG ",
"scripts": {
- "prebuild": "./proto.sh",
+ "prebuild": "npm run reset-self && ./proto.sh",
"build": "tsc -b",
+ "postbuild": "NODE_OPTIONS='--import tsx' rollup -c rollup.config.mts",
"check": "tsc --noEmit",
+ "reset-self": "rimraf --glob 'dist/**/*.tsbuildinfo'",
"clean": "rm -rf dist generated *.tsbuildinfo node_modules/.cache || true",
"eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts}'"
},
@@ -29,6 +47,11 @@
"node-forge": "^1.3.2"
},
"devDependencies": {
- "@types/node-forge": "^1.3.14"
+ "@rollup/plugin-node-resolve": "^16.0.3",
+ "@types/node-forge": "^1.3.14",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
}
}
diff --git a/packages/autocertifier-client/rollup.config.mts b/packages/autocertifier-client/rollup.config.mts
new file mode 100644
index 0000000000..12ffd4670e
--- /dev/null
+++ b/packages/autocertifier-client/rollup.config.mts
@@ -0,0 +1,106 @@
+import { defineConfig, type RollupOptions } from 'rollup'
+import { dts } from 'rollup-plugin-dts'
+import { nodeResolve } from '@rollup/plugin-node-resolve'
+
+export default defineConfig([
+ nodejs(),
+ nodejsTypes(),
+ browser(),
+ browserTypes(),
+])
+
+function nodejs(): RollupOptions {
+ return {
+ input: './dist/src/exports.js',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports-nodejs.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports-nodejs.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ nodeResolve({
+ preferBuiltins: true,
+ }),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
+
+function nodejsTypes(): RollupOptions {
+ return {
+ input: './dist/src/exports.d.ts',
+ output: [
+ {
+ file: './dist/exports-nodejs.d.ts',
+ },
+ ],
+ plugins: [
+ nodeResolve(),
+ dts(),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
+
+function browser(): RollupOptions {
+ return {
+ input: './dist/src/exports-browser.js',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports-browser.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports-browser.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ nodeResolve({
+ preferBuiltins: false,
+ browser: true,
+ }),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
+
+function browserTypes(): RollupOptions {
+ return {
+ input: './dist/src/exports-browser.d.ts',
+ output: [
+ {
+ file: './dist/exports-browser.d.ts',
+ },
+ ],
+ plugins: [
+ nodeResolve({
+ preferBuiltins: false,
+ browser: true,
+ }),
+ dts(),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
diff --git a/packages/autocertifier-client/src/AutoCertifierClient.ts b/packages/autocertifier-client/src/AutoCertifierClient.ts
index 56e9b9b127..87fd22817b 100644
--- a/packages/autocertifier-client/src/AutoCertifierClient.ts
+++ b/packages/autocertifier-client/src/AutoCertifierClient.ts
@@ -8,6 +8,7 @@ import { CertifiedSubdomain } from './data/CertifiedSubdomain'
import fs from 'fs'
import path from 'path'
import * as forge from 'node-forge'
+import { SERVICE_ID } from './consts'
interface AutoCertifierClientEvents {
updatedCertificate: (domain: CertifiedSubdomain) => void
@@ -35,7 +36,6 @@ const getBaseDirectory = (directory: string): string => {
return path.sep
}
-export const SERVICE_ID = 'system/auto-certificer'
const ONE_DAY = 1000 * 60 * 60 * 24
const MAX_INT_32 = 2147483647
diff --git a/packages/autocertifier-client/src/consts.ts b/packages/autocertifier-client/src/consts.ts
new file mode 100644
index 0000000000..fc7da60ba7
--- /dev/null
+++ b/packages/autocertifier-client/src/consts.ts
@@ -0,0 +1 @@
+export const SERVICE_ID = 'system/auto-certificer'
diff --git a/packages/autocertifier-client/src/exports-browser.ts b/packages/autocertifier-client/src/exports-browser.ts
new file mode 100644
index 0000000000..5fdf5e3905
--- /dev/null
+++ b/packages/autocertifier-client/src/exports-browser.ts
@@ -0,0 +1,3 @@
+export { SERVICE_ID } from './consts'
+export type { CertifiedSubdomain } from './data/CertifiedSubdomain'
+export type { AutoCertifierClient } from './AutoCertifierClient'
diff --git a/packages/autocertifier-client/src/exports.ts b/packages/autocertifier-client/src/exports.ts
index 1dfbe9542b..aef9ce6e35 100644
--- a/packages/autocertifier-client/src/exports.ts
+++ b/packages/autocertifier-client/src/exports.ts
@@ -1,4 +1,5 @@
-export { AutoCertifierClient, SERVICE_ID, type HasSession } from './AutoCertifierClient'
+export { AutoCertifierClient, type HasSession } from './AutoCertifierClient'
+export { SERVICE_ID } from './consts'
export type { CertifiedSubdomain } from './data/CertifiedSubdomain'
export type { Session } from './data/Session'
export type { UpdateIpAndPortRequest } from './data/UpdateIpAndPortRequest'
diff --git a/packages/autocertifier-client/tsconfig.json b/packages/autocertifier-client/tsconfig.json
index 9bb9cf3b51..be7119ed21 100644
--- a/packages/autocertifier-client/tsconfig.json
+++ b/packages/autocertifier-client/tsconfig.json
@@ -1,7 +1,12 @@
{
"extends": "../../tsconfig.node.json",
"compilerOptions": {
- "outDir": "dist"
+ "outDir": "dist",
+
+ /* Resolution */
+ "module": "preserve",
+ "moduleResolution": "bundler",
+ "baseUrl": "."
},
"include": [
"src"
diff --git a/packages/browser-test-runner/package.json b/packages/browser-test-runner/package.json
index bdf09514a4..25c286a2b3 100644
--- a/packages/browser-test-runner/package.json
+++ b/packages/browser-test-runner/package.json
@@ -8,18 +8,24 @@
"url": "git+https://github.com/streamr-dev/network.git",
"directory": "packages/browser-test-runner"
},
- "main": "./dist/src/exports.js",
- "browser": {
- "./dist/src/exports.js": false
- },
+ "main": "./dist/exports.cjs",
+ "module": "./dist/exports.js",
+ "types": "./dist/exports.d.ts",
"files": [
- "dist",
+ "dist/exports.*",
+ "dist/preload.cjs",
+ "dist/preload.cjs.map",
+ "dist/karma-setup.js",
+ "dist/karma-setup.js.map",
"!*.tsbuildinfo",
"LICENSE"
],
"scripts": {
+ "prebuild": "npm run reset-self",
"build": "tsc -b",
+ "postbuild": "NODE_OPTIONS='--import tsx' rollup -c rollup.config.mts",
"check": "tsc --noEmit",
+ "reset-self": "rimraf --glob 'dist/**/*.tsbuildinfo'",
"eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '**/*.{js,ts}'"
},
"author": "Streamr Network AG ",
@@ -27,6 +33,7 @@
"devDependencies": {
"@electron/rebuild": "^4.0.1",
"@jest/fake-timers": "^30.0.5",
+ "@rollup/plugin-node-resolve": "^16.0.3",
"buffer": "^6.0.3",
"electron": "^34.0.0",
"expect": "^30.0.5",
@@ -40,6 +47,11 @@
"karma-spec-reporter": "^0.0.36",
"karma-webpack": "^5.0.1",
"node-polyfill-webpack-plugin": "^4.1.0",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "ts-loader": "^9.5.4",
+ "tsx": "^4.21.0",
"webpack": "^5.103.0",
"webpack-cli": "^6.0.1"
}
diff --git a/packages/browser-test-runner/rollup.config.mts b/packages/browser-test-runner/rollup.config.mts
new file mode 100644
index 0000000000..394651dd05
--- /dev/null
+++ b/packages/browser-test-runner/rollup.config.mts
@@ -0,0 +1,95 @@
+import { defineConfig, type RollupOptions } from 'rollup'
+import { dts } from 'rollup-plugin-dts'
+import { nodeResolve } from '@rollup/plugin-node-resolve'
+
+export default defineConfig([
+ ...nodejs(),
+ nodejsTypes(),
+])
+
+function nodejs(): RollupOptions[] {
+ return [
+ {
+ input: './dist/src/exports.js',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ nodeResolve({
+ preferBuiltins: true,
+ }),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ },
+ {
+ /**
+ * We need a CJS preload file for Electron apps - that's the only format they support.
+ */
+ input: './dist/src/preload.js',
+ output: [
+ {
+ format: 'cjs',
+ file: './dist/preload.cjs',
+ sourcemap: true,
+ },
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ },
+ {
+ /**
+ * For Karma test runner. We only need ES module format here.
+ */
+ input: './dist/src/karma-setup.js',
+ output: [
+ {
+ format: 'es',
+ file: './dist/karma-setup.js',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ nodeResolve({
+ preferBuiltins: true,
+ }),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ },
+ ]
+}
+
+function nodejsTypes(): RollupOptions {
+ return {
+ input: './dist/src/exports.d.ts',
+ output: [
+ {
+ file: './dist/exports.d.ts',
+ },
+ ],
+ plugins: [
+ nodeResolve(),
+ dts(),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
diff --git a/packages/browser-test-runner/src/createKarmaConfig.ts b/packages/browser-test-runner/src/createKarmaConfig.ts
index 8cb5f0884c..b38a4ea05c 100644
--- a/packages/browser-test-runner/src/createKarmaConfig.ts
+++ b/packages/browser-test-runner/src/createKarmaConfig.ts
@@ -1,4 +1,5 @@
import fs from 'fs'
+import { fileURLToPath } from 'url'
import type { Configuration, ExternalItem } from 'webpack'
const DEBUG_MODE = process.env.BROWSER_TEST_DEBUG_MODE ?? false
@@ -6,7 +7,7 @@ const DEBUG_MODE = process.env.BROWSER_TEST_DEBUG_MODE ?? false
export const createKarmaConfig = (
testPaths: string[], webpackConfig: () => Configuration, localDirectory?: string
): (config: any) => any => {
- const setupFiles = [__dirname + '/karma-setup.js']
+ const setupFiles = [fileURLToPath(new URL('./karma-setup.js', import.meta.url))]
if (localDirectory !== undefined) {
const karmaSetupCandidates = [
@@ -65,7 +66,7 @@ export const createKarmaConfig = (
browserWindowOptions: {
webPreferences: {
contextIsolation: false,
- preload: __dirname + '/preload.js',
+ preload: fileURLToPath(new URL('./preload.cjs', import.meta.url)),
webSecurity: false,
sandbox: false,
nodeIntegration: true
diff --git a/packages/browser-test-runner/src/createWebpackConfig.ts b/packages/browser-test-runner/src/createWebpackConfig.ts
index 293d89f9d6..c779946dd6 100644
--- a/packages/browser-test-runner/src/createWebpackConfig.ts
+++ b/packages/browser-test-runner/src/createWebpackConfig.ts
@@ -44,7 +44,10 @@ export const createWebpackConfig = (
resolve: {
extensions: ['.ts', '.js'],
alias,
- fallback,
+ fallback: {
+ timers: false,
+ ...fallback
+ },
},
output: {
sourceMapFilename: `[name].[contenthash].js.map`,
diff --git a/packages/browser-test-runner/src/karma-setup.js b/packages/browser-test-runner/src/karma-setup.js
index ad535f344a..e31ed48ce2 100644
--- a/packages/browser-test-runner/src/karma-setup.js
+++ b/packages/browser-test-runner/src/karma-setup.js
@@ -3,7 +3,7 @@
import * as jestMock from 'jest-mock'
-const expect = require('expect').default
+import expect from 'expect'
import { ModernFakeTimers } from '@jest/fake-timers'
diff --git a/packages/browser-test-runner/tsconfig.json b/packages/browser-test-runner/tsconfig.json
index 126cae2a06..9544356da2 100644
--- a/packages/browser-test-runner/tsconfig.json
+++ b/packages/browser-test-runner/tsconfig.json
@@ -1,7 +1,12 @@
{
"extends": "../../tsconfig.node.json",
"compilerOptions": {
- "outDir": "dist"
+ "outDir": "dist",
+
+ /* Resolution */
+ "module": "preserve",
+ "moduleResolution": "bundler",
+ "baseUrl": "."
},
"include": [
"src"
diff --git a/packages/cdn-location/package.json b/packages/cdn-location/package.json
index 4fd7be4a60..bed3cc5f29 100644
--- a/packages/cdn-location/package.json
+++ b/packages/cdn-location/package.json
@@ -7,10 +7,11 @@
"url": "git+https://github.com/streamr-dev/network.git",
"directory": "packages/cdn-location"
},
- "main": "dist/src/exports.js",
- "types": "dist/src/exports.d.ts",
+ "main": "./dist/exports.cjs",
+ "module": "./dist/exports.js",
+ "types": "./dist/exports.d.ts",
"files": [
- "dist",
+ "dist/exports.*",
"!*.tsbuildinfo",
"README.md",
"LICENSE"
@@ -18,8 +19,11 @@
"license": "Apache-2.0",
"author": "Streamr Network AG ",
"scripts": {
+ "prebuild": "npm run reset-self",
"build": "tsc -b",
+ "postbuild": "NODE_OPTIONS='--import tsx' rollup -c rollup.config.mts",
"check": "tsc -p tsconfig.jest.json",
+ "reset-self": "rimraf --glob 'dist/**/*.tsbuildinfo'",
"clean": "jest --clearCache --config '{}' || true; rm -rf dist *.tsbuildinfo node_modules/.cache || true",
"eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts}'",
"test": "jest test/integration",
@@ -32,6 +36,11 @@
"haversine": "^1.1.1"
},
"devDependencies": {
- "@types/haversine": "^1.1.8"
+ "@rollup/plugin-node-resolve": "^16.0.3",
+ "@types/haversine": "^1.1.8",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
}
}
diff --git a/packages/cdn-location/rollup.config.mts b/packages/cdn-location/rollup.config.mts
new file mode 100644
index 0000000000..cc1fbda131
--- /dev/null
+++ b/packages/cdn-location/rollup.config.mts
@@ -0,0 +1,54 @@
+import { defineConfig, type RollupOptions } from 'rollup'
+import { dts } from 'rollup-plugin-dts'
+import { nodeResolve } from '@rollup/plugin-node-resolve'
+
+export default defineConfig([
+ nodejs(),
+ nodejsTypes(),
+])
+
+function nodejs(): RollupOptions {
+ return {
+ input: './dist/src/exports.js',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ nodeResolve({
+ preferBuiltins: true,
+ }),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
+
+function nodejsTypes(): RollupOptions {
+ return {
+ input: './dist/src/exports.d.ts',
+ output: [
+ {
+ file: './dist/exports.d.ts',
+ },
+ ],
+ plugins: [
+ nodeResolve(),
+ dts(),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
diff --git a/packages/cdn-location/tsconfig.json b/packages/cdn-location/tsconfig.json
index 5621ed82fc..6ad637ddb1 100644
--- a/packages/cdn-location/tsconfig.json
+++ b/packages/cdn-location/tsconfig.json
@@ -1,7 +1,12 @@
{
"extends": "../../tsconfig.node.json",
"compilerOptions": {
- "outDir": "dist"
+ "outDir": "dist",
+
+ /* Resolution */
+ "module": "preserve",
+ "moduleResolution": "bundler",
+ "baseUrl": "."
},
"include": [
"src"
diff --git a/packages/dht/jest.config.ts b/packages/dht/jest.config.ts
index 829ec460e5..330629096c 100644
--- a/packages/dht/jest.config.ts
+++ b/packages/dht/jest.config.ts
@@ -3,6 +3,9 @@ import defaultConfig from '../../jest.config'
const config: Config.InitialOptions = {
...defaultConfig,
+ moduleNameMapper: {
+ '^@/(.*)$': '/src/nodejs/$1'
+ },
setupFilesAfterEnv: [
...defaultConfig.setupFilesAfterEnv,
'./test/utils/customMatchers.ts',
diff --git a/packages/dht/karma.config.ts b/packages/dht/karma.config.ts
index 505d61e569..a304099ecc 100644
--- a/packages/dht/karma.config.ts
+++ b/packages/dht/karma.config.ts
@@ -7,18 +7,28 @@ const TEST_PATHS = [
'./test/end-to-end/**/!(RecoveryFromFailedAutoCertification*|memory-leak*|GeoIpLayer0*).ts'
]
-const NodeWebrtcConnection = resolve(__dirname, 'src/connection/webrtc/NodeWebrtcConnection.ts')
-const BrowserWebrtcConnection = resolve(__dirname, 'src/connection/webrtc/BrowserWebrtcConnection.ts')
-const NodeWebsocketClientConnection = resolve(__dirname, 'src/connection/websocket/NodeWebsocketClientConnection.ts')
-const BrowserWebsocketClientConnection = resolve(__dirname, 'src/connection/websocket/BrowserWebsocketClientConnection.ts')
-
export default createKarmaConfig(
TEST_PATHS,
createWebpackConfig({
libraryName: 'dht',
alias: {
- [NodeWebrtcConnection]: BrowserWebrtcConnection,
- [NodeWebsocketClientConnection]: BrowserWebsocketClientConnection
+ /**
+ * Our "browser" tests use the Node.js build of `autocertifier-client` package – needed
+ * for certifications stuff, but still, very confusing.
+ */
+ '@streamr/autocertifier-client': resolve(__dirname, '../autocertifier-client/dist/exports-nodejs.cjs'),
+
+ /**
+ * Selectively alias only browser-specific implementations here. The rest stays in `nodejs/`
+ * because these (like WebsocketServer) are needed for testing and running WebSocket-based
+ * code in Electron environment.
+ *
+ * This also proves that the "browser" test are really nodejs-flavoured browser tests where
+ * we still depend on NodeJS elements.
+ */
+ '@/WebrtcConnection': resolve(__dirname, 'src/browser/WebrtcConnection.ts'),
+ '@/WebsocketClientConnection': resolve(__dirname, 'src/browser/WebsocketClientConnection.ts'),
+ '@': resolve(__dirname, 'src/nodejs'),
},
fallback: {
module: false
diff --git a/packages/dht/package.json b/packages/dht/package.json
index 7501358e1f..1d9836e3a3 100644
--- a/packages/dht/package.json
+++ b/packages/dht/package.json
@@ -7,26 +7,37 @@
"url": "git+https://github.com/streamr-dev/network.git",
"directory": "packages/dht"
},
- "main": "./dist/src/exports.js",
- "types": "./dist/src/exports.d.ts",
- "browser": {
- "./dist/src/connection/webrtc/NodeWebrtcConnection.js": "./dist/src/connection/webrtc/BrowserWebrtcConnection.js",
- "./dist/src/connection/websocket/NodeWebsocketClientConnection.js": "./dist/src/connection/websocket/BrowserWebsocketClientConnection.js",
- "./dist/src/helpers/browser/isBrowserEnvironment.js": "./dist/src/helpers/browser/isBrowserEnvironment_override.js"
+ "main": "./dist/exports-nodejs.cjs",
+ "module": "./dist/exports-nodejs.js",
+ "types": "./dist/exports-nodejs.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/exports-nodejs.d.ts",
+ "browser": {
+ "types": "./dist/exports-browser.d.ts",
+ "import": "./dist/exports-browser.js",
+ "require": "./dist/exports-browser.cjs"
+ },
+ "node": "./dist/exports-nodejs.cjs",
+ "import": "./dist/exports-nodejs.js",
+ "require": "./dist/exports-nodejs.cjs",
+ "default": "./dist/exports-nodejs.js"
+ }
},
- "license": "STREAMR NETWORK OPEN SOURCE LICENSE",
- "author": "Streamr Network AG ",
"files": [
- "dist",
+ "dist/exports-nodejs.*",
+ "dist/exports-browser.*",
"!*.tsbuildinfo",
"README.md"
],
+ "license": "STREAMR NETWORK OPEN SOURCE LICENSE",
+ "author": "Streamr Network AG ",
"scripts": {
- "prebuild": "./proto.sh",
- "postbuild": "./scripts/postbuild.sh",
+ "prebuild": "npm run reset-self && ./proto.sh",
"build": "tsc -b",
- "build-browser": "webpack --mode=development --progress",
+ "postbuild": "NODE_OPTIONS='--import tsx' rollup -c rollup.config.mts",
"check": "tsc -b tsconfig.jest.json",
+ "reset-self": "rimraf --glob 'dist/**/*.tsbuildinfo'",
"clean": "jest --clearCache --config '{}' || true; rm -rf dist generated *.tsbuildinfo node_modules/.cache || true",
"eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts}'",
"test": "npm run test-unit && npm run test-integration && npm run test-end-to-end",
@@ -57,6 +68,9 @@
"ws": "^8.18.3"
},
"devDependencies": {
+ "@rollup/plugin-alias": "^6.0.0",
+ "@rollup/plugin-json": "^6.1.0",
+ "@rollup/plugin-node-resolve": "^16.0.3",
"@streamr/browser-test-runner": "^0.0.1",
"@streamr/test-utils": "103.2.2",
"@types/heap": "^0.2.35",
@@ -66,8 +80,11 @@
"@types/ws": "^8.18.1",
"jest-leak-detector": "^27.3.1",
"jest-matcher-utils": "^30.0.5",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
"ts-essentials": "^10.1.1",
- "ts-node": "^10.9.2"
+ "tsx": "^4.21.0"
},
"optionalDependencies": {
"bufferutil": "^4.0.9",
diff --git a/packages/dht/rollup.config.mts b/packages/dht/rollup.config.mts
new file mode 100644
index 0000000000..e517ff650a
--- /dev/null
+++ b/packages/dht/rollup.config.mts
@@ -0,0 +1,141 @@
+import { defineConfig, type RollupOptions } from 'rollup'
+import { dts } from 'rollup-plugin-dts'
+import alias, { type Alias } from '@rollup/plugin-alias'
+import { nodeResolve } from '@rollup/plugin-node-resolve'
+import json from '@rollup/plugin-json'
+import { fileURLToPath } from 'url'
+
+const nodejsAliases: Alias[] = [
+ {
+ find: /^@\//,
+ replacement: fileURLToPath(
+ new URL('./dist/nodejs/src/nodejs/', import.meta.url)
+ ),
+ },
+]
+
+const browserAliases: Alias[] = [
+ {
+ find: /^@\//,
+ replacement: fileURLToPath(
+ new URL('./dist/browser/src/browser/', import.meta.url)
+ ),
+ },
+]
+
+export default defineConfig([
+ nodejs(),
+ nodejsTypes(),
+ browser(),
+ browserTypes(),
+])
+
+function nodejs(): RollupOptions {
+ return {
+ input: './dist/nodejs/src/exports.js',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports-nodejs.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports-nodejs.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ json(),
+ alias({
+ entries: nodejsAliases,
+ }),
+ nodeResolve({
+ preferBuiltins: true,
+ }),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+
+ }
+}
+
+function nodejsTypes(): RollupOptions {
+ return {
+ input: './dist/nodejs/src/exports.d.ts',
+ output: [
+ {
+ file: './dist/exports-nodejs.d.ts',
+ },
+ ],
+ plugins: [
+ alias({
+ entries: nodejsAliases,
+ }),
+ nodeResolve(),
+ dts(),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+
+ }
+}
+
+function browser(): RollupOptions {
+ return {
+ input: './dist/browser/src/exports.js',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports-browser.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports-browser.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ json(),
+ alias({
+ entries: browserAliases,
+ }),
+ nodeResolve({
+ preferBuiltins: false,
+ browser: true,
+ }),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
+
+function browserTypes(): RollupOptions {
+ return {
+ input: './dist/browser/src/exports.d.ts',
+ output: [
+ { file: './dist/exports-browser.d.ts' },
+ ],
+ plugins: [
+ alias({
+ entries: browserAliases,
+ }),
+ nodeResolve({
+ preferBuiltins: false,
+ browser: true,
+ }),
+ dts(),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
diff --git a/packages/dht/scripts/postbuild.sh b/packages/dht/scripts/postbuild.sh
deleted file mode 100755
index 70efe8acad..0000000000
--- a/packages/dht/scripts/postbuild.sh
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/bash
-
-mkdir -p dist
-
-SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
-
-cd "${SCRIPT_DIR}/.."
-
-# Sanitize the final package.json
-npx ts-node scripts/rewrite-package.ts
diff --git a/packages/dht/scripts/rewrite-package.ts b/packages/dht/scripts/rewrite-package.ts
deleted file mode 100644
index 9069678779..0000000000
--- a/packages/dht/scripts/rewrite-package.ts
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * This script overwrites the package.json file inside the dist folder while
- * adjusting relative pathnames for exports. Since the compiled output is inside
- * "dist", but the original package.json references paths as if it's in the root,
- * we need to strip "dist" from all export fields (main, types, …).
- *
- * This ensures that consumers of the package (incl. bundlers like Webpack) import
- * the correct files without referencing "dist" in their paths, maintaining proper
- * module resolution.
- */
-
-import pkg from '../package.json'
-import * as fs from 'node:fs'
-import path from 'node:path'
-
-function fixPathname(pathname: string): string {
- return pathname.startsWith('./dist')
- ? `./${path.relative('./dist', pathname)}`
- : pathname
-}
-
-const { main, types, browser, scripts: _scripts, ...rest } = pkg
-
-const newPkg = {
- ...rest,
- main: fixPathname(main),
- types: fixPathname(types),
- browser: Object.entries(browser).reduce(
- (memo, [fromPathname, toPathname]) => ({
- ...memo,
- [fixPathname(fromPathname)]:
- typeof toPathname === 'string'
- ? fixPathname(toPathname)
- : toPathname,
- }),
- {}
- ),
-}
-
-const dist = path.resolve(__dirname, '../dist/package.json')
-
-fs.writeFileSync(dist, JSON.stringify(newPkg, null, 2))
diff --git a/packages/dht/scripts/tsconfig.json b/packages/dht/scripts/tsconfig.json
deleted file mode 100644
index 5a03dbdeb8..0000000000
--- a/packages/dht/scripts/tsconfig.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "extends": "..",
- "include": [
- "**/*"
- ]
-}
diff --git a/packages/dht/src/connection/webrtc/BrowserWebrtcConnection.ts b/packages/dht/src/browser/WebrtcConnection.ts
similarity index 93%
rename from packages/dht/src/connection/webrtc/BrowserWebrtcConnection.ts
rename to packages/dht/src/browser/WebrtcConnection.ts
index bac652696f..d4cb5a0acf 100644
--- a/packages/dht/src/connection/webrtc/BrowserWebrtcConnection.ts
+++ b/packages/dht/src/browser/WebrtcConnection.ts
@@ -1,11 +1,11 @@
-///
-
import { EventEmitter } from 'eventemitter3'
-import { WebrtcConnectionEvents, IWebrtcConnection, RtcDescription } from './IWebrtcConnection'
-import { IConnection, ConnectionID, ConnectionType } from '../IConnection'
+import { WebrtcConnectionEvents, IWebrtcConnection, RtcDescription } from '../connection/webrtc/IWebrtcConnection'
+import { IConnection, ConnectionID, ConnectionType } from '../connection/IConnection'
import { Logger } from '@streamr/utils'
-import { EARLY_TIMEOUT, IceServer } from './WebrtcConnector'
-import { createRandomConnectionId } from '../Connection'
+import { IceServer } from '../connection/webrtc/types'
+import { EARLY_TIMEOUT } from '../connection/webrtc/consts'
+import { createRandomConnectionId } from '../connection/Connection'
+import type { WebrtcConnectionParams } from '../types/WebrtcConnectionParams'
enum DisconnectedRtcPeerConnectionStateEnum {
DISCONNECTED = 'disconnected',
@@ -13,13 +13,9 @@ enum DisconnectedRtcPeerConnectionStateEnum {
CLOSED = 'closed',
}
-const logger = new Logger('BrowserWebrtcConnection')
-
-interface Params {
- iceServers?: IceServer[]
-}
+const logger = new Logger('WebrtcConnection (browser)')
-export class NodeWebrtcConnection extends EventEmitter implements IWebrtcConnection, IConnection {
+export class WebrtcConnection extends EventEmitter implements IWebrtcConnection, IConnection {
public connectionId: ConnectionID
public readonly connectionType: ConnectionType = ConnectionType.WEBRTC
@@ -37,7 +33,7 @@ export class NodeWebrtcConnection extends EventEmitter i
private earlyTimeout: NodeJS.Timeout
private readonly messageQueue: Uint8Array[] = []
- constructor(params: Params) {
+ constructor(params: WebrtcConnectionParams) {
super()
this.connectionId = createRandomConnectionId()
this.iceServers = params.iceServers ?? []
diff --git a/packages/dht/src/connection/websocket/BrowserWebsocketClientConnection.ts b/packages/dht/src/browser/WebsocketClientConnection.ts
similarity index 90%
rename from packages/dht/src/connection/websocket/BrowserWebsocketClientConnection.ts
rename to packages/dht/src/browser/WebsocketClientConnection.ts
index 4b0f01acb9..b0569991f9 100644
--- a/packages/dht/src/connection/websocket/BrowserWebsocketClientConnection.ts
+++ b/packages/dht/src/browser/WebsocketClientConnection.ts
@@ -1,8 +1,8 @@
import { Logger } from '@streamr/utils'
import { ICloseEvent, IMessageEvent, w3cwebsocket as Websocket } from 'websocket'
-import { AbstractWebsocketClientConnection } from './AbstractWebsocketClientConnection'
+import { AbstractWebsocketClientConnection } from '../connection/websocket/AbstractWebsocketClientConnection'
-const logger = new Logger('BrowserWebsocketClientConnection')
+const logger = new Logger('WebsocketClientConnection (browser)')
const BINARY_TYPE = 'arraybuffer'
diff --git a/packages/dht/src/browser/WebsocketServer.ts b/packages/dht/src/browser/WebsocketServer.ts
new file mode 100644
index 0000000000..3737e9f805
--- /dev/null
+++ b/packages/dht/src/browser/WebsocketServer.ts
@@ -0,0 +1,29 @@
+/* eslint-disable class-methods-use-this */
+import { EventEmitter } from 'eventemitter3'
+import type {
+ IWebsocketServer,
+ WebsocketServerEvents,
+} from '../connection/websocket/types'
+
+/**
+ * A stub WebsocketServer for browser environment.
+ */
+
+export class WebsocketServer extends EventEmitter implements IWebsocketServer {
+ constructor(_params: unknown) {
+ super()
+ }
+
+ public async start(): Promise {
+ throw new Error('WebsocketServer is not supported in browser environment')
+ }
+
+ public async stop(): Promise {
+ throw new Error('WebsocketServer is not supported in browser environment')
+ }
+
+ public updateCertificate(_cert: string, _key: string): void {
+ throw new Error('WebsocketServer is not supported in browser environment')
+ }
+}
+
diff --git a/packages/dht/src/browser/createDefaultAutocertifierClient.ts b/packages/dht/src/browser/createDefaultAutocertifierClient.ts
new file mode 100644
index 0000000000..c35a20c620
--- /dev/null
+++ b/packages/dht/src/browser/createDefaultAutocertifierClient.ts
@@ -0,0 +1,13 @@
+import type { AutoCertifierClient } from '@streamr/autocertifier-client'
+import { ListeningRpcCommunicator } from '../transport/ListeningRpcCommunicator'
+
+export const createDefaultAutocertifierClient = (
+ _configFile: string,
+ _autoCertifierUrl: string,
+ _autoCertifierRpcCommunicator: ListeningRpcCommunicator,
+ _wsServerPort: number
+): AutoCertifierClient => {
+ throw new Error(
+ 'AutoCertifierClient is not supported in browser environment'
+ )
+}
diff --git a/packages/dht/src/browser/createGeoipLocator.ts b/packages/dht/src/browser/createGeoipLocator.ts
new file mode 100644
index 0000000000..4168594166
--- /dev/null
+++ b/packages/dht/src/browser/createGeoipLocator.ts
@@ -0,0 +1,5 @@
+import type { GeoIpLocator } from '@streamr/geoip-location'
+
+export const createGeoipLocator = (_geoIpDatabaseFolder: string): Promise => {
+ throw new Error('GeoIpLocator is not supported in browser environment')
+}
diff --git a/packages/dht/src/browser/isBrowserEnvironment.ts b/packages/dht/src/browser/isBrowserEnvironment.ts
new file mode 100644
index 0000000000..ccc0a7d7af
--- /dev/null
+++ b/packages/dht/src/browser/isBrowserEnvironment.ts
@@ -0,0 +1 @@
+export const isBrowserEnvironment = true
diff --git a/packages/dht/src/connection/ConnectionLockRpcLocal.ts b/packages/dht/src/connection/ConnectionLockRpcLocal.ts
index 2a09fc4212..48228fcdca 100644
--- a/packages/dht/src/connection/ConnectionLockRpcLocal.ts
+++ b/packages/dht/src/connection/ConnectionLockRpcLocal.ts
@@ -12,7 +12,7 @@ import {
} from '../../generated/packages/dht/protos/DhtRpc'
import { IConnectionLockRpc } from '../../generated/packages/dht/protos/DhtRpc.server'
import { DhtCallContext } from '../rpc-protocol/DhtCallContext'
-import { getNodeIdOrUnknownFromPeerDescriptor } from './ConnectionManager'
+import { getNodeIdOrUnknownFromPeerDescriptor } from './helpers/getNodeIdOrUnknownFromPeerDescriptor'
import { LockID } from './ConnectionLockStates'
import { DhtAddress, areEqualPeerDescriptors, toNodeId } from '../identifiers'
diff --git a/packages/dht/src/connection/ConnectionManager.ts b/packages/dht/src/connection/ConnectionManager.ts
index a9023c3afa..763706cb64 100644
--- a/packages/dht/src/connection/ConnectionManager.ts
+++ b/packages/dht/src/connection/ConnectionManager.ts
@@ -28,6 +28,7 @@ import { ConnectionsView } from './ConnectionsView'
import { OutputBuffer } from './OutputBuffer'
import { IConnection } from './IConnection'
import { PendingConnection } from './PendingConnection'
+import { getNodeIdOrUnknownFromPeerDescriptor } from './helpers/getNodeIdOrUnknownFromPeerDescriptor'
export interface ConnectionManagerOptions {
maxConnections?: number
@@ -99,23 +100,6 @@ type Endpoint = ConnectedEndpoint | ConnectingEndpoint
const INTERNAL_SERVICE_ID = 'system/connection-manager'
-// Form an string representation from a peer description which can be undefined. This output
-// should only be used only for log output. TODO remove this method if we no longer use
-// peerDescriptors which can be undefined, e.g.
-// - if we refactor ConnectionManager so that it doesn't process handshake requests too early
-// and therefore this.localPeerDescriptor can't be undefine (NET-1129)
-// - if the peerDescriptor of ManagedConnection is always available
-// - if we create stricter types for incoming messages (message.sourceDescriptor or
-// disconnectNotice.peerDescriptor)
-// - if ManagedConnection#peerDescriptor is never undefined
-export const getNodeIdOrUnknownFromPeerDescriptor = (peerDescriptor: PeerDescriptor | undefined): string => {
- if (peerDescriptor !== undefined) {
- return toNodeId(peerDescriptor)
- } else {
- return 'unknown'
- }
-}
-
export class ConnectionManager extends EventEmitter implements ITransport, ConnectionsView, ConnectionLocker {
private options: ConnectionManagerOptions
diff --git a/packages/dht/src/connection/ConnectorFacade.ts b/packages/dht/src/connection/ConnectorFacade.ts
index 58a3ad164f..50c38cabe9 100644
--- a/packages/dht/src/connection/ConnectorFacade.ts
+++ b/packages/dht/src/connection/ConnectorFacade.ts
@@ -7,7 +7,8 @@ import { ITransport } from '../transport/ITransport'
import { PortRange, TlsCertificate } from './ConnectionManager'
import { Simulator } from './simulator/Simulator'
import { SimulatorConnector } from './simulator/SimulatorConnector'
-import { IceServer, WebrtcConnector } from './webrtc/WebrtcConnector'
+import { WebrtcConnector } from './webrtc/WebrtcConnector'
+import type { IceServer } from './webrtc/types'
import { WebsocketClientConnector } from './websocket/WebsocketClientConnector'
import { DhtAddress } from '../identifiers'
import { WebsocketServerConnector, WebsocketServerConnectorOptions } from './websocket/WebsocketServerConnector'
diff --git a/packages/dht/src/connection/ManagedConnection.ts b/packages/dht/src/connection/ManagedConnection.ts
index 0931f63e3a..b17d5f9d20 100644
--- a/packages/dht/src/connection/ManagedConnection.ts
+++ b/packages/dht/src/connection/ManagedConnection.ts
@@ -3,7 +3,7 @@ import * as Err from '../helpers/errors'
import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
import { Logger } from '@streamr/utils'
import { EventEmitter } from 'eventemitter3'
-import { getNodeIdOrUnknownFromPeerDescriptor } from './ConnectionManager'
+import { getNodeIdOrUnknownFromPeerDescriptor } from './helpers/getNodeIdOrUnknownFromPeerDescriptor'
import { DhtAddress, toNodeId } from '../identifiers'
import { createRandomConnectionId } from './Connection'
diff --git a/packages/dht/src/connection/PendingConnection.ts b/packages/dht/src/connection/PendingConnection.ts
index 8dc74e78d8..d6bb7a0503 100644
--- a/packages/dht/src/connection/PendingConnection.ts
+++ b/packages/dht/src/connection/PendingConnection.ts
@@ -1,7 +1,7 @@
import { EventEmitter } from 'eventemitter3'
import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
import { Logger, setAbortableTimeout } from '@streamr/utils'
-import { getNodeIdOrUnknownFromPeerDescriptor } from './ConnectionManager'
+import { getNodeIdOrUnknownFromPeerDescriptor } from './helpers/getNodeIdOrUnknownFromPeerDescriptor'
import { IConnection } from './IConnection'
export interface PendingConnectionEvents {
diff --git a/packages/dht/src/connection/connectivityChecker.ts b/packages/dht/src/connection/connectivityChecker.ts
index b924e4d923..23e144d603 100644
--- a/packages/dht/src/connection/connectivityChecker.ts
+++ b/packages/dht/src/connection/connectivityChecker.ts
@@ -6,7 +6,7 @@ import {
Message, PeerDescriptor
} from '../../generated/packages/dht/protos/DhtRpc'
import { IConnection } from './IConnection'
-import { WebsocketClientConnection } from './websocket/NodeWebsocketClientConnection'
+import { WebsocketClientConnection } from '@/WebsocketClientConnection'
import { connectivityMethodToWebsocketUrl } from './websocket/WebsocketClientConnector'
import { isMaybeSupportedProtocolVersion } from '../helpers/version'
diff --git a/packages/dht/src/connection/connectivityRequestHandler.ts b/packages/dht/src/connection/connectivityRequestHandler.ts
index 1fdb5f8957..89baca0233 100644
--- a/packages/dht/src/connection/connectivityRequestHandler.ts
+++ b/packages/dht/src/connection/connectivityRequestHandler.ts
@@ -11,7 +11,7 @@ import { IConnection } from './IConnection'
import { WebsocketServerConnection } from './websocket/WebsocketServerConnection'
import { connectivityMethodToWebsocketUrl } from './websocket/WebsocketClientConnector'
import { LOCAL_PROTOCOL_VERSION } from '../helpers/version'
-import { GeoIpLocator } from '@streamr/geoip-location'
+import type { GeoIpLocator } from '@streamr/geoip-location'
export const DISABLE_CONNECTIVITY_PROBE = 0
diff --git a/packages/dht/src/connection/helpers/getNodeIdOrUnknownFromPeerDescriptor.ts b/packages/dht/src/connection/helpers/getNodeIdOrUnknownFromPeerDescriptor.ts
new file mode 100644
index 0000000000..9b33c318a6
--- /dev/null
+++ b/packages/dht/src/connection/helpers/getNodeIdOrUnknownFromPeerDescriptor.ts
@@ -0,0 +1,27 @@
+import type { PeerDescriptor } from '../../../generated/packages/dht/protos/DhtRpc'
+import { toNodeId } from '../../identifiers'
+
+/**
+ * Retrieves a string representation of a node ID from a given peer descriptor.
+ * If the peer descriptor is undefined, it returns 'unknown'.
+ *
+ * This function is intended for logging purposes only and should be removed
+ * if the conditions outlined in the TODO comment are met, such as:
+ * - Refactoring ConnectionManager to prevent early processing of handshake requests,
+ * ensuring this.localPeerDescriptor is never undefined (NET-1129).
+ * - Ensuring the peerDescriptor of ManagedConnection is always available.
+ * - Creating stricter types for incoming messages, such as message.sourceDescriptor
+ * or disconnectNotice.peerDescriptor.
+ * - Guaranteeing that ManagedConnection#peerDescriptor is never undefined.
+ *
+ * @param peerDescriptor - The peer descriptor from which to derive the node ID,
+ * or undefined if not available.
+ * @returns A string representation of the node ID or 'unknown' if the peer descriptor is undefined.
+ */
+export const getNodeIdOrUnknownFromPeerDescriptor = (peerDescriptor: PeerDescriptor | undefined): string => {
+ if (peerDescriptor !== undefined) {
+ return toNodeId(peerDescriptor)
+ } else {
+ return 'unknown'
+ }
+}
diff --git a/packages/dht/src/connection/webrtc/WebrtcConnector.ts b/packages/dht/src/connection/webrtc/WebrtcConnector.ts
index 694673b7b7..96dbe41cf9 100644
--- a/packages/dht/src/connection/webrtc/WebrtcConnector.ts
+++ b/packages/dht/src/connection/webrtc/WebrtcConnector.ts
@@ -7,7 +7,7 @@ import {
} from '../../../generated/packages/dht/protos/DhtRpc'
import { ITransport } from '../../transport/ITransport'
import { ListeningRpcCommunicator } from '../../transport/ListeningRpcCommunicator'
-import { NodeWebrtcConnection } from './NodeWebrtcConnection'
+import { WebrtcConnection } from '@/WebrtcConnection'
import { WebrtcConnectorRpcRemote } from './WebrtcConnectorRpcRemote'
import { WebrtcConnectorRpcClient } from '../../../generated/packages/dht/protos/DhtRpc.client'
import { Logger } from '@streamr/utils'
@@ -20,6 +20,7 @@ import { getOfferer } from '../../helpers/offering'
import { acceptHandshake, createIncomingHandshaker, createOutgoingHandshaker, rejectHandshake } from '../Handshaker'
import { isMaybeSupportedProtocolVersion } from '../../helpers/version'
import { PendingConnection } from '../PendingConnection'
+import type { IceServer } from './types'
const logger = new Logger('WebrtcConnector')
@@ -32,8 +33,6 @@ export const replaceInternalIpWithExternalIp = (candidate: string, ip: string):
return parsed.join(' ')
}
-export const EARLY_TIMEOUT = 5000
-
export interface WebrtcConnectorOptions {
onNewConnection: (connection: PendingConnection) => boolean
transport: ITransport
@@ -46,17 +45,9 @@ export interface WebrtcConnectorOptions {
portRange?: PortRange
}
-export interface IceServer {
- url: string
- port: number
- username?: string
- password?: string
- tcp?: boolean
-}
-
export interface ConnectingConnection {
managedConnection: PendingConnection
- connection: NodeWebrtcConnection
+ connection: WebrtcConnection
}
export class WebrtcConnector {
@@ -204,8 +195,8 @@ export class WebrtcConnector {
return pendingConnection
}
- private createConnection(targetPeerDescriptor: PeerDescriptor): NodeWebrtcConnection {
- return new NodeWebrtcConnection({
+ private createConnection(targetPeerDescriptor: PeerDescriptor): WebrtcConnection {
+ return new WebrtcConnection({
remotePeerDescriptor: targetPeerDescriptor,
iceServers: this.options.iceServers,
bufferThresholdLow: this.options.bufferThresholdLow,
diff --git a/packages/dht/src/connection/webrtc/WebrtcConnectorRpcLocal.ts b/packages/dht/src/connection/webrtc/WebrtcConnectorRpcLocal.ts
index 84e18284a0..8c91b542bf 100644
--- a/packages/dht/src/connection/webrtc/WebrtcConnectorRpcLocal.ts
+++ b/packages/dht/src/connection/webrtc/WebrtcConnectorRpcLocal.ts
@@ -11,7 +11,7 @@ import {
import { IWebrtcConnectorRpc } from '../../../generated/packages/dht/protos/DhtRpc.server'
import { DhtCallContext } from '../../rpc-protocol/DhtCallContext'
import { ListeningRpcCommunicator } from '../../transport/ListeningRpcCommunicator'
-import { NodeWebrtcConnection } from './NodeWebrtcConnection'
+import type { WebrtcConnection } from '@/WebrtcConnection'
import { DhtAddress, toNodeId } from '../../identifiers'
import { ConnectionID } from '../IConnection'
import { ConnectingConnection } from './WebrtcConnector'
@@ -50,7 +50,7 @@ export class WebrtcConnectorRpcLocal implements IWebrtcConnectorRpc {
async rtcOffer(request: RtcOffer, context: ServerCallContext): Promise {
const remotePeerDescriptor = (context as DhtCallContext).incomingSourceDescriptor!
const nodeId = toNodeId(remotePeerDescriptor)
- let connection: NodeWebrtcConnection
+ let connection: WebrtcConnection
let pendingConnection: PendingConnection
if (!this.options.ongoingConnectAttempts.has(nodeId)) {
diff --git a/packages/dht/src/connection/webrtc/consts.ts b/packages/dht/src/connection/webrtc/consts.ts
new file mode 100644
index 0000000000..c07acfd5eb
--- /dev/null
+++ b/packages/dht/src/connection/webrtc/consts.ts
@@ -0,0 +1 @@
+export const EARLY_TIMEOUT = 5000
diff --git a/packages/dht/src/connection/webrtc/iceServerAsString.ts b/packages/dht/src/connection/webrtc/iceServerAsString.ts
index c204464c07..4ffdb588e8 100644
--- a/packages/dht/src/connection/webrtc/iceServerAsString.ts
+++ b/packages/dht/src/connection/webrtc/iceServerAsString.ts
@@ -1,4 +1,4 @@
-import { IceServer } from './WebrtcConnector'
+import { IceServer } from './types'
export function iceServerAsString({ url, port, username, password, tcp }: IceServer): string {
const [protocol, hostname] = url.split(':')
diff --git a/packages/dht/src/connection/webrtc/types.ts b/packages/dht/src/connection/webrtc/types.ts
new file mode 100644
index 0000000000..f0b1acb566
--- /dev/null
+++ b/packages/dht/src/connection/webrtc/types.ts
@@ -0,0 +1,7 @@
+export interface IceServer {
+ url: string
+ port: number
+ username?: string
+ password?: string
+ tcp?: boolean
+}
diff --git a/packages/dht/src/connection/websocket/AutoCertifierClientFacade.ts b/packages/dht/src/connection/websocket/AutoCertifierClientFacade.ts
index e228801c17..92851181da 100644
--- a/packages/dht/src/connection/websocket/AutoCertifierClientFacade.ts
+++ b/packages/dht/src/connection/websocket/AutoCertifierClientFacade.ts
@@ -1,36 +1,14 @@
import {
- AutoCertifierClient,
- HasSessionRequest,
- HasSessionResponse,
- CertifiedSubdomain,
+ type CertifiedSubdomain,
SERVICE_ID as AUTO_CERTIFIER_SERVICE_ID,
- HasSession
} from '@streamr/autocertifier-client'
import { ListeningRpcCommunicator } from '../../transport/ListeningRpcCommunicator'
import { Logger, waitForEvent } from '@streamr/utils'
import { ITransport } from '../../transport/ITransport'
+import { createDefaultAutocertifierClient } from '@/createDefaultAutocertifierClient'
const START_TIMEOUT = 60 * 1000
-const defaultAutoCertifierClientFactory = (
- configFile: string,
- autoCertifierUrl: string,
- autoCertifierRpcCommunicator: ListeningRpcCommunicator,
- wsServerPort: number
-) => new AutoCertifierClient(
- configFile,
- wsServerPort,
- autoCertifierUrl,
- (_serviceId: string, rpcMethodName: string, method: HasSession) => {
- autoCertifierRpcCommunicator.registerRpcMethod(
- HasSessionRequest,
- HasSessionResponse,
- rpcMethodName,
- method
- )
- }
-)
-
export interface IAutoCertifierClient {
start(): Promise
stop(): void
@@ -62,7 +40,7 @@ export class AutoCertifierClientFacade {
this.options = options
this.rpcCommunicator = new ListeningRpcCommunicator(AUTO_CERTIFIER_SERVICE_ID, options.transport)
this.autoCertifierClient = options.createClientFactory ? options.createClientFactory()
- : defaultAutoCertifierClientFactory(
+ : createDefaultAutocertifierClient(
options.configFile,
options.url,
this.rpcCommunicator,
diff --git a/packages/dht/src/connection/websocket/WebsocketClientConnector.ts b/packages/dht/src/connection/websocket/WebsocketClientConnector.ts
index 5dc5b0e573..4fb0b51178 100644
--- a/packages/dht/src/connection/websocket/WebsocketClientConnector.ts
+++ b/packages/dht/src/connection/websocket/WebsocketClientConnector.ts
@@ -1,4 +1,4 @@
-import { WebsocketClientConnection } from './NodeWebsocketClientConnection'
+import { WebsocketClientConnection } from '@/WebsocketClientConnection'
import { ConnectionType } from '../IConnection'
import { ListeningRpcCommunicator } from '../../transport/ListeningRpcCommunicator'
import { WebsocketClientConnectorRpcLocal } from './WebsocketClientConnectorRpcLocal'
@@ -7,13 +7,13 @@ import {
PeerDescriptor,
WebsocketConnectionRequest
} from '../../../generated/packages/dht/protos/DhtRpc'
-import { WebsocketServer } from './WebsocketServer'
+import type { IWebsocketServer } from './types'
import { createOutgoingHandshaker } from '../Handshaker'
import { ServerCallContext } from '@protobuf-ts/runtime-rpc'
import { expectedConnectionType } from '../../helpers/Connectivity'
import { Empty } from '../../../generated/google/protobuf/empty'
import { DhtAddress, toNodeId } from '../../identifiers'
-import { GeoIpLocator } from '@streamr/geoip-location'
+import type { GeoIpLocator } from '@streamr/geoip-location'
import { PendingConnection } from '../PendingConnection'
export type Action = 'connectivityRequest' | 'connectivityProbe'
@@ -31,7 +31,7 @@ export interface WebsocketClientConnectorOptions {
export class WebsocketClientConnector {
public static readonly WEBSOCKET_CONNECTOR_SERVICE_ID = 'system/websocket-connector'
- private readonly websocketServer?: WebsocketServer
+ private readonly websocketServer?: IWebsocketServer
private geoIpLocator?: GeoIpLocator
private localPeerDescriptor?: PeerDescriptor
diff --git a/packages/dht/src/connection/websocket/WebsocketServerConnector.ts b/packages/dht/src/connection/websocket/WebsocketServerConnector.ts
index 06f09dfc8b..7492f66c85 100644
--- a/packages/dht/src/connection/websocket/WebsocketServerConnector.ts
+++ b/packages/dht/src/connection/websocket/WebsocketServerConnector.ts
@@ -1,7 +1,8 @@
-import { GeoIpLocator } from '@streamr/geoip-location'
+import type { GeoIpLocator } from '@streamr/geoip-location'
+import { createGeoipLocator } from '@/createGeoipLocator'
import { ListeningRpcCommunicator } from '../../transport/ListeningRpcCommunicator'
import { Action, connectivityMethodToWebsocketUrl } from './WebsocketClientConnector'
-import { WebsocketServer } from './WebsocketServer'
+import { WebsocketServer } from '@/WebsocketServer'
import { areEqualPeerDescriptors, DhtAddress, toNodeId } from '../../identifiers'
import { AutoCertifierClientFacade } from './AutoCertifierClientFacade'
import { ConnectivityResponse, HandshakeError, PeerDescriptor } from '../../../generated/packages/dht/protos/DhtRpc'
@@ -96,10 +97,8 @@ export class WebsocketServerConnector {
})
if (this.options.geoIpDatabaseFolder) {
- const geoIpLocator = new GeoIpLocator(this.options.geoIpDatabaseFolder)
try {
- await geoIpLocator.start()
- this.geoIpLocator = geoIpLocator
+ this.geoIpLocator = await createGeoipLocator(this.options.geoIpDatabaseFolder)
} catch (err) {
logger.error('Failed to start GeoIpLocator', { err })
}
diff --git a/packages/dht/src/connection/websocket/types.ts b/packages/dht/src/connection/websocket/types.ts
new file mode 100644
index 0000000000..974f21c32c
--- /dev/null
+++ b/packages/dht/src/connection/websocket/types.ts
@@ -0,0 +1,20 @@
+import type { EventEmitter } from 'eventemitter3'
+import type { PortRange, TlsCertificate } from '../ConnectionManager'
+import type { IConnection } from '../IConnection'
+
+export interface WebsocketServerEvents {
+ connected: ((connection: IConnection) => void)
+}
+
+export interface WebsocketServerOptions {
+ portRange: PortRange
+ enableTls: boolean
+ tlsCertificate?: TlsCertificate
+ maxMessageSize?: number
+}
+
+export interface IWebsocketServer extends EventEmitter {
+ start(): Promise
+ stop(): Promise
+ updateCertificate(cert: string, key: string): void
+}
diff --git a/packages/dht/src/dht/DhtNode.ts b/packages/dht/src/dht/DhtNode.ts
index 11f7f16bd1..9c632c4772 100644
--- a/packages/dht/src/dht/DhtNode.ts
+++ b/packages/dht/src/dht/DhtNode.ts
@@ -13,8 +13,7 @@ import type { MarkRequired } from 'ts-essentials'
import { ConnectionLocker, ConnectionManager, PortRange, TlsCertificate } from '../connection/ConnectionManager'
import { ConnectionsView } from '../connection/ConnectionsView'
import { DefaultConnectorFacade, DefaultConnectorFacadeOptions } from '../connection/ConnectorFacade'
-import { IceServer } from '../connection/webrtc/WebrtcConnector'
-import { isBrowserEnvironment } from '../helpers/browser/isBrowserEnvironment'
+import type { IceServer } from '../connection/webrtc/types'
import { createPeerDescriptor } from '../helpers/createPeerDescriptor'
import { DhtAddress, KADEMLIA_ID_LENGTH_IN_BYTES, toNodeId } from '../identifiers'
import { Any } from '../../generated/google/protobuf/any'
@@ -54,6 +53,8 @@ import { LocalDataStore } from './store/LocalDataStore'
import { StoreManager } from './store/StoreManager'
import { StoreRpcRemote } from './store/StoreRpcRemote'
import { getLocalRegionByCoordinates, getLocalRegionWithCache } from '@streamr/cdn-location'
+import { isBrowserEnvironment } from '@/isBrowserEnvironment'
+import { CONTROL_LAYER_NODE_SERVICE_ID } from './consts'
export interface DhtNodeEvents extends TransportEvents {
nearbyContactAdded: (peerDescriptor: PeerDescriptor) => void
@@ -132,9 +133,6 @@ const logger = new Logger('DhtNode')
export const NUMBER_OF_NODES_PER_KBUCKET_DEFAULT = 8
const PERIODICAL_PING_INTERVAL = 60 * 1000
-// TODO move this to trackerless-network package and change serviceId to be a required paramater
-export const CONTROL_LAYER_NODE_SERVICE_ID = 'layer0'
-
export class DhtNode extends EventEmitter implements ITransport {
private readonly options: StrictDhtNodeOptions
@@ -200,7 +198,7 @@ export class DhtNode extends EventEmitter implements ITransport {
logger.trace(`Starting new Streamr Network DHT Node with serviceId ${this.options.serviceId}`)
this.started = true
- if (isBrowserEnvironment()) {
+ if (isBrowserEnvironment) {
this.options.websocketPortRange = undefined
if (this.options.peerDescriptor) {
this.options.peerDescriptor.websocket = undefined
diff --git a/packages/dht/src/dht/PeerManager.ts b/packages/dht/src/dht/PeerManager.ts
index 5b1fa674ed..1039f58e84 100644
--- a/packages/dht/src/dht/PeerManager.ts
+++ b/packages/dht/src/dht/PeerManager.ts
@@ -1,11 +1,9 @@
-import {
- Logger
-} from '@streamr/utils'
+import { Logger } from '@streamr/utils'
import { EventEmitter } from 'eventemitter3'
import KBucket from 'k-bucket'
import { LockID } from '../connection/ConnectionLockStates'
import { ConnectionLocker } from '../connection/ConnectionManager'
-import { DhtAddress, DhtAddressRaw, toNodeId, toDhtAddressRaw } from '../identifiers'
+import { DhtAddress, toNodeId, toDhtAddressRaw } from '../identifiers'
import {
PeerDescriptor
} from '../../generated/packages/dht/protos/DhtRpc'
@@ -54,10 +52,6 @@ export interface PeerManagerEvents {
kBucketEmpty: () => void
}
-export const getDistance = (nodeIdOrDataKeyRaw1: DhtAddressRaw, nodeIdOrDataKeyRaw2: DhtAddressRaw): number => {
- return KBucket.distance(nodeIdOrDataKeyRaw1, nodeIdOrDataKeyRaw2)
-}
-
export class PeerManager extends EventEmitter {
// Glossary:
diff --git a/packages/dht/src/dht/consts.ts b/packages/dht/src/dht/consts.ts
new file mode 100644
index 0000000000..eee28b1fd8
--- /dev/null
+++ b/packages/dht/src/dht/consts.ts
@@ -0,0 +1,2 @@
+// TODO move this to trackerless-network package and change serviceId to be a required paramater
+export const CONTROL_LAYER_NODE_SERVICE_ID = 'layer0'
diff --git a/packages/dht/src/dht/contact/SortedContactList.ts b/packages/dht/src/dht/contact/SortedContactList.ts
index e43a816258..f110ae014e 100755
--- a/packages/dht/src/dht/contact/SortedContactList.ts
+++ b/packages/dht/src/dht/contact/SortedContactList.ts
@@ -1,7 +1,7 @@
import { Events } from './ContactList'
import sortedIndexBy from 'lodash/sortedIndexBy'
import { EventEmitter } from 'eventemitter3'
-import { getDistance } from '../PeerManager'
+import { getPeerDistance } from '../helpers/getPeerDistance'
import { DhtAddress, toDhtAddressRaw } from '../../identifiers'
// add other getters in the future if needed
@@ -120,7 +120,7 @@ export class SortedContactList DhtAddress }> extend
// TODO inline this method?
private distanceToReferenceId(id: DhtAddress): number {
// TODO maybe this class should store the referenceId also as DhtAddressRaw so that we don't need to convert it here?
- return getDistance(toDhtAddressRaw(this.options.referenceId), toDhtAddressRaw(id))
+ return getPeerDistance(toDhtAddressRaw(this.options.referenceId), toDhtAddressRaw(id))
}
public removeContact(id: DhtAddress): boolean {
diff --git a/packages/dht/src/dht/contact/getClosestNodes.ts b/packages/dht/src/dht/contact/getClosestNodes.ts
index 864687b807..2266d1ee52 100644
--- a/packages/dht/src/dht/contact/getClosestNodes.ts
+++ b/packages/dht/src/dht/contact/getClosestNodes.ts
@@ -1,4 +1,4 @@
-import { PeerDescriptor } from '../../exports'
+import { PeerDescriptor } from '../../../generated/packages/dht/protos/DhtRpc'
import { DhtAddress } from '../../identifiers'
import { Contact } from './Contact'
import { SortedContactList } from './SortedContactList'
diff --git a/packages/dht/src/dht/discovery/DiscoverySession.ts b/packages/dht/src/dht/discovery/DiscoverySession.ts
index 700aaca223..940e039390 100644
--- a/packages/dht/src/dht/discovery/DiscoverySession.ts
+++ b/packages/dht/src/dht/discovery/DiscoverySession.ts
@@ -3,7 +3,8 @@ import { v4 } from 'uuid'
import { DhtAddress, toNodeId, toDhtAddressRaw } from '../../identifiers'
import { PeerDescriptor } from '../../../generated/packages/dht/protos/DhtRpc'
import { DhtNodeRpcRemote } from '../DhtNodeRpcRemote'
-import { PeerManager, getDistance } from '../PeerManager'
+import { PeerManager } from '../PeerManager'
+import { getPeerDistance } from '../helpers/getPeerDistance'
import { getClosestNodes } from '../contact/getClosestNodes'
const logger = new Logger('DiscoverySession')
@@ -60,10 +61,10 @@ export class DiscoverySession {
this.ongoingRequests.delete(nodeId)
const targetId = toDhtAddressRaw(this.options.targetId)
const oldClosestNeighbor = this.getClosestNeighbor()
- const oldClosestDistance = getDistance(targetId, oldClosestNeighbor.nodeId)
+ const oldClosestDistance = getPeerDistance(targetId, oldClosestNeighbor.nodeId)
this.addContacts(contacts)
const newClosestNeighbor = this.getClosestNeighbor()
- const newClosestDistance = getDistance(targetId, newClosestNeighbor.nodeId)
+ const newClosestDistance = getPeerDistance(targetId, newClosestNeighbor.nodeId)
if (newClosestDistance >= oldClosestDistance) {
this.noProgressCounter++
}
diff --git a/packages/dht/src/dht/discovery/PeerDiscovery.ts b/packages/dht/src/dht/discovery/PeerDiscovery.ts
index b1dd5d1663..42ea56e029 100644
--- a/packages/dht/src/dht/discovery/PeerDiscovery.ts
+++ b/packages/dht/src/dht/discovery/PeerDiscovery.ts
@@ -16,7 +16,7 @@ import { getClosestNodes } from '../contact/getClosestNodes'
import { RingIdRaw, getRingIdRawFromPeerDescriptor } from '../contact/ringIdentifiers'
import { DiscoverySession } from './DiscoverySession'
import { RingDiscoverySession } from './RingDiscoverySession'
-import { CONTROL_LAYER_NODE_SERVICE_ID } from '../DhtNode'
+import { CONTROL_LAYER_NODE_SERVICE_ID } from '../consts'
interface PeerDiscoveryOptions {
localPeerDescriptor: PeerDescriptor
diff --git a/packages/dht/src/dht/helpers/getPeerDistance.ts b/packages/dht/src/dht/helpers/getPeerDistance.ts
new file mode 100644
index 0000000000..592619929d
--- /dev/null
+++ b/packages/dht/src/dht/helpers/getPeerDistance.ts
@@ -0,0 +1,9 @@
+import KBucket from 'k-bucket'
+import { DhtAddressRaw } from '../../identifiers'
+
+export const getPeerDistance = (
+ nodeIdOrDataKeyRaw1: DhtAddressRaw,
+ nodeIdOrDataKeyRaw2: DhtAddressRaw
+): number => {
+ return KBucket.distance(nodeIdOrDataKeyRaw1, nodeIdOrDataKeyRaw2)
+}
diff --git a/packages/dht/src/dht/recursive-operation/RecursiveOperationManager.ts b/packages/dht/src/dht/recursive-operation/RecursiveOperationManager.ts
index bea14f6bc2..0cffa8b837 100644
--- a/packages/dht/src/dht/recursive-operation/RecursiveOperationManager.ts
+++ b/packages/dht/src/dht/recursive-operation/RecursiveOperationManager.ts
@@ -24,8 +24,8 @@ import { createRouteMessageAck } from '../routing/RouterRpcLocal'
import { ServiceID } from '../../types/ServiceID'
import { RecursiveOperationRpcLocal } from './RecursiveOperationRpcLocal'
import { DhtAddress, areEqualPeerDescriptors, toDhtAddress, toNodeId, toDhtAddressRaw } from '../../identifiers'
-import { getDistance } from '../PeerManager'
-import { ConnectionsView } from '../../exports'
+import { getPeerDistance } from '../helpers/getPeerDistance'
+import { ConnectionsView } from '../../connection/ConnectionsView'
interface RecursiveOperationManagerOptions {
rpcCommunicator: RoutingRpcCommunicator
@@ -233,8 +233,8 @@ export class RecursiveOperationManager {
private isPeerCloserToIdThanSelf(peer: PeerDescriptor, nodeIdOrDataKey: DhtAddress): boolean {
const nodeIdOrDataKeyRaw = toDhtAddressRaw(nodeIdOrDataKey)
- const distance1 = getDistance(peer.nodeId, nodeIdOrDataKeyRaw)
- const distance2 = getDistance(this.options.localPeerDescriptor.nodeId, nodeIdOrDataKeyRaw)
+ const distance1 = getPeerDistance(peer.nodeId, nodeIdOrDataKeyRaw)
+ const distance2 = getPeerDistance(this.options.localPeerDescriptor.nodeId, nodeIdOrDataKeyRaw)
return distance1 < distance2
}
diff --git a/packages/dht/src/exports.ts b/packages/dht/src/exports.ts
index 6fe245fe1e..bfc02b6260 100644
--- a/packages/dht/src/exports.ts
+++ b/packages/dht/src/exports.ts
@@ -12,9 +12,9 @@ export type { LockID } from './connection/ConnectionLockStates'
export { DefaultConnectorFacade } from './connection/ConnectorFacade'
export type { DhtRpcOptions } from './rpc-protocol/DhtRpcOptions'
export { RpcRemote, EXISTING_CONNECTION_TIMEOUT } from './dht/contact/RpcRemote'
-export type { IceServer } from './connection/webrtc/WebrtcConnector'
+export type { IceServer } from './connection/webrtc/types'
export { DhtCallContext } from './rpc-protocol/DhtCallContext'
-export { WebsocketClientConnection } from './connection/websocket/NodeWebsocketClientConnection'
+export { WebsocketClientConnection } from '@/WebsocketClientConnection'
export { ManagedConnection } from './connection/ManagedConnection'
export { PendingConnection } from './connection/PendingConnection'
export type { IConnection } from './connection/IConnection'
diff --git a/packages/dht/src/helpers/browser/isBrowserEnvironment.ts b/packages/dht/src/helpers/browser/isBrowserEnvironment.ts
deleted file mode 100644
index ac3c121acb..0000000000
--- a/packages/dht/src/helpers/browser/isBrowserEnvironment.ts
+++ /dev/null
@@ -1 +0,0 @@
-export const isBrowserEnvironment = (): boolean => false
diff --git a/packages/dht/src/helpers/browser/isBrowserEnvironment_override.ts b/packages/dht/src/helpers/browser/isBrowserEnvironment_override.ts
deleted file mode 100644
index 38c7c9c2ac..0000000000
--- a/packages/dht/src/helpers/browser/isBrowserEnvironment_override.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-// webpack overwrites the isBrowserEnvironment.ts with this file when it creates the browser bundle
-
-export const isBrowserEnvironment = (): boolean => true
diff --git a/packages/dht/src/helpers/createPeerDescriptor.ts b/packages/dht/src/helpers/createPeerDescriptor.ts
index f9c05f8a14..b7731d7e76 100644
--- a/packages/dht/src/helpers/createPeerDescriptor.ts
+++ b/packages/dht/src/helpers/createPeerDescriptor.ts
@@ -1,6 +1,5 @@
-import { EcdsaSecp256k1Evm } from '@streamr/utils'
-import crypto from 'crypto'
-import { isBrowserEnvironment } from '../helpers/browser/isBrowserEnvironment'
+import { EcdsaSecp256k1Evm, randomBytes } from '@streamr/utils'
+import { isBrowserEnvironment } from '@/isBrowserEnvironment'
import { createPeerDescriptorSignaturePayload } from '../helpers/createPeerDescriptorSignaturePayload'
import { DhtAddress, DhtAddressRaw, toDhtAddressRaw } from '../identifiers'
import {
@@ -30,8 +29,8 @@ const calculateNodeIdRaw = async (ipAddress: number, privateKey: Uint8Array): Pr
export const createPeerDescriptor = async (connectivityResponse: ConnectivityResponse,
region: number, nodeId?: DhtAddress): Promise => {
- const privateKey = crypto.randomBytes(32)
- const publicKey = crypto.randomBytes(20) // TODO calculate publicKey from privateKey
+ const privateKey = randomBytes(32)
+ const publicKey = randomBytes(20) // TODO calculate publicKey from privateKey
let nodeIdRaw: DhtAddressRaw
if (nodeId !== undefined) {
nodeIdRaw = toDhtAddressRaw(nodeId)
@@ -40,7 +39,7 @@ export const createPeerDescriptor = async (connectivityResponse: ConnectivityRes
}
const ret: PeerDescriptor = {
nodeId: nodeIdRaw,
- type: isBrowserEnvironment() ? NodeType.BROWSER : NodeType.NODEJS,
+ type: isBrowserEnvironment ? NodeType.BROWSER : NodeType.NODEJS,
ipAddress: connectivityResponse.ipAddress,
region,
publicKey
diff --git a/packages/dht/src/helpers/offering.ts b/packages/dht/src/helpers/offering.ts
index fc103de7c0..297364f8b0 100644
--- a/packages/dht/src/helpers/offering.ts
+++ b/packages/dht/src/helpers/offering.ts
@@ -1,4 +1,4 @@
-import crypto from 'crypto'
+import { computeMd5 } from '@streamr/utils'
import { DhtAddress } from '../identifiers'
type Offerer = 'local' | 'remote'
@@ -10,6 +10,5 @@ export const getOfferer = (localNodeId: DhtAddress, remoteNodeId: DhtAddress): O
}
const getOfferingHash = (idPair: string): number => {
- const buffer = crypto.createHash('md5').update(idPair).digest()
- return buffer.readInt32LE(0)
+ return computeMd5(idPair).readInt32LE(0)
}
diff --git a/packages/dht/src/helpers/protoClasses.ts b/packages/dht/src/helpers/protoClasses.ts
index 1af21d297e..7c42f7903f 100644
--- a/packages/dht/src/helpers/protoClasses.ts
+++ b/packages/dht/src/helpers/protoClasses.ts
@@ -25,7 +25,6 @@ import {
LockRequest,
UnlockRequest,
LockResponse
-
} from '../../generated/packages/dht/protos/DhtRpc'
export const protoClasses: IMessageType[] = [
diff --git a/packages/dht/src/helpers/protoToString.ts b/packages/dht/src/helpers/protoToString.ts
index 0eb1d64e5b..9dc6e2cb40 100644
--- a/packages/dht/src/helpers/protoToString.ts
+++ b/packages/dht/src/helpers/protoToString.ts
@@ -1,5 +1,4 @@
import { IMessageType } from '@protobuf-ts/runtime'
-
import { protoClasses } from './protoClasses'
import { protoClasses as rpcProtoClasses } from '@streamr/proto-rpc'
diff --git a/packages/dht/src/identifiers.ts b/packages/dht/src/identifiers.ts
index 1be870bb7d..5177ab7470 100644
--- a/packages/dht/src/identifiers.ts
+++ b/packages/dht/src/identifiers.ts
@@ -1,5 +1,4 @@
-import { BrandedString, areEqualBinaries, binaryToHex, hexToBinary } from '@streamr/utils'
-import crypto from 'crypto'
+import { BrandedString, areEqualBinaries, binaryToHex, hexToBinary, randomBytes } from '@streamr/utils'
import { PeerDescriptor } from '../generated/packages/dht/protos/DhtRpc'
// https://www.scs.stanford.edu/~dm/home/papers/kpos.pdf
@@ -25,5 +24,5 @@ export const areEqualPeerDescriptors = (peerDescriptor1: PeerDescriptor, peerDes
}
export const randomDhtAddress = (): DhtAddress => {
- return toDhtAddress(crypto.randomBytes(KADEMLIA_ID_LENGTH_IN_BYTES))
+ return toDhtAddress(randomBytes(KADEMLIA_ID_LENGTH_IN_BYTES))
}
diff --git a/packages/dht/src/connection/webrtc/NodeWebrtcConnection.ts b/packages/dht/src/nodejs/WebrtcConnection.ts
similarity index 88%
rename from packages/dht/src/connection/webrtc/NodeWebrtcConnection.ts
rename to packages/dht/src/nodejs/WebrtcConnection.ts
index 5344046e39..88dd2b0916 100644
--- a/packages/dht/src/connection/webrtc/NodeWebrtcConnection.ts
+++ b/packages/dht/src/nodejs/WebrtcConnection.ts
@@ -1,26 +1,19 @@
-import { IWebrtcConnection, WebrtcConnectionEvents } from './IWebrtcConnection'
-import { ConnectionType, IConnection, ConnectionID } from '../IConnection'
-import { PeerDescriptor } from '../../../generated/packages/dht/protos/DhtRpc'
+import { IWebrtcConnection, WebrtcConnectionEvents } from '../connection/webrtc/IWebrtcConnection'
+import { ConnectionType, IConnection, ConnectionID } from '../connection/IConnection'
+import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
import { EventEmitter } from 'eventemitter3'
import { DataChannel, DescriptionType, PeerConnection, initLogger } from 'node-datachannel'
import { Logger } from '@streamr/utils'
-import { IllegalRtcPeerConnectionState } from '../../helpers/errors'
-import { iceServerAsString } from './iceServerAsString'
-import { IceServer, EARLY_TIMEOUT } from './WebrtcConnector'
-import { PortRange } from '../ConnectionManager'
-import { toNodeId } from '../../identifiers'
-import { createRandomConnectionId } from '../Connection'
-
-const logger = new Logger('NodeWebrtcConnection')
-
-export interface Params {
- remotePeerDescriptor: PeerDescriptor
- bufferThresholdHigh?: number
- bufferThresholdLow?: number
- maxMessageSize?: number
- iceServers?: IceServer[] // TODO make this parameter required (empty array is a good fallback which can be set by the caller if needed)
- portRange?: PortRange
-}
+import { IllegalRtcPeerConnectionState } from '../helpers/errors'
+import { iceServerAsString } from '../connection/webrtc/iceServerAsString'
+import { IceServer } from '../connection/webrtc/types'
+import { EARLY_TIMEOUT } from '../connection/webrtc/consts'
+import { PortRange } from '../connection/ConnectionManager'
+import { toNodeId } from '../identifiers'
+import { createRandomConnectionId } from '../connection/Connection'
+import type { WebrtcConnectionParams } from '../types/WebrtcConnectionParams'
+
+const logger = new Logger('WebrtcConnection (Node)')
// Re-defined accoring to https://github.com/microsoft/TypeScript/blob/main/src/lib/dom.generated.d.ts
// because importing single dom definitions in not possible
@@ -38,7 +31,7 @@ initLogger('Fatal')
type RtcPeerConnectionState = keyof typeof RtcPeerConnectionStateEnum
-export class NodeWebrtcConnection extends EventEmitter implements IConnection, IWebrtcConnection {
+export class WebrtcConnection extends EventEmitter implements IConnection, IWebrtcConnection {
public connectionId: ConnectionID
private connection?: PeerConnection
@@ -57,7 +50,7 @@ export class NodeWebrtcConnection extends EventEmitter i
private offering?: boolean
private readonly earlyTimeout: NodeJS.Timeout
- constructor(params: Params) {
+ constructor(params: WebrtcConnectionParams) {
super()
this.connectionId = createRandomConnectionId()
this.iceServers = params.iceServers ?? []
diff --git a/packages/dht/src/connection/websocket/NodeWebsocketClientConnection.ts b/packages/dht/src/nodejs/WebsocketClientConnection.ts
similarity index 89%
rename from packages/dht/src/connection/websocket/NodeWebsocketClientConnection.ts
rename to packages/dht/src/nodejs/WebsocketClientConnection.ts
index d0c15c33fd..98fd2263a5 100644
--- a/packages/dht/src/connection/websocket/NodeWebsocketClientConnection.ts
+++ b/packages/dht/src/nodejs/WebsocketClientConnection.ts
@@ -1,8 +1,8 @@
import { Logger, binaryToUtf8 } from '@streamr/utils'
import { WebSocket } from 'ws'
-import { AbstractWebsocketClientConnection } from './AbstractWebsocketClientConnection'
+import { AbstractWebsocketClientConnection } from '../connection/websocket/AbstractWebsocketClientConnection'
-const logger = new Logger('NodeWebsocketClientConnection')
+const logger = new Logger('WebsocketClientConnection (Node)')
const BINARY_TYPE = 'nodebuffer'
diff --git a/packages/dht/src/connection/websocket/WebsocketServer.ts b/packages/dht/src/nodejs/WebsocketServer.ts
similarity index 91%
rename from packages/dht/src/connection/websocket/WebsocketServer.ts
rename to packages/dht/src/nodejs/WebsocketServer.ts
index 1c351fd98f..21cae994aa 100644
--- a/packages/dht/src/connection/websocket/WebsocketServer.ts
+++ b/packages/dht/src/nodejs/WebsocketServer.ts
@@ -2,31 +2,19 @@ import { createServer as createHttpServer, Server as HttpServer, IncomingMessage
import { createServer as createHttpsServer, Server as HttpsServer } from 'https'
import { EventEmitter } from 'eventemitter3'
import WebSocket, { WebSocketServer } from 'ws'
-import { WebsocketServerConnection } from './WebsocketServerConnection'
+import { WebsocketServerConnection } from '../connection/websocket/WebsocketServerConnection'
import { Logger, asAbortable } from '@streamr/utils'
import { createSelfSignedCertificate } from '@streamr/autocertifier-client'
-import { WebsocketServerStartError } from '../../helpers/errors'
-import { PortRange, TlsCertificate } from '../ConnectionManager'
+import { WebsocketServerStartError } from '../helpers/errors'
import range from 'lodash/range'
import fs from 'fs'
import { v4 as uuid } from 'uuid'
import { parse } from 'url'
-import { IConnection } from '../IConnection'
+import type { IWebsocketServer, WebsocketServerEvents, WebsocketServerOptions } from '../connection/websocket/types'
-const logger = new Logger('WebsocketServer')
+const logger = new Logger('WebsocketServer (Node)')
-interface WebsocketServerOptions {
- portRange: PortRange
- enableTls: boolean
- tlsCertificate?: TlsCertificate
- maxMessageSize?: number
-}
-
-interface Events {
- connected: ((connection: IConnection) => void)
-}
-
-export class WebsocketServer extends EventEmitter {
+export class WebsocketServer extends EventEmitter implements IWebsocketServer {
private httpServer?: HttpServer | HttpsServer
private wsServer?: WebSocketServer
diff --git a/packages/dht/src/nodejs/createDefaultAutocertifierClient.ts b/packages/dht/src/nodejs/createDefaultAutocertifierClient.ts
new file mode 100644
index 0000000000..70c600f3cd
--- /dev/null
+++ b/packages/dht/src/nodejs/createDefaultAutocertifierClient.ts
@@ -0,0 +1,28 @@
+import {
+ AutoCertifierClient,
+ HasSessionRequest,
+ HasSessionResponse,
+ type HasSession,
+} from '@streamr/autocertifier-client'
+import { ListeningRpcCommunicator } from '../transport/ListeningRpcCommunicator'
+
+export const createDefaultAutocertifierClient = (
+ configFile: string,
+ autoCertifierUrl: string,
+ autoCertifierRpcCommunicator: ListeningRpcCommunicator,
+ wsServerPort: number
+): AutoCertifierClient => {
+ return new AutoCertifierClient(
+ configFile,
+ wsServerPort,
+ autoCertifierUrl,
+ (_serviceId: string, rpcMethodName: string, method: HasSession) => {
+ autoCertifierRpcCommunicator.registerRpcMethod(
+ HasSessionRequest,
+ HasSessionResponse,
+ rpcMethodName,
+ method
+ )
+ }
+ )
+}
diff --git a/packages/dht/src/nodejs/createGeoipLocator.ts b/packages/dht/src/nodejs/createGeoipLocator.ts
new file mode 100644
index 0000000000..36f1eb8f13
--- /dev/null
+++ b/packages/dht/src/nodejs/createGeoipLocator.ts
@@ -0,0 +1,11 @@
+import { GeoIpLocator } from '@streamr/geoip-location'
+
+export const createGeoipLocator = async (
+ geoIpDatabaseFolder: string
+): Promise => {
+ const geoIpLocator = new GeoIpLocator(geoIpDatabaseFolder)
+
+ await geoIpLocator.start()
+
+ return geoIpLocator
+}
diff --git a/packages/dht/src/nodejs/isBrowserEnvironment.ts b/packages/dht/src/nodejs/isBrowserEnvironment.ts
new file mode 100644
index 0000000000..5f58603e88
--- /dev/null
+++ b/packages/dht/src/nodejs/isBrowserEnvironment.ts
@@ -0,0 +1 @@
+export const isBrowserEnvironment = false
diff --git a/packages/dht/src/types/textencoding.d.ts b/packages/dht/src/nodejs/textencoding.d.ts
similarity index 100%
rename from packages/dht/src/types/textencoding.d.ts
rename to packages/dht/src/nodejs/textencoding.d.ts
diff --git a/packages/dht/src/types/WebrtcConnectionParams.ts b/packages/dht/src/types/WebrtcConnectionParams.ts
new file mode 100644
index 0000000000..24eff16f79
--- /dev/null
+++ b/packages/dht/src/types/WebrtcConnectionParams.ts
@@ -0,0 +1,12 @@
+import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
+import { PortRange } from '../connection/ConnectionManager'
+import { IceServer } from '../connection/webrtc/types'
+
+export interface WebrtcConnectionParams {
+ remotePeerDescriptor: PeerDescriptor
+ bufferThresholdHigh?: number
+ bufferThresholdLow?: number
+ maxMessageSize?: number
+ iceServers?: IceServer[] // TODO make this parameter required (empty array is a good fallback which can be set by the caller if needed)
+ portRange?: PortRange
+}
diff --git a/packages/dht/test/benchmark/WebsocketServerMemoryLeak.test.ts b/packages/dht/test/benchmark/WebsocketServerMemoryLeak.test.ts
index ef12daf395..ff1826f4b3 100644
--- a/packages/dht/test/benchmark/WebsocketServerMemoryLeak.test.ts
+++ b/packages/dht/test/benchmark/WebsocketServerMemoryLeak.test.ts
@@ -1,8 +1,8 @@
/* eslint-disable no-console */
import { wait } from '@streamr/utils'
-import { WebsocketServer } from '../../src/connection/websocket/WebsocketServer'
-import { WebsocketClientConnection } from '../../src/connection/websocket/NodeWebsocketClientConnection'
+import { WebsocketServer } from '@/WebsocketServer'
+import { WebsocketClientConnection } from '@/WebsocketClientConnection'
// This 'test' is meant to be run manually using the following command:
// node --inspect ../../../../node_modules/.bin/jest WebsocketServerMemoryLeak.test.ts
diff --git a/packages/dht/test/end-to-end/Layer0Webrtc.test.ts b/packages/dht/test/end-to-end/Layer0Webrtc.test.ts
index 73996badea..fa6bd42c7d 100644
--- a/packages/dht/test/end-to-end/Layer0Webrtc.test.ts
+++ b/packages/dht/test/end-to-end/Layer0Webrtc.test.ts
@@ -3,7 +3,7 @@ import { ConnectionManager } from '../../src/connection/ConnectionManager'
import { DhtNode } from '../../src/dht/DhtNode'
import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
import { createMockPeerDescriptor } from '../utils/utils'
-import { toNodeId } from '../../src/exports'
+import { toNodeId } from './../../src/identifiers'
describe('Layer0 with WebRTC connections', () => {
diff --git a/packages/dht/test/integration/DhtNode.test.ts b/packages/dht/test/integration/DhtNode.test.ts
index bfac847c1c..1822d5139d 100644
--- a/packages/dht/test/integration/DhtNode.test.ts
+++ b/packages/dht/test/integration/DhtNode.test.ts
@@ -2,7 +2,9 @@ import { until } from '@streamr/utils'
import range from 'lodash/range'
import without from 'lodash/without'
import { DhtNodeRpcLocal } from '../../src/dht/DhtNodeRpcLocal'
-import { DhtNode, ListeningRpcCommunicator, toNodeId } from '../../src/exports'
+import { toNodeId } from '../../src/identifiers'
+import { DhtNode } from '../../src/dht/DhtNode'
+import { ListeningRpcCommunicator } from '../../src/transport/ListeningRpcCommunicator'
import { ClosestPeersRequest, ClosestPeersResponse, PeerDescriptor, PingRequest, PingResponse } from '../../generated/packages/dht/protos/DhtRpc'
import { FakeEnvironment } from '../utils/FakeTransport'
import { createMockPeerDescriptor } from '../utils/utils'
diff --git a/packages/dht/test/integration/Websocket.test.ts b/packages/dht/test/integration/Websocket.test.ts
index de2a6e52c8..65901b93ff 100644
--- a/packages/dht/test/integration/Websocket.test.ts
+++ b/packages/dht/test/integration/Websocket.test.ts
@@ -1,6 +1,6 @@
-import { WebsocketServer } from '../../src/connection/websocket/WebsocketServer'
+import { WebsocketServer } from '@/WebsocketServer'
import { IConnection } from '../../src/connection/IConnection'
-import { WebsocketClientConnection } from '../../src/connection/websocket/NodeWebsocketClientConnection'
+import { WebsocketClientConnection } from '@/WebsocketClientConnection'
import { Logger } from '@streamr/utils'
const logger = new Logger('Websocket.test')
diff --git a/packages/dht/test/unit/ConnectionManager.test.ts b/packages/dht/test/unit/ConnectionManager.test.ts
index df96e10f0c..ab768aa779 100644
--- a/packages/dht/test/unit/ConnectionManager.test.ts
+++ b/packages/dht/test/unit/ConnectionManager.test.ts
@@ -1,6 +1,7 @@
import { MetricsContext } from '@streamr/utils'
import { ConnectionManager } from '../../src/connection/ConnectionManager'
-import { toNodeId, PendingConnection } from '../../src/exports'
+import { toNodeId } from '../../src/identifiers'
+import { PendingConnection } from '../../src/connection/PendingConnection'
import { FakeConnectorFacade } from '../utils/FakeConnectorFacade'
import { MockConnection } from '../utils/mock/MockConnection'
import { createMockPeerDescriptor } from '../utils/utils'
diff --git a/packages/dht/test/unit/DiscoverySession.test.ts b/packages/dht/test/unit/DiscoverySession.test.ts
index 2111eb3163..8e50d3feff 100644
--- a/packages/dht/test/unit/DiscoverySession.test.ts
+++ b/packages/dht/test/unit/DiscoverySession.test.ts
@@ -1,7 +1,8 @@
import { Multimap, wait } from '@streamr/utils'
import sampleSize from 'lodash/sampleSize'
import { DhtNodeRpcRemote } from '../../src/dht/DhtNodeRpcRemote'
-import { PeerManager, getDistance } from '../../src/dht/PeerManager'
+import { PeerManager } from '../../src/dht/PeerManager'
+import { getPeerDistance } from '../../src/dht/helpers/getPeerDistance'
import { DiscoverySession } from '../../src/dht/discovery/DiscoverySession'
import { DhtAddress, toNodeId, toDhtAddressRaw } from '../../src/identifiers'
import { NodeType, PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
@@ -79,7 +80,7 @@ describe('DiscoverySession', () => {
// Each queried node should closer to the target than the previous queried node, because we
// use parallelism=1 and noProgressLimit=1
const distancesToTarget = queriedNodes
- .map((nodeId) => getDistance(toDhtAddressRaw(nodeId), toDhtAddressRaw(targetId)))
+ .map((nodeId) => getPeerDistance(toDhtAddressRaw(nodeId), toDhtAddressRaw(targetId)))
for (let i = 1; i < distancesToTarget.length ; i++) {
expect(distancesToTarget[i]).toBeLessThan(distancesToTarget[i - 1])
}
diff --git a/packages/dht/test/unit/ManagedConnection.test.ts b/packages/dht/test/unit/ManagedConnection.test.ts
index 76ba758255..e62cf9e947 100644
--- a/packages/dht/test/unit/ManagedConnection.test.ts
+++ b/packages/dht/test/unit/ManagedConnection.test.ts
@@ -1,5 +1,5 @@
import { wait } from '@streamr/utils'
-import { ManagedConnection } from '../../src/exports'
+import { ManagedConnection } from '../../src/connection/ManagedConnection'
import { MockConnection } from '../utils/mock/MockConnection'
import { createMockPeerDescriptor } from '../utils/utils'
diff --git a/packages/dht/test/unit/PendingConnection.test.ts b/packages/dht/test/unit/PendingConnection.test.ts
index df8ea9bfaa..f98628bcfa 100644
--- a/packages/dht/test/unit/PendingConnection.test.ts
+++ b/packages/dht/test/unit/PendingConnection.test.ts
@@ -1,5 +1,5 @@
import { wait, waitForEvent } from '@streamr/utils'
-import { PendingConnection } from '../../src/exports'
+import { PendingConnection } from '../../src/connection/PendingConnection'
import { createMockPeerDescriptor } from '../utils/utils'
import { MockConnection } from '../utils/mock/MockConnection'
diff --git a/packages/dht/test/unit/WebrtcConnection.test.ts b/packages/dht/test/unit/WebrtcConnection.test.ts
index 1b0ec560ea..2ad4a703e4 100644
--- a/packages/dht/test/unit/WebrtcConnection.test.ts
+++ b/packages/dht/test/unit/WebrtcConnection.test.ts
@@ -1,14 +1,14 @@
import { waitForEvent } from '@streamr/utils'
-import { NodeWebrtcConnection } from '../../src/connection/webrtc/NodeWebrtcConnection'
+import { WebrtcConnection } from '@/WebrtcConnection'
import { createMockPeerDescriptor } from '../utils/utils'
describe('WebrtcConnection', () => {
- let connection: NodeWebrtcConnection
+ let connection: WebrtcConnection
beforeEach(() => {
const peerDescriptor = createMockPeerDescriptor()
- connection = new NodeWebrtcConnection({
+ connection = new WebrtcConnection({
remotePeerDescriptor: peerDescriptor
})
})
diff --git a/packages/dht/test/unit/WebsocketServer.test.ts b/packages/dht/test/unit/WebsocketServer.test.ts
index b389291f51..6b537d936f 100644
--- a/packages/dht/test/unit/WebsocketServer.test.ts
+++ b/packages/dht/test/unit/WebsocketServer.test.ts
@@ -1,4 +1,4 @@
-import { WebsocketServer } from '../../src/connection/websocket/WebsocketServer'
+import { WebsocketServer } from '@/WebsocketServer'
describe('WebsocketServer', () => {
diff --git a/packages/dht/test/unit/createPeerDescriptor.test.ts b/packages/dht/test/unit/createPeerDescriptor.test.ts
index 3b5fdf36bb..cd467d88ad 100644
--- a/packages/dht/test/unit/createPeerDescriptor.test.ts
+++ b/packages/dht/test/unit/createPeerDescriptor.test.ts
@@ -1,6 +1,6 @@
import { ipv4ToNumber } from '@streamr/utils'
import { createPeerDescriptor } from '../../src/helpers/createPeerDescriptor'
-import { isBrowserEnvironment } from '../../src/helpers/browser/isBrowserEnvironment'
+import { isBrowserEnvironment } from '@/isBrowserEnvironment'
import { NodeType } from '../../generated/packages/dht/protos/DhtRpc'
import { randomDhtAddress, toDhtAddressRaw } from '../../src/identifiers'
import { getRandomRegion } from '../../src/connection/simulator/pings'
@@ -18,7 +18,7 @@ describe('createPeerDescriptor', () => {
const peerDescriptor = await createPeerDescriptor(connectivityResponse, region)
expect(peerDescriptor).toEqual({
nodeId: expect.any(Uint8Array),
- type: isBrowserEnvironment() ? NodeType.BROWSER : NodeType.NODEJS,
+ type: isBrowserEnvironment ? NodeType.BROWSER : NodeType.NODEJS,
ipAddress: ipv4ToNumber(IP_ADDRESS),
publicKey: expect.any(Uint8Array),
signature: expect.any(Uint8Array),
@@ -38,7 +38,7 @@ describe('createPeerDescriptor', () => {
const peerDescriptor = await createPeerDescriptor(connectivityResponse, region)
expect(peerDescriptor).toEqual({
nodeId: expect.any(Uint8Array),
- type: isBrowserEnvironment() ? NodeType.BROWSER : NodeType.NODEJS,
+ type: isBrowserEnvironment ? NodeType.BROWSER : NodeType.NODEJS,
ipAddress: ipv4ToNumber(IP_ADDRESS),
publicKey: expect.any(Uint8Array),
signature: expect.any(Uint8Array),
@@ -59,7 +59,7 @@ describe('createPeerDescriptor', () => {
const peerDescriptor = await createPeerDescriptor(connectivityResponse, region, nodeId)
expect(peerDescriptor).toEqual({
nodeId: toDhtAddressRaw(nodeId),
- type: isBrowserEnvironment() ? NodeType.BROWSER : NodeType.NODEJS,
+ type: isBrowserEnvironment ? NodeType.BROWSER : NodeType.NODEJS,
ipAddress: ipv4ToNumber(IP_ADDRESS),
publicKey: expect.any(Uint8Array),
signature: expect.any(Uint8Array),
diff --git a/packages/dht/test/unit/getClosestNodes.test.ts b/packages/dht/test/unit/getClosestNodes.test.ts
index f69003cb9e..4b196dc68f 100644
--- a/packages/dht/test/unit/getClosestNodes.test.ts
+++ b/packages/dht/test/unit/getClosestNodes.test.ts
@@ -1,11 +1,11 @@
import range from 'lodash/range'
import sampleSize from 'lodash/sampleSize'
import sortBy from 'lodash/sortBy'
-import { getDistance } from '../../src/dht/PeerManager'
+import { getPeerDistance } from '../../src/dht/helpers/getPeerDistance'
import { getClosestNodes } from '../../src/dht/contact/getClosestNodes'
import { DhtAddress, randomDhtAddress, toNodeId, toDhtAddressRaw } from '../../src/identifiers'
import { createMockPeerDescriptor } from '../utils/utils'
-import { PeerDescriptor } from '../../src/exports'
+import { PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
describe('getClosestNodes', () => {
@@ -25,7 +25,7 @@ describe('getClosestNodes', () => {
const expected = sortBy(
peerDescriptors.filter((n) => !excluded.has(toNodeId(n))),
- (peerDescriptor: PeerDescriptor) => getDistance(peerDescriptor.nodeId, toDhtAddressRaw(referenceId))
+ (peerDescriptor: PeerDescriptor) => getPeerDistance(peerDescriptor.nodeId, toDhtAddressRaw(referenceId))
).slice(0, 5)
expect(actual).toEqual(expected)
})
diff --git a/packages/dht/test/utils/FakeTransport.ts b/packages/dht/test/utils/FakeTransport.ts
index c5796c153e..f736362826 100644
--- a/packages/dht/test/utils/FakeTransport.ts
+++ b/packages/dht/test/utils/FakeTransport.ts
@@ -2,7 +2,7 @@ import { EventEmitter } from 'eventemitter3'
import { DhtAddress, toDhtAddress, toNodeId } from '../../src/identifiers'
import { Message, PeerDescriptor } from '../../generated/packages/dht/protos/DhtRpc'
import { DEFAULT_SEND_OPTIONS, ITransport, SendOptions, TransportEvents } from '../../src/transport/ITransport'
-import { ConnectionsView } from '../../src/exports'
+import { ConnectionsView } from '../../src/connection/ConnectionsView'
// TODO extract ConnectionsView functionality to FakeConnectionsView
class FakeTransport extends EventEmitter implements ITransport, ConnectionsView {
diff --git a/packages/dht/test/utils/topology.ts b/packages/dht/test/utils/topology.ts
index 4215a7842a..3f69460128 100644
--- a/packages/dht/test/utils/topology.ts
+++ b/packages/dht/test/utils/topology.ts
@@ -4,7 +4,7 @@ import minBy from 'lodash/minBy'
import range from 'lodash/range'
import without from 'lodash/without'
import { SortedContactList } from '../../src/dht/contact/SortedContactList'
-import { getDistance } from '../../src/dht/PeerManager'
+import { getPeerDistance } from '../../src/dht/helpers/getPeerDistance'
export const getTopologyPartitions = (topology: Multimap): Set[] => {
let partitions: Set[] = []
@@ -72,7 +72,7 @@ export const createTestTopology = (nodeCount: number, minNeighorCount: number):
const closestNodedId = getClosestNodes(nodeId, otherNodes, 1, false)[0]
return [nodeId, closestNodedId]
})
- const mergePair = minBy(closestPairs, (pair) => getDistance(toDhtAddressRaw(pair[0]), toDhtAddressRaw(pair[1])))!
+ const mergePair = minBy(closestPairs, (pair) => getPeerDistance(toDhtAddressRaw(pair[0]), toDhtAddressRaw(pair[1])))!
topology.add(mergePair[0], mergePair[1])
topology.add(mergePair[1], mergePair[0])
}
diff --git a/packages/dht/tsconfig.browser-generated.json b/packages/dht/tsconfig.browser-generated.json
new file mode 100644
index 0000000000..69e11fa259
--- /dev/null
+++ b/packages/dht/tsconfig.browser-generated.json
@@ -0,0 +1,10 @@
+{
+ "extends": "./tsconfig.browser.json",
+ "compilerOptions": {
+ "noImplicitOverride": false
+ },
+ "include": [
+ "generated"
+ ],
+ "exclude": []
+}
diff --git a/packages/dht/tsconfig.browser.json b/packages/dht/tsconfig.browser.json
new file mode 100644
index 0000000000..9b498b4bbd
--- /dev/null
+++ b/packages/dht/tsconfig.browser.json
@@ -0,0 +1,44 @@
+{
+ "extends": "../../tsconfig.browser.json",
+ "compilerOptions": {
+ "outDir": "dist/browser",
+ "baseUrl": ".",
+
+ /* Mapping */
+ "paths": {
+ "@/*": [
+ "src/browser/*"
+ ]
+ },
+
+ /* @todo Make verbatimModuleSyntax (true) work. */
+ "verbatimModuleSyntax": false,
+
+ /* @todo Make useUnknownInCatchVariables (true) work. */
+ "useUnknownInCatchVariables": false,
+
+ /* @todo Make erasableSyntaxOnly (true) work. */
+ "erasableSyntaxOnly": false,
+
+ /* @todo Make noUnusedLocals (true) work. */
+ "noUnusedLocals": false,
+
+ /* @todo Make noUnusedParameters (true) work. */
+ "noUnusedParameters": false
+ },
+ "include": [
+ "src",
+ "package.json"
+ ],
+ "exclude": [
+ "src/nodejs"
+ ],
+ "references": [
+ { "path": "../utils" },
+ { "path": "../proto-rpc" },
+ { "path": "../cdn-location" },
+ { "path": "../geoip-location" },
+ { "path": "../autocertifier-client" },
+ { "path": "./tsconfig.browser-generated.json" }
+ ]
+}
diff --git a/packages/dht/tsconfig.jest.json b/packages/dht/tsconfig.jest.json
index 033d864c42..e506dbfe70 100644
--- a/packages/dht/tsconfig.jest.json
+++ b/packages/dht/tsconfig.jest.json
@@ -1,12 +1,24 @@
{
"extends": "../../tsconfig.jest.json",
+ "compilerOptions": {
+ "baseUrl": ".",
+
+ /* Mapping */
+ "paths": {
+ "@/*": [
+ "src/nodejs/*"
+ ]
+ }
+ },
"include": [
"src",
"test",
- "package.json",
- "scripts"
+ "package.json"
+ ],
+ "exclude": [
+ "src/browser"
],
"references": [
- { "path": "./tsconfig.generated.json" }
+ { "path": "./tsconfig.node-generated.json" }
]
}
diff --git a/packages/dht/tsconfig.json b/packages/dht/tsconfig.json
index e5441a57dd..9a557a2379 100644
--- a/packages/dht/tsconfig.json
+++ b/packages/dht/tsconfig.json
@@ -1,18 +1,10 @@
{
- "extends": "../../tsconfig.node.json",
+ "files": [],
"compilerOptions": {
- "outDir": "dist"
+ "composite": true
},
- "include": [
- "src",
- "package.json"
- ],
"references": [
- { "path": "../utils" },
- { "path": "../proto-rpc" },
- { "path": "../cdn-location" },
- { "path": "../geoip-location" },
- { "path": "../autocertifier-client" },
- { "path": "./tsconfig.generated.json" }
+ { "path": "./tsconfig.node.json" },
+ { "path": "./tsconfig.browser.json" }
]
}
diff --git a/packages/dht/tsconfig.karma.json b/packages/dht/tsconfig.karma.json
index 28bd6d922c..b5fd515e7a 100644
--- a/packages/dht/tsconfig.karma.json
+++ b/packages/dht/tsconfig.karma.json
@@ -1,10 +1,21 @@
{
"extends": "../../tsconfig.karma.json",
"compilerOptions": {
- "outDir": "dist"
+ "outDir": "dist/karma",
+ "baseUrl": ".",
+
+ /* Mapping */
+ "paths": {
+ "@/*": [
+ "src/browser/*"
+ ]
+ }
},
"include": [
"src",
"package.json"
- ]
+ ],
+ "exclude": [
+ "src/nodejs"
+ ],
}
diff --git a/packages/dht/tsconfig.generated.json b/packages/dht/tsconfig.node-generated.json
similarity index 75%
rename from packages/dht/tsconfig.generated.json
rename to packages/dht/tsconfig.node-generated.json
index 4ce2cee0f2..b57b4a74d3 100644
--- a/packages/dht/tsconfig.generated.json
+++ b/packages/dht/tsconfig.node-generated.json
@@ -1,5 +1,5 @@
{
- "extends": "./tsconfig.json",
+ "extends": "./tsconfig.node.json",
"compilerOptions": {
"noImplicitOverride": false
},
diff --git a/packages/dht/tsconfig.node.json b/packages/dht/tsconfig.node.json
new file mode 100644
index 0000000000..8f9dd4cfbc
--- /dev/null
+++ b/packages/dht/tsconfig.node.json
@@ -0,0 +1,33 @@
+{
+ "extends": "../../tsconfig.node.json",
+ "compilerOptions": {
+ "outDir": "dist/nodejs",
+
+ /* Mapping */
+ "paths": {
+ "@/*": [
+ "src/nodejs/*"
+ ]
+ },
+
+ /* Resolution */
+ "module": "preserve",
+ "moduleResolution": "bundler",
+ "baseUrl": "."
+ },
+ "include": [
+ "src",
+ "package.json"
+ ],
+ "exclude": [
+ "src/browser"
+ ],
+ "references": [
+ { "path": "../utils" },
+ { "path": "../proto-rpc" },
+ { "path": "../cdn-location" },
+ { "path": "../geoip-location" },
+ { "path": "../autocertifier-client" },
+ { "path": "./tsconfig.node-generated.json" }
+ ]
+}
diff --git a/packages/geoip-location/package.json b/packages/geoip-location/package.json
index 2801a13442..69e3e81dec 100644
--- a/packages/geoip-location/package.json
+++ b/packages/geoip-location/package.json
@@ -7,15 +7,14 @@
"url": "git+https://github.com/streamr-dev/network.git",
"directory": "packages/geoip-location"
},
- "main": "dist/src/exports.js",
+ "main": "./dist/exports.cjs",
+ "module": "./dist/exports.js",
+ "types": "./dist/exports.d.ts",
"browser": {
- "dist/src/exports.js": false,
- "dist/src/GeoIpLocator.js": false,
- "dist/src/downloadGeoIpDatabase.js": false
+ "./dist/exports.js": false
},
- "types": "dist/src/exports.d.ts",
"files": [
- "dist",
+ "dist/exports.*",
"!*.tsbuildinfo",
"README.md",
"LICENSE"
@@ -23,8 +22,11 @@
"license": "Apache-2.0",
"author": "Streamr Network AG ",
"scripts": {
+ "prebuild": "npm run reset-self",
"build": "tsc -b",
+ "postbuild": "NODE_OPTIONS='--import tsx' rollup -c rollup.config.mts",
"check": "tsc -p tsconfig.jest.json",
+ "reset-self": "rimraf --glob 'dist/**/*.tsbuildinfo'",
"clean": "jest --clearCache --config '{}' || true; rm -rf dist *.tsbuildinfo node_modules/.cache || true",
"eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts}'",
"test": "jest test/unit",
@@ -39,8 +41,13 @@
"uuid": "^11.1.0"
},
"devDependencies": {
+ "@rollup/plugin-node-resolve": "^16.0.3",
"@types/long-timeout": "^0.1.2",
"@types/tar": "^6.1.11",
- "express": "^5.2.0"
+ "express": "^5.2.0",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
}
}
diff --git a/packages/geoip-location/rollup.config.mts b/packages/geoip-location/rollup.config.mts
new file mode 100644
index 0000000000..517b0f9b30
--- /dev/null
+++ b/packages/geoip-location/rollup.config.mts
@@ -0,0 +1,52 @@
+import { defineConfig, type RollupOptions } from 'rollup'
+import { dts } from 'rollup-plugin-dts'
+import { nodeResolve } from '@rollup/plugin-node-resolve'
+
+export default defineConfig([
+ nodejs(),
+ nodejsTypes(),
+])
+
+function nodejs(): RollupOptions {
+ return {
+ input: './dist/src/exports.js',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ nodeResolve({
+ preferBuiltins: true,
+ }),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
+
+function nodejsTypes(): RollupOptions {
+ return {
+ input: './dist/src/exports.d.ts',
+ output: [
+ { file: './dist/exports.d.ts' },
+ ],
+ plugins: [
+ nodeResolve(),
+ dts(),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
diff --git a/packages/geoip-location/tsconfig.json b/packages/geoip-location/tsconfig.json
index 5621ed82fc..6ad637ddb1 100644
--- a/packages/geoip-location/tsconfig.json
+++ b/packages/geoip-location/tsconfig.json
@@ -1,7 +1,12 @@
{
"extends": "../../tsconfig.node.json",
"compilerOptions": {
- "outDir": "dist"
+ "outDir": "dist",
+
+ /* Resolution */
+ "module": "preserve",
+ "moduleResolution": "bundler",
+ "baseUrl": "."
},
"include": [
"src"
diff --git a/packages/proto-rpc/package.json b/packages/proto-rpc/package.json
index 1a2f1c870a..2616de2f49 100644
--- a/packages/proto-rpc/package.json
+++ b/packages/proto-rpc/package.json
@@ -7,10 +7,11 @@
"url": "git+https://github.com/streamr-dev/network.git",
"directory": "packages/proto-rpc"
},
- "main": "dist/src/exports.js",
- "types": "dist/src/exports.d.ts",
+ "main": "./dist/exports.cjs",
+ "module": "./dist/exports.js",
+ "types": "./dist/exports.d.ts",
"files": [
- "dist",
+ "dist/exports.*",
"!*.tsbuildinfo",
"README.md",
"LICENSE"
@@ -18,10 +19,11 @@
"license": "(Apache-2.0 AND BSD-3-Clause)",
"author": "Streamr Network AG ",
"scripts": {
- "prebuild": "./proto.sh",
+ "prebuild": "npm run reset-self && ./proto.sh",
"build": "tsc -b",
- "build-browser": "webpack --mode=development --progress",
+ "postbuild": "NODE_OPTIONS='--import tsx' rollup -c rollup.config.mts",
"check": "./test-proto.sh && tsc -b tsconfig.jest.json",
+ "reset-self": "rimraf --glob 'dist/**/*.tsbuildinfo'",
"clean": "jest --clearCache --config '{}' || true; rm -rf dist generated *.tsbuildinfo node_modules/.cache || true",
"eslint": "./test-proto.sh && eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts}'",
"test": "./test-proto.sh && npm run test-unit && npm run test-integration",
@@ -38,9 +40,14 @@
"uuid": "^11.1.0"
},
"devDependencies": {
+ "@rollup/plugin-node-resolve": "^16.0.3",
"@streamr/browser-test-runner": "^0.0.1",
"@streamr/test-utils": "103.2.2",
- "@types/lodash": "^4.17.21"
+ "@types/lodash": "^4.17.21",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-dts": "^6.3.0",
+ "tsx": "^4.21.0"
},
"optionalDependencies": {
"bufferutil": "^4.0.9",
diff --git a/packages/proto-rpc/rollup.config.mts b/packages/proto-rpc/rollup.config.mts
new file mode 100644
index 0000000000..517b0f9b30
--- /dev/null
+++ b/packages/proto-rpc/rollup.config.mts
@@ -0,0 +1,52 @@
+import { defineConfig, type RollupOptions } from 'rollup'
+import { dts } from 'rollup-plugin-dts'
+import { nodeResolve } from '@rollup/plugin-node-resolve'
+
+export default defineConfig([
+ nodejs(),
+ nodejsTypes(),
+])
+
+function nodejs(): RollupOptions {
+ return {
+ input: './dist/src/exports.js',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ nodeResolve({
+ preferBuiltins: true,
+ }),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
+
+function nodejsTypes(): RollupOptions {
+ return {
+ input: './dist/src/exports.d.ts',
+ output: [
+ { file: './dist/exports.d.ts' },
+ ],
+ plugins: [
+ nodeResolve(),
+ dts(),
+ ],
+ external: [
+ /node_modules/,
+ /@streamr\//,
+ ],
+ }
+}
diff --git a/packages/proto-rpc/tsconfig.json b/packages/proto-rpc/tsconfig.json
index 9bb9cf3b51..be7119ed21 100644
--- a/packages/proto-rpc/tsconfig.json
+++ b/packages/proto-rpc/tsconfig.json
@@ -1,7 +1,12 @@
{
"extends": "../../tsconfig.node.json",
"compilerOptions": {
- "outDir": "dist"
+ "outDir": "dist",
+
+ /* Resolution */
+ "module": "preserve",
+ "moduleResolution": "bundler",
+ "baseUrl": "."
},
"include": [
"src"
diff --git a/packages/sdk/README.md b/packages/sdk/README.md
index 1acfba1062..d6118a7575 100644
--- a/packages/sdk/README.md
+++ b/packages/sdk/README.md
@@ -41,7 +41,7 @@ The Streamr SDK is built for the browser and Node.js environments.
**Browser (Website/WebApps)**
- For usage in the browser include the latest build, e.g. by including a ``
+- ``
- To use within React, please see [streamr-client-react](https://github.com/streamr-dev/streamr-client-react)
**Browser extension**
diff --git a/packages/sdk/bin/tsconfig.json b/packages/sdk/bin/tsconfig.json
index 5a03dbdeb8..626d58c3b4 100644
--- a/packages/sdk/bin/tsconfig.json
+++ b/packages/sdk/bin/tsconfig.json
@@ -1,5 +1,5 @@
{
- "extends": "..",
+ "extends": "../tsconfig.node.json",
"include": [
"**/*"
]
diff --git a/packages/sdk/createKarmaConfig.ts b/packages/sdk/createKarmaConfig.ts
new file mode 100644
index 0000000000..8c0769f11e
--- /dev/null
+++ b/packages/sdk/createKarmaConfig.ts
@@ -0,0 +1,35 @@
+import {
+ createKarmaConfig as createKarmaConfigUtil,
+ createWebpackConfig,
+} from '@streamr/browser-test-runner'
+import { resolve } from 'node:path'
+
+export function createKarmaConfig(testPaths: string[]): ReturnType {
+ return createKarmaConfigUtil(
+ testPaths,
+ createWebpackConfig({
+ libraryName: 'sdk',
+ alias: {
+ '@jest/globals': resolve(
+ __dirname,
+ 'test/test-utils/jestGlobalsMock.ts'
+ ),
+ '@streamr/dht': resolve(__dirname, '../dht/dist/exports-browser.cjs'),
+ '@': resolve(__dirname, 'src/_browser'),
+ },
+ fallback: {
+ v8: false,
+ module: false,
+ },
+ externals: {
+ http: 'HTTP',
+ ws: 'WebSocket',
+ 'node-datachannel': 'commonjs node-datachannel',
+ express: 'Express',
+ 'node:stream/web': 'stream/web',
+ 'node:timers/promises': 'timers/promises',
+ },
+ }),
+ __dirname
+ )
+}
diff --git a/packages/sdk/fix-esm.sh b/packages/sdk/fix-esm.sh
deleted file mode 100755
index f88cbc1801..0000000000
--- a/packages/sdk/fix-esm.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/bash
-mkdir -p dist/src/
-cp -f src/exports-esm.mjs dist/src/exports-esm.mjs
diff --git a/packages/sdk/jest.config.ts b/packages/sdk/jest.config.ts
index e55af8f288..396f2f7ddb 100644
--- a/packages/sdk/jest.config.ts
+++ b/packages/sdk/jest.config.ts
@@ -7,9 +7,12 @@ const config: Config.InitialOptions = {
setupFilesAfterEnv: [
...defaultConfig.setupFilesAfterEnv,
'./src/setupTsyringe.ts',
- './test/test-utils/customMatchers.ts',
+ './test/test-utils/setupCustomMatchers.ts',
'@streamr/test-utils/setupCustomMatchers',
],
+ moduleNameMapper: {
+ "^@/(.*)$": "/src/_nodejs/$1",
+ },
}
export default config
diff --git a/packages/sdk/jest.setup.ts b/packages/sdk/jest.setup.ts
index 952dbb4978..26b1618e93 100644
--- a/packages/sdk/jest.setup.ts
+++ b/packages/sdk/jest.setup.ts
@@ -1,19 +1,22 @@
-// eslint-disable-next-line import/no-extraneous-dependencies
-import { GitRevisionPlugin } from 'git-revision-webpack-plugin'
+import { execSync } from 'child_process'
import pkg from './package.json'
+const execGitCommand = (command: string): string => {
+ try {
+ return execSync(command, { encoding: 'utf8' }).trim()
+ } catch {
+ return ''
+ }
+}
+
export default async function setup(): Promise {
if (process.env.GIT_VERSION) {
return
}
- const gitRevisionPlugin = new GitRevisionPlugin()
-
- const [GIT_VERSION, GIT_COMMITHASH, GIT_BRANCH] = await Promise.all([
- gitRevisionPlugin.version(),
- gitRevisionPlugin.commithash(),
- gitRevisionPlugin.branch(),
- ])
+ const GIT_VERSION = execGitCommand('git describe --always --tags')
+ const GIT_COMMITHASH = execGitCommand('git rev-parse HEAD')
+ const GIT_BRANCH = execGitCommand('git rev-parse --abbrev-ref HEAD')
Object.assign(process.env, {
version: pkg.version,
diff --git a/packages/sdk/karma-end-to-end.config.ts b/packages/sdk/karma-end-to-end.config.ts
index 4cdf76f6ec..72a5fd5878 100644
--- a/packages/sdk/karma-end-to-end.config.ts
+++ b/packages/sdk/karma-end-to-end.config.ts
@@ -1,4 +1,2 @@
-import webpackConfig from './webpack-karma.config'
-import { createKarmaConfig } from '@streamr/browser-test-runner'
-
-export default createKarmaConfig(['test/end-to-end/**/*.ts'], webpackConfig, __dirname)
+import { createKarmaConfig } from './createKarmaConfig'
+export default createKarmaConfig(['test/end-to-end/**/*.ts'])
diff --git a/packages/sdk/karma-integration.config.ts b/packages/sdk/karma-integration.config.ts
index b2848a6117..bf56bb6b58 100644
--- a/packages/sdk/karma-integration.config.ts
+++ b/packages/sdk/karma-integration.config.ts
@@ -1,4 +1,2 @@
-import webpackConfig from './webpack-karma.config'
-import { createKarmaConfig } from '@streamr/browser-test-runner'
-
-export default createKarmaConfig(['test/integration/**/*.ts'], webpackConfig, __dirname)
+import { createKarmaConfig } from './createKarmaConfig'
+export default createKarmaConfig(['test/integration/**/*.ts'])
diff --git a/packages/sdk/karma-setup.js b/packages/sdk/karma-setup.ts
similarity index 50%
rename from packages/sdk/karma-setup.js
rename to packages/sdk/karma-setup.ts
index bf5d97124d..9dd37a5df2 100644
--- a/packages/sdk/karma-setup.js
+++ b/packages/sdk/karma-setup.ts
@@ -3,8 +3,5 @@
* package. See karma-config.js in that package for more details.
*/
-import './src/setupTsyringe.ts'
-import './test/test-utils/customMatchers'
-import { customMatchers } from '@streamr/test-utils'
-
-expect.extend(customMatchers)
+import './src/setupTsyringe'
+import './test/test-utils/setupCustomMatchers'
diff --git a/packages/sdk/karma-unit.config.ts b/packages/sdk/karma-unit.config.ts
index 907753406d..340f36e1e2 100644
--- a/packages/sdk/karma-unit.config.ts
+++ b/packages/sdk/karma-unit.config.ts
@@ -1,4 +1,2 @@
-import webpackConfig from './webpack-karma.config'
-import { createKarmaConfig } from '@streamr/browser-test-runner'
-
-export default createKarmaConfig(['test/unit/**/*.ts'], webpackConfig, __dirname)
+import { createKarmaConfig } from './createKarmaConfig'
+export default createKarmaConfig(['test/unit/**/*.ts'])
diff --git a/packages/sdk/package.json b/packages/sdk/package.json
index 851b10a4b4..0b0e76c359 100644
--- a/packages/sdk/package.json
+++ b/packages/sdk/package.json
@@ -7,39 +7,43 @@
"url": "git+https://github.com/streamr-dev/network.git",
"directory": "packages/client"
},
- "types": "./dist/types/src/index.d.ts",
- "main": "./dist/src/exports-commonjs.js",
- "module": "./dist/src/exports-esm.mjs",
- "script": "./dist/streamr-sdk.web.min.js",
- "browser": {
- "./src/utils/persistence/ServerPersistence.ts": "./src/utils/persistence/BrowserPersistence.mts",
- "./dist/src/utils/persistence/ServerPersistence.js": "./dist/src/utils/persistence/BrowserPersistence.mjs"
- },
+ "main": "./dist/exports-nodejs.cjs",
+ "module": "./dist/exports-nodejs.js",
+ "types": "./dist/exports-nodejs.d.ts",
+ "script": "./dist/exports-umd.min.js",
"exports": {
- "default": {
- "types": "./dist/types/src/index.d.ts",
- "import": "./dist/src/exports-esm.mjs",
- "require": "./dist/src/exports-commonjs.js"
+ ".": {
+ "types": "./dist/exports-nodejs.d.ts",
+ "browser": {
+ "types": "./dist/exports-browser.d.ts",
+ "import": "./dist/exports-browser.js",
+ "require": "./dist/exports-browser.cjs",
+ "default": "./dist/exports-browser.js"
+ },
+ "node": "./dist/exports-nodejs.cjs",
+ "import": "./dist/exports-nodejs.js",
+ "require": "./dist/exports-nodejs.cjs",
+ "default": "./dist/exports-nodejs.js"
}
},
"files": [
- "dist",
+ "dist/exports-nodejs.*",
+ "dist/exports-browser.*",
+ "dist/exports-umd.*",
+ "dist/encryption/migrations",
"!*.tsbuildinfo",
"LICENSE",
"README.md",
"readme-header.png"
],
"scripts": {
- "prebuild": "node bin/generate-config-validator.js && ./proto.sh",
- "postbuild": "./scripts/postbuild.sh && bash fix-esm.sh",
+ "prebuild": "npm run reset-self && node bin/generate-config-validator.js && ./proto.sh",
"build": "tsc -b",
- "build-browser": "npm run build-browser-development && npm run build-browser-production",
- "build-browser-development": "NODE_ENV=development webpack --mode=development --progress",
- "build-browser-production": "NODE_ENV=production webpack --mode=production --progress",
+ "postbuild": "NODE_OPTIONS='--import tsx' rollup -c rollup.config.mts",
"check": "tsc -b tsconfig.jest.json",
+ "reset-self": "rimraf --glob 'dist/**/*.tsbuildinfo'",
"clean": "jest --clearCache --config '{}' || true; rm -rf dist src/generated *.tsbuildinfo node_modules/.cache || true",
"eslint": "eslint --cache --cache-location=node_modules/.cache/.eslintcache/ '*/**/*.{js,ts,mts}'",
- "generate-protoc-code": "./proto.sh",
"test": "npm run test-unit && npm run test-integration && npm run test-end-to-end",
"test-unit": "jest --useStderr --forceExit test/unit",
"test-integration": "jest --bail --useStderr --forceExit --testTimeout=40000 test/integration/*.test.*",
@@ -53,47 +57,34 @@
"author": "Streamr Network AG ",
"license": "Apache-2.0",
"devDependencies": {
- "@babel/core": "^7.28.5",
- "@babel/plugin-proposal-decorators": "^7.28.0",
- "@babel/plugin-transform-modules-commonjs": "^7.27.1",
- "@babel/plugin-transform-runtime": "^7.28.5",
- "@babel/preset-env": "^7.28.5",
- "@babel/preset-typescript": "^7.28.5",
"@jest/globals": "^30.0.5",
+ "@rollup/plugin-alias": "^6.0.0",
+ "@rollup/plugin-commonjs": "^29.0.0",
+ "@rollup/plugin-json": "^6.1.0",
+ "@rollup/plugin-node-resolve": "^16.0.3",
+ "@rollup/plugin-terser": "^0.4.4",
"@streamr/test-utils": "103.2.2",
"@types/heap": "^0.2.35",
"@types/lodash": "^4.17.21",
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
- "babel-loader": "^10.0.0",
- "babel-plugin-add-module-exports": "^1.0.4",
- "babel-plugin-transform-typescript-metadata": "^0.4.0",
"benchmark": "^2.1.4",
"buffer": "^6.0.3",
"bytes": "^3.1.1",
- "chromedriver": "^121.0.2",
- "crypto-browserify": "^3.12.1",
"express": "^5.2.0",
- "git-revision-webpack-plugin": "^5.0.0",
"jest-leak-detector": "^27.3.1",
"jest-matcher-utils": "^30.0.5",
- "lodash-webpack-plugin": "^0.11.6",
"nightwatch": "^3.12.3",
- "node-polyfill-webpack-plugin": "^4.1.0",
- "terser-webpack-plugin": "^5.3.14",
- "ts-loader": "^9.5.4",
+ "rimraf": "^6.1.2",
+ "rollup": "^4.55.1",
+ "rollup-plugin-copy": "^3.5.0",
+ "rollup-plugin-dts": "^6.3.0",
"ts-node": "^10.9.2",
+ "tsx": "^4.21.0",
"util": "^0.12.4",
- "weak-napi": "^2.0.2",
- "webpack": "^5.103.0",
- "webpack-bundle-analyzer": "^5.0.1",
- "webpack-cli": "^6.0.1",
- "webpack-merge": "^6.0.1"
+ "weak-napi": "^2.0.2"
},
- "#IMPORTANT": "babel-runtime must be in dependencies, not devDependencies",
"dependencies": {
- "@babel/runtime": "^7.28.4",
- "@babel/runtime-corejs3": "^7.28.4",
"@noble/post-quantum": "^0.4.1",
"@protobuf-ts/runtime": "^2.8.2",
"@protobuf-ts/runtime-rpc": "^2.8.2",
@@ -103,7 +94,6 @@
"@streamr/proto-rpc": "103.2.2",
"@streamr/trackerless-network": "103.2.2",
"@streamr/utils": "103.2.2",
- "core-js": "^3.47.0",
"env-paths": "^2.2.1",
"ethers": "^6.13.0",
"eventemitter3": "^5.0.0",
@@ -113,9 +103,11 @@
"p-limit": "^3.1.0",
"p-memoize": "4.0.4",
"p-throttle": "4.1.1",
+ "readable-stream": "^4.7.0",
"reflect-metadata": "^0.2.1",
"sqlite": "^5.1.1",
"sqlite3": "^5.1.7",
+ "timers-browserify": "^2.0.12",
"ts-essentials": "^10.1.1",
"ts-toolbelt": "^9.6.0",
"tsyringe": "^4.10.0",
diff --git a/packages/sdk/rollup.config.mts b/packages/sdk/rollup.config.mts
new file mode 100644
index 0000000000..183eb3fca3
--- /dev/null
+++ b/packages/sdk/rollup.config.mts
@@ -0,0 +1,206 @@
+import { defineConfig, type RollupLog, type RollupOptions } from 'rollup'
+import { dts } from 'rollup-plugin-dts'
+import { nodeResolve } from '@rollup/plugin-node-resolve'
+import cjs from '@rollup/plugin-commonjs'
+import json from '@rollup/plugin-json'
+import copy from 'rollup-plugin-copy'
+import terser from '@rollup/plugin-terser'
+import alias, { type Alias } from '@rollup/plugin-alias'
+import { fileURLToPath } from 'node:url'
+
+const nodejsAliases: Alias[] = [
+ {
+ find: /^@\//,
+ replacement: fileURLToPath(
+ new URL('./dist/nodejs/src/_nodejs/', import.meta.url)
+ ),
+ },
+]
+
+const browserAliases: Alias[] = [
+ {
+ find: /^@\//,
+ replacement: fileURLToPath(
+ new URL('./dist/browser/src/_browser/', import.meta.url)
+ ),
+ },
+ { find: 'timers', replacement: 'timers-browserify' },
+ { find: 'stream', replacement: 'readable-stream' },
+]
+
+export default defineConfig([
+ nodejs(),
+ nodejsTypes(),
+ browser(),
+ browserTypes(),
+ umd(),
+ umdMinified(),
+])
+
+function onwarn(log: RollupLog, rollupWarn: (log: RollupLog) => void): void {
+ // Suppress circular dependency warnings from external libraries
+ if (
+ log.code === 'CIRCULAR_DEPENDENCY' &&
+ /node_modules/.test(log.message ?? '')
+ ) {
+ return
+ }
+
+ rollupWarn(log)
+}
+
+function nodejs(): RollupOptions {
+ return {
+ input: './dist/nodejs/src/exports.js',
+ context: 'globalThis',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports-nodejs.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports-nodejs.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ json(),
+ alias({
+ entries: nodejsAliases,
+ }),
+ nodeResolve({
+ preferBuiltins: true,
+ }),
+ cjs(),
+ copy({
+ targets: [
+ {
+ src: 'src/encryption/migrations/*',
+ dest: 'dist/encryption/migrations',
+ },
+ ],
+ }),
+ ],
+ external: [/node_modules/, /@streamr\//],
+ onwarn,
+ }
+}
+
+function nodejsTypes(): RollupOptions {
+ return {
+ input: './dist/nodejs/src/exports.d.ts',
+ output: [{ file: './dist/exports-nodejs.d.ts' }],
+ plugins: [
+ alias({
+ entries: nodejsAliases,
+ }),
+ nodeResolve(),
+ dts(),
+ ],
+ external: [/node_modules/, /@streamr\//],
+ }
+}
+
+function browser(): RollupOptions {
+ return {
+ input: './dist/browser/src/exports.js',
+ context: 'globalThis',
+ output: [
+ {
+ format: 'es',
+ file: './dist/exports-browser.js',
+ sourcemap: true,
+ },
+ {
+ format: 'cjs',
+ file: './dist/exports-browser.cjs',
+ sourcemap: true,
+ },
+ ],
+ plugins: [
+ json(),
+ alias({
+ entries: browserAliases,
+ }),
+ nodeResolve({
+ browser: true,
+ preferBuiltins: false,
+ }),
+ cjs(),
+ ],
+ external: [/node_modules/, /@streamr\//],
+ onwarn,
+ }
+}
+
+function browserTypes(): RollupOptions {
+ return {
+ input: './dist/browser/src/exports.d.ts',
+ output: [{ file: './dist/exports-browser.d.ts' }],
+ plugins: [
+ alias({
+ entries: browserAliases,
+ }),
+ nodeResolve(),
+ dts(),
+ ],
+ external: [/node_modules/, /@streamr\//],
+ }
+}
+
+function umd(): RollupOptions {
+ return {
+ input: './dist/browser/src/exports.js',
+ context: 'window',
+ output: {
+ format: 'umd',
+ name: 'StreamrClient',
+ file: './dist/exports-umd.js',
+ sourcemap: true,
+ outro: 'window.StreamrClient = window.StreamrClient.StreamrClient;',
+ },
+ plugins: [
+ json(),
+ alias({
+ entries: browserAliases,
+ }),
+ nodeResolve({
+ browser: true,
+ preferBuiltins: false,
+ }),
+ cjs(),
+ ],
+ external: [],
+ onwarn,
+ }
+}
+
+function umdMinified(): RollupOptions {
+ return {
+ input: './dist/browser/src/exports.js',
+ context: 'window',
+ output: {
+ format: 'umd',
+ name: 'StreamrClient',
+ file: './dist/exports-umd.min.js',
+ sourcemap: true,
+ outro: 'window.StreamrClient = window.StreamrClient.StreamrClient;',
+ },
+ plugins: [
+ json(),
+ alias({
+ entries: browserAliases,
+ }),
+ nodeResolve({
+ browser: true,
+ preferBuiltins: false,
+ }),
+ cjs(),
+ terser(),
+ ],
+ external: [],
+ onwarn,
+ }
+}
diff --git a/packages/sdk/scripts/postbuild.sh b/packages/sdk/scripts/postbuild.sh
deleted file mode 100755
index 5d7015328d..0000000000
--- a/packages/sdk/scripts/postbuild.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/bin/bash
-
-mkdir -p dist
-
-SCRIPT_DIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
-
-cd "${SCRIPT_DIR}/.."
-
-# Copy over the migrations
-mkdir -p dist/src/encryption/migrations
-cp -f src/encryption/migrations/* dist/src/encryption/migrations
diff --git a/packages/sdk/src/Persistence.types.ts b/packages/sdk/src/Persistence.types.ts
new file mode 100644
index 0000000000..eff0e81ce3
--- /dev/null
+++ b/packages/sdk/src/Persistence.types.ts
@@ -0,0 +1,34 @@
+import { UserID } from '@streamr/utils'
+import { LoggerFactory } from './utils/LoggerFactory'
+
+/**
+ * Full persistence context interface with namespace parameter.
+ * Implemented by platform-specific Persistence classes.
+ */
+export interface PersistenceContext {
+ get(key: string, namespace: string): Promise
+ set(key: string, value: string, namespace: string): Promise
+ exists(): Promise
+ close(): Promise
+}
+
+/**
+ * Namespace-bound persistence interface.
+ * Returned by PersistenceManager.getPersistence().
+ */
+export interface Persistence {
+ get(key: string): Promise
+ set(key: string, value: string): Promise
+}
+
+/**
+ * Unified options for Persistence.createInstance().
+ * Browser implementation ignores Node.js-specific fields (loggerFactory, migrationsUrl, onInit).
+ */
+export interface PersistenceOptions {
+ ownerId: UserID
+ namespaces: string[]
+ loggerFactory: LoggerFactory
+ migrationsUrl?: URL
+ onInit?: (db: unknown) => Promise
+}
diff --git a/packages/sdk/src/PersistenceManager.ts b/packages/sdk/src/PersistenceManager.ts
index d3b27152ea..b8383ba7d0 100644
--- a/packages/sdk/src/PersistenceManager.ts
+++ b/packages/sdk/src/PersistenceManager.ts
@@ -1,10 +1,9 @@
-import { join } from 'path'
import { inject, Lifecycle, scoped } from 'tsyringe'
import { Identity, IdentityInjectionToken } from './identity/Identity'
import { DestroySignal } from './DestroySignal'
import { LoggerFactory } from './utils/LoggerFactory'
-import { Persistence } from './utils/persistence/Persistence'
-import ServerPersistence from './utils/persistence/ServerPersistence'
+import type { Persistence as PersistenceInterface } from './Persistence.types'
+import { Persistence } from '@/Persistence'
export const NAMESPACES = {
ENCRYPTION_KEYS: 'EncryptionKeys',
@@ -14,7 +13,7 @@ export const NAMESPACES = {
@scoped(Lifecycle.ContainerScoped)
export class PersistenceManager {
- private persistence?: ServerPersistence
+ private persistence?: Persistence
private readonly identity: Identity
private readonly loggerFactory: LoggerFactory
@@ -34,15 +33,15 @@ export class PersistenceManager {
}
private async ensureInitialized() {
- this.persistence ??= await ServerPersistence.createInstance({
+ this.persistence ??= await Persistence.createInstance({
loggerFactory: this.loggerFactory,
ownerId: await this.identity.getUserId(),
namespaces: Object.values(NAMESPACES),
- migrationsPath: join(__dirname, 'encryption/migrations') // TODO move migrations to some generic place?
+ migrationsUrl: new URL('./encryption/migrations', `file://${__dirname}/`),
})
}
- async getPersistence(namespace: string): Promise {
+ async getPersistence(namespace: string): Promise {
await this.ensureInitialized()
return {
get: (key: string): Promise => {
diff --git a/packages/sdk/src/StreamrClientError.ts b/packages/sdk/src/StreamrClientError.ts
index d401e0293e..daaa0e7aca 100644
--- a/packages/sdk/src/StreamrClientError.ts
+++ b/packages/sdk/src/StreamrClientError.ts
@@ -1,4 +1,4 @@
-import { StreamMessage } from './exports'
+import type { StreamMessage } from './protocol/StreamMessage'
import { MessageID } from './protocol/MessageID'
export type StreamrClientErrorCode =
diff --git a/packages/sdk/src/utils/persistence/BrowserPersistence.mts b/packages/sdk/src/_browser/Persistence.ts
similarity index 74%
rename from packages/sdk/src/utils/persistence/BrowserPersistence.mts
rename to packages/sdk/src/_browser/Persistence.ts
index a10f6d932e..c45dcbf0d8 100644
--- a/packages/sdk/src/utils/persistence/BrowserPersistence.mts
+++ b/packages/sdk/src/_browser/Persistence.ts
@@ -1,5 +1,5 @@
-import { openDB, IDBPDatabase } from 'idb'
-import { PersistenceContext, PersistenceContextOptions } from './PersistenceContext.js'
+import { openDB, type IDBPDatabase } from 'idb'
+import type { PersistenceContext, PersistenceOptions } from '../Persistence.types'
/**
* This file is a ES module (.mts) instead of CommonJS. It was converted to ESM to resolve
@@ -16,23 +16,28 @@ import { PersistenceContext, PersistenceContextOptions } from './PersistenceCont
* See https://github.com/streamr-dev/network/pull/2848
*/
-export default class BrowserPersistence implements PersistenceContext {
+export class Persistence implements PersistenceContext {
private readonly db: IDBPDatabase
- static async createInstance(opts: PersistenceContextOptions): Promise {
+ static async createInstance(opts: PersistenceOptions): Promise {
const db = await openDB(`streamr-sdk::${opts.ownerId}`, 1, {
upgrade(db) {
opts.namespaces.forEach((namespace) => db.createObjectStore(namespace))
}
})
- return new BrowserPersistence(db)
+ return new Persistence(db)
}
private constructor(db: IDBPDatabase) {
this.db = db
}
+ // eslint-disable-next-line class-methods-use-this
+ async exists(): Promise {
+ throw new Error('Method not implemented in browser Persistence.')
+ }
+
async get(key: string, namespace: string): Promise {
return this.db.get(namespace, key)
}
diff --git a/packages/sdk/src/_browser/createRSAKeyPair.ts b/packages/sdk/src/_browser/createRSAKeyPair.ts
new file mode 100644
index 0000000000..4196d68f43
--- /dev/null
+++ b/packages/sdk/src/_browser/createRSAKeyPair.ts
@@ -0,0 +1,45 @@
+import { type CryptoKey, getSubtle } from '@streamr/utils'
+import type { PemKeyPair } from '../encryption/types'
+
+function arrayBufferToString(buffer: ArrayBuffer): string {
+ return String.fromCharCode.apply(null, [...new Uint8Array(buffer)])
+}
+
+async function exportCryptoKey(
+ key: CryptoKey,
+ { isPrivate = false } = {}
+): Promise {
+ const keyType = isPrivate ? 'pkcs8' : 'spki'
+ const exported = await getSubtle().exportKey(keyType, key)
+ const exportedAsString = arrayBufferToString(exported)
+ const exportedAsBase64 = btoa(exportedAsString)
+ const TYPE = isPrivate ? 'PRIVATE' : 'PUBLIC'
+
+ return `-----BEGIN ${TYPE} KEY-----\n${exportedAsBase64}\n-----END ${TYPE} KEY-----\n`
+}
+
+export async function createRSAKeyPair(
+ keyLength: number
+): Promise {
+ const { publicKey, privateKey } = await getSubtle().generateKey(
+ {
+ name: 'RSA-OAEP',
+ modulusLength: keyLength,
+ publicExponent: new Uint8Array([1, 0, 1]), // 65537
+ hash: 'SHA-256',
+ },
+ true,
+ ['encrypt', 'decrypt']
+ )
+
+ const [exportedPrivate, exportedPublic] = await Promise.all([
+ exportCryptoKey(privateKey, {
+ isPrivate: true,
+ }),
+ exportCryptoKey(publicKey, {
+ isPrivate: false,
+ }),
+ ])
+
+ return { privateKey: exportedPrivate, publicKey: exportedPublic }
+}
diff --git a/packages/sdk/src/utils/persistence/ServerPersistence.ts b/packages/sdk/src/_nodejs/Persistence.ts
similarity index 82%
rename from packages/sdk/src/utils/persistence/ServerPersistence.ts
rename to packages/sdk/src/_nodejs/Persistence.ts
index a367352b77..f57a175180 100644
--- a/packages/sdk/src/utils/persistence/ServerPersistence.ts
+++ b/packages/sdk/src/_nodejs/Persistence.ts
@@ -1,51 +1,44 @@
import envPaths from 'env-paths'
import { dirname, resolve, join } from 'path'
+import { fileURLToPath } from 'url'
import { promises as fs } from 'fs'
-import { open, Database } from 'sqlite'
+import { open, type Database } from 'sqlite'
import sqlite3 from 'sqlite3'
+import { pOnce } from '../utils/promises'
+import type { PersistenceContext, PersistenceOptions } from '../Persistence.types'
+import type { Logger } from '@streamr/utils'
+import { wait } from '@streamr/utils'
-import { pOnce } from '../promises'
-
-import { PersistenceContext, PersistenceContextOptions } from './PersistenceContext'
-import { Logger, wait } from '@streamr/utils'
-import { LoggerFactory } from '../LoggerFactory'
-
-export interface ServerPersistenceOptions extends PersistenceContextOptions {
- loggerFactory: LoggerFactory
- migrationsPath?: string
- onInit?: (db: Database) => Promise
-}
-
-export default class ServerPersistence implements PersistenceContext {
+export class Persistence implements PersistenceContext {
private readonly logger: Logger
private readonly dbFilePath: string
private store?: Database
private error?: Error
private initCalled = false
- private readonly migrationsPath?: string
+ private readonly migrationsUrl?: URL
private readonly onInit?: (db: Database) => Promise
// uses createInstance factory pattern so that ServerPersistence and BrowserPersistence
// are interchangeable
- static async createInstance(opts: ServerPersistenceOptions): Promise {
+ static async createInstance(opts: PersistenceOptions): Promise {
// TODO init() call could called here, so that we don't need to separate logic for
// initialization (i.e. check this.initCalled flag before eaach call).
// It would be ok to do initialization, because the PersistenceManager already lazy loads
// and therefore doesn't create this instance before it is needed
- return new ServerPersistence(opts)
+ return new Persistence(opts)
}
private constructor({
loggerFactory,
ownerId,
- migrationsPath,
+ migrationsUrl,
onInit
- }: ServerPersistenceOptions) {
- this.logger = loggerFactory.createLogger('ServerPersistence')
+ }: PersistenceOptions) {
+ this.logger = loggerFactory.createLogger('Persistence')
const paths = envPaths('streamr-sdk')
// ownerId could be too long for the FS, but unlikely to collide locally - concatenate to first 50 chars
this.dbFilePath = resolve(paths.data, join('./', ownerId.substring(0, 50), `GroupKeys.db`))
- this.migrationsPath = migrationsPath
+ this.migrationsUrl = migrationsUrl
this.onInit = onInit
this.init = pOnce(this.init.bind(this))
}
@@ -101,11 +94,11 @@ export default class ServerPersistence implements PersistenceContext {
await store.configure('busyTimeout', 200)
await store.run('PRAGMA journal_mode = WAL;')
})
- if (this.migrationsPath !== undefined) {
+ if (this.migrationsUrl !== undefined) {
await this.tryExec(async () => {
try {
await store.migrate({
- migrationsPath: this.migrationsPath
+ migrationsPath: fileURLToPath(this.migrationsUrl!)
})
} catch (err) {
if (err.code.startsWith('SQLITE_')) {
diff --git a/packages/sdk/src/_nodejs/createRSAKeyPair.ts b/packages/sdk/src/_nodejs/createRSAKeyPair.ts
new file mode 100644
index 0000000000..305e08d492
--- /dev/null
+++ b/packages/sdk/src/_nodejs/createRSAKeyPair.ts
@@ -0,0 +1,20 @@
+import crypto from 'crypto'
+import { promisify } from 'util'
+import type { PemKeyPair } from '../encryption/types'
+
+export async function createRSAKeyPair(keyLength: number): Promise {
+ const generateKeyPair = promisify(crypto.generateKeyPair)
+ const { publicKey, privateKey } = await generateKeyPair('rsa', {
+ modulusLength: keyLength,
+ publicKeyEncoding: {
+ type: 'spki',
+ format: 'pem',
+ },
+ privateKeyEncoding: {
+ type: 'pkcs8',
+ format: 'pem',
+ },
+ })
+
+ return { privateKey, publicKey }
+}
diff --git a/packages/sdk/src/contracts/OperatorRegistry.ts b/packages/sdk/src/contracts/OperatorRegistry.ts
index 56269db5c2..5a649e840b 100644
--- a/packages/sdk/src/contracts/OperatorRegistry.ts
+++ b/packages/sdk/src/contracts/OperatorRegistry.ts
@@ -1,9 +1,8 @@
-import { Logger, TheGraphClient, GraphQLQuery, EthereumAddress, toEthereumAddress } from '@streamr/utils'
+import { Logger, TheGraphClient, GraphQLQuery, EthereumAddress, toEthereumAddress, type StreamID } from '@streamr/utils'
import shuffle from 'lodash/shuffle'
import { Lifecycle, scoped } from 'tsyringe'
import type { NetworkPeerDescriptor } from '../ConfigTypes'
import { LoggerFactory } from '../utils/LoggerFactory'
-import { StreamID } from '../exports'
// TODO maybe this class could be removed/renamed (the method could be extracted to be a function as there is no state)
diff --git a/packages/sdk/src/encryption/EncryptionUtil.ts b/packages/sdk/src/encryption/EncryptionUtil.ts
index 7f2231675a..b0bb87f5e2 100644
--- a/packages/sdk/src/encryption/EncryptionUtil.ts
+++ b/packages/sdk/src/encryption/EncryptionUtil.ts
@@ -1,11 +1,10 @@
-import crypto, { CipherKey } from 'crypto'
import { ml_kem1024 } from '@noble/post-quantum/ml-kem'
import { randomBytes } from '@noble/post-quantum/utils'
import { StreamMessageAESEncrypted } from '../protocol/StreamMessage'
import { StreamrClientError } from '../StreamrClientError'
import { GroupKey } from './GroupKey'
import { AsymmetricEncryptionType } from '@streamr/trackerless-network'
-import { binaryToUtf8, getSubtle } from '@streamr/utils'
+import { binaryToUtf8, createCipheriv, createDecipheriv, getSubtle, privateDecrypt, publicEncrypt } from '@streamr/utils'
export const INITIALIZATION_VECTOR_LENGTH = 16
@@ -63,13 +62,13 @@ export class EncryptionUtil {
private static encryptWithRSAPublicKey(plaintextBuffer: Uint8Array, publicKey: Uint8Array): Buffer {
const keyString = this.toRSAPublicKeyString(publicKey)
- const ciphertextBuffer = crypto.publicEncrypt(keyString, plaintextBuffer)
+ const ciphertextBuffer = publicEncrypt(keyString, plaintextBuffer)
return ciphertextBuffer
}
private static decryptWithRSAPrivateKey(ciphertext: Uint8Array, privateKey: Uint8Array): Buffer {
const keyString = this.toRSAPrivateKeyString(privateKey)
- return crypto.privateDecrypt(keyString, ciphertext)
+ return privateDecrypt(keyString, ciphertext)
}
/**
@@ -145,18 +144,18 @@ export class EncryptionUtil {
/*
* Returns a hex string without the '0x' prefix.
*/
- static encryptWithAES(data: Uint8Array, cipherKey: CipherKey): Uint8Array {
- const iv = crypto.randomBytes(INITIALIZATION_VECTOR_LENGTH) // always need a fresh IV when using CTR mode
- const cipher = crypto.createCipheriv('aes-256-ctr', cipherKey, iv)
+ static encryptWithAES(data: Uint8Array, cipherKey: Uint8Array): Uint8Array {
+ const iv = randomBytes(INITIALIZATION_VECTOR_LENGTH) // always need a fresh IV when using CTR mode
+ const cipher = createCipheriv('aes-256-ctr', cipherKey, iv)
return Buffer.concat([iv, cipher.update(data), cipher.final()])
}
/*
* 'ciphertext' must be a hex string (without '0x' prefix), 'groupKey' must be a GroupKey. Returns a Buffer.
*/
- static decryptWithAES(cipher: Uint8Array, cipherKey: CipherKey): Buffer {
+ static decryptWithAES(cipher: Uint8Array, cipherKey: Uint8Array): Buffer {
const iv = cipher.slice(0, INITIALIZATION_VECTOR_LENGTH)
- const decipher = crypto.createDecipheriv('aes-256-ctr', cipherKey, iv)
+ const decipher = createDecipheriv('aes-256-ctr', cipherKey, iv)
return Buffer.concat([decipher.update(cipher.slice(INITIALIZATION_VECTOR_LENGTH)), decipher.final()])
}
diff --git a/packages/sdk/src/encryption/GroupKey.ts b/packages/sdk/src/encryption/GroupKey.ts
index f52146c6d7..9dda22dbd2 100644
--- a/packages/sdk/src/encryption/GroupKey.ts
+++ b/packages/sdk/src/encryption/GroupKey.ts
@@ -1,7 +1,7 @@
-import crypto from 'crypto'
import { EncryptedGroupKey } from '@streamr/trackerless-network'
import { uuid } from '../utils/uuid'
import { EncryptionUtil } from './EncryptionUtil'
+import { randomBytes } from '@noble/post-quantum/utils'
export class GroupKeyError extends Error {
public groupKey?: GroupKey
@@ -64,8 +64,8 @@ export class GroupKey {
}
static generate(id = uuid('GroupKey')): GroupKey {
- const keyBytes = crypto.randomBytes(32)
- return new GroupKey(id, keyBytes)
+ const keyBytes = randomBytes(32)
+ return new GroupKey(id, Buffer.from(keyBytes))
}
/** @internal */
diff --git a/packages/sdk/src/encryption/GroupKeyManager.ts b/packages/sdk/src/encryption/GroupKeyManager.ts
index 1342f076ff..df9e537492 100644
--- a/packages/sdk/src/encryption/GroupKeyManager.ts
+++ b/packages/sdk/src/encryption/GroupKeyManager.ts
@@ -1,5 +1,5 @@
import { hexToBinary, StreamID, StreamPartID, StreamPartIDUtils, UserID, waitForEvent } from '@streamr/utils'
-import crypto from 'crypto'
+import { randomBytes } from '@noble/post-quantum/utils'
import { Lifecycle, inject, scoped } from 'tsyringe'
import { Identity, IdentityInjectionToken } from '../identity/Identity'
import { ConfigInjectionToken, type StrictStreamrClientConfig } from '../ConfigTypes'
@@ -113,7 +113,7 @@ export class GroupKeyManager {
throw new Error('storeKey: storing latest encryption keys for other publishers not supported.')
}
if (groupKey === undefined) {
- const keyData = crypto.randomBytes(32)
+ const keyData = Buffer.from(randomBytes(32))
groupKey = new GroupKey(uuid('GroupKey'), keyData)
}
await this.localGroupKeyStore.set(groupKey.id, publisherId, groupKey.data)
diff --git a/packages/sdk/src/encryption/RSAKeyPair.ts b/packages/sdk/src/encryption/RSAKeyPair.ts
index 705d9ec5d2..444246db3a 100644
--- a/packages/sdk/src/encryption/RSAKeyPair.ts
+++ b/packages/sdk/src/encryption/RSAKeyPair.ts
@@ -1,16 +1,7 @@
-/**
- * @todo This file contains code for both browser and Node.js environments. Consider
- * making it environment-specific (using separate files or conditional exports), and
- * remove the following "dom" lib reference when done.
- */
-///
-
-import crypto from 'crypto'
-import { promisify } from 'util'
import { KeyExchangeKeyPair } from './KeyExchangeKeyPair'
import { AsymmetricEncryptionType } from '@streamr/trackerless-network'
-import { utf8ToBinary, getSubtle } from '@streamr/utils'
-import type { webcrypto } from 'crypto'
+import { utf8ToBinary } from '@streamr/utils'
+import { createRSAKeyPair } from '@/createRSAKeyPair'
/**
* The length of encrypted data determines the minimum length. In StreamrClient we use RSA
@@ -20,34 +11,6 @@ import type { webcrypto } from 'crypto'
*/
export const MIN_KEY_LENGTH = 640
-function ab2str(...args: any[]): string {
- // @ts-expect-error Uint8Array parameters
- return String.fromCharCode.apply(null, new Uint8Array(...args) as unknown as number[])
-}
-
-// shim browser btoa for node
-function btoa(str: string | Uint8Array): string {
- if (global.btoa) { return global.btoa(str as string) }
- let buffer
-
- if (Buffer.isBuffer(str)) {
- buffer = str
- } else {
- buffer = Buffer.from(str.toString(), 'binary')
- }
-
- return buffer.toString('base64')
-}
-
-async function exportCryptoKey(key: webcrypto.CryptoKey, { isPrivate = false } = {}): Promise {
- const keyType = isPrivate ? 'pkcs8' : 'spki'
- const exported = await getSubtle().exportKey(keyType, key)
- const exportedAsString = ab2str(exported)
- const exportedAsBase64 = btoa(exportedAsString)
- const TYPE = isPrivate ? 'PRIVATE' : 'PUBLIC'
- return `-----BEGIN ${TYPE} KEY-----\n${exportedAsBase64}\n-----END ${TYPE} KEY-----\n`
-}
-
export class RSAKeyPair implements KeyExchangeKeyPair {
// the keys are in PEM format
private readonly privateKey: string
@@ -74,45 +37,7 @@ export class RSAKeyPair implements KeyExchangeKeyPair {
}
static async create(keyLength: number): Promise {
- return (typeof window !== 'undefined')
- ? RSAKeyPair.create_browserEnvironment(keyLength)
- : RSAKeyPair.create_serverEnvironment(keyLength)
- }
-
- private static async create_serverEnvironment(keyLength: number): Promise {
- // promisify here to work around browser/server packaging
- const generateKeyPair = promisify(crypto.generateKeyPair)
- const { publicKey, privateKey } = await generateKeyPair('rsa', {
- modulusLength: keyLength,
- publicKeyEncoding: {
- type: 'spki',
- format: 'pem',
- },
- privateKeyEncoding: {
- type: 'pkcs8',
- format: 'pem',
- },
- })
-
+ const { privateKey, publicKey } = await createRSAKeyPair(keyLength)
return new RSAKeyPair(privateKey, publicKey)
}
-
- private static async create_browserEnvironment(keyLength: number): Promise {
- const { publicKey, privateKey } = await getSubtle().generateKey({
- name: 'RSA-OAEP',
- modulusLength: keyLength,
- publicExponent: new Uint8Array([1, 0, 1]), // 65537
- hash: 'SHA-256'
- }, true, ['encrypt', 'decrypt'])
-
- const [exportedPrivate, exportedPublic] = await Promise.all([
- exportCryptoKey(privateKey, {
- isPrivate: true,
- }),
- exportCryptoKey(publicKey, {
- isPrivate: false,
- })
- ])
- return new RSAKeyPair(exportedPrivate, exportedPublic)
- }
}
diff --git a/packages/sdk/src/encryption/types.ts b/packages/sdk/src/encryption/types.ts
new file mode 100644
index 0000000000..36355f4100
--- /dev/null
+++ b/packages/sdk/src/encryption/types.ts
@@ -0,0 +1,4 @@
+export interface PemKeyPair {
+ privateKey: string
+ publicKey: string
+}
diff --git a/packages/sdk/src/exports-browser.ts b/packages/sdk/src/exports-browser.ts
deleted file mode 100644
index d023d614e4..0000000000
--- a/packages/sdk/src/exports-browser.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import * as StreamrClientExports from './exports'
-
-Object.assign(StreamrClientExports.StreamrClient, StreamrClientExports)
-
-export default StreamrClientExports.StreamrClient
diff --git a/packages/sdk/src/exports-commonjs.js b/packages/sdk/src/exports-commonjs.js
deleted file mode 100644
index ec0043374d..0000000000
--- a/packages/sdk/src/exports-commonjs.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable @typescript-eslint/no-require-imports */
-// CJS entrypoint.
-const StreamrClientExports = require('./exports')
-
-Object.assign(StreamrClientExports.StreamrClient, StreamrClientExports)
-
-// required to get require('@streamr/sdk') instead of require('@streamr/sdk').default
-module.exports = StreamrClientExports.StreamrClient
diff --git a/packages/sdk/src/exports-esm.mjs b/packages/sdk/src/exports-esm.mjs
deleted file mode 100644
index e485e020ab..0000000000
--- a/packages/sdk/src/exports-esm.mjs
+++ /dev/null
@@ -1,5 +0,0 @@
-// ESM EntryPoint
-export * from './index.js'
-// required to get import StreamrClient from '@streamr/sdk' to work
-export { StreamrClient as default } from './index.js'
-// note this file is manually copied as-is into dist/src since we don't want tsc to compile it to commonjs
diff --git a/packages/sdk/src/exports.ts b/packages/sdk/src/exports.ts
index a12186d0f0..2a9549451e 100644
--- a/packages/sdk/src/exports.ts
+++ b/packages/sdk/src/exports.ts
@@ -1,6 +1,5 @@
-/**
- * This file captures named exports so we can manipulate them for cjs/browser builds.
- */
+import 'reflect-metadata'
+
export { StreamrClient, type SubscribeOptions, type ExtraSubscribeOptions } from './StreamrClient'
export { Stream } from './Stream'
export { type StreamMetadata, parseMetadata as parseStreamMetadata, getPartitionCount as getStreamPartitionCount } from './StreamMetadata'
diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts
deleted file mode 100644
index 59d487c57d..0000000000
--- a/packages/sdk/src/index.ts
+++ /dev/null
@@ -1,12 +0,0 @@
-/**
- * Streamr JavaScript Client
- *
- * @packageDocumentation
- * @module StreamrClient
- */
-
-import { StreamrClient } from './StreamrClient'
-
-export * from './exports'
-export default StreamrClient
-// Note awful export wrappers in exports-commonjs.js & exports-esm.mjs
diff --git a/packages/sdk/src/utils/WebStreamToNodeStream.ts b/packages/sdk/src/utils/WebStreamToNodeStream.ts
index 3f152363c0..aa6d3c64a1 100644
--- a/packages/sdk/src/utils/WebStreamToNodeStream.ts
+++ b/packages/sdk/src/utils/WebStreamToNodeStream.ts
@@ -1,12 +1,11 @@
-import { PassThrough, Readable, TransformOptions } from 'stream'
-import WebStream from 'node:stream/web'
+import { PassThrough, type Readable, type TransformOptions } from 'stream'
import { once } from 'events'
/**
* Background async task to pull data from the browser stream and push it into the node stream.
*/
async function pull(
- webStream: ReadableStream | WebStream.ReadableStream,
+ webStream: ReadableStream,
nodeStream: PassThrough
): Promise {
const reader = webStream.getReader()
@@ -63,7 +62,7 @@ async function pull(
* Convert browser ReadableStream to Node stream.Readable.
*/
export function WebStreamToNodeStream(
- webStream: ReadableStream | Readable | WebStream.ReadableStream,
+ webStream: ReadableStream | Readable,
nodeStreamOptions?: TransformOptions
): Readable {
if ('pipe' in webStream) {
diff --git a/packages/sdk/src/utils/persistence/Persistence.ts b/packages/sdk/src/utils/persistence/Persistence.ts
deleted file mode 100644
index b473cd102d..0000000000
--- a/packages/sdk/src/utils/persistence/Persistence.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-export interface Persistence {
- get(key: string): Promise
- set(key: string, value: string): Promise
-}
diff --git a/packages/sdk/src/utils/persistence/PersistenceContext.ts b/packages/sdk/src/utils/persistence/PersistenceContext.ts
deleted file mode 100644
index fe3b34b202..0000000000
--- a/packages/sdk/src/utils/persistence/PersistenceContext.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { UserID } from '@streamr/utils'
-
-// TODO: make into abstract base class and define abstract constructor to enforce options?
-export interface PersistenceContext {
- get(key: string, namespace: string): Promise
- set(key: string, value: string, namespace: string): Promise
- close(): Promise
-}
-
-export interface PersistenceContextOptions {
- ownerId: UserID
- namespaces: string[]
-}
diff --git a/packages/sdk/src/utils/utils.ts b/packages/sdk/src/utils/utils.ts
index bda80738e7..25c9ee5693 100644
--- a/packages/sdk/src/utils/utils.ts
+++ b/packages/sdk/src/utils/utils.ts
@@ -5,7 +5,7 @@ import {
randomString, toEthereumAddress, toStreamID
} from '@streamr/utils'
import { ContractTransactionReceipt } from 'ethers'
-import { Readable } from 'stream'
+import type { Readable } from 'stream'
import { LRUCache } from 'lru-cache'
import { NetworkNodeType, type NetworkPeerDescriptor, type StrictStreamrClientConfig } from '../ConfigTypes'
import { StreamrClientEventEmitter } from '../events'
@@ -149,7 +149,7 @@ export function convertPeerDescriptorToNetworkPeerDescriptor(descriptor: PeerDes
}
export function generateClientId(): string {
- return counterId(process.pid ? `${process.pid}` : randomString(4), '/')
+ return counterId(typeof process !== 'undefined' && process.pid ? `${process.pid}` : randomString(4), '/')
}
export type LookupKeyType = (string | number | symbol) | (string | number | symbol)[]
diff --git a/packages/sdk/test/browser-smoke-test/nightwatch.conf.js b/packages/sdk/test/browser-smoke-test/nightwatch.conf.js
index 0fba357140..13ab37033b 100644
--- a/packages/sdk/test/browser-smoke-test/nightwatch.conf.js
+++ b/packages/sdk/test/browser-smoke-test/nightwatch.conf.js
@@ -1,10 +1,7 @@
-// eslint-disable-next-line @typescript-eslint/no-require-imports
-const chromedriver = require('chromedriver')
module.exports = {
live_output: true,
webdriver: {
start_process: true,
- server_path: chromedriver.path,
cli_args: [
'--verbose'
],
diff --git a/packages/sdk/test/browser-smoke-test/smoke-test.html b/packages/sdk/test/browser-smoke-test/smoke-test.html
index 3b7dd43ce8..5e5743fa41 100644
--- a/packages/sdk/test/browser-smoke-test/smoke-test.html
+++ b/packages/sdk/test/browser-smoke-test/smoke-test.html
@@ -3,7 +3,7 @@
Smoke Test
-
+