diff --git a/Cargo.lock b/Cargo.lock
index d03f6b2517..7674b1b773 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -3020,7 +3020,7 @@ dependencies = [
[[package]]
name = "extension-storage"
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
dependencies = [
"bip39",
"console_error_panic_hook",
@@ -5613,7 +5613,7 @@ dependencies = [
[[package]]
name = "mix-fetch-wasm"
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
dependencies = [
"futures",
"js-sys",
@@ -6298,7 +6298,7 @@ dependencies = [
[[package]]
name = "nym-client-wasm"
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
dependencies = [
"anyhow",
"futures",
@@ -6917,7 +6917,7 @@ dependencies = [
[[package]]
name = "nym-node-tester-wasm"
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
dependencies = [
"futures",
"js-sys",
@@ -7510,7 +7510,7 @@ dependencies = [
[[package]]
name = "nym-wasm-sdk"
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
dependencies = [
"mix-fetch-wasm",
"nym-client-wasm",
diff --git a/Makefile b/Makefile
index c74994904e..f4c2a34325 100644
--- a/Makefile
+++ b/Makefile
@@ -113,20 +113,27 @@ sdk-wasm-build:
# client
$(MAKE) -C wasm/client build
+ # client (node)
+ $(MAKE) -C wasm/client build-node
+
# node-tester
$(MAKE) -C wasm/node-tester build
# mix-fetch
$(MAKE) -C wasm/mix-fetch build
+ # mix-fetch (node)
+ $(MAKE) -C wasm/mix-fetch build-node
+
# full
$(MAKE) -C wasm/full-nym-wasm build-full
# run this from npm/yarn to ensure tools are in the path, e.g. yarn build:sdk from root of repo
sdk-typescript-build:
- lerna run --scope @nymproject/sdk build --stream
- lerna run --scope @nymproject/mix-fetch build --stream
- lerna run --scope @nymproject/node-tester build --stream
+ npx lerna run --scope @nymproject/sdk build --stream
+ npx lerna run --scope @nymproject/mix-fetch build --stream
+ npx lerna run --scope @nymproject/node-tester build --stream
+ yarn --cwd sdk/typescript/codegen/contract-clients build
sdk-wasm-test:
# # client
diff --git a/lerna.json b/lerna.json
index 851bdf0b54..053f72e27e 100644
--- a/lerna.json
+++ b/lerna.json
@@ -1,4 +1,3 @@
{
- "version": "0.0.0",
- "useWorkspaces": true
+ "version": "independent"
}
diff --git a/nym-browser-extension/storage/Cargo.toml b/nym-browser-extension/storage/Cargo.toml
index 5d88f1a4a8..0a878e27d0 100644
--- a/nym-browser-extension/storage/Cargo.toml
+++ b/nym-browser-extension/storage/Cargo.toml
@@ -1,6 +1,6 @@
[package]
name = "extension-storage"
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
edition = "2021"
license = "Apache-2.0"
repository = "https://github.com/nymtech/nym"
diff --git a/package.json b/package.json
index fdb7a4ca38..7dec6236ae 100644
--- a/package.json
+++ b/package.json
@@ -42,7 +42,7 @@
"audit:fix": "npm_config_yes=true npx yarn-audit-fix -- --dry-run"
},
"devDependencies": {
- "lerna": "^6.6.2",
+ "lerna": "^7.3.0",
"npm-run-all": "^4.1.5",
"@npmcli/node-gyp": "^3.0.0",
"node-gyp": "^9.3.1"
diff --git a/sdk/typescript/codegen/contract-clients/README.md b/sdk/typescript/codegen/contract-clients/README.md
index c311b7e9c7..b2f52cbd8d 100644
--- a/sdk/typescript/codegen/contract-clients/README.md
+++ b/sdk/typescript/codegen/contract-clients/README.md
@@ -23,7 +23,7 @@ async function main() {
const accounts = await signer.getAccounts();
// make a signing client for the Nym Mixnet contract on mainnet
- const cosmWasmSigningClient = await SigningCosmWasmClient.connectWithSigner("rpc.nymtech.net:443", signer);
+ const cosmWasmSigningClient = await SigningCosmWasmClient.connectWithSigner("https://rpc.nymtech.net:443", signer);
const client = new contracts.Mixnet.MixnetClient(cosmWasmSigningClient, accounts[0].address, 'n17srjznxl9dvzdkpwpw24gg668wc73val88a6m5ajg6ankwvz9wtst0cznr');
// delegate 1 NYM to mixnode with id 100
diff --git a/sdk/typescript/codegen/contract-clients/package.json b/sdk/typescript/codegen/contract-clients/package.json
index 7f70204918..a85c6b17eb 100644
--- a/sdk/typescript/codegen/contract-clients/package.json
+++ b/sdk/typescript/codegen/contract-clients/package.json
@@ -1,13 +1,15 @@
{
"name": "@nymproject/contract-clients",
- "version": "1.2.0-rc.1",
+ "version": "1.2.0-rc.5",
"description": "A client for all Nym smart contracts",
+ "license": "Apache-2.0",
+ "author": "Nym Technologies SA",
"main": "dist/index.js",
"browser": "dist/index.js",
- "types": "./dist/index.d.ts",
"scripts": {
- "build": "tsc",
+ "build": "./scripts/build-prod.sh",
"build:autogen": "node build.mjs",
+ "build:tsc": "tsc",
"docs:dev": "run-p docs:watch docs:serve ",
"docs:generate": "typedoc",
"docs:generate:prod": "typedoc --basePath ./docs/tsdoc/nymproject/contract-clients/",
@@ -20,10 +22,9 @@
"nodemon": "3.0.1",
"npm-run-all": "^4.1.5",
"reload": "^3.2.1",
- "typescript": "^4.6.2",
- "typedoc": "^0.24.8"
+ "typedoc": "^0.24.8",
+ "typescript": "^4.6.2"
},
- "keywords": [],
- "author": "",
- "license": "Apache-2.0"
-}
+ "private": false,
+ "types": "./dist/index.d.ts"
+}
\ No newline at end of file
diff --git a/sdk/typescript/codegen/contract-clients/scripts/build-prod-docs-collect.sh b/sdk/typescript/codegen/contract-clients/scripts/build-prod-docs-collect.sh
new file mode 100755
index 0000000000..17382f7fec
--- /dev/null
+++ b/sdk/typescript/codegen/contract-clients/scripts/build-prod-docs-collect.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+rm -rf ../../../../dist/ts/docs/tsdoc/nymproject/contract-clients || true
+
+# run the build
+yarn docs:generate:prod
+
+# move the output outside of the yarn/npm workspaces
+mkdir -p ../../../../dist/ts/docs/tsdoc/nymproject
+mv docs ../../../../dist/ts/docs/tsdoc/nymproject/contract-clients
+
+echo "Output can be found in:"
+realpath ../../../../dist/ts/docs/tsdoc/nymproject/contract-clients
diff --git a/sdk/typescript/codegen/contract-clients/scripts/build-prod.sh b/sdk/typescript/codegen/contract-clients/scripts/build-prod.sh
new file mode 100755
index 0000000000..5eff4de112
--- /dev/null
+++ b/sdk/typescript/codegen/contract-clients/scripts/build-prod.sh
@@ -0,0 +1,21 @@
+#!/usr/bin/env bash
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+rm -rf dist || true
+rm -rf ../../../../dist/ts/sdk/contract-clients || true
+
+# run the build
+npm run build:tsc
+node scripts/buildPackageJson.mjs
+cp README.md dist
+
+# move the output outside of the yarn/npm workspaces
+mkdir -p ../../../../dist/ts/sdk
+mv dist ../../../../dist/ts/sdk
+mv ../../../../dist/ts/sdk/dist ../../../../dist/ts/sdk/contract-clients
+
+echo "Output can be found in:"
+realpath ../../../../dist/ts/sdk/contract-clients
diff --git a/sdk/typescript/codegen/contract-clients/scripts/buildPackageJson.mjs b/sdk/typescript/codegen/contract-clients/scripts/buildPackageJson.mjs
new file mode 100644
index 0000000000..ff91d755ca
--- /dev/null
+++ b/sdk/typescript/codegen/contract-clients/scripts/buildPackageJson.mjs
@@ -0,0 +1,22 @@
+import * as fs from 'fs';
+
+// parse the package.json from the SDK, so we can keep fields like the name and version
+const json = JSON.parse(fs.readFileSync('package.json').toString());
+
+// defaults (NB: these are in the output file locations)
+const browser = 'index.js';
+const main = 'index.js';
+const types = 'index.d.ts';
+
+const getPackageJson = (type) => ({
+ name: json.name,
+ version: json.version,
+ license: json.license,
+ author: json.author,
+ type,
+ browser,
+ main,
+ types,
+});
+
+fs.writeFileSync('dist/package.json', JSON.stringify(getPackageJson('module'), null, 2));
diff --git a/sdk/typescript/examples/mix-fetch/browser/README.md b/sdk/typescript/examples/mix-fetch/browser/README.md
new file mode 100644
index 0000000000..d76aec193e
--- /dev/null
+++ b/sdk/typescript/examples/mix-fetch/browser/README.md
@@ -0,0 +1,30 @@
+# mixFetch Usage Example
+
+This is a simple project to show you how to use mixFetch.
+
+Basic usage is as simple as replacing `fetch` with `mixFetch` in your code:
+
+```ts
+import { mixFetch } from '@nymproject/mix-fetch';
+
+// HTTP GET
+const response = await mixFetch('https://nymtech.net');
+const html = await response.text();
+
+// HTTP POST
+const apiResponse = await mixFetch('https://api.example.com', {
+ method: 'POST',
+ body: JSON.stringify({ foo: 'bar' }),
+ headers: { [`Content-Type`]: 'application/json', Authorization: `Bearer ${AUTH_TOKEN}` }
+});
+```
+
+## Running the example
+
+```
+npm install
+npm run start
+```
+
+Open a browser at http://localhost:1234 and as the example loads, a connection will be made to the Nym Mixnet
+and a text file and image will be downloaded and displayed in the browser.
diff --git a/sdk/typescript/examples/mix-fetch/browser/package.json b/sdk/typescript/examples/mix-fetch/browser/package.json
new file mode 100644
index 0000000000..b6be4fc525
--- /dev/null
+++ b/sdk/typescript/examples/mix-fetch/browser/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "@nymproject/mix-fetch-example-parcel",
+ "version": "1.0.0",
+ "license": "Apache-2.0",
+ "source": "src/index.html",
+ "dependencies": {
+ "parcel": "^2.9.3",
+ "@nymproject/mix-fetch": ">=1.2.0-rc.5 || ^1"
+ },
+ "scripts": {
+ "start": "parcel --no-cache",
+ "build": "parcel build --no-cache --no-content-hash",
+ "serve": "serve dist"
+ }
+}
diff --git a/sdk/typescript/examples/mix-fetch/browser/src/index.html b/sdk/typescript/examples/mix-fetch/browser/src/index.html
new file mode 100644
index 0000000000..564a10a1a6
--- /dev/null
+++ b/sdk/typescript/examples/mix-fetch/browser/src/index.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+ Internal Tester
+
+
+
+
+
+mixFetch
+
+
+
+
+
diff --git a/sdk/typescript/examples/mix-fetch/browser/src/index.ts b/sdk/typescript/examples/mix-fetch/browser/src/index.ts
new file mode 100644
index 0000000000..6680813059
--- /dev/null
+++ b/sdk/typescript/examples/mix-fetch/browser/src/index.ts
@@ -0,0 +1,46 @@
+import { mixFetch } from '@nymproject/mix-fetch';
+import { appendOutput, appendImageOutput } from './utils';
+
+async function main() {
+ // options for mixFetch (you can also set these with the `createMixFetch` function
+ const mixFetchOptions = {
+ preferredGateway: 'E3mvZTHQCdBvhfr178Swx9g4QG3kkRUun7YnToLMcMbM', // with WSS
+ preferredNetworkRequester:
+ 'GiRjFWrMxt58pEMuusm4yT3RxoMD1MMPrR9M2N4VWRJP.3CNZBPq4vg7v7qozjGjdPMXcvDmkbWPCgbGCjQVw9n6Z@2xU4CBE6QiiYt6EyBXSALwxkNvM7gqJfjHXaMkjiFmYW',
+ mixFetchOverride: {
+ requestTimeoutMs: 60_000,
+ },
+ };
+
+ // disable CORS (in your app, you probably don't want to disable CORS, it is a good thing to leave it enabled)
+ const args = { mode: 'unsafe-ignore-cors' };
+
+ // this is the URL of standard list of allow hosts the you can request data from with mixFetch and the Nym SOCKS5
+ // client - you can request to have more hosts added by getting in touch on Discord or Telegram
+ let url = 'https://nymtech.net/.wellknown/network-requester/standard-allowed-list.txt';
+
+ appendOutput('Get a text file:');
+ appendOutput(`Downloading ${url}...\n`);
+ let resp = await mixFetch(url, args, mixFetchOptions); // NB: you only need to pass options to the 1st call
+ console.log({ resp });
+
+ const text = await resp.text();
+ appendOutput(text);
+
+ // get an image
+ appendOutput('\nGet an image:\n');
+ url = 'https://nymtech.net/favicon.svg';
+ resp = await mixFetch(url, args);
+ console.log({ resp });
+
+ const buffer = await resp.arrayBuffer();
+ const type = resp.headers.get('Content-Type') || 'image/svg';
+ const blobUrl = URL.createObjectURL(new Blob([buffer], { type }));
+ appendImageOutput(blobUrl);
+}
+
+// wait for the html to load
+window.addEventListener('DOMContentLoaded', () => {
+ // let's do this!
+ main();
+});
diff --git a/sdk/typescript/examples/mix-fetch/browser/src/utils.ts b/sdk/typescript/examples/mix-fetch/browser/src/utils.ts
new file mode 100644
index 0000000000..4935229eb7
--- /dev/null
+++ b/sdk/typescript/examples/mix-fetch/browser/src/utils.ts
@@ -0,0 +1,12 @@
+export function appendOutput(value: string) {
+ const el = document.getElementById('output') as HTMLPreElement;
+ const text = document.createTextNode(`${value}\n`);
+ el.appendChild(text);
+}
+
+export function appendImageOutput(url: string) {
+ const el = document.getElementById('outputImage') as HTMLPreElement;
+ const imgNode = document.createElement('img');
+ imgNode.src = url;
+ el.appendChild(imgNode);
+}
diff --git a/sdk/typescript/packages/mix-fetch/README-CommonJS-full-fat.md b/sdk/typescript/packages/mix-fetch/README-CommonJS-full-fat.md
index d22f063aeb..a8c0c858dc 100644
--- a/sdk/typescript/packages/mix-fetch/README-CommonJS-full-fat.md
+++ b/sdk/typescript/packages/mix-fetch/README-CommonJS-full-fat.md
@@ -5,12 +5,10 @@ This package is a drop-in replacement for `fetch` to send HTTP requests over the
## Usage
```js
-const { createMixFetch } = require('@nymproject/mix-fetch');
+const { mixFetch } = require('@nymproject/mix-fetch');
...
-const mixFetch = await createMixFetch();
-
const response = await mixFetch('https://nymtech.net');
const html = await response.text();
```
diff --git a/sdk/typescript/packages/mix-fetch/README-CommonJS.md b/sdk/typescript/packages/mix-fetch/README-CommonJS.md
index d22f063aeb..a8c0c858dc 100644
--- a/sdk/typescript/packages/mix-fetch/README-CommonJS.md
+++ b/sdk/typescript/packages/mix-fetch/README-CommonJS.md
@@ -5,12 +5,10 @@ This package is a drop-in replacement for `fetch` to send HTTP requests over the
## Usage
```js
-const { createMixFetch } = require('@nymproject/mix-fetch');
+const { mixFetch } = require('@nymproject/mix-fetch');
...
-const mixFetch = await createMixFetch();
-
const response = await mixFetch('https://nymtech.net');
const html = await response.text();
```
diff --git a/sdk/typescript/packages/mix-fetch/README-full-fat.md b/sdk/typescript/packages/mix-fetch/README-full-fat.md
index abb83e2a20..afe683d42f 100644
--- a/sdk/typescript/packages/mix-fetch/README-full-fat.md
+++ b/sdk/typescript/packages/mix-fetch/README-full-fat.md
@@ -5,12 +5,10 @@ This package is a drop-in replacement for `fetch` to send HTTP requests over the
## Usage
```js
-import { createMixFetch } from '@nymproject/mix-fetch';
+import { mixFetch } from '@nymproject/mix-fetch';
...
-const mixFetch = await createMixFetch();
-
const response = await mixFetch('https://nymtech.net');
const html = await response.text();
```
diff --git a/sdk/typescript/packages/mix-fetch/README.md b/sdk/typescript/packages/mix-fetch/README.md
index 8772e69ffd..f2f7b92879 100644
--- a/sdk/typescript/packages/mix-fetch/README.md
+++ b/sdk/typescript/packages/mix-fetch/README.md
@@ -7,12 +7,10 @@ This package is a drop-in replacement for `fetch` to send HTTP requests over the
Use `mixFetch` in your own project with:
```js
-import { createMixFetch } from '@nymproject/mix-fetch';
+import { mixFetch } from '@nymproject/mix-fetch';
...
-const mixFetch = await createMixFetch();
-
const response = await mixFetch('https://nymtech.net');
const html = await response.text();
```
diff --git a/sdk/typescript/packages/mix-fetch/internal-dev/README.md b/sdk/typescript/packages/mix-fetch/internal-dev/README.md
index 21c25c7d90..3ef80f55ea 100644
--- a/sdk/typescript/packages/mix-fetch/internal-dev/README.md
+++ b/sdk/typescript/packages/mix-fetch/internal-dev/README.md
@@ -26,7 +26,7 @@ yarn start
Or do a single build:
```
-yarn build:dev:esm
+yarn build:dev:esm-no-inline
```
Then, in another terminal:
diff --git a/sdk/typescript/packages/mix-fetch/internal-dev/src/index.ts b/sdk/typescript/packages/mix-fetch/internal-dev/src/index.ts
index d6804dbd4d..8a678d3cdb 100644
--- a/sdk/typescript/packages/mix-fetch/internal-dev/src/index.ts
+++ b/sdk/typescript/packages/mix-fetch/internal-dev/src/index.ts
@@ -55,7 +55,7 @@ async function main() {
appendOutput(JSON.stringify({ text }, null, 2));
// get an image
- url = 'https://nymtech.net/images/token/pie-classic-2.svg';
+ url = 'https://nymtech.net/favicon.svg';
resp = await mixFetch(url, args);
console.log({ resp });
const buffer = await resp.arrayBuffer();
diff --git a/sdk/typescript/packages/mix-fetch/package.json b/sdk/typescript/packages/mix-fetch/package.json
index e5779983e3..f4773281ed 100644
--- a/sdk/typescript/packages/mix-fetch/package.json
+++ b/sdk/typescript/packages/mix-fetch/package.json
@@ -1,6 +1,6 @@
{
"name": "@nymproject/mix-fetch",
- "version": "1.2.0-rc.2",
+ "version": "1.2.0-rc.5",
"description": "This package is a drop-in replacement for `fetch` to send HTTP requests over the Nym Mixnet.",
"license": "Apache-2.0",
"author": "Nym Technologies SA",
@@ -17,6 +17,7 @@
"build:dev:esm": "MIX_FETCH_DEV_MODE=true scripts/build-dev-esm.sh",
"build:dev:esm-no-inline": "scripts/build-dev-esm.sh",
"build:worker": "rollup -c rollup-worker.config.mjs",
+ "build:worker:full-fat": "rollup -c rollup-worker-full-fat.config.mjs",
"clean": "rimraf dist",
"docs:dev": "run-p docs:watch docs:serve ",
"docs:generate": "typedoc",
@@ -80,4 +81,4 @@
"private": false,
"type": "module",
"types": "./dist/esm/index.d.ts"
-}
+}
\ No newline at end of file
diff --git a/sdk/typescript/packages/mix-fetch/rollup-worker-full-fat.config.mjs b/sdk/typescript/packages/mix-fetch/rollup-worker-full-fat.config.mjs
new file mode 100644
index 0000000000..1c56e076e8
--- /dev/null
+++ b/sdk/typescript/packages/mix-fetch/rollup-worker-full-fat.config.mjs
@@ -0,0 +1,8 @@
+import { getConfig } from './rollup/worker.mjs';
+
+export default {
+ ...getConfig({
+ inlineWasm: true,
+ format: 'cjs',
+ }),
+};
diff --git a/sdk/typescript/packages/mix-fetch/rollup-worker.config.mjs b/sdk/typescript/packages/mix-fetch/rollup-worker.config.mjs
index 54d6fd774b..b3207449b7 100644
--- a/sdk/typescript/packages/mix-fetch/rollup-worker.config.mjs
+++ b/sdk/typescript/packages/mix-fetch/rollup-worker.config.mjs
@@ -1,37 +1,5 @@
-import typescript from '@rollup/plugin-typescript';
-import resolve from '@rollup/plugin-node-resolve';
-import { wasm } from '@rollup/plugin-wasm';
-import replace from '@rollup/plugin-replace';
-
-const extensions = ['.js', '.jsx', '.ts', '.tsx'];
+import { getConfig } from './rollup/worker.mjs';
export default {
- input: 'src/worker/index.ts',
- output: {
- dir: 'dist',
- format: process.env.MIX_FETCH_BUNDLE_INLINE_WORKER === true ? 'cjs' : 'es',
- // format: 'cjs',
- },
- plugins: [
- resolve({ extensions }),
- // this is some nasty monkey patching that removes the WASM URL (because it is handled by the `wasm` plugin)
- replace({
- values: { "input = new URL('mix_fetch_wasm_bg.wasm', import.meta.url);": 'input = undefined;' },
- delimiters: ['', ''],
- preventAssignment: true,
- }),
- wasm({
- targetEnv: 'browser',
- fileName: '[name].wasm',
- // force the wasm plugin to embed the wasm bundle - this means no downstream bundlers have to worry about handling it
- maxFileSize: process.env.MIX_FETCH_BUNDLE_INLINE_WASM === 'true' ? 10000000 : undefined,
- }),
- typescript({
- compilerOptions: {
- declaration: false,
- target: process.env.MIX_FETCH_BUNDLE_INLINE_WORKER === true ? 'es5' : 'es6',
- // target: 'es5',
- },
- }),
- ],
+ ...getConfig(),
};
diff --git a/sdk/typescript/packages/mix-fetch/rollup/esm.mjs b/sdk/typescript/packages/mix-fetch/rollup/esm.mjs
index e2b5efea66..ebb886839b 100644
--- a/sdk/typescript/packages/mix-fetch/rollup/esm.mjs
+++ b/sdk/typescript/packages/mix-fetch/rollup/esm.mjs
@@ -23,12 +23,16 @@ export const getConfig = (opts) => ({
replace({
// when loading the web worker as a full ES module, tell pass `new Worker({ type: 'module'})` to tell
// the browser to load and allow imports inside the worker code. Also load as a URL so relative paths work.
- values: opts.inline
- ? undefined
- : {
- "createURLWorkerFactory('web-worker-0.js')":
- "createURLWorkerFactory(new URL('web-worker-0.js', import.meta.url))",
- },
+ // values: opts.inline
+ // ? undefined
+ // : {
+ // "createURLWorkerFactory('web-worker-0.js')":
+ // "createURLWorkerFactory(new URL('web-worker-0.js', import.meta.url))",
+ // },
+ values: {
+ "createURLWorkerFactory('web-worker-0.js')":
+ "createURLWorkerFactory(new URL('web-worker-0.js', import.meta.url))",
+ },
delimiters: ['', ''],
preventAssignment: true,
}),
diff --git a/sdk/typescript/packages/mix-fetch/rollup-worker-new.config.mjs b/sdk/typescript/packages/mix-fetch/rollup/worker.mjs
similarity index 56%
rename from sdk/typescript/packages/mix-fetch/rollup-worker-new.config.mjs
rename to sdk/typescript/packages/mix-fetch/rollup/worker.mjs
index 54d6fd774b..82c7761417 100644
--- a/sdk/typescript/packages/mix-fetch/rollup-worker-new.config.mjs
+++ b/sdk/typescript/packages/mix-fetch/rollup/worker.mjs
@@ -5,12 +5,19 @@ import replace from '@rollup/plugin-replace';
const extensions = ['.js', '.jsx', '.ts', '.tsx'];
-export default {
+/**
+ * Configure worker output
+ *
+ * @param opts
+ * `format`: `es` or `cjs`,
+ * `inlineWasm`: true or false,
+ * `tsTarget`: `es5` or `es6`
+ */
+export const getConfig = (opts) => ({
input: 'src/worker/index.ts',
output: {
dir: 'dist',
- format: process.env.MIX_FETCH_BUNDLE_INLINE_WORKER === true ? 'cjs' : 'es',
- // format: 'cjs',
+ format: opts?.format || 'es',
},
plugins: [
resolve({ extensions }),
@@ -20,18 +27,17 @@ export default {
delimiters: ['', ''],
preventAssignment: true,
}),
- wasm({
- targetEnv: 'browser',
- fileName: '[name].wasm',
- // force the wasm plugin to embed the wasm bundle - this means no downstream bundlers have to worry about handling it
- maxFileSize: process.env.MIX_FETCH_BUNDLE_INLINE_WASM === 'true' ? 10000000 : undefined,
- }),
+ opts?.inlineWasm === true
+ ? wasm({ maxFileSize: 10_000_000, targetEnv: 'browser' }) // force the wasm plugin to embed the wasm bundle - this means no downstream bundlers have to worry about handling it
+ : wasm({
+ targetEnv: 'browser',
+ fileName: '[name].wasm',
+ }),
typescript({
compilerOptions: {
declaration: false,
- target: process.env.MIX_FETCH_BUNDLE_INLINE_WORKER === true ? 'es5' : 'es6',
- // target: 'es5',
+ target: opts?.tsTarget || 'es6',
},
}),
],
-};
+});
diff --git a/sdk/typescript/packages/mix-fetch/scripts/build.sh b/sdk/typescript/packages/mix-fetch/scripts/build.sh
index 14aeba0085..ab9bd0aec8 100755
--- a/sdk/typescript/packages/mix-fetch/scripts/build.sh
+++ b/sdk/typescript/packages/mix-fetch/scripts/build.sh
@@ -31,6 +31,9 @@ mv dist/*.wasm dist/worker
# build the SDK as a ESM bundle
rollup -c rollup-esm.config.mjs
+# move WASM files into place
+cp dist/worker/*.wasm dist/esm
+
#-------------------------------------------------------
# COMMON JS
#-------------------------------------------------------
@@ -41,9 +44,24 @@ rollup -c rollup-esm.config.mjs
rollup -c rollup-cjs.config.mjs
# move WASM files into place
-cp dist/worker/*.wasm dist/esm
+cp dist/worker/*.wasm dist/cjs
node scripts/postBuildReplace.mjs dist
+#-------------------------------------------------------
+# WEB WORKER (full-fat)
+#-------------------------------------------------------
+
+# build the worker
+rollup -c rollup-worker-full-fat.config.mjs
+
+# move it next to the Typescript `src/index.ts` so it can be inlined by rollup
+rm -f src/worker/*.js
+rm -f src/worker/*.wasm
+mv dist/index.js src/worker/worker.js
+
+# move WASM files out of build area
+mkdir -p dist/worker
+
#-------------------------------------------------------
# ESM (full-fat)
#-------------------------------------------------------
diff --git a/sdk/typescript/packages/mix-fetch/scripts/postBuildReplace.mjs b/sdk/typescript/packages/mix-fetch/scripts/postBuildReplace.mjs
index f3e307c96a..39d6546b9f 100644
--- a/sdk/typescript/packages/mix-fetch/scripts/postBuildReplace.mjs
+++ b/sdk/typescript/packages/mix-fetch/scripts/postBuildReplace.mjs
@@ -22,6 +22,12 @@ console.log(`Replacing files in "${path.resolve(basePathToFindFilesIn)}"...`);
Object.keys(replaceConfig).forEach((filename) => {
const absFilename = path.resolve(basePathToFindFilesIn, filename);
+
+ if (!fs.existsSync(absFilename)) {
+ console.log(`Skipping replacing ${filename} as does not exist`);
+ return;
+ }
+
const content = fs.readFileSync(absFilename).toString();
console.log(`Replacing values in "${absFilename}"...`);
diff --git a/sdk/typescript/packages/mix-fetch/src/index.ts b/sdk/typescript/packages/mix-fetch/src/index.ts
index 701b30daa6..dca21cb2e3 100644
--- a/sdk/typescript/packages/mix-fetch/src/index.ts
+++ b/sdk/typescript/packages/mix-fetch/src/index.ts
@@ -2,6 +2,9 @@
import type { SetupMixFetchOps, IMixFetchFn, IMixFetch } from './types';
import { createMixFetch as createMixFetchInternal } from './create-mix-fetch';
+// this is the default timeout for getting a response
+const REQUEST_TIMEOUT_MILLISECONDS = 60_000;
+
export * from './types';
declare global {
@@ -32,10 +35,16 @@ export const createMixFetch = async (opts?: SetupMixFetchOps) => {
*
* @param url The URL to fetch from.
* @param args Fetch options.
+ * @param opts Optionally configure mixFetch when it gets created. This only happens once, the first time it gets used.
*/
-export const mixFetch: IMixFetchFn = async (url, args) => {
+export const mixFetch: IMixFetchFn = async (url, args, opts?: SetupMixFetchOps) => {
// ensure mixFetch instance exists
- const instance = await createMixFetch();
+ const instance = await createMixFetch({
+ mixFetchOverride: {
+ requestTimeoutMs: REQUEST_TIMEOUT_MILLISECONDS,
+ },
+ ...opts,
+ });
// execute user request
return instance.mixFetch(url, args);
diff --git a/sdk/typescript/packages/mix-fetch/src/types.ts b/sdk/typescript/packages/mix-fetch/src/types.ts
index 56aa56cb96..64dbab8366 100644
--- a/sdk/typescript/packages/mix-fetch/src/types.ts
+++ b/sdk/typescript/packages/mix-fetch/src/types.ts
@@ -3,7 +3,7 @@ import type { MixFetchOpts } from '@nymproject/mix-fetch-wasm';
type IMixFetchWorkerFn = (url: string, args: any) => Promise;
// export type IMixFetchFn = typeof fetch;
-export type IMixFetchFn = (url: string, args: any) => Promise;
+export type IMixFetchFn = (url: string, args: any, opts?: SetupMixFetchOps) => Promise;
export type SetupMixFetchOps = MixFetchOpts & {
responseBodyConfigMap?: ResponseBodyConfigMap;
@@ -77,8 +77,8 @@ export interface ResponseBodyConfigMap {
*/
export const ResponseBodyConfigMapDefaults: ResponseBodyConfigMap = {
uint8array: ['application/octet-stream'],
- json: ['application/json', 'text/json'],
- text: ['text/plain', /test\/plain\+.*/, 'text/html', /test\/html\+.*/],
+ json: ['application/json', 'text/json', /application\/json.*/, /text\/json\+.*/],
+ text: ['text/plain', /text\/plain.*/, 'text/html', /text\/html.*/],
formData: ['application/x-www-form-urlencoded', 'multipart/form-data'],
blob: [/image\/.*/, /video\/.*/],
fallback: 'blob',
diff --git a/sdk/typescript/packages/mix-fetch/src/worker/handle-response-mime-types.test.ts b/sdk/typescript/packages/mix-fetch/src/worker/handle-response-mime-types.test.ts
index 68c96e4999..eb29ae5bba 100644
--- a/sdk/typescript/packages/mix-fetch/src/worker/handle-response-mime-types.test.ts
+++ b/sdk/typescript/packages/mix-fetch/src/worker/handle-response-mime-types.test.ts
@@ -13,6 +13,27 @@ describe('handleResponseMimeTypes', () => {
);
expect(resp.text).toBe(TEXT);
});
+ test('handles text (charset=utf-8)', async () => {
+ const TEXT = 'This is text';
+ const resp = await handleResponseMimeTypes(
+ new Response(TEXT, { headers: new Headers([['Content-Type', 'text/plain; charset=utf-8']]) }),
+ );
+ expect(resp.text).toBe(TEXT);
+ });
+ test('handles html', async () => {
+ const TEXT = 'This is html';
+ const resp = await handleResponseMimeTypes(
+ new Response(TEXT, { headers: new Headers([['Content-Type', 'text/html']]) }),
+ );
+ expect(resp.text).toBe(TEXT);
+ });
+ test('handles html (charset=utf-8)', async () => {
+ const TEXT = 'This is html';
+ const resp = await handleResponseMimeTypes(
+ new Response(TEXT, { headers: new Headers([['Content-Type', 'text/html; charset=utf-8']]) }),
+ );
+ expect(resp.text).toBe(TEXT);
+ });
test('handles images', async () => {
const DATA = new Uint8Array([0, 1, 2, 3]).buffer;
const resp = await handleResponseMimeTypes(
@@ -42,4 +63,11 @@ describe('handleResponseMimeTypes', () => {
);
expect(resp.text).toBe(json);
});
+ test('handles JSON data (charset=utf-8)', async () => {
+ const json = '{ "foo": "bar", "baz": 42 }';
+ const resp = await handleResponseMimeTypes(
+ new Response(json, { headers: new Headers([['Content-Type', 'application/json; charset=utf-8']]) }),
+ );
+ expect(resp.text).toBe(json);
+ });
});
diff --git a/sdk/typescript/packages/node-tester/package.json b/sdk/typescript/packages/node-tester/package.json
index 33ab25cbbf..4c0911ac64 100644
--- a/sdk/typescript/packages/node-tester/package.json
+++ b/sdk/typescript/packages/node-tester/package.json
@@ -1,6 +1,6 @@
{
"name": "@nymproject/node-tester",
- "version": "1.2.0-rc.2",
+ "version": "1.2.0-rc.5",
"description": "This package provides a tester that can send test packets to mixnode that is part of the Nym Mixnet.",
"license": "Apache-2.0",
"author": "Nym Technologies SA",
diff --git a/sdk/typescript/packages/nodejs-client/.eslintrc.json b/sdk/typescript/packages/nodejs-client/.eslintrc.json
new file mode 100644
index 0000000000..83e95d88a7
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/.eslintrc.json
@@ -0,0 +1,5 @@
+{
+ "parserOptions": {
+ "project": "./tsconfig.eslint.json"
+ }
+}
diff --git a/sdk/typescript/packages/nodejs-client/package.json b/sdk/typescript/packages/nodejs-client/package.json
new file mode 100644
index 0000000000..dcd5ecd3cc
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/package.json
@@ -0,0 +1,80 @@
+{
+ "name": "@nymproject/nodejs-client",
+ "version": "1.2.0-rc.5",
+ "license": "Apache-2.0",
+ "author": "Nym Technologies SA",
+ "files": [
+ "dist/**/*"
+ ],
+ "main": "dist/index.mjs",
+ "scripts": {
+ "build": "scripts/build-prod.sh",
+ "build:dev": "scripts/build.sh",
+ "build:dev:esm": "scripts/build-dev-esm.sh",
+ "build:worker": "rollup -c rollup-worker.config.mjs",
+ "clean": "rimraf dist",
+ "docs:dev": "run-p docs:watch docs:serve ",
+ "docs:generate": "typedoc",
+ "docs:generate:prod": "typedoc --basePath ./docs/tsdoc/nymproject/sdk/",
+ "docs:prod:build": "scripts/build-prod-docs-collect.sh",
+ "docs:serve": "reload -b -d ./docs -p 3000",
+ "docs:watch": "nodemon --ext ts --watch './src/**/*' --watch './typedoc.json' --exec \"yarn docs:generate\"",
+ "lint": "eslint src",
+ "lint:fix": "eslint src --fix",
+ "start": "tsc -w",
+ "start:dev": "nodemon --watch src -e ts,json --exec 'yarn build:dev:esm'",
+ "test": "node --experimental-vm-modules --no-warnings node_modules/jest/bin/jest.js -c=jest.config.mjs --no-cache",
+ "tsc": "tsc --noEmit true"
+ },
+ "dependencies": {
+ "@nymproject/nym-client-wasm-node": ">=1.2.0-rc.5 || ^1",
+ "comlink": "^4.3.1"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.15.0",
+ "@babel/plugin-transform-async-to-generator": "^7.14.5",
+ "@babel/preset-env": "^7.15.0",
+ "@babel/preset-react": "^7.14.5",
+ "@babel/preset-typescript": "^7.15.0",
+ "@nymproject/eslint-config-react-typescript": "^1.0.0",
+ "@rollup/plugin-commonjs": "^24.0.1",
+ "@rollup/plugin-inject": "^5.0.3",
+ "@rollup/plugin-json": "^6.0.0",
+ "@rollup/plugin-node-resolve": "^15.0.1",
+ "@rollup/plugin-replace": "^5.0.2",
+ "@rollup/plugin-terser": "^0.2.1",
+ "@rollup/plugin-typescript": "^10.0.1",
+ "@rollup/plugin-url": "^8.0.1",
+ "@rollup/plugin-wasm": "^6.1.1",
+ "@types/jest": "^27.0.1",
+ "@types/node": "^16.7.13",
+ "@typescript-eslint/eslint-plugin": "^5.13.0",
+ "@typescript-eslint/parser": "^5.13.0",
+ "eslint": "^8.10.0",
+ "eslint-config-airbnb": "^19.0.4",
+ "eslint-config-airbnb-typescript": "^16.1.0",
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-import-resolver-root-import": "^1.0.4",
+ "eslint-plugin-import": "^2.25.4",
+ "eslint-plugin-jest": "^26.1.1",
+ "eslint-plugin-jsx-a11y": "^6.5.1",
+ "eslint-plugin-prettier": "^4.0.0",
+ "eslint-plugin-react": "^7.29.2",
+ "eslint-plugin-react-hooks": "^4.3.0",
+ "handlebars": "^4.7.8",
+ "jest": "^29.5.0",
+ "nodemon": "3.0.1",
+ "reload": "^3.2.1",
+ "rimraf": "^3.0.2",
+ "rollup": "^3.9.1",
+ "rollup-plugin-base64": "^1.0.1",
+ "rollup-plugin-web-worker-loader": "^1.6.1",
+ "ts-jest": "^29.1.0",
+ "ts-loader": "^9.4.2",
+ "typedoc": "^0.24.8",
+ "typescript": "^4.8.4"
+ },
+ "private": false,
+ "type": "module",
+ "types": "./dist/index.d.ts"
+}
diff --git a/sdk/typescript/packages/nodejs-client/scripts/build-prod-docs-collect.sh b/sdk/typescript/packages/nodejs-client/scripts/build-prod-docs-collect.sh
new file mode 100755
index 0000000000..9cd137bcde
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/scripts/build-prod-docs-collect.sh
@@ -0,0 +1,17 @@
+#!/usr/bin/env bash
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+rm -rf ../../../../dist/ts/docs/tsdoc/nymproject/sdk || true
+
+# run the build
+yarn docs:generate:prod
+
+# move the output outside of the yarn/npm workspaces
+mkdir -p ../../../../dist/ts/docs/tsdoc/nymproject
+mv docs ../../../../dist/ts/docs/tsdoc/nymproject/sdk
+
+echo "Output can be found in:"
+realpath ../../../../dist/ts/docs/tsdoc/nymproject/sdk
diff --git a/sdk/typescript/packages/nodejs-client/src/index.ts b/sdk/typescript/packages/nodejs-client/src/index.ts
new file mode 100644
index 0000000000..e124b7136c
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/src/index.ts
@@ -0,0 +1,131 @@
+import * as Comlink from 'comlink';
+import InlineWasmWebWorker from 'web-worker:./worker';
+import {
+ BinaryMessageReceivedEvent,
+ ConnectedEvent,
+ EventKinds,
+ IWebWorker,
+ Client,
+ Events,
+ LoadedEvent,
+ MimeTypes,
+ RawMessageReceivedEvent,
+ StringMessageReceivedEvent,
+} from './types';
+import { createSubscriptions } from './subscriptions';
+
+/**
+ * Options for the Nym mixnet client.
+ * @property autoConvertStringMimeTypes - An array of mime types.
+ * @example
+ * ```typescript
+ * const client = await createNymMixnetClient({
+ * autoConvertStringMimeTypes: [MimeTypes.ApplicationJson, MimeTypes.TextPlain],
+ * });
+ * ```
+ */
+
+export interface NymMixnetClientOptions {
+ autoConvertStringMimeTypes?: string[] | MimeTypes[];
+}
+
+/**
+ * The client for the Nym mixnet which gives access to client methods and event subscriptions.
+ * Returned by the {@link createNymMixnetClient} function.
+ *
+ */
+export interface NymMixnetClient {
+ client: Client;
+ events: Events;
+}
+
+/**
+ * Create a client to send and receive traffic from the Nym mixnet.
+ * @required
+ * @returns
+ * @example
+ * ```typescript
+ * const client = await createNymMixnetClient();
+ * ```
+ */
+export const createNymMixnetClient = async (options?: NymMixnetClientOptions): Promise => {
+ // create a web worker that runs the WASM client on another thread and wait until it signals that it is ready
+ // eslint-disable-next-line @typescript-eslint/no-use-before-define
+ const worker = await createWorker();
+
+ const subscriptions = createSubscriptions();
+ const { getSubscriptions, addSubscription } = subscriptions;
+
+ // listen to messages from the worker, parse them and let the subscribers handle them, catching any unhandled exceptions
+ worker.addEventListener('message', (msg) => {
+ if (msg.data && msg.data.kind) {
+ const subscribers = getSubscriptions(msg.data.kind);
+ (subscribers || []).forEach((s) => {
+ try {
+ // let the subscriber handle the message
+ s(msg.data);
+ } catch (e) {
+ // eslint-disable-next-line no-console
+ console.error('Unhandled error in event handler', msg.data, e);
+ }
+ });
+ }
+ });
+
+ // manage the subscribers, returning self-unsubscribe methods
+ const events: Events = {
+ subscribeToConnected: (handler) => addSubscription(EventKinds.Connected, handler),
+ subscribeToLoaded: (handler) => addSubscription(EventKinds.Loaded, handler),
+ subscribeToTextMessageReceivedEvent: (handler) =>
+ addSubscription(EventKinds.StringMessageReceived, handler),
+ subscribeToBinaryMessageReceivedEvent: (handler) =>
+ addSubscription(EventKinds.BinaryMessageReceived, handler),
+ subscribeToRawMessageReceivedEvent: (handler) =>
+ addSubscription(EventKinds.RawMessageReceived, handler),
+ };
+
+ // let comlink handle interop with the web worker
+ const client: Client = Comlink.wrap(worker);
+
+ // set any options
+ if (options?.autoConvertStringMimeTypes) {
+ await client.setTextMimeTypes(options.autoConvertStringMimeTypes);
+ } else {
+ // set some sensible defaults for text mime types
+ await client.setTextMimeTypes([MimeTypes.ApplicationJson, MimeTypes.TextPlain]);
+ }
+
+ // pass the client interop and subscription manage back to the caller
+ return {
+ client,
+ events,
+ };
+};
+
+/**
+ * Async method to create a web worker that runs the Nym client on another thread. It will only return once the worker
+ * has passed back a `Loaded` event to the calling thread.
+ *
+ * @return The instance of the web worker.
+ */
+const createWorker = async () =>
+ new Promise((resolve, reject) => {
+ // rollup will inline the built worker script, so that when the SDK is used in
+ // other projects, they will not need to mess around trying to bundle it
+ // however, it will make this SDK bundle bigger because of Base64 inline data
+ const worker = new InlineWasmWebWorker();
+
+ worker.addEventListener('error', reject);
+ worker.addEventListener(
+ 'message',
+ (msg) => {
+ worker.removeEventListener('error', reject);
+ if (msg.data?.kind === EventKinds.Loaded) {
+ resolve(worker);
+ } else {
+ reject(msg);
+ }
+ },
+ { once: true },
+ );
+ });
diff --git a/sdk/typescript/packages/nodejs-client/src/subscriptions.ts b/sdk/typescript/packages/nodejs-client/src/subscriptions.ts
new file mode 100644
index 0000000000..d819591f8b
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/src/subscriptions.ts
@@ -0,0 +1,69 @@
+import type { EventHandlerFn } from './types';
+import { EventKinds } from './types';
+
+type ISubscriptions = {
+ [key: string]: Array>;
+};
+
+/**
+ * Creates a subscription manager.
+ */
+export const createSubscriptions = () => {
+ // stores the subscriptions for events
+ const subscriptions: ISubscriptions = {};
+
+ /**
+ * Helper method to get typed subscriptions.
+ */
+ const getSubscriptions = (key: EventKinds): Array> => {
+ if (!subscriptions[key]) {
+ subscriptions[key] = [];
+ }
+ return subscriptions[key] as Array>;
+ };
+
+ /**
+ * Remove a subscription.
+ */
+ const removeSubscription = (key: EventKinds, handler: EventHandlerFn) => {
+ if (!subscriptions[key]) {
+ subscriptions[key] = [];
+ }
+ const items: Array> = (subscriptions[key] as Array>).filter(
+ (h) => h !== handler,
+ );
+ subscriptions[key] = items;
+ };
+
+ /**
+ * Add typed subscription.
+ */
+ const addSubscription = (key: EventKinds, handler: EventHandlerFn) => {
+ getSubscriptions(key).push(handler as EventHandlerFn);
+
+ return () => {
+ removeSubscription(key, handler);
+ };
+ };
+
+ /**
+ * Fires an event.
+ */
+ const fireEvent = (key: EventKinds, event: E) => {
+ getSubscriptions(key).forEach((handler) => {
+ try {
+ handler(event);
+ } catch (e: any) {
+ console.error(`Unhandled exception in handler for ${key}: `, e);
+ }
+ });
+ };
+
+ return {
+ getSubscriptions,
+ addSubscription,
+ removeSubscription,
+ fireEvent,
+ subscriptions,
+ };
+};
diff --git a/sdk/typescript/packages/nodejs-client/src/types.ts b/sdk/typescript/packages/nodejs-client/src/types.ts
new file mode 100644
index 0000000000..c395877f76
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/src/types.ts
@@ -0,0 +1,348 @@
+import type { DebugWasm } from '@nymproject/nym-client-wasm';
+
+/**
+ *
+ * @ignore
+ * @hidden
+ * @internal
+ */
+export interface IWebWorker {
+ start: (config: NymClientConfig) => void;
+ stop: () => void;
+ selfAddress: () => string | undefined;
+ setTextMimeTypes: (mimeTypes: string[]) => void;
+ getTextMimeTypes: () => string[];
+ send: (args: { payload: Payload; recipient: string; replySurbs?: number }) => void;
+ rawSend: (args: { payload: Uint8Array; recipient: string; replySurbs?: number }) => void;
+}
+
+export interface Client {
+ /**
+ * Start the client.
+ *
+ * @example
+ *
+ * ```typescript
+ * const client = await createNymMixnetClient();
+ * await client.start({
+ * clientId: 'my-client',
+ * nymApiUrl: 'https://validator.nymtech.net/api',
+ * });
+ *
+ */
+ start: (config: NymClientConfig) => Promise;
+ /**
+ * Stop the client.
+ * @example
+ * ```typescript
+ * const client = await createNymMixnetClient();
+ * await client.start({
+ * clientId: 'my-client',
+ * nymApiUrl: 'https://validator.nymtech.net/api',
+ * });
+ * await client.stop();
+ * ```
+ */
+ stop: () => Promise;
+ /**
+ * Get the client address
+ * @example
+ * ```typescript
+ * const client = await createNymMixnetClient();
+ * await client.start({
+ * clientId: 'my-client',
+ * nymApiUrl: 'https://validator.nymtech.net/api',
+ * });
+ * const address = await client.selfAddress();
+ * ```
+ */
+ selfAddress: () => Promise;
+ /**
+ * Set the mime-types that should be used when using the {@link Client.send} method.
+ * @example
+ * ```typescript
+ * const client = await createNymMixnetClient();
+ * await client.start({
+ * clientId: 'my-client',
+ * nymApiUrl: 'https://validator.nymtech.net/api',
+ * });
+ * await client.setTextMimeTypes(['text/plain', 'application/json']);
+ * ```
+ * @param mimeTypes
+ * @see {@link MimeTypes}
+ * @see {@link Client.send}
+ * @see {@link Client.getTextMimeTypes}
+ */
+ setTextMimeTypes: (mimeTypes: string[]) => void;
+ /**
+ * Get the mime-types that are automatically converted to strings.
+ * @example
+ * ```typescript
+ * const client = await createNymMixnetClient();
+ * await client.start({
+ * clientId: 'my-client',
+ * nymApiUrl: 'https://validator.nymtech.net/api',
+ * });
+ * const mimeTypes = await client.getTextMimeTypes();
+ * ```
+ * @see {@link MimeTypes}
+ * @see {@link Payload}
+ * @see {@link Client.send}
+ * @see {@link Client.setTextMimeTypes}
+ */
+ getTextMimeTypes: () => Promise;
+ /**
+ * Send some data through the mixnet message.
+ * @example
+ * ```typescript
+ * const client = await createNymMixnetClient();
+ * await client.start({
+ * clientId: 'my-client',
+ * nymApiUrl: 'https://validator.nymtech.net/api',
+ * });
+ * await client.send({
+ * payload: 'Hello world',
+ * recipient: // recipient address,
+ * });
+ * ```
+ * @see {@link MimeTypes}
+ * @see {@link Payload}
+ */
+ send: (args: { payload: Payload; recipient: string; replySurbs?: number }) => Promise;
+ /**
+ * Send a raw payload, without any mime-type conversion.
+ * @example
+ * ```typescript
+ * const client = await createNymMixnetClient();
+ * await client.start({
+ * clientId: 'my-client',
+ * nymApiUrl: 'https://validator.nymtech.net/api',
+ * });
+ * const payload = new Uint8Array([1, 2, 3]);
+ * await client.rawSend({
+ * payload,
+ * recipient: // recipient address,
+ * });
+ * ```
+ * @see {@link MimeTypes}
+ * @see {@link Payload}
+ */
+ rawSend: (args: { payload: Uint8Array; recipient: string; replySurbs?: number }) => Promise;
+}
+
+/**
+ * The configuration passed to the {@link Client.start} method of the {@link Client}
+ */
+export interface NymClientConfig {
+ /**
+ * A human-readable id for the client.
+ */
+ clientId: string;
+
+ /**
+ * The URL of a validator API to query for the network topology.
+ */
+ nymApiUrl: string;
+
+ /**
+ * Optional. The identity key of the preferred gateway to connect to.
+ */
+ preferredGatewayIdentityKey?: string;
+
+ /**
+ * Optional. The listener websocket of the preferred gateway to connect to.
+ */
+ gatewayListener?: string;
+
+ /**
+ * Optional. Settings for the WASM client.
+ */
+ debug?: DebugWasm;
+}
+
+export interface Events {
+ /**
+ * @see {@link LoadedEvent}
+ * @example
+ * ```typescript
+ * events.subscribeToLoaded((e) => {
+ * console.log(e.args); // { loaded: true }
+ * });
+ * ```
+ */
+ subscribeToLoaded: EventHandlerSubscribeFn;
+ /**
+ * @see {@link ConnectedEvent}
+ * @example
+ * ```typescript
+ * events.subscribeConnected((e) => {
+ * console.log(e.args.address); // Client address
+ * });
+ *
+ */
+ subscribeToConnected: EventHandlerSubscribeFn;
+ /**
+ * @returns {@link EventHandlerUnsubscribeFn}
+ * @see {@link StringMessageReceivedEvent}
+ * @example
+ * ```typescript
+ * const unsubscribe = events.subscribeToTextMessageReceivedEvent((e) => {
+ * console.log(e.args.payload); // string
+ * });
+ *
+ * // Stop listening to the event
+ * unsubscribe();
+ * ```
+ */
+ subscribeToTextMessageReceivedEvent: EventHandlerSubscribeFn;
+ /**
+ * @returns {@link EventHandlerUnsubscribeFn}
+ * @see {@link BinaryMessageReceivedEvent}
+ * @example
+ * ```typescript
+ * const unsubscribe = events.subscribeToBinaryMessageReceivedEvent((e) => {
+ * console.log(e.args.payload); // Uint8Array
+ * });
+ *
+ * // Stop listening to the event
+ * unsubscribe();
+ * ```
+ */
+ subscribeToBinaryMessageReceivedEvent: EventHandlerSubscribeFn;
+ /**
+ * @returns {@link EventHandlerUnsubscribeFn}
+ * @see {@link RawMessageReceivedEvent}
+ * @example
+ * ```typescript
+ * const unsubscribe = events.subscribeToRawMessageReceivedEvent((e) => {
+ * console.log(e.args.payload); // Uint8Array
+ * });
+ *
+ * // Stop listening to the event
+ * unsubscribe();
+ * ```
+ */
+ subscribeToRawMessageReceivedEvent: EventHandlerSubscribeFn;
+}
+
+/**
+ * Enum representing various event kinds.
+ * @enum
+ */
+export enum EventKinds {
+ /**
+ * The event emitted when the nodetester is ready to be used.
+ */
+ Loaded = 'Loaded',
+
+ /**
+ * The event emitted when connection to the gateway is established.
+ */
+ Connected = 'Connected',
+
+ /**
+ * The event for when a message is received and interpreted as a string.
+ */
+ StringMessageReceived = 'StringMessageReceived',
+
+ /**
+ * The event for when a binary message is received. BinaryMessage is a type of message that contains additional metadata, such as MIME type and some headers, along with the actual payload data.
+ */
+ BinaryMessageReceived = 'BinaryMessageReceived',
+
+ /**
+ * The event for when a raw message is received. RawMessage represents the bytes that are received directly from the mixnet with no further parsing or interpretation done on them.
+ */
+ RawMessageReceived = 'RawMessageReceived',
+}
+
+export interface LoadedEvent {
+ kind: EventKinds.Loaded;
+ args: {
+ loaded: true;
+ };
+}
+
+export interface ConnectedEvent {
+ kind: EventKinds.Connected;
+ args: {
+ address?: string;
+ };
+}
+
+export interface StringMessageReceivedEvent {
+ kind: EventKinds.StringMessageReceived;
+ args: {
+ mimeType: MimeTypes;
+ payload: string;
+ payloadRaw: Uint8Array;
+ headers?: string;
+ };
+}
+export interface BinaryMessageReceivedEvent {
+ kind: EventKinds.BinaryMessageReceived;
+ args: {
+ mimeType: MimeTypes;
+ payload: Uint8Array;
+ headers?: string;
+ };
+}
+
+export interface RawMessageReceivedEvent {
+ kind: EventKinds.RawMessageReceived;
+ args: {
+ payload: Uint8Array;
+ };
+}
+
+/**
+ * Some common mime types, however, you can always just specify the mime-type as a string
+ */
+export enum MimeTypes {
+ ApplicationOctetStream = 'application/octet-stream',
+ TextPlain = 'text/plain',
+ ApplicationJson = 'application/json',
+}
+
+export interface Payload {
+ message: string | Uint8Array;
+ mimeType?: MimeTypes | string;
+ headers?: string;
+}
+
+/**
+ * @ignore
+ * @internal
+ */
+export type OnPayloadFn = (payload: Payload) => void;
+/**
+ * @ignore
+ * @internal
+ */
+export type OnRawPayloadFn = (payload: Uint8Array) => void;
+
+/**
+ * The **EventHandlerSubscribeFn** is a function that takes a callback of type {@link EventHandlerFn}
+ *
+ * @see {@link Events}
+ * @see {@link EventHandlerFn}
+ * @see {@link EventHandlerUnsubscribeFn}
+ */
+export type EventHandlerSubscribeFn = (fn: EventHandlerFn) => EventHandlerUnsubscribeFn;
+
+/**
+ * The **EventHandlerFn** is a callback function that is passed to the {@link EventHandlerSubscribeFn}
+ * @see {@link Events}
+ * @see {@link EventHandlerFn}
+ * @see {@link EventHandlerSubscribeFn}
+ */
+export type EventHandlerFn = (e: E) => void | Promise;
+
+/**
+ * The **EventHandlerUnsubscribeFn** function is returned by the {@link EventHandlerSubscribeFn}
+ * and can be used to stop listening for particular events
+ * @see {@link Events}
+ * @see {@link EventHandlerFn}
+ * @see {@link EventHandlerSubscribeFn}
+ */
+export type EventHandlerUnsubscribeFn = () => void;
diff --git a/sdk/typescript/packages/nodejs-client/src/typings/rollup-worker.d.ts b/sdk/typescript/packages/nodejs-client/src/typings/rollup-worker.d.ts
new file mode 100644
index 0000000000..ead3d9e1f4
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/src/typings/rollup-worker.d.ts
@@ -0,0 +1,4 @@
+declare module 'web-worker:*' {
+ const WorkerFactory: new () => Worker;
+ export default WorkerFactory;
+}
diff --git a/sdk/typescript/packages/nodejs-client/src/worker.ts b/sdk/typescript/packages/nodejs-client/src/worker.ts
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/sdk/typescript/packages/nodejs-client/tsconfig.eslint.json b/sdk/typescript/packages/nodejs-client/tsconfig.eslint.json
new file mode 100644
index 0000000000..f7973eb336
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/tsconfig.eslint.json
@@ -0,0 +1,19 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "noEmit": true
+ },
+ "include": [
+ ".storybook/*.js",
+ "src/**/*.js",
+ "src/**/*.jsx",
+ "src/**/*.ts",
+ "src/**/*.tsx",
+ "src/**/*.stories.*",
+ "*.mjs",
+ ],
+ "exclude": [
+ "node_modules",
+ "dist"
+ ]
+}
diff --git a/sdk/typescript/packages/nodejs-client/tsconfig.json b/sdk/typescript/packages/nodejs-client/tsconfig.json
new file mode 100644
index 0000000000..d613d363a3
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/tsconfig.json
@@ -0,0 +1,42 @@
+{
+ "compileOnSave": false,
+ "compilerOptions": {
+ "lib": [
+ "es2021",
+ "dom",
+ "dom.iterable",
+ "esnext",
+ "webworker"
+ ],
+ "outDir": "./dist/",
+ "module": "esnext",
+ "target": "esnext",
+ "allowJs": false,
+ "strict": true,
+ "moduleResolution": "node",
+ "skipLibCheck": true,
+ "skipDefaultLibCheck": true,
+ "declaration": true,
+ "baseUrl": "."
+ },
+ "include": [
+ "src/**/*.ts"
+ ],
+ "exclude": [
+ "jest.config.js",
+ "webpack.config.js",
+ "webpack.prod.js",
+ "webpack.common.js",
+ "node_modules",
+ "**/node_modules",
+ "dist",
+ "**/dist",
+ "scripts",
+ "jest",
+ "__tests__",
+ "**/__tests__",
+ "__jest__",
+ "**/__jest__",
+ "config/*",
+ ]
+}
diff --git a/sdk/typescript/packages/nodejs-client/typedoc.json b/sdk/typescript/packages/nodejs-client/typedoc.json
new file mode 100644
index 0000000000..06d3f53b2e
--- /dev/null
+++ b/sdk/typescript/packages/nodejs-client/typedoc.json
@@ -0,0 +1,32 @@
+{
+ "sort": ["kind"],
+ "entryPoints": ["./src/index.ts"],
+ "out": "./docs",
+ "exclude": ["./src/worker.ts"],
+ "kindSortOrder": [
+ "Function",
+ "Interface",
+ "TypeAlias",
+ "Reference",
+ "Project",
+ "Module",
+ "Namespace",
+ "Enum",
+ "EnumMember",
+ "Class",
+ "Constructor",
+ "Property",
+ "Variable",
+ "Accessor",
+ "Method",
+ "ObjectLiteral",
+ "Parameter",
+ "TypeParameter",
+ "TypeLiteral",
+ "CallSignature",
+ "ConstructorSignature",
+ "IndexSignature",
+ "GetSignature",
+ "SetSignature"
+ ]
+}
diff --git a/sdk/typescript/packages/sdk-react/README.md b/sdk/typescript/packages/sdk-react/README.md
index ebc7451f0f..5a9a9403a6 100644
--- a/sdk/typescript/packages/sdk-react/README.md
+++ b/sdk/typescript/packages/sdk-react/README.md
@@ -3,5 +3,107 @@
This package provides useful React components to interact with the Nym Mixnet:
- a provider and hook to send messages over the Mixnet
+
+## Install
+
+
+Install this package in your project:
+
+```
+npm install @nymproject/sdk-react
+```
+
+Install the SDK:
+
+```
+npm install @nymproject/sdk
+```
+
+If you need to use one of the other variants you will need to use the following for NPM in `package.json` (remember to set the exact version):
+
+```json
+{
+ "overrides": {
+ "@nymproject/sdk": {
+ "@nymproject/sdk-full-fat": "1"
+ }
+ }
+ }
+```
+
+For `yarn` the syntax is slightly different (again in package.json):
+
+```json
+{
+ "resolutions": {
+ "@nymproject/sdk-full-fat": "1"
+ }
+}
+```
+
+## Usage
+
+Add the provider near the top of your React app:
+
+```jsx
+import { MixnetContextProvider } from '@nymproject/sdk-react';
+
+export const App = () => (
+
+
+
+);
+```
+
+And then use the hook in your components:
+
+```tsx
+import { useMixnetContext } from '@nymproject/sdk-react';
+import type { EventHandlerFn, StringMessageReceivedEvent } from '@nymproject/sdk';
+
+export const SomeComponent = () => {
+ const { isReady, address, sendTextMessage, events } = useMixnetContext();
+
+ const handleMessage = React.useCallback>((e) => {
+ console.log('Received message: ', e.args.payload);
+ }, []);
+
+ // when the context is ready, register some events
+ React.useEffect(() => {
+ if (!events || !isReady) {
+ return undefined;
+ }
+
+ // subscribe and get the unsubscribe function
+ const unsubscribeFn = events.subscribeToTextMessageReceivedEvent(handleMessage);
+
+ // when unmounting unsubscribe will be called
+ return unsubscribeFn;
+ }, [isReady]);
+
+ // send a message to yourself
+ const handleSendToSelf = async (message: string) => {
+ await sendTextMessage({ payload: message, recipient: address });
+ };
+
+ if (!isReady) {
+ return (
+
+
Nym SDK Mixnet React Context
+
Loading...
+
+ );
+ }
+
+ return (
+
+ );
+}
+```
+
+## Coming Soon
+
+In future releases of this package you will be able to use:
+
- a provider and hook to manage Coconut credentials
- a provider and hook to sign and broadcast messages to send to the Nyx blockchain RPC nodes
diff --git a/sdk/typescript/packages/sdk-react/package.json b/sdk/typescript/packages/sdk-react/package.json
index 4dcad819d5..9d6d1cf814 100644
--- a/sdk/typescript/packages/sdk-react/package.json
+++ b/sdk/typescript/packages/sdk-react/package.json
@@ -1,6 +1,6 @@
{
"name": "@nymproject/sdk-react",
- "version": "1.2.0-rc.2",
+ "version": "1.2.0-rc.5",
"license": "Apache-2.0",
"author": "Nym Technologies SA",
"files": [
@@ -8,7 +8,8 @@
],
"browser": "dist/index.js",
"scripts": {
- "build": "tsc --noEmit false",
+ "build:old": "./scripts/build.sh",
+ "build:tsc": "tsc --noEmit false",
"clean": "rimraf dist",
"lint": "eslint src",
"lint:fix": "eslint src --fix",
@@ -19,7 +20,7 @@
"tsc": "tsc --noEmit true"
},
"dependencies": {
- "@nymproject/sdk": ">=1.2.0-rc.1 || ^1"
+ "@nymproject/sdk": ">=1.2.0-rc.2 || ^1"
},
"devDependencies": {
"@babel/core": "^7.17.5",
@@ -66,4 +67,4 @@
"private": false,
"type": "module",
"types": "./dist/index.d.ts"
-}
+}
\ No newline at end of file
diff --git a/sdk/typescript/packages/sdk-react/scripts/build.sh b/sdk/typescript/packages/sdk-react/scripts/build.sh
new file mode 100755
index 0000000000..1cedb1fc94
--- /dev/null
+++ b/sdk/typescript/packages/sdk-react/scripts/build.sh
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+
+set -o errexit
+set -o nounset
+set -o pipefail
+
+rm -rf dist || true
+
+# build
+yarn build:tsc
+
+# add README and prod package.json
+node scripts/buildPackageJson.mjs
+cp README.md dist
+
+# move the output outside of the yarn/npm workspaces
+mkdir -p ../../../../dist/ts/sdk-react
+mv dist ../../../../dist/ts/sdk-react
+mv ../../../../dist/ts/sdk-react/dist ../../../../dist/ts/sdk/sdk-react
+
+echo "Output can be found in:"
+realpath ../../../../dist/ts/sdk/sdk-react
+
diff --git a/sdk/typescript/packages/sdk-react/scripts/buildPackageJson.mjs b/sdk/typescript/packages/sdk-react/scripts/buildPackageJson.mjs
new file mode 100644
index 0000000000..fbb63c8e23
--- /dev/null
+++ b/sdk/typescript/packages/sdk-react/scripts/buildPackageJson.mjs
@@ -0,0 +1,24 @@
+import * as fs from 'fs';
+
+// parse the package.json from the SDK, so we can keep fields like the name and version
+const json = JSON.parse(fs.readFileSync('package.json').toString());
+
+// defaults (NB: these are in the output file locations)
+const browser = 'index.js';
+const main = 'index.js';
+const types = 'index.d.ts';
+
+const getPackageJson = () => ({
+ name: json.name,
+ version: json.version,
+ license: json.license,
+ author: json.author,
+ type,
+ browser,
+ main,
+ types,
+ peerDependencies: json.dependencies,
+});
+
+fs.writeFileSync('dist/package.json', JSON.stringify(getPackageJson(), null, 2));
+
diff --git a/sdk/typescript/packages/sdk-react/src/context/mixnet.tsx b/sdk/typescript/packages/sdk-react/src/context/mixnet.tsx
index 509e5893f7..dec3d8a2b8 100644
--- a/sdk/typescript/packages/sdk-react/src/context/mixnet.tsx
+++ b/sdk/typescript/packages/sdk-react/src/context/mixnet.tsx
@@ -52,7 +52,7 @@ export const MixnetContextProvider: FCWithChildren<{
(async () => {
nym.current = await createNymMixnetClient();
if (nym.current?.events) {
- nym.current.events.subscribeToConnected((e) => {
+ nym.current.events.subscribeToConnected((e: any) => {
setAddress(e.args.address);
setReady(true);
});
@@ -64,11 +64,16 @@ export const MixnetContextProvider: FCWithChildren<{
nymApiUrl,
preferredGatewayIdentityKey,
})
- .catch((e) => console.error('Failed to start client', e));
+ .catch((e: any) => console.error('Failed to start client', e));
}
})();
- //
+ // on unmount stop the client
+ return () => {
+ if (nym.current) {
+ nym.current.client.stop();
+ }
+ };
}, []);
const sendTextMessage = async (args: { payload: string; recipient: string }) => {
diff --git a/sdk/typescript/packages/sdk/README-CommonJS-full-fat.md b/sdk/typescript/packages/sdk/README-CommonJS-full-fat.md
index 8d5582a164..4b3327d7cb 100644
--- a/sdk/typescript/packages/sdk/README-CommonJS-full-fat.md
+++ b/sdk/typescript/packages/sdk/README-CommonJS-full-fat.md
@@ -1,14 +1,9 @@
-# Nym SDK (Typescript) CommonJS and ES5
+# Nym SDK (Typescript) CommonJS and ES5 - 🥛🥛🥛 Full Fat
-```
-⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠
-⚠ WARNING: ES5 & CommonJS with inline blobs ⚠
-⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠
-```
+#### ⚠ WARNING: ES5 & CommonJS with inline blobs ⚠
+#### Please note: this is a CommonJS package targeting ES5. Use this for older projects or when you have bundling issues. It includes inline blobs that will interfere with CSPs that disallow them.
-### Please note: this is a CommonJS package targeting ES5. Use this for older projects or when you have bundling issues. It includes inline blobs that will interfere with CSPs that disallow them.
-
-If you are looking for an ESM version please use https://www.npmjs.com/package/@nymproject/sdk.
+{{>variants}}
----------------------------
@@ -24,8 +19,8 @@ npm install @nymproject/sdk-commonjs
Open a connection to a Gateway on the Nym Mixnet:
-```ts
-import { createNymMixnetClient } from '@nymproject/sdk-commonjs';
+```js
+const { createNymMixnetClient } = require('@nymproject/sdk-commonjs');
const main = async () => {
const nym = await createNymMixnetClient();
diff --git a/sdk/typescript/packages/sdk/README-CommonJS.md b/sdk/typescript/packages/sdk/README-CommonJS.md
index a8282888f3..6f0d452a40 100644
--- a/sdk/typescript/packages/sdk/README-CommonJS.md
+++ b/sdk/typescript/packages/sdk/README-CommonJS.md
@@ -1,14 +1,9 @@
# Nym SDK (Typescript) CommonJS and ES5
-```
-⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠
-⚠ WARNING: ES5 & CommonJS ⚠
-⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠
-```
+#### ⚠ WARNING: ES5 & CommonJS that requires bundling ⚠
+#### Please note: this is a CommonJS package targeting ES5. Use this for older projects that can't process `import` syntax. You will need to handle bundling of the web-workers and WASM.
-### Please note: this is a CommonJS package targeting ES5. Use this for older projects or when you have bundling issues
-
-If you are looking for an ESM version please use https://www.npmjs.com/package/@nymproject/sdk.
+{{>variants}}
----------------------------
@@ -24,8 +19,8 @@ npm install @nymproject/sdk-commonjs
Open a connection to a Gateway on the Nym Mixnet:
-```ts
-import { createNymMixnetClient } from '@nymproject/sdk-commonjs';
+```js
+const { createNymMixnetClient } = require('@nymproject/sdk-commonjs');
const main = async () => {
const nym = await createNymMixnetClient();
diff --git a/sdk/typescript/packages/sdk/README-full-fat.md b/sdk/typescript/packages/sdk/README-full-fat.md
index 5abd214313..f72a198d1c 100644
--- a/sdk/typescript/packages/sdk/README-full-fat.md
+++ b/sdk/typescript/packages/sdk/README-full-fat.md
@@ -1,19 +1,12 @@
-# Nym SDK (Typescript)
+# Nym SDK (Typescript) - 🥛🥛🥛 Full Fat
-```
-⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠
-⚠ WARNING: ESM with inline blobs ⚠
-⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠⚠
-```
+#### ⚠ WARNING: ESM with inline blobs ⚠
+#### Please note: this is an ESM package targeting ES6. Use this when you have bundling issues. It includes inline blobs that will interfere with CSPs that disallow them.
-### Please note: this is a CommonJS package targeting ES5. Use this for older projects or when you have bundling issues. It includes inline blobs that will interfere with CSPs that disallow them.
-
-If you are looking for an ESM version please use https://www.npmjs.com/package/@nymproject/sdk.
+{{>variants}}
----------------------------
-The Nym SDK for Typescript will get you creating apps that can use the Nym Mixnet and Coconut credentials quickly.
-
## TL;DR
Include the SDK in your project:
diff --git a/sdk/typescript/packages/sdk/README.md b/sdk/typescript/packages/sdk/README.md
index be82e53a84..86406633b5 100644
--- a/sdk/typescript/packages/sdk/README.md
+++ b/sdk/typescript/packages/sdk/README.md
@@ -48,3 +48,5 @@ Send a message to another user (you will need to know their address at a Gateway
const recipient = '<< RECIPIENT ADDRESS GOES HERE >>';
await nym.client.send({ payload, recipient });
```
+
+{{>variants}}
diff --git a/sdk/typescript/packages/sdk/package.json b/sdk/typescript/packages/sdk/package.json
index b6aa91c84b..7d634b30cb 100644
--- a/sdk/typescript/packages/sdk/package.json
+++ b/sdk/typescript/packages/sdk/package.json
@@ -1,6 +1,6 @@
{
"name": "@nymproject/sdk",
- "version": "1.2.0-rc.2",
+ "version": "1.2.0-rc.5",
"license": "Apache-2.0",
"author": "Nym Technologies SA",
"files": [
@@ -64,6 +64,7 @@
"eslint-plugin-prettier": "^4.0.0",
"eslint-plugin-react": "^7.29.2",
"eslint-plugin-react-hooks": "^4.3.0",
+ "handlebars": "^4.7.8",
"jest": "^29.5.0",
"nodemon": "3.0.1",
"reload": "^3.2.1",
@@ -79,4 +80,4 @@
"private": false,
"type": "module",
"types": "./dist/esm/index.d.ts"
-}
+}
\ No newline at end of file
diff --git a/sdk/typescript/packages/sdk/partials/variants.md b/sdk/typescript/packages/sdk/partials/variants.md
new file mode 100644
index 0000000000..ff4c1173f3
--- /dev/null
+++ b/sdk/typescript/packages/sdk/partials/variants.md
@@ -0,0 +1,23 @@
+## Find the right package for you
+
+Browsers:
+- **`ESM` 🥛** - [@nymproject/sdk](https://www.npmjs.com/package/@nymproject/sdk), not bundled, use `import` syntax, you will need to bundle it
+- **`ESM` 🥛🥛🥛** - [@nymproject/sdk-full-fat](https://www.npmjs.com/package/@nymproject/sdk-full-fat), use `import` syntax, pre-bundled with inlined workers and WASM bundles
+- **`CJS` 🥛** - [@nymproject/sdk](https://www.npmjs.com/package/@nymproject/sdk-commonjs), targets ES5, not bundled, you will need to bundle it
+- **`CJS` 🥛🥛🥛** - [@nymproject/sdk-full-fat](https://www.npmjs.com/package/@nymproject/sdk-commonjs-full-fat), targets ES5, pre-bundled with inlined workers and WASM bundles
+
+NodeJS:
+- **`ESM`** - [@nymproject/sdk-nodejs](https://www.npmjs.com/package/@nymproject/sdk-nodejs), use `import` syntax in NodeJS 18 and later
+- **`CJS`** - [@nymproject/sdk-nodejs-cjs](https://www.npmjs.com/package/@nymproject/sdk-nodejs-cjs), use `require` syntax in older NodeJS versions
+
+Why have all these variations? Each project is different, so hopefully we have something for you!
+
+Choose a package depending on how your project is transpiled and packaged:
+
+- `ESM`: use `import` syntax and have your bundler copy the WASM bundles into your output distribution
+- `CJS`: you have an older project that needs ES5 Javascript
+- `nodejs`: you want to write your project server-side or locally without the browser on NodeJS
+
+And then, to use `*-full-fat` or not, how do I choose? We have `*-full-fat` packages that are pre-bundled by including all web-workers and WASM as inline Base64.
+
+Use the `*-full-fat` packages when you have trouble changing your bundler settings, or you can use an open CSP.
diff --git a/sdk/typescript/packages/sdk/scripts/build.sh b/sdk/typescript/packages/sdk/scripts/build.sh
index bde7b47bdc..97e6571bbf 100755
--- a/sdk/typescript/packages/sdk/scripts/build.sh
+++ b/sdk/typescript/packages/sdk/scripts/build.sh
@@ -55,10 +55,12 @@ rollup -c rollup-cjs-full-fat.config.mjs
# CLEAN UP
#-------------------------------------------------------
+rm -rf dist/worker
+
# copy README
-cp README.md dist/esm
-cp README-CommonJS.md dist/cjs/README.md
-cp README-full-fat.md dist/esm-full-fat
-cp README-CommonJS-full-fat.md dist/cjs-full-fat/README.md
+node scripts/hbs.mjs README.md ./dist/esm/README.md
+node scripts/hbs.mjs README-CommonJS.md ./dist/cjs/README.md
+node scripts/hbs.mjs README-full-fat.md ./dist/esm-full-fat/README.md
+node scripts/hbs.mjs README-CommonJS-full-fat.md ./dist/cjs-full-fat/README.md
diff --git a/sdk/typescript/packages/sdk/scripts/hbs.mjs b/sdk/typescript/packages/sdk/scripts/hbs.mjs
new file mode 100644
index 0000000000..275a79d468
--- /dev/null
+++ b/sdk/typescript/packages/sdk/scripts/hbs.mjs
@@ -0,0 +1,23 @@
+import Handlebars from "handlebars";
+import fs from 'fs';
+import path from 'path';
+import glob from 'glob';
+
+const filename = process.argv[2];
+const outputFilename = process.argv[3];
+console.log(`Processing file ${filename} as ${outputFilename}...`);
+const template = Handlebars.compile(fs.readFileSync(filename).toString());
+
+glob.sync('./partials/*.md').forEach(g => {
+ const key = path.parse(g).name;
+ console.log(`Registering partial ${g} as ${key}...`);
+ Handlebars.registerPartial(key, fs.readFileSync(g).toString());
+});
+
+console.log('Done');
+console.log();
+
+const output = template({});
+
+console.log(fs.writeFileSync(outputFilename, output));
+
diff --git a/sdk/typescript/packages/validator-client/package.json b/sdk/typescript/packages/validator-client/package.json
index 2f3eb4e02e..c6c2e3e778 100644
--- a/sdk/typescript/packages/validator-client/package.json
+++ b/sdk/typescript/packages/validator-client/package.json
@@ -1,6 +1,6 @@
{
"name": "@nymproject/nym-validator-client",
- "version": "1.2.0-rc.2",
+ "version": "1.2.0-rc.5",
"description": "A TypeScript client for interacting with smart contracts in Nym validators",
"license": "Apache-2.0",
"author": "Nym Technologies SA (https://nymtech.net)",
diff --git a/sdk/typescript/scripts/publish.sh b/sdk/typescript/scripts/publish.sh
index d6eaeb6a84..ed6b308f09 100755
--- a/sdk/typescript/scripts/publish.sh
+++ b/sdk/typescript/scripts/publish.sh
@@ -10,17 +10,43 @@ set -o pipefail
cd dist
+#packages=(
+#chat-app/parcel
+#chat-app/plain-html
+#chat-app/react-webpack-with-theme-example
+#chrome-extension
+#firefox-extension
+#node-tester/parcel
+#node-tester/plain-html
+#node-tester/react
+#react/mui-theme
+#react/sdk-react
+#)
packages=(
-chat-app/parcel
-chat-app/plain-html
-chat-app/react-webpack-with-theme-example
-chrome-extension
-firefox-extension
-node-tester/parcel
-node-tester/plain-html
-node-tester/react
-react/mui-theme
-react/sdk-react
+"wasm/client"
+"wasm/mix-fetch"
+"wasm/node-tester"
+"wasm/extension-storage"
+
+"node/wasm/client"
+"node/wasm/mix-fetch"
+
+"ts/sdk/mix-fetch/cjs"
+"ts/sdk/mix-fetch/cjs-full-fat"
+"ts/sdk/mix-fetch/esm"
+"ts/sdk/mix-fetch/esm-full-fat"
+
+"ts/sdk/node-tester/cjs"
+"ts/sdk/node-tester/cjs-full-fat"
+"ts/sdk/node-tester/esm"
+"ts/sdk/node-tester/esm-full-fat"
+
+"ts/sdk/sdk/cjs"
+"ts/sdk/sdk/cjs-full-fat"
+"ts/sdk/sdk/esm"
+"ts/sdk/sdk/esm-full-fat"
+
+"ts/sdk/contract-clients"
)
pushd () {
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/.gitignore b/sdk/typescript/tests/integration-tests/mix-fetch/.gitignore
new file mode 100644
index 0000000000..86d4c2dd38
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/.gitignore
@@ -0,0 +1 @@
+generated
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/generate-tests.mjs b/sdk/typescript/tests/integration-tests/mix-fetch/generate-tests.mjs
new file mode 100644
index 0000000000..40efab76cb
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/generate-tests.mjs
@@ -0,0 +1,188 @@
+/* eslint-disable no-await-in-loop,no-restricted-syntax */
+import fs from 'fs';
+import path from 'path';
+import child_process from 'child_process';
+import http from 'http';
+import handler from 'serve-handler';
+import { runTests } from './tests/tests.mjs';
+
+const GENERATED_DIR = 'generated';
+const OUTPUT_DIR = `${GENERATED_DIR}/packages`;
+const BASE_DIST_PATH = '../../../../../dist/ts/sdk/mix-fetch';
+const packages = ['cjs', 'cjs-full-fat', 'esm', 'esm-full-fat'];
+
+const doBuild = true;
+const logTests = true;
+
+// disabling deleting to preserve node_modules
+// fs.rmSync(OUTPUT_DIR, { recursive: true, force: true });
+
+fs.mkdirSync(OUTPUT_DIR, { recursive: true });
+
+async function serve(publicDir) {
+ const server = http.createServer((request, response) =>
+ // see https://github.com/vercel/serve-handler#options for more options
+ handler(request, response, { public: publicDir }),
+ );
+
+ server.listen(3000, () => {
+ console.log(` 🌈 Running at http://localhost:3000, serving ${publicDir}...`);
+ });
+
+ return server;
+}
+function changeFileLocation(packageJsonPath, dependencyPath, kind) {
+ const packageJson = JSON.parse(fs.readFileSync(packageJsonPath).toString());
+ packageJson.name = `${packageJson.name}-${kind}`;
+ delete packageJson.dependencies['@nymproject/mix-fetch'];
+ packageJson.dependencies[`@nymproject/mix-fetch${kind}`] = `file:${dependencyPath}`;
+ fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
+}
+
+console.log('🚚 Copying workspace...');
+fs.cpSync('template/workspace/package.json', path.resolve(`${GENERATED_DIR}/package.json`));
+
+packages.forEach((p) => {
+ const dir = `${OUTPUT_DIR}/${p}`;
+ if (doBuild) {
+ fs.rmSync(dir, { recursive: true, force: true });
+ }
+ console.log(`🚚 Creating ${dir}...`);
+
+ let kind = p.startsWith('cjs') ? '-commonjs' : '';
+ if (p.endsWith('-full-fat')) {
+ kind += '-full-fat';
+ }
+
+ const importScript = '';
+ const importStatement = `import { mixFetch } from '@nymproject/mix-fetch${kind}';`;
+ const pluginPackageJsonName = `@nymproject/mix-fetch${kind}`;
+
+ const src = fs.readFileSync('template/src/index.ts').toString().replace("'$IMPORT_STATEMENT';", importStatement);
+ const html = fs.readFileSync('template/src/index.html').toString().replace('', importScript);
+ const plugins = fs
+ .readFileSync('template/webpack/webpack.plugins.js')
+ .toString()
+ .replaceAll('$PACKAGE', pluginPackageJsonName);
+
+ const pluginsEmpty = 'module.exports = { plugins: [] };';
+
+ fs.cpSync('template/parcel', `${dir}/parcel`, { recursive: true });
+ fs.cpSync('template/src', `${dir}/parcel/src`, { recursive: true });
+
+ fs.cpSync('template/webpack', `${dir}/webpack`, { recursive: true });
+ fs.cpSync('template/src', `${dir}/webpack/src`, { recursive: true });
+
+ fs.writeFileSync(`${dir}/webpack/src/index.ts`, src);
+ fs.writeFileSync(`${dir}/parcel/src/index.ts`, src);
+ // fs.writeFileSync(`${dir}/webpack/src/index.html`, html);
+ fs.writeFileSync(`${dir}/parcel/src/index.html`, html);
+ fs.writeFileSync(`${dir}/webpack/webpack.plugins.js`, p.endsWith('-full-fat') ? pluginsEmpty : plugins);
+
+ changeFileLocation(`${dir}/parcel/package.json`, path.resolve(`${BASE_DIST_PATH}/${p}`), kind);
+ changeFileLocation(`${dir}/webpack/package.json`, path.resolve(`${BASE_DIST_PATH}/${p}`), kind);
+});
+
+console.log('✅ Generated\n');
+
+console.log(`🚀 Installing workspace packages in ${path.resolve(OUTPUT_DIR)}...`);
+const resultNpmInstall = child_process.spawnSync('npm', ['install'], { cwd: path.resolve(OUTPUT_DIR) });
+if (resultNpmInstall.status !== 0) {
+ console.log(resultNpmInstall.stdout.toString());
+ console.log(resultNpmInstall.stderr.toString());
+ console.log('❌ Failed to install dependencies');
+ process.exit(-1);
+}
+
+if (doBuild) {
+ packages.forEach((p) => {
+ const dir = `${OUTPUT_DIR}/${p}`;
+
+ ['parcel', 'webpack'].forEach((kind) => {
+ const project = `${dir}/${kind}`;
+ console.log(`🚀 Building ${path.resolve(project)}...`);
+
+ const result = child_process.spawnSync('npm', ['run', 'build'], { cwd: path.resolve(project) });
+
+ if (result.status !== 0) {
+ console.log(`❌ Failed to build ${project}`);
+ console.log(result.stdout.toString());
+ console.log(result.stderr.toString());
+ process.exit(-1);
+ } else {
+ console.log(
+ child_process.spawnSync('ls', ['-lah'], { cwd: `${path.resolve(project)}/dist` }).stdout.toString(),
+ );
+ }
+ });
+ });
+}
+
+console.log('✅ Built\n');
+
+console.log('👀 Testing...');
+
+const summary = [];
+let totalTimeMilliseconds = 0;
+let failures = 0;
+for (const p of packages) {
+ const dir = `${OUTPUT_DIR}/${p}`;
+
+ const kinds = [
+ 'parcel', // simple parcel project
+ 'webpack', // webpack, sometimes with the CopyPlugin to add the WASM bundles
+ ];
+ for (const kind of kinds) {
+ const project = `${dir}/${kind}`;
+ console.log(`🔎 Testing ${path.resolve(project)}...`);
+
+ const server = await serve(path.resolve(project, 'dist'));
+
+ const start = performance.now();
+ let success = false;
+ let errors = [];
+ try {
+ console.log('🚀 About to run tests...');
+ errors = await runTests(logTests);
+ if (errors.length > 0) {
+ errors.forEach((e) => console.log(e.text));
+ } else {
+ success = true;
+ }
+ } catch (e) {
+ failures += 1;
+ errors.push({ text: e.message, type: 'error' });
+ } finally {
+ server.closeAllConnections();
+ server.close();
+ }
+ const end = performance.now();
+ const duration = Math.floor(end - start);
+ totalTimeMilliseconds += duration;
+
+ if (errors.length) {
+ console.log(`❌ Tests failed for ${project} with ${errors.length} errors:`);
+ console.table(errors);
+ } else {
+ console.log('✅ OK');
+ }
+
+ summary.push({
+ variant: p,
+ bundler: kind,
+ duration: `${duration}ms`,
+ success: success ? '✅ OK' : `❌ Failed with ${errors.length} errors`,
+ errors: errors.map((e) => e.text).join('\n'),
+ });
+
+ console.log();
+ }
+}
+
+console.log();
+console.log('Summary:');
+console.table(summary);
+
+console.log();
+console.log(`Tests took ${Math.floor(totalTimeMilliseconds / 1000)} seconds to run`);
+console.log(`${failures > 0 ? `❌ Done with ${failures} errors` : '✅ Done'}`);
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/package-lock.json b/sdk/typescript/tests/integration-tests/mix-fetch/package-lock.json
new file mode 100644
index 0000000000..8659d27038
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/package-lock.json
@@ -0,0 +1,1216 @@
+{
+ "name": "mix-fetch-tests-runner",
+ "version": "1.0.0",
+ "lockfileVersion": 3,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "mix-fetch-tests-runner",
+ "version": "1.0.0",
+ "dependencies": {
+ "puppeteer": "^21.1.1",
+ "serve-handler": "^6.1.5"
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.22.13",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz",
+ "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==",
+ "dependencies": {
+ "@babel/highlight": "^7.22.13",
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.15.tgz",
+ "integrity": "sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.22.13",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.13.tgz",
+ "integrity": "sha512-C/BaXcnnvBCmHTpz/VGZ8jgtE2aYlW4hxDhseJAWZb7gqGM/qtCK6iZUb0TyKFf7BOUsBH7Q7fkRsDRhg1XklQ==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.22.5",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@puppeteer/browsers": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-1.7.0.tgz",
+ "integrity": "sha512-sl7zI0IkbQGak/+IE3VEEZab5SSOlI5F6558WvzWGC1n3+C722rfewC1ZIkcF9dsoGSsxhsONoseVlNQG4wWvQ==",
+ "dependencies": {
+ "debug": "4.3.4",
+ "extract-zip": "2.0.1",
+ "progress": "2.0.3",
+ "proxy-agent": "6.3.0",
+ "tar-fs": "3.0.4",
+ "unbzip2-stream": "1.4.3",
+ "yargs": "17.7.1"
+ },
+ "bin": {
+ "browsers": "lib/cjs/main-cli.js"
+ },
+ "engines": {
+ "node": ">=16.3.0"
+ }
+ },
+ "node_modules/@tootallnate/quickjs-emscripten": {
+ "version": "0.23.0",
+ "resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
+ "integrity": "sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA=="
+ },
+ "node_modules/@types/node": {
+ "version": "20.6.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz",
+ "integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==",
+ "optional": true
+ },
+ "node_modules/@types/yauzl": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz",
+ "integrity": "sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==",
+ "optional": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz",
+ "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==",
+ "dependencies": {
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
+ },
+ "node_modules/ast-types": {
+ "version": "0.13.4",
+ "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.13.4.tgz",
+ "integrity": "sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==",
+ "dependencies": {
+ "tslib": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/b4a": {
+ "version": "1.6.4",
+ "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz",
+ "integrity": "sha512-fpWrvyVHEKyeEvbKZTVOeZF3VSKKWtJxFIxX/jaVPf+cLbGUSitjb49pHLqPV2BUNNZ0LcoeEGfE/YCpyDYHIw=="
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
+ },
+ "node_modules/base64-js": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/basic-ftp": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/basic-ftp/-/basic-ftp-5.0.3.tgz",
+ "integrity": "sha512-QHX8HLlncOLpy54mh+k/sWIFd0ThmRqwe9ZjELybGZK+tZ8rUb9VO0saKJUROTbE+KhzDUT7xziGpGrW8Kmd+g==",
+ "engines": {
+ "node": ">=10.0.0"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/buffer": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz",
+ "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "base64-js": "^1.3.1",
+ "ieee754": "^1.1.13"
+ }
+ },
+ "node_modules/buffer-crc32": {
+ "version": "0.2.13",
+ "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz",
+ "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/bytes": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
+ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/chromium-bidi": {
+ "version": "0.4.22",
+ "resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.4.22.tgz",
+ "integrity": "sha512-wR7Y9Ioez+cNXT4ZP7VNM1HRTljpNnMSLw4/RnwhhZUP4yCU7kIQND00YiktuHekch68jklGPK1q9Jkb29+fQg==",
+ "dependencies": {
+ "mitt": "3.0.1"
+ },
+ "peerDependencies": {
+ "devtools-protocol": "*"
+ }
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
+ },
+ "node_modules/content-disposition": {
+ "version": "0.5.2",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
+ "integrity": "sha512-kRGRZw3bLlFISDBgwTSA1TMBFN6J6GWDeubmDE3AF+3+yXL8hTWv8r5rkLbqYXY4RjPk/EzHnClI3zQf1cFmHA==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/cosmiconfig": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz",
+ "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==",
+ "dependencies": {
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "parse-json": "^5.0.0",
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=14"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/d-fischer"
+ }
+ },
+ "node_modules/cross-fetch": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz",
+ "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==",
+ "dependencies": {
+ "node-fetch": "^2.6.12"
+ }
+ },
+ "node_modules/data-uri-to-buffer": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-5.0.1.tgz",
+ "integrity": "sha512-a9l6T1qqDogvvnw0nKlfZzqsyikEBZBClF39V3TFoKhDtGBqHu2HkuomJc02j5zft8zrUaXEuoicLeW54RkzPg==",
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/degenerator": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/degenerator/-/degenerator-5.0.1.tgz",
+ "integrity": "sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==",
+ "dependencies": {
+ "ast-types": "^0.13.4",
+ "escodegen": "^2.1.0",
+ "esprima": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/devtools-protocol": {
+ "version": "0.0.1159816",
+ "resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1159816.tgz",
+ "integrity": "sha512-2cZlHxC5IlgkIWe2pSDmCrDiTzbSJWywjbDDnupOImEBcG31CQgBLV8wWE+5t+C4rimcjHsbzy7CBzf9oFjboA=="
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A=="
+ },
+ "node_modules/end-of-stream": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
+ "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "dependencies": {
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/escodegen": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz",
+ "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extract-zip": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz",
+ "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==",
+ "dependencies": {
+ "debug": "^4.1.1",
+ "get-stream": "^5.1.0",
+ "yauzl": "^2.10.0"
+ },
+ "bin": {
+ "extract-zip": "cli.js"
+ },
+ "engines": {
+ "node": ">= 10.17.0"
+ },
+ "optionalDependencies": {
+ "@types/yauzl": "^2.9.1"
+ }
+ },
+ "node_modules/fast-fifo": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/fast-fifo/-/fast-fifo-1.3.2.tgz",
+ "integrity": "sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ=="
+ },
+ "node_modules/fast-url-parser": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/fast-url-parser/-/fast-url-parser-1.1.3.tgz",
+ "integrity": "sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==",
+ "dependencies": {
+ "punycode": "^1.3.2"
+ }
+ },
+ "node_modules/fd-slicer": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz",
+ "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==",
+ "dependencies": {
+ "pend": "~1.2.0"
+ }
+ },
+ "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==",
+ "dependencies": {
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^4.0.0",
+ "universalify": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=6 <7 || >=8"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz",
+ "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==",
+ "dependencies": {
+ "pump": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/get-uri": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-uri/-/get-uri-6.0.1.tgz",
+ "integrity": "sha512-7ZqONUVqaabogsYNWlYj0t3YZaL6dhuEueZXGF+/YVmf6dHmaFg8/6psJKqhx9QykIDKzpGcy2cn4oV4YC7V/Q==",
+ "dependencies": {
+ "basic-ftp": "^5.0.2",
+ "data-uri-to-buffer": "^5.0.1",
+ "debug": "^4.3.4",
+ "fs-extra": "^8.1.0"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.0.tgz",
+ "integrity": "sha512-+ZT+iBxVUQ1asugqnD6oWoRiS25AkjNfG085dKJGtGxkdwLQrMKU5wJr2bOOFAXzKcTuqq+7fZlTMgG3SRfIYQ==",
+ "dependencies": {
+ "agent-base": "^7.1.0",
+ "debug": "^4.3.4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "7.0.2",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
+ "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/ieee754": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ip": {
+ "version": "1.1.8",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.8.tgz",
+ "integrity": "sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg=="
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w=="
+ },
+ "node_modules/jsonfile": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz",
+ "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
+ "optionalDependencies": {
+ "graceful-fs": "^4.1.6"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
+ },
+ "node_modules/lru-cache": {
+ "version": "7.18.3",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
+ "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.33.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz",
+ "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.18",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz",
+ "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==",
+ "dependencies": {
+ "mime-db": "~1.33.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/mitt": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/mitt/-/mitt-3.0.1.tgz",
+ "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw=="
+ },
+ "node_modules/mkdirp-classic": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz",
+ "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A=="
+ },
+ "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=="
+ },
+ "node_modules/netmask": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/netmask/-/netmask-2.0.2.tgz",
+ "integrity": "sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==",
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/node-fetch": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
+ "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/pac-proxy-agent": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-7.0.1.tgz",
+ "integrity": "sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==",
+ "dependencies": {
+ "@tootallnate/quickjs-emscripten": "^0.23.0",
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "get-uri": "^6.0.1",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.2",
+ "pac-resolver": "^7.0.0",
+ "socks-proxy-agent": "^8.0.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/pac-resolver": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.0.tgz",
+ "integrity": "sha512-Fd9lT9vJbHYRACT8OhCbZBbxr6KRSawSovFpy8nDGshaK99S/EBhVIHp9+crhxrsZOuvLpgL1n23iyPg6Rl2hg==",
+ "dependencies": {
+ "degenerator": "^5.0.0",
+ "ip": "^1.1.8",
+ "netmask": "^2.0.2"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/path-is-inside": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz",
+ "integrity": "sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w=="
+ },
+ "node_modules/path-to-regexp": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-2.2.1.tgz",
+ "integrity": "sha512-gu9bD6Ta5bwGrrU8muHzVOBFFREpp2iRkVfhBJahwJ6p6Xw20SjT0MxLnwkjOibQmGSYhiUnf2FLe7k+jcFmGQ=="
+ },
+ "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==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/pend": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz",
+ "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
+ },
+ "node_modules/progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/proxy-agent": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/proxy-agent/-/proxy-agent-6.3.0.tgz",
+ "integrity": "sha512-0LdR757eTj/JfuU7TL2YCuAZnxWXu3tkJbg4Oq3geW/qFNT/32T0sp2HnZ9O0lMR4q3vwAt0+xCA8SR0WAD0og==",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "http-proxy-agent": "^7.0.0",
+ "https-proxy-agent": "^7.0.0",
+ "lru-cache": "^7.14.1",
+ "pac-proxy-agent": "^7.0.0",
+ "proxy-from-env": "^1.1.0",
+ "socks-proxy-agent": "^8.0.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
+ },
+ "node_modules/pump": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
+ "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "dependencies": {
+ "end-of-stream": "^1.1.0",
+ "once": "^1.3.1"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
+ "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
+ },
+ "node_modules/puppeteer": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-21.1.1.tgz",
+ "integrity": "sha512-2TLntjGA4qLrI9/8N0UK/5OoZJ2Ue7QgphN2SD+RsaHiha12AEiVyMGsB+i6LY1IoPAtEgYIjblQ7lw3kWDNRw==",
+ "hasInstallScript": true,
+ "dependencies": {
+ "@puppeteer/browsers": "1.7.0",
+ "cosmiconfig": "8.2.0",
+ "puppeteer-core": "21.1.1"
+ },
+ "engines": {
+ "node": ">=16.3.0"
+ }
+ },
+ "node_modules/puppeteer-core": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-21.1.1.tgz",
+ "integrity": "sha512-Tlcajcf44zwfa9Sbwv3T8BtaNMJ69wtpHIxwl2NOBTyTK3D1wppQovXTjfw0TDOm3a16eCfQ+5BMi3vRQ4kuAQ==",
+ "dependencies": {
+ "@puppeteer/browsers": "1.7.0",
+ "chromium-bidi": "0.4.22",
+ "cross-fetch": "4.0.0",
+ "debug": "4.3.4",
+ "devtools-protocol": "0.0.1159816",
+ "ws": "8.13.0"
+ },
+ "engines": {
+ "node": ">=16.3.0"
+ }
+ },
+ "node_modules/queue-tick": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/queue-tick/-/queue-tick-1.0.1.tgz",
+ "integrity": "sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag=="
+ },
+ "node_modules/range-parser": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz",
+ "integrity": "sha512-kA5WQoNVo4t9lNx2kQNFCxKeBl5IbbSNBl1M/tLkw9WCn+hxNBAW5Qh8gdhs63CJnhjJ2zQWFoqPJP2sK1AV5A==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/serve-handler": {
+ "version": "6.1.5",
+ "resolved": "https://registry.npmjs.org/serve-handler/-/serve-handler-6.1.5.tgz",
+ "integrity": "sha512-ijPFle6Hwe8zfmBxJdE+5fta53fdIY0lHISJvuikXB3VYFafRjMRpOffSPvCYsbKyBA7pvy9oYr/BT1O3EArlg==",
+ "dependencies": {
+ "bytes": "3.0.0",
+ "content-disposition": "0.5.2",
+ "fast-url-parser": "1.1.3",
+ "mime-types": "2.1.18",
+ "minimatch": "3.1.2",
+ "path-is-inside": "1.0.2",
+ "path-to-regexp": "2.2.1",
+ "range-parser": "1.2.0"
+ }
+ },
+ "node_modules/smart-buffer": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz",
+ "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==",
+ "engines": {
+ "node": ">= 6.0.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks": {
+ "version": "2.7.1",
+ "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz",
+ "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==",
+ "dependencies": {
+ "ip": "^2.0.0",
+ "smart-buffer": "^4.2.0"
+ },
+ "engines": {
+ "node": ">= 10.13.0",
+ "npm": ">= 3.0.0"
+ }
+ },
+ "node_modules/socks-proxy-agent": {
+ "version": "8.0.2",
+ "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz",
+ "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==",
+ "dependencies": {
+ "agent-base": "^7.0.2",
+ "debug": "^4.3.4",
+ "socks": "^2.7.1"
+ },
+ "engines": {
+ "node": ">= 14"
+ }
+ },
+ "node_modules/socks/node_modules/ip": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz",
+ "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ=="
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/streamx": {
+ "version": "2.15.1",
+ "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz",
+ "integrity": "sha512-fQMzy2O/Q47rgwErk/eGeLu/roaFWV0jVsogDmrszM9uIw8L5OA+t+V93MgYlufNptfjmYR1tOMWhei/Eh7TQA==",
+ "dependencies": {
+ "fast-fifo": "^1.1.0",
+ "queue-tick": "^1.0.1"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/tar-fs": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-3.0.4.tgz",
+ "integrity": "sha512-5AFQU8b9qLfZCX9zp2duONhPmZv0hGYiBPJsyUdqMjzq/mqVpy/rEUSeHk1+YitmxugaptgBh5oDGU3VsAJq4w==",
+ "dependencies": {
+ "mkdirp-classic": "^0.5.2",
+ "pump": "^3.0.0",
+ "tar-stream": "^3.1.5"
+ }
+ },
+ "node_modules/tar-stream": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-3.1.6.tgz",
+ "integrity": "sha512-B/UyjYwPpMBv+PaFSWAmtYjwdrlEaZQEhMIBFNC5oEG8lpiW8XjcSdmEaClj28ArfKScKHs2nshz3k2le6crsg==",
+ "dependencies": {
+ "b4a": "^1.6.4",
+ "fast-fifo": "^1.2.0",
+ "streamx": "^2.15.0"
+ }
+ },
+ "node_modules/through": {
+ "version": "2.3.8",
+ "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz",
+ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg=="
+ },
+ "node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/tslib": {
+ "version": "2.6.2",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
+ "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q=="
+ },
+ "node_modules/unbzip2-stream": {
+ "version": "1.4.3",
+ "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz",
+ "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==",
+ "dependencies": {
+ "buffer": "^5.2.1",
+ "through": "^2.3.8"
+ }
+ },
+ "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==",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
+ },
+ "node_modules/ws": {
+ "version": "8.13.0",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
+ "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": ">=5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yargs": {
+ "version": "17.7.1",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
+ "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "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==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "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==",
+ "dependencies": {
+ "buffer-crc32": "~0.2.3",
+ "fd-slicer": "~1.1.0"
+ }
+ }
+ }
+}
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/package.json b/sdk/typescript/tests/integration-tests/mix-fetch/package.json
new file mode 100644
index 0000000000..c1d3ae39df
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/package.json
@@ -0,0 +1,8 @@
+{
+ "name": "mix-fetch-tests-runner",
+ "version": "1.0.0",
+ "dependencies": {
+ "serve-handler": "^6.1.5",
+ "puppeteer": "^21.1.1"
+ }
+}
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/parcel/package.json b/sdk/typescript/tests/integration-tests/mix-fetch/template/parcel/package.json
new file mode 100644
index 0000000000..ea5e8f909a
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/parcel/package.json
@@ -0,0 +1,14 @@
+{
+ "name": "@nymproject/mix-fetch-tester-parcel",
+ "version": "1.0.0",
+ "license": "Apache-2.0",
+ "source": "src/index.html",
+ "dependencies": {
+ "@nymproject/mix-fetch": "file:../../../../../../dist/ts/sdk/mix-fetch/esm"
+ },
+ "scripts": {
+ "start": "npx parcel --no-cache",
+ "build": "npx parcel build --no-cache --no-optimize",
+ "serve": "npx serve dist"
+ }
+}
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/src/index.html b/sdk/typescript/tests/integration-tests/mix-fetch/template/src/index.html
new file mode 100644
index 0000000000..d1c190494a
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/src/index.html
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+ Internal Tester
+
+
+
+
+Internal tester
+Open dev tools to see more output and errors
+
+
+
+
+
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/src/index.ts b/sdk/typescript/tests/integration-tests/mix-fetch/template/src/index.ts
new file mode 100644
index 0000000000..fea3c689fc
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/src/index.ts
@@ -0,0 +1,59 @@
+'$IMPORT_STATEMENT';
+
+function appendOutput(value: string, id?: string) {
+ const el = document.getElementById('output') as HTMLPreElement;
+ const div = document.createElement('div');
+ if (id) {
+ div.id = id;
+ }
+ const text = document.createTextNode(`${value}\n`);
+ div.appendChild(text);
+ el.appendChild(div);
+}
+
+function appendImageOutput(url: string) {
+ const el = document.getElementById('outputImage') as HTMLPreElement;
+ const imgNode = document.createElement('img');
+ imgNode.src = url;
+ el.appendChild(imgNode);
+}
+
+/**
+ * The main entry point
+ */
+async function main() {
+ appendOutput('Tester is starting up...', 'starting');
+
+ const url = 'https://nymtech.net/.wellknown/network-requester/standard-allowed-list.txt';
+ appendOutput(`Using mixFetch to get ${url}...`);
+ const args = { mode: 'unsafe-ignore-cors' };
+
+ const resp = await mixFetch(url, args, {
+ preferredGateway: '2BuMSfMW3zpeAjKXyKLhmY4QW1DXurrtSPEJ6CjX3SEh',
+ preferredNetworkRequester:
+ 'GiRjFWrMxt58pEMuusm4yT3RxoMD1MMPrR9M2N4VWRJP.3CNZBPq4vg7v7qozjGjdPMXcvDmkbWPCgbGCjQVw9n6Z@2xU4CBE6QiiYt6EyBXSALwxkNvM7gqJfjHXaMkjiFmYW',
+ });
+ console.log({ resp });
+ const text = await resp.text();
+
+ appendOutput(JSON.stringify(resp, null, 2), 'text-output');
+ appendOutput(JSON.stringify({ text }, null, 2));
+
+ // // get an image
+ // url = 'https://nymtech.net/favicon.svg';
+ // resp = await mixFetch(url, args);
+ // console.log({ resp });
+ // const buffer = await resp.arrayBuffer();
+ // const type = resp.headers.get('Content-Type') || 'image/svg';
+ // const blobUrl = URL.createObjectURL(new Blob([buffer], { type }));
+ // appendOutput(JSON.stringify({ bufferBytes: buffer.byteLength, blobUrl }, null, 2), 'image-output');
+ // appendImageOutput(blobUrl);
+
+ appendOutput('✅ Done', 'done');
+}
+
+// wait for the html to load
+window.addEventListener('DOMContentLoaded', () => {
+ // let's do this!
+ main();
+});
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/package.json b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/package.json
new file mode 100644
index 0000000000..47de127c34
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/package.json
@@ -0,0 +1,57 @@
+{
+ "name": "@nymproject/mix-fetch-tester-webpack",
+ "version": "1.0.0",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@nymproject/mix-fetch": "file:../../../../../../dist/ts/sdk/mix-fetch/esm"
+ },
+ "devDependencies": {
+ "@babel/core": "^7.15.0",
+ "@babel/plugin-transform-async-to-generator": "^7.14.5",
+ "@babel/preset-env": "^7.15.0",
+ "@babel/preset-typescript": "^7.15.0",
+ "@types/jest": "^27.0.1",
+ "@types/node": "^16.7.13",
+ "@typescript-eslint/eslint-plugin": "^5.13.0",
+ "@typescript-eslint/parser": "^5.13.0",
+ "babel-loader": "^8.3.0",
+ "babel-plugin-root-import": "^5.1.0",
+ "clean-webpack-plugin": "^4.0.0",
+ "copy-webpack-plugin": "^11.0.0",
+ "css-loader": "^6.7.3",
+ "css-minimizer-webpack-plugin": "^3.0.2",
+ "dotenv-webpack": "^7.0.3",
+ "eslint": "^8.10.0",
+ "eslint-config-airbnb": "^19.0.4",
+ "eslint-config-airbnb-typescript": "^16.1.0",
+ "eslint-config-prettier": "^8.5.0",
+ "eslint-import-resolver-root-import": "^1.0.4",
+ "eslint-plugin-import": "^2.25.4",
+ "eslint-plugin-jest": "^26.1.1",
+ "eslint-plugin-jsx-a11y": "^6.5.1",
+ "eslint-plugin-prettier": "^4.0.0",
+ "file-loader": "^6.2.0",
+ "fork-ts-checker-webpack-plugin": "^7.2.1",
+ "html-webpack-plugin": "^5.3.2",
+ "jest": "^27.1.0",
+ "mini-css-extract-plugin": "^2.2.2",
+ "npm-run-all": "^4.1.5",
+ "prettier": "^2.8.7",
+ "style-loader": "^3.3.1",
+ "thread-loader": "^3.0.4",
+ "ts-jest": "^27.0.5",
+ "ts-loader": "^9.4.2",
+ "tsconfig-paths-webpack-plugin": "^3.5.2",
+ "typescript": "^4.6.2",
+ "url-loader": "^4.1.1",
+ "webpack": "^5.75.0",
+ "webpack-cli": "^4.8.0",
+ "webpack-dev-server": "^4.5.0",
+ "webpack-merge": "^5.8.0"
+ },
+ "scripts": {
+ "start": "webpack serve --progress --port 3000",
+ "build": "webpack build --progress --config webpack.prod.js",
+ "serve": "npx serve dist"
+ }
+}
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/tsconfig.json b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/tsconfig.json
new file mode 100644
index 0000000000..2d9ec75afa
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../../../../../../../tsconfig.json",
+ "compilerOptions": {
+ "module": "ESNext",
+ "outDir": "./dist"
+ },
+ "exclude": ["node_modules", "build", "dist"]
+}
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.base.js b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.base.js
new file mode 100644
index 0000000000..fb9a7f2f5b
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.base.js
@@ -0,0 +1,91 @@
+const HtmlWebpackPlugin = require('html-webpack-plugin');
+const TsconfigPathsPlugin = require('tsconfig-paths-webpack-plugin');
+// const { CleanWebpackPlugin } = require('clean-webpack-plugin');
+const ForkTsCheckerWebpackPlugin = require('fork-ts-checker-webpack-plugin');
+const WebpackFavicons = require('webpack-favicons');
+const Dotenv = require('dotenv-webpack');
+const path = require('path');
+const os = require('os');
+
+/**
+ * Creates the default Webpack config
+ * @param baseDir The base directory path, e.g. pass `__dirname` of the webpack config file using this method
+ */
+const webpackCommon = (baseDir, htmlPath) => ({
+ module: {
+ rules: [
+ {
+ test: /\.tsx?$/,
+ use: [
+ {
+ loader: 'thread-loader',
+ options: { workers: Math.max(2, os.cpus().length - 1) },
+ },
+ { loader: 'ts-loader', options: { happyPackMode: true } },
+ ],
+ exclude: /node_modules/,
+ },
+ {
+ test: /\.css$/i,
+ use: ['style-loader', 'css-loader'],
+ },
+ {
+ test: /\.svg$/i,
+ issuer: /\.[jt]sx?$/,
+ use: ['@svgr/webpack'],
+ },
+ {
+ test: /\.(png|jpe?g|gif|md|webp)$/i,
+ // More information here https://webpack.js.org/guides/asset-modules/
+ type: 'asset',
+ },
+ {
+ // See https://webpack.js.org/guides/asset-management/#loading-fonts
+ test: /\.(woff|woff2|eot|ttf|otf)$/i,
+ type: 'asset/resource',
+ },
+ {
+ test: /\.ya?ml$/,
+ type: 'json',
+ use: 'yaml-loader',
+ },
+ ],
+ },
+ resolve: {
+ extensions: ['.tsx', '.ts', '.js'],
+ plugins: [new TsconfigPathsPlugin()],
+ alias: {
+ 'react/jsx-runtime': require.resolve('react/jsx-runtime'),
+ },
+ },
+ plugins: [
+ // new CleanWebpackPlugin(),
+
+ ...(Array.isArray(htmlPath)
+ ? htmlPath.map((item) => new HtmlWebpackPlugin(item))
+ : [
+ new HtmlWebpackPlugin({
+ filename: 'index.html',
+ template: path.resolve(baseDir, htmlPath || 'src/index.html'),
+ }),
+ ]),
+
+ new ForkTsCheckerWebpackPlugin({
+ typescript: {
+ mode: 'write-references',
+ diagnosticOptions: {
+ semantic: true,
+ syntactic: true,
+ },
+ },
+ }),
+ ],
+ output: {
+ path: path.resolve(baseDir, 'dist'),
+ publicPath: '/',
+ },
+});
+
+module.exports = {
+ webpackCommon,
+};
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.common.js b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.common.js
new file mode 100644
index 0000000000..9d86d2bc80
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.common.js
@@ -0,0 +1,30 @@
+const path = require('path');
+const { mergeWithRules } = require('webpack-merge');
+const { webpackCommon } = require('./webpack.base');
+
+module.exports = mergeWithRules({
+ module: {
+ rules: {
+ test: 'match',
+ use: 'replace',
+ },
+ },
+})(
+ webpackCommon(__dirname, [
+ {
+ inject: true,
+ filename: 'index.html',
+ template: path.resolve(__dirname, 'src/index.html'),
+ chunks: ['index'],
+ },
+ ]),
+ {
+ entry: {
+ index: path.resolve(__dirname, 'src/index.ts'),
+ },
+ output: {
+ path: path.resolve(__dirname, 'dist'),
+ publicPath: '/',
+ },
+ },
+);
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.config.js b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.config.js
new file mode 100644
index 0000000000..3558bfdade
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.config.js
@@ -0,0 +1,71 @@
+const { mergeWithRules } = require('webpack-merge');
+const webpack = require('webpack');
+const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
+const ReactRefreshTypeScript = require('react-refresh-typescript');
+const commonConfig = require('./webpack.common');
+
+module.exports = mergeWithRules({
+ module: {
+ rules: {
+ test: 'match',
+ use: 'replace',
+ },
+ },
+})(commonConfig, {
+ mode: 'development',
+ devtool: 'inline-source-map',
+ module: {
+ rules: [
+ {
+ test: /\.tsx?$/,
+ use: 'ts-loader',
+ exclude: /node_modules/,
+ options: {
+ getCustomTransformers: () => ({
+ before: [ReactRefreshTypeScript()],
+ }),
+ // `ts-loader` does not work with HMR unless `transpileOnly` is used.
+ // If you need type checking, `ForkTsCheckerWebpackPlugin` is an alternative.
+ transpileOnly: true,
+ },
+ },
+ {
+ test: /\.wasm$/,
+ type: 'asset',
+ },
+ ],
+ },
+ plugins: [
+ new ReactRefreshWebpackPlugin(),
+
+ // this can be included automatically by the dev server, however build mode fails if missing
+ new webpack.HotModuleReplacementPlugin(),
+ ],
+
+ target: 'web',
+
+ devServer: {
+ headers: {
+ 'Access-Control-Allow-Origin': '*',
+ 'Access-Control-Allow-Methods': 'GET, POST, PUT, DELETE, PATCH, OPTIONS',
+ 'Access-Control-Allow-Headers': 'Content-Type, Authorization',
+ },
+ historyApiFallback: true,
+ },
+
+ // recommended for faster rebuild
+ optimization: {
+ runtimeChunk: true,
+ removeAvailableModules: false,
+ removeEmptyChunks: false,
+ splitChunks: false,
+ },
+
+ cache: {
+ type: 'filesystem',
+ buildDependencies: {
+ // restart on config change
+ config: ['./webpack.config.js'],
+ },
+ },
+});
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.plugins.js b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.plugins.js
new file mode 100644
index 0000000000..d1d3af9d2b
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.plugins.js
@@ -0,0 +1,19 @@
+const path = require('path');
+const CopyPlugin = require('copy-webpack-plugin');
+
+module.exports = {
+ plugins: [
+ new CopyPlugin({
+ patterns: [
+ {
+ from: path.resolve(path.dirname(require.resolve('$PACKAGE/package.json')), '*.wasm'),
+ to: '[name][ext]',
+ },
+ {
+ from: path.resolve(path.dirname(require.resolve('$PACKAGE/package.json')), '*worker*.js'),
+ to: '[name][ext]',
+ },
+ ],
+ }),
+ ],
+};
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.prod.js b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.prod.js
new file mode 100644
index 0000000000..9bf9d4fdde
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/webpack/webpack.prod.js
@@ -0,0 +1,44 @@
+const { mergeWithRules } = require('webpack-merge');
+const CssMinimizerPlugin = require('css-minimizer-webpack-plugin');
+const MiniCssExtractPlugin = require('mini-css-extract-plugin');
+const commonConfig = require('./webpack.common');
+const { plugins } = require('./webpack.plugins');
+
+module.exports = mergeWithRules({
+ module: {
+ rules: {
+ test: 'match',
+ use: 'replace',
+ },
+ },
+})(commonConfig, {
+ mode: 'production',
+
+ // TODO: no source maps, add back
+ devtool: false,
+
+ module: {
+ rules: [
+ {
+ test: /\.css$/,
+ use: [MiniCssExtractPlugin.loader, 'css-loader'],
+ },
+ ],
+ },
+ optimization: {
+ minimizer: ['...', new CssMinimizerPlugin()],
+ splitChunks: {
+ chunks: 'all',
+ },
+ },
+ plugins: [
+ new MiniCssExtractPlugin({
+ filename: '[name].[contenthash].css',
+ }),
+ ...plugins,
+ ],
+ output: {
+ pathinfo: false,
+ filename: '[name].[contenthash].js',
+ },
+});
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/template/workspace/package.json b/sdk/typescript/tests/integration-tests/mix-fetch/template/workspace/package.json
new file mode 100644
index 0000000000..c6e6e1f1cb
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/template/workspace/package.json
@@ -0,0 +1,9 @@
+{
+ "name": "integration-tests-workspace",
+ "version": "1.0.0",
+ "private": true,
+ "license": "Apache 2.0",
+ "workspaces": [
+ "packages/**"
+ ]
+}
diff --git a/sdk/typescript/tests/integration-tests/mix-fetch/tests/tests.mjs b/sdk/typescript/tests/integration-tests/mix-fetch/tests/tests.mjs
new file mode 100644
index 0000000000..d74f89b6c3
--- /dev/null
+++ b/sdk/typescript/tests/integration-tests/mix-fetch/tests/tests.mjs
@@ -0,0 +1,88 @@
+/* eslint-disable no-await-in-loop */
+import puppeteer from 'puppeteer';
+
+const TIMEOUT = 30_000;
+
+function sleep(time) {
+ return new Promise((resolve) => {
+ setTimeout(resolve, time);
+ });
+}
+
+export async function runTests(log) {
+ console.log('🟡 Starting puppeteer');
+ // launch Chrome and navigate
+ const browser = await puppeteer.launch({ headless: 'new' });
+ const page = await browser.newPage();
+ await page.setDefaultNavigationTimeout(TIMEOUT); // timeout 60 seconds now
+
+ const errors = [];
+
+ page.on('console', (message) => {
+ let isError = false;
+ if (message.type() === 'error') {
+ if (!message.location()?.url?.endsWith('favicon.ico')) {
+ isError = true;
+ const { url } = message.location();
+ const type = message.type();
+ const text = message.text ? message.text() : undefined;
+ errors.push({ type, url, text });
+ }
+ }
+ if (log || isError) {
+ console.log(` Message: [${message.type()}] ${message.text()}`);
+ if (isError) {
+ message.stackTrace().forEach((args) => console.log(` - ${args.lineNumber}:${args.columnNumber} ${args.url}`));
+ }
+ }
+ });
+
+ console.log(' 🟡 Navigating');
+ let count = 0;
+ do {
+ await sleep(1000);
+ try {
+ const res = await page.goto('http://localhost:3000', {});
+ if (res.ok()) {
+ break;
+ }
+ } catch (e) {
+ console.log(' ❌ Error', e.message);
+ }
+ count += 1;
+ } while (count < 5);
+ if (count > 5) {
+ await browser.close();
+ throw new Error('Failed to navigate');
+ } else {
+ console.log(' 🟡 Navigated');
+ }
+
+ // wait for start output
+ await page.waitForSelector('#starting');
+
+ if (errors.find((e) => e.url.includes('worker'))) {
+ console.log(' ❌ Error - worker did not load');
+ return errors;
+ }
+ if (errors.length) {
+ console.log(' ❌ Error - worker error');
+ return errors;
+ }
+
+ console.log(' 🟢 Started');
+
+ await page.waitForSelector('#text-output', { timeout: TIMEOUT });
+ console.log(' 🟢 Got text output');
+ // await page.waitForSelector('#image-output');
+ // console.log(' 🟢 Got image output');
+ await page.waitForSelector('#done');
+ console.log(' 🟢 Got done');
+
+ await page.close();
+ await browser.close();
+
+ console.log(' ✅ test complete');
+
+ return errors;
+}
diff --git a/tools/internal/sdk-version-bump/src/main.rs b/tools/internal/sdk-version-bump/src/main.rs
index fe827b54a8..36c31dfb58 100644
--- a/tools/internal/sdk-version-bump/src/main.rs
+++ b/tools/internal/sdk-version-bump/src/main.rs
@@ -181,6 +181,7 @@ fn initialise_internal_packages>(root: P) -> InternalPackages {
packages.register_json("sdk/typescript/packages/sdk");
packages.register_json("sdk/typescript/packages/sdk-react");
packages.register_json("sdk/typescript/packages/validator-client");
+ packages.register_json("sdk/typescript/codegen/contract-clients");
// dependencies that will have their versions adjusted in the above packages
packages.register_known_js_dependency("@nymproject/mix-fetch");
diff --git a/wasm/client/Cargo.toml b/wasm/client/Cargo.toml
index 32d408b3d3..1a3056ec60 100644
--- a/wasm/client/Cargo.toml
+++ b/wasm/client/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "nym-client-wasm"
authors = ["Dave Hrycyszyn ", "Jedrzej Stuczynski "]
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
edition = "2021"
keywords = ["nym", "sphinx", "wasm", "webassembly", "privacy", "client"]
license = "Apache-2.0"
diff --git a/wasm/client/Makefile b/wasm/client/Makefile
index 43a0cf5940..37afc17cff 100644
--- a/wasm/client/Makefile
+++ b/wasm/client/Makefile
@@ -2,6 +2,11 @@ build:
wasm-pack build --scope nymproject --target web --out-dir ../../dist/wasm/client
wasm-opt -Oz -o ../../dist/wasm/client/nym_client_wasm_bg.wasm ../../dist/wasm/client/nym_client_wasm_bg.wasm
-build-node:
+build-rust-node:
wasm-pack build --scope nymproject --target nodejs --out-dir ../../dist/node/wasm/client
- wasm-opt -Oz -o ../../dist/node/wasm/client/nym_client_wasm_bg.wasm ../../dist/node/wasm/client/nym_client_wasm_bg.wasm
\ No newline at end of file
+ wasm-opt -Oz -o ../../dist/node/wasm/client/nym_client_wasm_bg.wasm ../../dist/node/wasm/client/nym_client_wasm_bg.wasm
+
+build-package-json-node:
+ node build-node.mjs
+
+build-node: build-rust-node build-package-json-node
diff --git a/wasm/client/build-node.mjs b/wasm/client/build-node.mjs
new file mode 100644
index 0000000000..15f22c9a25
--- /dev/null
+++ b/wasm/client/build-node.mjs
@@ -0,0 +1,7 @@
+import fs from 'fs';
+
+const packageJson = JSON.parse(fs.readFileSync('../../dist/node/wasm/client/package.json').toString());
+
+packageJson.name = `${packageJson.name}-node`;
+
+fs.writeFileSync('../../dist/node/wasm/client/package.json', JSON.stringify(packageJson, null, 2));
diff --git a/wasm/full-nym-wasm/Cargo.toml b/wasm/full-nym-wasm/Cargo.toml
index c98534a792..291c8f053f 100644
--- a/wasm/full-nym-wasm/Cargo.toml
+++ b/wasm/full-nym-wasm/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "nym-wasm-sdk"
authors = ["Jedrzej Stuczynski "]
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
edition = "2021"
keywords = ["nym", "sphinx", "wasm", "webassembly", "privacy"]
license = "Apache-2.0"
diff --git a/wasm/mix-fetch/Cargo.toml b/wasm/mix-fetch/Cargo.toml
index 0f57e73869..2fb6e180e8 100644
--- a/wasm/mix-fetch/Cargo.toml
+++ b/wasm/mix-fetch/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "mix-fetch-wasm"
authors = ["Jedrzej Stuczynski "]
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
edition = "2021"
keywords = ["nym", "fetch", "wasm", "webassembly", "privacy"]
license = "Apache-2.0"
diff --git a/wasm/mix-fetch/build-node.mjs b/wasm/mix-fetch/build-node.mjs
index 3782ce7941..5bd3128c04 100644
--- a/wasm/mix-fetch/build-node.mjs
+++ b/wasm/mix-fetch/build-node.mjs
@@ -2,6 +2,8 @@ import fs from 'fs';
const packageJson = JSON.parse(fs.readFileSync('../../dist/node/wasm/mix-fetch/package.json').toString());
+packageJson.name = `${packageJson.name}-node`;
+
if (!packageJson.files.includes('go_conn.wasm')) {
packageJson.files.push('go_conn.wasm');
}
@@ -9,4 +11,4 @@ if (!packageJson.files.includes('wasm_exec.js')) {
packageJson.files.push('wasm_exec.js');
}
-fs.writeFileSync('../../dist/node/wasm/mix-fetch/package.json', JSON.stringify(packageJson, null, 2));
\ No newline at end of file
+fs.writeFileSync('../../dist/node/wasm/mix-fetch/package.json', JSON.stringify(packageJson, null, 2));
diff --git a/wasm/node-tester/Cargo.toml b/wasm/node-tester/Cargo.toml
index 2018b1d54b..58a0fd1da1 100644
--- a/wasm/node-tester/Cargo.toml
+++ b/wasm/node-tester/Cargo.toml
@@ -1,7 +1,7 @@
[package]
name = "nym-node-tester-wasm"
authors = ["Jedrzej Stuczynski "]
-version = "1.2.0-rc.2"
+version = "1.2.0-rc.5"
edition = "2021"
keywords = ["nym", "sphinx", "webassembly", "privacy", "tester"]
license = "Apache-2.0"
diff --git a/yarn.lock b/yarn.lock
index 8182a434e6..6a8d825d6f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1816,7 +1816,7 @@
resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.2.tgz#b7e9309ccce5a0a40ac482cb894f120dba2b357f"
integrity sha512-ou3elfqG/hZsbmF4bxeJhPHIf3G2pm0ujc39hYEZrfVqt7Vk/Zji6CXc3W0pmYM8BW1g40U+akTl9DKZhFhInQ==
-"@gar/promisify@^1.0.1", "@gar/promisify@^1.1.3":
+"@gar/promisify@^1.0.1":
version "1.1.3"
resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6"
integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==
@@ -1871,11 +1871,6 @@
wrap-ansi "^8.1.0"
wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
-"@isaacs/string-locale-compare@^1.1.0":
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/@isaacs/string-locale-compare/-/string-locale-compare-1.1.0.tgz#291c227e93fd407a96ecd59879a35809120e432b"
- integrity sha512-SQ7Kzhh9+D+ZW9MA0zkYv3VXhIDNx+LzM6EJ+/65I3QY+enU6Itte7E5XX7EWrqLW2FN4n06GWzBnPoC3th2aQ==
-
"@istanbuljs/load-nyc-config@^1.0.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -2137,7 +2132,7 @@
dependencies:
"@sinclair/typebox" "^0.24.1"
-"@jest/schemas@^29.4.3", "@jest/schemas@^29.6.3":
+"@jest/schemas@^29.6.3":
version "29.6.3"
resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03"
integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==
@@ -2364,101 +2359,85 @@
resolved "https://registry.yarnpkg.com/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz#b2ac626d6cb9c8718ab459166d4bb405b8ffa78b"
integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==
-"@lerna/child-process@6.6.2":
- version "6.6.2"
- resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-6.6.2.tgz#5d803c8dee81a4e013dc428292e77b365cba876c"
- integrity sha512-QyKIWEnKQFnYu2ey+SAAm1A5xjzJLJJj3bhIZd3QKyXKKjaJ0hlxam/OsWSltxTNbcyH1jRJjC6Cxv31usv0Ag==
+"@lerna/child-process@7.3.0":
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/@lerna/child-process/-/child-process-7.3.0.tgz#c56488a8a881f22a64793bf9339c5a2450a18559"
+ integrity sha512-rA+fGUo2j/LEq6w1w8s6oVikLbJTWoIDVpYMc7bUCtwDOUuZKMQiRtjmpavY3fTm7ltu42f4AKflc2A70K4wvA==
dependencies:
chalk "^4.1.0"
execa "^5.0.0"
strong-log-transformer "^2.1.0"
-"@lerna/create@6.6.2":
- version "6.6.2"
- resolved "https://registry.yarnpkg.com/@lerna/create/-/create-6.6.2.tgz#39a36d80cddb355340c297ed785aa76f4498177f"
- integrity sha512-xQ+1Y7D+9etvUlE+unhG/TwmM6XBzGIdFBaNoW8D8kyOa9M2Jf3vdEtAxVa7mhRz66CENfhL/+I/QkVaa7pwbQ==
+"@lerna/create@7.3.0":
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/@lerna/create/-/create-7.3.0.tgz#5438c231f617b8e825731390d394f8684af471d5"
+ integrity sha512-fjgiKjg9VXwQ4ZKKsrXICEKRiC3yo6+FprR0mc55uz0s5e9xupoSGLobUTTBdE7ncNB3ibqml8dfaAn/+ESajQ==
dependencies:
- "@lerna/child-process" "6.6.2"
- dedent "^0.7.0"
- fs-extra "^9.1.0"
- init-package-json "^3.0.2"
- npm-package-arg "8.1.1"
- p-reduce "^2.1.0"
- pacote "15.1.1"
- pify "^5.0.0"
- semver "^7.3.4"
- slash "^3.0.0"
- validate-npm-package-license "^3.0.4"
- validate-npm-package-name "^4.0.0"
- yargs-parser "20.2.4"
-
-"@lerna/legacy-package-management@6.6.2":
- version "6.6.2"
- resolved "https://registry.yarnpkg.com/@lerna/legacy-package-management/-/legacy-package-management-6.6.2.tgz#411c395e72e563ab98f255df77e4068627a85bb0"
- integrity sha512-0hZxUPKnHwehUO2xC4ldtdX9bW0W1UosxebDIQlZL2STnZnA2IFmIk2lJVUyFW+cmTPQzV93jfS0i69T9Z+teg==
- dependencies:
- "@npmcli/arborist" "6.2.3"
- "@npmcli/run-script" "4.1.7"
- "@nrwl/devkit" ">=15.5.2 < 16"
- "@octokit/rest" "19.0.3"
- byte-size "7.0.0"
+ "@lerna/child-process" "7.3.0"
+ "@npmcli/run-script" "6.0.2"
+ "@nx/devkit" ">=16.5.1 < 17"
+ "@octokit/plugin-enterprise-rest" "6.0.1"
+ "@octokit/rest" "19.0.11"
+ byte-size "8.1.1"
chalk "4.1.0"
clone-deep "4.0.1"
- cmd-shim "5.0.0"
+ cmd-shim "6.0.1"
columnify "1.6.0"
- config-chain "1.1.12"
- conventional-changelog-core "4.2.4"
- conventional-recommended-bump "6.1.0"
- cosmiconfig "7.0.0"
+ conventional-changelog-core "5.0.1"
+ conventional-recommended-bump "7.0.1"
+ cosmiconfig "^8.2.0"
dedent "0.7.0"
- dot-prop "6.0.1"
execa "5.0.0"
- file-url "3.0.0"
- find-up "5.0.0"
- fs-extra "9.1.0"
- get-port "5.1.1"
+ fs-extra "^11.1.1"
get-stream "6.0.0"
git-url-parse "13.1.0"
glob-parent "5.1.2"
globby "11.1.0"
- graceful-fs "4.2.10"
+ graceful-fs "4.2.11"
has-unicode "2.0.1"
- inquirer "8.2.4"
- is-ci "2.0.0"
+ ini "^1.3.8"
+ init-package-json "5.0.0"
+ inquirer "^8.2.4"
+ is-ci "3.0.1"
is-stream "2.0.0"
- libnpmpublish "7.1.4"
+ js-yaml "4.1.0"
+ libnpmpublish "7.3.0"
load-json-file "6.2.0"
- make-dir "3.1.0"
+ lodash "^4.17.21"
+ make-dir "4.0.0"
minimatch "3.0.5"
multimatch "5.0.0"
node-fetch "2.6.7"
npm-package-arg "8.1.1"
npm-packlist "5.1.1"
- npm-registry-fetch "14.0.3"
- npmlog "6.0.2"
+ npm-registry-fetch "^14.0.5"
+ npmlog "^6.0.2"
+ nx ">=16.5.1 < 17"
p-map "4.0.0"
p-map-series "2.1.0"
p-queue "6.6.2"
- p-waterfall "2.1.1"
- pacote "15.1.1"
+ p-reduce "^2.1.0"
+ pacote "^15.2.0"
pify "5.0.0"
- pretty-format "29.4.3"
- read-cmd-shim "3.0.0"
- read-package-json "5.0.1"
+ read-cmd-shim "4.0.0"
+ read-package-json "6.0.4"
resolve-from "5.0.0"
- semver "7.3.8"
+ rimraf "^4.4.1"
+ semver "^7.3.4"
signal-exit "3.0.7"
- slash "3.0.0"
- ssri "9.0.1"
+ slash "^3.0.0"
+ ssri "^9.0.1"
strong-log-transformer "2.1.0"
tar "6.1.11"
temp-dir "1.0.0"
- tempy "1.0.0"
upath "2.0.1"
- uuid "8.3.2"
- write-file-atomic "4.0.1"
+ uuid "^9.0.0"
+ validate-npm-package-license "^3.0.4"
+ validate-npm-package-name "5.0.0"
+ write-file-atomic "5.0.1"
write-pkg "4.0.0"
yargs "16.2.0"
+ yargs-parser "20.2.4"
"@mdx-js/loader@^2.1.5":
version "2.3.0"
@@ -2719,45 +2698,6 @@
"@nodelib/fs.scandir" "2.1.5"
fastq "^1.6.0"
-"@npmcli/arborist@6.2.3":
- version "6.2.3"
- resolved "https://registry.yarnpkg.com/@npmcli/arborist/-/arborist-6.2.3.tgz#31f8aed2588341864d3811151d929c01308f8e71"
- integrity sha512-lpGOC2ilSJXcc2zfW9QtukcCTcMbl3fVI0z4wvFB2AFIl0C+Q6Wv7ccrpdrQa8rvJ1ZVuc6qkX7HVTyKlzGqKA==
- dependencies:
- "@isaacs/string-locale-compare" "^1.1.0"
- "@npmcli/fs" "^3.1.0"
- "@npmcli/installed-package-contents" "^2.0.0"
- "@npmcli/map-workspaces" "^3.0.2"
- "@npmcli/metavuln-calculator" "^5.0.0"
- "@npmcli/name-from-folder" "^2.0.0"
- "@npmcli/node-gyp" "^3.0.0"
- "@npmcli/package-json" "^3.0.0"
- "@npmcli/query" "^3.0.0"
- "@npmcli/run-script" "^6.0.0"
- bin-links "^4.0.1"
- cacache "^17.0.4"
- common-ancestor-path "^1.0.1"
- hosted-git-info "^6.1.1"
- json-parse-even-better-errors "^3.0.0"
- json-stringify-nice "^1.1.4"
- minimatch "^6.1.6"
- nopt "^7.0.0"
- npm-install-checks "^6.0.0"
- npm-package-arg "^10.1.0"
- npm-pick-manifest "^8.0.1"
- npm-registry-fetch "^14.0.3"
- npmlog "^7.0.1"
- pacote "^15.0.8"
- parse-conflict-json "^3.0.0"
- proc-log "^3.0.0"
- promise-all-reject-late "^1.0.0"
- promise-call-limit "^1.0.1"
- read-package-json-fast "^3.0.2"
- semver "^7.3.7"
- ssri "^10.0.1"
- treeverse "^3.0.0"
- walk-up-path "^1.0.0"
-
"@npmcli/fs@^1.0.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-1.1.1.tgz#72f719fe935e687c56a4faecf3c03d06ba593257"
@@ -2766,14 +2706,6 @@
"@gar/promisify" "^1.0.1"
semver "^7.3.5"
-"@npmcli/fs@^2.1.0":
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865"
- integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==
- dependencies:
- "@gar/promisify" "^1.1.3"
- semver "^7.3.5"
-
"@npmcli/fs@^3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-3.1.0.tgz#233d43a25a91d68c3a863ba0da6a3f00924a173e"
@@ -2781,7 +2713,7 @@
dependencies:
semver "^7.3.5"
-"@npmcli/git@^4.0.0", "@npmcli/git@^4.1.0":
+"@npmcli/git@^4.0.0":
version "4.1.0"
resolved "https://registry.yarnpkg.com/@npmcli/git/-/git-4.1.0.tgz#ab0ad3fd82bc4d8c1351b6c62f0fa56e8fe6afa6"
integrity sha512-9hwoB3gStVfa0N31ymBmrX+GuDGdVA/QWShZVqE0HK2Af+7QGGrCTbZia/SW0ImUTjTne7SP91qxDmtXvDHRPQ==
@@ -2795,7 +2727,7 @@
semver "^7.3.5"
which "^3.0.0"
-"@npmcli/installed-package-contents@^2.0.0", "@npmcli/installed-package-contents@^2.0.1":
+"@npmcli/installed-package-contents@^2.0.1":
version "2.0.2"
resolved "https://registry.yarnpkg.com/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz#bfd817eccd9e8df200919e73f57f9e3d9e4f9e33"
integrity sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==
@@ -2803,26 +2735,6 @@
npm-bundled "^3.0.0"
npm-normalize-package-bin "^3.0.0"
-"@npmcli/map-workspaces@^3.0.2":
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/@npmcli/map-workspaces/-/map-workspaces-3.0.4.tgz#15ad7d854292e484f7ba04bc30187a8320dba799"
- integrity sha512-Z0TbvXkRbacjFFLpVpV0e2mheCh+WzQpcqL+4xp49uNJOxOnIAPZyXtUxZ5Qn3QBTGKA11Exjd9a5411rBrhDg==
- dependencies:
- "@npmcli/name-from-folder" "^2.0.0"
- glob "^10.2.2"
- minimatch "^9.0.0"
- read-package-json-fast "^3.0.0"
-
-"@npmcli/metavuln-calculator@^5.0.0":
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/@npmcli/metavuln-calculator/-/metavuln-calculator-5.0.1.tgz#426b3e524c2008bcc82dbc2ef390aefedd643d76"
- integrity sha512-qb8Q9wIIlEPj3WeA1Lba91R4ZboPL0uspzV0F9uwP+9AYMVB2zOoa7Pbk12g6D2NHAinSbHh6QYmGuRyHZ874Q==
- dependencies:
- cacache "^17.0.0"
- json-parse-even-better-errors "^3.0.0"
- pacote "^15.0.0"
- semver "^7.3.5"
-
"@npmcli/move-file@^1.0.1":
version "1.1.2"
resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-1.1.2.tgz#1a82c3e372f7cae9253eb66d72543d6b8685c674"
@@ -2831,48 +2743,11 @@
mkdirp "^1.0.4"
rimraf "^3.0.2"
-"@npmcli/move-file@^2.0.0":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4"
- integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==
- dependencies:
- mkdirp "^1.0.4"
- rimraf "^3.0.2"
-
-"@npmcli/name-from-folder@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@npmcli/name-from-folder/-/name-from-folder-2.0.0.tgz#c44d3a7c6d5c184bb6036f4d5995eee298945815"
- integrity sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==
-
-"@npmcli/node-gyp@^2.0.0":
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-2.0.0.tgz#8c20e53e34e9078d18815c1d2dda6f2420d75e35"
- integrity sha512-doNI35wIe3bBaEgrlPfdJPaCpUR89pJWep4Hq3aRdh6gKazIVWfs0jHttvSSoq47ZXgC7h73kDsUl8AoIQUB+A==
-
"@npmcli/node-gyp@^3.0.0":
version "3.0.0"
resolved "https://registry.yarnpkg.com/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz#101b2d0490ef1aa20ed460e4c0813f0db560545a"
integrity sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==
-"@npmcli/package-json@^3.0.0":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@npmcli/package-json/-/package-json-3.1.1.tgz#5628332aac90fa1b4d6f98e03988c5958b35e0c5"
- integrity sha512-+UW0UWOYFKCkvszLoTwrYGrjNrT8tI5Ckeb/h+Z1y1fsNJEctl7HmerA5j2FgmoqFaLI2gsA1X9KgMFqx/bRmA==
- dependencies:
- "@npmcli/git" "^4.1.0"
- glob "^10.2.2"
- json-parse-even-better-errors "^3.0.0"
- normalize-package-data "^5.0.0"
- npm-normalize-package-bin "^3.0.1"
- proc-log "^3.0.0"
-
-"@npmcli/promise-spawn@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-3.0.0.tgz#53283b5f18f855c6925f23c24e67c911501ef573"
- integrity sha512-s9SgS+p3a9Eohe68cSI3fi+hpcZUmXq5P7w0kMlAsWVtR7XbK3ptkZqKT2cK1zLDObJ3sR+8P59sJE0w/KTL1g==
- dependencies:
- infer-owner "^1.0.4"
-
"@npmcli/promise-spawn@^6.0.0", "@npmcli/promise-spawn@^6.0.1":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz#c8bc4fa2bd0f01cb979d8798ba038f314cfa70f2"
@@ -2880,25 +2755,7 @@
dependencies:
which "^3.0.0"
-"@npmcli/query@^3.0.0":
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/@npmcli/query/-/query-3.0.1.tgz#77d63ceb7d27ed748da3cc8b50d45fc341448ed6"
- integrity sha512-0jE8iHBogf/+bFDj+ju6/UMLbJ39c8h6nSe6qile+dB7PJ0iV3gNqcb2vtt6WWCBrxv9uAjzUT/8vroluulidA==
- dependencies:
- postcss-selector-parser "^6.0.10"
-
-"@npmcli/run-script@4.1.7":
- version "4.1.7"
- resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-4.1.7.tgz#b1a2f57568eb738e45e9ea3123fb054b400a86f7"
- integrity sha512-WXr/MyM4tpKA4BotB81NccGAv8B48lNH0gRoILucbcAhTQXLCoi6HflMV3KdXubIqvP9SuLsFn68Z7r4jl+ppw==
- dependencies:
- "@npmcli/node-gyp" "^2.0.0"
- "@npmcli/promise-spawn" "^3.0.0"
- node-gyp "^9.0.0"
- read-package-json-fast "^2.0.3"
- which "^2.0.2"
-
-"@npmcli/run-script@^6.0.0":
+"@npmcli/run-script@6.0.2", "@npmcli/run-script@^6.0.0":
version "6.0.2"
resolved "https://registry.yarnpkg.com/@npmcli/run-script/-/run-script-6.0.2.tgz#a25452d45ee7f7fb8c16dfaf9624423c0c0eb885"
integrity sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==
@@ -2909,90 +2766,88 @@
read-package-json-fast "^3.0.0"
which "^3.0.0"
-"@nrwl/cli@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/cli/-/cli-15.9.6.tgz#b35edbff0e3189031eec51ddb43c422e36de99cb"
- integrity sha512-cwMEQLTL47Tj+AfY1PyqU4NcA1rF/WW2eoqA9YR+BFReIQlCkodJBmuQ8xjLXnyfQtG8uzZ6vt/SKWzcghsccw==
+"@nrwl/devkit@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-16.8.1.tgz#18f90c9bddbac182ca2cd6b08c90f09caf9f4aa0"
+ integrity sha512-Y7yYDh62Hi4q99Q4+ipIQ3K9iLuAld3WcwjLv6vtl6Livu+TU3eqbraBEno7DQL8JuIuwgBT4lX7Bp3w3N9RDg==
dependencies:
- nx "15.9.6"
+ "@nx/devkit" "16.8.1"
-"@nrwl/devkit@>=15.5.2 < 16":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/devkit/-/devkit-15.9.6.tgz#3eee51bb3b2a357b8cbb747be4cb505dc5fa5548"
- integrity sha512-+gPyrvcUmZMzyVadFSkgfQJItJV8xhydsPMNL1g+KBYu9EzsLG6bqlioJvsOFT8v3zcFrzvoF84imEDs/Cym9Q==
+"@nrwl/tao@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-16.8.1.tgz#640522eef8905f358ce087e1f6a8489c69e3ebfb"
+ integrity sha512-hgGFLyEgONSofxnJsXN9NlUx4J8/YSLUkfZKdR8Qa97+JGZT8FEuk7NLFJOWdYYqROoCzXLHK0d+twFFNPS5BQ==
dependencies:
+ nx "16.8.1"
+ tslib "^2.3.0"
+
+"@nx/devkit@16.8.1", "@nx/devkit@>=16.5.1 < 17":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/devkit/-/devkit-16.8.1.tgz#830a6f3daf774aabe1a95e257eb4c832ee85d497"
+ integrity sha512-I+Cg+lXk0wRz6KC9FZbWFuJWQTXAt5O3bNl9ksISmzqmEyuy72Cv+/MBHvF7o54Sq80DNw+RKWB1re5HFOsqCA==
+ dependencies:
+ "@nrwl/devkit" "16.8.1"
ejs "^3.1.7"
+ enquirer "~2.3.6"
ignore "^5.0.4"
- semver "7.3.4"
+ semver "7.5.3"
tmp "~0.2.1"
tslib "^2.3.0"
-"@nrwl/nx-darwin-arm64@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-arm64/-/nx-darwin-arm64-15.9.6.tgz#e4a0f2989deb3b98018647b4f4977d499a2d4fba"
- integrity sha512-9J2HLA6ePfVIoyymIQmwBm2cHvh0hdWuSVldHq3GSpL1tbWEUVwrLxRwcG1ryO2HCNPPb2Z9h8jrSd6BVgEMsA==
+"@nx/nx-darwin-arm64@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.8.1.tgz#fd85ed007d63d232700272cd07138ecac046525d"
+ integrity sha512-xOflqyIVcyLPzdJOZcucI+5ClwnTgK8zIvpjbxHokrO9McJJglhfUyP0bbTHpEpWqzA+GaPA/6/Qdu0ATzqQBQ==
-"@nrwl/nx-darwin-x64@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/nx-darwin-x64/-/nx-darwin-x64-15.9.6.tgz#647ff8d42345b898dbf434f27f34a526944ef4f7"
- integrity sha512-QUbQYUxStLEDHndYFRxSH+Ir1ciezViy+kS9vfwsNLpBAfEE5kkoKk6Owv74gLQncTFB5/4vwkb7VT+LtVP/2w==
+"@nx/nx-darwin-x64@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-darwin-x64/-/nx-darwin-x64-16.8.1.tgz#de75b5052cb7ec93e238af632f0ea0f2d8822e66"
+ integrity sha512-JJGrlOvEpDMWnM6YKaA1WOnzHgiw5vRKEowX9ba+jxhmCvtdjbLSxi228kv92JtQPPQ91zvtsNM+BFY0EbPOlA==
-"@nrwl/nx-linux-arm-gnueabihf@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-15.9.6.tgz#8358820446b16bfd782dc6fa75c760887ff14dda"
- integrity sha512-IjwE1Q6wi4iww67uU5i8XIg9LXhwhOIVuDMQ28pB03kahwL87s0z/MvQ7yXISgskamkFEUzffI/Zei+OHYST3g==
+"@nx/nx-freebsd-x64@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-freebsd-x64/-/nx-freebsd-x64-16.8.1.tgz#733dbe731af814b87a1429d7c087c4879192536c"
+ integrity sha512-aZdJQ7cIQfXOmfk4vRXvVYxuV68xz8YyhNZ0IvBfJ16uZQ+YNl4BpklRLEIdaloSbwz9M1NNewmL+AgklEBxlA==
-"@nrwl/nx-linux-arm64-gnu@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-15.9.6.tgz#f1fdd502e62852703f04831ccd1dfafdba6a5f78"
- integrity sha512-iqgUZMtD8UZx5IeOzGREcP+vQ98czdBh3NmevqVJPGSfFtV7QixsUnRPk5v15bbfSg97Z+/6c7KRb9HsUAl13Q==
+"@nx/nx-linux-arm-gnueabihf@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.8.1.tgz#3d1e2130d26ecc335df21bf8a8afa566bd6b4ed5"
+ integrity sha512-JzjrTf7FFgikoVUbRs0hKvwHRR6SyqT4yIdk/YyiCt2mWY9w4m5DWtHM/9kJzhckkH9MY66m+X/zG6+NKsEMvg==
-"@nrwl/nx-linux-arm64-musl@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-arm64-musl/-/nx-linux-arm64-musl-15.9.6.tgz#6f1014fbba655962e91286401a26640348a3c913"
- integrity sha512-9UA2X2n998brY5YBLqgVmL1Jf5qrlFXToDADhUrsN5kqhgd3TqPhdgSBXhzUfUeMVtq6Bm4mhVHzM3bK49jxZA==
+"@nx/nx-linux-arm64-gnu@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.8.1.tgz#f0f96dc4be17cac8a387367eaafe71a6b1948fc3"
+ integrity sha512-CF0s981myBWusW7iW2+fKPa7ceYYe+NO5EdKe9l27fpHDkcA71KZU3q7U823QpO/7tYvVdBevJp3CCn2/GBURQ==
-"@nrwl/nx-linux-x64-gnu@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-gnu/-/nx-linux-x64-gnu-15.9.6.tgz#e70e6c72015b47a683c12f95a8d7f83a4d5b8639"
- integrity sha512-9Oe0BZJuf4lmeL3KV8woLL+NIauBFbMHmSgxhUKUWwNVC/VDJhDSkkUCTlM1R6lTj3KYrJzpZ9ymSuZM4ftd5g==
+"@nx/nx-linux-arm64-musl@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.8.1.tgz#65ed581e702ef882afd9d7f25b660e34e4c13690"
+ integrity sha512-X4TobxRt1dALvoeKC3/t1CqZCMUqtEhGG+KQLT/51sG54HdxmTAWRFlvj8PvLH0QSBk4e+uRZAo45qpt3iSnBg==
-"@nrwl/nx-linux-x64-musl@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/nx-linux-x64-musl/-/nx-linux-x64-musl-15.9.6.tgz#83f6f11bf67b1625d2194de53588507da2a6ec5b"
- integrity sha512-GNJDsmF0W7WOEnSbB9b/bOyS+Jl0S/zJEoGG0J9mpWTQCVx2HYvxl5EesTxO1Q/H2XmaraRNDS3xpk4l9ofo4w==
+"@nx/nx-linux-x64-gnu@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.8.1.tgz#cc5c782a67e5b17f4e395d358d87ea5076606dba"
+ integrity sha512-lHvv2FD14Lpxh7muMLStH2tC1opQOaepO4nXwb1LaaoIpMym7kBgCK8AQuI98/oNQiMDXMNDKWQZCjxnJGDIPw==
-"@nrwl/nx-win32-arm64-msvc@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-15.9.6.tgz#e1fff1890dcfbc3e9402b147d1b5d4a9cb6396c5"
- integrity sha512-kFl9naZtZcSbZEXcjCJJlxWZPcZdp5AW+FGKnRKcAU3rdcsghtnf9ErMhIWJEaIxjMURV6C0ddw9YZNSVCumGA==
+"@nx/nx-linux-x64-musl@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.8.1.tgz#2837fb7d6590b5fe9f2eb42603d0e064771a8ded"
+ integrity sha512-c4gQvNgIjggD1A5sYhftQEC1PtAhV3sEnv60X00v9wmjl57Wj4Ty0TgyzpYglLysVRiko/B58S8NYS0jKvMmeA==
-"@nrwl/nx-win32-x64-msvc@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/nx-win32-x64-msvc/-/nx-win32-x64-msvc-15.9.6.tgz#dd13f82b75752cb65faa9f13cabb903b1619555a"
- integrity sha512-omUJK6ZC6Ht5dPNxo+78hUAUhVVPsvjWhGoG1Et70rDhhNdY4c9BWU9vqmutWeDlr+ZlYNadtD/HPOikGVHfAw==
+"@nx/nx-win32-arm64-msvc@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.8.1.tgz#d45d8abdd99f3b0dda83a673592299ffdc819895"
+ integrity sha512-GKHPy/MyGFoV9cdKgcWLZZK2vDdxt5bQ53ss0k+BDKRP+YwLKm7tJl23eeM7JdB4GLCBntEQPC+dBqxOA8Ze/w==
-"@nrwl/tao@15.9.6":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/@nrwl/tao/-/tao-15.9.6.tgz#d2c54e43a1e2069cd0834e7c06fcc9208c932b12"
- integrity sha512-1NGREpUbm9gjLQNmEpyH4cwVJSTawVZaksUQcotJLuVoZ8Hglx4Wci4zgD5hjtR5IML4N7pE8uN2Q3osIcUiXw==
- dependencies:
- nx "15.9.6"
+"@nx/nx-win32-x64-msvc@16.8.1":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.8.1.tgz#6ec1930aaf4d9dea19149d6b3d100b2c7e69d582"
+ integrity sha512-yHZ5FAcx54rVc31R0yIpniepkHMPwaxG23l8E/ZYbL1iPwE/Wc1HeUzUvxUuSXtguRp7ihcRhaUEPkcSl2EAVw==
-"@nymproject/mix-fetch-wasm@>=1.2.0-rc.0 || 1":
+"@nymproject/nym-client-wasm-node@>=1.2.0-rc.5 || ^1":
version "1.2.0-rc.5"
- resolved "https://registry.yarnpkg.com/@nymproject/mix-fetch-wasm/-/mix-fetch-wasm-1.2.0-rc.5.tgz#0c5907f01612e9c5f1e0099d6b46eaffb2d30bba"
- integrity sha512-HuSMsXUN/i2qUptEGBd9CQLkzurpa6e6kDLgHFZqKex38kldONceEsFeb5SwZgQrxU+YLYC9ngS2tSFlM/l6uw==
-
-"@nymproject/nym-client-wasm@>=1.2.0-rc.0 || ^1":
- version "1.2.0-rc.5"
- resolved "https://registry.yarnpkg.com/@nymproject/nym-client-wasm/-/nym-client-wasm-1.2.0-rc.5.tgz#d0eca98aac5c1868566f6f8da7f777c68782409b"
- integrity sha512-FyIaODnAJ9o2PMd1uLLSsSrX0hGq2K41Q+XmdYjuH6cFU1Yt8mTOcqrhoB98lR2RTjyJnmrIT80Ayxvpok2zJg==
-
-"@nymproject/nym-node-tester-wasm@>=1.2.0-rc.0 || ^1":
- version "1.2.0-rc.5"
- resolved "https://registry.yarnpkg.com/@nymproject/nym-node-tester-wasm/-/nym-node-tester-wasm-1.2.0-rc.5.tgz#68ed8c98873e3a1130fd82785c01e6fc860b3ac5"
- integrity sha512-d11VwnkeQHP3KzjaQhDBMPRiLheLD4MIGo7DTnHuI9yYu8E0WHli6lvo3Z2Jfv8H5VXk3P1Oev97BmyyPG13mQ==
+ resolved "https://registry.yarnpkg.com/@nymproject/nym-client-wasm-node/-/nym-client-wasm-node-1.2.0-rc.5.tgz#464cc905a029cedb3acbe5513f60d47c22a28137"
+ integrity sha512-NF15b+DVfLgC3zx3wszZkxdyaDvQcxxxNF4sr6y5osQDMXbixRMU/rNDF8kEa/cSDNipxf8G5Z0ApJSGKjcehQ==
"@nymproject/nym-validator-client@^0.18.0":
version "0.18.0"
@@ -3010,7 +2865,7 @@
resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-3.0.4.tgz#70e941ba742bdd2b49bdb7393e821dea8520a3db"
integrity sha512-TWFX7cZF2LXoCvdmJWY7XVPi74aSY0+FfBZNSXEXFkMpjcqsQwDSYVv5FhRFaI0V1ECnwbz4j59T/G+rXNWaIQ==
-"@octokit/core@^4.0.0":
+"@octokit/core@^4.2.1":
version "4.2.4"
resolved "https://registry.yarnpkg.com/@octokit/core/-/core-4.2.4.tgz#d8769ec2b43ff37cc3ea89ec4681a20ba58ef907"
integrity sha512-rYKilwgzQ7/imScn3M9/pFfUf4I1AZEH3KhyJmtPdE2zfaXAn2mFfUy4FbKewzc2We5y/LlKLj36fWJLKC2SIQ==
@@ -3041,16 +2896,6 @@
"@octokit/types" "^9.0.0"
universal-user-agent "^6.0.0"
-"@octokit/openapi-types@^12.11.0":
- version "12.11.0"
- resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-12.11.0.tgz#da5638d64f2b919bca89ce6602d059f1b52d3ef0"
- integrity sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ==
-
-"@octokit/openapi-types@^14.0.0":
- version "14.0.0"
- resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-14.0.0.tgz#949c5019028c93f189abbc2fb42f333290f7134a"
- integrity sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==
-
"@octokit/openapi-types@^18.0.0":
version "18.0.0"
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-18.0.0.tgz#f43d765b3c7533fd6fb88f3f25df079c24fccf69"
@@ -3061,25 +2906,25 @@
resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437"
integrity sha512-93uGjlhUD+iNg1iWhUENAtJata6w5nE+V4urXOAlIXdco6xNZtUSfYY8dzp3Udy74aqO/B5UZL80x/YMa5PKRw==
-"@octokit/plugin-paginate-rest@^3.0.0":
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-3.1.0.tgz#86f8be759ce2d6d7c879a31490fd2f7410b731f0"
- integrity sha512-+cfc40pMzWcLkoDcLb1KXqjX0jTGYXjKuQdFQDc6UAknISJHnZTiBqld6HDwRJvD4DsouDKrWXNbNV0lE/3AXA==
+"@octokit/plugin-paginate-rest@^6.1.2":
+ version "6.1.2"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-6.1.2.tgz#f86456a7a1fe9e58fec6385a85cf1b34072341f8"
+ integrity sha512-qhrmtQeHU/IivxucOV1bbI/xZyC/iOBhclokv7Sut5vnejAIAEXVcGQeRpQlU39E0WwK9lNvJHphHri/DB6lbQ==
dependencies:
- "@octokit/types" "^6.41.0"
+ "@octokit/tsconfig" "^1.0.2"
+ "@octokit/types" "^9.2.3"
"@octokit/plugin-request-log@^1.0.4":
version "1.0.4"
resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz#5e50ed7083a613816b1e4a28aeec5fb7f1462e85"
integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==
-"@octokit/plugin-rest-endpoint-methods@^6.0.0":
- version "6.8.1"
- resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.8.1.tgz#97391fda88949eb15f68dc291957ccbe1d3e8ad1"
- integrity sha512-QrlaTm8Lyc/TbU7BL/8bO49vp+RZ6W3McxxmmQTgYxf2sWkO8ZKuj4dLhPNJD6VCUW1hetCmeIM0m6FTVpDiEg==
+"@octokit/plugin-rest-endpoint-methods@^7.1.2":
+ version "7.2.3"
+ resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-7.2.3.tgz#37a84b171a6cb6658816c82c4082ac3512021797"
+ integrity sha512-I5Gml6kTAkzVlN7KCtjOM+Ruwe/rQppp0QU372K1GP7kNOYEKe8Xn5BW4sE62JAHdwpq95OQK/qGNyKQMUzVgA==
dependencies:
- "@octokit/types" "^8.1.1"
- deprecation "^2.3.1"
+ "@octokit/types" "^10.0.0"
"@octokit/request-error@^3.0.0":
version "3.0.3"
@@ -3102,31 +2947,29 @@
node-fetch "^2.6.7"
universal-user-agent "^6.0.0"
-"@octokit/rest@19.0.3":
- version "19.0.3"
- resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.3.tgz#b9a4e8dc8d53e030d611c053153ee6045f080f02"
- integrity sha512-5arkTsnnRT7/sbI4fqgSJ35KiFaN7zQm0uQiQtivNQLI8RQx8EHwJCajcTUwmaCMNDg7tdCvqAnc7uvHHPxrtQ==
+"@octokit/rest@19.0.11":
+ version "19.0.11"
+ resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-19.0.11.tgz#2ae01634fed4bd1fca5b642767205ed3fd36177c"
+ integrity sha512-m2a9VhaP5/tUw8FwfnW2ICXlXpLPIqxtg3XcAiGMLj/Xhw3RSBfZ8le/466ktO1Gcjr8oXudGnHhxV1TXJgFxw==
dependencies:
- "@octokit/core" "^4.0.0"
- "@octokit/plugin-paginate-rest" "^3.0.0"
+ "@octokit/core" "^4.2.1"
+ "@octokit/plugin-paginate-rest" "^6.1.2"
"@octokit/plugin-request-log" "^1.0.4"
- "@octokit/plugin-rest-endpoint-methods" "^6.0.0"
+ "@octokit/plugin-rest-endpoint-methods" "^7.1.2"
-"@octokit/types@^6.41.0":
- version "6.41.0"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.41.0.tgz#e58ef78d78596d2fb7df9c6259802464b5f84a04"
- integrity sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==
+"@octokit/tsconfig@^1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@octokit/tsconfig/-/tsconfig-1.0.2.tgz#59b024d6f3c0ed82f00d08ead5b3750469125af7"
+ integrity sha512-I0vDR0rdtP8p2lGMzvsJzbhdOWy405HcGovrspJ8RRibHnyRgggUSNO5AIox5LmqiwmatHKYsvj6VGFHkqS7lA==
+
+"@octokit/types@^10.0.0":
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/@octokit/types/-/types-10.0.0.tgz#7ee19c464ea4ada306c43f1a45d444000f419a4a"
+ integrity sha512-Vm8IddVmhCgU1fxC1eyinpwqzXPEYu0NrYzD3YZjlGjyftdLBTeqNblRC0jmJmgxbJIsQlyogVeGnrNaaMVzIg==
dependencies:
- "@octokit/openapi-types" "^12.11.0"
+ "@octokit/openapi-types" "^18.0.0"
-"@octokit/types@^8.1.1":
- version "8.2.1"
- resolved "https://registry.yarnpkg.com/@octokit/types/-/types-8.2.1.tgz#a6de091ae68b5541f8d4fcf9a12e32836d4648aa"
- integrity sha512-8oWMUji8be66q2B9PmEIUyQm00VPDPun07umUWSaCwxmeaquFBro4Hcc3ruVoDo3zkQyZBlRvhIMEYS3pBhanw==
- dependencies:
- "@octokit/openapi-types" "^14.0.0"
-
-"@octokit/types@^9.0.0":
+"@octokit/types@^9.0.0", "@octokit/types@^9.2.3":
version "9.3.2"
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-9.3.2.tgz#3f5f89903b69f6a2d196d78ec35f888c0013cac5"
integrity sha512-D4iHGTdAnEEVsB8fl95m1hiz7D5YiRdQ9b/OEb3BYRVwbLsGHcRVPz+u+BgRLNk0Q0/4iZCBqDN96j2XNxfXrA==
@@ -5935,7 +5778,7 @@
dependencies:
argparse "^2.0.1"
-JSONStream@^1.0.4:
+JSONStream@^1.3.5:
version "1.3.5"
resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==
@@ -5953,18 +5796,6 @@ abbrev@1, abbrev@^1.0.0:
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-abbrev@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf"
- integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==
-
-abort-controller@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392"
- integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==
- dependencies:
- event-target-shim "^5.0.0"
-
accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8:
version "1.3.8"
resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
@@ -6221,7 +6052,7 @@ app-root-dir@^1.0.2:
resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118"
integrity sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==
-"aproba@^1.0.3 || ^2.0.0", aproba@^2.0.0:
+"aproba@^1.0.3 || ^2.0.0":
version "2.0.0"
resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
@@ -6247,14 +6078,6 @@ are-we-there-yet@^3.0.0:
delegates "^1.0.0"
readable-stream "^3.6.0"
-are-we-there-yet@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-4.0.1.tgz#05a6fc0e5f70771b673e82b0f915616e0ace8fd3"
- integrity sha512-2zuA+jpOYBRgoBCfa+fB87Rk0oGJjDX6pxGzqH6f33NzUhG25Xur6R0u0Z9VVAq8Z5JvQpQI6j6rtonuivC8QA==
- dependencies:
- delegates "^1.0.0"
- readable-stream "^4.1.0"
-
arg@^4.1.0:
version "4.1.3"
resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
@@ -6863,16 +6686,6 @@ big.js@^6.2.1:
resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.1.tgz#7205ce763efb17c2e41f26f121c420c6a7c2744f"
integrity sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ==
-bin-links@^4.0.1:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/bin-links/-/bin-links-4.0.2.tgz#13321472ea157e9530caded2b7281496d698665b"
- integrity sha512-jxJ0PbXR8eQyPlExCvCs3JFnikvs1Yp4gUJt6nmgathdOwvur+q22KWC3h20gvWl4T/14DXKj2IlkJwwZkZPOw==
- dependencies:
- cmd-shim "^6.0.0"
- npm-normalize-package-bin "^3.0.0"
- read-cmd-shim "^4.0.0"
- write-file-atomic "^5.0.0"
-
binary-extensions@^1.0.0:
version "1.13.1"
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
@@ -7152,14 +6965,6 @@ buffer@^5.5.0:
base64-js "^1.3.1"
ieee754 "^1.1.13"
-buffer@^6.0.3:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6"
- integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==
- dependencies:
- base64-js "^1.3.1"
- ieee754 "^1.2.1"
-
builtin-modules@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6"
@@ -7182,10 +6987,10 @@ builtins@^5.0.0:
dependencies:
semver "^7.0.0"
-byte-size@7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-7.0.0.tgz#36528cd1ca87d39bd9abd51f5715dc93b6ceb032"
- integrity sha512-NNiBxKgxybMBtWdmvx7ZITJi4ZG+CYUgwOSZTfqB1qogkRHrhbQE/R2r5Fh94X+InN5MCYz6SvB/ejHMj/HbsQ==
+byte-size@8.1.1:
+ version "8.1.1"
+ resolved "https://registry.yarnpkg.com/byte-size/-/byte-size-8.1.1.tgz#3424608c62d59de5bfda05d31e0313c6174842ae"
+ integrity sha512-tUkzZWK0M/qdoLEqikxBWe4kumyuwjl3HO6zHTr4yEI23EojPtLYXdG1+AQY7MN0cGyNDvEaJ8wiYQm6P2bPxg==
bytes@3.0.0:
version "3.0.0"
@@ -7260,31 +7065,7 @@ cacache@^15.0.5:
tar "^6.0.2"
unique-filename "^1.1.1"
-cacache@^16.1.0:
- version "16.1.3"
- resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e"
- integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==
- dependencies:
- "@npmcli/fs" "^2.1.0"
- "@npmcli/move-file" "^2.0.0"
- chownr "^2.0.0"
- fs-minipass "^2.1.0"
- glob "^8.0.1"
- infer-owner "^1.0.4"
- lru-cache "^7.7.1"
- minipass "^3.1.6"
- minipass-collect "^1.0.2"
- minipass-flush "^1.0.5"
- minipass-pipeline "^1.2.4"
- mkdirp "^1.0.4"
- p-map "^4.0.0"
- promise-inflight "^1.0.1"
- rimraf "^3.0.2"
- ssri "^9.0.0"
- tar "^6.1.11"
- unique-filename "^2.0.0"
-
-cacache@^17.0.0, cacache@^17.0.4:
+cacache@^17.0.0:
version "17.1.4"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-17.1.4.tgz#b3ff381580b47e85c6e64f801101508e26604b35"
integrity sha512-/aJwG2l3ZMJ1xNAnqbMpA40of9dj/pIH3QfiuQSqjfPJF747VR0J/bHn+/KdNnHKc6XQcWt/AfRSBft82W1d2A==
@@ -7731,14 +7512,7 @@ clsx@^2.0.0:
resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b"
integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==
-cmd-shim@5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-5.0.0.tgz#8d0aaa1a6b0708630694c4dbde070ed94c707724"
- integrity sha512-qkCtZ59BidfEwHltnJwkyVZn+XQojdAySM1D1gSeh11Z4pW1Kpolkyo53L5noc0nrxmIvyFwTmJRo4xs7FFLPw==
- dependencies:
- mkdirp-infer-owner "^2.0.0"
-
-cmd-shim@^6.0.0:
+cmd-shim@6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/cmd-shim/-/cmd-shim-6.0.1.tgz#a65878080548e1dca760b3aea1e21ed05194da9d"
integrity sha512-S9iI9y0nKR4hwEQsVWpyxld/6kRfGepGfzff83FcaiEBpmvlbA2nnGe7Cylgrx2f/p1P5S5wpRm9oL8z1PbS3Q==
@@ -7906,11 +7680,6 @@ commander@~9.4.0:
resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd"
integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==
-common-ancestor-path@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz#4f7d2d1394d91b7abdf51871c62f71eadb0182a7"
- integrity sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==
-
common-path-prefix@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0"
@@ -7979,14 +7748,6 @@ concat-stream@^2.0.0:
readable-stream "^3.0.2"
typedarray "^0.0.6"
-config-chain@1.1.12:
- version "1.1.12"
- resolved "https://registry.yarnpkg.com/config-chain/-/config-chain-1.1.12.tgz#0fde8d091200eb5e808caf25fe618c02f48e4efa"
- integrity sha512-a1eOIcu8+7lUInge4Rpf/n4Krkf3Dd9lqhljRzII1/Zno/kRtUWnznPO3jOKBmTEktkt3fkxisUcivoj0ebzoA==
- dependencies:
- ini "^1.3.4"
- proto-list "~1.2.1"
-
confusing-browser-globals@^1.0.10:
version "1.0.11"
resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81"
@@ -8024,87 +7785,78 @@ content-type@~1.0.4:
resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
-conventional-changelog-angular@5.0.12:
- version "5.0.12"
- resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.12.tgz#c979b8b921cbfe26402eb3da5bbfda02d865a2b9"
- integrity sha512-5GLsbnkR/7A89RyHLvvoExbiGbd9xKdKqDTrArnPbOqBqG/2wIosu0fHwpeIRI8Tl94MhVNBXcLJZl92ZQ5USw==
+conventional-changelog-angular@6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-6.0.0.tgz#a9a9494c28b7165889144fd5b91573c4aa9ca541"
+ integrity sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==
dependencies:
compare-func "^2.0.0"
- q "^1.5.1"
-conventional-changelog-core@4.2.4:
- version "4.2.4"
- resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-4.2.4.tgz#e50d047e8ebacf63fac3dc67bf918177001e1e9f"
- integrity sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==
+conventional-changelog-core@5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-core/-/conventional-changelog-core-5.0.1.tgz#3c331b155d5b9850f47b4760aeddfc983a92ad49"
+ integrity sha512-Rvi5pH+LvgsqGwZPZ3Cq/tz4ty7mjijhr3qR4m9IBXNbxGGYgTVVO+duXzz9aArmHxFtwZ+LRkrNIMDQzgoY4A==
dependencies:
add-stream "^1.0.0"
- conventional-changelog-writer "^5.0.0"
- conventional-commits-parser "^3.2.0"
- dateformat "^3.0.0"
- get-pkg-repo "^4.0.0"
- git-raw-commits "^2.0.8"
+ conventional-changelog-writer "^6.0.0"
+ conventional-commits-parser "^4.0.0"
+ dateformat "^3.0.3"
+ get-pkg-repo "^4.2.1"
+ git-raw-commits "^3.0.0"
git-remote-origin-url "^2.0.0"
- git-semver-tags "^4.1.1"
- lodash "^4.17.15"
- normalize-package-data "^3.0.0"
- q "^1.5.1"
+ git-semver-tags "^5.0.0"
+ normalize-package-data "^3.0.3"
read-pkg "^3.0.0"
read-pkg-up "^3.0.0"
- through2 "^4.0.0"
-conventional-changelog-preset-loader@^2.3.4:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-2.3.4.tgz#14a855abbffd59027fd602581f1f34d9862ea44c"
- integrity sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==
+conventional-changelog-preset-loader@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-preset-loader/-/conventional-changelog-preset-loader-3.0.0.tgz#14975ef759d22515d6eabae6396c2ae721d4c105"
+ integrity sha512-qy9XbdSLmVnwnvzEisjxdDiLA4OmV3o8db+Zdg4WiFw14fP3B6XNz98X0swPPpkTd/pc1K7+adKgEDM1JCUMiA==
-conventional-changelog-writer@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-5.0.1.tgz#e0757072f045fe03d91da6343c843029e702f359"
- integrity sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==
+conventional-changelog-writer@^6.0.0:
+ version "6.0.1"
+ resolved "https://registry.yarnpkg.com/conventional-changelog-writer/-/conventional-changelog-writer-6.0.1.tgz#d8d3bb5e1f6230caed969dcc762b1c368a8f7b01"
+ integrity sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==
dependencies:
- conventional-commits-filter "^2.0.7"
- dateformat "^3.0.0"
+ conventional-commits-filter "^3.0.0"
+ dateformat "^3.0.3"
handlebars "^4.7.7"
json-stringify-safe "^5.0.1"
- lodash "^4.17.15"
- meow "^8.0.0"
- semver "^6.0.0"
- split "^1.0.0"
- through2 "^4.0.0"
+ meow "^8.1.2"
+ semver "^7.0.0"
+ split "^1.0.1"
-conventional-commits-filter@^2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-2.0.7.tgz#f8d9b4f182fce00c9af7139da49365b136c8a0b3"
- integrity sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==
+conventional-commits-filter@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz#bf1113266151dd64c49cd269e3eb7d71d7015ee2"
+ integrity sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==
dependencies:
lodash.ismatch "^4.4.0"
- modify-values "^1.0.0"
+ modify-values "^1.0.1"
-conventional-commits-parser@^3.2.0:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-3.2.4.tgz#a7d3b77758a202a9b2293d2112a8d8052c740972"
- integrity sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==
+conventional-commits-parser@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/conventional-commits-parser/-/conventional-commits-parser-4.0.0.tgz#02ae1178a381304839bce7cea9da5f1b549ae505"
+ integrity sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==
dependencies:
- JSONStream "^1.0.4"
+ JSONStream "^1.3.5"
is-text-path "^1.0.1"
- lodash "^4.17.15"
- meow "^8.0.0"
- split2 "^3.0.0"
- through2 "^4.0.0"
+ meow "^8.1.2"
+ split2 "^3.2.2"
-conventional-recommended-bump@6.1.0:
- version "6.1.0"
- resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-6.1.0.tgz#cfa623285d1de554012f2ffde70d9c8a22231f55"
- integrity sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==
+conventional-recommended-bump@7.0.1:
+ version "7.0.1"
+ resolved "https://registry.yarnpkg.com/conventional-recommended-bump/-/conventional-recommended-bump-7.0.1.tgz#ec01f6c7f5d0e2491c2d89488b0d757393392424"
+ integrity sha512-Ft79FF4SlOFvX4PkwFDRnaNiIVX7YbmqGU0RwccUaiGvgp3S0a8ipR2/Qxk31vclDNM+GSdJOVs2KrsUCjblVA==
dependencies:
concat-stream "^2.0.0"
- conventional-changelog-preset-loader "^2.3.4"
- conventional-commits-filter "^2.0.7"
- conventional-commits-parser "^3.2.0"
- git-raw-commits "^2.0.8"
- git-semver-tags "^4.1.1"
- meow "^8.0.0"
- q "^1.5.1"
+ conventional-changelog-preset-loader "^3.0.0"
+ conventional-commits-filter "^3.0.0"
+ conventional-commits-parser "^4.0.0"
+ git-raw-commits "^3.0.0"
+ git-semver-tags "^5.0.0"
+ meow "^8.1.2"
convert-source-map@^1.4.0, convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
version "1.9.0"
@@ -8177,17 +7929,6 @@ core-util-is@~1.0.0:
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
-cosmiconfig@7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.0.tgz#ef9b44d773959cae63ddecd122de23853b60f8d3"
- integrity sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==
- dependencies:
- "@types/parse-json" "^4.0.0"
- import-fresh "^3.2.1"
- parse-json "^5.0.0"
- path-type "^4.0.0"
- yaml "^1.10.0"
-
cosmiconfig@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-6.0.0.tgz#da4fee853c52f6b1e6935f41c1a2fc50bd4a9982"
@@ -8210,6 +7951,16 @@ cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
path-type "^4.0.0"
yaml "^1.10.0"
+cosmiconfig@^8.2.0:
+ version "8.3.6"
+ resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-8.3.6.tgz#060a2b871d66dba6c8538ea1118ba1ac16f5fae3"
+ integrity sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==
+ dependencies:
+ import-fresh "^3.3.0"
+ js-yaml "^4.1.0"
+ parse-json "^5.2.0"
+ path-type "^4.0.0"
+
cosmjs-types@^0.4.1:
version "0.4.1"
resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.4.1.tgz#3b2a53ba60d33159dd075596ce8267cfa7027063"
@@ -8337,11 +8088,6 @@ crypto-browserify@^3.11.0:
randombytes "^2.0.0"
randomfill "^1.0.3"
-crypto-random-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
- integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
-
css-declaration-sorter@^6.3.1:
version "6.4.1"
resolved "https://registry.yarnpkg.com/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz#28beac7c20bad7f1775be3a7129d7eae409a3a71"
@@ -8820,7 +8566,7 @@ date-fns@^2.24.0, date-fns@^2.28.0:
dependencies:
"@babel/runtime" "^7.21.0"
-dateformat@^3.0.0:
+dateformat@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
@@ -9023,20 +8769,6 @@ del@^4.1.1:
pify "^4.0.1"
rimraf "^2.6.3"
-del@^6.0.0:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a"
- integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==
- dependencies:
- globby "^11.0.1"
- graceful-fs "^4.2.4"
- is-glob "^4.0.1"
- is-path-cwd "^2.2.0"
- is-path-inside "^3.0.2"
- p-map "^4.0.0"
- rimraf "^3.0.2"
- slash "^3.0.0"
-
delayed-stream@~1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
@@ -9057,7 +8789,7 @@ depd@~1.1.2:
resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
-deprecation@^2.0.0, deprecation@^2.3.1:
+deprecation@^2.0.0:
version "2.3.1"
resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
@@ -9323,13 +9055,6 @@ dot-case@^3.0.4:
no-case "^3.0.4"
tslib "^2.0.3"
-dot-prop@6.0.1:
- version "6.0.1"
- resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083"
- integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==
- dependencies:
- is-obj "^2.0.0"
-
dot-prop@^5.1.0:
version "5.3.0"
resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@@ -9349,6 +9074,11 @@ dotenv-expand@^5.1.0:
resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-5.1.0.tgz#3fbaf020bfd794884072ea26b1e9791d45a629f0"
integrity sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==
+dotenv-expand@~10.0.0:
+ version "10.0.0"
+ resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37"
+ integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==
+
dotenv-webpack@^7.0.3:
version "7.1.1"
resolved "https://registry.yarnpkg.com/dotenv-webpack/-/dotenv-webpack-7.1.1.tgz#ee8a699e1d736fd8eb9363fbc7054cfff1bd9dbf"
@@ -9363,7 +9093,7 @@ dotenv-webpack@^8.0.1:
dependencies:
dotenv-defaults "^2.0.2"
-dotenv@^16.0.3:
+dotenv@^16.0.3, dotenv@~16.3.1:
version "16.3.1"
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.3.1.tgz#369034de7d7e5b120972693352a3bf112172cc3e"
integrity sha512-IPzF4w4/Rd94bA9imS68tZBaYyBWSCE47V1RGuMrB94iyTOIEwRmVL2x/4An+6mETpLrKJ5hQkB8W4kFAadeIQ==
@@ -9373,11 +9103,6 @@ dotenv@^8.0.0, dotenv@^8.2.0:
resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-8.6.0.tgz#061af664d19f7f4d8fc6e4ff9b584ce237adcb8b"
integrity sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==
-dotenv@~10.0.0:
- version "10.0.0"
- resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81"
- integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==
-
duplexer@^0.1.1:
version "0.1.2"
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
@@ -9528,7 +9253,12 @@ env-paths@^2.2.0:
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
-envinfo@^7.7.3, envinfo@^7.7.4:
+envinfo@7.8.1:
+ version "7.8.1"
+ resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
+ integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
+
+envinfo@^7.7.3:
version "7.10.0"
resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.10.0.tgz#55146e3909cc5fe63c22da63fb15b05aeac35b13"
integrity sha512-ZtUjZO6l5mwTHvc1L9+1q5p/R3wTopcfqMW8r5t8SJSKqeVI/LtajORwRFEKpEFuekjD0VBjwu1HMxL4UalIRw==
@@ -10190,17 +9920,12 @@ event-emitter@^0.3.5:
d "1"
es5-ext "~0.10.14"
-event-target-shim@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789"
- integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==
-
eventemitter3@^4.0.0, eventemitter3@^4.0.1, eventemitter3@^4.0.4:
version "4.0.7"
resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
-events@^3.0.0, events@^3.2.0, events@^3.3.0:
+events@^3.0.0, events@^3.2.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
@@ -10590,11 +10315,6 @@ file-uri-to-path@1.0.0:
resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
-file-url@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/file-url/-/file-url-3.0.0.tgz#247a586a746ce9f7a8ed05560290968afc262a77"
- integrity sha512-g872QGsHexznxkIAdK8UiZRe7SkE6kvylShU4Nsj8NvfvZag7S0QuQ4IgvPDkk75HxgjIVDwycFTDAgIiO4nDA==
-
filelist@^1.0.4:
version "1.0.4"
resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
@@ -10892,7 +10612,7 @@ fs-constants@^1.0.0:
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
-fs-extra@11.1.1, fs-extra@^11.1.0:
+fs-extra@11.1.1, fs-extra@^11.1.0, fs-extra@^11.1.1:
version "11.1.1"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.1.tgz#da69f7c39f3b002378b0954bb6ae7efdc0876e2d"
integrity sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==
@@ -10901,16 +10621,6 @@ fs-extra@11.1.1, fs-extra@^11.1.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
-fs-extra@9.1.0, fs-extra@^9.0.0, fs-extra@^9.0.1, fs-extra@^9.1.0:
- version "9.1.0"
- resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
- integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
- dependencies:
- at-least-node "^1.0.0"
- graceful-fs "^4.2.0"
- jsonfile "^6.0.1"
- universalify "^2.0.0"
-
fs-extra@^10.0.0, fs-extra@^10.1.0:
version "10.1.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
@@ -10920,7 +10630,17 @@ fs-extra@^10.0.0, fs-extra@^10.1.0:
jsonfile "^6.0.1"
universalify "^2.0.0"
-fs-minipass@^2.0.0, fs-minipass@^2.1.0:
+fs-extra@^9.0.0, fs-extra@^9.0.1:
+ version "9.1.0"
+ resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+ integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+ dependencies:
+ at-least-node "^1.0.0"
+ graceful-fs "^4.2.0"
+ jsonfile "^6.0.1"
+ universalify "^2.0.0"
+
+fs-minipass@^2.0.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
@@ -11021,20 +10741,6 @@ gauge@^4.0.3:
strip-ansi "^6.0.1"
wide-align "^1.1.5"
-gauge@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/gauge/-/gauge-5.0.1.tgz#1efc801b8ff076b86ef3e9a7a280a975df572112"
- integrity sha512-CmykPMJGuNan/3S4kZOpvvPYSNqSHANiWnh9XcMU2pSjtBfF0XzZ2p1bFAxTbnFxyBuPxQYHhzwaoOmUdqzvxQ==
- dependencies:
- aproba "^1.0.3 || ^2.0.0"
- color-support "^1.1.3"
- console-control-strings "^1.1.0"
- has-unicode "^2.0.1"
- signal-exit "^4.0.1"
- string-width "^4.2.3"
- strip-ansi "^6.0.1"
- wide-align "^1.1.5"
-
gensync@^1.0.0-beta.1, gensync@^1.0.0-beta.2:
version "1.0.0-beta.2"
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@@ -11060,7 +10766,7 @@ get-package-type@^0.1.0:
resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a"
integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==
-get-pkg-repo@^4.0.0:
+get-pkg-repo@^4.2.1:
version "4.2.1"
resolved "https://registry.yarnpkg.com/get-pkg-repo/-/get-pkg-repo-4.2.1.tgz#75973e1c8050c73f48190c52047c4cee3acbf385"
integrity sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==
@@ -11110,16 +10816,14 @@ get-value@^2.0.3, get-value@^2.0.6:
resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==
-git-raw-commits@^2.0.8:
- version "2.0.11"
- resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723"
- integrity sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==
+git-raw-commits@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-3.0.0.tgz#5432f053a9744f67e8db03dbc48add81252cfdeb"
+ integrity sha512-b5OHmZ3vAgGrDn/X0kS+9qCfNKWe4K/jFnhwzVWWg0/k5eLa3060tZShrRg8Dja5kPc+YjS0Gc6y7cRr44Lpjw==
dependencies:
dargs "^7.0.0"
- lodash "^4.17.15"
- meow "^8.0.0"
- split2 "^3.0.0"
- through2 "^4.0.0"
+ meow "^8.1.2"
+ split2 "^3.2.2"
git-remote-origin-url@^2.0.0:
version "2.0.0"
@@ -11129,13 +10833,13 @@ git-remote-origin-url@^2.0.0:
gitconfiglocal "^1.0.0"
pify "^2.3.0"
-git-semver-tags@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-4.1.1.tgz#63191bcd809b0ec3e151ba4751c16c444e5b5780"
- integrity sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==
+git-semver-tags@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/git-semver-tags/-/git-semver-tags-5.0.1.tgz#db748aa0e43d313bf38dcd68624d8443234e1c15"
+ integrity sha512-hIvOeZwRbQ+7YEUmCkHqo8FOLQZCEn18yevLHADlFPZY02KJGsu5FZt9YW/lybfK2uhWFI7Qg/07LekJiTv7iA==
dependencies:
- meow "^8.0.0"
- semver "^6.0.0"
+ meow "^8.1.2"
+ semver "^7.0.0"
git-up@^7.0.0:
version "7.0.0"
@@ -11303,7 +11007,7 @@ globalthis@^1.0.0, globalthis@^1.0.1, globalthis@^1.0.3:
dependencies:
define-properties "^1.1.3"
-globby@11.1.0, globby@^11.0.1, globby@^11.0.2, globby@^11.1.0:
+globby@11.1.0, globby@^11.0.2, globby@^11.1.0:
version "11.1.0"
resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
@@ -11358,12 +11062,7 @@ gopd@^1.0.1:
dependencies:
get-intrinsic "^1.1.3"
-graceful-fs@4.2.10:
- version "4.2.10"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
- integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
-
-graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
+graceful-fs@4.2.11, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
@@ -11378,7 +11077,7 @@ handle-thing@^2.0.0:
resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
-handlebars@^4.7.7:
+handlebars@^4.7.7, handlebars@^4.7.8:
version "4.7.8"
resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9"
integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==
@@ -11640,14 +11339,7 @@ hosted-git-info@^4.0.0, hosted-git-info@^4.0.1:
dependencies:
lru-cache "^6.0.0"
-hosted-git-info@^5.0.0:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f"
- integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw==
- dependencies:
- lru-cache "^7.5.1"
-
-hosted-git-info@^6.0.0, hosted-git-info@^6.1.1:
+hosted-git-info@^6.0.0:
version "6.1.1"
resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-6.1.1.tgz#629442c7889a69c05de604d52996b74fe6f26d58"
integrity sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==
@@ -11753,7 +11445,7 @@ htmlparser2@^6.1.0:
domutils "^2.5.2"
entities "^2.0.0"
-http-cache-semantics@^4.1.0, http-cache-semantics@^4.1.1:
+http-cache-semantics@^4.1.1:
version "4.1.1"
resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a"
integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==
@@ -11890,7 +11582,7 @@ icss-utils@^5.0.0, icss-utils@^5.1.0:
resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
-ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1:
+ieee754@^1.1.13, ieee754@^1.1.4:
version "1.2.1"
resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
@@ -11934,7 +11626,7 @@ immediate@~3.0.5:
resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
-import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1:
+import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1, import-fresh@^3.3.0:
version "3.3.0"
resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
@@ -11942,7 +11634,7 @@ import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1:
parent-module "^1.0.0"
resolve-from "^4.0.0"
-import-local@^3.0.2:
+import-local@3.1.0, import-local@^3.0.2:
version "3.1.0"
resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4"
integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==
@@ -11990,50 +11682,29 @@ inherits@2.0.3:
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
-ini@^1.3.2, ini@^1.3.4, ini@~1.3.0:
+ini@^1.3.2, ini@^1.3.8, ini@~1.3.0:
version "1.3.8"
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
-init-package-json@3.0.2, init-package-json@^3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-3.0.2.tgz#f5bc9bac93f2bdc005778bc2271be642fecfcd69"
- integrity sha512-YhlQPEjNFqlGdzrBfDNRLhvoSgX7iQRgSxgsNknRQ9ITXFT7UMfVMWhBTOh2Y+25lRnGrv5Xz8yZwQ3ACR6T3A==
+init-package-json@5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-5.0.0.tgz#030cf0ea9c84cfc1b0dc2e898b45d171393e4b40"
+ integrity sha512-kBhlSheBfYmq3e0L1ii+VKe3zBTLL5lDCDWR+f9dLmEGSB3MqLlMlsolubSsyI88Bg6EA+BIMlomAnQ1SwgQBw==
dependencies:
- npm-package-arg "^9.0.1"
- promzard "^0.3.0"
- read "^1.0.7"
- read-package-json "^5.0.0"
+ npm-package-arg "^10.0.0"
+ promzard "^1.0.0"
+ read "^2.0.0"
+ read-package-json "^6.0.0"
semver "^7.3.5"
validate-npm-package-license "^3.0.4"
- validate-npm-package-name "^4.0.0"
+ validate-npm-package-name "^5.0.0"
inline-style-parser@0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
-inquirer@8.2.4:
- version "8.2.4"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.4.tgz#ddbfe86ca2f67649a67daa6f1051c128f684f0b4"
- integrity sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==
- dependencies:
- ansi-escapes "^4.2.1"
- chalk "^4.1.1"
- cli-cursor "^3.1.0"
- cli-width "^3.0.0"
- external-editor "^3.0.3"
- figures "^3.0.0"
- lodash "^4.17.21"
- mute-stream "0.0.8"
- ora "^5.4.1"
- run-async "^2.4.0"
- rxjs "^7.5.5"
- string-width "^4.1.0"
- strip-ansi "^6.0.0"
- through "^2.3.6"
- wrap-ansi "^7.0.0"
-
inquirer@^8.2.4:
version "8.2.6"
resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-8.2.6.tgz#733b74888195d8d400a67ac332011b5fae5ea562"
@@ -12229,7 +11900,14 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
-is-ci@2.0.0, is-ci@^2.0.0:
+is-ci@3.0.1:
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867"
+ integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==
+ dependencies:
+ ci-info "^3.2.0"
+
+is-ci@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
@@ -12439,7 +12117,7 @@ is-object@^1.0.1:
resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf"
integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==
-is-path-cwd@^2.0.0, is-path-cwd@^2.2.0:
+is-path-cwd@^2.0.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
@@ -12458,7 +12136,7 @@ is-path-inside@^2.1.0:
dependencies:
path-is-inside "^1.0.2"
-is-path-inside@^3.0.2, is-path-inside@^3.0.3:
+is-path-inside@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
@@ -12963,6 +12641,16 @@ jest-config@^29.7.0:
slash "^3.0.0"
strip-json-comments "^3.1.1"
+"jest-diff@>=29.4.3 < 30", jest-diff@^29.7.0:
+ version "29.7.0"
+ resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a"
+ integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==
+ dependencies:
+ chalk "^4.0.0"
+ diff-sequences "^29.6.3"
+ jest-get-type "^29.6.3"
+ pretty-format "^29.7.0"
+
jest-diff@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def"
@@ -12983,16 +12671,6 @@ jest-diff@^28.1.3:
jest-get-type "^28.0.2"
pretty-format "^28.1.3"
-jest-diff@^29.7.0:
- version "29.7.0"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a"
- integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==
- dependencies:
- chalk "^4.0.0"
- diff-sequences "^29.6.3"
- jest-get-type "^29.6.3"
- pretty-format "^29.7.0"
-
jest-docblock@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0"
@@ -13774,11 +13452,6 @@ json-stable-stringify-without-jsonify@^1.0.1:
resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
-json-stringify-nice@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/json-stringify-nice/-/json-stringify-nice-1.1.4.tgz#2c937962b80181d3f317dd39aa323e14f5a60a67"
- integrity sha512-5Z5RFW63yxReJ7vANgW6eZFGWaQvnPE3WNmZoOJrSkGju2etKA2L5rrOa1sm877TVTFt57A80BH1bArcmlLfPw==
-
json-stringify-safe@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
@@ -13900,16 +13573,6 @@ junk@^3.1.0:
resolved "https://registry.yarnpkg.com/junk/-/junk-3.1.0.tgz#31499098d902b7e98c5d9b9c80f43457a88abfa1"
integrity sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==
-just-diff-apply@^5.2.0:
- version "5.5.0"
- resolved "https://registry.yarnpkg.com/just-diff-apply/-/just-diff-apply-5.5.0.tgz#771c2ca9fa69f3d2b54e7c3f5c1dfcbcc47f9f0f"
- integrity sha512-OYTthRfSh55WOItVqwpefPtNt2VdKsq5AnAK6apdtR6yCH8pr0CmSr710J0Mf+WdQy7K/OzMy7K2MgAfdQURDw==
-
-just-diff@^6.0.0:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/just-diff/-/just-diff-6.0.2.tgz#03b65908543ac0521caf6d8eb85035f7d27ea285"
- integrity sha512-S59eriX5u3/QhMNq3v/gm8Kd0w8OS6Tz2FS1NG4blv+z0MuQcBRJyFWjdovM0Rad4/P4aUPFtnkNjMjyMlMSYA==
-
keyv@^4.5.3:
version "4.5.3"
resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.3.tgz#00873d2b046df737963157bd04f294ca818c9c25"
@@ -13987,84 +13650,83 @@ lazy-universal-dotenv@^3.0.1:
dotenv "^8.0.0"
dotenv-expand "^5.1.0"
-lerna@^6.6.2:
- version "6.6.2"
- resolved "https://registry.yarnpkg.com/lerna/-/lerna-6.6.2.tgz#ad921f913aca4e7307123a598768b6f15ca5804f"
- integrity sha512-W4qrGhcdutkRdHEaDf9eqp7u4JvI+1TwFy5woX6OI8WPe4PYBdxuILAsvhp614fUG41rKSGDKlOh+AWzdSidTg==
+lerna@^7.3.0:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/lerna/-/lerna-7.3.0.tgz#efecafbdce15694e2f6841256e073a3a2061053e"
+ integrity sha512-Dt8TH+J+c9+3MhTYcm5OxnNzXb87WG7GPNj3kidjYJjJY7KxIMDNU37qBTYRWA1h3wAeNKBplXVQYUPkGcYgkQ==
dependencies:
- "@lerna/child-process" "6.6.2"
- "@lerna/create" "6.6.2"
- "@lerna/legacy-package-management" "6.6.2"
- "@npmcli/arborist" "6.2.3"
- "@npmcli/run-script" "4.1.7"
- "@nrwl/devkit" ">=15.5.2 < 16"
+ "@lerna/child-process" "7.3.0"
+ "@lerna/create" "7.3.0"
+ "@npmcli/run-script" "6.0.2"
+ "@nx/devkit" ">=16.5.1 < 17"
"@octokit/plugin-enterprise-rest" "6.0.1"
- "@octokit/rest" "19.0.3"
- byte-size "7.0.0"
+ "@octokit/rest" "19.0.11"
+ byte-size "8.1.1"
chalk "4.1.0"
clone-deep "4.0.1"
- cmd-shim "5.0.0"
+ cmd-shim "6.0.1"
columnify "1.6.0"
- config-chain "1.1.12"
- conventional-changelog-angular "5.0.12"
- conventional-changelog-core "4.2.4"
- conventional-recommended-bump "6.1.0"
- cosmiconfig "7.0.0"
+ conventional-changelog-angular "6.0.0"
+ conventional-changelog-core "5.0.1"
+ conventional-recommended-bump "7.0.1"
+ cosmiconfig "^8.2.0"
dedent "0.7.0"
- dot-prop "6.0.1"
- envinfo "^7.7.4"
+ envinfo "7.8.1"
execa "5.0.0"
- fs-extra "9.1.0"
+ fs-extra "^11.1.1"
get-port "5.1.1"
get-stream "6.0.0"
git-url-parse "13.1.0"
glob-parent "5.1.2"
globby "11.1.0"
- graceful-fs "4.2.10"
+ graceful-fs "4.2.11"
has-unicode "2.0.1"
- import-local "^3.0.2"
- init-package-json "3.0.2"
+ import-local "3.1.0"
+ ini "^1.3.8"
+ init-package-json "5.0.0"
inquirer "^8.2.4"
- is-ci "2.0.0"
+ is-ci "3.0.1"
is-stream "2.0.0"
- js-yaml "^4.1.0"
- libnpmaccess "^6.0.3"
- libnpmpublish "7.1.4"
+ jest-diff ">=29.4.3 < 30"
+ js-yaml "4.1.0"
+ libnpmaccess "7.0.2"
+ libnpmpublish "7.3.0"
load-json-file "6.2.0"
- make-dir "3.1.0"
+ lodash "^4.17.21"
+ make-dir "4.0.0"
minimatch "3.0.5"
multimatch "5.0.0"
node-fetch "2.6.7"
npm-package-arg "8.1.1"
npm-packlist "5.1.1"
- npm-registry-fetch "^14.0.3"
+ npm-registry-fetch "^14.0.5"
npmlog "^6.0.2"
- nx ">=15.5.2 < 16"
+ nx ">=16.5.1 < 17"
p-map "4.0.0"
p-map-series "2.1.0"
p-pipe "3.1.0"
p-queue "6.6.2"
p-reduce "2.1.0"
p-waterfall "2.1.1"
- pacote "15.1.1"
+ pacote "^15.2.0"
pify "5.0.0"
- read-cmd-shim "3.0.0"
- read-package-json "5.0.1"
+ read-cmd-shim "4.0.0"
+ read-package-json "6.0.4"
resolve-from "5.0.0"
rimraf "^4.4.1"
semver "^7.3.8"
signal-exit "3.0.7"
slash "3.0.0"
- ssri "9.0.1"
+ ssri "^9.0.1"
strong-log-transformer "2.1.0"
tar "6.1.11"
temp-dir "1.0.0"
- typescript "^3 || ^4"
- upath "^2.0.1"
- uuid "8.3.2"
+ typescript ">=3 < 6"
+ upath "2.0.1"
+ uuid "^9.0.0"
validate-npm-package-license "3.0.4"
- validate-npm-package-name "4.0.0"
- write-file-atomic "4.0.1"
+ validate-npm-package-name "5.0.0"
+ write-file-atomic "5.0.1"
write-pkg "4.0.0"
yargs "16.2.0"
yargs-parser "20.2.4"
@@ -14082,20 +13744,18 @@ levn@^0.4.1:
prelude-ls "^1.2.1"
type-check "~0.4.0"
-libnpmaccess@^6.0.3:
- version "6.0.4"
- resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-6.0.4.tgz#2dd158bd8a071817e2207d3b201d37cf1ad6ae6b"
- integrity sha512-qZ3wcfIyUoW0+qSFkMBovcTrSGJ3ZeyvpR7d5N9pEYv/kXs8sHP2wiqEIXBKLFrZlmM0kR0RJD7mtfLngtlLag==
+libnpmaccess@7.0.2:
+ version "7.0.2"
+ resolved "https://registry.yarnpkg.com/libnpmaccess/-/libnpmaccess-7.0.2.tgz#7f056c8c933dd9c8ba771fa6493556b53c5aac52"
+ integrity sha512-vHBVMw1JFMTgEk15zRsJuSAg7QtGGHpUSEfnbcRL1/gTBag9iEfJbyjpDmdJmwMhvpoLoNBtdAUCdGnaP32hhw==
dependencies:
- aproba "^2.0.0"
- minipass "^3.1.1"
- npm-package-arg "^9.0.1"
- npm-registry-fetch "^13.0.0"
+ npm-package-arg "^10.1.0"
+ npm-registry-fetch "^14.0.3"
-libnpmpublish@7.1.4:
- version "7.1.4"
- resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-7.1.4.tgz#a0d138e00e52a0c71ffc82273acf0082fc2dfb36"
- integrity sha512-mMntrhVwut5prP4rJ228eEbEyvIzLWhqFuY90j5QeXBCTT2pWSMno7Yo2S2qplPUr02zPurGH4heGLZ+wORczg==
+libnpmpublish@7.3.0:
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/libnpmpublish/-/libnpmpublish-7.3.0.tgz#2ceb2b36866d75a6cd7b4aa748808169f4d17e37"
+ integrity sha512-fHUxw5VJhZCNSls0KLNEG0mCD2PN1i14gH5elGOgiVnU3VgTcRahagYP2LKI1m0tFCJ+XrAm0zVYyF5RCbXzcg==
dependencies:
ci-info "^3.6.1"
normalize-package-data "^5.0.0"
@@ -14410,12 +14070,12 @@ magic-string@^0.30.2:
dependencies:
"@jridgewell/sourcemap-codec" "^1.4.15"
-make-dir@3.1.0, make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
- integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+make-dir@4.0.0, make-dir@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e"
+ integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==
dependencies:
- semver "^6.0.0"
+ semver "^7.5.3"
make-dir@^2.0.0, make-dir@^2.1.0:
version "2.1.0"
@@ -14425,40 +14085,18 @@ make-dir@^2.0.0, make-dir@^2.1.0:
pify "^4.0.1"
semver "^5.6.0"
-make-dir@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e"
- integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==
+make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
dependencies:
- semver "^7.5.3"
+ semver "^6.0.0"
make-error@1.x, make-error@^1.1.1:
version "1.3.6"
resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
-make-fetch-happen@^10.0.6:
- version "10.2.1"
- resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164"
- integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==
- dependencies:
- agentkeepalive "^4.2.1"
- cacache "^16.1.0"
- http-cache-semantics "^4.1.0"
- http-proxy-agent "^5.0.0"
- https-proxy-agent "^5.0.0"
- is-lambda "^1.0.1"
- lru-cache "^7.7.1"
- minipass "^3.1.6"
- minipass-collect "^1.0.2"
- minipass-fetch "^2.0.3"
- minipass-flush "^1.0.5"
- minipass-pipeline "^1.2.4"
- negotiator "^0.6.3"
- promise-retry "^2.0.1"
- socks-proxy-agent "^7.0.0"
- ssri "^9.0.0"
-
make-fetch-happen@^11.0.0, make-fetch-happen@^11.0.1, make-fetch-happen@^11.0.3, make-fetch-happen@^11.1.1:
version "11.1.1"
resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz#85ceb98079584a9523d4bf71d32996e7e208549f"
@@ -14797,7 +14435,7 @@ meow@^3.1.0:
redent "^1.0.0"
trim-newlines "^1.0.0"
-meow@^8.0.0:
+meow@^8.1.2:
version "8.1.2"
resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897"
integrity sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==
@@ -15261,13 +14899,6 @@ minimatch@^5.0.1, minimatch@^5.1.0:
dependencies:
brace-expansion "^2.0.1"
-minimatch@^6.1.6:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-6.2.0.tgz#2b70fd13294178c69c04dfc05aebdb97a4e79e42"
- integrity sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==
- dependencies:
- brace-expansion "^2.0.1"
-
minimatch@^8.0.2:
version "8.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-8.0.4.tgz#847c1b25c014d4e9a7f68aaf63dedd668a626229"
@@ -15303,17 +14934,6 @@ minipass-collect@^1.0.2:
dependencies:
minipass "^3.0.0"
-minipass-fetch@^2.0.3:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add"
- integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==
- dependencies:
- minipass "^3.1.6"
- minipass-sized "^1.0.3"
- minizlib "^2.1.2"
- optionalDependencies:
- encoding "^0.1.13"
-
minipass-fetch@^3.0.0:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-3.0.4.tgz#4d4d9b9f34053af6c6e597a64be8e66e42bf45b7"
@@ -15354,14 +14974,14 @@ minipass-sized@^1.0.3:
dependencies:
minipass "^3.0.0"
-minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6:
+minipass@^3.0.0, minipass@^3.1.1:
version "3.3.6"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a"
integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
dependencies:
yallist "^4.0.0"
-minipass@^4.0.0, minipass@^4.2.4:
+minipass@^4.2.4:
version "4.2.8"
resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.2.8.tgz#f0010f64393ecfc1d1ccb5f582bcaf45f48e1a3a"
integrity sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==
@@ -15413,15 +15033,6 @@ mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
-mkdirp-infer-owner@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316"
- integrity sha512-sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==
- dependencies:
- chownr "^2.0.0"
- infer-owner "^1.0.4"
- mkdirp "^1.0.3"
-
mkdirp@^0.5.1, mkdirp@^0.5.3:
version "0.5.6"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
@@ -15461,7 +15072,7 @@ mocha@^10.0.0:
yargs-parser "20.2.4"
yargs-unparser "2.0.0"
-modify-values@^1.0.0:
+modify-values@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==
@@ -15529,11 +15140,16 @@ multimatch@5.0.0:
arrify "^2.0.1"
minimatch "^3.0.4"
-mute-stream@0.0.8, mute-stream@~0.0.4:
+mute-stream@0.0.8:
version "0.0.8"
resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
+mute-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-1.0.0.tgz#e31bd9fe62f0aed23520aa4324ea6671531e013e"
+ integrity sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==
+
nan@^2.12.1:
version "2.18.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554"
@@ -15728,6 +15344,11 @@ node-libs-browser@^2.2.1:
util "^0.11.0"
vm-browserify "^1.0.1"
+node-machine-id@1.1.12:
+ version "1.1.12"
+ resolved "https://registry.yarnpkg.com/node-machine-id/-/node-machine-id-1.1.12.tgz#37904eee1e59b320bb9c5d6c0a59f3b469cb6267"
+ integrity sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==
+
node-releases@^2.0.13:
version "2.0.13"
resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d"
@@ -15772,13 +15393,6 @@ nopt@^6.0.0:
dependencies:
abbrev "^1.0.0"
-nopt@^7.0.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/nopt/-/nopt-7.2.0.tgz#067378c68116f602f552876194fd11f1292503d7"
- integrity sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==
- dependencies:
- abbrev "^2.0.0"
-
nopt@~1.0.10:
version "1.0.10"
resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee"
@@ -15796,7 +15410,7 @@ normalize-package-data@^2.3.2, normalize-package-data@^2.3.4, normalize-package-
semver "2 || 3 || 4 || 5"
validate-npm-package-license "^3.0.1"
-normalize-package-data@^3.0.0:
+normalize-package-data@^3.0.0, normalize-package-data@^3.0.3:
version "3.0.3"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e"
integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==
@@ -15806,16 +15420,6 @@ normalize-package-data@^3.0.0:
semver "^7.3.4"
validate-npm-package-license "^3.0.1"
-normalize-package-data@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-4.0.1.tgz#b46b24e0616d06cadf9d5718b29b6d445a82a62c"
- integrity sha512-EBk5QKKuocMJhB3BILuKhmaPjI8vNRSpIfO9woLC6NyHVkKKdVEdAO1mrT0ZfxNR1lKwCcTkuZfmGIFdizZ8Pg==
- dependencies:
- hosted-git-info "^5.0.0"
- is-core-module "^2.8.1"
- semver "^7.3.5"
- validate-npm-package-license "^3.0.4"
-
normalize-package-data@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-5.0.0.tgz#abcb8d7e724c40d88462b84982f7cbf6859b4588"
@@ -15882,12 +15486,7 @@ npm-normalize-package-bin@^1.0.1:
resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz#6e79a41f23fd235c0623218228da7d9c23b8f6e2"
integrity sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==
-npm-normalize-package-bin@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-2.0.0.tgz#9447a1adaaf89d8ad0abe24c6c84ad614a675fff"
- integrity sha512-awzfKUO7v0FscrSpRoogyNm0sajikhBWpU0QMrW09AMi9n1PoKU6WaIqUzuJSQnpciZZmJ/jMZ2Egfmb/9LiWQ==
-
-npm-normalize-package-bin@^3.0.0, npm-normalize-package-bin@^3.0.1:
+npm-normalize-package-bin@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz#25447e32a9a7de1f51362c61a559233b89947832"
integrity sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==
@@ -15911,16 +15510,6 @@ npm-package-arg@^10.0.0, npm-package-arg@^10.1.0:
semver "^7.3.5"
validate-npm-package-name "^5.0.0"
-npm-package-arg@^9.0.1:
- version "9.1.2"
- resolved "https://registry.yarnpkg.com/npm-package-arg/-/npm-package-arg-9.1.2.tgz#fc8acecb00235f42270dda446f36926ddd9ac2bc"
- integrity sha512-pzd9rLEx4TfNJkovvlBSLGhq31gGu2QDexFPWT19yCDh0JgnRhlBLNo5759N0AJmBk+kQ9Y/hXoLnlgFD+ukmg==
- dependencies:
- hosted-git-info "^5.0.0"
- proc-log "^2.0.1"
- semver "^7.3.5"
- validate-npm-package-name "^4.0.0"
-
npm-packlist@5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/npm-packlist/-/npm-packlist-5.1.1.tgz#79bcaf22a26b6c30aa4dd66b976d69cc286800e0"
@@ -15938,7 +15527,7 @@ npm-packlist@^7.0.0:
dependencies:
ignore-walk "^6.0.0"
-npm-pick-manifest@^8.0.0, npm-pick-manifest@^8.0.1:
+npm-pick-manifest@^8.0.0:
version "8.0.2"
resolved "https://registry.yarnpkg.com/npm-pick-manifest/-/npm-pick-manifest-8.0.2.tgz#2159778d9c7360420c925c1a2287b5a884c713aa"
integrity sha512-1dKY+86/AIiq1tkKVD3l0WI+Gd3vkknVGAggsFeBkTvbhMQ1OND/LKkYv4JtXPKUJ8bOTCyLiqEg2P6QNdK+Gg==
@@ -15948,33 +15537,7 @@ npm-pick-manifest@^8.0.0, npm-pick-manifest@^8.0.1:
npm-package-arg "^10.0.0"
semver "^7.3.5"
-npm-registry-fetch@14.0.3:
- version "14.0.3"
- resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.3.tgz#8545e321c2b36d2c6fe6e009e77e9f0e527f547b"
- integrity sha512-YaeRbVNpnWvsGOjX2wk5s85XJ7l1qQBGAp724h8e2CZFFhMSuw9enom7K1mWVUtvXO1uUSFIAPofQK0pPN0ZcA==
- dependencies:
- make-fetch-happen "^11.0.0"
- minipass "^4.0.0"
- minipass-fetch "^3.0.0"
- minipass-json-stream "^1.0.1"
- minizlib "^2.1.2"
- npm-package-arg "^10.0.0"
- proc-log "^3.0.0"
-
-npm-registry-fetch@^13.0.0:
- version "13.3.1"
- resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-13.3.1.tgz#bb078b5fa6c52774116ae501ba1af2a33166af7e"
- integrity sha512-eukJPi++DKRTjSBRcDZSDDsGqRK3ehbxfFUcgaRd0Yp6kRwOwh2WVn0r+8rMB4nnuzvAk6rQVzl6K5CkYOmnvw==
- dependencies:
- make-fetch-happen "^10.0.6"
- minipass "^3.1.6"
- minipass-fetch "^2.0.3"
- minipass-json-stream "^1.0.1"
- minizlib "^2.1.2"
- npm-package-arg "^9.0.1"
- proc-log "^2.0.0"
-
-npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0.3:
+npm-registry-fetch@^14.0.0, npm-registry-fetch@^14.0.3, npm-registry-fetch@^14.0.5:
version "14.0.5"
resolved "https://registry.yarnpkg.com/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz#fe7169957ba4986a4853a650278ee02e568d115d"
integrity sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==
@@ -16016,16 +15579,6 @@ npm-run-path@^4.0.1:
dependencies:
path-key "^3.0.0"
-npmlog@6.0.2, npmlog@^6.0.0, npmlog@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830"
- integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==
- dependencies:
- are-we-there-yet "^3.0.0"
- console-control-strings "^1.1.0"
- gauge "^4.0.3"
- set-blocking "^2.0.0"
-
npmlog@^5.0.1:
version "5.0.1"
resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
@@ -16036,14 +15589,14 @@ npmlog@^5.0.1:
gauge "^3.0.0"
set-blocking "^2.0.0"
-npmlog@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-7.0.1.tgz#7372151a01ccb095c47d8bf1d0771a4ff1f53ac8"
- integrity sha512-uJ0YFk/mCQpLBt+bxN88AKd+gyqZvZDbtiNxk6Waqcj2aPRyfVx8ITawkyQynxUagInjdYT1+qj4NfA5KJJUxg==
+npmlog@^6.0.0, npmlog@^6.0.2:
+ version "6.0.2"
+ resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830"
+ integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==
dependencies:
- are-we-there-yet "^4.0.0"
+ are-we-there-yet "^3.0.0"
console-control-strings "^1.1.0"
- gauge "^5.0.0"
+ gauge "^4.0.3"
set-blocking "^2.0.0"
nth-check@^2.0.1:
@@ -16063,13 +15616,12 @@ nwsapi@^2.2.0:
resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30"
integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==
-nx@15.9.6, "nx@>=15.5.2 < 16":
- version "15.9.6"
- resolved "https://registry.yarnpkg.com/nx/-/nx-15.9.6.tgz#f14a02a7ac4f2fb61ef83198e8c2756660eca0f7"
- integrity sha512-lUICyOgcPTfGYNZpjpQP7ug669IomfssTzz68r+j83SpYKc6UuZrQMqazYenTFPJzEvG5FKGXOfFyONoLe36zQ==
+nx@16.8.1, "nx@>=16.5.1 < 17":
+ version "16.8.1"
+ resolved "https://registry.yarnpkg.com/nx/-/nx-16.8.1.tgz#b3b084da5f880c638debbefbf33eeccb96633595"
+ integrity sha512-K5KrwNdPz0eEe6SY5wrnhZcigjfIJkttPrIJRXNBQTE50NGcOfz1TjMXPdTWBxBCCua5PAealO3OrE8jpv+QnQ==
dependencies:
- "@nrwl/cli" "15.9.6"
- "@nrwl/tao" "15.9.6"
+ "@nrwl/tao" "16.8.1"
"@parcel/watcher" "2.0.4"
"@yarnpkg/lockfile" "^1.1.0"
"@yarnpkg/parsers" "3.0.0-rc.46"
@@ -16079,7 +15631,8 @@ nx@15.9.6, "nx@>=15.5.2 < 16":
cli-cursor "3.1.0"
cli-spinners "2.6.1"
cliui "^7.0.2"
- dotenv "~10.0.0"
+ dotenv "~16.3.1"
+ dotenv-expand "~10.0.0"
enquirer "~2.3.6"
fast-glob "3.2.7"
figures "3.2.0"
@@ -16091,9 +15644,10 @@ nx@15.9.6, "nx@>=15.5.2 < 16":
jsonc-parser "3.2.0"
lines-and-columns "~2.0.3"
minimatch "3.0.5"
+ node-machine-id "1.1.12"
npm-run-path "^4.0.1"
open "^8.4.0"
- semver "7.3.4"
+ semver "7.5.3"
string-width "^4.2.3"
strong-log-transformer "^2.1.0"
tar-stream "~2.2.0"
@@ -16104,15 +15658,16 @@ nx@15.9.6, "nx@>=15.5.2 < 16":
yargs "^17.6.2"
yargs-parser "21.1.1"
optionalDependencies:
- "@nrwl/nx-darwin-arm64" "15.9.6"
- "@nrwl/nx-darwin-x64" "15.9.6"
- "@nrwl/nx-linux-arm-gnueabihf" "15.9.6"
- "@nrwl/nx-linux-arm64-gnu" "15.9.6"
- "@nrwl/nx-linux-arm64-musl" "15.9.6"
- "@nrwl/nx-linux-x64-gnu" "15.9.6"
- "@nrwl/nx-linux-x64-musl" "15.9.6"
- "@nrwl/nx-win32-arm64-msvc" "15.9.6"
- "@nrwl/nx-win32-x64-msvc" "15.9.6"
+ "@nx/nx-darwin-arm64" "16.8.1"
+ "@nx/nx-darwin-x64" "16.8.1"
+ "@nx/nx-freebsd-x64" "16.8.1"
+ "@nx/nx-linux-arm-gnueabihf" "16.8.1"
+ "@nx/nx-linux-arm64-gnu" "16.8.1"
+ "@nx/nx-linux-arm64-musl" "16.8.1"
+ "@nx/nx-linux-x64-gnu" "16.8.1"
+ "@nx/nx-linux-x64-musl" "16.8.1"
+ "@nx/nx-win32-arm64-msvc" "16.8.1"
+ "@nx/nx-win32-x64-msvc" "16.8.1"
object-assign@^4.0.1, object-assign@^4.1.1:
version "4.1.1"
@@ -16489,31 +16044,7 @@ p-waterfall@2.1.1:
dependencies:
p-reduce "^2.0.0"
-pacote@15.1.1:
- version "15.1.1"
- resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.1.1.tgz#94d8c6e0605e04d427610b3aacb0357073978348"
- integrity sha512-eeqEe77QrA6auZxNHIp+1TzHQ0HBKf5V6c8zcaYZ134EJe1lCi+fjXATkNiEEfbG+e50nu02GLvUtmZcGOYabQ==
- dependencies:
- "@npmcli/git" "^4.0.0"
- "@npmcli/installed-package-contents" "^2.0.1"
- "@npmcli/promise-spawn" "^6.0.1"
- "@npmcli/run-script" "^6.0.0"
- cacache "^17.0.0"
- fs-minipass "^3.0.0"
- minipass "^4.0.0"
- npm-package-arg "^10.0.0"
- npm-packlist "^7.0.0"
- npm-pick-manifest "^8.0.0"
- npm-registry-fetch "^14.0.0"
- proc-log "^3.0.0"
- promise-retry "^2.0.1"
- read-package-json "^6.0.0"
- read-package-json-fast "^3.0.0"
- sigstore "^1.0.0"
- ssri "^10.0.0"
- tar "^6.1.11"
-
-pacote@^15.0.0, pacote@^15.0.8:
+pacote@^15.2.0:
version "15.2.0"
resolved "https://registry.yarnpkg.com/pacote/-/pacote-15.2.0.tgz#0f0dfcc3e60c7b39121b2ac612bf8596e95344d3"
integrity sha512-rJVZeIwHTUta23sIZgEIM62WYwbmGbThdbnkt81ravBplQv+HjyroqnLRNH2+sLJHcGZmLRmhPwACqhfTcOmnA==
@@ -16589,15 +16120,6 @@ parse-author@^2.0.0:
dependencies:
author-regex "^1.0.0"
-parse-conflict-json@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/parse-conflict-json/-/parse-conflict-json-3.0.1.tgz#67dc55312781e62aa2ddb91452c7606d1969960c"
- integrity sha512-01TvEktc68vwbJOtWZluyWeVGWjP+bZwXtPDMQVbBKzbJ/vZBif0L69KH1+cHv1SZ6e0FKLvjyHe8mqsIqYOmw==
- dependencies:
- json-parse-even-better-errors "^3.0.0"
- just-diff "^6.0.0"
- just-diff-apply "^5.2.0"
-
parse-entities@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8"
@@ -16822,7 +16344,7 @@ pidtree@^0.3.0:
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a"
integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==
-pify@5.0.0, pify@^5.0.0:
+pify@5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/pify/-/pify-5.0.0.tgz#1f5eca3f5e87ebec28cc6d54a0e4aaf00acc127f"
integrity sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==
@@ -17348,7 +16870,7 @@ postcss-reduce-transforms@^6.0.0:
dependencies:
postcss-value-parser "^4.2.0"
-postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.10, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9:
+postcss-selector-parser@^6.0.0, postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9:
version "6.0.13"
resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b"
integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==
@@ -17474,15 +16996,6 @@ pretty-error@^4.0.0:
lodash "^4.17.20"
renderkid "^3.0.0"
-pretty-format@29.4.3:
- version "29.4.3"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.4.3.tgz#25500ada21a53c9e8423205cf0337056b201244c"
- integrity sha512-cvpcHTc42lcsvOOAzd3XuNWTcvk1Jmnzqeu+WsOuiPmxUJTnkbAcFNsRKvEpBEUFVUgy/GTZLulZDcDEi+CIlA==
- dependencies:
- "@jest/schemas" "^29.4.3"
- ansi-styles "^5.0.0"
- react-is "^18.0.0"
-
pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.1:
version "27.5.1"
resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
@@ -17516,11 +17029,6 @@ pretty-hrtime@^1.0.3:
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==
-proc-log@^2.0.0, proc-log@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-2.0.1.tgz#8f3f69a1f608de27878f91f5c688b225391cb685"
- integrity sha512-Kcmo2FhfDTXdcbfDH76N7uBYHINxc/8GW7UAVuVP9I+Va3uHSerrnKV6dLooga/gh7GlgzuCCr/eoldnL1muGw==
-
proc-log@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/proc-log/-/proc-log-3.0.0.tgz#fb05ef83ccd64fd7b20bbe9c8c1070fc08338dd8"
@@ -17541,16 +17049,6 @@ progress@^2.0.0:
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
-promise-all-reject-late@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz#f8ebf13483e5ca91ad809ccc2fcf25f26f8643c2"
- integrity sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==
-
-promise-call-limit@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/promise-call-limit/-/promise-call-limit-1.0.2.tgz#f64b8dd9ef7693c9c7613e7dfe8d6d24de3031ea"
- integrity sha512-1vTUnfI2hzui8AEIixbdAJlFY4LFDXqQswy/2eOlThAscXCY4It8FdVuI0fMJGAB2aWGbdQf/gv0skKYXmdrHA==
-
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -17593,12 +17091,12 @@ prompts@^2.0.1, prompts@^2.4.0:
kleur "^3.0.3"
sisteransi "^1.0.5"
-promzard@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/promzard/-/promzard-0.3.0.tgz#26a5d6ee8c7dee4cb12208305acfb93ba382a9ee"
- integrity sha512-JZeYqd7UAcHCwI+sTOeUDYkvEU+1bQ7iE0UT1MgB/tERkAPkesW46MrpIySzODi+owTjZtiF8Ay5j9m60KmMBw==
+promzard@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/promzard/-/promzard-1.0.0.tgz#3246f8e6c9895a77c0549cefb65828ac0f6c006b"
+ integrity sha512-KQVDEubSUHGSt5xLakaToDFrSoZhStB8dXLzk2xvwR67gJktrHFvpR63oZgHyK19WKbHFLXJqCPXdVR3aBP8Ig==
dependencies:
- read "1"
+ read "^2.0.0"
prop-types@^15.0.0, prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1:
version "15.8.1"
@@ -17626,11 +17124,6 @@ property-information@^6.0.0:
resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.3.0.tgz#ba4a06ec6b4e1e90577df9931286953cdf4282c3"
integrity sha512-gVNZ74nqhRMiIUYWGQdosYetaKc83x8oT41a0LlV3AAFCAZwCpg4vmGkq8t34+cUhp3cnM4XDiU/7xlgK7HGrg==
-proto-list@~1.2.1:
- version "1.2.4"
- resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
- integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
-
protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3:
version "6.11.4"
resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.4.tgz#29a412c38bf70d89e537b6d02d904a6f448173aa"
@@ -17754,11 +17247,6 @@ pure-rand@^6.0.0:
resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.3.tgz#3c9e6b53c09e52ac3cedffc85ab7c1c7094b38cb"
integrity sha512-KddyFewCsO0j3+np81IQ+SweXLDnDQTs5s67BOnrYmYe/yNmUhttQyGsYzy8yUnoljGAQ9sl38YB4vH8ur7Y+w==
-q@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
- integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
-
qr.js@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/qr.js/-/qr.js-0.0.0.tgz#cace86386f59a0db8050fa90d9b6b0e88a1e364f"
@@ -18100,25 +17588,12 @@ react@^18.2.0:
dependencies:
loose-envify "^1.1.0"
-read-cmd-shim@3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-3.0.0.tgz#62b8c638225c61e6cc607f8f4b779f3b8238f155"
- integrity sha512-KQDVjGqhZk92PPNRj9ZEXEuqg8bUobSKRw+q0YQ3TKI5xkce7bUJobL4Z/OtiEbAAv70yEpYIXp4iQ9L8oPVog==
-
-read-cmd-shim@^4.0.0:
+read-cmd-shim@4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/read-cmd-shim/-/read-cmd-shim-4.0.0.tgz#640a08b473a49043e394ae0c7a34dd822c73b9bb"
integrity sha512-yILWifhaSEEytfXI76kB9xEEiG1AiozaCJZ83A87ytjRiN+jVibXjedjCRNjoZviinhG+4UkalO3mWTd8u5O0Q==
-read-package-json-fast@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-2.0.3.tgz#323ca529630da82cb34b36cc0b996693c98c2b83"
- integrity sha512-W/BKtbL+dUjTuRL2vziuYhp76s5HZ9qQhd/dKfWIZveD0O40453QNyZhC0e63lqZrAQ4jiOapVoeJ7JrszenQQ==
- dependencies:
- json-parse-even-better-errors "^2.3.0"
- npm-normalize-package-bin "^1.0.1"
-
-read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2:
+read-package-json-fast@^3.0.0:
version "3.0.2"
resolved "https://registry.yarnpkg.com/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz#394908a9725dc7a5f14e70c8e7556dff1d2b1049"
integrity sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==
@@ -18126,27 +17601,7 @@ read-package-json-fast@^3.0.0, read-package-json-fast@^3.0.2:
json-parse-even-better-errors "^3.0.0"
npm-normalize-package-bin "^3.0.0"
-read-package-json@5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.1.tgz#1ed685d95ce258954596b13e2e0e76c7d0ab4c26"
- integrity sha512-MALHuNgYWdGW3gKzuNMuYtcSSZbGQm94fAp16xt8VsYTLBjUSc55bLMKe6gzpWue0Tfi6CBgwCSdDAqutGDhMg==
- dependencies:
- glob "^8.0.1"
- json-parse-even-better-errors "^2.3.1"
- normalize-package-data "^4.0.0"
- npm-normalize-package-bin "^1.0.1"
-
-read-package-json@^5.0.0:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-5.0.2.tgz#b8779ccfd169f523b67208a89cc912e3f663f3fa"
- integrity sha512-BSzugrt4kQ/Z0krro8zhTwV1Kd79ue25IhNN/VtHFy1mG/6Tluyi+msc0UpwaoQzxSHa28mntAjIZY6kEgfR9Q==
- dependencies:
- glob "^8.0.1"
- json-parse-even-better-errors "^2.3.1"
- normalize-package-data "^4.0.0"
- npm-normalize-package-bin "^2.0.0"
-
-read-package-json@^6.0.0:
+read-package-json@6.0.4, read-package-json@^6.0.0:
version "6.0.4"
resolved "https://registry.yarnpkg.com/read-package-json/-/read-package-json-6.0.4.tgz#90318824ec456c287437ea79595f4c2854708836"
integrity sha512-AEtWXYfopBj2z5N5PbkAOeNHRPUg5q+Nen7QLxV8M2zJq1ym6/lCz3fYNTCXe19puu2d06jfHhrP7v/S2PtMMw==
@@ -18209,12 +17664,12 @@ read-pkg@^5.2.0:
parse-json "^5.0.0"
type-fest "^0.6.0"
-read@1, read@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/read/-/read-1.0.7.tgz#b3da19bd052431a97671d44a42634adf710b40c4"
- integrity sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==
+read@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/read/-/read-2.1.0.tgz#69409372c54fe3381092bc363a00650b6ac37218"
+ integrity sha512-bvxi1QLJHcaywCAEsAk4DG3nVoqiY2Csps3qzWalhj5hFqRn1d/OixkFXtLO1PrgHUcAP0FNaSY/5GYNfENFFQ==
dependencies:
- mute-stream "~0.0.4"
+ mute-stream "~1.0.0"
"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@~2.3.6:
version "2.3.8"
@@ -18238,17 +17693,6 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stre
string_decoder "^1.1.1"
util-deprecate "^1.0.1"
-readable-stream@^4.1.0:
- version "4.4.2"
- resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-4.4.2.tgz#e6aced27ad3b9d726d8308515b9a1b98dc1b9d13"
- integrity sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==
- dependencies:
- abort-controller "^3.0.0"
- buffer "^6.0.3"
- events "^3.3.0"
- process "^0.11.10"
- string_decoder "^1.3.0"
-
readdirp@^2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
@@ -18944,17 +18388,10 @@ selfsigned@^2.1.1:
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
-semver@7.3.4:
- version "7.3.4"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.4.tgz#27aaa7d2e4ca76452f98d3add093a72c943edc97"
- integrity sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==
- dependencies:
- lru-cache "^6.0.0"
-
-semver@7.3.8:
- version "7.3.8"
- resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
- integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
+semver@7.5.3:
+ version "7.5.3"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e"
+ integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==
dependencies:
lru-cache "^6.0.0"
@@ -19204,7 +18641,7 @@ signal-exit@^4.0.1:
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
-sigstore@^1.0.0, sigstore@^1.3.0, sigstore@^1.4.0:
+sigstore@^1.3.0, sigstore@^1.4.0:
version "1.9.0"
resolved "https://registry.yarnpkg.com/sigstore/-/sigstore-1.9.0.tgz#1e7ad8933aa99b75c6898ddd0eeebc3eb0d59875"
integrity sha512-0Zjz0oe37d08VeOtBIuB6cRriqXse2e8w+7yIy2XSXjshRKxbc2KkhXjL229jXSxEm7UbcjS76wcJDGQddVI9A==
@@ -19485,14 +18922,14 @@ split-string@^3.0.1, split-string@^3.0.2:
dependencies:
extend-shallow "^3.0.0"
-split2@^3.0.0:
+split2@^3.2.2:
version "3.2.2"
resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
dependencies:
readable-stream "^3.0.0"
-split@^1.0.0:
+split@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/split/-/split-1.0.1.tgz#605bd9be303aa59fb35f9229fbea0ddec9ea07d9"
integrity sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==
@@ -19504,13 +18941,6 @@ sprintf-js@~1.0.2:
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
-ssri@9.0.1, ssri@^9.0.0:
- version "9.0.1"
- resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057"
- integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==
- dependencies:
- minipass "^3.1.1"
-
ssri@^10.0.0, ssri@^10.0.1:
version "10.0.5"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-10.0.5.tgz#e49efcd6e36385196cb515d3a2ad6c3f0265ef8c"
@@ -19532,6 +18962,13 @@ ssri@^8.0.1:
dependencies:
minipass "^3.1.1"
+ssri@^9.0.1:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057"
+ integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==
+ dependencies:
+ minipass "^3.1.1"
+
stable@^0.1.8:
version "0.1.8"
resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
@@ -19722,7 +19159,7 @@ string.prototype.trimstart@^1.0.6:
define-properties "^1.2.0"
es-abstract "^1.22.1"
-string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@^1.3.0:
+string_decoder@^1.0.0, string_decoder@^1.1.1:
version "1.3.0"
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
@@ -20085,22 +19522,6 @@ temp-dir@1.0.0:
resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-1.0.0.tgz#0a7c0ea26d3a39afa7e0ebea9c1fc0bc4daa011d"
integrity sha512-xZFXEGbG7SNC3itwBzI3RYjq/cEhBkx2hJuKGIUOcEULmkQExXiHat2z/qkISYsuR+IKumhEfKKbV5qXmhICFQ==
-temp-dir@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e"
- integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==
-
-tempy@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.0.tgz#4f192b3ee3328a2684d0e3fc5c491425395aab65"
- integrity sha512-eLXG5B1G0mRPHmgH2WydPl5v4jH35qEn3y/rA/aahKhIa91Pn119SsU7n7v/433gtT9ONzC8ISvNHIh2JSTm0w==
- dependencies:
- del "^6.0.0"
- is-stream "^2.0.0"
- temp-dir "^2.0.0"
- type-fest "^0.16.0"
- unique-string "^2.0.0"
-
terminal-link@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994"
@@ -20222,7 +19643,7 @@ through2@^2.0.0:
readable-stream "~2.3.6"
xtend "~4.0.1"
-through2@^4.0.0, through2@^4.0.2:
+through2@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764"
integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==
@@ -20376,11 +19797,6 @@ tr46@~0.0.3:
resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
-treeverse@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/treeverse/-/treeverse-3.0.0.tgz#dd82de9eb602115c6ebd77a574aae67003cb48c8"
- integrity sha512-gcANaAnd2QDZFmHFEOF4k7uc1J/6a6z3DJMd/QwEyxLoKGiptJRwid582r7QIsFlFMIZ3SnxfS52S4hm2DHkuQ==
-
trim-lines@^3.0.0:
version "3.0.1"
resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338"
@@ -20608,11 +20024,6 @@ type-detect@4.0.8:
resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
-type-fest@^0.16.0:
- version "0.16.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
- integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
-
type-fest@^0.18.0:
version "0.18.1"
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
@@ -20738,7 +20149,12 @@ typedoc@^0.24.8:
minimatch "^9.0.0"
shiki "^0.14.1"
-"typescript@^3 || ^4", typescript@^4.6.2, typescript@^4.8.4:
+"typescript@>=3 < 6":
+ version "5.2.2"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78"
+ integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==
+
+typescript@^4.6.2, typescript@^4.8.4:
version "4.9.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
@@ -20841,13 +20257,6 @@ unique-filename@^1.1.1:
dependencies:
unique-slug "^2.0.0"
-unique-filename@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2"
- integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==
- dependencies:
- unique-slug "^3.0.0"
-
unique-filename@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-3.0.0.tgz#48ba7a5a16849f5080d26c760c86cf5cf05770ea"
@@ -20862,13 +20271,6 @@ unique-slug@^2.0.0:
dependencies:
imurmurhash "^0.1.4"
-unique-slug@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9"
- integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==
- dependencies:
- imurmurhash "^0.1.4"
-
unique-slug@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-4.0.0.tgz#6bae6bb16be91351badd24cdce741f892a6532e3"
@@ -20876,13 +20278,6 @@ unique-slug@^4.0.0:
dependencies:
imurmurhash "^0.1.4"
-unique-string@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
- integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
- dependencies:
- crypto-random-string "^2.0.0"
-
unist-builder@2.0.3, unist-builder@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436"
@@ -21034,7 +20429,7 @@ untildify@^2.0.0:
dependencies:
os-homedir "^1.0.0"
-upath@2.0.1, upath@^2.0.1:
+upath@2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/upath/-/upath-2.0.1.tgz#50c73dea68d6f6b990f51d279ce6081665d61a8b"
integrity sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==
@@ -21143,11 +20538,6 @@ uuid-browser@^3.1.0:
resolved "https://registry.yarnpkg.com/uuid-browser/-/uuid-browser-3.1.0.tgz#0f05a40aef74f9e5951e20efbf44b11871e56410"
integrity sha512-dsNgbLaTrd6l3MMxTtouOCFw4CBFc/3a+GgYA2YyrJvyQ1u6q4pcu3ktLoUZ/VN/Aw9WsauazbgsgdfVWgAKQg==
-uuid@8.3.2, uuid@^8.3.2:
- version "8.3.2"
- resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
- integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
-
uuid@^3.3.2:
version "3.4.0"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
@@ -21158,6 +20548,16 @@ uuid@^7.0.3:
resolved "https://registry.yarnpkg.com/uuid/-/uuid-7.0.3.tgz#c5c9f2c8cf25dc0a372c4df1441c41f5bd0c680b"
integrity sha512-DPSke0pXhTZgoF/d+WSt2QaKMCFSfx7QegxEWT+JOuHF5aWrKEn0G+ztjuJg/gG8/ItK+rbPCD/yNv8yyih6Cg==
+uuid@^8.3.2:
+ version "8.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+ integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
+uuid@^9.0.0:
+ version "9.0.1"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
+ integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
+
uvu@^0.5.0:
version "0.5.6"
resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df"
@@ -21209,10 +20609,10 @@ validate-npm-package-license@3.0.4, validate-npm-package-license@^3.0.1, validat
spdx-correct "^3.0.0"
spdx-expression-parse "^3.0.0"
-validate-npm-package-name@4.0.0, validate-npm-package-name@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-4.0.0.tgz#fe8f1c50ac20afdb86f177da85b3600f0ac0d747"
- integrity sha512-mzR0L8ZDktZjpX4OB46KT+56MAhl4EIazWP/+G/HPGuvfdaqg4YsCdtOm6U9+LOFyYDoh4dpnpxZRB9MQQns5Q==
+validate-npm-package-name@5.0.0, validate-npm-package-name@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713"
+ integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==
dependencies:
builtins "^5.0.0"
@@ -21223,13 +20623,6 @@ validate-npm-package-name@^3.0.0:
dependencies:
builtins "^1.0.3"
-validate-npm-package-name@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz#f16afd48318e6f90a1ec101377fa0384cfc8c713"
- integrity sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==
- dependencies:
- builtins "^5.0.0"
-
vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
@@ -21342,11 +20735,6 @@ w3c-xmlserializer@^2.0.0:
dependencies:
xml-name-validator "^3.0.0"
-walk-up-path@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/walk-up-path/-/walk-up-path-1.0.0.tgz#d4745e893dd5fd0dbb58dd0a4c6a33d9c9fec53e"
- integrity sha512-hwj/qMDUEjCU5h0xr90KGCf0tg0/LgJbmOWgrWKYlcJZM7XvquvUJZ0G/HMGr7F7OQMOUuPHWP9JpriinkAlkg==
-
walker@^1.0.7, walker@^1.0.8, walker@~1.0.5:
version "1.0.8"
resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
@@ -21831,13 +21219,13 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
-write-file-atomic@4.0.1:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.1.tgz#9faa33a964c1c85ff6f849b80b42a88c2c537c8f"
- integrity sha512-nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==
+write-file-atomic@5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7"
+ integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==
dependencies:
imurmurhash "^0.1.4"
- signal-exit "^3.0.7"
+ signal-exit "^4.0.1"
write-file-atomic@^2.4.2:
version "2.4.3"
@@ -21866,14 +21254,6 @@ write-file-atomic@^4.0.2:
imurmurhash "^0.1.4"
signal-exit "^3.0.7"
-write-file-atomic@^5.0.0:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-5.0.1.tgz#68df4717c55c6fa4281a7860b4c2ba0a6d2b11e7"
- integrity sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==
- dependencies:
- imurmurhash "^0.1.4"
- signal-exit "^4.0.1"
-
write-json-file@^3.2.0:
version "3.2.0"
resolved "https://registry.yarnpkg.com/write-json-file/-/write-json-file-3.2.0.tgz#65bbdc9ecd8a1458e15952770ccbadfcff5fe62a"