From dc03f0461e77dbc4f3891880e77a13ac02688491 Mon Sep 17 00:00:00 2001 From: NathanosDev Date: Thu, 19 Sep 2024 17:06:16 +0200 Subject: [PATCH] build: migrate individual DFX workspaces into single root workspace --- .github/actions/setup-dfx/action.yml | 24 - .github/workflows/build-and-test.yml | 31 +- .gitignore | 32 +- Cargo.lock | 15 +- Cargo.toml | 4 +- README.md | 4 +- dfx.json | 93 + .../certified-counter/.gitignore | 21 - .../certification/certified-counter/dfx.json | 20 - .../certified-counter/package.json | 43 - .../certified-counter/src/backend/Cargo.toml | 5 +- .../certified-counter/src/backend/src/lib.rs | 5 +- .../src/frontend/.ic-assets.json | 10 + .../src/frontend/assets/.ic-assets.json | 15 - .../src/frontend/{src => }/index.html | 8 +- .../src/frontend/package.json | 10 + .../src/frontend/src/.ic-assets.json | 15 - .../src/frontend/{ => src}/assets/favicon.ico | Bin .../src/frontend/{ => src}/assets/logo.svg | 0 .../src/frontend/src/index.ts | 28 +- .../src/frontend/{assets => src}/main.css | 0 .../src/frontend/tsconfig.json | 9 + .../src/frontend/vite.config.mts | 40 + .../certified-counter/tsconfig.json | 3 - .../certified-counter/webpack.config.js | 124 - examples/http-certification/assets/.gitignore | 21 - examples/http-certification/assets/dfx.json | 18 - .../assets/src/frontend/package.json | 2 - .../assets/src/frontend/tsconfig.json | 10 +- .../custom-assets/.gitignore | 21 - .../custom-assets/canister_ids.json | 5 - .../http-certification/custom-assets/dfx.json | 22 - .../custom-assets/src/frontend/package.json | 11 - .../custom-assets/src/frontend/tsconfig.json | 10 +- .../custom-assets/src/tests/src/http.spec.ts | 2 +- .../custom-assets/src/tests/src/request.ts | 2 +- .../custom-assets/src/tests/src/response.ts | 2 +- .../custom-assets/src/tests/src/wasm.ts | 5 +- .../http-certification/json-api/.gitignore | 21 - examples/http-certification/json-api/dfx.json | 16 - .../json-api/src/tests/src/request.ts | 2 +- .../json-api/src/tests/src/response.ts | 2 +- .../json-api/src/tests/src/todos.spec.ts | 2 +- .../json-api/src/tests/src/wasm.ts | 5 +- .../skip-certification/.gitignore | 21 - .../skip-certification/dfx.json | 16 - .../src/tests/src/http.spec.ts | 2 +- .../src/tests/src/request.ts | 2 +- .../src/tests/src/response.ts | 2 +- .../skip-certification/src/tests/src/wasm.ts | 5 +- .../response-verification/nodejs/README.md | 39 - .../response-verification/nodejs/package.json | 18 - .../response-verification/nodejs/src/index.ts | 78 - .../nodejs/tsconfig.json | 7 - .../response-verification/rust/.gitignore | 1 - .../response-verification/rust/Cargo.toml | 12 - examples/response-verification/rust/README.md | 7 - .../response-verification/rust/src/main.rs | 43 - examples/response-verification/web/README.md | 39 - .../response-verification/web/package.json | 22 - .../response-verification/web/src/index.html | 9 - .../response-verification/web/src/index.ts | 82 - .../response-verification/web/tsconfig.json | 10 - .../web/webpack.config.js | 36 - package.json | 18 +- .../ic-certification/src/hash_tree/mod.rs | 1 + .../ic-response-verification-wasm/README.md | 9 - packages/ic-response-verification/README.md | 2 +- pnpm-lock.yaml | 3058 ++++++----------- pnpm-workspace.yaml | 14 +- 70 files changed, 1289 insertions(+), 3002 deletions(-) create mode 100644 dfx.json delete mode 100644 examples/certification/certified-counter/.gitignore delete mode 100644 examples/certification/certified-counter/dfx.json delete mode 100644 examples/certification/certified-counter/package.json create mode 100644 examples/certification/certified-counter/src/frontend/.ic-assets.json delete mode 100644 examples/certification/certified-counter/src/frontend/assets/.ic-assets.json rename examples/certification/certified-counter/src/frontend/{src => }/index.html (66%) create mode 100644 examples/certification/certified-counter/src/frontend/package.json delete mode 100644 examples/certification/certified-counter/src/frontend/src/.ic-assets.json rename examples/certification/certified-counter/src/frontend/{ => src}/assets/favicon.ico (100%) rename examples/certification/certified-counter/src/frontend/{ => src}/assets/logo.svg (100%) rename examples/certification/certified-counter/src/frontend/{assets => src}/main.css (100%) create mode 100644 examples/certification/certified-counter/src/frontend/tsconfig.json create mode 100644 examples/certification/certified-counter/src/frontend/vite.config.mts delete mode 100644 examples/certification/certified-counter/tsconfig.json delete mode 100644 examples/certification/certified-counter/webpack.config.js delete mode 100644 examples/http-certification/assets/.gitignore delete mode 100644 examples/http-certification/assets/dfx.json delete mode 100644 examples/http-certification/custom-assets/.gitignore delete mode 100644 examples/http-certification/custom-assets/canister_ids.json delete mode 100644 examples/http-certification/custom-assets/dfx.json delete mode 100644 examples/http-certification/json-api/.gitignore delete mode 100644 examples/http-certification/json-api/dfx.json delete mode 100644 examples/http-certification/skip-certification/.gitignore delete mode 100644 examples/http-certification/skip-certification/dfx.json delete mode 100644 examples/response-verification/nodejs/README.md delete mode 100644 examples/response-verification/nodejs/package.json delete mode 100644 examples/response-verification/nodejs/src/index.ts delete mode 100644 examples/response-verification/nodejs/tsconfig.json delete mode 100644 examples/response-verification/rust/.gitignore delete mode 100644 examples/response-verification/rust/Cargo.toml delete mode 100644 examples/response-verification/rust/README.md delete mode 100644 examples/response-verification/rust/src/main.rs delete mode 100644 examples/response-verification/web/README.md delete mode 100644 examples/response-verification/web/package.json delete mode 100644 examples/response-verification/web/src/index.html delete mode 100644 examples/response-verification/web/src/index.ts delete mode 100644 examples/response-verification/web/tsconfig.json delete mode 100644 examples/response-verification/web/webpack.config.js diff --git a/.github/actions/setup-dfx/action.yml b/.github/actions/setup-dfx/action.yml index efcc885a..0363294c 100644 --- a/.github/actions/setup-dfx/action.yml +++ b/.github/actions/setup-dfx/action.yml @@ -4,32 +4,8 @@ description: Setup DFX runs: using: 'composite' steps: - - name: Cache DFX - uses: actions/cache@v3 - with: - path: /usr/local/bin/dfx - key: dfx-cache-${{ env.dfx_version }} - - name: Install dfx uses: dfinity/setup-dfx@main - with: - dfx-version: '0.18.0' - - - name: Configure DFX - shell: bash - run: | - mkdir -p $HOME/.config/dfx - cat <$HOME/.config/dfx/networks.json - { - "local": { - "bind": "127.0.0.1:8080", - "type": "ephemeral", - "replica": { - "subnet_type": "system" - } - } - } - EOF - name: Run DFX shell: bash diff --git a/.github/workflows/build-and-test.yml b/.github/workflows/build-and-test.yml index f25457bb..15fc95c6 100644 --- a/.github/workflows/build-and-test.yml +++ b/.github/workflows/build-and-test.yml @@ -55,32 +55,11 @@ jobs: - name: Install wasm-pack run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh - - name: DFX prepare Certified Counter - working-directory: examples/certification/certified-counter - run: | - dfx canister create --all - dfx generate backend - - - name: DFX prepare HTTP Certification JSON API - working-directory: examples/http-certification/json-api - run: | - dfx canister create backend - dfx generate backend - dfx build backend --check - - - name: DFX prepare HTTP Certification Custom Assets - working-directory: examples/http-certification/custom-assets - run: | - dfx canister create backend - dfx generate backend - dfx build backend --check - - - name: DFX prepare HTTP Certification Skip Certification - working-directory: examples/http-certification/skip-certification - run: | - dfx canister create backend - dfx generate backend - dfx build backend --check + - name: Build canisters + run: dfx build --check + + - name: Generate canister declarations + run: dfx generate - name: Build NPM packages run: pnpm build diff --git a/.gitignore b/.gitignore index eee3d971..e83fb381 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,25 @@ -.idea -.cargo -.env -target -dist -node_modules +# Various IDEs and Editors +.vscode/ +.idea/ +**/*~ + +# Mac OSX temporary files .DS_Store -/tmp -pkg +**/.DS_Store + +# DFX +.dfx/ +.env + +# Rust +.cargo/ +target/ + +# NPM +node_modules/ + +# Other build files +declarations/ +dist/ +tmp/ +pkg/ diff --git a/Cargo.lock b/Cargo.lock index 7324222e..adeb9345 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -373,13 +373,12 @@ dependencies = [ ] [[package]] -name = "certified_counter_backend" +name = "certification_certified_counter_backend" version = "0.1.0" dependencies = [ "anyhow", "candid", "ic-cdk", - "ic-cdk-macros", "ic-certification 2.6.0", "serde", "serde_cbor", @@ -2527,18 +2526,6 @@ dependencies = [ "syn 1.0.109", ] -[[package]] -name = "rust" -version = "0.1.0" -dependencies = [ - "candid", - "hex", - "ic-http-certification", - "ic-response-verification", - "serde", - "serde_bytes", -] - [[package]] name = "rustc-demangle" version = "0.1.24" diff --git a/Cargo.toml b/Cargo.toml index 77827f62..4840a23d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,11 +2,10 @@ resolver = "2" members = [ - "examples/response-verification/rust", "examples/certification/certified-counter/src/backend", - "examples/http-certification/json-api/src/backend", "examples/http-certification/assets/src/backend", "examples/http-certification/custom-assets/src/backend", + "examples/http-certification/json-api/src/backend", "examples/http-certification/skip-certification/src/backend", "packages/ic-asset-certification", "packages/ic-cbor", @@ -26,7 +25,6 @@ members = [ # https://github.com/rust-lang/cargo/issues/9406 # includes all members except those that must be compiled to WASM default-members = [ - "examples/response-verification/rust", "packages/ic-asset-certification", "packages/ic-cbor", "packages/ic-certification", diff --git a/README.md b/README.md index 924c4c80..3256b35e 100644 --- a/README.md +++ b/README.md @@ -193,9 +193,7 @@ The `ic-response-verification` and `@dfinity/response-verification` packages enc - [`ic-response-verificaiton` source code](./packages/ic-response-verification/README.md) - [`@dfinity/response-verification` source code](./packages/ic-response-verification-wasm/README.md) -- [Example project that verifies responses in NodeJS](./examples/response-verification/nodejs/README.md) -- [Example project that verifies responses in Rust](./examples/response-verification/rust/README.md) -- [Example project that verifies responses in the browser](./examples/response-verification/web/README.md) +- [Usage example in the `ic-http-gateway` library](https://github.com/dfinity/http-gateway/tree/main/packages/ic-http-gateway) ## Miscellaneous Projects diff --git a/dfx.json b/dfx.json new file mode 100644 index 00000000..9c567a47 --- /dev/null +++ b/dfx.json @@ -0,0 +1,93 @@ +{ + "dfx": "0.23.0", + "output_env_file": ".env", + "version": 1, + "networks": { + "local": { + "bind": "127.0.0.1:8000", + "type": "ephemeral" + } + }, + "canisters": { + "certification_certified_counter_backend": { + "type": "rust", + "candid": "examples/certification/certified-counter/src/backend/backend.did", + "package": "certification_certified_counter_backend", + "declarations": { + "bindings": ["js", "ts"], + "output": "examples/certification/certified-counter/src/declarations" + }, + "gzip": true, + "shrink": true, + "optimize": "cycles" + }, + "certification_certified_counter_frontend": { + "type": "assets", + "dependencies": ["certification_certified_counter_backend"], + "source": ["examples/certification/certified-counter/src/frontend/dist"], + "build": "pnpm -F certification-certified-counter-frontend build", + "declarations": { + "bindings": [] + }, + "gzip": true, + "shrink": true, + "optimize": "cycles" + }, + "http_certification_assets_backend": { + "type": "custom", + "candid": "examples/http-certification/assets/src/backend/backend.did", + "wasm": "target/wasm32-unknown-unknown/release/http_certification_assets_backend.wasm", + "build": [ + "pnpm -F http-certification-assets-frontend build", + "cargo build --target wasm32-unknown-unknown --release -p http_certification_assets_backend --locked" + ], + "declarations": { + "bindings": ["ts", "js"], + "output": "examples/http-certification/assets/src/declarations" + }, + "gzip": true, + "shrink": true, + "optimize": "cycles" + }, + "http_certification_custom_assets_backend": { + "type": "custom", + "candid": "examples/http-certification/custom-assets/src/backend/backend.did", + "wasm": "target/wasm32-unknown-unknown/release/http_certification_custom_assets_backend.wasm", + "build": [ + "pnpm -F http-certification-custom-assets-frontend build", + "cargo build --target wasm32-unknown-unknown --release -p http_certification_custom_assets_backend --locked" + ], + "declarations": { + "bindings": ["ts", "js"], + "output": "examples/http-certification/custom-assets/src/declarations" + }, + "gzip": true, + "shrink": true, + "optimize": "cycles" + }, + "http_certification_json_api_backend": { + "type": "rust", + "package": "http_certification_json_api_backend", + "candid": "examples/http-certification/json-api/src/backend/backend.did", + "declarations": { + "bindings": ["ts", "js"], + "output": "examples/http-certification/json-api/src/declarations" + }, + "gzip": true, + "shrink": true, + "optimize": "cycles" + }, + "http_certification_skip_certification_backend": { + "type": "rust", + "package": "http_certification_skip_certification_backend", + "candid": "examples/http-certification/skip-certification/src/backend/backend.did", + "declarations": { + "bindings": ["ts", "js"], + "output": "examples/http-certification/skip-certification/src/declarations" + }, + "gzip": true, + "shrink": true, + "optimize": "cycles" + } + } +} diff --git a/examples/certification/certified-counter/.gitignore b/examples/certification/certified-counter/.gitignore deleted file mode 100644 index 079df916..00000000 --- a/examples/certification/certified-counter/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Various IDEs and Editors -.vscode/ -.idea/ -**/*~ - -# Mac OSX temporary files -.DS_Store -**/.DS_Store - -# dfx temporary files -.dfx/ - -# generated files -src/declarations/ - -# rust -target/ - -# frontend code -node_modules/ -dist/ diff --git a/examples/certification/certified-counter/dfx.json b/examples/certification/certified-counter/dfx.json deleted file mode 100644 index 48b50952..00000000 --- a/examples/certification/certified-counter/dfx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "dfx": "0.18.0", - "version": 1, - "output_env_file": ".env", - "canisters": { - "backend": { - "candid": "src/backend/backend.did", - "package": "certified_counter_backend", - "type": "rust" - }, - "frontend": { - "dependencies": ["backend"], - "frontend": { - "entrypoint": "src/frontend/src/index.html" - }, - "source": ["src/frontend/assets", "dist/frontend/"], - "type": "assets" - } - } -} diff --git a/examples/certification/certified-counter/package.json b/examples/certification/certified-counter/package.json deleted file mode 100644 index b3208540..00000000 --- a/examples/certification/certified-counter/package.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "name": "certification_frontend", - "version": "0.1.0", - "description": "Internet Computer starter application", - "keywords": [ - "Internet Computer", - "Motoko", - "JavaScript", - "Canister" - ], - "scripts": { - "build": "webpack", - "start": "webpack serve --mode development --env development", - "generate": "dfx generate backend" - }, - "dependencies": { - "@dfinity/certificate-verification": "workspace:*" - }, - "devDependencies": { - "assert": "2.0.0", - "buffer": "6.0.3", - "copy-webpack-plugin": "^11.0.0", - "events": "3.3.0", - "html-webpack-plugin": "5.5.0", - "process": "0.11.10", - "stream-browserify": "3.0.0", - "terser-webpack-plugin": "^5.3.3", - "ts-loader": "^9.4.3", - "util": "0.12.4", - "webpack": "^5.73.0", - "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.8.1" - }, - "engines": { - "node": "^12 || ^14 || ^16 || ^18 || ^20" - }, - "browserslist": [ - "last 2 chrome version", - "last 2 firefox version", - "last 2 safari version", - "last 2 edge version" - ] -} diff --git a/examples/certification/certified-counter/src/backend/Cargo.toml b/examples/certification/certified-counter/src/backend/Cargo.toml index 7f810531..ad62ec78 100644 --- a/examples/certification/certified-counter/src/backend/Cargo.toml +++ b/examples/certification/certified-counter/src/backend/Cargo.toml @@ -1,5 +1,5 @@ [package] -name = "certified_counter_backend" +name = "certification_certified_counter_backend" version = "0.1.0" edition = "2021" @@ -10,8 +10,7 @@ crate-type = ["cdylib"] anyhow.workspace = true candid.workspace = true ic-cdk.workspace = true -ic-cdk-macros.workspace = true -ic-certification.workspace = true +ic-certification = { workspace = true, features = ["serde"] } serde.workspace = true serde_cbor.workspace = true sha2.workspace = true diff --git a/examples/certification/certified-counter/src/backend/src/lib.rs b/examples/certification/certified-counter/src/backend/src/lib.rs index 20d6d908..29166e78 100644 --- a/examples/certification/certified-counter/src/backend/src/lib.rs +++ b/examples/certification/certified-counter/src/backend/src/lib.rs @@ -1,7 +1,8 @@ -use ic_cdk::export::candid::CandidType; +use candid::CandidType; use ic_cdk::*; use ic_certification::{AsHashTree, RbTree}; use serde::Serialize; +use sha2::{Digest, Sha256}; use std::cell::*; thread_local! { @@ -9,8 +10,6 @@ thread_local! { static TREE: RefCell>> = RefCell::new(RbTree::new()); } -use sha2::{Digest, Sha256}; - pub fn hash(data: &[u8]) -> [u8; 32] { let mut hasher = Sha256::new(); hasher.update(data); diff --git a/examples/certification/certified-counter/src/frontend/.ic-assets.json b/examples/certification/certified-counter/src/frontend/.ic-assets.json new file mode 100644 index 00000000..08c0651e --- /dev/null +++ b/examples/certification/certified-counter/src/frontend/.ic-assets.json @@ -0,0 +1,10 @@ +[ + { + "match": "**/*", + "security_policy": "hardened", + "headers": { + "content-security-policy": "default-src 'self'; form-action 'self'; object-src 'none'; frame-ancestors 'none'; upgrade-insecure-requests; block-all-mixed-content; script-src 'self' 'unsafe-eval'; connect-src 'self' http://localhost:8000", + "cross-origin-embedder-policy": "require-corp" + } + } +] diff --git a/examples/certification/certified-counter/src/frontend/assets/.ic-assets.json b/examples/certification/certified-counter/src/frontend/assets/.ic-assets.json deleted file mode 100644 index 2022eb02..00000000 --- a/examples/certification/certified-counter/src/frontend/assets/.ic-assets.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "match": "**/*", - "headers": { - "Content-Security-Policy": "default-src 'self';script-src 'self' 'unsafe-eval';connect-src 'self' http://localhost:8080 https://ic0.app https://*.ic0.app;img-src 'self' data:;style-src * 'unsafe-inline';style-src-elem * 'unsafe-inline';font-src *;object-src 'none';base-uri 'self';frame-ancestors 'none';form-action 'self';upgrade-insecure-requests;", - "Permissions-Policy": "accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=(), clipboard-read=(), clipboard-write=(), gamepad=(), speaker-selection=(), conversion-measurement=(), focus-without-user-activation=(), hid=(), idle-detection=(), interest-cohort=(), serial=(), sync-script=(), trust-token-redemption=(), window-placement=(), vertical-scroll=()", - "X-Frame-Options": "DENY", - "Referrer-Policy": "same-origin", - "Strict-Transport-Security": "max-age=31536000; includeSubDomains", - "X-Content-Type-Options": "nosniff", - "X-XSS-Protection": "1; mode=block" - }, - "allow_raw_access": false - } -] diff --git a/examples/certification/certified-counter/src/frontend/src/index.html b/examples/certification/certified-counter/src/frontend/index.html similarity index 66% rename from examples/certification/certified-counter/src/frontend/src/index.html rename to examples/certification/certified-counter/src/frontend/index.html index aa3e01bb..957106f1 100644 --- a/examples/certification/certified-counter/src/frontend/src/index.html +++ b/examples/certification/certified-counter/src/frontend/index.html @@ -5,13 +5,13 @@ Certified Counter - - + +
- +

@@ -24,5 +24,7 @@
+ + diff --git a/examples/certification/certified-counter/src/frontend/package.json b/examples/certification/certified-counter/src/frontend/package.json new file mode 100644 index 00000000..05be390e --- /dev/null +++ b/examples/certification/certified-counter/src/frontend/package.json @@ -0,0 +1,10 @@ +{ + "name": "certification-certified-counter-frontend", + "scripts": { + "start": "vite", + "build": "vite build" + }, + "dependencies": { + "@dfinity/certificate-verification": "workspace:*" + } +} diff --git a/examples/certification/certified-counter/src/frontend/src/.ic-assets.json b/examples/certification/certified-counter/src/frontend/src/.ic-assets.json deleted file mode 100644 index 2022eb02..00000000 --- a/examples/certification/certified-counter/src/frontend/src/.ic-assets.json +++ /dev/null @@ -1,15 +0,0 @@ -[ - { - "match": "**/*", - "headers": { - "Content-Security-Policy": "default-src 'self';script-src 'self' 'unsafe-eval';connect-src 'self' http://localhost:8080 https://ic0.app https://*.ic0.app;img-src 'self' data:;style-src * 'unsafe-inline';style-src-elem * 'unsafe-inline';font-src *;object-src 'none';base-uri 'self';frame-ancestors 'none';form-action 'self';upgrade-insecure-requests;", - "Permissions-Policy": "accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), cross-origin-isolated=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(), geolocation=(), gyroscope=(), keyboard-map=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), screen-wake-lock=(), sync-xhr=(), usb=(), web-share=(), xr-spatial-tracking=(), clipboard-read=(), clipboard-write=(), gamepad=(), speaker-selection=(), conversion-measurement=(), focus-without-user-activation=(), hid=(), idle-detection=(), interest-cohort=(), serial=(), sync-script=(), trust-token-redemption=(), window-placement=(), vertical-scroll=()", - "X-Frame-Options": "DENY", - "Referrer-Policy": "same-origin", - "Strict-Transport-Security": "max-age=31536000; includeSubDomains", - "X-Content-Type-Options": "nosniff", - "X-XSS-Protection": "1; mode=block" - }, - "allow_raw_access": false - } -] diff --git a/examples/certification/certified-counter/src/frontend/assets/favicon.ico b/examples/certification/certified-counter/src/frontend/src/assets/favicon.ico similarity index 100% rename from examples/certification/certified-counter/src/frontend/assets/favicon.ico rename to examples/certification/certified-counter/src/frontend/src/assets/favicon.ico diff --git a/examples/certification/certified-counter/src/frontend/assets/logo.svg b/examples/certification/certified-counter/src/frontend/src/assets/logo.svg similarity index 100% rename from examples/certification/certified-counter/src/frontend/assets/logo.svg rename to examples/certification/certified-counter/src/frontend/src/assets/logo.svg diff --git a/examples/certification/certified-counter/src/frontend/src/index.ts b/examples/certification/certified-counter/src/frontend/src/index.ts index 109d1eeb..ca2b924e 100644 --- a/examples/certification/certified-counter/src/frontend/src/index.ts +++ b/examples/certification/certified-counter/src/frontend/src/index.ts @@ -1,7 +1,31 @@ import { verifyCertification } from '@dfinity/certificate-verification'; -import { HttpAgent, compare, lookup_path } from '@dfinity/agent'; +import { Actor, HttpAgent, compare, lookup_path } from '@dfinity/agent'; import { Principal } from '@dfinity/principal'; -import { backend, canisterId } from '../../declarations/backend'; +import { + idlFactory, + _SERVICE, +} from '../../declarations/certification_certified_counter_backend.did'; + +const canisterId = + process.env.CANISTER_ID_CERTIFICATION_CERTIFIED_COUNTER_BACKEND ?? ''; +const dfxNetwork = process.env.DFX_NETWORK ?? ''; + +const agent = new HttpAgent(); + +if (dfxNetwork !== 'ic') { + agent.fetchRootKey().catch(err => { + console.warn( + 'Unable to fetch root key. Check to ensure that your local replica is running', + ); + console.error(err); + }); +} + +// Creates an actor with using the candid interface and the HttpAgent +const backend = Actor.createActor<_SERVICE>(idlFactory, { + agent, + canisterId, +}); const buttonElement = document.querySelector('#counter-inc'); if (!buttonElement) { diff --git a/examples/certification/certified-counter/src/frontend/assets/main.css b/examples/certification/certified-counter/src/frontend/src/main.css similarity index 100% rename from examples/certification/certified-counter/src/frontend/assets/main.css rename to examples/certification/certified-counter/src/frontend/src/main.css diff --git a/examples/certification/certified-counter/src/frontend/tsconfig.json b/examples/certification/certified-counter/src/frontend/tsconfig.json new file mode 100644 index 00000000..0f83c131 --- /dev/null +++ b/examples/certification/certified-counter/src/frontend/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "../../../../../tsconfig.json", + "compilerOptions": { + "jsx": "preserve", + "jsxImportSource": "solid-js", + "types": ["vite/client"], + "noEmit": true + } +} diff --git a/examples/certification/certified-counter/src/frontend/vite.config.mts b/examples/certification/certified-counter/src/frontend/vite.config.mts new file mode 100644 index 00000000..8587f7bd --- /dev/null +++ b/examples/certification/certified-counter/src/frontend/vite.config.mts @@ -0,0 +1,40 @@ +import { defineConfig, loadEnv } from 'vite'; +import checker from 'vite-plugin-checker'; +import { viteStaticCopy } from 'vite-plugin-static-copy'; + +export default defineConfig(({ mode }) => { + const env = loadEnv(mode, '../../../../../', ''); + + return { + plugins: [ + checker({ typescript: true }), + viteStaticCopy({ + targets: [ + { + src: '.ic-assets.json', + dest: '.', + }, + ], + }), + ], + optimizeDeps: { + esbuildOptions: { + define: { + global: 'globalThis', + }, + }, + }, + define: { + 'process.env': { + CANISTER_ID_CERTIFICATION_CERTIFIED_COUNTER_BACKEND: + env.CANISTER_ID_CERTIFICATION_CERTIFIED_COUNTER_BACKEND, + DFX_NETWORK: env.DFX_NETWORK, + }, + }, + server: { + proxy: { + '/api': 'http://127.0.0.1:8000', + }, + }, + }; +}); diff --git a/examples/certification/certified-counter/tsconfig.json b/examples/certification/certified-counter/tsconfig.json deleted file mode 100644 index 618c6c3e..00000000 --- a/examples/certification/certified-counter/tsconfig.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "extends": "../../../tsconfig.json" -} diff --git a/examples/certification/certified-counter/webpack.config.js b/examples/certification/certified-counter/webpack.config.js deleted file mode 100644 index 7c3ae1af..00000000 --- a/examples/certification/certified-counter/webpack.config.js +++ /dev/null @@ -1,124 +0,0 @@ -const path = require('path'); -const webpack = require('webpack'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); -const TerserPlugin = require('terser-webpack-plugin'); -const CopyPlugin = require('copy-webpack-plugin'); - -function initCanisterEnv() { - let localCanisters, prodCanisters; - try { - localCanisters = require(path.resolve( - '.dfx', - 'local', - 'canister_ids.json', - )); - } catch (error) { - console.log('No local canister_ids.json found. Continuing production'); - } - try { - prodCanisters = require(path.resolve('canister_ids.json')); - } catch (error) { - console.log('No production canister_ids.json found. Continuing with local'); - } - - const network = - process.env.DFX_NETWORK || - (process.env.NODE_ENV === 'production' ? 'ic' : 'local'); - - const canisterConfig = network === 'local' ? localCanisters : prodCanisters; - - return Object.entries(canisterConfig).reduce((prev, current) => { - const [canisterName, canisterDetails] = current; - prev[canisterName.toUpperCase() + '_CANISTER_ID'] = - canisterDetails[network]; - return prev; - }, {}); -} -const canisterEnvVariables = initCanisterEnv(); - -const isDevelopment = process.env.NODE_ENV !== 'production'; - -const frontendDirectory = 'frontend'; - -const frontend_entry = path.join('src', frontendDirectory, 'src', 'index.html'); - -module.exports = { - target: 'web', - mode: isDevelopment ? 'development' : 'production', - entry: { - // The frontend.entrypoint points to the HTML file for this build, so we need - // to replace the extension to `.js`. - index: path.join(__dirname, frontend_entry).replace(/\.html$/, '.ts'), - }, - devtool: isDevelopment ? 'source-map' : false, - optimization: { - minimize: !isDevelopment, - minimizer: [new TerserPlugin()], - }, - resolve: { - extensions: ['.js', '.ts', '.jsx', '.tsx'], - fallback: { - assert: require.resolve('assert/'), - buffer: require.resolve('buffer/'), - events: require.resolve('events/'), - stream: require.resolve('stream-browserify/'), - util: require.resolve('util/'), - }, - }, - output: { - filename: 'index.js', - path: path.join(__dirname, 'dist', frontendDirectory), - }, - - // Depending in the language or framework you are using for - // front-end development, add module loaders to the default - // webpack configuration. For example, if you are using React - // modules and CSS as described in the "Adding a stylesheet" - // tutorial, uncomment the following lines: - module: { - rules: [ - { test: /\.(ts|tsx|jsx)$/, loader: 'ts-loader' }, - { test: /\.css$/, use: ['style-loader', 'css-loader'] }, - ], - }, - plugins: [ - new HtmlWebpackPlugin({ - template: path.join(__dirname, frontend_entry), - cache: false, - }), - new webpack.EnvironmentPlugin({ - NODE_ENV: 'development', - ...canisterEnvVariables, - }), - new webpack.ProvidePlugin({ - Buffer: [require.resolve('buffer/'), 'Buffer'], - process: require.resolve('process/browser'), - }), - new CopyPlugin({ - patterns: [ - { - from: `src/${frontendDirectory}/src/.ic-assets.json*`, - to: '.ic-assets.json5', - noErrorOnMissing: true, - }, - ], - }), - ], - // proxy /api to port 4943 during development. - // if you edit dfx.json to define a project-specific local network, change the port to match. - devServer: { - proxy: { - '/api': { - target: 'http://127.0.0.1:4943', - changeOrigin: true, - pathRewrite: { - '^/api': '/api', - }, - }, - }, - static: path.resolve(__dirname, 'src', frontendDirectory, 'assets'), - hot: true, - watchFiles: [path.resolve(__dirname, 'src', frontendDirectory)], - liveReload: true, - }, -}; diff --git a/examples/http-certification/assets/.gitignore b/examples/http-certification/assets/.gitignore deleted file mode 100644 index 079df916..00000000 --- a/examples/http-certification/assets/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Various IDEs and Editors -.vscode/ -.idea/ -**/*~ - -# Mac OSX temporary files -.DS_Store -**/.DS_Store - -# dfx temporary files -.dfx/ - -# generated files -src/declarations/ - -# rust -target/ - -# frontend code -node_modules/ -dist/ diff --git a/examples/http-certification/assets/dfx.json b/examples/http-certification/assets/dfx.json deleted file mode 100644 index da239b80..00000000 --- a/examples/http-certification/assets/dfx.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "dfx": "0.18.0", - "version": 1, - "output_env_file": ".env", - "canisters": { - "backend": { - "type": "custom", - "candid": "src/backend/backend.did", - "wasm": "../../../target/wasm32-unknown-unknown/release/http_certification_assets_backend.wasm", - "gzip": true, - "optimize": "cycles", - "build": [ - "pnpm -F http-certification-assets-frontend build", - "cargo build --target wasm32-unknown-unknown --release -p http_certification_assets_backend --locked" - ] - } - } -} diff --git a/examples/http-certification/assets/src/frontend/package.json b/examples/http-certification/assets/src/frontend/package.json index 5ff27d04..9975e887 100644 --- a/examples/http-certification/assets/src/frontend/package.json +++ b/examples/http-certification/assets/src/frontend/package.json @@ -1,7 +1,5 @@ { "name": "http-certification-assets-frontend", - "version": "0.0.0", - "description": "", "scripts": { "start": "vite", "build": "vite build" diff --git a/examples/http-certification/assets/src/frontend/tsconfig.json b/examples/http-certification/assets/src/frontend/tsconfig.json index 249b2732..0f83c131 100644 --- a/examples/http-certification/assets/src/frontend/tsconfig.json +++ b/examples/http-certification/assets/src/frontend/tsconfig.json @@ -1,15 +1,9 @@ { + "extends": "../../../../../tsconfig.json", "compilerOptions": { - "strict": true, - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "node", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, "jsx": "preserve", "jsxImportSource": "solid-js", "types": ["vite/client"], - "noEmit": true, - "isolatedModules": true + "noEmit": true } } diff --git a/examples/http-certification/custom-assets/.gitignore b/examples/http-certification/custom-assets/.gitignore deleted file mode 100644 index 079df916..00000000 --- a/examples/http-certification/custom-assets/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Various IDEs and Editors -.vscode/ -.idea/ -**/*~ - -# Mac OSX temporary files -.DS_Store -**/.DS_Store - -# dfx temporary files -.dfx/ - -# generated files -src/declarations/ - -# rust -target/ - -# frontend code -node_modules/ -dist/ diff --git a/examples/http-certification/custom-assets/canister_ids.json b/examples/http-certification/custom-assets/canister_ids.json deleted file mode 100644 index 1c73a0b6..00000000 --- a/examples/http-certification/custom-assets/canister_ids.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "backend": { - "ic": "yqqzv-5iaaa-aaaan-qlqmq-cai" - } -} diff --git a/examples/http-certification/custom-assets/dfx.json b/examples/http-certification/custom-assets/dfx.json deleted file mode 100644 index 3bc20497..00000000 --- a/examples/http-certification/custom-assets/dfx.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "dfx": "0.18.0", - "version": 1, - "output_env_file": ".env", - "canisters": { - "backend": { - "type": "custom", - "candid": "src/backend/backend.did", - "wasm": "../../../target/wasm32-unknown-unknown/release/http_certification_custom_assets_backend.wasm", - "gzip": true, - "optimize": "cycles", - "build": [ - "pnpm -F http-certification-custom-assets-frontend build", - "cargo build --target wasm32-unknown-unknown --release -p http_certification_custom_assets_backend --locked" - ], - "declarations": { - "bindings": ["ts", "js"], - "output": "src/declarations" - } - } - } -} diff --git a/examples/http-certification/custom-assets/src/frontend/package.json b/examples/http-certification/custom-assets/src/frontend/package.json index 4ceb3baf..af2c7a19 100644 --- a/examples/http-certification/custom-assets/src/frontend/package.json +++ b/examples/http-certification/custom-assets/src/frontend/package.json @@ -1,18 +1,7 @@ { "name": "http-certification-custom-assets-frontend", - "version": "0.0.0", - "description": "", "scripts": { "start": "vite", "build": "vite build" - }, - "devDependencies": { - "typescript": "^5.1.3", - "vite": "^4.3.9", - "vite-plugin-compression": "^0.5.1", - "vite-plugin-solid": "^2.7.0" - }, - "dependencies": { - "solid-js": "^1.7.6" } } diff --git a/examples/http-certification/custom-assets/src/frontend/tsconfig.json b/examples/http-certification/custom-assets/src/frontend/tsconfig.json index 249b2732..0f83c131 100644 --- a/examples/http-certification/custom-assets/src/frontend/tsconfig.json +++ b/examples/http-certification/custom-assets/src/frontend/tsconfig.json @@ -1,15 +1,9 @@ { + "extends": "../../../../../tsconfig.json", "compilerOptions": { - "strict": true, - "target": "ESNext", - "module": "ESNext", - "moduleResolution": "node", - "allowSyntheticDefaultImports": true, - "esModuleInterop": true, "jsx": "preserve", "jsxImportSource": "solid-js", "types": ["vite/client"], - "noEmit": true, - "isolatedModules": true + "noEmit": true } } diff --git a/examples/http-certification/custom-assets/src/tests/src/http.spec.ts b/examples/http-certification/custom-assets/src/tests/src/http.spec.ts index edaa49df..3a47d17b 100644 --- a/examples/http-certification/custom-assets/src/tests/src/http.spec.ts +++ b/examples/http-certification/custom-assets/src/tests/src/http.spec.ts @@ -5,7 +5,7 @@ import { Request, } from '@dfinity/response-verification'; -import { _SERVICE } from '../../declarations/backend.did'; +import { _SERVICE } from '../../declarations/http_certification_custom_assets_backend.did'; import { setupBackendCanister } from './wasm'; import { CERTIFICATE_VERSION, mapToCanisterRequest } from './request'; import { mapFromCanisterResponse } from './response'; diff --git a/examples/http-certification/custom-assets/src/tests/src/request.ts b/examples/http-certification/custom-assets/src/tests/src/request.ts index 02f98cdf..20cbbbeb 100644 --- a/examples/http-certification/custom-assets/src/tests/src/request.ts +++ b/examples/http-certification/custom-assets/src/tests/src/request.ts @@ -1,5 +1,5 @@ import { Request } from '@dfinity/response-verification'; -import { HttpRequest } from '../../declarations/backend.did'; +import { HttpRequest } from '../../declarations/http_certification_custom_assets_backend.did'; export const CERTIFICATE_VERSION = 2; diff --git a/examples/http-certification/custom-assets/src/tests/src/response.ts b/examples/http-certification/custom-assets/src/tests/src/response.ts index 0accc452..3f8b99d2 100644 --- a/examples/http-certification/custom-assets/src/tests/src/response.ts +++ b/examples/http-certification/custom-assets/src/tests/src/response.ts @@ -1,5 +1,5 @@ import { Response } from '@dfinity/response-verification'; -import { HttpResponse } from '../../declarations/backend.did'; +import { HttpResponse } from '../../declarations/http_certification_custom_assets_backend.did'; export function mapFromCanisterResponse(response: HttpResponse): Response { return { diff --git a/examples/http-certification/custom-assets/src/tests/src/wasm.ts b/examples/http-certification/custom-assets/src/tests/src/wasm.ts index 11f3622d..9bfc42e3 100644 --- a/examples/http-certification/custom-assets/src/tests/src/wasm.ts +++ b/examples/http-certification/custom-assets/src/tests/src/wasm.ts @@ -1,6 +1,9 @@ import { type CanisterFixture, type PocketIc } from '@hadronous/pic'; import { resolve } from 'node:path'; -import { type _SERVICE, idlFactory } from '../../declarations/backend.did'; +import { + type _SERVICE, + idlFactory, +} from '../../declarations/http_certification_custom_assets_backend.did'; export const BACKEND_WASM_PATH = resolve( __dirname, diff --git a/examples/http-certification/json-api/.gitignore b/examples/http-certification/json-api/.gitignore deleted file mode 100644 index 079df916..00000000 --- a/examples/http-certification/json-api/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Various IDEs and Editors -.vscode/ -.idea/ -**/*~ - -# Mac OSX temporary files -.DS_Store -**/.DS_Store - -# dfx temporary files -.dfx/ - -# generated files -src/declarations/ - -# rust -target/ - -# frontend code -node_modules/ -dist/ diff --git a/examples/http-certification/json-api/dfx.json b/examples/http-certification/json-api/dfx.json deleted file mode 100644 index e7472bd6..00000000 --- a/examples/http-certification/json-api/dfx.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "dfx": "0.18.0", - "version": 1, - "output_env_file": ".env", - "canisters": { - "backend": { - "type": "rust", - "package": "http_certification_json_api_backend", - "candid": "src/backend/backend.did", - "declarations": { - "bindings": ["ts", "js"], - "output": "src/declarations" - } - } - } -} diff --git a/examples/http-certification/json-api/src/tests/src/request.ts b/examples/http-certification/json-api/src/tests/src/request.ts index 69ab912e..3f007d7e 100644 --- a/examples/http-certification/json-api/src/tests/src/request.ts +++ b/examples/http-certification/json-api/src/tests/src/request.ts @@ -1,5 +1,5 @@ import { Request } from '@dfinity/response-verification'; -import { HttpRequest } from '../../declarations/backend.did'; +import { HttpRequest } from '../../declarations/http_certification_json_api_backend.did'; export const CERTIFICATE_VERSION = 2; diff --git a/examples/http-certification/json-api/src/tests/src/response.ts b/examples/http-certification/json-api/src/tests/src/response.ts index 7a618ae7..184dff1e 100644 --- a/examples/http-certification/json-api/src/tests/src/response.ts +++ b/examples/http-certification/json-api/src/tests/src/response.ts @@ -1,5 +1,5 @@ import { Response } from '@dfinity/response-verification'; -import { ErrResponse, HttpResponse } from '../../declarations/backend.did'; +import { ErrResponse, HttpResponse } from '../../declarations/http_certification_json_api_backend.did'; export function mapFromCanisterResponse(response: HttpResponse): Response { return { diff --git a/examples/http-certification/json-api/src/tests/src/todos.spec.ts b/examples/http-certification/json-api/src/tests/src/todos.spec.ts index 2e057fa5..09c85869 100644 --- a/examples/http-certification/json-api/src/tests/src/todos.spec.ts +++ b/examples/http-certification/json-api/src/tests/src/todos.spec.ts @@ -13,7 +13,7 @@ import { CreateTodoItemResponse, UpdateTodoItemRequest, UpdateTodoItemResponse, -} from '../../declarations/backend.did'; +} from '../../declarations/http_certification_json_api_backend.did'; import { setupBackendCanister } from './wasm'; import { CERTIFICATE_VERSION, diff --git a/examples/http-certification/json-api/src/tests/src/wasm.ts b/examples/http-certification/json-api/src/tests/src/wasm.ts index 840ae451..42d3344e 100644 --- a/examples/http-certification/json-api/src/tests/src/wasm.ts +++ b/examples/http-certification/json-api/src/tests/src/wasm.ts @@ -1,6 +1,9 @@ import { type CanisterFixture, type PocketIc } from '@hadronous/pic'; import { resolve } from 'node:path'; -import { type _SERVICE, idlFactory } from '../../declarations/backend.did'; +import { + type _SERVICE, + idlFactory, +} from '../../declarations/http_certification_json_api_backend.did'; export const BACKEND_WASM_PATH = resolve( __dirname, diff --git a/examples/http-certification/skip-certification/.gitignore b/examples/http-certification/skip-certification/.gitignore deleted file mode 100644 index 079df916..00000000 --- a/examples/http-certification/skip-certification/.gitignore +++ /dev/null @@ -1,21 +0,0 @@ -# Various IDEs and Editors -.vscode/ -.idea/ -**/*~ - -# Mac OSX temporary files -.DS_Store -**/.DS_Store - -# dfx temporary files -.dfx/ - -# generated files -src/declarations/ - -# rust -target/ - -# frontend code -node_modules/ -dist/ diff --git a/examples/http-certification/skip-certification/dfx.json b/examples/http-certification/skip-certification/dfx.json deleted file mode 100644 index c4b4ef57..00000000 --- a/examples/http-certification/skip-certification/dfx.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "dfx": "0.18.0", - "version": 1, - "output_env_file": ".env", - "canisters": { - "backend": { - "candid": "src/backend/backend.did", - "package": "http_certification_skip_certification_backend", - "type": "rust", - "declarations": { - "bindings": ["ts", "js"], - "output": "src/declarations" - } - } - } -} diff --git a/examples/http-certification/skip-certification/src/tests/src/http.spec.ts b/examples/http-certification/skip-certification/src/tests/src/http.spec.ts index cf979e8b..594ba5e8 100644 --- a/examples/http-certification/skip-certification/src/tests/src/http.spec.ts +++ b/examples/http-certification/skip-certification/src/tests/src/http.spec.ts @@ -5,7 +5,7 @@ import { Request, } from '@dfinity/response-verification'; -import { _SERVICE } from '../../declarations/backend.did'; +import { _SERVICE } from '../../declarations/http_certification_skip_certification_backend.did'; import { setupBackendCanister } from './wasm'; import { CERTIFICATE_VERSION, mapToCanisterRequest } from './request'; import { mapFromCanisterResponse } from './response'; diff --git a/examples/http-certification/skip-certification/src/tests/src/request.ts b/examples/http-certification/skip-certification/src/tests/src/request.ts index 02f98cdf..4d03add7 100644 --- a/examples/http-certification/skip-certification/src/tests/src/request.ts +++ b/examples/http-certification/skip-certification/src/tests/src/request.ts @@ -1,5 +1,5 @@ import { Request } from '@dfinity/response-verification'; -import { HttpRequest } from '../../declarations/backend.did'; +import { HttpRequest } from '../../declarations/http_certification_skip_certification_backend.did'; export const CERTIFICATE_VERSION = 2; diff --git a/examples/http-certification/skip-certification/src/tests/src/response.ts b/examples/http-certification/skip-certification/src/tests/src/response.ts index 0accc452..063c01ff 100644 --- a/examples/http-certification/skip-certification/src/tests/src/response.ts +++ b/examples/http-certification/skip-certification/src/tests/src/response.ts @@ -1,5 +1,5 @@ import { Response } from '@dfinity/response-verification'; -import { HttpResponse } from '../../declarations/backend.did'; +import { HttpResponse } from '../../declarations/http_certification_skip_certification_backend.did'; export function mapFromCanisterResponse(response: HttpResponse): Response { return { diff --git a/examples/http-certification/skip-certification/src/tests/src/wasm.ts b/examples/http-certification/skip-certification/src/tests/src/wasm.ts index 11f3622d..419e9b95 100644 --- a/examples/http-certification/skip-certification/src/tests/src/wasm.ts +++ b/examples/http-certification/skip-certification/src/tests/src/wasm.ts @@ -1,6 +1,9 @@ import { type CanisterFixture, type PocketIc } from '@hadronous/pic'; import { resolve } from 'node:path'; -import { type _SERVICE, idlFactory } from '../../declarations/backend.did'; +import { + type _SERVICE, + idlFactory, +} from '../../declarations/http_certification_skip_certification_backend.did'; export const BACKEND_WASM_PATH = resolve( __dirname, diff --git a/examples/response-verification/nodejs/README.md b/examples/response-verification/nodejs/README.md deleted file mode 100644 index fc67fc20..00000000 --- a/examples/response-verification/nodejs/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# Response Verification NodeJS Example Project - -This project showcases how to use the `@dfinity/response-verification` package to perform response verification in a NodeJS project. - -## Setup - -From the root of this repository, install NPM dependencies: - -```shell -pnpm i -``` - -Build the `@dfinity/response-verification` package: - -```shell -pnpm run --filter @dfinity/response-verification build -``` - -## Run with TSNode - -Run: - -```shell -pnpm run --filter nodejs-example start -``` - -## Run with Node - -Compile TypeScript: - -```shell -pnpm run --filter nodejs-example build -``` - -Run: - -```shell -pnpm run --filter nodejs-example start:node -``` diff --git a/examples/response-verification/nodejs/package.json b/examples/response-verification/nodejs/package.json deleted file mode 100644 index e1e554c9..00000000 --- a/examples/response-verification/nodejs/package.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "nodejs-example", - "private": true, - "scripts": { - "start": "ts-node ./src/index", - "start:node": "node ./dist/index.js", - "build": "tsc" - }, - "dependencies": { - "@dfinity/response-verification": "workspace:*" - }, - "devDependencies": { - "@tsconfig/node16": "^1.0.3", - "@types/node": "^20.3.1", - "ts-node": "^10.9.1", - "typescript": "^4.8.4" - } -} diff --git a/examples/response-verification/nodejs/src/index.ts b/examples/response-verification/nodejs/src/index.ts deleted file mode 100644 index 956f88d5..00000000 --- a/examples/response-verification/nodejs/src/index.ts +++ /dev/null @@ -1,78 +0,0 @@ -import { - verifyRequestResponsePair, - Request, - Response, - ResponseVerificationError, - ResponseVerificationErrorCode, - getMinVerificationVersion, -} from '@dfinity/response-verification'; -import { Principal } from '@dfinity/principal'; - -const request: Request = { - url: '/', - method: 'GET', - headers: [['Host', 'rdmx6-jaaaa-aaaaa-aaadq-cai.ic0.app']], - body: new Uint8Array([]), -}; - -const IC_ROOT_KEY = - '308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae'; - -function fromHex(hex: string): Uint8Array { - const buffer = [...hex] - .reduce((acc, curr, i) => { - // tslint:disable-next-line:no-bitwise - acc[(i / 2) | 0] = (acc[(i / 2) | 0] || '') + curr; - return acc; - }, [] as string[]) - .map(x => Number.parseInt(x, 16)); - - return new Uint8Array(buffer); -} - -const response: Response = { - statusCode: 200, - headers: [ - [ - 'Ic-Certificate', - 'certificate=:2dn3o2R0cmVlgwGDAYMBgwJIY2FuaXN0ZXKDAkoAAAAAAAAABwEBgwGDAYMBgwJOY2VydGlmaWVkX2RhdGGCA1gg2e9+GWTYWw6giMkxjJE7dxUuFMOmoEJ30FFRTOYmZ+6CBFgg/VtZRZdYyK/sr3KF2jWeS1rblF+4ajwfDv2ZbCGpaTiCBFgg6HKEMFmYn9j0sFHRxCCDNXWTLnDMbw4tDvk9Rh2gPymCBFggKBqd8UfSTdcsbnzQLZPXVYsJLM6dc/fi+RlcW9D/WJGCBFgggAG4QoPuBpdUD9ifMs40Cvn9vn0wahLjSTMOBsMV4iCCBFggoawiEDD+DnBTi5j9NjLHMWHFAlWaVk4+26+ulwFUYJ6DAYIEWCALLxLPg6ijOWkcDTm+OEMs7hpk2o44mLtpr9tpcII8XoMCRHRpbWWCA0mvsY3usNqMlRdpc2lnbmF0dXJlWDCGny0r7KOVEzQsoU4URu/jteB+cO4uw8x59WgP3akcM4hQZ2FLVtbWwKgX2OXKBBVqZGVsZWdhdGlvbqJpc3VibmV0X2lkWB1D3K8RgNuC/acIzjrHoDpgYKveE+lUbGDozOZdAmtjZXJ0aWZpY2F0ZVkCbtnZ96JkdHJlZYMBggRYIOdSJxF174WaX2n7+PrVTskgyInEKI4+qd19HkTmpD4ugwGDAkZzdWJuZXSDAYMBgwGCBFggJn/lURG1bjw5dVMuozc/e3Lp+CBy/o5gftNEhkeKWzmDAYIEWCBGanAobPms6YAcpT4ir27gWaCU/WBJhgbUhLaFQFgwfYMBgwGCBFggiy9sFQeK5NO5NHCRXKU+NzMn836nS6G4F32Ya7ebMa6DAlgdQ9yvEYDbgv2nCM46x6A6YGCr3hPpVGxg6MzmXQKDAYMCT2NhbmlzdGVyX3Jhbmdlc4IDWDLZ2feCgkoAAAAAAAAABwEBSgAAAAAAAAAHAQGCSgAAAAACEAAAAQFKAAAAAAIf//8BAYMCSnB1YmxpY19rZXmCA1iFMIGCMB0GDSsGAQQBgtx8BQMBAgEGDCsGAQQBgtx8BQMCAQNhAIZ1tjSkPjlyYjjP45yVGLw+MiXLb1qEeb/PK2CPum+FJNy4DzWorkS0fyYvCmYg1BJ58G/gxTpzn8ygGkiSb+ZRo1GbWzKf++zJ8MuQiwmN0+iEXPuZxWN54EmsRl7IBoIEWCCHzSE2R03mBIh5w7cCAFNWUXA9yXLKy5T6Bl/+LuY2ioIEWCBKHXbAjmQuPbaYLmZTvoxzbydaJKwiEINDCy1bRBznVIIEWCAthWu6e2yAFxzo5dEhu35EULNWWmRNkTXp/liEKBwfuYMCRHRpbWWCA0m10ovcy4SWlBdpc2lnbmF0dXJlWDCt6yOQsJ6yXcx8WbPabC32P4fss5zCAYh1/Jal1encJWqqxbAD9Svz7bsCIYWs1Ec=:, tree=:2dn3gwGDAktodHRwX2Fzc2V0c4MBgwGDAkEvggNYIHhMD4Jak4qn9HFYfN98d5b4KPk2JJXiuchJDyIyNZvbggRYINfNCmz1KiBw3FH+HXtqhweIiHGeFoScdIw15/x7aflcggRYIFgrUyEzZkbUjG+L8ZEzM7tOv2XAn/v4IHwBLh9UBxJhggRYICEzSyZoHXIg49LX3LI6iczbGx4ETrNeu+SR9m1AgNB4:', - ], - ], - // prettier-ignore - body: new Uint8Array([60, 33, 100, 111, 99, 116, 121, 112, 101, 32, 104, 116, 109, 108, 62, 60, 104, 116, 109, 108, 32, 108, 97, 110, 103, 61, 34, 101, 110, 34, 62, 60, 104, 101, 97, 100, 62, 60, 109, 101, 116, 97, 32, 99, 104, 97, 114, 115, 101, 116, 61, 34, 85, 84, 70, 45, 56, 34, 47, 62, 60, 109, 101, 116, 97, 32, 104, 116, 116, 112, 45, 101, 113, 117, 105, 118, 61, 34, 88, 45, 85, 65, 45, 67, 111, 109, 112, 97, 116, 105, 98, 108, 101, 34, 32, 99, 111, 110, 116, 101, 110, 116, 61, 34, 73, 69, 61, 101, 100, 103, 101, 34, 47, 62, 60, 109, 101, 116, 97, 32, 110, 97, 109, 101, 61, 34, 118, 105, 101, 119, 112, 111, 114, 116, 34, 32, 99, 111, 110, 116, 101, 110, 116, 61, 34, 119, 105, 100, 116, 104, 61, 100, 101, 118, 105, 99, 101, 45, 119, 105, 100, 116, 104, 44, 105, 110, 105, 116, 105, 97, 108, 45, 115, 99, 97, 108, 101, 61, 49, 34, 47, 62, 60, 109, 101, 116, 97, 32, 104, 116, 116, 112, 45, 101, 113, 117, 105, 118, 61, 34, 67, 111, 110, 116, 101, 110, 116, 45, 83, 101, 99, 117, 114, 105, 116, 121, 45, 80, 111, 108, 105, 99, 121, 34, 32, 99, 111, 110, 116, 101, 110, 116, 61, 34, 100, 101, 102, 97, 117, 108, 116, 45, 115, 114, 99, 32, 39, 110, 111, 110, 101, 39, 59, 99, 111, 110, 110, 101, 99, 116, 45, 115, 114, 99, 32, 39, 115, 101, 108, 102, 39, 32, 104, 116, 116, 112, 115, 58, 47, 47, 105, 99, 48, 46, 97, 112, 112, 32, 104, 116, 116, 112, 115, 58, 47, 47, 42, 46, 105, 99, 48, 46, 97, 112, 112, 59, 105, 109, 103, 45, 115, 114, 99, 32, 39, 115, 101, 108, 102, 39, 32, 100, 97, 116, 97, 58, 59, 115, 99, 114, 105, 112, 116, 45, 115, 114, 99, 32, 39, 115, 104, 97, 50, 53, 54, 45, 97, 101, 79, 100, 111, 77, 76, 122, 86, 43, 113, 109, 107, 73, 100, 97, 89, 105, 51, 100, 81, 74, 43, 97, 80, 120, 85, 81, 76, 70, 68, 97, 73, 106, 52, 49, 47, 99, 120, 57, 68, 99, 65, 61, 39, 32, 39, 117, 110, 115, 97, 102, 101, 45, 105, 110, 108, 105, 110, 101, 39, 32, 39, 117, 110, 115, 97, 102, 101, 45, 101, 118, 97, 108, 39, 32, 39, 115, 116, 114, 105, 99, 116, 45, 100, 121, 110, 97, 109, 105, 99, 39, 32, 104, 116, 116, 112, 115, 58, 59, 98, 97, 115, 101, 45, 117, 114, 105, 32, 39, 110, 111, 110, 101, 39, 59, 102, 111, 114, 109, 45, 97, 99, 116, 105, 111, 110, 32, 39, 110, 111, 110, 101, 39, 59, 115, 116, 121, 108, 101, 45, 115, 114, 99, 32, 39, 115, 101, 108, 102, 39, 32, 39, 117, 110, 115, 97, 102, 101, 45, 105, 110, 108, 105, 110, 101, 39, 32, 104, 116, 116, 112, 115, 58, 47, 47, 102, 111, 110, 116, 115, 46, 103, 111, 111, 103, 108, 101, 97, 112, 105, 115, 46, 99, 111, 109, 59, 115, 116, 121, 108, 101, 45, 115, 114, 99, 45, 101, 108, 101, 109, 32, 39, 115, 101, 108, 102, 39, 32, 39, 117, 110, 115, 97, 102, 101, 45, 105, 110, 108, 105, 110, 101, 39, 32, 104, 116, 116, 112, 115, 58, 47, 47, 102, 111, 110, 116, 115, 46, 103, 111, 111, 103, 108, 101, 97, 112, 105, 115, 46, 99, 111, 109, 59, 102, 111, 110, 116, 45, 115, 114, 99, 32, 104, 116, 116, 112, 115, 58, 47, 47, 102, 111, 110, 116, 115, 46, 103, 115, 116, 97, 116, 105, 99, 46, 99, 111, 109, 59, 117, 112, 103, 114, 97, 100, 101, 45, 105, 110, 115, 101, 99, 117, 114, 101, 45, 114, 101, 113, 117, 101, 115, 116, 115, 59, 34, 32, 47, 62, 60, 116, 105, 116, 108, 101, 62, 73, 110, 116, 101, 114, 110, 101, 116, 32, 73, 100, 101, 110, 116, 105, 116, 121, 60, 47, 116, 105, 116, 108, 101, 62, 60, 108, 105, 110, 107, 32, 114, 101, 108, 61, 34, 115, 104, 111, 114, 116, 99, 117, 116, 32, 105, 99, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 105, 109, 97, 103, 101, 47, 106, 112, 103, 34, 32, 104, 114, 101, 102, 61, 34, 46, 47, 102, 97, 118, 105, 99, 111, 110, 46, 105, 99, 111, 34, 47, 62, 60, 108, 105, 110, 107, 32, 114, 101, 108, 61, 34, 115, 116, 121, 108, 101, 115, 104, 101, 101, 116, 34, 32, 104, 114, 101, 102, 61, 34, 46, 47, 105, 110, 100, 101, 120, 46, 99, 115, 115, 34, 47, 62, 60, 47, 104, 101, 97, 100, 62, 60, 98, 111, 100, 121, 62, 60, 109, 97, 105, 110, 32, 105, 100, 61, 34, 112, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 34, 32, 99, 108, 97, 115, 115, 61, 34, 108, 45, 119, 114, 97, 112, 34, 32, 97, 114, 105, 97, 45, 108, 105, 118, 101, 61, 34, 112, 111, 108, 105, 116, 101, 34, 62, 60, 47, 109, 97, 105, 110, 62, 60, 100, 105, 118, 32, 105, 100, 61, 34, 110, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 60, 47, 100, 105, 118, 62, 60, 100, 105, 118, 32, 105, 100, 61, 34, 108, 111, 97, 100, 101, 114, 67, 111, 110, 116, 97, 105, 110, 101, 114, 34, 62, 60, 47, 100, 105, 118, 62, 60, 115, 99, 114, 105, 112, 116, 32, 100, 97, 116, 97, 45, 99, 97, 110, 105, 115, 116, 101, 114, 45, 105, 100, 61, 34, 114, 100, 109, 120, 54, 45, 106, 97, 97, 97, 97, 45, 97, 97, 97, 97, 97, 45, 97, 97, 97, 100, 113, 45, 99, 97, 105, 34, 32, 105, 100, 61, 34, 115, 101, 116, 117, 112, 74, 115, 34, 62, 108, 101, 116, 32, 115, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 114, 101, 97, 116, 101, 69, 108, 101, 109, 101, 110, 116, 40, 39, 115, 99, 114, 105, 112, 116, 39, 41, 59, 115, 46, 97, 115, 121, 110, 99, 32, 61, 32, 116, 114, 117, 101, 59, 115, 46, 115, 114, 99, 32, 61, 32, 39, 105, 110, 100, 101, 120, 46, 106, 115, 39, 59, 100, 111, 99, 117, 109, 101, 110, 116, 46, 104, 101, 97, 100, 46, 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, 40, 115, 41, 59, 60, 47, 115, 99, 114, 105, 112, 116, 62, 60, 47, 98, 111, 100, 121, 62, 60, 47, 104, 116, 109, 108, 62]), -}; - -const canister_id = Principal.fromText( - 'rdmx6-jaaaa-aaaaa-aaadq-cai', -).toUint8Array(); - -const current_time_ns = BigInt(1669202493944584367); -const max_cert_time_offset_ns = BigInt(300_000_000_000); - -try { - const result = verifyRequestResponsePair( - request, - response, - canister_id, - current_time_ns, - max_cert_time_offset_ns, - fromHex(IC_ROOT_KEY), - getMinVerificationVersion(), - ); - - console.log('Result', result); -} catch (error) { - console.log('Error', error); - - if (error instanceof ResponseVerificationError) { - switch (error.code) { - case ResponseVerificationErrorCode.CborDecodingFailed: - console.log(`Error parsing cbor: ${error.message}`); - break; - - case ResponseVerificationErrorCode.CertificateVerificationFailed: - console.log(`Certificate verification failed: ${error.message}`); - break; - } - } -} diff --git a/examples/response-verification/nodejs/tsconfig.json b/examples/response-verification/nodejs/tsconfig.json deleted file mode 100644 index 757a5b4d..00000000 --- a/examples/response-verification/nodejs/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "extends": "@tsconfig/node16/tsconfig.json", - "compilerOptions": { - "outDir": "dist" - }, - "include": ["src/**/*.ts"] -} diff --git a/examples/response-verification/rust/.gitignore b/examples/response-verification/rust/.gitignore deleted file mode 100644 index ea8c4bf7..00000000 --- a/examples/response-verification/rust/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/target diff --git a/examples/response-verification/rust/Cargo.toml b/examples/response-verification/rust/Cargo.toml deleted file mode 100644 index 57e11515..00000000 --- a/examples/response-verification/rust/Cargo.toml +++ /dev/null @@ -1,12 +0,0 @@ -[package] -name = "rust" -version = "0.1.0" -edition = "2021" - -[dependencies] -ic-response-verification.workspace = true -ic-http-certification.workspace = true -candid.workspace = true -hex.workspace = true -serde.workspace = true -serde_bytes.workspace = true diff --git a/examples/response-verification/rust/README.md b/examples/response-verification/rust/README.md deleted file mode 100644 index 0ec9a3fd..00000000 --- a/examples/response-verification/rust/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# Cargo Example Project - -## Run - -```shell -cargo run -``` diff --git a/examples/response-verification/rust/src/main.rs b/examples/response-verification/rust/src/main.rs deleted file mode 100644 index 561c86fe..00000000 --- a/examples/response-verification/rust/src/main.rs +++ /dev/null @@ -1,43 +0,0 @@ -use candid::{Decode, Principal}; -use ic_http_certification::{HttpRequest, HttpResponse}; -use ic_response_verification::{verify_request_response_pair, MIN_VERIFICATION_VERSION}; - -fn main() { - let request_hex = "4449444C046D7B6C02007101716D016C04EFD6E40271E1EDEB4A71A2F5ED880400C6A4A19806020103012F03474554000704486F73742372646D78362D6A616161612D61616161612D61616164712D6361692E6963302E617070066163636570748701746578742F68746D6C2C6170706C69636174696F6E2F7868746D6C2B786D6C2C6170706C69636174696F6E2F786D6C3B713D302E392C696D6167652F617669662C696D6167652F776562702C696D6167652F61706E672C2A2F2A3B713D302E382C6170706C69636174696F6E2F7369676E65642D65786368616E67653B763D62333B713D302E39097365632D63682D756128224368726F6D69756D223B763D22313037222C20224E6F743D413F4272616E64223B763D22323422107365632D63682D75612D6D6F62696C65023F30127365632D63682D75612D706C6174666F726D092257696E646F77732219757067726164652D696E7365637572652D726571756573747301310A757365722D6167656E74744D6F7A696C6C612F352E30202857696E646F7773204E542031302E303B2057696E36343B2078363429204170706C655765624B69742F3533372E333620284B48544D4C2C206C696B65204765636B6F29204368726F6D652F3130372E302E353330342E313037205361666172692F3533372E3336"; - let request_candid = hex::decode(request_hex).expect("Could not decode request from hex"); - let request = - Decode!(&request_candid, HttpRequest).expect("Could not decode request from candid"); - - println!("***Request***"); - println!("Url: {:?}", request.url()); - println!("Headers: {:#?}", request.headers()); - println!("\n\n"); - - let ic_root_key: &[u8; 133] = b"\x30\x81\x82\x30\x1d\x06\x0d\x2b\x06\x01\x04\x01\x82\xdc\x7c\x05\x03\x01\x02\x01\x06\x0c\x2b\x06\x01\x04\x01\x82\xdc\x7c\x05\x03\x02\x01\x03\x61\x00\x81\x4c\x0e\x6e\xc7\x1f\xab\x58\x3b\x08\xbd\x81\x37\x3c\x25\x5c\x3c\x37\x1b\x2e\x84\x86\x3c\x98\xa4\xf1\xe0\x8b\x74\x23\x5d\x14\xfb\x5d\x9c\x0c\xd5\x46\xd9\x68\x5f\x91\x3a\x0c\x0b\x2c\xc5\x34\x15\x83\xbf\x4b\x43\x92\xe4\x67\xdb\x96\xd6\x5b\x9b\xb4\xcb\x71\x71\x12\xf8\x47\x2e\x0d\x5a\x4d\x14\x50\x5f\xfd\x74\x84\xb0\x12\x91\x09\x1c\x5f\x87\xb9\x88\x83\x46\x3f\x98\x09\x1a\x0b\xaa\xae"; - let response_hex = "4449444C096C04A2F5ED880401C6A4A1980602B09699E20C049AA1B2F90C7A6D7B6D036C02007101716E056B01E5ABE1C505066C02F985AEA10107C5B39AF807086C006A0000000100FC083C21646F63747970652068746D6C3E3C68746D6C206C616E673D22656E223E3C686561643E3C6D65746120636861727365743D225554462D38222F3E3C6D65746120687474702D65717569763D22582D55412D436F6D70617469626C652220636F6E74656E743D2249453D65646765222F3E3C6D657461206E616D653D2276696577706F72742220636F6E74656E743D2277696474683D6465766963652D77696474682C696E697469616C2D7363616C653D31222F3E3C6D65746120687474702D65717569763D22436F6E74656E742D53656375726974792D506F6C6963792220636F6E74656E743D2264656661756C742D73726320276E6F6E65273B636F6E6E6563742D737263202773656C66272068747470733A2F2F6963302E6170702068747470733A2F2F2A2E6963302E6170703B696D672D737263202773656C662720646174613A3B7363726970742D73726320277368613235362D61654F646F4D4C7A562B716D6B49646159693364514A2B61507855514C464461496A34312F6378394463413D272027756E736166652D696E6C696E65272027756E736166652D6576616C2720277374726963742D64796E616D6963272068747470733A3B626173652D75726920276E6F6E65273B666F726D2D616374696F6E20276E6F6E65273B7374796C652D737263202773656C66272027756E736166652D696E6C696E65272068747470733A2F2F666F6E74732E676F6F676C65617069732E636F6D3B7374796C652D7372632D656C656D202773656C66272027756E736166652D696E6C696E65272068747470733A2F2F666F6E74732E676F6F676C65617069732E636F6D3B666F6E742D7372632068747470733A2F2F666F6E74732E677374617469632E636F6D3B757067726164652D696E7365637572652D72657175657374733B22202F3E3C7469746C653E496E7465726E6574204964656E746974793C2F7469746C653E3C6C696E6B2072656C3D2273686F72746375742069636F6E2220747970653D22696D6167652F6A70672220687265663D222E2F66617669636F6E2E69636F222F3E3C6C696E6B2072656C3D227374796C6573686565742220687265663D222E2F696E6465782E637373222F3E3C2F686561643E3C626F64793E3C6D61696E2069643D2270616765436F6E74656E742220636C6173733D226C2D777261702220617269612D6C6976653D22706F6C697465223E3C2F6D61696E3E3C6469762069643D226E6F74696669636174696F6E223E3C2F6469763E3C6469762069643D226C6F61646572436F6E7461696E6572223E3C2F6469763E3C73637269707420646174612D63616E69737465722D69643D2272646D78362D6A616161612D61616161612D61616164712D636169222069643D2273657475704A73223E6C65742073203D20646F63756D656E742E637265617465456C656D656E74282773637269707427293B732E6173796E63203D20747275653B732E737263203D2027696E6465782E6A73273B646F63756D656E742E686561642E617070656E644368696C642873293B3C2F7363726970743E3C2F626F64793E3C2F68746D6C3E080F582D4672616D652D4F7074696F6E730444454E5916582D436F6E74656E742D547970652D4F7074696F6E73076E6F736E69666617436F6E74656E742D53656375726974792D506F6C696379CC0364656661756C742D73726320276E6F6E65273B636F6E6E6563742D737263202773656C66272068747470733A2F2F6963302E6170702068747470733A2F2F2A2E6963302E6170703B696D672D737263202773656C662720646174613A3B7363726970742D73726320277368613235362D61654F646F4D4C7A562B716D6B49646159693364514A2B61507855514C464461496A34312F6378394463413D272027756E736166652D696E6C696E65272027756E736166652D6576616C2720277374726963742D64796E616D6963272068747470733A3B626173652D75726920276E6F6E65273B666F726D2D616374696F6E20276E6F6E65273B7374796C652D737263202773656C66272027756E736166652D696E6C696E65272068747470733A2F2F666F6E74732E676F6F676C65617069732E636F6D3B7374796C652D7372632D656C656D202773656C66272027756E736166652D696E6C696E65272068747470733A2F2F666F6E74732E676F6F676C65617069732E636F6D3B666F6E742D7372632068747470733A2F2F666F6E74732E677374617469632E636F6D3B757067726164652D696E7365637572652D72657175657374733B6672616D652D616E636573746F727320276E6F6E65273B195374726963742D5472616E73706F72742D5365637572697479246D61782D6167653D3331353336303030203B20696E636C756465537562446F6D61696E730F52656665727265722D506F6C6963790B73616D652D6F726967696E125065726D697373696F6E732D506F6C696379F005616363656C65726F6D657465723D28292C616D6269656E742D6C696768742D73656E736F723D28292C6175746F706C61793D28292C626174746572793D28292C63616D6572613D28292C636C6970626F6172642D726561643D28292C636C6970626F6172642D77726974653D2873656C66292C636F6E76657273696F6E2D6D6561737572656D656E743D28292C63726F73732D6F726967696E2D69736F6C617465643D28292C646973706C61792D636170747572653D28292C646F63756D656E742D646F6D61696E3D28292C656E637279707465642D6D656469613D28292C657865637574696F6E2D7768696C652D6E6F742D72656E64657265643D28292C657865637574696F6E2D7768696C652D6F75742D6F662D76696577706F72743D28292C666F6375732D776974686F75742D757365722D61637469766174696F6E3D28292C66756C6C73637265656E3D28292C67616D657061643D28292C67656F6C6F636174696F6E3D28292C6779726F73636F70653D28292C6869643D28292C69646C652D646574656374696F6E3D28292C696E7465726573742D636F686F72743D28292C6B6579626F6172642D6D61703D28292C6D61676E65746F6D657465723D28292C6D6963726F70686F6E653D28292C6D6964693D28292C6E617669676174696F6E2D6F766572726964653D28292C7061796D656E743D28292C706963747572652D696E2D706963747572653D28292C7075626C69636B65792D63726564656E7469616C732D6765743D2873656C66292C73637265656E2D77616B652D6C6F636B3D28292C73657269616C3D28292C737065616B65722D73656C656374696F6E3D28292C73796E632D7363726970743D28292C73796E632D7868723D2873656C66292C74727573742D746F6B656E2D726564656D7074696F6E3D28292C7573623D28292C766572746963616C2D7363726F6C6C3D28292C7765622D73686172653D28292C77696E646F772D706C6163656D656E743D28292C78722D7370617469616C2D747261636B696E673D28290E49432D4365727469666963617465A30D63657274696669636174653D3A32646E336F325230636D566C6777474441594D4267774A495932467561584E305A584B44416B6F414141414141414141427745426777474441594D4267774A4F5932567964476C6D6157566B5832526864474743413167673265392B4757545957773667694D6B786A4A453764785575464D4F6D6F454A3330464652544F596D5A2B3643424667672F56745A525A6459794B2F7372334B46326A5765533172626C462B34616A77664476325A62434770615469434246676736484B454D466D596E396A3073464852784343444E5857544C6E444D6277347444766B395268326750796D43424667674B4271643855665354646373626E7A514C5A50585659734A4C4D3664632F66692B526C635739442F574A47434246676767414734516F507542706455443969664D73343043766E39766E307761684C6A53544D4F42734D5634694343424667676F6177694544442B446E425469356A394E6A4C484D574846416C5761566B342B32362B756C774655594A3644415949455743414C4C784C506736696A4F576B6344546D2B4F454D733768706B326F34346D4C74707239747063494938586F4D43524852706257574341306D7673593375734E714D6C52647063326C6E626D463064584A6C574443476E793072374B4F56457A51736F55345552752F6A7465422B634F3475773878353957675033616B634D3468515A32464C56746257774B6758324F584B424256715A4756735A57646864476C7662714A7063335669626D563058326C6B57423144334B3852674E75432F6163497A6A72486F447067594B7665452B6C556247446F7A4F5A64416D746A5A584A3061575A70593246305A566B4362746E5A39364A6B64484A6C5A594D4267675259494F64534A7846313734576158326E372B50725654736B6779496E454B49342B71643139486B546D7044347567774744416B5A7A64574A755A58534441594D4267774743424667674A6E2F6C55524731626A773564564D756F7A632F65334C702B4342792F6F356766744E45686B654B577A6D444159494557434247616E416F62506D73365941637054346972323767576143552F57424A68676255684C61465146677766594D426777474342466767697939734651654B354E4F354E484352584B552B4E7A4D6E3833366E5336473446333259613765624D613644416C676451397976455944626776326E434D343678364136594743723368507056477867364D7A6D58514B4441594D4354324E68626D6C7A6447567958334A68626D646C6334494457444C5A32666543676B6F41414141414141414142774542536741414141414141414148415147435367414141414143454141414151464B41414141414149662F2F384241594D43536E4231596D7870593139725A586D43413169464D4947434D42304744537347415151426774783842514D424167454744437347415151426774783842514D4341514E6841495A31746A536B506A6C79596A6A5034357956474C772B4D69584C6231714565622F504B324350756D2B464A4E7934447A576F726B533066795976436D596731424A3538472F677854707A6E387967476B6953622B5A526F314762577A4B662B2B7A4A384D755169776D4E302B69455850755A78574E3534456D73526C3749426F4945574343487A5345325230336D424968357737634341464E575558413979584C4B79355436426C2F2B4C755932696F49455743424B485862416A6D5175506261594C6D5A54766F787A627964614A4B776945494E444379316252427A6E5649494557434174685775366532794146787A6F3564456875333545554C4E57576D524E6B5458702F6C69454B42776675594D43524852706257574341306D31306F7663793453576C42647063326C6E626D463064584A6C5744437436794F51734A36795863783857625061624333325034667373357A43415968312F4A616C31656E634A577171786241443953767A37627343495957733145633D3A2C20747265653D3A32646E3367774744416B746F644852775832467A6332563063344D4267774744416B457667674E594948684D44344A616B34716E39484659664E3938643562344B506B324A4A58697563684A447949794E5A766267675259494E664E436D7A314B6942773346482B485874716877654969484765466F536364497731352F783761666C6367675259494667725579457A5A6B62556A472B4C385A457A4D37744F763258416E2F7634494877424C68395542784A68676752594943457A53795A6F4858496734394C58334C493669637A624778344554724E65752B5352396D3141674E42343A0C436F6E74656E742D5479706509746578742F68746D6C00C800"; - let response_candid = hex::decode(response_hex).expect("Could not decode response from hex"); - let response = - Decode!(&response_candid, HttpResponse).expect("Could not decode response from candid"); - - println!("***Response***"); - println!("Body: {:?}", response.body()); - println!("Headers: {:#?}", response.headers()); - println!("\n\n"); - - let canister_id = Principal::from_text("rdmx6-jaaaa-aaaaa-aaadq-cai") - .expect("Could not decode principal from text"); - - let current_time_ns = 1669202493944584367; - let max_cert_time_offset_ns = 300_000_000_000; - let result = verify_request_response_pair( - request, - response, - canister_id.as_slice(), - current_time_ns, - max_cert_time_offset_ns, - ic_root_key, - MIN_VERIFICATION_VERSION, - ); - - println!("Result: {:?}", result); -} diff --git a/examples/response-verification/web/README.md b/examples/response-verification/web/README.md deleted file mode 100644 index 8047121a..00000000 --- a/examples/response-verification/web/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# Web Example Project - -This project showcases how to use the `@dfinity/response-verification` package to perform response verification within a frontend web project. - -## Setup - -From the root of this repository, install NPM dependencies: - -```shell -pnpm i -``` - -Build the `@dfinity/response-verification` package: - -```shell -pnpm run --filter @dfinity/response-verification build -``` - -## Run with Webpack Dev Server - -Run: - -```shell -pnpm run --filter web-example start -``` - -## Run with HTTP Server - -Bundle application: - -```shell -pnpm run --filter web-example build -``` - -Run: - -```shell -pnpm run --filter web-example start:http -``` diff --git a/examples/response-verification/web/package.json b/examples/response-verification/web/package.json deleted file mode 100644 index c353b80c..00000000 --- a/examples/response-verification/web/package.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "name": "web-example", - "private": true, - "scripts": { - "start": "webpack-dev-server", - "start:http": "http-server ./dist", - "build": "webpack" - }, - "dependencies": { - "@dfinity/response-verification": "workspace:*" - }, - "devDependencies": { - "html-webpack-plugin": "^5.5.0", - "http-server": "^14.1.1", - "ts-loader": "^9.4.1", - "ts-node": "^10.9.1", - "typescript": "^4.8.4", - "webpack": "^5.76.0", - "webpack-cli": "^4.10.0", - "webpack-dev-server": "^4.11.1" - } -} diff --git a/examples/response-verification/web/src/index.html b/examples/response-verification/web/src/index.html deleted file mode 100644 index e80547e4..00000000 --- a/examples/response-verification/web/src/index.html +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/examples/response-verification/web/src/index.ts b/examples/response-verification/web/src/index.ts deleted file mode 100644 index e5983175..00000000 --- a/examples/response-verification/web/src/index.ts +++ /dev/null @@ -1,82 +0,0 @@ -import initResponseVerification, { - verifyRequestResponsePair, - Request, - Response, - ResponseVerificationError, - ResponseVerificationErrorCode, - getMinVerificationVersion, -} from '@dfinity/response-verification'; -import { Principal } from '@dfinity/principal'; - -const request: Request = { - url: '/', - method: 'GET', - headers: [['Host', 'rdmx6-jaaaa-aaaaa-aaadq-cai.ic0.app']], - body: new Uint8Array([]), -}; - -const IC_ROOT_KEY = - '308182301d060d2b0601040182dc7c0503010201060c2b0601040182dc7c05030201036100814c0e6ec71fab583b08bd81373c255c3c371b2e84863c98a4f1e08b74235d14fb5d9c0cd546d9685f913a0c0b2cc5341583bf4b4392e467db96d65b9bb4cb717112f8472e0d5a4d14505ffd7484b01291091c5f87b98883463f98091a0baaae'; - -function fromHex(hex: string): Uint8Array { - const buffer = [...hex] - .reduce((acc, curr, i) => { - // tslint:disable-next-line:no-bitwise - acc[(i / 2) | 0] = (acc[(i / 2) | 0] || '') + curr; - return acc; - }, [] as string[]) - .map(x => Number.parseInt(x, 16)); - - return new Uint8Array(buffer); -} - -const response: Response = { - statusCode: 200, - headers: [ - [ - 'Ic-Certificate', - 'certificate=:2dn3o2R0cmVlgwGDAYMBgwJIY2FuaXN0ZXKDAkoAAAAAAAAABwEBgwGDAYMBgwJOY2VydGlmaWVkX2RhdGGCA1gg2e9+GWTYWw6giMkxjJE7dxUuFMOmoEJ30FFRTOYmZ+6CBFgg/VtZRZdYyK/sr3KF2jWeS1rblF+4ajwfDv2ZbCGpaTiCBFgg6HKEMFmYn9j0sFHRxCCDNXWTLnDMbw4tDvk9Rh2gPymCBFggKBqd8UfSTdcsbnzQLZPXVYsJLM6dc/fi+RlcW9D/WJGCBFgggAG4QoPuBpdUD9ifMs40Cvn9vn0wahLjSTMOBsMV4iCCBFggoawiEDD+DnBTi5j9NjLHMWHFAlWaVk4+26+ulwFUYJ6DAYIEWCALLxLPg6ijOWkcDTm+OEMs7hpk2o44mLtpr9tpcII8XoMCRHRpbWWCA0mvsY3usNqMlRdpc2lnbmF0dXJlWDCGny0r7KOVEzQsoU4URu/jteB+cO4uw8x59WgP3akcM4hQZ2FLVtbWwKgX2OXKBBVqZGVsZWdhdGlvbqJpc3VibmV0X2lkWB1D3K8RgNuC/acIzjrHoDpgYKveE+lUbGDozOZdAmtjZXJ0aWZpY2F0ZVkCbtnZ96JkdHJlZYMBggRYIOdSJxF174WaX2n7+PrVTskgyInEKI4+qd19HkTmpD4ugwGDAkZzdWJuZXSDAYMBgwGCBFggJn/lURG1bjw5dVMuozc/e3Lp+CBy/o5gftNEhkeKWzmDAYIEWCBGanAobPms6YAcpT4ir27gWaCU/WBJhgbUhLaFQFgwfYMBgwGCBFggiy9sFQeK5NO5NHCRXKU+NzMn836nS6G4F32Ya7ebMa6DAlgdQ9yvEYDbgv2nCM46x6A6YGCr3hPpVGxg6MzmXQKDAYMCT2NhbmlzdGVyX3Jhbmdlc4IDWDLZ2feCgkoAAAAAAAAABwEBSgAAAAAAAAAHAQGCSgAAAAACEAAAAQFKAAAAAAIf//8BAYMCSnB1YmxpY19rZXmCA1iFMIGCMB0GDSsGAQQBgtx8BQMBAgEGDCsGAQQBgtx8BQMCAQNhAIZ1tjSkPjlyYjjP45yVGLw+MiXLb1qEeb/PK2CPum+FJNy4DzWorkS0fyYvCmYg1BJ58G/gxTpzn8ygGkiSb+ZRo1GbWzKf++zJ8MuQiwmN0+iEXPuZxWN54EmsRl7IBoIEWCCHzSE2R03mBIh5w7cCAFNWUXA9yXLKy5T6Bl/+LuY2ioIEWCBKHXbAjmQuPbaYLmZTvoxzbydaJKwiEINDCy1bRBznVIIEWCAthWu6e2yAFxzo5dEhu35EULNWWmRNkTXp/liEKBwfuYMCRHRpbWWCA0m10ovcy4SWlBdpc2lnbmF0dXJlWDCt6yOQsJ6yXcx8WbPabC32P4fss5zCAYh1/Jal1encJWqqxbAD9Svz7bsCIYWs1Ec=:, tree=:2dn3gwGDAktodHRwX2Fzc2V0c4MBgwGDAkEvggNYIHhMD4Jak4qn9HFYfN98d5b4KPk2JJXiuchJDyIyNZvbggRYINfNCmz1KiBw3FH+HXtqhweIiHGeFoScdIw15/x7aflcggRYIFgrUyEzZkbUjG+L8ZEzM7tOv2XAn/v4IHwBLh9UBxJhggRYICEzSyZoHXIg49LX3LI6iczbGx4ETrNeu+SR9m1AgNB4:', - ], - ], - // prettier-ignore - body: new Uint8Array([60, 33, 100, 111, 99, 116, 121, 112, 101, 32, 104, 116, 109, 108, 62, 60, 104, 116, 109, 108, 32, 108, 97, 110, 103, 61, 34, 101, 110, 34, 62, 60, 104, 101, 97, 100, 62, 60, 109, 101, 116, 97, 32, 99, 104, 97, 114, 115, 101, 116, 61, 34, 85, 84, 70, 45, 56, 34, 47, 62, 60, 109, 101, 116, 97, 32, 104, 116, 116, 112, 45, 101, 113, 117, 105, 118, 61, 34, 88, 45, 85, 65, 45, 67, 111, 109, 112, 97, 116, 105, 98, 108, 101, 34, 32, 99, 111, 110, 116, 101, 110, 116, 61, 34, 73, 69, 61, 101, 100, 103, 101, 34, 47, 62, 60, 109, 101, 116, 97, 32, 110, 97, 109, 101, 61, 34, 118, 105, 101, 119, 112, 111, 114, 116, 34, 32, 99, 111, 110, 116, 101, 110, 116, 61, 34, 119, 105, 100, 116, 104, 61, 100, 101, 118, 105, 99, 101, 45, 119, 105, 100, 116, 104, 44, 105, 110, 105, 116, 105, 97, 108, 45, 115, 99, 97, 108, 101, 61, 49, 34, 47, 62, 60, 109, 101, 116, 97, 32, 104, 116, 116, 112, 45, 101, 113, 117, 105, 118, 61, 34, 67, 111, 110, 116, 101, 110, 116, 45, 83, 101, 99, 117, 114, 105, 116, 121, 45, 80, 111, 108, 105, 99, 121, 34, 32, 99, 111, 110, 116, 101, 110, 116, 61, 34, 100, 101, 102, 97, 117, 108, 116, 45, 115, 114, 99, 32, 39, 110, 111, 110, 101, 39, 59, 99, 111, 110, 110, 101, 99, 116, 45, 115, 114, 99, 32, 39, 115, 101, 108, 102, 39, 32, 104, 116, 116, 112, 115, 58, 47, 47, 105, 99, 48, 46, 97, 112, 112, 32, 104, 116, 116, 112, 115, 58, 47, 47, 42, 46, 105, 99, 48, 46, 97, 112, 112, 59, 105, 109, 103, 45, 115, 114, 99, 32, 39, 115, 101, 108, 102, 39, 32, 100, 97, 116, 97, 58, 59, 115, 99, 114, 105, 112, 116, 45, 115, 114, 99, 32, 39, 115, 104, 97, 50, 53, 54, 45, 97, 101, 79, 100, 111, 77, 76, 122, 86, 43, 113, 109, 107, 73, 100, 97, 89, 105, 51, 100, 81, 74, 43, 97, 80, 120, 85, 81, 76, 70, 68, 97, 73, 106, 52, 49, 47, 99, 120, 57, 68, 99, 65, 61, 39, 32, 39, 117, 110, 115, 97, 102, 101, 45, 105, 110, 108, 105, 110, 101, 39, 32, 39, 117, 110, 115, 97, 102, 101, 45, 101, 118, 97, 108, 39, 32, 39, 115, 116, 114, 105, 99, 116, 45, 100, 121, 110, 97, 109, 105, 99, 39, 32, 104, 116, 116, 112, 115, 58, 59, 98, 97, 115, 101, 45, 117, 114, 105, 32, 39, 110, 111, 110, 101, 39, 59, 102, 111, 114, 109, 45, 97, 99, 116, 105, 111, 110, 32, 39, 110, 111, 110, 101, 39, 59, 115, 116, 121, 108, 101, 45, 115, 114, 99, 32, 39, 115, 101, 108, 102, 39, 32, 39, 117, 110, 115, 97, 102, 101, 45, 105, 110, 108, 105, 110, 101, 39, 32, 104, 116, 116, 112, 115, 58, 47, 47, 102, 111, 110, 116, 115, 46, 103, 111, 111, 103, 108, 101, 97, 112, 105, 115, 46, 99, 111, 109, 59, 115, 116, 121, 108, 101, 45, 115, 114, 99, 45, 101, 108, 101, 109, 32, 39, 115, 101, 108, 102, 39, 32, 39, 117, 110, 115, 97, 102, 101, 45, 105, 110, 108, 105, 110, 101, 39, 32, 104, 116, 116, 112, 115, 58, 47, 47, 102, 111, 110, 116, 115, 46, 103, 111, 111, 103, 108, 101, 97, 112, 105, 115, 46, 99, 111, 109, 59, 102, 111, 110, 116, 45, 115, 114, 99, 32, 104, 116, 116, 112, 115, 58, 47, 47, 102, 111, 110, 116, 115, 46, 103, 115, 116, 97, 116, 105, 99, 46, 99, 111, 109, 59, 117, 112, 103, 114, 97, 100, 101, 45, 105, 110, 115, 101, 99, 117, 114, 101, 45, 114, 101, 113, 117, 101, 115, 116, 115, 59, 34, 32, 47, 62, 60, 116, 105, 116, 108, 101, 62, 73, 110, 116, 101, 114, 110, 101, 116, 32, 73, 100, 101, 110, 116, 105, 116, 121, 60, 47, 116, 105, 116, 108, 101, 62, 60, 108, 105, 110, 107, 32, 114, 101, 108, 61, 34, 115, 104, 111, 114, 116, 99, 117, 116, 32, 105, 99, 111, 110, 34, 32, 116, 121, 112, 101, 61, 34, 105, 109, 97, 103, 101, 47, 106, 112, 103, 34, 32, 104, 114, 101, 102, 61, 34, 46, 47, 102, 97, 118, 105, 99, 111, 110, 46, 105, 99, 111, 34, 47, 62, 60, 108, 105, 110, 107, 32, 114, 101, 108, 61, 34, 115, 116, 121, 108, 101, 115, 104, 101, 101, 116, 34, 32, 104, 114, 101, 102, 61, 34, 46, 47, 105, 110, 100, 101, 120, 46, 99, 115, 115, 34, 47, 62, 60, 47, 104, 101, 97, 100, 62, 60, 98, 111, 100, 121, 62, 60, 109, 97, 105, 110, 32, 105, 100, 61, 34, 112, 97, 103, 101, 67, 111, 110, 116, 101, 110, 116, 34, 32, 99, 108, 97, 115, 115, 61, 34, 108, 45, 119, 114, 97, 112, 34, 32, 97, 114, 105, 97, 45, 108, 105, 118, 101, 61, 34, 112, 111, 108, 105, 116, 101, 34, 62, 60, 47, 109, 97, 105, 110, 62, 60, 100, 105, 118, 32, 105, 100, 61, 34, 110, 111, 116, 105, 102, 105, 99, 97, 116, 105, 111, 110, 34, 62, 60, 47, 100, 105, 118, 62, 60, 100, 105, 118, 32, 105, 100, 61, 34, 108, 111, 97, 100, 101, 114, 67, 111, 110, 116, 97, 105, 110, 101, 114, 34, 62, 60, 47, 100, 105, 118, 62, 60, 115, 99, 114, 105, 112, 116, 32, 100, 97, 116, 97, 45, 99, 97, 110, 105, 115, 116, 101, 114, 45, 105, 100, 61, 34, 114, 100, 109, 120, 54, 45, 106, 97, 97, 97, 97, 45, 97, 97, 97, 97, 97, 45, 97, 97, 97, 100, 113, 45, 99, 97, 105, 34, 32, 105, 100, 61, 34, 115, 101, 116, 117, 112, 74, 115, 34, 62, 108, 101, 116, 32, 115, 32, 61, 32, 100, 111, 99, 117, 109, 101, 110, 116, 46, 99, 114, 101, 97, 116, 101, 69, 108, 101, 109, 101, 110, 116, 40, 39, 115, 99, 114, 105, 112, 116, 39, 41, 59, 115, 46, 97, 115, 121, 110, 99, 32, 61, 32, 116, 114, 117, 101, 59, 115, 46, 115, 114, 99, 32, 61, 32, 39, 105, 110, 100, 101, 120, 46, 106, 115, 39, 59, 100, 111, 99, 117, 109, 101, 110, 116, 46, 104, 101, 97, 100, 46, 97, 112, 112, 101, 110, 100, 67, 104, 105, 108, 100, 40, 115, 41, 59, 60, 47, 115, 99, 114, 105, 112, 116, 62, 60, 47, 98, 111, 100, 121, 62, 60, 47, 104, 116, 109, 108, 62]), -}; - -const canister_id = Principal.fromText( - 'rdmx6-jaaaa-aaaaa-aaadq-cai', -).toUint8Array(); - -const current_time_ns = BigInt(1669202493944584367); -const max_cert_time_offset_ns = BigInt(300_000_000_000); - -window.addEventListener('load', async () => { - await initResponseVerification(); - - try { - const result = verifyRequestResponsePair( - request, - response, - canister_id, - current_time_ns, - max_cert_time_offset_ns, - fromHex(IC_ROOT_KEY), - getMinVerificationVersion(), - ); - - console.log('Result', result); - } catch (error) { - console.log('Error', error); - - if (error instanceof ResponseVerificationError) { - switch (error.code) { - case ResponseVerificationErrorCode.CborDecodingFailed: - console.log(`Error parsing cbor: ${error.message}`); - break; - - case ResponseVerificationErrorCode.CertificateVerificationFailed: - console.log(`Certificate verification failed: ${error.message}`); - break; - } - } - } -}); diff --git a/examples/response-verification/web/tsconfig.json b/examples/response-verification/web/tsconfig.json deleted file mode 100644 index 9ad02a1f..00000000 --- a/examples/response-verification/web/tsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "module": "es6", - "target": "es5", - "moduleResolution": "node", - "downlevelIteration": true, - "lib": ["ES2020", "DOM"] - }, - "include": ["src/**/*.ts"] -} diff --git a/examples/response-verification/web/webpack.config.js b/examples/response-verification/web/webpack.config.js deleted file mode 100644 index 0c630685..00000000 --- a/examples/response-verification/web/webpack.config.js +++ /dev/null @@ -1,36 +0,0 @@ -const path = require('path'); -const HtmlWebpackPlugin = require('html-webpack-plugin'); - -module.exports = () => { - return { - mode: 'development', - entry: { - main: path.join(__dirname, 'src/index.ts'), - }, - target: ['web'], - output: { - path: path.join(__dirname, 'dist'), - filename: '[name].js', - publicPath: '/', - }, - module: { - rules: [ - { - test: /\.tsx?$/, - exclude: /node_modules/, - use: [ - { - loader: 'ts-loader', - }, - ], - }, - ], - }, - plugins: [ - new HtmlWebpackPlugin({ - template: 'src/index.html', - filename: 'index.html', - }), - ], - }; -}; diff --git a/package.json b/package.json index 051c8881..1f0d66ee 100644 --- a/package.json +++ b/package.json @@ -18,14 +18,16 @@ "@dfinity/candid": "^1.0.1", "@dfinity/principal": "^1.0.1", "@hadronous/pic": "0.6.1-b1", - "@types/jest": "^29.5.12", - "@types/node": "^20.11.30", + "@types/jest": "^29.5.13", + "@types/node": "~20.13.0", "jest": "^29.7.0", - "prettier": "^2.8.8", - "ts-jest": "^29.1.2", - "typescript": "^5.1.3", - "vite": "^4.5.2", - "vite-plugin-checker": "^0.6.1", - "vitest": "^0.32.2" + "prettier": "^3.3.3", + "ts-jest": "^29.2.5", + "typescript": "~5.6.2", + "vite": "^5.4.6", + "vite-plugin-checker": "^0.8.0", + "vite-plugin-static-copy": "^1.0.6", + "vite-plugin-solid": "^2.10.2", + "vitest": "^2.1.1" } } diff --git a/packages/ic-certification/src/hash_tree/mod.rs b/packages/ic-certification/src/hash_tree/mod.rs index 60571232..21be2675 100644 --- a/packages/ic-certification/src/hash_tree/mod.rs +++ b/packages/ic-certification/src/hash_tree/mod.rs @@ -34,6 +34,7 @@ impl> Label { } /// The length of the output of [`Self::write_hex`] + #[cfg(feature = "serde")] fn hex_len(&self) -> usize { self.as_bytes().len() * 2 } diff --git a/packages/ic-response-verification-wasm/README.md b/packages/ic-response-verification-wasm/README.md index ba5cb3d9..015395e5 100644 --- a/packages/ic-response-verification-wasm/README.md +++ b/packages/ic-response-verification-wasm/README.md @@ -47,12 +47,3 @@ try { } } ``` - -## Examples - -See the following for working examples: - -- [Web](https://github.com/dfinity/response-verification/tree/main/examples/response-verification/web) -- [NodeJS](https://github.com/dfinity/response-verification/tree/main/examples/response-verification/nodejs) - -Note that when bundling for a service worker with Webpack. The `target` property must be set to `webworker`. diff --git a/packages/ic-response-verification/README.md b/packages/ic-response-verification/README.md index 0b47aa2b..47c078e7 100644 --- a/packages/ic-response-verification/README.md +++ b/packages/ic-response-verification/README.md @@ -2,4 +2,4 @@ Response verification on the [Internet Computer](https://dfinity.org) is the process of verifying that an HTTP-compatible canister response from a replica has gone through consensus with other replicas hosting the same canister. It is the counterpart to [HTTP Certification](#http-certification). -The `ic-response-verification` and `@dfinity/response-verification` packages encapsulate this verification protocol. It is used by [ICX Proxy](https://github.com/dfinity/ic/tree/master/rs/boundary_node/icx_proxy) and the [local HTTP Proxy](https://github.com/dfinity/http-proxy) and may be used by other implementations of the [HTTP Gateway Protocol](https://internetcomputer.org/docs/current/references/ic-interface-spec/#http-gateway) in the future. +The `ic-response-verification` and `@dfinity/response-verification` packages encapsulate this verification protocol. It is primarily used by [the `ic-http-gateway` library](https://github.com/dfinity/http-gateway/tree/main/packages/ic-http-gateway) and may be used by other implementations of the [HTTP Gateway Protocol](https://internetcomputer.org/docs/current/references/ic-interface-spec/#http-gateway) in the future. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e367ae84..bf015b8e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -21,78 +21,44 @@ importers: specifier: 0.6.1-b1 version: 0.6.1-b1(@dfinity/agent@1.0.1(@dfinity/candid@1.0.1(@dfinity/principal@1.0.1))(@dfinity/principal@1.0.1))(@dfinity/candid@1.0.1(@dfinity/principal@1.0.1))(@dfinity/identity@1.0.1(@dfinity/agent@1.0.1(@dfinity/candid@1.0.1(@dfinity/principal@1.0.1))(@dfinity/principal@1.0.1))(@dfinity/principal@1.0.1)(@peculiar/webcrypto@1.4.5))(@dfinity/principal@1.0.1) '@types/jest': - specifier: ^29.5.12 - version: 29.5.12 + specifier: ^29.5.13 + version: 29.5.13 '@types/node': - specifier: ^20.11.30 - version: 20.11.30 + specifier: ~20.13.0 + version: 20.13.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)) + version: 29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)) prettier: - specifier: ^2.8.8 - version: 2.8.8 + specifier: ^3.3.3 + version: 3.3.3 ts-jest: - specifier: ^29.1.2 - version: 29.1.2(@babel/core@7.23.7)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.7))(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)))(typescript@5.1.3) + specifier: ^29.2.5 + version: 29.2.5(@babel/core@7.24.3)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.3))(jest@29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)))(typescript@5.6.2) typescript: - specifier: ^5.1.3 - version: 5.1.3 + specifier: ~5.6.2 + version: 5.6.2 vite: - specifier: ^4.5.2 - version: 4.5.2(@types/node@20.11.30)(terser@5.18.1) + specifier: ^5.4.6 + version: 5.4.6(@types/node@20.13.0)(terser@5.18.1) vite-plugin-checker: - specifier: ^0.6.1 - version: 0.6.1(typescript@5.1.3)(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)) + specifier: ^0.8.0 + version: 0.8.0(typescript@5.6.2)(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1)) + vite-plugin-solid: + specifier: ^2.10.2 + version: 2.10.2(solid-js@1.7.6)(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1)) + vite-plugin-static-copy: + specifier: ^1.0.6 + version: 1.0.6(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1)) vitest: - specifier: ^0.32.2 - version: 0.32.2(terser@5.18.1) + specifier: ^2.1.1 + version: 2.1.1(@types/node@20.13.0)(terser@5.18.1) - examples/certification/certified-counter: + examples/certification/certified-counter/src/frontend: dependencies: '@dfinity/certificate-verification': specifier: workspace:* - version: link:../../../packages/certificate-verification-js - devDependencies: - assert: - specifier: 2.0.0 - version: 2.0.0 - buffer: - specifier: 6.0.3 - version: 6.0.3 - copy-webpack-plugin: - specifier: ^11.0.0 - version: 11.0.0(webpack@5.76.0(webpack-cli@4.10.0)) - events: - specifier: 3.3.0 - version: 3.3.0 - html-webpack-plugin: - specifier: 5.5.0 - version: 5.5.0(webpack@5.76.0(webpack-cli@4.10.0)) - process: - specifier: 0.11.10 - version: 0.11.10 - stream-browserify: - specifier: 3.0.0 - version: 3.0.0 - terser-webpack-plugin: - specifier: ^5.3.3 - version: 5.3.9(webpack@5.76.0(webpack-cli@4.10.0)) - ts-loader: - specifier: ^9.4.3 - version: 9.4.3(typescript@5.1.3)(webpack@5.76.0(webpack-cli@4.10.0)) - util: - specifier: 0.12.4 - version: 0.12.4 - webpack: - specifier: ^5.73.0 - version: 5.76.0(webpack-cli@4.10.0) - webpack-cli: - specifier: ^4.10.0 - version: 4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0) - webpack-dev-server: - specifier: ^4.8.1 - version: 4.11.1(webpack-cli@4.10.0)(webpack@5.76.0) + version: link:../../../../../packages/certificate-verification-js examples/http-certification/assets/src/frontend: dependencies: @@ -105,32 +71,15 @@ importers: version: 5.1.3 vite: specifier: ^4.3.9 - version: 4.5.2(@types/node@20.11.30)(terser@5.18.1) + version: 4.5.2(@types/node@20.13.0)(terser@5.18.1) vite-plugin-compression: specifier: ^0.5.1 - version: 0.5.1(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)) + version: 0.5.1(vite@4.5.2(@types/node@20.13.0)(terser@5.18.1)) vite-plugin-solid: specifier: ^2.7.0 - version: 2.7.0(solid-js@1.7.6)(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)) + version: 2.7.0(solid-js@1.7.6)(vite@4.5.2(@types/node@20.13.0)(terser@5.18.1)) - examples/http-certification/custom-assets/src/frontend: - dependencies: - solid-js: - specifier: ^1.7.6 - version: 1.7.6 - devDependencies: - typescript: - specifier: ^5.1.3 - version: 5.1.3 - vite: - specifier: ^4.3.9 - version: 4.5.2(@types/node@20.11.30)(terser@5.18.1) - vite-plugin-compression: - specifier: ^0.5.1 - version: 0.5.1(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)) - vite-plugin-solid: - specifier: ^2.7.0 - version: 2.7.0(solid-js@1.7.6)(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)) + examples/http-certification/custom-assets/src/frontend: {} examples/http-certification/custom-assets/src/tests: devDependencies: @@ -150,56 +99,6 @@ importers: specifier: workspace:* version: link:../../../../../packages/ic-response-verification-wasm - examples/response-verification/nodejs: - dependencies: - '@dfinity/response-verification': - specifier: workspace:* - version: link:../../../packages/ic-response-verification-wasm - devDependencies: - '@tsconfig/node16': - specifier: ^1.0.3 - version: 1.0.3 - '@types/node': - specifier: ^20.3.1 - version: 20.3.1 - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@20.3.1)(typescript@4.8.4) - typescript: - specifier: ^4.8.4 - version: 4.8.4 - - examples/response-verification/web: - dependencies: - '@dfinity/response-verification': - specifier: workspace:* - version: link:../../../packages/ic-response-verification-wasm - devDependencies: - html-webpack-plugin: - specifier: ^5.5.0 - version: 5.5.0(webpack@5.76.0(webpack-cli@4.10.0)) - http-server: - specifier: ^14.1.1 - version: 14.1.1 - ts-loader: - specifier: ^9.4.1 - version: 9.4.3(typescript@4.8.4)(webpack@5.76.0(webpack-cli@4.10.0)) - ts-node: - specifier: ^10.9.1 - version: 10.9.1(@types/node@20.11.30)(typescript@4.8.4) - typescript: - specifier: ^4.8.4 - version: 4.8.4 - webpack: - specifier: ^5.76.0 - version: 5.76.0(webpack-cli@4.10.0) - webpack-cli: - specifier: ^4.10.0 - version: 4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0) - webpack-dev-server: - specifier: ^4.11.1 - version: 4.11.1(webpack-cli@4.10.0)(webpack@5.76.0) - packages/certificate-verification-js: dependencies: '@dfinity/agent': @@ -229,7 +128,7 @@ importers: version: 18.0.0 ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@18.0.0)(typescript@5.1.3) + version: 10.9.1(@types/node@18.0.0)(typescript@5.6.2) packages/ic-response-verification-tests/dfx-project: devDependencies: @@ -254,10 +153,6 @@ packages: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} - '@babel/code-frame@7.22.5': - resolution: {integrity: sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==} - engines: {node: '>=6.9.0'} - '@babel/code-frame@7.23.5': resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} engines: {node: '>=6.9.0'} @@ -364,10 +259,6 @@ packages: resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} - '@babel/helper-validator-identifier@7.22.5': - resolution: {integrity: sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==} - engines: {node: '>=6.9.0'} - '@babel/helper-validator-option@7.23.5': resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} @@ -380,10 +271,6 @@ packages: resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.22.5': - resolution: {integrity: sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==} - engines: {node: '>=6.9.0'} - '@babel/highlight@7.23.4': resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} engines: {node: '>=6.9.0'} @@ -549,138 +436,276 @@ packages: resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} engines: {node: '>=10.0.0'} + '@esbuild/aix-ppc64@0.21.5': + resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + '@esbuild/android-arm64@0.18.20': resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] + '@esbuild/android-arm64@0.21.5': + resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm@0.18.20': resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] + '@esbuild/android-arm@0.21.5': + resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-x64@0.18.20': resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] + '@esbuild/android-x64@0.21.5': + resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/darwin-arm64@0.18.20': resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] + '@esbuild/darwin-arm64@0.21.5': + resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-x64@0.18.20': resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] + '@esbuild/darwin-x64@0.21.5': + resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-arm64@0.21.5': + resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] + '@esbuild/freebsd-x64@0.21.5': + resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/linux-arm64@0.18.20': resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] + '@esbuild/linux-arm64@0.21.5': + resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm@0.18.20': resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] + '@esbuild/linux-arm@0.21.5': + resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-ia32@0.18.20': resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] + '@esbuild/linux-ia32@0.21.5': + resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-loong64@0.18.20': resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + '@esbuild/linux-loong64@0.21.5': + resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-mips64el@0.18.20': resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] + '@esbuild/linux-mips64el@0.21.5': + resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-ppc64@0.18.20': resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] + '@esbuild/linux-ppc64@0.21.5': + resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-riscv64@0.18.20': resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] + '@esbuild/linux-riscv64@0.21.5': + resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-s390x@0.18.20': resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] + '@esbuild/linux-s390x@0.21.5': + resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-x64@0.18.20': resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] + '@esbuild/linux-x64@0.21.5': + resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/netbsd-x64@0.18.20': resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] + '@esbuild/netbsd-x64@0.21.5': + resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/openbsd-x64@0.18.20': resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] + '@esbuild/openbsd-x64@0.21.5': + resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/sunos-x64@0.18.20': resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] + '@esbuild/sunos-x64@0.21.5': + resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/win32-arm64@0.18.20': resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] + '@esbuild/win32-arm64@0.21.5': + resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-ia32@0.18.20': resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] + '@esbuild/win32-ia32@0.21.5': + resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-x64@0.18.20': resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] + '@esbuild/win32-x64@0.21.5': + resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@hadronous/pic@0.6.1-b1': resolution: {integrity: sha512-9e1qjZooTvY41jcHTNYnZp6JN81SgbeWTfqoo4CSp0Iuuv2aNfzZ1/kYvH88WEGs/HG8QUn/MMgs1Y3g0u5vZg==} peerDependencies: @@ -796,6 +821,9 @@ packages: '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + '@jridgewell/sourcemap-codec@1.5.0': + resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} + '@jridgewell/trace-mapping@0.3.18': resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} @@ -805,15 +833,13 @@ packages: '@jridgewell/trace-mapping@0.3.9': resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - '@leichtgewicht/ip-codec@2.0.4': - resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} + '@noble/curves@1.6.0': + resolution: {integrity: sha512-TlaHRXDehJuRNR9TfZDNQ45mMEd5dwUwmicsafcIX4SsNiqnCHKjE/1alYPd/lDRVhxdhUAlv8uEhMCI5zjIJQ==} + engines: {node: ^14.21.3 || >=16} - '@noble/curves@1.3.0': - resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} - - '@noble/hashes@1.3.3': - resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} - engines: {node: '>= 16'} + '@noble/hashes@1.5.0': + resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + engines: {node: ^14.21.3 || >=16} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -838,6 +864,86 @@ packages: resolution: {integrity: sha512-oDk93QCDGdxFRM8382Zdminzs44dg3M2+E5Np+JWkpqLDyJC9DviMh8F8mEJkYuUcUOGA5jHO5AJJ10MFWdbZw==} engines: {node: '>=10.12.0'} + '@rollup/rollup-android-arm-eabi@4.22.0': + resolution: {integrity: sha512-/IZQvg6ZR0tAkEi4tdXOraQoWeJy9gbQ/cx4I7k9dJaCk9qrXEcdouxRVz5kZXt5C2bQ9pILoAA+KB4C/d3pfw==} + cpu: [arm] + os: [android] + + '@rollup/rollup-android-arm64@4.22.0': + resolution: {integrity: sha512-ETHi4bxrYnvOtXeM7d4V4kZWixib2jddFacJjsOjwbgYSRsyXYtZHC4ht134OsslPIcnkqT+TKV4eU8rNBKyyQ==} + cpu: [arm64] + os: [android] + + '@rollup/rollup-darwin-arm64@4.22.0': + resolution: {integrity: sha512-ZWgARzhSKE+gVUX7QWaECoRQsPwaD8ZR0Oxb3aUpzdErTvlEadfQpORPXkKSdKbFci9v8MJfkTtoEHnnW9Ulng==} + cpu: [arm64] + os: [darwin] + + '@rollup/rollup-darwin-x64@4.22.0': + resolution: {integrity: sha512-h0ZAtOfHyio8Az6cwIGS+nHUfRMWBDO5jXB8PQCARVF6Na/G6XS2SFxDl8Oem+S5ZsHQgtsI7RT4JQnI1qrlaw==} + cpu: [x64] + os: [darwin] + + '@rollup/rollup-linux-arm-gnueabihf@4.22.0': + resolution: {integrity: sha512-9pxQJSPwFsVi0ttOmqLY4JJ9pg9t1gKhK0JDbV1yUEETSx55fdyCjt39eBQ54OQCzAF0nVGO6LfEH1KnCPvelA==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm-musleabihf@4.22.0': + resolution: {integrity: sha512-YJ5Ku5BmNJZb58A4qSEo3JlIG4d3G2lWyBi13ABlXzO41SsdnUKi3HQHe83VpwBVG4jHFTW65jOQb8qyoR+qzg==} + cpu: [arm] + os: [linux] + + '@rollup/rollup-linux-arm64-gnu@4.22.0': + resolution: {integrity: sha512-U4G4u7f+QCqHlVg1Nlx+qapZy+QoG+NV6ux+upo/T7arNGwKvKP2kmGM4W5QTbdewWFgudQxi3kDNST9GT1/mg==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-arm64-musl@4.22.0': + resolution: {integrity: sha512-aQpNlKmx3amwkA3a5J6nlXSahE1ijl0L9KuIjVOUhfOh7uw2S4piR3mtpxpRtbnK809SBtyPsM9q15CPTsY7HQ==} + cpu: [arm64] + os: [linux] + + '@rollup/rollup-linux-powerpc64le-gnu@4.22.0': + resolution: {integrity: sha512-9fx6Zj/7vve/Fp4iexUFRKb5+RjLCff6YTRQl4CoDhdMfDoobWmhAxQWV3NfShMzQk1Q/iCnageFyGfqnsmeqQ==} + cpu: [ppc64] + os: [linux] + + '@rollup/rollup-linux-riscv64-gnu@4.22.0': + resolution: {integrity: sha512-VWQiCcN7zBgZYLjndIEh5tamtnKg5TGxyZPWcN9zBtXBwfcGSZ5cHSdQZfQH/GB4uRxk0D3VYbOEe/chJhPGLQ==} + cpu: [riscv64] + os: [linux] + + '@rollup/rollup-linux-s390x-gnu@4.22.0': + resolution: {integrity: sha512-EHmPnPWvyYqncObwqrosb/CpH3GOjE76vWVs0g4hWsDRUVhg61hBmlVg5TPXqF+g+PvIbqkC7i3h8wbn4Gp2Fg==} + cpu: [s390x] + os: [linux] + + '@rollup/rollup-linux-x64-gnu@4.22.0': + resolution: {integrity: sha512-tsSWy3YQzmpjDKnQ1Vcpy3p9Z+kMFbSIesCdMNgLizDWFhrLZIoN21JSq01g+MZMDFF+Y1+4zxgrlqPjid5ohg==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-linux-x64-musl@4.22.0': + resolution: {integrity: sha512-anr1Y11uPOQrpuU8XOikY5lH4Qu94oS6j0xrulHk3NkLDq19MlX8Ng/pVipjxBJ9a2l3+F39REZYyWQFkZ4/fw==} + cpu: [x64] + os: [linux] + + '@rollup/rollup-win32-arm64-msvc@4.22.0': + resolution: {integrity: sha512-7LB+Bh+Ut7cfmO0m244/asvtIGQr5pG5Rvjz/l1Rnz1kDzM02pSX9jPaS0p+90H5I1x4d1FkCew+B7MOnoatNw==} + cpu: [arm64] + os: [win32] + + '@rollup/rollup-win32-ia32-msvc@4.22.0': + resolution: {integrity: sha512-+3qZ4rer7t/QsC5JwMpcvCVPRcJt1cJrYS/TMJZzXIJbxWFQEVhrIc26IhB+5Z9fT9umfVc+Es2mOZgl+7jdJQ==} + cpu: [ia32] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.22.0': + resolution: {integrity: sha512-YdicNOSJONVx/vuPkgPTyRoAPx3GbknBZRCOUkK84FJ/YTfs/F0vl/YsMscrB6Y177d+yDRcj+JWMPMCgshwrA==} + cpu: [x64] + os: [win32] + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -871,24 +977,6 @@ packages: '@types/babel__traverse@7.20.5': resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} - '@types/body-parser@1.19.2': - resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} - - '@types/bonjour@3.5.10': - resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} - - '@types/chai-subset@1.3.3': - resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} - - '@types/chai@4.3.5': - resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} - - '@types/connect-history-api-fallback@1.5.0': - resolution: {integrity: sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==} - - '@types/connect@3.4.35': - resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} - '@types/eslint-scope@3.7.4': resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} @@ -898,11 +986,11 @@ packages: '@types/estree@0.0.51': resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - '@types/express-serve-static-core@4.17.35': - resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} + '@types/estree@1.0.5': + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - '@types/express@4.17.17': - resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} + '@types/estree@1.0.6': + resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} '@types/graceful-fs@4.1.9': resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} @@ -910,12 +998,6 @@ packages: '@types/html-minifier-terser@6.1.0': resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} - '@types/http-errors@2.0.1': - resolution: {integrity: sha512-/K3ds8TRAfBvi5vfjuz8y6+GiAYBZ0x4tXv1Av6CWBWn0IlADc+ZX9pMq7oU0fNQPnBwIZl3rmeLp6SBApbxSQ==} - - '@types/http-proxy@1.17.11': - resolution: {integrity: sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==} - '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -925,77 +1007,56 @@ packages: '@types/istanbul-reports@3.0.4': resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - '@types/jest@29.5.12': - resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + '@types/jest@29.5.13': + resolution: {integrity: sha512-wd+MVEZCHt23V0/L642O5APvspWply/rGY5BcW4SUETo2UzPU3Z26qr8jC2qxpimI2jjx9h7+2cj2FwIr01bXg==} '@types/json-schema@7.0.12': resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} - '@types/mime@1.3.2': - resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} - - '@types/mime@3.0.1': - resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} - '@types/node@18.0.0': resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} - '@types/node@20.11.24': - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} - - '@types/node@20.11.30': - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} - - '@types/node@20.3.1': - resolution: {integrity: sha512-EhcH/wvidPy1WeML3TtYFGR83UzjxeWRen9V402T8aUGYsCHOmfoisV3ZSg03gAFIbLq8TnWOJ0f4cALtnSEUg==} - - '@types/qs@6.9.7': - resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} - - '@types/range-parser@1.2.4': - resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} - - '@types/retry@0.12.0': - resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} - - '@types/send@0.17.1': - resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} - - '@types/serve-index@1.9.1': - resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} - - '@types/serve-static@1.15.2': - resolution: {integrity: sha512-J2LqtvFYCzaj8pVYKw8klQXrLLk7TBZmQ4ShlcdkELFKGwGMfevMLneMMRkMgZxotOD9wg497LpC7O8PcvAmfw==} - - '@types/sockjs@0.3.33': - resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} + '@types/node@20.13.0': + resolution: {integrity: sha512-FM6AOb3khNkNIXPnHFDYaHerSv8uN22C91z098AnGccVu+Pcdhi+pNUFDi0iLmPIsVE0JBD0KVS7mzUYt4nRzQ==} '@types/stack-utils@2.0.3': resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - '@types/ws@8.5.5': - resolution: {integrity: sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==} - '@types/yargs-parser@21.0.3': resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} '@types/yargs@17.0.32': resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - '@vitest/expect@0.32.2': - resolution: {integrity: sha512-6q5yzweLnyEv5Zz1fqK5u5E83LU+gOMVBDuxBl2d2Jfx1BAp5M+rZgc5mlyqdnxquyoiOXpXmFNkcGcfFnFH3Q==} + '@vitest/expect@2.1.1': + resolution: {integrity: sha512-YeueunS0HiHiQxk+KEOnq/QMzlUuOzbU1Go+PgAsHvvv3tUkJPm9xWt+6ITNTlzsMXUjmgm5T+U7KBPK2qQV6w==} + + '@vitest/mocker@2.1.1': + resolution: {integrity: sha512-LNN5VwOEdJqCmJ/2XJBywB11DLlkbY0ooDJW3uRX5cZyYCrc4PI/ePX0iQhE3BiEGiQmK4GE7Q/PqCkkaiPnrA==} + peerDependencies: + '@vitest/spy': 2.1.1 + msw: ^2.3.5 + vite: ^5.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + '@vitest/pretty-format@2.1.1': + resolution: {integrity: sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ==} - '@vitest/runner@0.32.2': - resolution: {integrity: sha512-06vEL0C1pomOEktGoLjzZw+1Fb+7RBRhmw/06WkDrd1akkT9i12su0ku+R/0QM69dfkIL/rAIDTG+CSuQVDcKw==} + '@vitest/runner@2.1.1': + resolution: {integrity: sha512-uTPuY6PWOYitIkLPidaY5L3t0JJITdGTSwBtwMjKzo5O6RCOEncz9PUN+0pDidX8kTHYjO0EwUIvhlGpnGpxmA==} - '@vitest/snapshot@0.32.2': - resolution: {integrity: sha512-JwhpeH/PPc7GJX38vEfCy9LtRzf9F4er7i4OsAJyV7sjPwjj+AIR8cUgpMTWK4S3TiamzopcTyLsZDMuldoi5A==} + '@vitest/snapshot@2.1.1': + resolution: {integrity: sha512-BnSku1WFy7r4mm96ha2FzN99AZJgpZOWrAhtQfoxjUU5YMRpq1zmHRq7a5K9/NjqonebO7iVDla+VvZS8BOWMw==} - '@vitest/spy@0.32.2': - resolution: {integrity: sha512-Q/ZNILJ4ca/VzQbRM8ur3Si5Sardsh1HofatG9wsJY1RfEaw0XKP8IVax2lI1qnrk9YPuG9LA2LkZ0EI/3d4ug==} + '@vitest/spy@2.1.1': + resolution: {integrity: sha512-ZM39BnZ9t/xZ/nF4UwRH5il0Sw93QnZXd9NAZGRpIgj0yvVwPpLd702s/Cx955rGaMlyBQkZJ2Ir7qyY48VZ+g==} - '@vitest/utils@0.32.2': - resolution: {integrity: sha512-lnJ0T5i03j0IJaeW73hxe2AuVnZ/y1BhhCOuIcl9LIzXnbpXJT9Lrt6brwKHXLOiA7MZ6N5hSJjt0xE1dGNCzQ==} + '@vitest/utils@2.1.1': + resolution: {integrity: sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ==} '@webassemblyjs/ast@1.11.1': resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} @@ -1068,10 +1129,6 @@ packages: '@xtuc/long@4.2.2': resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - acorn-import-assertions@1.9.0: resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} peerDependencies: @@ -1114,11 +1171,6 @@ packages: resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} engines: {node: '>=8'} - ansi-html-community@0.0.8: - resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} - engines: {'0': node >= 0.8.0} - hasBin: true - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1145,28 +1197,16 @@ packages: argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - - array-flatten@2.1.2: - resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} - asn1js@3.0.5: resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} engines: {node: '>=12.0.0'} - assert@2.0.0: - resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} - - assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - - async@2.6.4: - resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} - available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} + async@3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} @@ -1213,13 +1253,6 @@ packages: base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - basic-auth@2.0.1: - resolution: {integrity: sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==} - engines: {node: '>= 0.8'} - - batch@0.6.1: - resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} - bignumber.js@9.1.1: resolution: {integrity: sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig==} @@ -1230,16 +1263,6 @@ packages: bip39@3.1.0: resolution: {integrity: sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A==} - blueimp-md5@2.19.0: - resolution: {integrity: sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w==} - - body-parser@1.20.1: - resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - bonjour-service@1.1.1: - resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} - boolbase@1.0.0: resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} @@ -1250,6 +1273,9 @@ packages: brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} @@ -1275,21 +1301,10 @@ packages: buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - bytes@3.0.0: - resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} - engines: {node: '>= 0.8'} - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1308,9 +1323,9 @@ packages: caniuse-lite@1.0.30001577: resolution: {integrity: sha512-rs2ZygrG1PNXMfmncM0B5H1hndY5ZCC9b5TkFaVNfZ+AUlyqcMyVIQtc3fsezi0NUCk5XZfDf9WS6WxMxnfdrg==} - chai@4.3.7: - resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} - engines: {node: '>=4'} + chai@5.1.1: + resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} + engines: {node: '>=12'} chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} @@ -1324,8 +1339,9 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - check-error@1.0.2: - resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} + check-error@2.1.1: + resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} + engines: {node: '>= 16'} chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} @@ -1388,56 +1404,18 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - compressible@2.0.18: - resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} - engines: {node: '>= 0.6'} - - compression@1.7.4: - resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} - engines: {node: '>= 0.8.0'} - concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concordance@5.0.4: - resolution: {integrity: sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw==} - engines: {node: '>=10.18.0 <11 || >=12.14.0 <13 || >=14'} - - connect-history-api-fallback@2.0.0: - resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} - engines: {node: '>=0.8'} - - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - - cookie@0.5.0: - resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} - engines: {node: '>= 0.6'} - copy-webpack-plugin@11.0.0: resolution: {integrity: sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==} engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.1.0 - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - corser@2.0.1: - resolution: {integrity: sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==} - engines: {node: '>= 0.4.0'} - create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1460,28 +1438,17 @@ packages: csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - date-time@3.1.0: - resolution: {integrity: sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg==} - engines: {node: '>=6'} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1497,52 +1464,21 @@ packages: babel-plugin-macros: optional: true - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + deep-eql@5.0.2: + resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} deepmerge@4.3.1: resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} engines: {node: '>=0.10.0'} - default-gateway@6.0.3: - resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} - engines: {node: '>= 10'} - - define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - - define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} - engines: {node: '>= 0.4'} - delimit-stream@0.1.0: resolution: {integrity: sha512-a02fiQ7poS5CnjiJBAsjGLPp5EwVoGHNeu9sziBd9huppRfsAFIpv5zNLv0V1gbop53ilngAf5Kf331AwcoRBQ==} - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} - detect-node@2.1.0: - resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} - - diff-sequences@29.4.3: - resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1555,13 +1491,6 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dns-equal@1.0.0: - resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} - - dns-packet@5.6.0: - resolution: {integrity: sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==} - engines: {node: '>=6'} - dom-converter@0.2.0: resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} @@ -1581,8 +1510,10 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + ejs@3.1.10: + resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} + engines: {node: '>=0.10.0'} + hasBin: true electron-to-chromium@1.4.632: resolution: {integrity: sha512-JGmudTwg7yxMYvR/gWbalqqQiyu7WTFv2Xu3vw4cJHXPFxNgAk0oy8UHaer8nLF4lZJa+rNoj6GsrKIVJTV6Tw==} @@ -1594,10 +1525,6 @@ packages: emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - enhanced-resolve@5.15.0: resolution: {integrity: sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==} engines: {node: '>=10.13.0'} @@ -1616,21 +1543,20 @@ packages: es-module-lexer@0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - es6-object-assign@1.1.0: - resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} - esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} hasBin: true + esbuild@0.21.5: + resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} + engines: {node: '>=12'} + hasBin: true + escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} @@ -1660,16 +1586,8 @@ packages: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - eventemitter3@4.0.7: - resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} @@ -1687,16 +1605,9 @@ packages: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - express@4.18.2: - resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} - engines: {node: '>= 0.10.0'} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - fast-glob@3.2.12: resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} engines: {node: '>=8.6.0'} @@ -1711,45 +1622,20 @@ packages: fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - faye-websocket@0.11.4: - resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} - engines: {node: '>=0.8.0'} - fb-watchman@2.0.2: resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} - finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - follow-redirects@1.15.2: - resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -1758,9 +1644,6 @@ packages: resolution: {integrity: sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==} engines: {node: '>=14.14'} - fs-monkey@1.0.4: - resolution: {integrity: sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ==} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -1769,6 +1652,11 @@ packages: engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} @@ -1780,11 +1668,8 @@ packages: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - get-func-name@2.0.0: - resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} - - get-intrinsic@1.2.1: - resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} get-package-type@0.1.0: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} @@ -1817,15 +1702,9 @@ packages: resolution: {integrity: sha512-jWsQfayf13NvqKUIL3Ta+CIqMnvlaIDFveWE/dpOZ9+3AMEJozsxDvKA02zync9UuvOM8rOXzsD5GqKP4OnWPQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - handle-thing@2.0.1: - resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} - has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -1834,21 +1713,6 @@ packages: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - - has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} - has@1.0.3: resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} engines: {node: '>= 0.4.0'} @@ -1857,19 +1721,9 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - hpack.js@2.1.6: - resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} - - html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} - html-entities@2.3.3: resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} - html-entities@2.4.0: - resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==} - html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} @@ -1887,50 +1741,10 @@ packages: htmlparser2@6.1.0: resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} - http-deceiver@1.2.7: - resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} - - http-errors@1.6.3: - resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} - engines: {node: '>= 0.6'} - - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - - http-parser-js@0.5.8: - resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} - - http-proxy-middleware@2.0.6: - resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} - engines: {node: '>=12.0.0'} - peerDependencies: - '@types/express': ^4.17.13 - peerDependenciesMeta: - '@types/express': - optional: true - - http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - - http-server@14.1.1: - resolution: {integrity: sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==} - engines: {node: '>=12'} - hasBin: true - human-signals@2.1.0: resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} engines: {node: '>=10.17.0'} - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1951,9 +1765,6 @@ packages: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - inherits@2.0.3: - resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} - inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -1961,18 +1772,6 @@ packages: resolution: {integrity: sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==} engines: {node: '>= 0.10'} - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - - ipaddr.js@2.1.0: - resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==} - engines: {node: '>= 10'} - - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} @@ -1980,18 +1779,9 @@ packages: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - is-core-module@2.12.1: resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} - is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2004,26 +1794,14 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - is-nan@1.3.2: - resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} - engines: {node: '>= 0.4'} - is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-plain-obj@3.0.0: - resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} - engines: {node: '>=10'} - is-plain-object@2.0.4: resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} engines: {node: '>=0.10.0'} @@ -2032,21 +1810,10 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} - is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} - engines: {node: '>= 0.4'} - is-what@4.1.16: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -2082,6 +1849,11 @@ packages: resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} engines: {node: '>=8'} + jake@10.9.2: + resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} + engines: {node: '>=10'} + hasBin: true + jest-changed-files@29.7.0: resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2215,10 +1987,6 @@ packages: node-notifier: optional: true - js-string-escape@1.0.1: - resolution: {integrity: sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg==} - engines: {node: '>= 0.8'} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2248,9 +2016,6 @@ packages: engines: {node: '>=6'} hasBin: true - jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -2273,29 +2038,18 @@ packages: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} - local-pkg@0.4.3: - resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} - engines: {node: '>=14'} - locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - lodash.memoize@4.1.2: resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - lodash.pick@4.4.0: - resolution: {integrity: sha512-hXt6Ul/5yWjfklSGvLQl8vM//l3FtyHZeuelpzK6mm99pNvN9yTDruNZPEJZD1oWrqo+izBmB7oUfWgcCX7s4Q==} - lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - loupe@2.3.6: - resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} - deprecated: Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5 + loupe@3.1.1: + resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} lower-case@2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} @@ -2307,9 +2061,8 @@ packages: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - magic-string@0.30.0: - resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} - engines: {node: '>=12'} + magic-string@0.30.11: + resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} make-dir@4.0.0: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} @@ -2321,25 +2074,10 @@ packages: makeerror@1.0.12: resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - md5-hex@3.0.1: - resolution: {integrity: sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw==} - engines: {node: '>=8'} - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - memfs@3.5.3: - resolution: {integrity: sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==} - engines: {node: '>= 4.0.0'} - merge-anything@5.1.7: resolution: {integrity: sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ==} engines: {node: '>=12.13'} - merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2347,10 +2085,6 @@ packages: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -2363,33 +2097,16 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - - mlly@1.4.0: - resolution: {integrity: sha512-ua8PAThnTwpprIaU47EPeZ/bPUVp2QYBbWMphUQpVdBI3Lgqzm5KZQ45Agm3YJedHXaIHl6pBGabaLSUPPSptg==} - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -2397,32 +2114,25 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - multicast-dns@7.2.5: - resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} - hasBin: true - nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - neo-async@2.6.2: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} no-case@3.0.4: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - node-forge@1.3.1: - resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} - engines: {node: '>= 6.13.0'} - node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} @@ -2440,28 +2150,6 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - - object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - on-headers@1.0.2: - resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} - engines: {node: '>= 0.8'} - once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} @@ -2469,14 +2157,6 @@ packages: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - - opener@1.5.2: - resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} - hasBin: true - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -2485,18 +2165,10 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} - p-retry@4.6.2: - resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} - engines: {node: '>=8'} - p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} @@ -2508,10 +2180,6 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - pascal-case@3.1.2: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} @@ -2530,22 +2198,23 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - path-type@4.0.0: resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} engines: {node: '>=8'} - pathe@1.1.1: - resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + pathval@2.0.0: + resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + engines: {node: '>= 14.16'} picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.1.0: + resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -2558,48 +2227,30 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - - portfinder@1.0.32: - resolution: {integrity: sha512-on2ZJVVDXRADWE6jnQaX0ioEylzgBpQk8r55NE4wjXW1ZxO+BgDlY6DXwj20i0V8eB4SenDQ00WEaxfiIQPcxg==} - engines: {node: '>= 0.12.0'} - postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} - prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} + postcss@8.4.47: + resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==} + engines: {node: ^10 || ^12 || >=14} + + prettier@3.3.3: + resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + engines: {node: '>=14'} hasBin: true pretty-error@4.0.0: resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} - pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - pretty-format@29.7.0: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - prompts@2.4.2: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -2614,37 +2265,15 @@ packages: resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} engines: {node: '>=6.0.0'} - qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - - qs@6.11.2: - resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} - engines: {node: '>=0.6'} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@2.5.1: - resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} - engines: {node: '>= 0.8'} - - react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} @@ -2672,9 +2301,6 @@ packages: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - resolve-cwd@3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -2691,36 +2317,26 @@ packages: resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true - retry@0.13.1: - resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} - engines: {node: '>= 4'} - reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rollup@3.29.4: resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true + rollup@4.22.0: + resolution: {integrity: sha512-W21MUIFPZ4+O2Je/EU+GP3iz7PH4pVPUXSbEZdatQnxo29+3rsUjgrJmzuAZU24z7yRAnFN6ukxeAhZh/c7hzg==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - schema-utils@3.3.0: resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==} engines: {node: '>= 10.13.0'} @@ -2729,33 +2345,19 @@ packages: resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} engines: {node: '>= 12.13.0'} - secure-compare@3.0.1: - resolution: {integrity: sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==} - - select-hose@2.0.0: - resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} - - selfsigned@2.1.1: - resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} - engines: {node: '>=10'} - semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.5.3: - resolution: {integrity: sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true - send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true serialize-javascript@6.0.1: resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} @@ -2764,20 +2366,6 @@ packages: resolution: {integrity: sha512-ZfhQVB59hmIauJG5Ydynupy8KHyr5imGNtdDhbZG68Ufh1Ynkv9KOYOAABf71oVbQxJ8VkWnMHAjEHE7fWkH5g==} engines: {node: '>=10'} - serve-index@1.9.1: - resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} - engines: {node: '>= 0.8.0'} - - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - - setprototypeof@1.1.0: - resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shallow-clone@3.0.1: resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} engines: {node: '>=8'} @@ -2790,9 +2378,6 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -2813,9 +2398,6 @@ packages: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} - sockjs@0.3.24: - resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} - solid-js@1.7.6: resolution: {integrity: sha512-DXVOTjUh/bIAhE0fIqu3ezGLyQaez7v8EOw3uPLIi87DmLjg+hsuCAgKyNIZ+o4jUetOk3ZORccvJmE1yZUk8g==} @@ -2824,10 +2406,19 @@ packages: peerDependencies: solid-js: ^1.3 + solid-refresh@0.6.3: + resolution: {integrity: sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA==} + peerDependencies: + solid-js: ^1.3 + source-map-js@1.0.2: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + source-map-support@0.5.13: resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} @@ -2838,13 +2429,6 @@ packages: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - spdy-transport@3.0.0: - resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} - - spdy@4.0.2: - resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} - engines: {node: '>=6.0.0'} - sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -2855,19 +2439,8 @@ packages: stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - std-env@3.3.3: - resolution: {integrity: sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg==} - - stream-browserify@3.0.0: - resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} string-length@4.0.2: resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} @@ -2877,9 +2450,6 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -2899,9 +2469,6 @@ packages: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - strip-literal@1.0.1: - resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} - supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -2947,25 +2514,25 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - thunky@1.1.0: - resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} - - time-zone@1.0.0: - resolution: {integrity: sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA==} - engines: {node: '>=4'} - tiny-invariant@1.3.1: resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} - tinybench@2.5.0: - resolution: {integrity: sha512-kRwSG8Zx4tjF9ZiyH4bhaebu+EDz1BOx9hOigYHlUW4xxI/wKIUQUqo018UlU4ar6ATPBsaMrdbKZ+tmPdohFA==} + tinybench@2.9.0: + resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} + + tinyexec@0.3.0: + resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==} - tinypool@0.5.0: - resolution: {integrity: sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ==} + tinypool@1.0.1: + resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} + engines: {node: ^18.0.0 || >=20.0.0} + + tinyrainbow@1.2.0: + resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} engines: {node: '>=14.0.0'} - tinyspy@2.1.1: - resolution: {integrity: sha512-XPJL2uSzcOyBMky6OFrusqWlzfFrXtE0hPuMgW8A2HmaqrPo4ZQHRN/V0QXN3FSjKxpsbRrFc5LI7KOwBsT1/w==} + tinyspy@3.0.2: + resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} tmpl@1.0.5: @@ -2979,16 +2546,13 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - ts-jest@29.1.2: - resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} - engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} + ts-jest@29.2.5: + resolution: {integrity: sha512-KD8zB2aAZrcKIdGk4OwpJggeLcH1FgrICqDSROWqlnJXGCXK4Mn6FcdK2B6670Xr73lHMG1kHw8R87A0ecZ+vA==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 '@jest/types': ^29.0.0 babel-jest: ^29.0.0 esbuild: '*' @@ -2997,6 +2561,8 @@ packages: peerDependenciesMeta: '@babel/core': optional: true + '@jest/transform': + optional: true '@jest/types': optional: true babel-jest: @@ -3004,13 +2570,6 @@ packages: esbuild: optional: true - ts-loader@9.4.3: - resolution: {integrity: sha512-n3hBnm6ozJYzwiwt5YRiJZkzktftRpMiBApHaJPoWLA+qetQBAXkHqCLM6nwSdRDimqVtA5ocIkcTRLMTt7yzA==} - engines: {node: '>=12.0.0'} - peerDependencies: - typescript: '*' - webpack: ^5.0.0 - ts-node@10.9.1: resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -3039,38 +2598,23 @@ packages: resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - typescript@4.8.4: - resolution: {integrity: sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==} - engines: {node: '>=4.2.0'} - hasBin: true - typescript@5.1.3: resolution: {integrity: sha512-XH627E9vkeqhlZFQuL+UsyAXEnibT0kWR2FWONlr4sTjvxyJYnyefgrkyECLzM5NenmKzRAy2rR/OlYLA1HkZw==} engines: {node: '>=14.17'} hasBin: true - ufo@1.1.2: - resolution: {integrity: sha512-TrY6DsjTQQgyS3E3dBaOXf0TpPD8u9FVrVYmKVegJuFw51n/YB9XPt+U6ydzFG5ZIN7+DIjPbNmXoBj9esYhgQ==} + typescript@5.6.2: + resolution: {integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==} + engines: {node: '>=14.17'} + hasBin: true undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - union@0.5.0: - resolution: {integrity: sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==} - engines: {node: '>= 0.8.0'} - universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - update-browserslist-db@1.0.13: resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -3080,26 +2624,12 @@ packages: uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - url-join@4.0.1: - resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} - util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - util@0.12.4: - resolution: {integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==} - utila@0.4.0: resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} @@ -3110,19 +2640,16 @@ packages: validate-html-nesting@1.2.2: resolution: {integrity: sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg==} - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - vite-node@0.32.2: - resolution: {integrity: sha512-dTQ1DCLwl2aEseov7cfQ+kDMNJpM1ebpyMMMwWzBvLbis8Nla/6c9WQcqpPssTwS6Rp/+U6KwlIj8Eapw4bLdA==} - engines: {node: '>=v14.18.0'} + vite-node@2.1.1: + resolution: {integrity: sha512-N/mGckI1suG/5wQI35XeR9rsMsPqKXzq1CdUndzVstBj/HvyxxGctwnK6WX43NGt5L3Z5tcRf83g4TITKJhPrA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true - vite-plugin-checker@0.6.1: - resolution: {integrity: sha512-4fAiu3W/IwRJuJkkUZlWbLunSzsvijDf0eDN6g/MGh6BUK4SMclOTGbLJCPvdAcMOQvVmm8JyJeYLYd4//8CkA==} + vite-plugin-checker@0.8.0: + resolution: {integrity: sha512-UA5uzOGm97UvZRTdZHiQVYFnd86AVn8EVaD4L3PoVzxH+IZSfaAw14WGFwX9QS23UW3lV/5bVKZn6l0w+q9P0g==} engines: {node: '>=14.16'} peerDependencies: + '@biomejs/biome': '>=1.7' eslint: '>=7' meow: ^9.0.0 optionator: ^0.9.1 @@ -3131,8 +2658,10 @@ packages: vite: '>=2.0.0' vls: '*' vti: '*' - vue-tsc: '>=1.3.9' + vue-tsc: ~2.1.6 peerDependenciesMeta: + '@biomejs/biome': + optional: true eslint: optional: true meow: @@ -3155,12 +2684,28 @@ packages: peerDependencies: vite: '>=2.0.0' + vite-plugin-solid@2.10.2: + resolution: {integrity: sha512-AOEtwMe2baBSXMXdo+BUwECC8IFHcKS6WQV/1NEd+Q7vHPap5fmIhLcAzr+DUJ04/KHx/1UBU0l1/GWP+rMAPQ==} + peerDependencies: + '@testing-library/jest-dom': ^5.16.6 || ^5.17.0 || ^6.* + solid-js: ^1.7.2 + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + '@testing-library/jest-dom': + optional: true + vite-plugin-solid@2.7.0: resolution: {integrity: sha512-avp/Jl5zOp/Itfo67xtDB2O61U7idviaIp4mLsjhCa13PjKNasz+IID0jYTyqUp9SFx6/PmBr6v4KgDppqompg==} peerDependencies: solid-js: ^1.7.2 vite: ^3.0.0 || ^4.0.0 + vite-plugin-static-copy@1.0.6: + resolution: {integrity: sha512-3uSvsMwDVFZRitqoWHj0t4137Kz7UynnJeq1EZlRW7e25h2068fyIZX4ORCCOAkfp1FklGxJNVJBkBOD+PZIew==} + engines: {node: ^18.0.0 || >=20.0.0} + peerDependencies: + vite: ^5.0.0 + vite@4.5.2: resolution: {integrity: sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3189,6 +2734,37 @@ packages: terser: optional: true + vite@5.4.6: + resolution: {integrity: sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vitefu@0.2.5: resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: @@ -3197,22 +2773,22 @@ packages: vite: optional: true - vitest@0.32.2: - resolution: {integrity: sha512-hU8GNNuQfwuQmqTLfiKcqEhZY72Zxb7nnN07koCUNmntNxbKQnVbeIS6sqUgR3eXSlbOpit8+/gr1KpqoMgWCQ==} - engines: {node: '>=v14.18.0'} + vitest@2.1.1: + resolution: {integrity: sha512-97We7/VC0e9X5zBVkvt7SGQMGrRtn3KtySFQG5fpaMlS+l62eeXRQO633AYhSTC3z7IMebnPPNjGXVGNRFlxBA==} + engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 2.1.1 + '@vitest/ui': 2.1.1 happy-dom: '*' jsdom: '*' - playwright: '*' - safaridriver: '*' - webdriverio: '*' peerDependenciesMeta: '@edge-runtime/vm': optional: true + '@types/node': + optional: true '@vitest/browser': optional: true '@vitest/ui': @@ -3221,12 +2797,6 @@ packages: optional: true jsdom: optional: true - playwright: - optional: true - safaridriver: - optional: true - webdriverio: - optional: true vscode-jsonrpc@6.0.0: resolution: {integrity: sha512-wnJA4BnEjOSyFMvjZdpiOwhSq9uDoK8e/kpRJDTaMYzwlkrhG1fwDIZI94CLsLzlCK5cIbMMtFlJlfR57Lavmg==} @@ -3259,9 +2829,6 @@ packages: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} - wbuf@1.7.3: - resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} - webcrypto-core@1.7.8: resolution: {integrity: sha512-eBR98r9nQXTqXt/yDRtInszPMjTaSAMJAFDg2AHsgrnczawT1asx9YNBX6k5p+MekbPF4+s/UJJrr88zsTqkSg==} @@ -3285,23 +2852,6 @@ packages: webpack-dev-server: optional: true - webpack-dev-middleware@5.3.3: - resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} - engines: {node: '>= 12.13.0'} - peerDependencies: - webpack: ^4.0.0 || ^5.0.0 - - webpack-dev-server@4.11.1: - resolution: {integrity: sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==} - engines: {node: '>= 12.13.0'} - hasBin: true - peerDependencies: - webpack: ^4.37.0 || ^5.0.0 - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - webpack-merge@5.9.0: resolution: {integrity: sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==} engines: {node: '>=10.0.0'} @@ -3320,33 +2870,13 @@ packages: webpack-cli: optional: true - websocket-driver@0.7.4: - resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} - engines: {node: '>=0.8.0'} - - websocket-extensions@0.1.4: - resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} - engines: {node: '>=0.8.0'} - - well-known-symbols@2.0.0: - resolution: {integrity: sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q==} - engines: {node: '>=6'} - - whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - - which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} - engines: {node: '>= 0.4'} - which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true - why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + why-is-node-running@2.3.0: + resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} hasBin: true @@ -3364,18 +2894,6 @@ packages: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - ws@8.13.0: - resolution: {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 - y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -3402,10 +2920,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - snapshots: '@ampproject/remapping@2.2.1': @@ -3413,10 +2927,6 @@ snapshots: '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.18 - '@babel/code-frame@7.22.5': - dependencies: - '@babel/highlight': 7.22.5 - '@babel/code-frame@7.23.5': dependencies: '@babel/highlight': 7.23.4 @@ -3578,8 +3088,6 @@ snapshots: '@babel/helper-validator-identifier@7.22.20': {} - '@babel/helper-validator-identifier@7.22.5': {} - '@babel/helper-validator-option@7.23.5': {} '@babel/helpers@7.23.8': @@ -3598,12 +3106,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/highlight@7.22.5': - dependencies: - '@babel/helper-validator-identifier': 7.22.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - '@babel/highlight@7.23.4': dependencies: '@babel/helper-validator-identifier': 7.22.20 @@ -3630,66 +3132,143 @@ snapshots: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 '@babel/helper-plugin-utils': 7.22.5 + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3)': + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-plugin-utils': 7.22.5 + optional: true + '@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.23.7)': dependencies: '@babel/core': 7.23.7 @@ -3783,8 +3362,8 @@ snapshots: dependencies: '@dfinity/candid': 1.0.1(@dfinity/principal@1.0.1) '@dfinity/principal': 1.0.1 - '@noble/curves': 1.3.0 - '@noble/hashes': 1.3.3 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 base64-arraybuffer: 0.2.0 borc: 2.1.2 buffer: 6.0.3 @@ -3798,83 +3377,152 @@ snapshots: dependencies: '@dfinity/agent': 1.0.1(@dfinity/candid@1.0.1(@dfinity/principal@1.0.1))(@dfinity/principal@1.0.1) '@dfinity/principal': 1.0.1 - '@noble/curves': 1.3.0 - '@noble/hashes': 1.3.3 + '@noble/curves': 1.6.0 + '@noble/hashes': 1.5.0 '@peculiar/webcrypto': 1.4.5 borc: 2.1.2 '@dfinity/principal@1.0.1': dependencies: - '@noble/hashes': 1.3.3 + '@noble/hashes': 1.5.0 '@discoveryjs/json-ext@0.5.7': {} + '@esbuild/aix-ppc64@0.21.5': + optional: true + '@esbuild/android-arm64@0.18.20': optional: true + '@esbuild/android-arm64@0.21.5': + optional: true + '@esbuild/android-arm@0.18.20': optional: true + '@esbuild/android-arm@0.21.5': + optional: true + '@esbuild/android-x64@0.18.20': optional: true + '@esbuild/android-x64@0.21.5': + optional: true + '@esbuild/darwin-arm64@0.18.20': optional: true + '@esbuild/darwin-arm64@0.21.5': + optional: true + '@esbuild/darwin-x64@0.18.20': optional: true + '@esbuild/darwin-x64@0.21.5': + optional: true + '@esbuild/freebsd-arm64@0.18.20': optional: true + '@esbuild/freebsd-arm64@0.21.5': + optional: true + '@esbuild/freebsd-x64@0.18.20': optional: true + '@esbuild/freebsd-x64@0.21.5': + optional: true + '@esbuild/linux-arm64@0.18.20': optional: true + '@esbuild/linux-arm64@0.21.5': + optional: true + '@esbuild/linux-arm@0.18.20': optional: true + '@esbuild/linux-arm@0.21.5': + optional: true + '@esbuild/linux-ia32@0.18.20': optional: true + '@esbuild/linux-ia32@0.21.5': + optional: true + '@esbuild/linux-loong64@0.18.20': optional: true + '@esbuild/linux-loong64@0.21.5': + optional: true + '@esbuild/linux-mips64el@0.18.20': optional: true + '@esbuild/linux-mips64el@0.21.5': + optional: true + '@esbuild/linux-ppc64@0.18.20': optional: true + '@esbuild/linux-ppc64@0.21.5': + optional: true + '@esbuild/linux-riscv64@0.18.20': optional: true + '@esbuild/linux-riscv64@0.21.5': + optional: true + '@esbuild/linux-s390x@0.18.20': optional: true + '@esbuild/linux-s390x@0.21.5': + optional: true + '@esbuild/linux-x64@0.18.20': optional: true + '@esbuild/linux-x64@0.21.5': + optional: true + '@esbuild/netbsd-x64@0.18.20': optional: true + '@esbuild/netbsd-x64@0.21.5': + optional: true + '@esbuild/openbsd-x64@0.18.20': optional: true + '@esbuild/openbsd-x64@0.21.5': + optional: true + '@esbuild/sunos-x64@0.18.20': optional: true + '@esbuild/sunos-x64@0.21.5': + optional: true + '@esbuild/win32-arm64@0.18.20': optional: true + '@esbuild/win32-arm64@0.21.5': + optional: true + '@esbuild/win32-ia32@0.18.20': optional: true + '@esbuild/win32-ia32@0.21.5': + optional: true + '@esbuild/win32-x64@0.18.20': optional: true + '@esbuild/win32-x64@0.21.5': + optional: true + '@hadronous/pic@0.6.1-b1(@dfinity/agent@1.0.1(@dfinity/candid@1.0.1(@dfinity/principal@1.0.1))(@dfinity/principal@1.0.1))(@dfinity/candid@1.0.1(@dfinity/principal@1.0.1))(@dfinity/identity@1.0.1(@dfinity/agent@1.0.1(@dfinity/candid@1.0.1(@dfinity/principal@1.0.1))(@dfinity/principal@1.0.1))(@dfinity/principal@1.0.1)(@peculiar/webcrypto@1.4.5))(@dfinity/principal@1.0.1)': dependencies: '@dfinity/agent': 1.0.1(@dfinity/candid@1.0.1(@dfinity/principal@1.0.1))(@dfinity/principal@1.0.1) @@ -3896,27 +3544,27 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - '@jest/core@29.7.0(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3))': + '@jest/core@29.7.0(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)) + jest-config: 29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -3941,7 +3589,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -3959,7 +3607,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.11.30 + '@types/node': 20.13.0 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -3981,7 +3629,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.18 - '@types/node': 20.11.30 + '@types/node': 20.13.0 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -4051,7 +3699,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.11.30 + '@types/node': 20.13.0 '@types/yargs': 17.0.32 chalk: 4.1.2 @@ -4084,6 +3732,8 @@ snapshots: '@jridgewell/sourcemap-codec@1.4.15': {} + '@jridgewell/sourcemap-codec@1.5.0': {} + '@jridgewell/trace-mapping@0.3.18': dependencies: '@jridgewell/resolve-uri': 3.1.0 @@ -4099,13 +3749,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@leichtgewicht/ip-codec@2.0.4': {} - - '@noble/curves@1.3.0': + '@noble/curves@1.6.0': dependencies: - '@noble/hashes': 1.3.3 + '@noble/hashes': 1.5.0 - '@noble/hashes@1.3.3': {} + '@noble/hashes@1.5.0': {} '@nodelib/fs.scandir@2.1.5': dependencies: @@ -4137,6 +3785,54 @@ snapshots: tslib: 2.6.2 webcrypto-core: 1.7.8 + '@rollup/rollup-android-arm-eabi@4.22.0': + optional: true + + '@rollup/rollup-android-arm64@4.22.0': + optional: true + + '@rollup/rollup-darwin-arm64@4.22.0': + optional: true + + '@rollup/rollup-darwin-x64@4.22.0': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.22.0': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.22.0': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.22.0': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.22.0': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.22.0': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.22.0': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.22.0': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.22.0': + optional: true + + '@rollup/rollup-linux-x64-musl@4.22.0': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.22.0': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.22.0': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.22.0': + optional: true + '@sinclair/typebox@0.27.8': {} '@sinonjs/commons@3.0.1': @@ -4176,30 +3872,6 @@ snapshots: dependencies: '@babel/types': 7.23.6 - '@types/body-parser@1.19.2': - dependencies: - '@types/connect': 3.4.35 - '@types/node': 20.11.24 - - '@types/bonjour@3.5.10': - dependencies: - '@types/node': 20.11.24 - - '@types/chai-subset@1.3.3': - dependencies: - '@types/chai': 4.3.5 - - '@types/chai@4.3.5': {} - - '@types/connect-history-api-fallback@1.5.0': - dependencies: - '@types/express-serve-static-core': 4.17.35 - '@types/node': 20.11.24 - - '@types/connect@3.4.35': - dependencies: - '@types/node': 20.11.24 - '@types/eslint-scope@3.7.4': dependencies: '@types/eslint': 8.40.2 @@ -4212,32 +3884,16 @@ snapshots: '@types/estree@0.0.51': {} - '@types/express-serve-static-core@4.17.35': - dependencies: - '@types/node': 20.11.24 - '@types/qs': 6.9.7 - '@types/range-parser': 1.2.4 - '@types/send': 0.17.1 + '@types/estree@1.0.5': {} - '@types/express@4.17.17': - dependencies: - '@types/body-parser': 1.19.2 - '@types/express-serve-static-core': 4.17.35 - '@types/qs': 6.9.7 - '@types/serve-static': 1.15.2 + '@types/estree@1.0.6': {} '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.11.30 + '@types/node': 20.13.0 '@types/html-minifier-terser@6.1.0': {} - '@types/http-errors@2.0.1': {} - - '@types/http-proxy@1.17.11': - dependencies: - '@types/node': 20.11.24 - '@types/istanbul-lib-coverage@2.0.6': {} '@types/istanbul-lib-report@3.0.3': @@ -4248,94 +3904,66 @@ snapshots: dependencies: '@types/istanbul-lib-report': 3.0.3 - '@types/jest@29.5.12': + '@types/jest@29.5.13': dependencies: expect: 29.7.0 pretty-format: 29.7.0 '@types/json-schema@7.0.12': {} - '@types/mime@1.3.2': {} - - '@types/mime@3.0.1': {} - '@types/node@18.0.0': {} - '@types/node@20.11.24': - dependencies: - undici-types: 5.26.5 - - '@types/node@20.11.30': + '@types/node@20.13.0': dependencies: undici-types: 5.26.5 - '@types/node@20.3.1': {} - - '@types/qs@6.9.7': {} + '@types/stack-utils@2.0.3': {} - '@types/range-parser@1.2.4': {} + '@types/yargs-parser@21.0.3': {} - '@types/retry@0.12.0': {} - - '@types/send@0.17.1': - dependencies: - '@types/mime': 1.3.2 - '@types/node': 20.11.24 - - '@types/serve-index@1.9.1': - dependencies: - '@types/express': 4.17.17 - - '@types/serve-static@1.15.2': - dependencies: - '@types/http-errors': 2.0.1 - '@types/mime': 3.0.1 - '@types/node': 20.11.24 - - '@types/sockjs@0.3.33': + '@types/yargs@17.0.32': dependencies: - '@types/node': 20.11.24 - - '@types/stack-utils@2.0.3': {} + '@types/yargs-parser': 21.0.3 - '@types/ws@8.5.5': + '@vitest/expect@2.1.1': dependencies: - '@types/node': 20.11.24 - - '@types/yargs-parser@21.0.3': {} + '@vitest/spy': 2.1.1 + '@vitest/utils': 2.1.1 + chai: 5.1.1 + tinyrainbow: 1.2.0 - '@types/yargs@17.0.32': + '@vitest/mocker@2.1.1(@vitest/spy@2.1.1)(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1))': dependencies: - '@types/yargs-parser': 21.0.3 + '@vitest/spy': 2.1.1 + estree-walker: 3.0.3 + magic-string: 0.30.11 + optionalDependencies: + vite: 5.4.6(@types/node@20.13.0)(terser@5.18.1) - '@vitest/expect@0.32.2': + '@vitest/pretty-format@2.1.1': dependencies: - '@vitest/spy': 0.32.2 - '@vitest/utils': 0.32.2 - chai: 4.3.7 + tinyrainbow: 1.2.0 - '@vitest/runner@0.32.2': + '@vitest/runner@2.1.1': dependencies: - '@vitest/utils': 0.32.2 - concordance: 5.0.4 - p-limit: 4.0.0 - pathe: 1.1.1 + '@vitest/utils': 2.1.1 + pathe: 1.1.2 - '@vitest/snapshot@0.32.2': + '@vitest/snapshot@2.1.1': dependencies: - magic-string: 0.30.0 - pathe: 1.1.1 - pretty-format: 27.5.1 + '@vitest/pretty-format': 2.1.1 + magic-string: 0.30.11 + pathe: 1.1.2 - '@vitest/spy@0.32.2': + '@vitest/spy@2.1.1': dependencies: - tinyspy: 2.1.1 + tinyspy: 3.0.2 - '@vitest/utils@0.32.2': + '@vitest/utils@2.1.1': dependencies: - diff-sequences: 29.4.3 - loupe: 2.3.6 - pretty-format: 27.5.1 + '@vitest/pretty-format': 2.1.1 + loupe: 3.1.1 + tinyrainbow: 1.2.0 '@webassemblyjs/ast@1.11.1': dependencies: @@ -4413,32 +4041,16 @@ snapshots: '@webassemblyjs/ast': 1.11.1 '@xtuc/long': 4.2.2 - '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0))(webpack@5.76.0(webpack-cli@4.10.0))': - dependencies: - webpack: 5.76.0(webpack-cli@4.10.0) - webpack-cli: 4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0) - '@webpack-cli/configtest@1.2.0(webpack-cli@4.10.0(webpack@5.76.0))(webpack@5.76.0(webpack-cli@4.10.0))': dependencies: webpack: 5.76.0(webpack-cli@4.10.0) webpack-cli: 4.10.0(webpack@5.76.0) - '@webpack-cli/info@1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0))': - dependencies: - envinfo: 7.9.0 - webpack-cli: 4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0) - '@webpack-cli/info@1.5.0(webpack-cli@4.10.0(webpack@5.76.0))': dependencies: envinfo: 7.9.0 webpack-cli: 4.10.0(webpack@5.76.0) - '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0))(webpack-dev-server@4.11.1(webpack-cli@4.10.0)(webpack@5.76.0))': - dependencies: - webpack-cli: 4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0) - optionalDependencies: - webpack-dev-server: 4.11.1(webpack-cli@4.10.0)(webpack@5.76.0) - '@webpack-cli/serve@1.7.0(webpack-cli@4.10.0(webpack@5.76.0))': dependencies: webpack-cli: 4.10.0(webpack@5.76.0) @@ -4447,11 +4059,6 @@ snapshots: '@xtuc/long@4.2.2': {} - accepts@1.3.8: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.3 - acorn-import-assertions@1.9.0(acorn@8.9.0): dependencies: acorn: 8.9.0 @@ -4491,8 +4098,6 @@ snapshots: dependencies: type-fest: 0.21.3 - ansi-html-community@0.0.8: {} - ansi-regex@5.0.1: {} ansi-styles@3.2.1: @@ -4516,30 +4121,15 @@ snapshots: dependencies: sprintf-js: 1.0.3 - array-flatten@1.1.1: {} - - array-flatten@2.1.2: {} - asn1js@3.0.5: dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 tslib: 2.6.2 - assert@2.0.0: - dependencies: - es6-object-assign: 1.1.0 - is-nan: 1.3.2 - object-is: 1.1.5 - util: 0.12.4 + assertion-error@2.0.1: {} - assertion-error@1.1.0: {} - - async@2.6.4: - dependencies: - lodash: 4.17.21 - - available-typed-arrays@1.0.5: {} + async@3.2.6: {} babel-jest@29.7.0(@babel/core@7.23.7): dependencies: @@ -4554,6 +4144,20 @@ snapshots: transitivePeerDependencies: - supports-color + babel-jest@29.7.0(@babel/core@7.24.3): + dependencies: + '@babel/core': 7.24.3 + '@jest/transform': 29.7.0 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.6.3(@babel/core@7.24.3) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + optional: true + babel-plugin-istanbul@6.1.1: dependencies: '@babel/helper-plugin-utils': 7.22.5 @@ -4580,6 +4184,15 @@ snapshots: html-entities: 2.3.3 validate-html-nesting: 1.2.2 + babel-plugin-jsx-dom-expressions@0.37.13(@babel/core@7.24.3): + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.18.6 + '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.3) + '@babel/types': 7.23.6 + html-entities: 2.3.3 + validate-html-nesting: 1.2.2 + babel-preset-current-node-syntax@1.0.1(@babel/core@7.23.7): dependencies: '@babel/core': 7.23.7 @@ -4596,62 +4209,59 @@ snapshots: '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) + babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.3): + dependencies: + '@babel/core': 7.24.3 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) + optional: true + babel-preset-jest@29.6.3(@babel/core@7.23.7): dependencies: '@babel/core': 7.23.7 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.23.7) + babel-preset-jest@29.6.3(@babel/core@7.24.3): + dependencies: + '@babel/core': 7.24.3 + babel-plugin-jest-hoist: 29.6.3 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.3) + optional: true + babel-preset-solid@1.8.9(@babel/core@7.23.7): dependencies: '@babel/core': 7.23.7 babel-plugin-jsx-dom-expressions: 0.37.13(@babel/core@7.23.7) + babel-preset-solid@1.8.9(@babel/core@7.24.3): + dependencies: + '@babel/core': 7.24.3 + babel-plugin-jsx-dom-expressions: 0.37.13(@babel/core@7.24.3) + balanced-match@1.0.2: {} base64-arraybuffer@0.2.0: {} base64-js@1.5.1: {} - basic-auth@2.0.1: - dependencies: - safe-buffer: 5.1.2 - - batch@0.6.1: {} - bignumber.js@9.1.1: {} binary-extensions@2.2.0: {} bip39@3.1.0: dependencies: - '@noble/hashes': 1.3.3 - - blueimp-md5@2.19.0: {} - - body-parser@1.20.1: - dependencies: - bytes: 3.1.2 - content-type: 1.0.5 - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - on-finished: 2.4.1 - qs: 6.11.0 - raw-body: 2.5.1 - type-is: 1.6.18 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color - - bonjour-service@1.1.1: - dependencies: - array-flatten: 2.1.2 - dns-equal: 1.0.0 - fast-deep-equal: 3.1.3 - multicast-dns: 7.2.5 + '@noble/hashes': 1.5.0 boolbase@1.0.0: {} @@ -4670,6 +4280,10 @@ snapshots: balanced-match: 1.0.2 concat-map: 0.0.1 + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + braces@3.0.2: dependencies: fill-range: 7.0.1 @@ -4701,17 +4315,8 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 - bytes@3.0.0: {} - - bytes@3.1.2: {} - cac@6.7.14: {} - call-bind@1.0.2: - dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.1 - callsites@3.1.0: {} camel-case@4.1.2: @@ -4725,15 +4330,13 @@ snapshots: caniuse-lite@1.0.30001577: {} - chai@4.3.7: + chai@5.1.1: dependencies: - assertion-error: 1.1.0 - check-error: 1.0.2 - deep-eql: 4.1.3 - get-func-name: 2.0.0 - loupe: 2.3.6 - pathval: 1.1.1 - type-detect: 4.0.8 + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.1.1 + pathval: 2.0.0 chalk@2.4.2: dependencies: @@ -4748,7 +4351,7 @@ snapshots: char-regex@1.0.2: {} - check-error@1.0.2: {} + check-error@2.1.1: {} chokidar@3.5.3: dependencies: @@ -4808,49 +4411,10 @@ snapshots: commander@8.3.0: {} - compressible@2.0.18: - dependencies: - mime-db: 1.52.0 - - compression@1.7.4: - dependencies: - accepts: 1.3.8 - bytes: 3.0.0 - compressible: 2.0.18 - debug: 2.6.9 - on-headers: 1.0.2 - safe-buffer: 5.1.2 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - concat-map@0.0.1: {} - concordance@5.0.4: - dependencies: - date-time: 3.1.0 - esutils: 2.0.3 - fast-diff: 1.3.0 - js-string-escape: 1.0.1 - lodash: 4.17.21 - md5-hex: 3.0.1 - semver: 7.5.3 - well-known-symbols: 2.0.0 - - connect-history-api-fallback@2.0.0: {} - - content-disposition@0.5.4: - dependencies: - safe-buffer: 5.2.1 - - content-type@1.0.5: {} - convert-source-map@2.0.0: {} - cookie-signature@1.0.6: {} - - cookie@0.5.0: {} - copy-webpack-plugin@11.0.0(webpack@5.76.0(webpack-cli@4.10.0)): dependencies: fast-glob: 3.2.12 @@ -4861,17 +4425,13 @@ snapshots: serialize-javascript: 6.0.1 webpack: 5.76.0(webpack-cli@4.10.0) - core-util-is@1.0.3: {} - - corser@2.0.1: {} - - create-jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)): + create-jest@29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)) + jest-config: 29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -4900,55 +4460,24 @@ snapshots: csstype@3.1.3: {} - date-time@3.1.0: - dependencies: - time-zone: 1.0.0 - - debug@2.6.9: + debug@4.3.4: dependencies: - ms: 2.0.0 + ms: 2.1.2 - debug@3.2.7: + debug@4.3.7: dependencies: ms: 2.1.3 - debug@4.3.4: - dependencies: - ms: 2.1.2 - dedent@1.5.1: {} - deep-eql@4.1.3: - dependencies: - type-detect: 4.0.8 + deep-eql@5.0.2: {} deepmerge@4.3.1: {} - default-gateway@6.0.3: - dependencies: - execa: 5.1.1 - - define-lazy-prop@2.0.0: {} - - define-properties@1.2.0: - dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - delimit-stream@0.1.0: {} - depd@1.1.2: {} - - depd@2.0.0: {} - - destroy@1.2.0: {} - detect-newline@3.1.0: {} - detect-node@2.1.0: {} - - diff-sequences@29.4.3: {} - diff-sequences@29.6.3: {} diff@4.0.2: {} @@ -4957,12 +4486,6 @@ snapshots: dependencies: path-type: 4.0.0 - dns-equal@1.0.0: {} - - dns-packet@5.6.0: - dependencies: - '@leichtgewicht/ip-codec': 2.0.4 - dom-converter@0.2.0: dependencies: utila: 0.4.0 @@ -4990,7 +4513,9 @@ snapshots: no-case: 3.0.4 tslib: 2.5.3 - ee-first@1.1.1: {} + ejs@3.1.10: + dependencies: + jake: 10.9.2 electron-to-chromium@1.4.632: {} @@ -4998,8 +4523,6 @@ snapshots: emoji-regex@8.0.0: {} - encodeurl@1.0.2: {} - enhanced-resolve@5.15.0: dependencies: graceful-fs: 4.2.11 @@ -5015,8 +4538,6 @@ snapshots: es-module-lexer@0.9.3: {} - es6-object-assign@1.1.0: {} - esbuild@0.18.20: optionalDependencies: '@esbuild/android-arm': 0.18.20 @@ -5042,9 +4563,33 @@ snapshots: '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - escalade@3.1.1: {} + esbuild@0.21.5: + optionalDependencies: + '@esbuild/aix-ppc64': 0.21.5 + '@esbuild/android-arm': 0.21.5 + '@esbuild/android-arm64': 0.21.5 + '@esbuild/android-x64': 0.21.5 + '@esbuild/darwin-arm64': 0.21.5 + '@esbuild/darwin-x64': 0.21.5 + '@esbuild/freebsd-arm64': 0.21.5 + '@esbuild/freebsd-x64': 0.21.5 + '@esbuild/linux-arm': 0.21.5 + '@esbuild/linux-arm64': 0.21.5 + '@esbuild/linux-ia32': 0.21.5 + '@esbuild/linux-loong64': 0.21.5 + '@esbuild/linux-mips64el': 0.21.5 + '@esbuild/linux-ppc64': 0.21.5 + '@esbuild/linux-riscv64': 0.21.5 + '@esbuild/linux-s390x': 0.21.5 + '@esbuild/linux-x64': 0.21.5 + '@esbuild/netbsd-x64': 0.21.5 + '@esbuild/openbsd-x64': 0.21.5 + '@esbuild/sunos-x64': 0.21.5 + '@esbuild/win32-arm64': 0.21.5 + '@esbuild/win32-ia32': 0.21.5 + '@esbuild/win32-x64': 0.21.5 - escape-html@1.0.3: {} + escalade@3.1.1: {} escape-string-regexp@1.0.5: {} @@ -5065,11 +4610,9 @@ snapshots: estraverse@5.3.0: {} - esutils@2.0.3: {} - - etag@1.8.1: {} - - eventemitter3@4.0.7: {} + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.6 events@3.3.0: {} @@ -5095,46 +4638,8 @@ snapshots: jest-message-util: 29.7.0 jest-util: 29.7.0 - express@4.18.2: - dependencies: - accepts: 1.3.8 - array-flatten: 1.1.1 - body-parser: 1.20.1 - content-disposition: 0.5.4 - content-type: 1.0.5 - cookie: 0.5.0 - cookie-signature: 1.0.6 - debug: 2.6.9 - depd: 2.0.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - finalhandler: 1.2.0 - fresh: 0.5.2 - http-errors: 2.0.0 - merge-descriptors: 1.0.1 - methods: 1.1.2 - on-finished: 2.4.1 - parseurl: 1.3.3 - path-to-regexp: 0.1.7 - proxy-addr: 2.0.7 - qs: 6.11.0 - range-parser: 1.2.1 - safe-buffer: 5.2.1 - send: 0.18.0 - serve-static: 1.15.0 - setprototypeof: 1.2.0 - statuses: 2.0.1 - type-is: 1.6.18 - utils-merge: 1.0.1 - vary: 1.1.2 - transitivePeerDependencies: - - supports-color - fast-deep-equal@3.1.3: {} - fast-diff@1.3.0: {} - fast-glob@3.2.12: dependencies: '@nodelib/fs.stat': 2.0.5 @@ -5151,45 +4656,23 @@ snapshots: dependencies: reusify: 1.0.4 - faye-websocket@0.11.4: - dependencies: - websocket-driver: 0.7.4 - fb-watchman@2.0.2: dependencies: bser: 2.1.1 - fill-range@7.0.1: + filelist@1.0.4: dependencies: - to-regex-range: 5.0.1 + minimatch: 5.1.6 - finalhandler@1.2.0: + fill-range@7.0.1: dependencies: - debug: 2.6.9 - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.4.1 - parseurl: 1.3.3 - statuses: 2.0.1 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + to-regex-range: 5.0.1 find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - follow-redirects@1.15.2: {} - - for-each@0.3.3: - dependencies: - is-callable: 1.2.7 - - forwarded@0.2.0: {} - - fresh@0.5.2: {} - fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 @@ -5202,27 +4685,21 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.0 - fs-monkey@1.0.4: {} - fs.realpath@1.0.0: {} fsevents@2.3.2: optional: true + fsevents@2.3.3: + optional: true + function-bind@1.1.1: {} gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} - get-func-name@2.0.0: {} - - get-intrinsic@1.2.1: - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-proto: 1.0.1 - has-symbols: 1.0.3 + get-func-name@2.0.2: {} get-package-type@0.1.0: {} @@ -5257,51 +4734,20 @@ snapshots: merge2: 1.4.1 slash: 4.0.0 - gopd@1.0.1: - dependencies: - get-intrinsic: 1.2.1 - graceful-fs@4.2.11: {} - handle-thing@2.0.1: {} - has-flag@3.0.0: {} has-flag@4.0.0: {} - has-property-descriptors@1.0.0: - dependencies: - get-intrinsic: 1.2.1 - - has-proto@1.0.1: {} - - has-symbols@1.0.3: {} - - has-tostringtag@1.0.0: - dependencies: - has-symbols: 1.0.3 - has@1.0.3: dependencies: function-bind: 1.1.1 he@1.2.0: {} - hpack.js@2.1.6: - dependencies: - inherits: 2.0.4 - obuf: 1.1.2 - readable-stream: 2.3.8 - wbuf: 1.7.3 - - html-encoding-sniffer@3.0.0: - dependencies: - whatwg-encoding: 2.0.0 - html-entities@2.3.3: {} - html-entities@2.4.0: {} - html-escaper@2.0.2: {} html-minifier-terser@6.1.0: @@ -5330,74 +4776,8 @@ snapshots: domutils: 2.8.0 entities: 2.2.0 - http-deceiver@1.2.7: {} - - http-errors@1.6.3: - dependencies: - depd: 1.1.2 - inherits: 2.0.3 - setprototypeof: 1.1.0 - statuses: 1.5.0 - - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - - http-parser-js@0.5.8: {} - - http-proxy-middleware@2.0.6(@types/express@4.17.17): - dependencies: - '@types/http-proxy': 1.17.11 - http-proxy: 1.18.1 - is-glob: 4.0.3 - is-plain-obj: 3.0.0 - micromatch: 4.0.5 - optionalDependencies: - '@types/express': 4.17.17 - transitivePeerDependencies: - - debug - - http-proxy@1.18.1: - dependencies: - eventemitter3: 4.0.7 - follow-redirects: 1.15.2 - requires-port: 1.0.0 - transitivePeerDependencies: - - debug - - http-server@14.1.1: - dependencies: - basic-auth: 2.0.1 - chalk: 4.1.2 - corser: 2.0.1 - he: 1.2.0 - html-encoding-sniffer: 3.0.0 - http-proxy: 1.18.1 - mime: 1.6.0 - minimist: 1.2.8 - opener: 1.5.2 - portfinder: 1.0.32 - secure-compare: 3.0.1 - union: 0.5.0 - url-join: 4.0.1 - transitivePeerDependencies: - - debug - - supports-color - human-signals@2.1.0: {} - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 - - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - ieee754@1.2.1: {} ignore@5.2.4: {} @@ -5414,80 +4794,40 @@ snapshots: once: 1.4.0 wrappy: 1.0.2 - inherits@2.0.3: {} - inherits@2.0.4: {} interpret@2.2.0: {} - ipaddr.js@1.9.1: {} - - ipaddr.js@2.1.0: {} - - is-arguments@1.1.1: - dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 - is-arrayish@0.2.1: {} is-binary-path@2.1.0: dependencies: binary-extensions: 2.2.0 - is-callable@1.2.7: {} - is-core-module@2.12.1: dependencies: has: 1.0.3 - is-docker@2.2.1: {} - is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} is-generator-fn@2.1.0: {} - is-generator-function@1.0.10: - dependencies: - has-tostringtag: 1.0.0 - is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - is-nan@1.3.2: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - is-number@7.0.0: {} - is-plain-obj@3.0.0: {} - is-plain-object@2.0.4: dependencies: isobject: 3.0.1 is-stream@2.0.1: {} - is-typed-array@1.1.10: - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-what@4.1.16: {} - is-wsl@2.2.0: - dependencies: - is-docker: 2.2.1 - - isarray@1.0.0: {} - isexe@2.0.0: {} iso-url@0.4.7: {} @@ -5535,6 +4875,13 @@ snapshots: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 + jake@10.9.2: + dependencies: + async: 3.2.6 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + jest-changed-files@29.7.0: dependencies: execa: 5.1.1 @@ -5547,7 +4894,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.1 @@ -5567,16 +4914,16 @@ snapshots: - babel-plugin-macros - supports-color - jest-cli@29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)): + jest-cli@29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)) + '@jest/core': 29.7.0(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)) + create-jest: 29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)) + jest-config: 29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -5586,7 +4933,7 @@ snapshots: - supports-color - ts-node - jest-config@29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)): + jest-config@29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)): dependencies: '@babel/core': 7.23.7 '@jest/test-sequencer': 29.7.0 @@ -5611,8 +4958,8 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 20.11.30 - ts-node: 10.9.1(@types/node@20.11.30)(typescript@5.1.3) + '@types/node': 20.13.0 + ts-node: 10.9.1(@types/node@20.13.0)(typescript@5.6.2) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -5641,7 +4988,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -5651,7 +4998,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.11.30 + '@types/node': 20.13.0 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -5677,7 +5024,7 @@ snapshots: jest-message-util@29.7.0: dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 @@ -5690,7 +5037,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 jest-util: 29.7.0 jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): @@ -5725,7 +5072,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -5753,7 +5100,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 chalk: 4.1.2 cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 @@ -5792,14 +5139,14 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.5.3 + semver: 7.6.0 transitivePeerDependencies: - supports-color jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -5818,7 +5165,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -5827,31 +5174,29 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.11.24 + '@types/node': 18.0.0 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.11.30 + '@types/node': 20.13.0 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)): + jest@29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)): dependencies: - '@jest/core': 29.7.0(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)) + '@jest/core': 29.7.0(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)) + jest-cli: 29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node - js-string-escape@1.0.1: {} - js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -5873,8 +5218,6 @@ snapshots: json5@2.2.3: {} - jsonc-parser@3.2.0: {} - jsonfile@6.1.0: dependencies: universalify: 2.0.0 @@ -5891,23 +5234,17 @@ snapshots: loader-runner@4.3.0: {} - local-pkg@0.4.3: {} - locate-path@5.0.0: dependencies: p-locate: 4.1.0 - lodash.debounce@4.0.8: {} - lodash.memoize@4.1.2: {} - lodash.pick@4.4.0: {} - lodash@4.17.21: {} - loupe@2.3.6: + loupe@3.1.1: dependencies: - get-func-name: 2.0.0 + get-func-name: 2.0.2 lower-case@2.0.2: dependencies: @@ -5921,13 +5258,13 @@ snapshots: dependencies: yallist: 4.0.0 - magic-string@0.30.0: + magic-string@0.30.11: dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.5.0 make-dir@4.0.0: dependencies: - semver: 7.5.3 + semver: 7.6.0 make-error@1.3.6: {} @@ -5935,28 +5272,14 @@ snapshots: dependencies: tmpl: 1.0.5 - md5-hex@3.0.1: - dependencies: - blueimp-md5: 2.19.0 - - media-typer@0.3.0: {} - - memfs@3.5.3: - dependencies: - fs-monkey: 1.0.4 - merge-anything@5.1.7: dependencies: is-what: 4.1.16 - merge-descriptors@1.0.1: {} - merge-stream@2.0.0: {} merge2@1.4.1: {} - methods@1.1.2: {} - micromatch@4.0.5: dependencies: braces: 3.0.2 @@ -5968,45 +5291,25 @@ snapshots: dependencies: mime-db: 1.52.0 - mime@1.6.0: {} - mimic-fn@2.1.0: {} - minimalistic-assert@1.0.1: {} - minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - minimist@1.2.8: {} - - mkdirp@0.5.6: + minimatch@5.1.6: dependencies: - minimist: 1.2.8 - - mlly@1.4.0: - dependencies: - acorn: 8.9.0 - pathe: 1.1.1 - pkg-types: 1.0.3 - ufo: 1.1.2 - - ms@2.0.0: {} + brace-expansion: 2.0.1 ms@2.1.2: {} ms@2.1.3: {} - multicast-dns@7.2.5: - dependencies: - dns-packet: 5.6.0 - thunky: 1.1.0 - nanoid@3.3.6: {} - natural-compare@1.4.0: {} + nanoid@3.3.7: {} - negotiator@0.6.3: {} + natural-compare@1.4.0: {} neo-async@2.6.2: {} @@ -6015,8 +5318,6 @@ snapshots: lower-case: 2.0.2 tslib: 2.5.3 - node-forge@1.3.1: {} - node-int64@0.4.0: {} node-releases@2.0.14: {} @@ -6031,23 +5332,6 @@ snapshots: dependencies: boolbase: 1.0.0 - object-inspect@1.12.3: {} - - object-is@1.1.5: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - - object-keys@1.1.1: {} - - obuf@1.1.2: {} - - on-finished@2.4.1: - dependencies: - ee-first: 1.1.1 - - on-headers@1.0.2: {} - once@1.4.0: dependencies: wrappy: 1.0.2 @@ -6056,14 +5340,6 @@ snapshots: dependencies: mimic-fn: 2.1.0 - open@8.4.2: - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - - opener@1.5.2: {} - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -6072,19 +5348,10 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@4.0.0: - dependencies: - yocto-queue: 1.0.0 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 - p-retry@4.6.2: - dependencies: - '@types/retry': 0.12.0 - retry: 0.13.1 - p-try@2.2.0: {} param-case@3.0.4: @@ -6094,13 +5361,11 @@ snapshots: parse-json@5.2.0: dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - parseurl@1.3.3: {} - pascal-case@3.1.2: dependencies: no-case: 3.0.4 @@ -6114,16 +5379,16 @@ snapshots: path-parse@1.0.7: {} - path-to-regexp@0.1.7: {} - path-type@4.0.0: {} - pathe@1.1.1: {} + pathe@1.1.2: {} - pathval@1.1.1: {} + pathval@2.0.0: {} picocolors@1.0.0: {} + picocolors@1.1.0: {} + picomatch@2.3.1: {} pirates@4.0.6: {} @@ -6132,59 +5397,36 @@ snapshots: dependencies: find-up: 4.1.0 - pkg-types@1.0.3: - dependencies: - jsonc-parser: 3.2.0 - mlly: 1.4.0 - pathe: 1.1.1 - - portfinder@1.0.32: - dependencies: - async: 2.6.4 - debug: 3.2.7 - mkdirp: 0.5.6 - transitivePeerDependencies: - - supports-color - postcss@8.4.31: dependencies: nanoid: 3.3.6 picocolors: 1.0.0 source-map-js: 1.0.2 - prettier@2.8.8: {} + postcss@8.4.47: + dependencies: + nanoid: 3.3.7 + picocolors: 1.1.0 + source-map-js: 1.2.1 + + prettier@3.3.3: {} pretty-error@4.0.0: dependencies: lodash: 4.17.21 renderkid: 3.0.0 - pretty-format@27.5.1: - dependencies: - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 17.0.2 - pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - process-nextick-args@2.0.1: {} - - process@0.11.10: {} - prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - punycode@2.3.0: {} pure-rand@6.1.0: {} @@ -6195,43 +5437,14 @@ snapshots: pvutils@1.1.3: {} - qs@6.11.0: - dependencies: - side-channel: 1.0.4 - - qs@6.11.2: - dependencies: - side-channel: 1.0.4 - queue-microtask@1.2.3: {} randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - range-parser@1.2.1: {} - - raw-body@2.5.1: - dependencies: - bytes: 3.1.2 - http-errors: 2.0.0 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - - react-is@17.0.2: {} - react-is@18.2.0: {} - readable-stream@2.3.8: - dependencies: - core-util-is: 1.0.3 - inherits: 2.0.4 - isarray: 1.0.0 - process-nextick-args: 2.0.1 - safe-buffer: 5.1.2 - string_decoder: 1.1.1 - util-deprecate: 1.0.2 - readable-stream@3.6.2: dependencies: inherits: 2.0.4 @@ -6260,8 +5473,6 @@ snapshots: require-from-string@2.0.2: {} - requires-port@1.0.0: {} - resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 @@ -6276,28 +5487,40 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - retry@0.13.1: {} - reusify@1.0.4: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rollup@3.29.4: optionalDependencies: fsevents: 2.3.2 + rollup@4.22.0: + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.22.0 + '@rollup/rollup-android-arm64': 4.22.0 + '@rollup/rollup-darwin-arm64': 4.22.0 + '@rollup/rollup-darwin-x64': 4.22.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.22.0 + '@rollup/rollup-linux-arm-musleabihf': 4.22.0 + '@rollup/rollup-linux-arm64-gnu': 4.22.0 + '@rollup/rollup-linux-arm64-musl': 4.22.0 + '@rollup/rollup-linux-powerpc64le-gnu': 4.22.0 + '@rollup/rollup-linux-riscv64-gnu': 4.22.0 + '@rollup/rollup-linux-s390x-gnu': 4.22.0 + '@rollup/rollup-linux-x64-gnu': 4.22.0 + '@rollup/rollup-linux-x64-musl': 4.22.0 + '@rollup/rollup-win32-arm64-msvc': 4.22.0 + '@rollup/rollup-win32-ia32-msvc': 4.22.0 + '@rollup/rollup-win32-x64-msvc': 4.22.0 + fsevents: 2.3.3 + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - safe-buffer@5.1.2: {} - safe-buffer@5.2.1: {} - safer-buffer@2.1.2: {} - schema-utils@3.3.0: dependencies: '@types/json-schema': 7.0.12 @@ -6311,41 +5534,13 @@ snapshots: ajv-formats: 2.1.1(ajv@8.12.0) ajv-keywords: 5.1.0(ajv@8.12.0) - secure-compare@3.0.1: {} - - select-hose@2.0.0: {} - - selfsigned@2.1.1: - dependencies: - node-forge: 1.3.1 - semver@6.3.1: {} - semver@7.5.3: - dependencies: - lru-cache: 6.0.0 - semver@7.6.0: dependencies: lru-cache: 6.0.0 - send@0.18.0: - dependencies: - debug: 2.6.9 - depd: 2.0.0 - destroy: 1.2.0 - encodeurl: 1.0.2 - escape-html: 1.0.3 - etag: 1.8.1 - fresh: 0.5.2 - http-errors: 2.0.0 - mime: 1.6.0 - ms: 2.1.3 - on-finished: 2.4.1 - range-parser: 1.2.1 - statuses: 2.0.1 - transitivePeerDependencies: - - supports-color + semver@7.6.3: {} serialize-javascript@6.0.1: dependencies: @@ -6353,31 +5548,6 @@ snapshots: seroval@0.5.1: {} - serve-index@1.9.1: - dependencies: - accepts: 1.3.8 - batch: 0.6.1 - debug: 2.6.9 - escape-html: 1.0.3 - http-errors: 1.6.3 - mime-types: 2.1.35 - parseurl: 1.3.3 - transitivePeerDependencies: - - supports-color - - serve-static@1.15.0: - dependencies: - encodeurl: 1.0.2 - escape-html: 1.0.3 - parseurl: 1.3.3 - send: 0.18.0 - transitivePeerDependencies: - - supports-color - - setprototypeof@1.1.0: {} - - setprototypeof@1.2.0: {} - shallow-clone@3.0.1: dependencies: kind-of: 6.0.3 @@ -6388,12 +5558,6 @@ snapshots: shebang-regex@3.0.0: {} - side-channel@1.0.4: - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.1 - object-inspect: 1.12.3 - siginfo@2.0.0: {} signal-exit@3.0.7: {} @@ -6406,12 +5570,6 @@ snapshots: slash@4.0.0: {} - sockjs@0.3.24: - dependencies: - faye-websocket: 0.11.4 - uuid: 8.3.2 - websocket-driver: 0.7.4 - solid-js@1.7.6: dependencies: csstype: 3.1.3 @@ -6424,8 +5582,17 @@ snapshots: '@babel/types': 7.23.6 solid-js: 1.7.6 + solid-refresh@0.6.3(solid-js@1.7.6): + dependencies: + '@babel/generator': 7.24.1 + '@babel/helper-module-imports': 7.22.15 + '@babel/types': 7.24.0 + solid-js: 1.7.6 + source-map-js@1.0.2: {} + source-map-js@1.2.1: {} + source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 @@ -6438,27 +5605,6 @@ snapshots: source-map@0.6.1: {} - spdy-transport@3.0.0: - dependencies: - debug: 4.3.4 - detect-node: 2.1.0 - hpack.js: 2.1.6 - obuf: 1.1.2 - readable-stream: 3.6.2 - wbuf: 1.7.3 - transitivePeerDependencies: - - supports-color - - spdy@4.0.2: - dependencies: - debug: 4.3.4 - handle-thing: 2.0.1 - http-deceiver: 1.2.7 - select-hose: 2.0.0 - spdy-transport: 3.0.0 - transitivePeerDependencies: - - supports-color - sprintf-js@1.0.3: {} stack-utils@2.0.6: @@ -6467,16 +5613,7 @@ snapshots: stackback@0.0.2: {} - statuses@1.5.0: {} - - statuses@2.0.1: {} - - std-env@3.3.3: {} - - stream-browserify@3.0.0: - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 + std-env@3.7.0: {} string-length@4.0.2: dependencies: @@ -6489,10 +5626,6 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string_decoder@1.1.1: - dependencies: - safe-buffer: 5.1.2 - string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -6507,10 +5640,6 @@ snapshots: strip-json-comments@3.1.1: {} - strip-literal@1.0.1: - dependencies: - acorn: 8.9.0 - supports-color@5.5.0: dependencies: has-flag: 3.0.0 @@ -6549,17 +5678,17 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - thunky@1.1.0: {} + tiny-invariant@1.3.1: {} - time-zone@1.0.0: {} + tinybench@2.9.0: {} - tiny-invariant@1.3.1: {} + tinyexec@0.3.0: {} - tinybench@2.5.0: {} + tinypool@1.0.1: {} - tinypool@0.5.0: {} + tinyrainbow@1.2.0: {} - tinyspy@2.1.1: {} + tinyspy@3.0.2: {} tmpl@1.0.5: {} @@ -6569,44 +5698,26 @@ snapshots: dependencies: is-number: 7.0.0 - toidentifier@1.0.1: {} - - ts-jest@29.1.2(@babel/core@7.23.7)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.23.7))(jest@29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)))(typescript@5.1.3): + ts-jest@29.2.5(@babel/core@7.24.3)(@jest/transform@29.7.0)(@jest/types@29.6.3)(babel-jest@29.7.0(@babel/core@7.24.3))(jest@29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)))(typescript@5.6.2): dependencies: bs-logger: 0.2.6 + ejs: 3.1.10 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.11.30)(ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3)) + jest: 29.7.0(@types/node@20.13.0)(ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2)) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.5.3 - typescript: 5.1.3 + semver: 7.6.3 + typescript: 5.6.2 yargs-parser: 21.1.1 optionalDependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.24.3 + '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-jest: 29.7.0(@babel/core@7.23.7) - - ts-loader@9.4.3(typescript@4.8.4)(webpack@5.76.0(webpack-cli@4.10.0)): - dependencies: - chalk: 4.1.2 - enhanced-resolve: 5.15.0 - micromatch: 4.0.5 - semver: 7.5.3 - typescript: 4.8.4 - webpack: 5.76.0(webpack-cli@4.10.0) - - ts-loader@9.4.3(typescript@5.1.3)(webpack@5.76.0(webpack-cli@4.10.0)): - dependencies: - chalk: 4.1.2 - enhanced-resolve: 5.15.0 - micromatch: 4.0.5 - semver: 7.5.3 - typescript: 5.1.3 - webpack: 5.76.0(webpack-cli@4.10.0) + babel-jest: 29.7.0(@babel/core@7.24.3) - ts-node@10.9.1(@types/node@18.0.0)(typescript@5.1.3): + ts-node@10.9.1(@types/node@18.0.0)(typescript@5.6.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 @@ -6620,65 +5731,29 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.1.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - - ts-node@10.9.1(@types/node@20.11.30)(typescript@4.8.4): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 20.11.30 - acorn: 8.9.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.8.4 + typescript: 5.6.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - ts-node@10.9.1(@types/node@20.11.30)(typescript@5.1.3): + ts-node@10.9.1(@types/node@20.13.0)(typescript@5.6.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.9 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.3 - '@types/node': 20.11.30 + '@types/node': 20.13.0 acorn: 8.9.0 acorn-walk: 8.2.0 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.1.3 + typescript: 5.6.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optional: true - ts-node@10.9.1(@types/node@20.3.1)(typescript@4.8.4): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.3 - '@types/node': 20.3.1 - acorn: 8.9.0 - acorn-walk: 8.2.0 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 4.8.4 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - tslib@2.5.3: {} tslib@2.6.2: {} @@ -6687,27 +5762,14 @@ snapshots: type-fest@0.21.3: {} - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - - typescript@4.8.4: {} - typescript@5.1.3: {} - ufo@1.1.2: {} + typescript@5.6.2: {} undici-types@5.26.5: {} - union@0.5.0: - dependencies: - qs: 6.11.2 - universalify@2.0.0: {} - unpipe@1.0.0: {} - update-browserslist-db@1.0.13(browserslist@4.22.2): dependencies: browserslist: 4.22.2 @@ -6718,25 +5780,10 @@ snapshots: dependencies: punycode: 2.3.0 - url-join@4.0.1: {} - util-deprecate@1.0.2: {} - util@0.12.4: - dependencies: - inherits: 2.0.4 - is-arguments: 1.1.1 - is-generator-function: 1.0.10 - is-typed-array: 1.1.10 - safe-buffer: 5.2.1 - which-typed-array: 1.1.9 - utila@0.4.0: {} - utils-merge@1.0.1: {} - - uuid@8.3.2: {} - v8-compile-cache-lib@3.0.1: {} v8-to-istanbul@9.2.0: @@ -6747,59 +5794,66 @@ snapshots: validate-html-nesting@1.2.2: {} - vary@1.1.2: {} - - vite-node@0.32.2(@types/node@20.11.30)(terser@5.18.1): + vite-node@2.1.1(@types/node@20.13.0)(terser@5.18.1): dependencies: cac: 6.7.14 - debug: 4.3.4 - mlly: 1.4.0 - pathe: 1.1.1 - picocolors: 1.0.0 - vite: 4.5.2(@types/node@20.11.30)(terser@5.18.1) + debug: 4.3.7 + pathe: 1.1.2 + vite: 5.4.6(@types/node@20.13.0)(terser@5.18.1) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser - vite-plugin-checker@0.6.1(typescript@5.1.3)(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)): + vite-plugin-checker@0.8.0(typescript@5.6.2)(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1)): dependencies: - '@babel/code-frame': 7.22.5 + '@babel/code-frame': 7.24.2 ansi-escapes: 4.3.2 chalk: 4.1.2 chokidar: 3.5.3 commander: 8.3.0 fast-glob: 3.2.12 fs-extra: 11.1.1 - lodash.debounce: 4.0.8 - lodash.pick: 4.4.0 npm-run-path: 4.0.1 - semver: 7.5.3 strip-ansi: 6.0.1 tiny-invariant: 1.3.1 - vite: 4.5.2(@types/node@20.11.30)(terser@5.18.1) + vite: 5.4.6(@types/node@20.13.0)(terser@5.18.1) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.8 vscode-uri: 3.0.7 optionalDependencies: - typescript: 5.1.3 + typescript: 5.6.2 - vite-plugin-compression@0.5.1(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)): + vite-plugin-compression@0.5.1(vite@4.5.2(@types/node@20.13.0)(terser@5.18.1)): dependencies: chalk: 4.1.2 debug: 4.3.4 fs-extra: 10.1.0 - vite: 4.5.2(@types/node@20.11.30)(terser@5.18.1) + vite: 4.5.2(@types/node@20.13.0)(terser@5.18.1) + transitivePeerDependencies: + - supports-color + + vite-plugin-solid@2.10.2(solid-js@1.7.6)(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1)): + dependencies: + '@babel/core': 7.24.3 + '@types/babel__core': 7.20.5 + babel-preset-solid: 1.8.9(@babel/core@7.24.3) + merge-anything: 5.1.7 + solid-js: 1.7.6 + solid-refresh: 0.6.3(solid-js@1.7.6) + vite: 5.4.6(@types/node@20.13.0)(terser@5.18.1) + vitefu: 0.2.5(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1)) transitivePeerDependencies: - supports-color - vite-plugin-solid@2.7.0(solid-js@1.7.6)(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)): + vite-plugin-solid@2.7.0(solid-js@1.7.6)(vite@4.5.2(@types/node@20.13.0)(terser@5.18.1)): dependencies: '@babel/core': 7.23.7 '@babel/preset-typescript': 7.23.3(@babel/core@7.23.7) @@ -6808,56 +5862,76 @@ snapshots: merge-anything: 5.1.7 solid-js: 1.7.6 solid-refresh: 0.5.3(solid-js@1.7.6) - vite: 4.5.2(@types/node@20.11.30)(terser@5.18.1) - vitefu: 0.2.5(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)) + vite: 4.5.2(@types/node@20.13.0)(terser@5.18.1) + vitefu: 0.2.5(vite@4.5.2(@types/node@20.13.0)(terser@5.18.1)) transitivePeerDependencies: - supports-color - vite@4.5.2(@types/node@20.11.30)(terser@5.18.1): + vite-plugin-static-copy@1.0.6(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1)): + dependencies: + chokidar: 3.5.3 + fast-glob: 3.2.12 + fs-extra: 11.1.1 + picocolors: 1.0.0 + vite: 5.4.6(@types/node@20.13.0)(terser@5.18.1) + + vite@4.5.2(@types/node@20.13.0)(terser@5.18.1): dependencies: esbuild: 0.18.20 postcss: 8.4.31 rollup: 3.29.4 optionalDependencies: - '@types/node': 20.11.30 + '@types/node': 20.13.0 fsevents: 2.3.2 terser: 5.18.1 - vitefu@0.2.5(vite@4.5.2(@types/node@20.11.30)(terser@5.18.1)): + vite@5.4.6(@types/node@20.13.0)(terser@5.18.1): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.47 + rollup: 4.22.0 optionalDependencies: - vite: 4.5.2(@types/node@20.11.30)(terser@5.18.1) - - vitest@0.32.2(terser@5.18.1): - dependencies: - '@types/chai': 4.3.5 - '@types/chai-subset': 1.3.3 - '@types/node': 20.11.30 - '@vitest/expect': 0.32.2 - '@vitest/runner': 0.32.2 - '@vitest/snapshot': 0.32.2 - '@vitest/spy': 0.32.2 - '@vitest/utils': 0.32.2 - acorn: 8.9.0 - acorn-walk: 8.2.0 - cac: 6.7.14 - chai: 4.3.7 - concordance: 5.0.4 - debug: 4.3.4 - local-pkg: 0.4.3 - magic-string: 0.30.0 - pathe: 1.1.1 - picocolors: 1.0.0 - std-env: 3.3.3 - strip-literal: 1.0.1 - tinybench: 2.5.0 - tinypool: 0.5.0 - vite: 4.5.2(@types/node@20.11.30)(terser@5.18.1) - vite-node: 0.32.2(@types/node@20.11.30)(terser@5.18.1) - why-is-node-running: 2.2.2 + '@types/node': 20.13.0 + fsevents: 2.3.3 + terser: 5.18.1 + + vitefu@0.2.5(vite@4.5.2(@types/node@20.13.0)(terser@5.18.1)): + optionalDependencies: + vite: 4.5.2(@types/node@20.13.0)(terser@5.18.1) + + vitefu@0.2.5(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1)): + optionalDependencies: + vite: 5.4.6(@types/node@20.13.0)(terser@5.18.1) + + vitest@2.1.1(@types/node@20.13.0)(terser@5.18.1): + dependencies: + '@vitest/expect': 2.1.1 + '@vitest/mocker': 2.1.1(@vitest/spy@2.1.1)(vite@5.4.6(@types/node@20.13.0)(terser@5.18.1)) + '@vitest/pretty-format': 2.1.1 + '@vitest/runner': 2.1.1 + '@vitest/snapshot': 2.1.1 + '@vitest/spy': 2.1.1 + '@vitest/utils': 2.1.1 + chai: 5.1.1 + debug: 4.3.7 + magic-string: 0.30.11 + pathe: 1.1.2 + std-env: 3.7.0 + tinybench: 2.9.0 + tinyexec: 0.3.0 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.4.6(@types/node@20.13.0)(terser@5.18.1) + vite-node: 2.1.1(@types/node@20.13.0)(terser@5.18.1) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 20.13.0 transitivePeerDependencies: - less - lightningcss + - msw - sass + - sass-embedded - stylus - sugarss - supports-color @@ -6868,7 +5942,7 @@ snapshots: vscode-languageclient@7.0.0: dependencies: minimatch: 3.1.2 - semver: 7.5.3 + semver: 7.6.0 vscode-languageserver-protocol: 3.16.0 vscode-languageserver-protocol@3.16.0: @@ -6895,10 +5969,6 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - wbuf@1.7.3: - dependencies: - minimalistic-assert: 1.0.1 - webcrypto-core@1.7.8: dependencies: '@peculiar/asn1-schema': 2.3.8 @@ -6907,24 +5977,6 @@ snapshots: pvtsutils: 1.3.5 tslib: 2.6.2 - webpack-cli@4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0): - dependencies: - '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0(webpack-cli@4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0))(webpack@5.76.0(webpack-cli@4.10.0)) - '@webpack-cli/info': 1.5.0(webpack-cli@4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0)) - '@webpack-cli/serve': 1.7.0(webpack-cli@4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0))(webpack-dev-server@4.11.1(webpack-cli@4.10.0)(webpack@5.76.0)) - colorette: 2.0.20 - commander: 7.2.0 - cross-spawn: 7.0.3 - fastest-levenshtein: 1.0.16 - import-local: 3.1.0 - interpret: 2.2.0 - rechoir: 0.7.1 - webpack: 5.76.0(webpack-cli@4.10.0) - webpack-merge: 5.9.0 - optionalDependencies: - webpack-dev-server: 4.11.1(webpack-cli@4.10.0)(webpack@5.76.0) - webpack-cli@4.10.0(webpack@5.76.0): dependencies: '@discoveryjs/json-ext': 0.5.7 @@ -6941,55 +5993,6 @@ snapshots: webpack: 5.76.0(webpack-cli@4.10.0) webpack-merge: 5.9.0 - webpack-dev-middleware@5.3.3(webpack@5.76.0(webpack-cli@4.10.0)): - dependencies: - colorette: 2.0.20 - memfs: 3.5.3 - mime-types: 2.1.35 - range-parser: 1.2.1 - schema-utils: 4.2.0 - webpack: 5.76.0(webpack-cli@4.10.0) - - webpack-dev-server@4.11.1(webpack-cli@4.10.0)(webpack@5.76.0): - dependencies: - '@types/bonjour': 3.5.10 - '@types/connect-history-api-fallback': 1.5.0 - '@types/express': 4.17.17 - '@types/serve-index': 1.9.1 - '@types/serve-static': 1.15.2 - '@types/sockjs': 0.3.33 - '@types/ws': 8.5.5 - ansi-html-community: 0.0.8 - bonjour-service: 1.1.1 - chokidar: 3.5.3 - colorette: 2.0.20 - compression: 1.7.4 - connect-history-api-fallback: 2.0.0 - default-gateway: 6.0.3 - express: 4.18.2 - graceful-fs: 4.2.11 - html-entities: 2.4.0 - http-proxy-middleware: 2.0.6(@types/express@4.17.17) - ipaddr.js: 2.1.0 - open: 8.4.2 - p-retry: 4.6.2 - rimraf: 3.0.2 - schema-utils: 4.2.0 - selfsigned: 2.1.1 - serve-index: 1.9.1 - sockjs: 0.3.24 - spdy: 4.0.2 - webpack: 5.76.0(webpack-cli@4.10.0) - webpack-dev-middleware: 5.3.3(webpack@5.76.0(webpack-cli@4.10.0)) - ws: 8.13.0 - optionalDependencies: - webpack-cli: 4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0) - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - webpack-merge@5.9.0: dependencies: clone-deep: 4.0.1 @@ -7024,40 +6027,17 @@ snapshots: watchpack: 2.4.0 webpack-sources: 3.2.3 optionalDependencies: - webpack-cli: 4.10.0(webpack-dev-server@4.11.1)(webpack@5.76.0) + webpack-cli: 4.10.0(webpack@5.76.0) transitivePeerDependencies: - '@swc/core' - esbuild - uglify-js - websocket-driver@0.7.4: - dependencies: - http-parser-js: 0.5.8 - safe-buffer: 5.2.1 - websocket-extensions: 0.1.4 - - websocket-extensions@0.1.4: {} - - well-known-symbols@2.0.0: {} - - whatwg-encoding@2.0.0: - dependencies: - iconv-lite: 0.6.3 - - which-typed-array@1.1.9: - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 - which@2.0.2: dependencies: isexe: 2.0.0 - why-is-node-running@2.2.2: + why-is-node-running@2.3.0: dependencies: siginfo: 2.0.0 stackback: 0.0.2 @@ -7077,8 +6057,6 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 - ws@8.13.0: {} - y18n@5.0.8: {} yallist@3.1.1: {} @@ -7100,5 +6078,3 @@ snapshots: yn@3.1.1: {} yocto-queue@0.1.0: {} - - yocto-queue@1.0.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 5d38f51f..708afcc8 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,14 +1,12 @@ packages: + - 'examples/certification/certified-counter/src/frontend' + - 'examples/http-certification/assets/src/frontend' + - 'examples/http-certification/custom-assets/src/frontend' + - 'examples/http-certification/custom-assets/src/tests' + - 'examples/http-certification/json-api/src/tests' + - 'examples/http-certification/skip-certification/src/tests' - 'packages/certificate-verification-js' - 'packages/ic-certification-testing-wasm' - 'packages/ic-response-verification-wasm' - 'packages/ic-response-verification-tests' - 'packages/ic-response-verification-tests/dfx-project' - - 'examples/certification/certified-counter' - - 'examples/response-verification/nodejs' - - 'examples/response-verification/web' - - 'examples/http-certification/assets/src/frontend' - - 'examples/http-certification/custom-assets/src/frontend' - - 'examples/http-certification/json-api/src/tests' - - 'examples/http-certification/custom-assets/src/tests' - - 'examples/http-certification/skip-certification/src/tests'