From 75a8219d162fc451a145a4100130e787cf844cec Mon Sep 17 00:00:00 2001 From: Benedikt Labrenz Date: Mon, 20 Apr 2026 10:11:25 +0200 Subject: [PATCH 1/2] remove old frontend and all references --- .dockerignore | 5 - .gitattributes | 2 - .github/workflows/pr_cockpit-web.yml | 52 - .github/workflows/pr_general.yml | 16 - .github/workflows/pr_pre-commit.yml | 5 - .gitignore | 5 - .pre-commit-config.yaml | 10 +- .prettierignore | 1 - Cargo.lock | 62 +- Cargo.nix | 158 +- Cargo.toml | 2 +- README.md | 21 +- Tiltfile | 2 - default.nix | 29 +- docker/Dockerfile | 13 +- nix/sources.json | 12 - package.json | 7 - rust/stackable-cockpitd/Cargo.toml | 8 +- rust/stackable-cockpitd/README.md | 3 - rust/stackable-cockpitd/src/cli.rs | 3 +- rust/stackable-cockpitd/src/handlers/mod.rs | 6 - rust/stackable-cockpitd/src/handlers/ui.rs | 31 - .../src/handlers/ui_disabled.rs | 9 - rust/stackable-cockpitd/src/main.rs | 5 +- rust/xtask/src/main.rs | 13 +- rust/xtask/src/openapi.rs | 46 - shell.nix | 3 - web/.editorconfig | 2 - web/.eslintignore | 2 - web/.eslintrc | 41 - web/.gitignore | 27 - web/.prettierignore | 3 - web/.prettierrc.json | 5 - web/Cargo.toml | 11 - web/README.md | 15 - web/build.rs | 54 - web/index.html | 13 - web/package.json | 61 - web/public/.gitkeep | 0 web/public/fonts/Inter-Bold.woff2 | Bin 106140 -> 0 bytes web/public/fonts/Inter-Medium.woff2 | Bin 105924 -> 0 bytes web/public/fonts/Inter-Regular.woff2 | Bin 98868 -> 0 bytes web/src/api/listeners.ts | 70 - web/src/api/meta.ts | 4 - web/src/api/mock-utils.ts | 3 - web/src/api/schema.d.ts | 234 - web/src/api/session.ts | 55 - web/src/api/stacklets.ts | 47 - web/src/components/button.tsx | 49 - web/src/components/datatable.tsx | 117 - web/src/components/form/search.tsx | 21 - web/src/components/header.tsx | 70 - web/src/components/language.tsx | 23 - web/src/components/loading.tsx | 9 - web/src/components/symbols.tsx | 14 - web/src/components/title.tsx | 31 - web/src/fonts.css | 23 - web/src/lib.rs | 2 - web/src/localization/README.md | 9 - web/src/localization/index.tsx | 106 - web/src/localization/locale/de.ftl | 18 - web/src/localization/locale/en.ftl | 18 - web/src/localization/locale/sv.ftl | 18 - web/src/main.tsx | 51 - web/src/pages/login.tsx | 98 - web/src/pages/stacklets/connect.tsx | 71 - web/src/pages/stacklets/list.module.css | 6 - web/src/pages/stacklets/list.tsx | 109 - web/src/resources/logo.png | Bin 6125 -> 0 bytes web/src/types/index.ts | 3 - web/src/types/option.ts | 412 -- web/src/types/result.ts | 330 -- web/src/types/utils.ts | 3 - web/src/utils/localstorage.ts | 25 - web/src/vite-env.d.ts | 1 - web/tests/option.test.ts | 241 - web/tests/result.test.ts | 126 - web/tsconfig.json | 23 - web/uno.config.ts | 15 - web/vite.config.ts | 18 - web/vitest.config.ts | 11 - yarn.lock | 3931 ----------------- 82 files changed, 32 insertions(+), 7146 deletions(-) delete mode 100644 .github/workflows/pr_cockpit-web.yml delete mode 100644 .prettierignore delete mode 100644 package.json delete mode 100644 rust/stackable-cockpitd/src/handlers/ui.rs delete mode 100644 rust/stackable-cockpitd/src/handlers/ui_disabled.rs delete mode 100644 rust/xtask/src/openapi.rs delete mode 100644 web/.editorconfig delete mode 100644 web/.eslintignore delete mode 100644 web/.eslintrc delete mode 100644 web/.gitignore delete mode 100644 web/.prettierignore delete mode 100644 web/.prettierrc.json delete mode 100644 web/Cargo.toml delete mode 100644 web/README.md delete mode 100644 web/build.rs delete mode 100644 web/index.html delete mode 100644 web/package.json delete mode 100644 web/public/.gitkeep delete mode 100644 web/public/fonts/Inter-Bold.woff2 delete mode 100644 web/public/fonts/Inter-Medium.woff2 delete mode 100644 web/public/fonts/Inter-Regular.woff2 delete mode 100644 web/src/api/listeners.ts delete mode 100644 web/src/api/meta.ts delete mode 100644 web/src/api/mock-utils.ts delete mode 100644 web/src/api/schema.d.ts delete mode 100644 web/src/api/session.ts delete mode 100644 web/src/api/stacklets.ts delete mode 100644 web/src/components/button.tsx delete mode 100644 web/src/components/datatable.tsx delete mode 100644 web/src/components/form/search.tsx delete mode 100644 web/src/components/header.tsx delete mode 100644 web/src/components/language.tsx delete mode 100644 web/src/components/loading.tsx delete mode 100644 web/src/components/symbols.tsx delete mode 100644 web/src/components/title.tsx delete mode 100644 web/src/fonts.css delete mode 100644 web/src/lib.rs delete mode 100644 web/src/localization/README.md delete mode 100644 web/src/localization/index.tsx delete mode 100644 web/src/localization/locale/de.ftl delete mode 100644 web/src/localization/locale/en.ftl delete mode 100644 web/src/localization/locale/sv.ftl delete mode 100644 web/src/main.tsx delete mode 100644 web/src/pages/login.tsx delete mode 100644 web/src/pages/stacklets/connect.tsx delete mode 100644 web/src/pages/stacklets/list.module.css delete mode 100644 web/src/pages/stacklets/list.tsx delete mode 100644 web/src/resources/logo.png delete mode 100644 web/src/types/index.ts delete mode 100644 web/src/types/option.ts delete mode 100644 web/src/types/result.ts delete mode 100644 web/src/types/utils.ts delete mode 100644 web/src/utils/localstorage.ts delete mode 100644 web/src/vite-env.d.ts delete mode 100644 web/tests/option.test.ts delete mode 100644 web/tests/result.test.ts delete mode 100644 web/tsconfig.json delete mode 100644 web/uno.config.ts delete mode 100644 web/vite.config.ts delete mode 100644 web/vitest.config.ts delete mode 100644 yarn.lock diff --git a/.dockerignore b/.dockerignore index 5f53f952..7fd788f8 100644 --- a/.dockerignore +++ b/.dockerignore @@ -10,10 +10,5 @@ crate-hashes.json result image.tar -node_modules -.pnp -.pnp.* -.yarn - # We do NOT want to ignore .git because we use the `built` crate to gather the current git commit hash at built time # This means we need the .git directory in our Docker image, it will be thrown away and won't be included in the final image diff --git a/.gitattributes b/.gitattributes index 74bc5051..b29b6b3f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,9 +1,7 @@ -web/src/api/schema.d.ts linguist-generated extra/completions/* linguist-generated crate-hashes.json linguist-generated extra/man/* linguist-generated Cargo.nix linguist-generated -yarn.lock linguist-generated nix/** linguist-generated go.sum linguist-generated gomod2nix.toml linguist-generated diff --git a/.github/workflows/pr_cockpit-web.yml b/.github/workflows/pr_cockpit-web.yml deleted file mode 100644 index 17926267..00000000 --- a/.github/workflows/pr_cockpit-web.yml +++ /dev/null @@ -1,52 +0,0 @@ ---- -name: web -on: - pull_request: - paths: - - ".github/workflows/pr_cockpit-web.yml" - - "package.json" - - "yarn.lock" - - "web/**" - -jobs: - build-web: - name: Web frontend built - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: 18 - cache: yarn - - run: yarn install --frozen-lockfile - - run: yarn --cwd web run build - - eslint: - name: Run web linting via ESLint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: 18 - cache: yarn - - run: yarn install --frozen-lockfile - - run: yarn --cwd web run lint - - prettier: - name: Validate web formatting - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: 18 - cache: yarn - - run: yarn install --frozen-lockfile - - run: yarn --cwd web run format --check - - name: Git Diff showed uncommitted changes - if: ${{ failure() }} - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1 - with: - script: | - core.setFailed('web/ contains unformatted code, run `yarn --cwd web run format --write` and re-commit!') diff --git a/.github/workflows/pr_general.yml b/.github/workflows/pr_general.yml index 81702f6d..e5d6dccf 100644 --- a/.github/workflows/pr_general.yml +++ b/.github/workflows/pr_general.yml @@ -32,12 +32,6 @@ jobs: with: go-version: ${{ env.GO_VERSION }} - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: 18 - cache: yarn - - run: yarn install --frozen-lockfile - - uses: Swatinem/rust-cache@98c8021b550208e191a6a3145459bfc9fb29c4c0 # v2.8.0 with: key: udeps @@ -84,11 +78,6 @@ jobs: with: key: doc - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: 18 - cache: yarn - - run: yarn install --frozen-lockfile - run: cargo doc --document-private-items run_tests: @@ -111,11 +100,6 @@ jobs: with: key: test - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: 18 - cache: yarn - - run: yarn install --frozen-lockfile - run: cargo test tests_passed: diff --git a/.github/workflows/pr_pre-commit.yml b/.github/workflows/pr_pre-commit.yml index 0e0a5f86..581c8056 100644 --- a/.github/workflows/pr_pre-commit.yml +++ b/.github/workflows/pr_pre-commit.yml @@ -18,11 +18,6 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: fetch-depth: 0 - - uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 - with: - node-version: 18 - cache: yarn - - run: yarn install --frozen-lockfile - uses: stackabletech/actions/run-pre-commit@5901c3b1455488820c4be367531e07c3c3e82538 # v0.4.0 with: rust: ${{ env.RUST_TOOLCHAIN_VERSION }} diff --git a/.gitignore b/.gitignore index 40b2fd66..3cc0380c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,10 @@ # Rust /target -# Frontend -/node_modules htpasswd -.yarn # Misc /demos /stacks /result .env -.pnp -.pnp.* diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d88e2480..62bd2bf5 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -11,7 +11,7 @@ repos: hooks: - id: trailing-whitespace # Generated file - exclude: ^web/src/api/schema\.d\.ts|extra/.*$ + exclude: ^extra/.*$ - id: end-of-file-fixer exclude: Cargo.nix - id: detect-aws-credentials @@ -69,14 +69,6 @@ repos: stages: [pre-commit, pre-merge-commit, manual] pass_filenames: false - - id: gen-openapi - name: gen-openapi - files: ^web/ - language: system - entry: cargo xtask gen-openapi - stages: [pre-commit, pre-merge-commit, manual] - pass_filenames: false - - id: gen-ctl-readme name: gen-ctl-readme files: ^rust/stackablectl/ diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 438e8979..00000000 --- a/.prettierignore +++ /dev/null @@ -1 +0,0 @@ -web/src/api/schema.d.ts diff --git a/Cargo.lock b/Cargo.lock index 6a729830..1cbc3e59 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -481,7 +481,7 @@ checksum = "93698b29de5e97ad0ae26447b344c482a7284c737d9ddc5f9e52b74a336671bb" dependencies = [ "chrono", "chrono-tz-build", - "phf 0.11.3", + "phf", ] [[package]] @@ -491,8 +491,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c088aee841df9c3041febbb73934cfc39708749bf96dc827e3359cd39ef11b1" dependencies = [ "parse-zoneinfo", - "phf 0.11.3", - "phf_codegen 0.11.3", + "phf", + "phf_codegen", ] [[package]] @@ -2504,17 +2504,7 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd6780a80ae0c52cc120a26a1a42c1ae51b247a253e4e06113d23d2c2edd078" dependencies = [ - "phf_shared 0.11.3", -] - -[[package]] -name = "phf" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c1562dc717473dbaa4c1f85a36410e03c047b2e7df7f45ee938fbef64ae7fadf" -dependencies = [ - "phf_shared 0.13.1", - "serde", + "phf_shared", ] [[package]] @@ -2523,18 +2513,8 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "aef8048c789fa5e851558d709946d6d79a8ff88c0440c587967f8e94bfb1216a" dependencies = [ - "phf_generator 0.11.3", - "phf_shared 0.11.3", -] - -[[package]] -name = "phf_codegen" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49aa7f9d80421bca176ca8dbfebe668cc7a2684708594ec9f3c0db0805d5d6e1" -dependencies = [ - "phf_generator 0.13.1", - "phf_shared 0.13.1", + "phf_generator", + "phf_shared", ] [[package]] @@ -2543,20 +2523,10 @@ version = "0.11.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3c80231409c20246a13fddb31776fb942c38553c51e871f8cbd687a4cfb5843d" dependencies = [ - "phf_shared 0.11.3", + "phf_shared", "rand 0.8.5", ] -[[package]] -name = "phf_generator" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "135ace3a761e564ec88c03a77317a7c6b80bb7f7135ef2544dbe054243b89737" -dependencies = [ - "fastrand", - "phf_shared 0.13.1", -] - [[package]] name = "phf_shared" version = "0.11.3" @@ -2566,15 +2536,6 @@ dependencies = [ "siphasher", ] -[[package]] -name = "phf_shared" -version = "0.13.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e57fef6bc5981e38c2ce2d63bfa546861309f875b8a75f092d1d54ae2d64f266" -dependencies = [ - "siphasher", -] - [[package]] name = "pin-project" version = "1.1.11" @@ -3606,14 +3567,6 @@ dependencies = [ "which", ] -[[package]] -name = "stackable-cockpit-web" -version = "0.0.0-dev" -dependencies = [ - "phf 0.13.1", - "phf_codegen 0.13.1", -] - [[package]] name = "stackable-cockpitd" version = "0.0.0-dev" @@ -3626,7 +3579,6 @@ dependencies = [ "serde", "snafu 0.9.0", "stackable-cockpit", - "stackable-cockpit-web", "tokio", "tower-http", "tracing", diff --git a/Cargo.nix b/Cargo.nix index b4a24133..6e4d6480 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -63,16 +63,6 @@ rec { # File a bug if you depend on any for non-debug work! debug = internal.debugCrate { inherit packageId; }; }; - "stackable-cockpit-web" = rec { - packageId = "stackable-cockpit-web"; - build = internal.buildRustCrateWithFeatures { - packageId = "stackable-cockpit-web"; - }; - - # Debug support which might change between releases. - # File a bug if you depend on any for non-debug work! - debug = internal.debugCrate { inherit packageId; }; - }; "stackable-cockpitd" = rec { packageId = "stackable-cockpitd"; build = internal.buildRustCrateWithFeatures { @@ -1580,7 +1570,7 @@ rec { } { name = "phf"; - packageId = "phf 0.11.3"; + packageId = "phf"; usesDefaultFeatures = false; } ]; @@ -1620,12 +1610,12 @@ rec { } { name = "phf"; - packageId = "phf 0.11.3"; + packageId = "phf"; usesDefaultFeatures = false; } { name = "phf_codegen"; - packageId = "phf_codegen 0.11.3"; + packageId = "phf_codegen"; usesDefaultFeatures = false; } ]; @@ -8121,7 +8111,7 @@ rec { }; resolvedDefaultFeatures = [ "default" ]; }; - "phf 0.11.3" = rec { + "phf" = rec { crateName = "phf"; version = "0.11.3"; edition = "2021"; @@ -8132,7 +8122,7 @@ rec { dependencies = [ { name = "phf_shared"; - packageId = "phf_shared 0.11.3"; + packageId = "phf_shared"; usesDefaultFeatures = false; } ]; @@ -8146,39 +8136,7 @@ rec { "unicase" = [ "phf_macros?/unicase" "phf_shared/unicase" ]; }; }; - "phf 0.13.1" = rec { - crateName = "phf"; - version = "0.13.1"; - edition = "2021"; - sha256 = "1pzswx5gdglgjgp4azyzwyr4gh031r0kcnpqq6jblga72z3jsmn1"; - authors = [ - "Steven Fackler " - ]; - dependencies = [ - { - name = "phf_shared"; - packageId = "phf_shared 0.13.1"; - usesDefaultFeatures = false; - } - { - name = "serde"; - packageId = "serde"; - optional = true; - usesDefaultFeatures = false; - } - ]; - features = { - "default" = [ "std" ]; - "macros" = [ "phf_macros" ]; - "phf_macros" = [ "dep:phf_macros" ]; - "serde" = [ "dep:serde" ]; - "std" = [ "phf_shared/std" "serde?/std" ]; - "uncased" = [ "phf_macros?/uncased" "phf_shared/uncased" ]; - "unicase" = [ "phf_macros?/unicase" "phf_shared/unicase" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; - "phf_codegen 0.11.3" = rec { + "phf_codegen" = rec { crateName = "phf_codegen"; version = "0.11.3"; edition = "2021"; @@ -8189,36 +8147,16 @@ rec { dependencies = [ { name = "phf_generator"; - packageId = "phf_generator 0.11.3"; - } - { - name = "phf_shared"; - packageId = "phf_shared 0.11.3"; - } - ]; - - }; - "phf_codegen 0.13.1" = rec { - crateName = "phf_codegen"; - version = "0.13.1"; - edition = "2021"; - sha256 = "1qfnsl2hiny0yg4lwn888xla5iwccszgxnx8dhbwl6s2h2fpzaj9"; - authors = [ - "Steven Fackler " - ]; - dependencies = [ - { - name = "phf_generator"; - packageId = "phf_generator 0.13.1"; + packageId = "phf_generator"; } { name = "phf_shared"; - packageId = "phf_shared 0.13.1"; + packageId = "phf_shared"; } ]; }; - "phf_generator 0.11.3" = rec { + "phf_generator" = rec { crateName = "phf_generator"; version = "0.11.3"; edition = "2021"; @@ -8230,7 +8168,7 @@ rec { dependencies = [ { name = "phf_shared"; - packageId = "phf_shared 0.11.3"; + packageId = "phf_shared"; usesDefaultFeatures = false; } { @@ -8244,30 +8182,7 @@ rec { "criterion" = [ "dep:criterion" ]; }; }; - "phf_generator 0.13.1" = rec { - crateName = "phf_generator"; - version = "0.13.1"; - edition = "2021"; - crateBin = []; - sha256 = "0dwpp11l41dy9mag4phkyyvhpf66lwbp79q3ik44wmhyfqxcwnhk"; - authors = [ - "Steven Fackler " - ]; - dependencies = [ - { - name = "fastrand"; - packageId = "fastrand"; - usesDefaultFeatures = false; - } - { - name = "phf_shared"; - packageId = "phf_shared 0.13.1"; - usesDefaultFeatures = false; - } - ]; - - }; - "phf_shared 0.11.3" = rec { + "phf_shared" = rec { crateName = "phf_shared"; version = "0.11.3"; edition = "2021"; @@ -8288,27 +8203,6 @@ rec { }; resolvedDefaultFeatures = [ "default" "std" ]; }; - "phf_shared 0.13.1" = rec { - crateName = "phf_shared"; - version = "0.13.1"; - edition = "2021"; - sha256 = "0rpjchnswm0x5l4mz9xqfpw0j4w68sjvyqrdrv13h7lqqmmyyzz5"; - authors = [ - "Steven Fackler " - ]; - dependencies = [ - { - name = "siphasher"; - packageId = "siphasher"; - } - ]; - features = { - "default" = [ "std" ]; - "uncased" = [ "dep:uncased" ]; - "unicase" = [ "dep:unicase" ]; - }; - resolvedDefaultFeatures = [ "default" "std" ]; - }; "pin-project" = rec { crateName = "pin-project"; version = "1.1.11"; @@ -11871,26 +11765,6 @@ rec { }; resolvedDefaultFeatures = [ "full" "openapi" ]; }; - "stackable-cockpit-web" = rec { - crateName = "stackable-cockpit-web"; - version = "0.0.0-dev"; - edition = "2021"; - src = lib.cleanSourceWith { filter = sourceFilter; src = ./web; }; - libName = "stackable_cockpit_web"; - dependencies = [ - { - name = "phf"; - packageId = "phf 0.13.1"; - } - ]; - buildDependencies = [ - { - name = "phf_codegen"; - packageId = "phf_codegen 0.13.1"; - } - ]; - - }; "stackable-cockpitd" = rec { crateName = "stackable-cockpitd"; version = "0.0.0-dev"; @@ -11946,11 +11820,6 @@ rec { packageId = "stackable-cockpit"; features = [ "openapi" ]; } - { - name = "stackable-cockpit-web"; - packageId = "stackable-cockpit-web"; - optional = true; - } { name = "tokio"; packageId = "tokio"; @@ -11985,10 +11854,7 @@ rec { features = [ "v4" ]; } ]; - features = { - "ui" = [ "dep:stackable-cockpit-web" ]; - }; - resolvedDefaultFeatures = [ "default" "ui" ]; + }; "stackable-operator" = rec { crateName = "stackable-operator"; diff --git a/Cargo.toml b/Cargo.toml index 68985380..148bc31b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,5 +1,5 @@ [workspace] -members = ["rust/*", "web", "."] +members = ["rust/*", "."] resolver = "2" [workspace.package] diff --git a/README.md b/README.md index c003321a..a40572df 100644 --- a/README.md +++ b/README.md @@ -11,21 +11,19 @@ [Stackable Data Platform](https://stackable.tech/) | [Platform Docs](https://docs.stackable.tech/) | [Discussions](https://github.com/orgs/stackabletech/discussions) | [Discord](https://discord.gg/7kZ3BNnCAF) -This repository contains the Stackable library `stackable-cockpit`, the Stackable CLI tool `stackablectl`, the Stackable -Cockpit server `stackable-cockpitd`, and the web-based admin user interface. +This repository contains the Stackable library `stackable-cockpit`, the Stackable CLI tool `stackablectl`, and the +Stackable Cockpit server `stackable-cockpitd`. ## Components - [`stackable-cockpit`][lib-readme]: The underlying library for all actions related to the Stackable Data Platform - [`stackablectl`][ctl-readme]: CLI tool to interact with local and remote deployments of the data platform - [`stackable-cockpitd`][server-readme]: API server used by frontends to interact with the data platform -- [`stackable-cockpit-web`][web-readme]: The web-based admin UI powered by SolidJS, TypeScript and Vite ## Developer Setup ### Prerequisites -- A working (and up2date) NodeJS installation, with Yarn as the preferred package manager - A working (and up2date) Rust installation including rustc, clippy, and cargo - Optional, but strongly advised: a working [pre-commit][pre-commit] installation @@ -36,19 +34,11 @@ git clone git@github.com:stackabletech/stackable-cockpit.git cd stackable-cockpit ``` -The admin UI is registered as a crate and is part of the build process, as the HTML/CSS/JS bundle is included in the -final `stackable-cockpitd` binary. To get the build process running, first execute `yarn install` to install all required NodeJS -dependencies in the `node_modules` folder. - ---- - Each component can be build separately like this: ```shell -cargo build --release -p stackablectl # Builds stackablectl -cargo build --release -p stackable-cockpitd # Builds the Stackable Cockpit API server -cargo build --release -p stackable-cockpitd --features ui # Builds the Stackable Cockpit API server bundled with the admin UI -cd web && yarn run build && cd - # Builds the admin UI +cargo build --release -p stackablectl # Builds stackablectl +cargo build --release -p stackable-cockpitd # Builds the Stackable Cockpit API server ``` ### Pre-commit hooks and xtasks @@ -64,18 +54,15 @@ hooks are: - [`detect-private-key`](https://github.com/pre-commit/pre-commit-hooks#detect-private-key): Detect private keys - [`yamllint`](https://github.com/adrienverge/yamllint): Runs linting on all YAML files - [`markdownlint`](https://github.com/igorshubovych/markdownlint-cli): Runs linting on all Markdown files -- [`prettier`](https://github.com/pre-commit/mirrors-prettier): Runs prettier on files located in `web` - `cargo clippy --all-targets --all-features -- -D warnings`: Runs Clippy on all files and errors on warnings - `cargo fmt -- --check`: Checks if Rust code needs formatting - `cargo xtask gen-comp`: Runs shell completions generation for `stackablectl` - `cargo xtask gen-man`: Runs man page generation for `stackablectl` -- `cargo xtask gen-openapi`: Runs OpenAPI spec generation to connect backend with frontend - `cargo xtask gen-ctl-readme`: Generates and inserts `stackablectl` help text into README [server-readme]: ./rust/stackable-cockpitd/README.md [ctl-readme]: ./rust/stackablectl/README.md [pre-commit]: https://pre-commit.com/ -[web-readme]: ./web/README.md [lib-readme]: ./rust/stackable-cockpit/README.md ### Templating variables diff --git a/Tiltfile b/Tiltfile index de8ddd65..9b9cdb38 100644 --- a/Tiltfile +++ b/Tiltfile @@ -14,8 +14,6 @@ custom_build( deps=[ # Rust 'rust', 'Cargo.toml', 'Cargo.lock', 'vendor', - # Web UI - 'web', 'yarn.lock', # Nix 'nix', 'default.nix', ], diff --git a/default.nix b/default.nix index b8823184..05fd9820 100644 --- a/default.nix +++ b/default.nix @@ -11,16 +11,6 @@ cargo ? import ./Cargo.nix { inherit nixpkgs pkgs release; defaultCrateOverrides = pkgs.defaultCrateOverrides // { - stackable-cockpit-web = attrs: { - nativeBuildInputs = [ - pkgs.nodePackages.yarn - pkgs.nodejs_20 - ]; - preConfigure = '' - [[ ! -e node_modules ]] || rm -r node_modules - ln -s ${web.nodeModules} node_modules - ''; - }; helm-sys = attrs: { GO_HELM_WRAPPER = goHelmWrapper + "/bin"; LIBCLANG_PATH = "${pkgs.libclang.lib}/lib"; @@ -41,20 +31,6 @@ meta ? pkgs.lib.importJSON ./nix/meta.json, dockerName ? "oci.stackable.tech/sandbox/${meta.operator.name}", dockerTag ? null, - web ? js2nix.buildEnv { - # js2nix doesn't import peer dependencies, so we use overlays to patch them in explicitly - # https://github.com/canva-public/js2nix/blob/d37912f6cc824e7f41bea7a481af1739ca195c8f/docs/usage.md#overriding - package-json = ./web/package.json; - yarn-lock = ./yarn.lock; - overlays = [ - (self: super: { - # TODO: remove once this https://github.com/canva-public/js2nix/issues/20 is resolved - buildNodeModule = pkgs.lib.makeOverridable ( - args: (super.buildNodeModule args).override { doCheck = false; } - ); - }) - ]; - }, goHelmWrapper ? pkgs.buildGoApplication { go = pkgs.go_1_26; pname = "go-helm-wrapper"; @@ -75,7 +51,6 @@ done ''; }, - js2nix ? pkgs.callPackage sources.js2nix { nodejs = pkgs.nodejs_20; }, gomod2nix ? pkgs.callPackage sources.gomod2nix { }, }: rec { @@ -85,9 +60,7 @@ rec { pkgs meta ; - build = cargo.workspaceMembers.stackable-cockpitd.build.override { - features = [ "ui" ]; - }; + build = cargo.workspaceMembers.stackable-cockpitd.build; entrypoint = build + "/bin/stackable-cockpitd"; # crds = pkgs.runCommand "${meta.operator.name}-crds.yaml" {} # '' diff --git a/docker/Dockerfile b/docker/Dockerfile index f9baffc9..be70ac91 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -31,15 +31,6 @@ RUN GO_VERSION=1.26.0 \ && ln -s /opt/go/bin/go /usr/local/bin WORKDIR / -##PATCH: Install node (for UI build) -WORKDIR /opt/node -RUN NODE_VERSION=18.16.0 \ - ARCH=$(arch | sed 's/^x86_64$/x64/' | sed 's/^aarch64$/arm64/') \ - && curl --location "https://repo.stackable.tech/repository/packages/node/node-v${NODE_VERSION}-linux-${ARCH}.tar.xz" | tar xvJ --strip-components=1 \ - && ln -s /opt/node/bin/{node,corepack} /usr/local/bin \ - && corepack enable yarn -WORKDIR / - # IMPORTANT # If you change the toolchain version here, make sure to also change the "rust_version" # property in operator-templating/repositories.yaml @@ -58,9 +49,9 @@ COPY docker/ubi8-rust-builder/copy_artifacts.sh / WORKDIR /src COPY . /src -## PATCH: disabled cyclonedx, run yarn install, build stackable-cockpitd with ui feature enabled +## PATCH: disabled cyclonedx # hadolint ignore=SC1091 -RUN . "$HOME/.cargo/env" && yarn && cargo build --release --workspace --features stackable-cockpitd/ui +RUN . "$HOME/.cargo/env" && cargo build --release --workspace # ONBUILD RUN . "$HOME/.cargo/env" && cargo auditable build --release --workspace && cargo cyclonedx --output-pattern package --all --output-cdx # Copy the "interesting" files into /app. diff --git a/nix/sources.json b/nix/sources.json index 9bff9ae9..3043939d 100644 --- a/nix/sources.json +++ b/nix/sources.json @@ -24,18 +24,6 @@ "url_template": "https://github.com///archive/.tar.gz", "version": "1.5.0" }, - "js2nix": { - "branch": "main", - "description": "Node.js modules installation using Nix", - "homepage": "", - "owner": "canva-public", - "repo": "js2nix", - "rev": "8cd32b5c87767b019e0960b27599f6b9d195ddb0", - "sha256": "0mp62ai0n6k57cx8sn118qis37xvfylskagghxja00gdcank3nxr", - "type": "tarball", - "url": "https://github.com/canva-public/js2nix/archive/8cd32b5c87767b019e0960b27599f6b9d195ddb0.tar.gz", - "url_template": "https://github.com///archive/.tar.gz" - }, "nixpkgs": { "branch": "nixpkgs-unstable", "description": "Nix Packages collection", diff --git a/package.json b/package.json deleted file mode 100644 index 45a78b88..00000000 --- a/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "private": true, - "workspaces": [ - "web" - ], - "packageManager": "yarn@1.22.19" -} diff --git a/rust/stackable-cockpitd/Cargo.toml b/rust/stackable-cockpitd/Cargo.toml index 173649a5..fe41ae1e 100644 --- a/rust/stackable-cockpitd/Cargo.toml +++ b/rust/stackable-cockpitd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "stackable-cockpitd" -description = "Stackable cockpit daemon bundling the HTTP REST API and UI" +description = "Stackable cockpit daemon bundling the HTTP REST API" version.workspace = true authors.workspace = true license.workspace = true @@ -8,14 +8,8 @@ edition.workspace = true repository.workspace = true publish = false -[features] -default = [] -# The UI builds slowly, so run in API-only mode during development -ui = ["dep:stackable-cockpit-web"] - [dependencies] stackable-cockpit = { path = "../stackable-cockpit", features = ["openapi"] } -stackable-cockpit-web = { path = "../../web", optional = true } axum.workspace = true axum-extra.workspace = true diff --git a/rust/stackable-cockpitd/README.md b/rust/stackable-cockpitd/README.md index 442cd9dd..6f27efbc 100644 --- a/rust/stackable-cockpitd/README.md +++ b/rust/stackable-cockpitd/README.md @@ -12,9 +12,6 @@ and exposes functionality via an HTTP REST API. Core community-provided dependen - [`tracing`][tracing-link] is used for context-rich application logging. Our complete stack emits tracing events that can be consumed via multiple different subscribers. - [`snafu`][snafu-link] for easy custom error handling. -The Stackable UI is bundled into the final binary during the build process. The source code for the front end is located -in [web](../../web). Detailed information about the frontend stack can be found in the [README](../../web/README.me). - ## Development ```shell diff --git a/rust/stackable-cockpitd/src/cli.rs b/rust/stackable-cockpitd/src/cli.rs index 37d94cce..3c56dc80 100644 --- a/rust/stackable-cockpitd/src/cli.rs +++ b/rust/stackable-cockpitd/src/cli.rs @@ -5,8 +5,7 @@ use clap::Parser; #[derive(Debug, Parser)] #[command(author, version, about, propagate_version = true)] #[command( - about = "Run the Stackable daemon which exposes the Stackable library via an HTTP -REST API and provides a web-based application." + about = "Run the Stackable daemon which exposes the Stackable library via an HTTP REST API." )] pub struct Cli { /// Port the daemon listens on diff --git a/rust/stackable-cockpitd/src/handlers/mod.rs b/rust/stackable-cockpitd/src/handlers/mod.rs index 61145488..de3222b1 100644 --- a/rust/stackable-cockpitd/src/handlers/mod.rs +++ b/rust/stackable-cockpitd/src/handlers/mod.rs @@ -3,9 +3,3 @@ pub mod releases; pub mod root; pub mod stacklets; pub mod stacks; - -#[cfg(feature = "ui")] -pub mod ui; -#[cfg(not(feature = "ui"))] -#[path = "ui_disabled.rs"] -pub mod ui; diff --git a/rust/stackable-cockpitd/src/handlers/ui.rs b/rust/stackable-cockpitd/src/handlers/ui.rs deleted file mode 100644 index e250e0bb..00000000 --- a/rust/stackable-cockpitd/src/handlers/ui.rs +++ /dev/null @@ -1,31 +0,0 @@ -use axum::{ - Router, - extract::Path, - http::{HeaderValue, header::CONTENT_TYPE}, - response::{Html, IntoResponse}, - routing::get, -}; - -pub fn router() -> Router { - Router::new() - .route("/assets/:assset", get(asset)) - .route("/", get(ui)) - .route("/*path", get(ui)) -} - -async fn ui() -> Html<&'static str> { - Html(stackable_cockpit_web::INDEX_HTML) -} -async fn asset(Path(name): Path) -> impl IntoResponse { - ( - [( - CONTENT_TYPE, - match name.rsplit_once('.') { - Some((_, "js")) => HeaderValue::from_static("text/javascript"), - Some((_, "css")) => HeaderValue::from_static("text/css"), - _ => HeaderValue::from_static("application/octet-stream"), - }, - )], - stackable_cockpit_web::ASSETS[&name], - ) -} diff --git a/rust/stackable-cockpitd/src/handlers/ui_disabled.rs b/rust/stackable-cockpitd/src/handlers/ui_disabled.rs deleted file mode 100644 index 88adbd9e..00000000 --- a/rust/stackable-cockpitd/src/handlers/ui_disabled.rs +++ /dev/null @@ -1,9 +0,0 @@ -use axum::{Router, routing::get}; - -pub fn router() -> Router { - Router::new().route("/", get(disabled_message)) -} - -async fn disabled_message() -> &'static str { - "UI is disabled, rebuild with --features ui to enable" -} diff --git a/rust/stackable-cockpitd/src/main.rs b/rust/stackable-cockpitd/src/main.rs index 98c5f61c..e36173f0 100644 --- a/rust/stackable-cockpitd/src/main.rs +++ b/rust/stackable-cockpitd/src/main.rs @@ -2,7 +2,6 @@ use std::net::SocketAddr; use axum::{ Router, - response::Redirect, routing::{get, post}, }; use clap::Parser; @@ -53,9 +52,7 @@ async fn main() -> Result<(), Whatever> { let router = Router::new() .nest("/api/", api) - .nest("/ui/", handlers::ui::router()) - .merge(SwaggerUi::new("/swagger-ui").url("/api-docs/openapi.json", api_doc::openapi())) - .route("/", get(|| async { Redirect::permanent("/ui/") })); + .merge(SwaggerUi::new("/swagger-ui").url("/api-docs/openapi.json", api_doc::openapi())); let listen_addr = SocketAddr::new(cli.address, cli.port); info!(addr = %listen_addr, "Starting server"); diff --git a/rust/xtask/src/main.rs b/rust/xtask/src/main.rs index 80de075e..a6d2c0a3 100644 --- a/rust/xtask/src/main.rs +++ b/rust/xtask/src/main.rs @@ -2,14 +2,12 @@ use clap::Parser; use snafu::Snafu; use crate::{ - completions::GenCompError, docs::GenDocsError, man::GenManError, openapi::GenOpenapiError, - readme::GenReadmeError, + completions::GenCompError, docs::GenDocsError, man::GenManError, readme::GenReadmeError, }; mod completions; mod docs; mod man; -mod openapi; mod readme; #[derive(clap::Parser)] @@ -18,7 +16,6 @@ enum XtaskCommand { GenAll, GenMan, GenComp, - GenOpenapi, GenCtlReadme, GenDocs, } @@ -31,12 +28,6 @@ enum TaskError { #[snafu(display("failed to generate shell completions"), context(false))] Comp { source: GenCompError }, - #[snafu( - display("failed to generate OpenAPI TypeScript schema based on the OpenAPI JSON spec"), - context(false) - )] - Openapi { source: GenOpenapiError }, - #[snafu( display("failed to generate stackablectl usage README file"), context(false) @@ -54,13 +45,11 @@ fn main() -> Result<(), TaskError> { // IMPORTANT (@NickLarsenNZ): ensure all commands defined below are also in here. man::generate()?; completions::generate()?; - openapi::generate()?; readme::generate()?; docs::generate()?; } XtaskCommand::GenMan => man::generate()?, XtaskCommand::GenComp => completions::generate()?, - XtaskCommand::GenOpenapi => openapi::generate()?, XtaskCommand::GenCtlReadme => readme::generate()?, XtaskCommand::GenDocs => docs::generate()?, } diff --git a/rust/xtask/src/openapi.rs b/rust/xtask/src/openapi.rs deleted file mode 100644 index 270e64fb..00000000 --- a/rust/xtask/src/openapi.rs +++ /dev/null @@ -1,46 +0,0 @@ -use std::{ - io::Write, - process::{Command, Stdio}, -}; - -use snafu::{ResultExt, Snafu, ensure}; -use stackable_cockpitd::api_doc::openapi; - -#[derive(Debug, Snafu)] -pub enum GenOpenapiError { - #[snafu(display("error serializing openapi"))] - SerializeOpenApi { source: serde_json::Error }, - - #[snafu(display("error running importing openapi schema importer"))] - ImportOpenapiSchemaRun { source: std::io::Error }, - - #[snafu(display("openapi schema importer failed with error code {error_code:?}"))] - ImportOpenapiSchema { error_code: Option }, - - #[snafu(display("error writing openapi schema into importer"))] - WriteOpenapiSchema { source: std::io::Error }, -} - -pub fn generate() -> Result<(), GenOpenapiError> { - let openapi_json = openapi().to_json().context(SerializeOpenApiSnafu)?; - let mut codegen = Command::new("yarn") - .args(["--cwd", "web", "run", "openapi-codegen"]) - .stdin(Stdio::piped()) - .spawn() - .context(ImportOpenapiSchemaRunSnafu)?; - codegen - .stdin - .take() - .expect("child stdin must be available") - .write_all(openapi_json.as_bytes()) - .context(WriteOpenapiSchemaSnafu)?; - let status = codegen.wait().context(ImportOpenapiSchemaRunSnafu)?; - ensure!( - status.success(), - ImportOpenapiSchemaSnafu { - error_code: status.code() - } - ); - - Ok(()) -} diff --git a/shell.nix b/shell.nix index 9ddaba37..d0ec38be 100644 --- a/shell.nix +++ b/shell.nix @@ -43,9 +43,6 @@ pkgs.mkShell rec { rustup # additions for this repo - yarn - typescript - vite go ]); diff --git a/web/.editorconfig b/web/.editorconfig deleted file mode 100644 index b429316b..00000000 --- a/web/.editorconfig +++ /dev/null @@ -1,2 +0,0 @@ -[*] -indent_size = 2 diff --git a/web/.eslintignore b/web/.eslintignore deleted file mode 100644 index 74746490..00000000 --- a/web/.eslintignore +++ /dev/null @@ -1,2 +0,0 @@ -# generated files -src/api/schema.d.ts diff --git a/web/.eslintrc b/web/.eslintrc deleted file mode 100644 index 86d58a6b..00000000 --- a/web/.eslintrc +++ /dev/null @@ -1,41 +0,0 @@ -{ - "extends": [ - "eslint:recommended", - "plugin:@typescript-eslint/recommended", - "plugin:@typescript-eslint/recommended-requiring-type-checking", - "plugin:solid/typescript", - "plugin:unicorn/recommended", - "prettier" - ], - "parser": "@typescript-eslint/parser", - "parserOptions": { - "project": true - }, - "plugins": ["@typescript-eslint", "solid", "unicorn"], - "rules": { - // Causes false positives for Solid resources - "@typescript-eslint/no-misused-promises": "off", - "unicorn/prevent-abbreviations": [ - "error", - { - "replacements": { - "env": false, - // Err is used for the Result type - "err": false, - // Fn or fn is used in callbacks, predicate and filter functions - "fn": false, - // props and params are distinct SolidJS concepts - "props": false, - "params": false - } - } - ], - "unicorn/no-useless-undefined": "off", - "@typescript-eslint/no-unused-vars": [ - "error", - { - "argsIgnorePattern": "^_" - } - ] - } -} diff --git a/web/.gitignore b/web/.gitignore deleted file mode 100644 index ffc6a8f1..00000000 --- a/web/.gitignore +++ /dev/null @@ -1,27 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -pnpm-debug.log* -lerna-debug.log* - -node_modules -dist -dist-ssr -*.local - -# Editor directories and files -.vscode/* -!.vscode/extensions.json -.idea -.DS_Store -*.suo -*.ntvs* -*.njsproj -*.sln -*.sw? - -# Test results / coverage -coverage diff --git a/web/.prettierignore b/web/.prettierignore deleted file mode 100644 index c2b7dc50..00000000 --- a/web/.prettierignore +++ /dev/null @@ -1,3 +0,0 @@ -dist -# Generated by openapi-typescript -src/api/schema.d.ts diff --git a/web/.prettierrc.json b/web/.prettierrc.json deleted file mode 100644 index e359dad9..00000000 --- a/web/.prettierrc.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "trailingComma": "all", - "singleQuote": true, - "jsxSingleQuote": true -} diff --git a/web/Cargo.toml b/web/Cargo.toml deleted file mode 100644 index 34621892..00000000 --- a/web/Cargo.toml +++ /dev/null @@ -1,11 +0,0 @@ -[package] -name = "stackable-cockpit-web" -version.workspace = true -edition = "2021" -publish = false - -[dependencies] -phf = { workspace = true } - -[build-dependencies] -phf_codegen = { workspace = true } diff --git a/web/README.md b/web/README.md deleted file mode 100644 index a7443df8..00000000 --- a/web/README.md +++ /dev/null @@ -1,15 +0,0 @@ -# stackable-cockpit-web - -## The stack - -The Stackable UI is a modern web app written in TypeScript. Core community-provided dependencies are: - -- [SolidJS][solidjs-link] is a reactivity-based framework for building modular web apps. -- [UnoCSS][unocss-link] is an on-demand CSS framework that generates CSS based on HTML classes. -- [Vite][vite-link] is a modern and fast TS/JS toolchain for all kinds of frameworks. Based on Rollup. - -[solidjs-link]: https://www.solidjs.com/ -[unocss-link]: https://unocss.dev/ -[vite-link]: https://vitejs.dev/ - -## Development diff --git a/web/build.rs b/web/build.rs deleted file mode 100644 index 7342c6c9..00000000 --- a/web/build.rs +++ /dev/null @@ -1,54 +0,0 @@ -use std::{fs::File, io::Write, path::PathBuf, process::Command}; - -fn main() { - let out_dir = PathBuf::from(std::env::var("OUT_DIR").expect("OUT_DIR is required")); - - let vite_out_dir = out_dir.join("vite-dist"); - // Vite always seems to update the mtime of the project folder on each build, so track the files that we know matter individually - for tracked_file in [ - "package.json", - "../yarn.lock", - "index.html", - "public", - "src", - "tsconfig.json", - "vite.config.ts", - ] { - println!("cargo:rerun-if-changed={tracked_file}"); - } - - let mut vite_command = Command::new("yarn"); - vite_command - .arg("run") - .arg("build") - .arg("--outDir") - .arg(&vite_out_dir) - .arg("--base") - .arg("/ui/"); - - let vite_status = vite_command.status(); - match vite_status { - Ok(vite_status) if vite_status.success() => {} - _ => panic!("web-ui build failed: command {vite_command:?} resulted in {vite_status:?}"), - }; - - let mut asset_map = phf_codegen::Map::new(); - for asset_file in vite_out_dir.join("assets").read_dir().unwrap() { - let asset_file = asset_file.unwrap(); - let asset_file_name = asset_file.file_name(); - let asset_file_path = asset_file.path(); - asset_map.entry( - asset_file_name - .to_str() - .expect("asset filename must be valid UTF-8") - .to_string(), - format!("include_bytes!({asset_file_path:?})"), - ); - } - write!( - File::create(out_dir.join("vite-asset-map.rs")).unwrap(), - "{asset_map}", - asset_map = asset_map.build() - ) - .unwrap(); -} diff --git a/web/index.html b/web/index.html deleted file mode 100644 index d01e30f6..00000000 --- a/web/index.html +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - Stackable Cockpit - - -
- - - diff --git a/web/package.json b/web/package.json deleted file mode 100644 index 838053c8..00000000 --- a/web/package.json +++ /dev/null @@ -1,61 +0,0 @@ -{ - "name": "web-ui", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "lint": "eslint --ext .js,.ts,.tsx,.jsx,.json ./src", - "coverage": "vitest run --coverage", - "build": "tsc && vite build", - "preview": "vite preview", - "test:ui": "vitest --ui", - "openapi-codegen": "openapi-typescript -o src/api/schema.d.ts", - "format": "prettier .", - "test": "vitest", - "dev": "vite" - }, - "devDependencies": { - "@types/feather-icons": "^4.29.1", - "@typescript-eslint/eslint-plugin": "^5.59.5", - "@typescript-eslint/parser": "^5.59.5", - "@vitest/coverage-c8": "^0.31.1", - "@vitest/ui": "^0.31.1", - "eslint": "^8.40.0", - "eslint-config-prettier": "^8.8.0", - "eslint-plugin-solid": "^0.12.1", - "eslint-plugin-unicorn": "^47.0.0", - "openapi-typescript": "^6.5.0", - "prettier": "^2.8.8", - "typescript": "^5.0.4", - "unocss": "^0.51.8", - "vite": "^4.5.3", - "vite-plugin-solid": "^2.7.2", - "vitest": "^0.31.4" - }, - "dependencies": { - "@fluent/bundle": "^0.18.0", - "@fluent/langneg": "^0.7.0", - "@fluent/sequence": "^0.8.0", - "@solid-devtools/overlay": "^0.27.7", - "@solidjs/router": "^0.8.2", - "@unocss/reset": "^0.51.12", - "feather-icons": "^4.29.0", - "openapi-fetch": "^0.2.0", - "solid-js": "^1.7.4" - }, - "js2nix": { - "overlay": { - "vite-plugin-solid": { - "addDependencies": [ - "vite" - ] - }, - "@solidjs/router": { - "addDependencies": [ - "solid-js" - ] - } - } - }, - "packageManager": "yarn@1.22.19" -} diff --git a/web/public/.gitkeep b/web/public/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/web/public/fonts/Inter-Bold.woff2 b/web/public/fonts/Inter-Bold.woff2 deleted file mode 100644 index 2846f29cc8af8cef50f51381940bac8845c38f59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 106140 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
)V`qXZDL!rw2D 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

B1ttL7O_Gw{HhNLeIl%?EWPJgN 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 diff --git a/web/public/fonts/Inter-Medium.woff2 b/web/public/fonts/Inter-Medium.woff2 deleted file mode 100644 index f92498a2ecf4d95ddd85c8b18f7b9ebc15e11658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105924 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 RS-;sm8d61l{^uOb{{jFVK@0!@ diff --git a/web/public/fonts/Inter-Regular.woff2 b/web/public/fonts/Inter-Regular.woff2 deleted file mode 100644 index 6c2b6893d593201d7c94e52687f78b2ef28b357e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 98868 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%0D(-D;tD2U3Vy$! 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 diff --git a/web/src/api/listeners.ts b/web/src/api/listeners.ts deleted file mode 100644 index 2ff5aea7..00000000 --- a/web/src/api/listeners.ts +++ /dev/null @@ -1,70 +0,0 @@ -import { ObjectMeta } from './meta'; -import { delay } from './mock-utils'; - -interface Listener { - metadata: ObjectMeta; - product: string; - endpoints: ListenerEndpoint[]; -} - -interface ListenerEndpoint { - path: string; - web: boolean; -} - -export async function getListeners(): Promise { - await delay(200); - return [ - { - metadata: { - namespace: 'default', - name: 'simple-nifi', - }, - product: 'nifi', - endpoints: [ - { - path: 'https://127.0.0.1:8443/ui', - web: true, - }, - { - path: 'mqtt://127.0.0.1:9999', - web: false, - }, - ], - }, - { - metadata: { - namespace: 'default', - name: 'dimple-nifi', - }, - product: 'nifi', - endpoints: [ - { - path: 'https://127.0.0.1:8443/ui', - web: true, - }, - { - path: 'mqtt://127.0.0.1:9999', - web: false, - }, - ], - }, - { - metadata: { - namespace: 'sefault', - name: 'dimple-nifi', - }, - product: 'nifi', - endpoints: [ - { - path: 'https://127.0.0.1:8443/ui', - web: true, - }, - { - path: 'mqtt://127.0.0.1:9999', - web: false, - }, - ], - }, - ]; -} diff --git a/web/src/api/meta.ts b/web/src/api/meta.ts deleted file mode 100644 index 2c8a16e3..00000000 --- a/web/src/api/meta.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface ObjectMeta { - namespace: string; - name: string; -} diff --git a/web/src/api/mock-utils.ts b/web/src/api/mock-utils.ts deleted file mode 100644 index afb87495..00000000 --- a/web/src/api/mock-utils.ts +++ /dev/null @@ -1,3 +0,0 @@ -export function delay(amount: number): Promise { - return new Promise((resolve) => setTimeout(resolve, amount)); -} diff --git a/web/src/api/schema.d.ts b/web/src/api/schema.d.ts deleted file mode 100644 index c3261227..00000000 --- a/web/src/api/schema.d.ts +++ /dev/null @@ -1,234 +0,0 @@ -/** - * This file was auto-generated by openapi-typescript. - * Do not make direct changes to the file. - */ - - -/** OneOf type helpers */ -type Without = { [P in Exclude]?: never }; -type XOR = (T | U) extends object ? (Without & U) | (Without & T) : T | U; -type OneOf = T extends [infer Only] ? Only : T extends [infer A, infer B, ...infer Rest] ? OneOf<[XOR, ...Rest]> : never; - -export interface paths { - "/demos": { - /** Retrieves all demos. */ - get: operations["get_demos"]; - }; - "/demos/{name}": { - /** Retrieves one demo identified by `name`. */ - get: operations["get_demo"]; - }; - "/login": { - post: operations["log_in"]; - }; - "/ping": { - get: operations["ping"]; - }; - "/releases": { - /** Retrieves all releases. */ - get: operations["get_releases"]; - }; - "/releases/{name}": { - /** Retrieves one release identified by `name`. */ - get: operations["get_release"]; - }; - "/stacklets": { - /** Retrieves all stacklets. */ - get: operations["get_stacklets"]; - }; -} - -export type webhooks = Record; - -export interface components { - schemas: { - /** @description This struct describes a demo with the v2 spec */ - DemoSpec: { - /** @description A short description of the demo */ - description: string; - /** @description An optional link to a documentation page */ - documentation?: string | null; - /** @description A variable number of labels (tags) */ - labels?: string[]; - /** @description A variable number of Helm or YAML manifests */ - manifests?: components["schemas"]["ManifestSpec"][]; - /** @description A variable number of supported parameters */ - parameters?: components["schemas"]["Parameter"][]; - resourceRequests?: null | components["schemas"]["ResourceRequests"]; - /** @description The name of the underlying stack */ - stackableStack: string; - /** - * @description Supported namespaces this demo can run in. An empty list indicates that - * the demo can run in any namespace. - */ - supportedNamespaces?: string[]; - }; - DisplayCondition: { - condition: string; - is_good?: boolean | null; - message?: string | null; - }; - ManifestSpec: OneOf<[{ - helmChart: string; - }, { - plainYaml: string; - }]>; - ObjectMeta: { - name: string; - namespace: string; - }; - /** - * @description Parameter descibes a common parameter format. This format is used in demo - * and stack definitions. - */ - Parameter: { - /** @description Parameter default value */ - default: string; - /** @description Parameter description */ - description: string; - /** @description Parameter name */ - name: string; - }; - ProductSpec: { - operatorVersion: string; - }; - ReleaseSpec: { - /** @description A short description of this release */ - description: string; - /** @description List of products and their version in this release */ - products: { - [key: string]: components["schemas"]["ProductSpec"]; - }; - /** @description Date this released was released */ - releaseDate: string; - }; - /** - * @description Demos and stacks can define how much cluster resources they need to run - * via their definition. The struct [`ResourceRequests`] contains information - * how many CPU cores and how much memory and disk space are required to run - * the demo/stack. - */ - ResourceRequests: { - cpu: string; - memory: string; - pvc: string; - }; - Session: { - sessionToken: components["schemas"]["SessionToken"]; - }; - SessionToken: string; - Stacklet: { - /** @description Multiple cluster conditions. */ - conditions: components["schemas"]["DisplayCondition"][]; - /** - * @description Endpoint addresses the product is reachable at. - * The key is the service name (e.g. `web-ui`), the value is the URL. - */ - endpoints: { - [key: string]: string; - }; - /** @description Name of the stacklet. */ - name: string; - /** @description Some CRDs are cluster scoped. */ - namespace?: string | null; - /** @description Name of the product. */ - product: string; - }; - }; - responses: never; - parameters: never; - requestBodies: never; - headers: never; - pathItems: never; -} - -export type $defs = Record; - -export type external = Record; - -export interface operations { - - /** Retrieves all demos. */ - get_demos: { - responses: { - /** @description Retrieving a list of demos succeeded */ - 200: { - content: { - "application/json": components["schemas"]["DemoSpec"][]; - }; - }; - /** @description Retrieving a list of demos failed */ - 404: { - content: never; - }; - }; - }; - /** Retrieves one demo identified by `name`. */ - get_demo: { - responses: { - /** @description Retrieving the demo with 'name' succeeded */ - 200: { - content: { - "application/json": components["schemas"]["DemoSpec"]; - }; - }; - /** @description Retrieving the demo with 'name' failed */ - 404: { - content: never; - }; - }; - }; - log_in: { - responses: { - 200: { - content: { - "application/json": components["schemas"]["Session"]; - }; - }; - 401: { - content: { - "text/plain": string; - }; - }; - }; - }; - ping: { - responses: { - 200: { - content: { - "text/plain": string; - }; - }; - }; - }; - /** Retrieves all releases. */ - get_releases: { - responses: { - /** @description Retrieving a list of releases succeeded */ - 200: { - content: { - "application/json": components["schemas"]["ReleaseSpec"][]; - }; - }; - /** @description Retrieving a list of releases failed */ - 404: { - content: never; - }; - }; - }; - /** Retrieves one release identified by `name`. */ - get_release: { - responses: { - }; - }; - /** Retrieves all stacklets. */ - get_stacklets: { - responses: { - 200: { - content: { - "application/json": components["schemas"]["Stacklet"][]; - }; - }; - }; - }; -} diff --git a/web/src/api/session.ts b/web/src/api/session.ts deleted file mode 100644 index c9f47cf1..00000000 --- a/web/src/api/session.ts +++ /dev/null @@ -1,55 +0,0 @@ -import openapiCreateClient from 'openapi-fetch'; -import { paths } from './schema'; -import { createLocalStorageSignal } from '../utils/localstorage'; -import { None, someIfDefined } from '../types'; -import { createMemo } from 'solid-js'; - -const createClient = (options?: RequestInit) => - openapiCreateClient({ baseUrl: '/api', ...options }); -const [currentSessionToken, setCurrentSessionToken] = - createLocalStorageSignal('sessionToken'); -export const isLoggedIn = () => currentSessionToken().isSome(); -export const client = createMemo(() => { - const headers: HeadersInit = {}; - currentSessionToken().map((sessionToken) => { - headers.Authorization = `Bearer ${sessionToken}`; - }); - return createClient({ headers }); -}); - -// Try to validate that the session token is still valid, and log the user out otherwise -export function validateSessionOrLogOut() { - if (isLoggedIn()) { - client() - .get('/ping', {}) - .then((pingResponse) => { - if (pingResponse.response.status === 401) { - setCurrentSessionToken(None); - } - }) - // We don't want to block page loads on waiting for this validation - // eslint-disable-next-line unicorn/prefer-top-level-await - .catch((error) => - console.error('Failed to validate session token', error), - ); - } -} - -export async function logIn( - username: string, - password: string, -): Promise { - // Always use unauthenticated client for login requests - const response = await createClient().post('/login', { - headers: { Authorization: 'Basic ' + btoa(`${username}:${password}`) }, - }); - setCurrentSessionToken(someIfDefined(response.data?.sessionToken)); - if (!response.response.ok) { - return response.error; - } -} -// We want to leave room in the function contract to invalidate the session token in the future -// eslint-disable-next-line @typescript-eslint/require-await -export async function logOut() { - setCurrentSessionToken(None); -} diff --git a/web/src/api/stacklets.ts b/web/src/api/stacklets.ts deleted file mode 100644 index 39a60216..00000000 --- a/web/src/api/stacklets.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { components } from './schema'; -import { client } from './session'; -import { ObjectMeta } from './meta'; -import { delay } from './mock-utils'; - -export type Stacklet = components['schemas']['Stacklet']; -export type DisplayCondition = components['schemas']['DisplayCondition']; -export async function getStacklets(): Promise { - const { data } = await client().get('/stacklets', {}); - if (data === undefined) { - throw new Error('No data returned by API'); - } else { - return data; - } -} - -export type DiscoveryFieldType = 'url' | 'blob'; -interface StackletDiscovery { - metadata: ObjectMeta; - data: { [x: string]: string }; - fieldTypes: { [x: string]: DiscoveryFieldType }; -} - -export async function getStackletDiscovery( - namespace: string, - discoveryConfigMapName: string, -): Promise { - await delay(200); - if (namespace == 'default' && discoveryConfigMapName == 'simple-nifi') { - return { - metadata: { namespace, name: discoveryConfigMapName }, - data: { NIFI_URL: 'https://foo.com' }, - fieldTypes: { NIFI_URL: 'url' }, - }; - } else if ( - namespace == 'default' && - discoveryConfigMapName == 'simple-hdfs' - ) { - return { - metadata: { namespace, name: discoveryConfigMapName }, - data: { 'hdfs-config.xml': 'config goes here' }, - fieldTypes: {}, - }; - } else { - return undefined; - } -} diff --git a/web/src/components/button.tsx b/web/src/components/button.tsx deleted file mode 100644 index f97c8581..00000000 --- a/web/src/components/button.tsx +++ /dev/null @@ -1,49 +0,0 @@ -import { A } from '@solidjs/router'; -import { JSX } from 'solid-js'; - -/// Special types of buttons that need specific callouts -export type ButtonRole = 'primary'; - -export interface VisualButtonProps { - children: JSX.Element; - role?: ButtonRole; -} - -const buttonProps = (props: VisualButtonProps) => { - const roleClasses = - // buttonProps is only called within a reactive scope - // eslint-disable-next-line solid/reactivity - props.role === 'primary' - ? 'bg-stackable-blue-light hover-bg-stackable-blue-dark active-stackable-blue-dark border-stackable-blue-dark' - : 'bg-gray-700 hover-bg-gray-600 active-bg-gray-500 border-gray-600'; - - return { - class: `p-2 text-size-4 c-white rounded border-1 border-solid cursor-pointer decoration-none ${roleClasses}`, - }; -}; - -export interface ButtonProps extends VisualButtonProps { - onClick: () => void; -} - -export const Button = (props: ButtonProps) => ( - -); - -export interface ButtonLinkProps extends VisualButtonProps { - href: string; -} - -export const ButtonLink = (props: ButtonLinkProps) => ( - - {props.children} - -); diff --git a/web/src/components/datatable.tsx b/web/src/components/datatable.tsx deleted file mode 100644 index b958ac40..00000000 --- a/web/src/components/datatable.tsx +++ /dev/null @@ -1,117 +0,0 @@ -import { For, JSX, Show, createMemo, createSignal } from 'solid-js'; -import { Button } from './button'; -import { SearchInput } from './form/search'; -import { LoadingBar } from './loading'; -import { translate } from '../localization'; - -export interface DataTableColumn { - label: string; - get: (x: T) => JSX.Element; - sortBy?: (x: T) => string; -} - -export interface DataTableProps { - columns: DataTableColumn[]; - items: T[]; - - searchQuery?: string; - setSearchQuery?: (query: string) => void; - - extraButtons?: JSX.Element; - - refresh?: () => void; - isLoading?: boolean; -} - -export function DataTable(props: DataTableProps): JSX.Element { - const [sortComparator, setSortComparator] = createSignal< - ((x: T, y: T) => number) | undefined - >(); - - const sortedItems = createMemo(() => { - const currentSortComparator = sortComparator(); - if (currentSortComparator == undefined) { - return props.items; - } else { - const items = [...props.items]; - items.sort(currentSortComparator); - return items; - } - }); - - const sortByColumn = (event: Event, column: DataTableColumn) => { - event.preventDefault(); - setSortComparator(() => - column.sortBy ? keyComparator(column.sortBy) : undefined, - ); - }; - - return ( -

-
- - props.setSearchQuery?.(q)} - /> - -
- {props.extraButtons} - - - -
- - - - - {(column) => ( - - )} - - - - - - - - - {(item) => ( - - - {(col) => ( - - )} - - - )} - - -
- - sortByColumn(event, column)} - > - {column.label} - - -
-
- -
-
- {col.get(item)} -
-
- ); -} - -const collator = new Intl.Collator(); - -function keyComparator(key: (x: T) => string): (x: T, y: T) => number { - return (x, y) => collator.compare(key(x), key(y)); -} diff --git a/web/src/components/form/search.tsx b/web/src/components/form/search.tsx deleted file mode 100644 index cf2c96e8..00000000 --- a/web/src/components/form/search.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { SearchSymbol } from '../symbols'; - -interface SearchInputProps { - query: string; - setQuery: (query: string) => void; -} -export const SearchInput = (props: SearchInputProps) => { - return ( - - ); -}; diff --git a/web/src/components/header.tsx b/web/src/components/header.tsx deleted file mode 100644 index 50c8b839..00000000 --- a/web/src/components/header.tsx +++ /dev/null @@ -1,70 +0,0 @@ -import { A } from '@solidjs/router'; -import { ParentProps, Show } from 'solid-js'; -import logo from '../resources/logo.png'; -import { logOut } from '../api/session'; -import { translate } from '../localization'; -import { LanguagePicker } from './language'; - -interface NavItemProps { - href?: string; - onClick?: () => void; -} - -const NavItem = (props: ParentProps) => { - const linkClass = - 'p-4 b-0 cursor-pointer c-white flex flex-items-center h-full decoration-none bg-gray-900'; - const inactiveClass = 'bg-opacity-30 hover:bg-opacity-50'; - - return ( -
  • - { - event.preventDefault(); - props.onClick?.(); - }} - > - {props.children} - - } - > - props.onClick?.()} - > - {props.children} - - -
  • - ); -}; - -export const Header = () => { - return ( - - ); -}; diff --git a/web/src/components/language.tsx b/web/src/components/language.tsx deleted file mode 100644 index 5c63e2eb..00000000 --- a/web/src/components/language.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { For } from 'solid-js'; -import { requireLanguageContext, translate } from '../localization'; -import { Some } from '../types/option'; - -export const LanguagePicker = () => { - const context = requireLanguageContext(); - return ( - - ); -}; diff --git a/web/src/components/loading.tsx b/web/src/components/loading.tsx deleted file mode 100644 index c236eb96..00000000 --- a/web/src/components/loading.tsx +++ /dev/null @@ -1,9 +0,0 @@ -export const LoadingBar = () => ( - - Loading... - - - - - -); diff --git a/web/src/components/symbols.tsx b/web/src/components/symbols.tsx deleted file mode 100644 index 8d5e1e8b..00000000 --- a/web/src/components/symbols.tsx +++ /dev/null @@ -1,14 +0,0 @@ -import { FeatherIconNames, icons as featherIcons } from 'feather-icons'; - -interface FeatherSymbolProps { - icon: FeatherIconNames; -} -const FeatherSymbol = (props: FeatherSymbolProps) => { - const icon = () => featherIcons[props.icon]; - // Icon contents are provided statically by feather, and not influenced by user input - // eslint-disable-next-line solid/no-innerhtml - return ; -}; - -export const SearchSymbol = () => ; -export const AddSymbol = () => ; diff --git a/web/src/components/title.tsx b/web/src/components/title.tsx deleted file mode 100644 index 1bff706d..00000000 --- a/web/src/components/title.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { createEffect, onCleanup } from 'solid-js'; -import { createMutable } from 'solid-js/store'; - -const originalTitle = document.title; -const titleStack = createMutable([() => originalTitle]); -createEffect(() => { - /* console.debug('Updating title stack', titleStack); */ - document.title = titleStack.map((x) => x()).join(' :: '); -}); - -interface TitleProps { - children: string; -} -export const Title = (props: TitleProps) => { - /* console.debug('Adding to title stack', props.children); */ - const getTitle = () => props.children; - // titleStack is consumed in a reactive context, so this is valid - // eslint-disable-next-line solid/reactivity - titleStack.push(getTitle); - onCleanup(() => { - /* console.debug(`Removing from title stack`, props.children); */ - const stackEntryIndex = titleStack.indexOf(getTitle); - if (stackEntryIndex === -1) { - throw new Error( - `Title stack entry for ${props.children} could not be found`, - ); - } - titleStack.splice(stackEntryIndex, 1); - }); - return <>; -}; diff --git a/web/src/fonts.css b/web/src/fonts.css deleted file mode 100644 index 6b06ead2..00000000 --- a/web/src/fonts.css +++ /dev/null @@ -1,23 +0,0 @@ -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: url('static/fonts/Inter-Regular.woff2') format('woff2'); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: url('static/fonts/Inter-Medium.woff2') format('woff2'); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: url('static/fonts/Inter-Bold.woff2') format('woff2'); -} diff --git a/web/src/lib.rs b/web/src/lib.rs deleted file mode 100644 index 55c7e676..00000000 --- a/web/src/lib.rs +++ /dev/null @@ -1,2 +0,0 @@ -pub const INDEX_HTML: &str = include_str!(concat!(env!("OUT_DIR"), "/vite-dist/index.html")); -pub const ASSETS: phf::Map<&str, &[u8]> = include!(concat!(env!("OUT_DIR"), "/vite-asset-map.rs")); diff --git a/web/src/localization/README.md b/web/src/localization/README.md deleted file mode 100644 index f84736ec..00000000 --- a/web/src/localization/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Cockpit Localization - -We use [Fluent](https://projectfluent.org/) to power our translations. - -Each translation is stored as a file in the `locale/` folder, following the naming convention `locale/{langtag}.ftl`, where -`{langtag}` IETF language tag (for example: `en` for "generic english", or `en-US` for "US english"). - -Translation keys are named according using `kebab-case`, with `--` used as the hierarchy separator (for example: -`category--long-key`). diff --git a/web/src/localization/index.tsx b/web/src/localization/index.tsx deleted file mode 100644 index a66dea6b..00000000 --- a/web/src/localization/index.tsx +++ /dev/null @@ -1,106 +0,0 @@ -import { FluentBundle, FluentResource, FluentVariable } from '@fluent/bundle'; -import { mapBundleSync } from '@fluent/sequence'; -import { negotiateLanguages } from '@fluent/langneg'; -import { JSX, createContext, createMemo, useContext } from 'solid-js'; -import { createLocalStorageSignal } from '../utils/localstorage'; -import { Option } from '../types'; - -const fluentTranslationFiles = import.meta.glob('./locale/*.ftl', { - eager: true, - as: 'raw', -}); -const translationBundles = Object.fromEntries( - Object.entries(fluentTranslationFiles).map(([fileName, ftl]) => { - const localeName = fileName.replace( - /^.*\/(.+)\..*$/, - (_, locale: string) => locale, - ); - - const resource = new FluentResource(ftl); - const bundle = new FluentBundle(localeName); - const errors = bundle.addResource(resource); - if (errors.length > 0) { - throw new Error( - `Failed to load translation bundle ${fileName} as ${localeName}`, - { cause: errors[0] }, - ); - } - - return [localeName, bundle]; - }), -); - -const FALLBACK_LOCALE = 'en'; -interface LanguageContext { - activeLocales(): string[]; - setUserLocale(language: Option): void; - availableLocales(): Record; -} -const LanguageContext = createContext(); -export const requireLanguageContext = () => { - const langContext = useContext(LanguageContext); - if (langContext === undefined) { - throw new Error( - 'LanguageContext is required but no LanguageProvider is currently active', - ); - } - return langContext; -}; - -export const LanguageProvider = (props: { children: JSX.Element }) => { - const [userLanguage, setUserLocale] = - createLocalStorageSignal('user.language'); - const activeLocales = createMemo(() => - userLanguage().mapOrElse( - () => - negotiateLanguages( - navigator.languages, - Object.keys(translationBundles), - { - defaultLocale: FALLBACK_LOCALE, - }, - ), - (ul) => [ul, FALLBACK_LOCALE], - ), - ); - return ( - translationBundles, - }} - > - {props.children} - - ); -}; - -export const translate = ( - translatableName: string, - variables?: Record, - options?: { overrideLocales?: string[] }, -) => { - const context = requireLanguageContext(); - const localeChain = options?.overrideLocales ?? context.activeLocales(); - - const bundle = mapBundleSync( - localeChain.map((locale) => translationBundles[locale]), - translatableName, - ); - if (bundle === null) { - console.error( - `No translation found for ${translatableName} (locale chain: ${localeChain.toString()})`, - ); - return `#${translatableName}#`; - } - - const pattern = bundle.getMessage(translatableName)?.value; - if (pattern === undefined || pattern === null) { - throw new Error( - `Translation pattern for ${translatableName} has no value (in bundle ${bundle.locales.toString()})`, - ); - } - - return bundle.formatPattern(pattern, variables); -}; diff --git a/web/src/localization/locale/de.ftl b/web/src/localization/locale/de.ftl deleted file mode 100644 index 3ba1e668..00000000 --- a/web/src/localization/locale/de.ftl +++ /dev/null @@ -1,18 +0,0 @@ -locale-name = Deutsch - -refresh = Aktualisieren - -stacklet--list = Stacklets -stacklet--add = Stacklet hinzufügen - -stacklet--product = Produkt -stacklet--namespace = Namensraum -stacklet--name = Name -stacklet--endpoints = Endpunkte -stacklet--status = Status - -login--log-in = Anmelden -login--log-out = Abmelden -login--username = Nutzername -login--password = Passwort -login--logging-in = Anmelden... diff --git a/web/src/localization/locale/en.ftl b/web/src/localization/locale/en.ftl deleted file mode 100644 index 43f8c504..00000000 --- a/web/src/localization/locale/en.ftl +++ /dev/null @@ -1,18 +0,0 @@ -locale-name = English - -refresh = Refresh - -stacklet--list = Stacklets -stacklet--add = Add Stacklet - -stacklet--product = Product -stacklet--namespace = Namespace -stacklet--name = Name -stacklet--endpoints = Endpoints -stacklet--status = Status - -login--log-in = Log in -login--log-out = Log out -login--username = Username -login--password = Password -login--logging-in = Logging in... diff --git a/web/src/localization/locale/sv.ftl b/web/src/localization/locale/sv.ftl deleted file mode 100644 index 021b8976..00000000 --- a/web/src/localization/locale/sv.ftl +++ /dev/null @@ -1,18 +0,0 @@ -locale-name = Svenska - -refresh = Ladda om - -stacklet--list = Stackletar -stacklet--add = Lägg till Stacklet - -stacklet--product = Produkt -stacklet--namespace = Namnrymd -stacklet--name = Namn -stacklet--endpoints = Endpoints -stacklet--status = Status - -login--log-in = Logga in -login--log-out = Logga ut -login--username = Användarnamn -login--password = Lösenord -login--logging-in = Loggar in... diff --git a/web/src/main.tsx b/web/src/main.tsx deleted file mode 100644 index 05fb70ba..00000000 --- a/web/src/main.tsx +++ /dev/null @@ -1,51 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -import '@unocss/reset/sanitize/sanitize.css'; -import 'virtual:uno.css'; -import { render } from 'solid-js/web'; -import { Navigate, Route, Router, Routes } from '@solidjs/router'; -import { Header } from './components/header'; -import { StackletConnectionDetails } from './pages/stacklets/connect'; -import { Stacklets } from './pages/stacklets/list'; -import { LoginPageOr } from './pages/login'; -import { LanguageProvider } from './localization'; -import { attachDevtoolsOverlay } from '@solid-devtools/overlay'; - -attachDevtoolsOverlay(); - -const App = () => { - return ( -
    - -
    -
    - - - - } /> - -
    - -
    - ); -}; - -const root = document.querySelector('#app'); -if (root == undefined) { - throw new Error( - 'Root element not found. Did you forget to add it to your index.html? Or maybe the id attribute got mispelled?', - ); -} else { - render( - () => ( - - - - - - ), - root, - ); -} diff --git a/web/src/pages/login.tsx b/web/src/pages/login.tsx deleted file mode 100644 index 98189dd1..00000000 --- a/web/src/pages/login.tsx +++ /dev/null @@ -1,98 +0,0 @@ -import { - JSX, - Show, - createResource, - createSignal, - createUniqueId, - untrack, -} from 'solid-js'; -import logo from '../resources/logo.png'; -import { isLoggedIn, logIn, validateSessionOrLogOut } from '../api/session'; -import { Button } from '../components/button'; -import { translate } from '../localization'; - -interface LoginPageOrProps { - children: JSX.Element; -} -export const LoginPageOr = (props: LoginPageOrProps) => { - // Validate the session when loading, but there's little to no point re-validating - // when the user has just logged in. - untrack(() => validateSessionOrLogOut()); - return ( - }> - {props.children} - - ); -}; - -export const LoginPage = () => { - const [username, setUsername] = createSignal(''); - const [password, setPassword] = createSignal(''); - const [currentAttempt, setCurrentAttempt] = createSignal( - Promise.resolve(undefined), - ); - // Create attempts imperatively, use createResource to render the results - const [loginMessage] = createResource( - () => currentAttempt(), - (attempt) => attempt, - ); - const clickLogin = () => { - void setCurrentAttempt(() => logIn(username(), password())); - }; - const usernameId = createUniqueId(); - const passwordId = createUniqueId(); - return ( -
    -
    -

    - Stackable -

    -

    {translate('login--log-in')}

    -
    - - setUsername(event.target.value)} - /> - - setPassword(event.target.value)} - /> -
    - -
    {translate('login--logging-in')}
    -
    - -
    {loginMessage()}
    -
    - -
    -
    -
    -
    - ); -}; diff --git a/web/src/pages/stacklets/connect.tsx b/web/src/pages/stacklets/connect.tsx deleted file mode 100644 index 30026d37..00000000 --- a/web/src/pages/stacklets/connect.tsx +++ /dev/null @@ -1,71 +0,0 @@ -import { - For, - Match, - Show, - Switch, - createResource, - createUniqueId, -} from 'solid-js'; -import { DiscoveryFieldType, getStackletDiscovery } from '../../api/stacklets'; -import { Params, useParams } from '@solidjs/router'; - -interface StackletConnectionDetailsParams extends Params { - namespace: string; - name: string; -} - -export const StackletConnectionDetails = () => { - const params = useParams(); - const [discoveryConfig, { refetch }] = createResource(() => - getStackletDiscovery(params.namespace, params.name), - ); - const configParams = () => { - const currentDiscoveryConfig = discoveryConfig(); - const data = currentDiscoveryConfig?.data || {}; - const types = currentDiscoveryConfig?.fieldTypes || {}; - return Object.keys(data) - .sort() - .map((key) => ({ key, value: data[key], type: types[key] || 'blob' })); - }; - return ( - <> - - Loading... -
      - - {(item) => ( -
    • - -
    • - )} -
      -
    - - ); -}; - -interface FieldProps { - label: string; - value: string; - type: DiscoveryFieldType; -} - -const Field = (props: FieldProps) => { - const dataFieldId = createUniqueId(); - return ( - - - {props.label} - - {/* Fall back to rendering as blob if unknown */} - - - - - - ); -}; diff --git a/web/src/pages/stacklets/list.module.css b/web/src/pages/stacklets/list.module.css deleted file mode 100644 index b37c87af..00000000 --- a/web/src/pages/stacklets/list.module.css +++ /dev/null @@ -1,6 +0,0 @@ -.inline-list-item { - display: inline; -} -.inline-list-item:not(:last-child)::after { - content: ', '; -} diff --git a/web/src/pages/stacklets/list.tsx b/web/src/pages/stacklets/list.tsx deleted file mode 100644 index 243f17f0..00000000 --- a/web/src/pages/stacklets/list.tsx +++ /dev/null @@ -1,109 +0,0 @@ -import { For, Show, createResource } from 'solid-js'; -import { DisplayCondition, getStacklets } from '../../api/stacklets'; -import { DataTable } from '../../components/datatable'; -import styles from './list.module.css'; -import { translate } from '../../localization'; - -export const Stacklets = () => { - const [stacklets, { refetch }] = createResource(getStacklets); - return ( - <> - x.product, - sortBy: (x) => x.product, - }, - { - label: translate('stacklet--namespace'), - get: (x) => x.namespace || '(Cluster-scoped)', - sortBy: (x) => x.namespace || '', - }, - { - label: translate('stacklet--name'), - get: (x) => x.name, - sortBy: (x) => x.name, - }, - { - label: translate('stacklet--endpoints'), - get: (x) => , - }, - { - label: translate('stacklet--status'), - get: (x) => , - }, - /* { - label: 'Actions', - get: (x) => ( - - Connect - - ), - }, */ - ]} - extraButtons={ - <> - {/* - {translate('stacklet--add')} - */} - - } - refresh={refetch} - isLoading={stacklets.loading} - /> - - ); -}; - -const StackletConditions = (props: { conditions: DisplayCondition[] }) => ( -
      - - {(cond) => ( -
    • - -
    • - )} -
      -
    -); - -const StackletCondition = (props: { condition: DisplayCondition }) => ( - - {props.condition.condition} - -); - -const StackletEndpoints = (props: { - endpoints: { [key: string]: string | undefined }; -}) => ( -
      - - {(item) => ( -
    • - - {item[0]}: {item[1]} - - } - > - - {item[0]} - - -
    • - )} -
      -
    -); diff --git a/web/src/resources/logo.png b/web/src/resources/logo.png deleted file mode 100644 index 49c633b1fef41a2391134b3459e184939e9e3a29..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6125 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 { - /** - * Returns true if the option is a `Some` value. - * - * @returns boolean - */ - isSome(): this is Some; - - /** - * Returns true if the option is a `Some` and the value inside of it matches - * a predicate. - * - * @param fn Predicate to match - * @returns boolean - */ - isSomeAnd(fn: (value: Readonly) => boolean): this is Some; - - /** - * Returns true if the option is a `None` value. - * - * @returns boolean - */ - isNone(): this is None; - - match(matcher: { some: (value: Readonly) => T; none: () => T }): T; - - /** - * Maps an `Option` to `Option` by applying a function to a contained - * value (if `Some`) or returns `None` (if `None`). - * - * @param fn Mapping function. - * @returns The mapped option. - */ - map(fn: (value: Readonly) => T): Option; - - /** - * Returns the provided default result (if none), or applies a function to - * the contained value (if any). - * - * @param defaultValue The default value if `None`. - * @param fn The mapping function. - */ - mapOr(defaultValue: T, fn: (value: Readonly) => T): T; - - /** - * Computes a default function result (if none), or applies a different - * function to the contained value (if any). - * - * @param defaultFn Closure computing the default value if `None`. - * @param fn The mapping function. - */ - mapOrElse(defaultFn: () => T, fn: (value: Readonly) => T): T; - - /** - * Transforms the `Option` into a `Result`, mapping `Some(v)` to - * `Ok(v)` and `None` to `Err(err)`. - * - * @param error The error value if `None`. - * @returns The transformed result. - */ - okOr(error: E): Result; - - /** - * Transforms the `Option` into a `Result`, mapping `Some(v)` to - * `Ok(v)` and `None` to `Err(err())`. - * - * @param err Closure to compute the error value if `None`. - * @returns The transformed result. - */ - okOrElse(err: () => E): Result; - - /** - * Returns `None` if the option is `None`, otherwise returns `other`. - * - * @param other The other option if `Some`. - * @returns Either `None` or the `other` option. - */ - and(other: Option): Option; - - /** - * Returns `None` if the option is `None`, otherwise calls `fn` with the - * wrapped value and returns the result. - * - * @param fn The function which produces the other option if `Some`. - * @returns Either `None` or the computed other option. - */ - andThen(fn: (value: Readonly) => Option): Option; - - /** - * Returns `None` if the option is `None`, otherwise calls `predicate` with - * the wrapped value and returns: - * - * - `Some(t)` if predicate returns true (where t is the wrapped value), and - * - `None` if predicate returns false. - * - * @param predicate The filter function. - * @returns `Some` if the filter function returned true, otherwise `None`. - */ - filter(predicate: (value: Readonly) => boolean): Option; - - /** - * Returns the option if it contains a value, otherwise returns `other`. - * - * @param other The `other` option if `None`. - * @returns Either this or `other`. - */ - or(other: Option): Option; - - /** - * Returns the option if it contains a value, otherwise calls `fn` and returns - * the result. - * - * @param fn Function to compute the other option. - * @returns Either this or the other computed option. - */ - orElse(fn: () => Option): Option; - - /** - * Returns `Some` if exactly one of self, `other` is `Some`, otherwise returns - * `None`. - * - * @param other The other option. - */ - xor(other: Option): Option; - - /** - * Returns true if the option is a `Some` value containing the given `value`. - * - * @param value The value to match `Some(value)`. - * @returns boolean - */ - contains(value: S): boolean; - - /** - * Zips `self` with another `Option`. - * - * If `self` is `Some(s)` and other is `Some(o)`, this method returns - * `Some([s, o])`. Otherwise, `None` is returned. - * - * @param other The other option to zip with. - * @returns The zipped option or `None`. - */ - zip(other: Option): Option<[S, T]>; - - /** - * Zips `self` and another `Option` with function `fn`. - * - * If `self` is `Some(s)` and other is `Some(o)`, this method returns - * `Some(fn(s, o))`. Otherwise, `None` is returned. - * - * @param other The other option to zip with. - * @param fn Function which get's applied to the zipped values. - * @returns The zipped and transformed option or `None`. - */ - zipWith(other: Option, fn: (self: S, other: T) => K): Option; - - /** - * Returns the contained `Some` value. - * - * Because this function may throw, its use is generally discouraged. Instead, - * prefer to use pattern matching and handle the `None` case explicitly, or - * call `unwrap_or` or `unwrap_or_else`. - * - * @returns The contained `Some` value. - * - * @throws Throws if the self value equals `None`. - */ - unwrap(): S; - - /** - * Returns the contained `Some` value or a provided default. - * - * @param defaultValue Default value returned when `None`. - * @returns Either contained `Some` value of `defaultValue`. - */ - unwrapOr(defaultValue: T): S | T; - - /** - * Returns the contained `Some` value or computes it from a closure. - * - * @param fn Closure to compute default value. - */ - unwrapOrElse(fn: () => T): S | T; - - /** - * Returns the contained Some value - * - * ### Recommended Message Style - * - * We recommend that `expect` messages are used to describe the reason you - * expect the `Option` should be `Some`. - * - * **Hint:** If you’re having trouble remembering how to phrase expect error - * messages remember to focus on the word “should” as in “env variable should - * be set by blah” or “the given binary should be available and executable by - * the current user”. - * - * @param message Error message. - * @returns The contained `Some` value. - * - * @throws Throws if the value is a `None` with a custom panic message - * provided by `msg`. - */ - expect(message: string): S; -} - -class NoneImpl implements BaseOption { - isSome(): this is Some { - return false; - } - - isSomeAnd(_fn: (value: never) => boolean): this is Some { - return false; - } - - isNone(): this is None { - return true; - } - - match(matcher: { none: () => T }): T { - return matcher.none(); - } - - map(_fn: (value: never) => T): None { - return None; - } - - mapOr(defaultValue: T, _fn: (value: never) => T): T { - return defaultValue; - } - - mapOrElse(defaultFn: () => T, _fn: (value: never) => T): T { - return defaultFn(); - } - - okOr(error: E): Result { - return Err(error); - } - - okOrElse(err: () => E): Result { - return Err(err()); - } - - and(_other: Option): None { - return None; - } - - andThen(_fn: (value: never) => Option): None { - return None; - } - - filter(_predicate: (value: never) => boolean): None { - return None; - } - - or(other: Option): Option { - return other; - } - - orElse(fn: () => Option): Option { - return fn(); - } - - xor(other: Option): Option { - return other.isSome() ? other : None; - } - - contains(_value: never): false { - return false; - } - - zip(_other: Option): None { - return None; - } - - zipWith(_other: Option, _fn: (self: never, other: T) => K): None { - return None; - } - - unwrap(): never { - return this.expect('called `Option::unwrap()` on a `None` value'); - } - - unwrapOr(defaultValue: T): T { - return defaultValue; - } - - unwrapOrElse(fn: () => T): T { - return fn(); - } - - expect(message: string): never { - throw new Error(message); - } -} - -export const None = new NoneImpl(); -export type None = NoneImpl; -Object.freeze(None); - -class SomeImpl implements BaseOption { - constructor(public value: S) {} - - isSome(): this is Some { - return true; - } - - isSomeAnd(op: (value: Readonly) => boolean): this is Some { - return op(this.value); - } - - isNone(): this is None { - return false; - } - - match(matcher: { some: (value: Readonly) => T }): T { - // See - // - https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1947 - // - https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1946 - // - https://github.com/sindresorhus/eslint-plugin-unicorn/issues/1940 - - // eslint-disable-next-line unicorn/no-array-callback-reference - return matcher.some(this.value); - } - - map(fn: (value: Readonly) => T): Some { - return Some(fn(this.value)); - } - - mapOr(_defaultValue: T, fn: (value: Readonly) => T): T { - return fn(this.value); - } - - mapOrElse(_defaultFn: () => T, fn: (value: Readonly) => T): T { - return fn(this.value); - } - - okOr(_error: E): Result { - return Ok(this.value); - } - - okOrElse(_err: () => E): Result { - return Ok(this.value); - } - - and(other: Option): typeof other { - return other; - } - - andThen(fn: (value: Readonly) => Option): Option { - return fn(this.value); - } - - filter(predicate: (value: Readonly) => boolean): Option { - return predicate(this.value) ? this : None; - } - - or(_other: Option): Some { - return this; - } - - orElse(_fn: () => Option): Some { - return this; - } - - xor(other: Option): Option { - return other.isNone() ? this : None; - } - - contains(value: S): boolean { - return this.value === value; - } - - zip(other: Option): Option<[S, T]> { - return other.map((otherValue) => [this.value, otherValue]); - } - - zipWith(other: Option, fn: (self: S, other: T) => K): Option { - return other.map((otherValue) => fn(this.value, otherValue)); - } - - unwrap(): S { - return this.value; - } - - unwrapOr(_defaultValue: T): S { - return this.value; - } - - unwrapOrElse(_fn: () => T): S { - return this.value; - } - - expect(_message: string): S { - return this.value; - } -} - -export const Some = (value: T) => new SomeImpl(value); -export type Some = SomeImpl; - -export type Option = Some | None; - -export function someIfDefined(value: T | undefined): Option { - return value === undefined ? None : Some(value); -} -export function someIfNotNull(value: T | null): Option { - return value === null ? None : Some(value); -} diff --git a/web/src/types/result.ts b/web/src/types/result.ts deleted file mode 100644 index 5cbd4083..00000000 --- a/web/src/types/result.ts +++ /dev/null @@ -1,330 +0,0 @@ -import { None, Option, Some } from './option'; -import { ToString } from './utils'; - -interface BaseResult { - /** - * Returns true if the result is `Ok`. - * - * @returns boolean - */ - isOk(): this is Ok; - - /** - * Returns `true` if the result is `Ok` and the value inside of it matches - * a predicate. - * - * @param fn Predicate to match. - * @returns boolean - */ - isOkAnd(fn: (value: Readonly) => boolean): this is Ok; - - /** - * Returns `true` if the result is `Err`. - * - * @returns boolean - */ - isErr(): this is Err; - - /** - * Returns `true` if the result is `Err` and the value inside of it matches - * a predicate. - * - * @param fn Predicate to match. - * @returns boolean - */ - isErrAnd(fn: (error: Readonly) => boolean): this is Err; - - match(matcher: { - ok: (value: Readonly) => T; - err: (error: Readonly) => K; - }): T | K; - - /** - * Returns the contained `Ok` value. - * - * Because this function may throw, its use is generally discouraged. Instead, - * prefer to use pattern matching and handle the `Err` case explicitly, or - * call `unwrap_or` or `unwrap_or_else`. - * - * @returns The contained `Ok` value. - * - * @throws Throws if the value is an `Err`, with a panic message provided by - * the `Err`'s value. - */ - unwrap(): O; - - /** - * Returns the contained `Err` value. - * - * @returns The contained `Err` value. - * - * @throws Throws if the value is an `Ok`, with a custom panic message - * provided by the `Ok`'s value. - */ - unwrapErr(): E; - - /** - * Returns the contained `Ok` value or a provided default. - * - * @param defaultValue The default value if `Err`. - * @returns Either contained `Ok` value of default value. - */ - unwrapOr(defaultValue: O): O; - - /** - * Returns the contained `Ok` value or computes it from a closure. - * - * @param fn Computed the default value if `Err`. - * @returns The contained `Ok` value or computed default value. - */ - unwrapOrElse(fn: (error: Readonly) => O): O; - - /** - * Converts from `Result` to `Option`. Converts self into an - * `Option` and discarding the error, if any. - * - * @returns The converted option. - */ - ok(): Option; - - /** - * Converts from `Result` to `Option`. Converts self into an - * `Option` and discarding the success value, if any. - * - * @returns The converted option. - */ - err(): Option; - - /** - * Maps a `Result` to `Result` by applying a function to a - * contained `Ok` value, leaving an `Err` value untouched. - * - * This function can be used to compose the results of two functions. - * - * @param fn The mapping function. - * @returns The mapped result. - */ - map(fn: (value: Readonly) => T): Result; - - /** - * Returns the provided default (if `Err`), or applies a function to the - * contained value (if `Ok`). - * - * @param defaultValue The default value of `Err`. - * @param fn The mapping function if `Ok`. - * @returns The mapped result. - */ - mapOr(defaultValue: T, fn: (value: Readonly) => T): T; - - /** - * Maps a `Result` to `T` by applying fallback function default to a - * contained `Err` value, or function `fn` to a contained `Ok` value. - * - * This function can be used to unpack a successful result while handling - * an error. - * - * @param defaultFn Function computing the default value if `Err`. - * @param fn Mapping function if `Ok`. - * @returns The mapped value. - */ - mapOrElse( - defaultFn: (error: Readonly) => T, - fn: (value: Readonly) => T, - ): T; - - /** - * Maps a `Result` to `Result` by applying a function to a - * contained `Err` value, leaving an `Ok` value untouched. - * - * This function can be used to pass through a successful result while - * handling an error. - * - * @param fn Error mapping function. - * @returns The mapped result. - */ - mapErr(fn: (error: Readonly) => T): Result; - - /** - * Returns the contained `Ok` value. - * - * Because this function may throw, its use is generally discouraged. Instead, - * prefer to use pattern matching and handle the `Err` case explicitly, or - * call `unwrap_or` or `unwrap_or_else`. - * - * @param message Error message. - * @returns The contained `Ok` value. - * - * @throws Throws if the value is an `Err`, with a panic message including the - * passed message, and the content of the `Err`. - */ - expect(message: string): O; - - /** - * Returns the contained `Err` value. - * - * @param message Error message. - * @returns The contained `Err` value. - * - * @throws Throws if the value is an `Ok`, with an error message including the - * passed message, and the content of the `Ok`. - */ - expectErr(message: string): E; -} - -export class OkImpl implements BaseResult { - constructor(public value: O) {} - - isOk(): this is Ok { - return true; - } - - isOkAnd(fn: (value: Readonly) => boolean): this is Ok { - return fn(this.value); - } - - isErr(): this is Err { - return false; - } - - isErrAnd(_fn: (error: Readonly) => boolean): this is Err { - return false; - } - - match(matcher: { ok: (value: Readonly) => T }): T { - return matcher.ok(this.value); - } - - unwrap(): O { - return this.value; - } - - unwrapErr(): never { - return this.expectErr('called `Result.unwrapErr()` on an `Ok` value'); - } - - unwrapOr(_defaultValue: O): O { - return this.value; - } - - unwrapOrElse(_fn: (error: Readonly) => O): O { - return this.value; - } - - ok(): Option { - return Some(this.value); - } - - err(): None { - return None; - } - - map(fn: (value: Readonly) => T): Result { - return Ok(fn(this.value)); - } - - mapOr(_defaultValue: T, fn: (value: Readonly) => T): T { - return fn(this.value); - } - - mapOrElse( - _defaultFn: (error: Readonly) => T, - fn: (value: Readonly) => T, - ): T { - return fn(this.value); - } - - mapErr(_fn: (error: Readonly) => T): Result { - return Ok(this.value); - } - - expect(_message: string): O { - return this.value; - } - - expectErr(message: string): never { - throw new Error(`${message}`); - } -} - -export const Ok = (value: O) => new OkImpl(value); -export type Ok = OkImpl; - -class ErrImpl implements BaseResult { - constructor(public error: E) {} - - isOk(): this is Ok { - return false; - } - - isOkAnd(_fn: (value: never) => boolean): this is Ok { - return false; - } - - isErr(): this is Err { - return true; - } - - isErrAnd(fn: (error: Readonly) => boolean): this is Err { - return fn(this.error); - } - - match(matcher: { err: (error: Readonly) => K }): T | K { - return matcher.err(this.error); - } - - unwrap(): never { - return this.expect('called `Result.unwrap()` on an `Err` value'); - } - - unwrapErr(): E { - return this.error; - } - - unwrapOr(defaultValue: T): T { - return defaultValue; - } - - unwrapOrElse(fn: (error: Readonly) => T): T { - return fn(this.error); - } - - ok(): Option { - return None; - } - - err(): Option { - return Some(this.error); - } - - map(_fn: (value: never) => T): Result { - return Err(this.error); - } - - mapOr(defaultValue: T, _fn: (value: never) => T): T { - return defaultValue; - } - - mapOrElse( - defaultFn: (error: Readonly) => T, - _fn: (value: never) => T, - ): T { - return defaultFn(this.error); - } - - mapErr(fn: (error: Readonly) => T): Result { - return Err(fn(this.error)); - } - - expect(message: string): never { - throw new Error(`${message}`); - } - - expectErr(_message: string): E { - return this.error; - } -} - -export const Err = (error: E) => new ErrImpl(error); -export type Err = ErrImpl; - -export type Result = Ok | Err; diff --git a/web/src/types/utils.ts b/web/src/types/utils.ts deleted file mode 100644 index f2c7bcba..00000000 --- a/web/src/types/utils.ts +++ /dev/null @@ -1,3 +0,0 @@ -export interface ToString { - toString(): string; -} diff --git a/web/src/utils/localstorage.ts b/web/src/utils/localstorage.ts deleted file mode 100644 index 5caf05ee..00000000 --- a/web/src/utils/localstorage.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Signal, createEffect, createRoot, createSignal } from 'solid-js'; -import { Option, someIfNotNull } from '../types'; - -function createStorageSignal( - storage: Storage, - name: string, -): Signal> { - const [value, setValue] = createSignal>( - someIfNotNull(storage.getItem(name)), - ); - // The session writer effect's lifecycle should be tied to that of the signal - createRoot(() => { - createEffect(() => { - value().match({ - none: () => storage.removeItem(name), - some: (currentValue) => storage.setItem(name, currentValue), - }); - }); - }); - return [value, setValue]; -} - -export function createLocalStorageSignal(name: string): Signal> { - return createStorageSignal(localStorage, name); -} diff --git a/web/src/vite-env.d.ts b/web/src/vite-env.d.ts deleted file mode 100644 index 11f02fe2..00000000 --- a/web/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/web/tests/option.test.ts b/web/tests/option.test.ts deleted file mode 100644 index ca5b925a..00000000 --- a/web/tests/option.test.ts +++ /dev/null @@ -1,241 +0,0 @@ -/* eslint-disable unicorn/prevent-abbreviations */ -import { assert, describe, it } from 'vitest'; -import { Err, None, Ok, Some } from '../src/types'; - -describe('option tests', () => { - it('option isSome', () => { - const option = Some('foo'); - - assert.isTrue(option.isSome()); - assert.isFalse(option.isNone()); - }); - - it('option isSomeAnd', () => { - const option = Some('foo'); - - assert.isTrue(option.isSomeAnd((value) => value.length === 3)); - assert.isFalse(option.isSomeAnd((value) => value.length === 2)); - assert.isFalse(option.isNone()); - }); - - it('option isNone', () => { - const option = None; - - assert.isFalse(option.isSome()); - assert.isTrue(option.isNone()); - }); - - it('option map', () => { - const optionA = Some('foo'); - assert.deepEqual( - optionA.map((value) => value.length), - Some(3), - ); - - const optionB = None; - assert.deepEqual( - optionB.map(() => 3), - None, - ); - }); - - it('option mapOr', () => { - const optionA = Some('foo'); - assert.equal( - optionA.mapOr(2, (value) => value.length), - 3, - ); - - const optionB = None; - assert.equal( - optionB.mapOr(2, () => 3), - 2, - ); - }); - - it('option mapOrElse', () => { - const optionA = Some('foo'); - assert.equal( - optionA.mapOrElse( - () => 2, - (value) => value.length, - ), - 3, - ); - - const optionB = None; - assert.equal( - optionB.mapOrElse( - () => 2, - () => 3, - ), - 2, - ); - }); - - it('option okOr', () => { - const optionA = Some('foo'); - assert.deepEqual(optionA.okOr('Error'), Ok('foo')); - - const optionB = None; - assert.deepEqual(optionB.okOr('Error'), Err('Error')); - }); - - it('option okOrElse', () => { - const optionA = Some('foo'); - assert.deepEqual( - optionA.okOrElse(() => 'Error'), - Ok('foo'), - ); - - const optionB = None; - assert.deepEqual( - optionB.okOrElse(() => 'Error'), - Err('Error'), - ); - }); - - it('option and', () => { - const optionA = Some('foo'); - assert.deepEqual(optionA.and(Some('bar')), Some('bar')); - - const optionB = None; - assert.deepEqual(optionB.and(Some('var')), None); - }); - - it('option andThen', () => { - const optionA = Some('foo'); - assert.deepEqual( - optionA.andThen((value) => Some(value.length)), - Some(3), - ); - - const optionB = Some('foo'); - assert.deepEqual( - optionB.andThen(() => None), - None, - ); - - const optionC = None; - assert.deepEqual( - optionC.andThen(() => Some(3)), - None, - ); - }); - - it('option filter', () => { - const optionA = Some('foo'); - assert.deepEqual( - optionA.filter((value) => value.length === 3), - Some('foo'), - ); - - const optionB = Some('foo'); - assert.deepEqual( - optionB.filter((value) => value.length === 2), - None, - ); - - const optionC = None; - assert.deepEqual( - optionC.filter(() => true), - None, - ); - }); - - it('option or', () => { - const optionA = Some('foo'); - const optionAOr = optionA.or(Some('bar')); - - assert.deepEqual(optionAOr, Some('foo')); - - const optionB = None; - const optionBOr = optionB.or(Some('bar')); - - assert.deepEqual(optionBOr, Some('bar')); - }); - - it('option orElse', () => { - const optionA = Some('foo'); - const optionAOr = optionA.orElse(() => Some('bar')); - - assert.deepEqual(optionAOr, Some('foo')); - - const optionB = None; - const optionBOr = optionB.orElse(() => Some('bar')); - - assert.deepEqual(optionBOr, Some('bar')); - }); - - it('option xor', () => { - const optionA = Some('foo'); - const someA = optionA.xor(None); - const noneA = optionA.xor(Some('bar')); - - assert.deepEqual(someA, Some('foo')); - assert.deepEqual(noneA, None); - - const optionB = None; - const noneB = optionB.xor(None); - const someB = optionB.xor(Some('bar')); - - assert.deepEqual(noneB, None); - assert.deepEqual(someB, Some('bar')); - }); - - it('option contains', () => { - const optionA = Some('foo'); - assert.isTrue(optionA.contains('foo')); - - const optionB = Some('foo'); - assert.isFalse(optionB.contains('bar')); - }); - - it('option zip', () => { - const option = Some('foo'); - const zipped = option.zip(Some(3)); - assert.deepEqual(zipped.unwrap(), ['foo', 3]); - - const zippedNone = option.zip(None); - assert.deepEqual(zippedNone, None); - }); - - it('option zipWith', () => { - const option = Some('foo'); - const zipped = option.zipWith(Some(3), (str, num) => str.repeat(num)); - assert.deepEqual(zipped, Some('foofoofoo')); - - const zippedNone = option.zipWith(None, () => 'bar'); - assert.deepEqual(zippedNone, None); - }); - - it('option unwrap', () => { - const option = Some('foo'); - assert.equal(option.unwrap(), 'foo'); - - const optionNone = None; - assert.throw(() => optionNone.unwrap()); - }); - - it('option unwrapOr', () => { - const optionA = Some('foo'); - assert.equal(optionA.unwrapOr('bar'), 'foo'); - - const optionB = None; - assert.equal(optionB.unwrapOr(3), 3); - }); - - it('option unwrapOrElse', () => { - const optionA = Some('foo'); - assert.equal( - optionA.unwrapOrElse(() => 3), - 'foo', - ); - - const optionB = None; - assert.equal( - optionB.unwrapOrElse(() => 3), - 3, - ); - }); -}); diff --git a/web/tests/result.test.ts b/web/tests/result.test.ts deleted file mode 100644 index ca5ed15f..00000000 --- a/web/tests/result.test.ts +++ /dev/null @@ -1,126 +0,0 @@ -/* eslint-disable unicorn/prevent-abbreviations */ -import { assert, describe, it } from 'vitest'; - -import { Err, None, Ok, Some } from '../src/types'; - -describe('result tests', () => { - it('result isOk', () => { - const result = Ok('foo'); - - assert.equal(result.isOk(), true); - assert.equal(result.isErr(), false); - }); - - it('result isOkAnd', () => { - const result = Ok('foo'); - - assert.equal( - result.isOkAnd((value) => value.length === 3), - true, - ); - assert.equal( - result.isOkAnd((value) => value.length === 2), - false, - ); - }); - - it('result ok', () => { - const result = Ok('foo'); - - assert.deepEqual(result.ok(), Some('foo')); - assert.deepEqual(result.err(), None); - }); - - it('result map', () => { - const result = Ok('foo'); - const mapped = result.map((value) => value.length); - - assert.equal(mapped.unwrap(), 3); - }); - - it('result isErr', () => { - const result = Err('foo'); - - assert.equal(result.isErr(), true); - assert.equal(result.isOk(), false); - }); - - it('result isErrAnd', () => { - const result = Err('foo'); - - assert.equal( - result.isErrAnd((error) => error.length === 3), - true, - ); - assert.equal( - result.isErrAnd((error) => error.length === 2), - false, - ); - }); - - it('result err', () => { - const result = Err('foo'); - - assert.deepEqual(result.err(), Some('foo')); - assert.deepEqual(result.ok(), None); - }); - - it('result map', () => { - const result = Ok('foo'); - const mapped = result.map((value) => value.length); - - assert.isTrue(result.isOk()); - assert.isTrue(mapped.isOk()); - - assert.equal(result.unwrap(), 'foo'); - assert.equal(mapped.unwrap(), 3); - }); - - it('result mapOr', () => { - const resultA = Ok('foo'); - const mappedA = resultA.mapOr(2, (value) => value.length); - - assert.isTrue(resultA.isOk()); - assert.equal(mappedA, 3); - - const resultB = Err('bar'); - const mappedB = resultB.mapOr(2, () => 3); - - assert.isTrue(resultB.isErr()); - assert.equal(mappedB, 2); - }); - - it('result mapOrElse', () => { - const resultA = Ok('foo'); - const mappedA = resultA.mapOrElse( - () => 2, - (value) => value.length, - ); - - assert.isTrue(resultA.isOk()); - assert.equal(mappedA, 3); - - const resultB = Err('bar'); - const mappedB = resultB.mapOrElse( - (err) => err.length, - () => 2, - ); - - assert.isTrue(resultB.isErr()); - assert.equal(mappedB, 3); - }); - - it('result mapErr', () => { - const resultA = Ok('foo'); - assert.deepEqual( - resultA.mapErr(() => 'bar'), - Ok('foo'), - ); - - const resultB = Err('foo'); - assert.deepEqual( - resultB.mapErr((err) => err.length), - Err(3), - ); - }); -}); diff --git a/web/tsconfig.json b/web/tsconfig.json deleted file mode 100644 index d1ee89c9..00000000 --- a/web/tsconfig.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": ["ES2022", "DOM", "DOM.Iterable"], - "skipLibCheck": true, - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, - "jsx": "preserve", - "jsxImportSource": "solid-js" - }, - "exclude": ["**/dist/**", "**/node_modules/**"] -} diff --git a/web/uno.config.ts b/web/uno.config.ts deleted file mode 100644 index f214078e..00000000 --- a/web/uno.config.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { defineConfig, presetUno } from 'unocss'; - -export default defineConfig({ - theme: { - colors: { - stackable: { - blue: { - light: '#1880BD', - dark: '#0B689F', - }, - }, - }, - }, - presets: [presetUno()], -}); diff --git a/web/vite.config.ts b/web/vite.config.ts deleted file mode 100644 index 9302e761..00000000 --- a/web/vite.config.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { defineConfig } from 'vite'; -import solidPlugin from 'vite-plugin-solid'; -import UnoCSS from 'unocss/vite'; - -export default defineConfig({ - plugins: [solidPlugin(), UnoCSS()], - server: { - proxy: { - // Forward API requests to stackable-cockpitd - '/api': 'http://127.0.0.1:8000', - }, - }, - css: { - modules: { - localsConvention: 'camelCaseOnly', - }, - }, -}); diff --git a/web/vitest.config.ts b/web/vitest.config.ts deleted file mode 100644 index c7c898dc..00000000 --- a/web/vitest.config.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { defineConfig } from 'vitest/config'; - -export default defineConfig({ - test: { - coverage: { - enabled: true, - provider: 'c8', - reporter: ['html', 'text'], - }, - }, -}); diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 6b30c1c0..00000000 --- a/yarn.lock +++ /dev/null @@ -1,3931 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0", "@ampproject/remapping@^2.2.1": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4" - integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.24" - -"@antfu/install-pkg@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@antfu/install-pkg/-/install-pkg-0.1.1.tgz#157bb04f0de8100b9e4c01734db1a6c77e98bbb5" - integrity sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ== - dependencies: - execa "^5.1.1" - find-up "^5.0.0" - -"@antfu/utils@^0.7.7": - version "0.7.8" - resolved "https://registry.yarnpkg.com/@antfu/utils/-/utils-0.7.8.tgz#86cb0974bcab7e64e29b57d6d9021102307257de" - integrity sha512-rWQkqXRESdjXtc+7NRfK9lASQjpXJu1ayp7qi1d23zZorY+wBHVLHHoVcMsEnkqEBWTFqbztO7/QdJFzyEcLTg== - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.2": - version "7.24.2" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae" - integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ== - dependencies: - "@babel/highlight" "^7.24.2" - picocolors "^1.0.0" - -"@babel/compat-data@^7.23.5": - version "7.24.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.4.tgz#6f102372e9094f25d908ca0d34fc74c74606059a" - integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== - -"@babel/core@^7.23.3": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.5.tgz#15ab5b98e101972d171aeef92ac70d8d6718f06a" - integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-compilation-targets" "^7.23.6" - "@babel/helper-module-transforms" "^7.24.5" - "@babel/helpers" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.23.6", "@babel/generator@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.5.tgz#e5afc068f932f05616b66713e28d0f04e99daeb3" - integrity sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA== - dependencies: - "@babel/types" "^7.24.5" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.23.6": - version "7.23.6" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" - integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== - dependencies: - "@babel/compat-data" "^7.23.5" - "@babel/helper-validator-option" "^7.23.5" - browserslist "^4.22.2" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.3": - version "7.24.3" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128" - integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg== - dependencies: - "@babel/types" "^7.24.0" - -"@babel/helper-module-transforms@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.24.5.tgz#ea6c5e33f7b262a0ae762fd5986355c45f54a545" - integrity sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.24.3" - "@babel/helper-simple-access" "^7.24.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/helper-validator-identifier" "^7.24.5" - -"@babel/helper-plugin-utils@^7.24.0": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.5.tgz#a924607dd254a65695e5bd209b98b902b3b2f11a" - integrity sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ== - -"@babel/helper-simple-access@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.5.tgz#50da5b72f58c16b07fbd992810be6049478e85ba" - integrity sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-split-export-declaration@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.5.tgz#b9a67f06a46b0b339323617c8c6213b9055a78b6" - integrity sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q== - dependencies: - "@babel/types" "^7.24.5" - -"@babel/helper-string-parser@^7.24.1": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e" - integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ== - -"@babel/helper-validator-identifier@^7.19.1", "@babel/helper-validator-identifier@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.5.tgz#918b1a7fa23056603506370089bd990d8720db62" - integrity sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA== - -"@babel/helper-validator-option@^7.23.5": - version "7.23.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" - integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== - -"@babel/helpers@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.5.tgz#fedeb87eeafa62b621160402181ad8585a22a40a" - integrity sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q== - dependencies: - "@babel/template" "^7.24.0" - "@babel/traverse" "^7.24.5" - "@babel/types" "^7.24.5" - -"@babel/highlight@^7.24.2": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.5.tgz#bc0613f98e1dd0720e99b2a9ee3760194a704b6e" - integrity sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.5" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.5.tgz#4a4d5ab4315579e5398a82dcf636ca80c3392790" - integrity sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg== - -"@babel/plugin-syntax-jsx@^7.18.6": - version "7.24.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz#3f6ca04b8c841811dbc3c5c5f837934e0d626c10" - integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA== - dependencies: - "@babel/helper-plugin-utils" "^7.24.0" - -"@babel/template@^7.22.15", "@babel/template@^7.24.0": - version "7.24.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50" - integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA== - dependencies: - "@babel/code-frame" "^7.23.5" - "@babel/parser" "^7.24.0" - "@babel/types" "^7.24.0" - -"@babel/traverse@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.5.tgz#972aa0bc45f16983bf64aa1f877b2dd0eea7e6f8" - integrity sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA== - dependencies: - "@babel/code-frame" "^7.24.2" - "@babel/generator" "^7.24.5" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.24.5" - "@babel/parser" "^7.24.5" - "@babel/types" "^7.24.5" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.24.0", "@babel/types@^7.24.5": - version "7.24.5" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.5.tgz#7661930afc638a5383eb0c4aee59b74f38db84d7" - integrity sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ== - dependencies: - "@babel/helper-string-parser" "^7.24.1" - "@babel/helper-validator-identifier" "^7.24.5" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@esbuild/android-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz#984b4f9c8d0377443cc2dfcef266d02244593622" - integrity sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ== - -"@esbuild/android-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.18.20.tgz#fedb265bc3a589c84cc11f810804f234947c3682" - integrity sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw== - -"@esbuild/android-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.18.20.tgz#35cf419c4cfc8babe8893d296cd990e9e9f756f2" - integrity sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg== - -"@esbuild/darwin-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz#08172cbeccf95fbc383399a7f39cfbddaeb0d7c1" - integrity sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA== - -"@esbuild/darwin-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz#d70d5790d8bf475556b67d0f8b7c5bdff053d85d" - integrity sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ== - -"@esbuild/freebsd-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz#98755cd12707f93f210e2494d6a4b51b96977f54" - integrity sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw== - -"@esbuild/freebsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz#c1eb2bff03915f87c29cece4c1a7fa1f423b066e" - integrity sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ== - -"@esbuild/linux-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz#bad4238bd8f4fc25b5a021280c770ab5fc3a02a0" - integrity sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA== - -"@esbuild/linux-arm@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz#3e617c61f33508a27150ee417543c8ab5acc73b0" - integrity sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg== - -"@esbuild/linux-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz#699391cccba9aee6019b7f9892eb99219f1570a7" - integrity sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA== - -"@esbuild/linux-loong64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz#e6fccb7aac178dd2ffb9860465ac89d7f23b977d" - integrity sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg== - -"@esbuild/linux-mips64el@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz#eeff3a937de9c2310de30622a957ad1bd9183231" - integrity sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ== - -"@esbuild/linux-ppc64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz#2f7156bde20b01527993e6881435ad79ba9599fb" - integrity sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA== - -"@esbuild/linux-riscv64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz#6628389f210123d8b4743045af8caa7d4ddfc7a6" - integrity sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A== - -"@esbuild/linux-s390x@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz#255e81fb289b101026131858ab99fba63dcf0071" - integrity sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ== - -"@esbuild/linux-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz#c7690b3417af318a9b6f96df3031a8865176d338" - integrity sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w== - -"@esbuild/netbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz#30e8cd8a3dded63975e2df2438ca109601ebe0d1" - integrity sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A== - -"@esbuild/openbsd-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz#7812af31b205055874c8082ea9cf9ab0da6217ae" - integrity sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg== - -"@esbuild/sunos-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz#d5c275c3b4e73c9b0ecd38d1ca62c020f887ab9d" - integrity sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ== - -"@esbuild/win32-arm64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz#73bc7f5a9f8a77805f357fab97f290d0e4820ac9" - integrity sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg== - -"@esbuild/win32-ia32@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz#ec93cbf0ef1085cc12e71e0d661d20569ff42102" - integrity sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g== - -"@esbuild/win32-x64@0.18.20": - version "0.18.20" - resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d" - integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.4.0", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.6.0" - globals "^13.19.0" - ignore "^5.2.0" - import-fresh "^3.2.1" - js-yaml "^4.1.0" - minimatch "^3.1.2" - strip-json-comments "^3.1.1" - -"@eslint/js@8.57.0": - version "8.57.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" - integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== - -"@fastify/busboy@^2.0.0": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@fastify/busboy/-/busboy-2.1.1.tgz#b9da6a878a371829a0502c9b6c1c143ef6663f4d" - integrity sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA== - -"@fluent/bundle@^0.18.0": - version "0.18.0" - resolved "https://registry.yarnpkg.com/@fluent/bundle/-/bundle-0.18.0.tgz#bf67e306719a33baf3b66c88af5ac427d7800dbd" - integrity sha512-8Wfwu9q8F9g2FNnv82g6Ch/E1AW1wwljsUOolH5NEtdJdv0sZTuWvfCM7c3teB9dzNaJA8rn4khpidpozHWYEA== - -"@fluent/langneg@^0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@fluent/langneg/-/langneg-0.7.0.tgz#51c58d0b422595640195d8234c0f15687cfcb261" - integrity sha512-StAM0vgsD1QK+nFikaKs9Rxe3JGNipiXrpmemNGwM4gWERBXPe9gjzsBoKjgBgq1Vyiy+xy/C652QIWY+MPyYw== - -"@fluent/sequence@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@fluent/sequence/-/sequence-0.8.0.tgz#dd3da353a0635f1efa5f27e6d4fc59e01f162372" - integrity sha512-eV5QlEEVV/wR3AFQLXO67x4yPRPQXyqke0c8yucyMSeW36B3ecZyVFlY1UprzrfFV8iPJB4TAehDy/dLGbvQ1Q== - -"@humanwhocodes/config-array@^0.11.14": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz#4a2868d75d6d6963e423bcf90b7fd1be343409d3" - integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== - -"@iconify/types@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@iconify/types/-/types-2.0.0.tgz#ab0e9ea681d6c8a1214f30cd741fe3a20cc57f57" - integrity sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg== - -"@iconify/utils@^2.1.5": - version "2.1.23" - resolved "https://registry.yarnpkg.com/@iconify/utils/-/utils-2.1.23.tgz#1cde237dd5142a66d9fbd065b2fa7acc4f80f862" - integrity sha512-YGNbHKM5tyDvdWZ92y2mIkrfvm5Fvhe6WJSkWu7vvOFhMtYDP0casZpoRz0XEHZCrYsR4stdGT3cZ52yp5qZdQ== - dependencies: - "@antfu/install-pkg" "^0.1.1" - "@antfu/utils" "^0.7.7" - "@iconify/types" "^2.0.0" - debug "^4.3.4" - kolorist "^1.8.0" - local-pkg "^0.5.0" - mlly "^1.6.1" - -"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@nothing-but/utils@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@nothing-but/utils/-/utils-0.3.2.tgz#516a993bc9a4bd6367aa263d0895954c974cf3d0" - integrity sha512-y7ynAt3lVjvXF7+xVVezGnq4pJliX/ducCa9/AV6iB03M1JUcV0iq/9qK6h+4ieFPXhTAX2a/VuBNgksjnUQZw== - -"@polka/url@^1.0.0-next.24": - version "1.0.0-next.25" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.25.tgz#f077fdc0b5d0078d30893396ff4827a13f99e817" - integrity sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ== - -"@rollup/pluginutils@^5.0.2": - version "5.1.0" - resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.1.0.tgz#7e53eddc8c7f483a4ad0b94afb1f7f5fd3c771e0" - integrity sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g== - dependencies: - "@types/estree" "^1.0.0" - estree-walker "^2.0.2" - picomatch "^2.3.1" - -"@solid-devtools/debugger@^0.22.4": - version "0.22.4" - resolved "https://registry.yarnpkg.com/@solid-devtools/debugger/-/debugger-0.22.4.tgz#68fd0e1e4fe6738c4782ea8c58150c0c49543d5a" - integrity sha512-rrKZB1hbteOpptH4AiK9nKT3oLoJDAU1UJnfZJB4zIvvmqZXQcpsEYfXvJjDBIYHONeuTJ3K2tpgLjGb7h7H6g== - dependencies: - "@nothing-but/utils" "^0.3.2" - "@solid-devtools/shared" "^0.12.3" - "@solid-primitives/bounds" "^0.0.114" - "@solid-primitives/cursor" "^0.0.111" - "@solid-primitives/event-bus" "^1.0.7" - "@solid-primitives/event-listener" "^2.2.13" - "@solid-primitives/keyboard" "^1.2.3" - "@solid-primitives/platform" "^0.0.105" - "@solid-primitives/rootless" "^1.4.1" - "@solid-primitives/scheduled" "^1.4.0" - "@solid-primitives/static-store" "^0.0.4" - "@solid-primitives/utils" "^6.2.0" - -"@solid-devtools/frontend@^0.10.3": - version "0.10.3" - resolved "https://registry.yarnpkg.com/@solid-devtools/frontend/-/frontend-0.10.3.tgz#4d600fb370778030755c4541f91245258011ef44" - integrity sha512-mbz+4pJcVDZvz4YKKFpAyUyFQx49DCdgvcs5b5kkJxhzVeCBN/JbxsThBIWfDE603VD0A7wjjzTDeAxrNRTrBQ== - dependencies: - "@solid-devtools/debugger" "^0.22.4" - "@solid-devtools/shared" "^0.12.3" - "@solid-primitives/context" "^0.2.1" - "@solid-primitives/cursor" "^0.0.111" - "@solid-primitives/date" "^2.0.15" - "@solid-primitives/event-bus" "^1.0.7" - "@solid-primitives/event-listener" "^2.2.13" - "@solid-primitives/jsx-tokenizer" "^1.0.6" - "@solid-primitives/keyboard" "^1.2.3" - "@solid-primitives/keyed" "^1.2.0" - "@solid-primitives/media" "^2.2.3" - "@solid-primitives/mouse" "^2.0.14" - "@solid-primitives/props" "^3.1.6" - "@solid-primitives/range" "^0.1.14" - "@solid-primitives/resize-observer" "^2.0.18" - "@solid-primitives/scheduled" "^1.4.0" - "@solid-primitives/static-store" "^0.0.4" - "@solid-primitives/styles" "^0.0.110" - "@solid-primitives/timer" "^1.3.7" - "@solid-primitives/utils" "^6.2.0" - clsx "^2.0.0" - solid-headless "^0.13.1" - -"@solid-devtools/overlay@^0.27.7": - version "0.27.9" - resolved "https://registry.yarnpkg.com/@solid-devtools/overlay/-/overlay-0.27.9.tgz#fdb60eff6bcbceeb2d25adba3e4e22df846f0cb5" - integrity sha512-kUQmTGzb+ISIaSB8eknbvUE4834ruUyHbtYpb5JJUfN4gsSdwr4q//kPEuLEoA4tZfMJp9VGjP6GuA+s3kHEqg== - dependencies: - "@solid-devtools/debugger" "^0.22.4" - "@solid-devtools/frontend" "^0.10.3" - "@solid-devtools/shared" "^0.12.3" - "@solid-primitives/cursor" "^0.0.111" - "@solid-primitives/event-listener" "^2.2.13" - "@solid-primitives/media" "^2.2.3" - "@solid-primitives/utils" "^6.2.0" - -"@solid-devtools/shared@^0.12.3": - version "0.12.3" - resolved "https://registry.yarnpkg.com/@solid-devtools/shared/-/shared-0.12.3.tgz#ccd10dcae9e8be7997c74e118c55c52b6bc0517a" - integrity sha512-GBPyj+S4lZmVO5WK73/FP1l1lHYoeDwqbSV2M15l5LSAtaG68HBE6smmMQI7G12XShfs8soM+PXwlx8YZ9ElIw== - dependencies: - "@solid-primitives/event-bus" "^1.0.7" - "@solid-primitives/event-listener" "^2.2.13" - "@solid-primitives/media" "^2.2.3" - "@solid-primitives/refs" "^1.0.4" - "@solid-primitives/rootless" "^1.4.1" - "@solid-primitives/scheduled" "^1.4.0" - "@solid-primitives/static-store" "^0.0.4" - "@solid-primitives/styles" "^0.0.110" - "@solid-primitives/utils" "^6.2.0" - -"@solid-primitives/bounds@^0.0.114": - version "0.0.114" - resolved "https://registry.yarnpkg.com/@solid-primitives/bounds/-/bounds-0.0.114.tgz#80e44d96fc50fbf75db630cee4512be0a9aee6c5" - integrity sha512-PS+PObcgzhoaY05ets7u+9/5vW+5MFcQxwaS18N9ZpxYh8dPkk8vYgJkUegz5t4jIeZrNwowI6xGBpdAQWMPqg== - dependencies: - "@solid-primitives/event-listener" "^2.2.13" - "@solid-primitives/resize-observer" "^2.0.18" - "@solid-primitives/static-store" "^0.0.4" - "@solid-primitives/utils" "^6.2.0" - -"@solid-primitives/context@^0.2.1": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@solid-primitives/context/-/context-0.2.3.tgz#3514620a973ea0703e06db34d5a32709442941ee" - integrity sha512-6/e8qu9qJf48FJ+sxc/B782NdgFw5TvI8+r6U0gHizumfZcWZg8FAJqvRZAiwlygkUNiTQOGTeO10LVbMm0kvg== - -"@solid-primitives/cursor@^0.0.111": - version "0.0.111" - resolved "https://registry.yarnpkg.com/@solid-primitives/cursor/-/cursor-0.0.111.tgz#6fdb9fa8dd13f2797f88ef08abf3354185cb974d" - integrity sha512-P/KqyIdi//VSiE+7uEkbYpO4lubnFBxd40FrNzjZ7iJcxb2woyAsvzKV6pHLIznxRRrAM7bnUsj20e3qbw5TCQ== - dependencies: - "@solid-primitives/utils" "^6.2.0" - -"@solid-primitives/date@^2.0.15": - version "2.0.21" - resolved "https://registry.yarnpkg.com/@solid-primitives/date/-/date-2.0.21.tgz#a75826b428febd4f9521fada26cc1bac444761e9" - integrity sha512-DZSmILY9YZarO0IVRzac8gQ6aMgC9QKzKJEgZnv7cF5K4QdkzhdkYud3HC/pfacZ7x1elopZrS0HbCkQllCrYg== - dependencies: - "@solid-primitives/memo" "^1.3.8" - "@solid-primitives/timer" "^1.3.9" - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/event-bus@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@solid-primitives/event-bus/-/event-bus-1.0.11.tgz#0a4c42d79f588a21c9bf061b6ace1508081d14df" - integrity sha512-bSwVA4aI2aNHomSbEroUnisMSyDDXJbrw4U8kFEvrcYdlLrJX5i6QeCFx+vj/zdQQw62KAllrEIyWP8KMpPVnQ== - dependencies: - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/event-listener@^2.2.13", "@solid-primitives/event-listener@^2.3.3": - version "2.3.3" - resolved "https://registry.yarnpkg.com/@solid-primitives/event-listener/-/event-listener-2.3.3.tgz#ab28c8627aa7d6234617867d8b02c80e1b8f0948" - integrity sha512-DAJbl+F0wrFW2xmcV8dKMBhk9QLVLuBSW+TR4JmIfTaObxd13PuL7nqaXnaYKDWOYa6otB00qcCUIGbuIhSUgQ== - dependencies: - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/jsx-tokenizer@^1.0.6": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@solid-primitives/jsx-tokenizer/-/jsx-tokenizer-1.0.10.tgz#3ae91d47f8a753c3ca5d818f9d3e8299f5fe3026" - integrity sha512-OziPOhJcVneuEwuC4Ys2atePcBhXZK00h93Tg+dGw5GUijB8hvP97qXZ9Q8oNai0FCInlGUOYQnOgM9piBoSMQ== - dependencies: - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/keyboard@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@solid-primitives/keyboard/-/keyboard-1.2.8.tgz#99a695deede1724e03ce415ebdf5969c174fa398" - integrity sha512-pJtcbkjozS6L1xvTht9rPpyPpX55nAkfBzbFWdf3y0Suwh6qClTibvvObzKOf7uzQ+8aZRDH4LsoGmbTKXtJjQ== - dependencies: - "@solid-primitives/event-listener" "^2.3.3" - "@solid-primitives/rootless" "^1.4.5" - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/keyed@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@solid-primitives/keyed/-/keyed-1.2.2.tgz#42323c11ecfd9f6e4525af2cb53475ff2dfb4d51" - integrity sha512-oBziY40JK4XmJ57XGkFl8j0GtEarSu0hhjdkUQgqL/U0QQE3TZrRo9uhgH7I6VGJKBKG7SAraTPE6S5lVLM1ow== - -"@solid-primitives/media@^2.2.3": - version "2.2.9" - resolved "https://registry.yarnpkg.com/@solid-primitives/media/-/media-2.2.9.tgz#bbe1e30b108cd3ece2e214d529e757702eb4dd34" - integrity sha512-QUmU62D4/d9YWx/4Dvr/UZasIkIpqNXz7wosA5GLmesRW9XlPa3G5M6uOmTw73SByHNTCw0D6x8bSdtvvLgzvQ== - dependencies: - "@solid-primitives/event-listener" "^2.3.3" - "@solid-primitives/rootless" "^1.4.5" - "@solid-primitives/static-store" "^0.0.8" - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/memo@^1.3.8": - version "1.3.8" - resolved "https://registry.yarnpkg.com/@solid-primitives/memo/-/memo-1.3.8.tgz#d9359b0fd58b3653ca9fd77c14181f2033a78b5b" - integrity sha512-U75pfLFSxFmM2xbx1+2XPPyWbaXrnUFF10spbFuOUgJ7azrC+4y+FnrVi4RKqHw9gftd8aKQuTiyMQq468YLQw== - dependencies: - "@solid-primitives/scheduled" "^1.4.3" - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/mouse@^2.0.14": - version "2.0.19" - resolved "https://registry.yarnpkg.com/@solid-primitives/mouse/-/mouse-2.0.19.tgz#e126939f946df323f526eb2bd889f756b1eb644d" - integrity sha512-mVYhWsMjjIdZ8iLIypiYGhNGtLOFVCmCeXaNQVYUjPOZkZOm9aaKjjGqgdwVw5RtJ0ZfNvKH/A5WE1t/fOBvLA== - dependencies: - "@solid-primitives/event-listener" "^2.3.3" - "@solid-primitives/rootless" "^1.4.5" - "@solid-primitives/static-store" "^0.0.8" - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/platform@^0.0.105": - version "0.0.105" - resolved "https://registry.yarnpkg.com/@solid-primitives/platform/-/platform-0.0.105.tgz#d282938c585d2e252b219b33ef1c8c96551a396a" - integrity sha512-GULqmMc5vNsLSsIxIEYYxJv/6ypGKG+ig9hzSi4lxVPfooX6Go6txDlhv53woUSvaG939ceZGRq+X5uADMed6g== - -"@solid-primitives/props@^3.1.6": - version "3.1.11" - resolved "https://registry.yarnpkg.com/@solid-primitives/props/-/props-3.1.11.tgz#bd40c2808ab4e2d4adecbd3ccbad5c3756a72b1c" - integrity sha512-jZAKWwvDRHjiydIumDgMj68qviIbowQ1ci7nkEAgzgvanNkhKSQV8iPgR2jMk1uv7S2ZqXYHslVQTgJel/TEyg== - dependencies: - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/range@^0.1.14": - version "0.1.18" - resolved "https://registry.yarnpkg.com/@solid-primitives/range/-/range-0.1.18.tgz#4653887d3c2536650c7a923d1978ceaa51d6cb75" - integrity sha512-F5OTdpRFdeLOPEHs92S714GKUk1ZUUmEJ45Z/Z5h6i43DHi7fUFgUL7LeHFxVgIjtGv+Tg5Op7aM9PdSo5iqeQ== - dependencies: - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/refs@^1.0.4": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@solid-primitives/refs/-/refs-1.0.8.tgz#2f8e1db2c08601c8a9cf4479b05f490470aaa3ad" - integrity sha512-+jIsWG8/nYvhaCoG2Vg6CJOLgTmPKFbaCrNQKWfChalgUf9WrVxWw0CdJb3yX15n5lUcQ0jBo6qYtuVVmBLpBw== - dependencies: - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/resize-observer@^2.0.18": - version "2.0.25" - resolved "https://registry.yarnpkg.com/@solid-primitives/resize-observer/-/resize-observer-2.0.25.tgz#c97a01193fe9b2c08bc240d096b92888ab44bda0" - integrity sha512-jVDXkt2MiriYRaz4DYs62185d+6jQ+1DCsR+v7f6XMsIJJuf963qdBRFjtZtKXBaxdPNMyuPeDgf5XQe3EoDJg== - dependencies: - "@solid-primitives/event-listener" "^2.3.3" - "@solid-primitives/rootless" "^1.4.5" - "@solid-primitives/static-store" "^0.0.8" - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/rootless@^1.4.1", "@solid-primitives/rootless@^1.4.5": - version "1.4.5" - resolved "https://registry.yarnpkg.com/@solid-primitives/rootless/-/rootless-1.4.5.tgz#120244fd5e02d9ea111ed2236fedcef572010be4" - integrity sha512-GFJE9GC3ojx0aUKqAUZmQPyU8fOVMtnVNrkdk2yS4kd17WqVSpXpoTmo9CnOwA+PG7FTzdIkogvfLQSLs4lrww== - dependencies: - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/scheduled@^1.4.0", "@solid-primitives/scheduled@^1.4.3": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@solid-primitives/scheduled/-/scheduled-1.4.3.tgz#379443e759c90275f7530c11c9df63ff63c8c9fd" - integrity sha512-HfWN5w7b7FEc6VPLBKnnE302h90jsLMuR28Fcf7neRGGf8jBj6wm6/UFQ00VlKexHFMR6KQ2u4VBh5a1ZcqM8g== - -"@solid-primitives/static-store@^0.0.4": - version "0.0.4" - resolved "https://registry.yarnpkg.com/@solid-primitives/static-store/-/static-store-0.0.4.tgz#90cd12e72bcd68c5a69fd01214e0cfd8f30f805a" - integrity sha512-NcLtDNA6H+Z9LmqaUe4SKfMx0YbszIMXEqfV15cB34t5XyEeOM5TihYwsVJ/dpkmpHYzflm0SwAL+P9uwyzvWQ== - dependencies: - "@solid-primitives/utils" "^6.2.0" - -"@solid-primitives/static-store@^0.0.8": - version "0.0.8" - resolved "https://registry.yarnpkg.com/@solid-primitives/static-store/-/static-store-0.0.8.tgz#a4d7a93a254bf89d3c5c5f27a031d1a46c34f5c5" - integrity sha512-ZecE4BqY0oBk0YG00nzaAWO5Mjcny8Fc06CdbXadH9T9lzq/9GefqcSe/5AtdXqjvY/DtJ5C6CkcjPZO0o/eqg== - dependencies: - "@solid-primitives/utils" "^6.2.3" - -"@solid-primitives/styles@^0.0.110": - version "0.0.110" - resolved "https://registry.yarnpkg.com/@solid-primitives/styles/-/styles-0.0.110.tgz#7457ffdf539a8ccbfc381a4fda81fa31adc429fa" - integrity sha512-PSaM1Rl4+zwpOfxil8KlY87UC+R1rQy8b2EiCMjgTWakRK1TjvFM78KY5/ohFg42bp2V/DWRx2QaL/Unjm3HMg== - dependencies: - "@solid-primitives/rootless" "^1.4.1" - "@solid-primitives/utils" "^6.2.0" - -"@solid-primitives/timer@^1.3.7", "@solid-primitives/timer@^1.3.9": - version "1.3.9" - resolved "https://registry.yarnpkg.com/@solid-primitives/timer/-/timer-1.3.9.tgz#ad42595fbdc045804e681078364ebe56f19729f8" - integrity sha512-uD+4+boV7k+5W+hL5d30eodUXSwOfOQz8AfbMPVmLOHaTmd0mdfpw0NkYhyn1rgcx1bSn/nHTd8lraHiMhO/6w== - -"@solid-primitives/utils@^6.2.0", "@solid-primitives/utils@^6.2.3": - version "6.2.3" - resolved "https://registry.yarnpkg.com/@solid-primitives/utils/-/utils-6.2.3.tgz#1abed4c74a2696e08bd2e49cf2b86fc8b87a32bd" - integrity sha512-CqAwKb2T5Vi72+rhebSsqNZ9o67buYRdEJrIFzRXz3U59QqezuuxPsyzTSVCacwS5Pf109VRsgCJQoxKRoECZQ== - -"@solidjs/router@^0.8.2": - version "0.8.4" - resolved "https://registry.yarnpkg.com/@solidjs/router/-/router-0.8.4.tgz#aa19bee6dc6289807821b2d0dd5cf07a79da6b68" - integrity sha512-Gi/WVoVseGMKS1DBdT3pNAMgOzEOp6Q3dpgNd2mW9GUEnVocPmtyBjDvXwN6m7tjSGsqqfqJFXk7bm1hxabSRw== - -"@types/babel__core@^7.20.4": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.5.tgz#3df15f27ba85319caa07ba08d0721889bb39c017" - integrity sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.8" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.8.tgz#f836c61f48b1346e7d2b0d93c6dacc5b9535d3ab" - integrity sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.4" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.4.tgz#5672513701c1b2199bc6dad636a9d7491586766f" - integrity sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.5.tgz#7b7502be0aa80cc4ef22978846b983edaafcd4dd" - integrity sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ== - dependencies: - "@babel/types" "^7.20.7" - -"@types/chai-subset@^1.3.3": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/chai-subset/-/chai-subset-1.3.5.tgz#3fc044451f26985f45625230a7f22284808b0a9a" - integrity sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A== - dependencies: - "@types/chai" "*" - -"@types/chai@*", "@types/chai@^4.3.5": - version "4.3.16" - resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.3.16.tgz#b1572967f0b8b60bf3f87fe1d854a5604ea70c82" - integrity sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ== - -"@types/estree@^1.0.0": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/feather-icons@^4.29.1": - version "4.29.4" - resolved "https://registry.yarnpkg.com/@types/feather-icons/-/feather-icons-4.29.4.tgz#3c1d0bba09278c88dd35f6ae102aeb293aabf4bd" - integrity sha512-cvwI455PWx/gJ33XDTIZOdauRy+XCxZggkOT/tAQYZLdySPFATD4RnDC9mxOnCIEaK9kwPm3zZigkAsMkhXb5w== - -"@types/istanbul-lib-coverage@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz#7739c232a1fee9b4d3ce8985f314c0c6d33549d7" - integrity sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w== - -"@types/json-schema@^7.0.9": - version "7.0.15" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/node@*": - version "20.12.11" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.12.11.tgz#c4ef00d3507000d17690643278a60dc55a9dc9be" - integrity sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw== - dependencies: - undici-types "~5.26.4" - -"@types/normalize-package-data@^2.4.0": - version "2.4.4" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" - integrity sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== - -"@types/semver@^7.3.12": - version "7.5.8" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.5.8.tgz#8268a8c57a3e4abd25c165ecd36237db7948a55e" - integrity sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ== - -"@typescript-eslint/eslint-plugin@^5.59.5": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz#aeef0328d172b9e37d9bab6dbc13b87ed88977db" - integrity sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag== - dependencies: - "@eslint-community/regexpp" "^4.4.0" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/type-utils" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.0" - natural-compare-lite "^1.4.0" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/parser@^5.59.5": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7" - integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA== - dependencies: - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" - integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - -"@typescript-eslint/type-utils@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz#286f0389c41681376cdad96b309cedd17d70346a" - integrity sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew== - dependencies: - "@typescript-eslint/typescript-estree" "5.62.0" - "@typescript-eslint/utils" "5.62.0" - debug "^4.3.4" - tsutils "^3.21.0" - -"@typescript-eslint/types@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" - integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ== - -"@typescript-eslint/typescript-estree@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" - integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA== - dependencies: - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/visitor-keys" "5.62.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/utils@5.62.0", "@typescript-eslint/utils@^5.55.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" - integrity sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@types/json-schema" "^7.0.9" - "@types/semver" "^7.3.12" - "@typescript-eslint/scope-manager" "5.62.0" - "@typescript-eslint/types" "5.62.0" - "@typescript-eslint/typescript-estree" "5.62.0" - eslint-scope "^5.1.1" - semver "^7.3.7" - -"@typescript-eslint/visitor-keys@5.62.0": - version "5.62.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e" - integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw== - dependencies: - "@typescript-eslint/types" "5.62.0" - eslint-visitor-keys "^3.3.0" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@unocss/astro@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/astro/-/astro-0.51.13.tgz#f5b1e30d9d28d27bb86f6d2fc37c4b8ad6892aba" - integrity sha512-Dul0ZJNwseGBxngBMfghfTsf0quf4HcQcqJuIDzA1T+ueavpwf4QScwbDuS0BqFO4ZiIVSItA7f6eLe31PHUmw== - dependencies: - "@unocss/core" "0.51.13" - "@unocss/reset" "0.51.13" - "@unocss/vite" "0.51.13" - -"@unocss/cli@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/cli/-/cli-0.51.13.tgz#d29f795848c963d1e798e03fe7cb1194867ab24b" - integrity sha512-g5CmSVyMFIgw/uStVlABldw+EYsrCyGjHd9jQMMTSZbV9IWuM0Tf+ILAZ+B4iXs62ctnrxPYH3Mha6IIuuZXZg== - dependencies: - "@ampproject/remapping" "^2.2.1" - "@rollup/pluginutils" "^5.0.2" - "@unocss/config" "0.51.13" - "@unocss/core" "0.51.13" - "@unocss/preset-uno" "0.51.13" - cac "^6.7.14" - chokidar "^3.5.3" - colorette "^2.0.20" - consola "^3.1.0" - fast-glob "^3.2.12" - magic-string "^0.30.0" - pathe "^1.1.0" - perfect-debounce "^1.0.0" - -"@unocss/config@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/config/-/config-0.51.13.tgz#1894aae4917dc6af891efb1ddd8d3b35424d51a7" - integrity sha512-EnSLt7Z1C01U3kORh+Iql+zLFm/PQTD1Np6oEW6U0/GTmD3HEilVFQFFxdM5F0X2bBZtZMkkAGGyhRWQj09hDQ== - dependencies: - "@unocss/core" "0.51.13" - unconfig "^0.3.7" - -"@unocss/core@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/core/-/core-0.51.13.tgz#5c3aaa46d8f0e1bd04bee06b945b5e1dd8fcd108" - integrity sha512-SclWkqY2c+p5+PiqrbQkhJNEExPdeo71/aGFye10tpBkgPJWd5xC7dhg5F8M4VPNBtuNCrvBWyqNnunMyuz/WQ== - -"@unocss/extractor-arbitrary-variants@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/extractor-arbitrary-variants/-/extractor-arbitrary-variants-0.51.13.tgz#838a692f0d7661f21097299988ae338905f81f07" - integrity sha512-lF7p0ea/MeNf4IsjzNhRNYP8u+f1h5JjhTzcvFpQo/vpBvuM5ZCyqp4mkXxYnLNLFfTLsc+MxXaU34IXxpw1QA== - dependencies: - "@unocss/core" "0.51.13" - -"@unocss/inspector@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/inspector/-/inspector-0.51.13.tgz#31e6c1c794e1370dcdff38e0d4e9eb57490c3555" - integrity sha512-y6wCvLDmfFHfr5MHqcQLZkwRio4+VEH6j607bgUdKTRlZGVCD7/GBV8lperxsxpkspaE1eykOeDmW7Ms99SEuQ== - dependencies: - gzip-size "^6.0.0" - sirv "^2.0.3" - -"@unocss/postcss@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/postcss/-/postcss-0.51.13.tgz#e3146cc7b395fe3923fe76e78b0a31056c8104c3" - integrity sha512-V1QJ7md9jYtBwRc6NGep1Atc+QhaR3115B1wCo8CNM+v+ZOQzpxNsAshvOfyPzfzTj+KLtp4u4zqqaTbYGX2cw== - dependencies: - "@unocss/config" "0.51.13" - "@unocss/core" "0.51.13" - css-tree "^2.3.1" - fast-glob "^3.2.12" - magic-string "^0.30.0" - postcss "^8.4.23" - -"@unocss/preset-attributify@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/preset-attributify/-/preset-attributify-0.51.13.tgz#f5ccb15ec78e145c2980603a67c1a926b346648b" - integrity sha512-a501ylamV90E+tVf7Dgc8Plwex5LQ5oFSYwsxk06QhcxPWdLmDey3SQjL68AsP9qnLGfIez51sV4y/6H8wFqlw== - dependencies: - "@unocss/core" "0.51.13" - -"@unocss/preset-icons@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/preset-icons/-/preset-icons-0.51.13.tgz#173f2a1d2a0c368e962d2d83fb894c96bcf87ea1" - integrity sha512-iL9s1NUVeWe3WSh5LHn7vy+veCAag9AFA50IfNlHuAARhuI8JtrMQA8dOXrWrzM0zWBMB+BVIkVaMVrF257n+Q== - dependencies: - "@iconify/utils" "^2.1.5" - "@unocss/core" "0.51.13" - ofetch "^1.0.1" - -"@unocss/preset-mini@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/preset-mini/-/preset-mini-0.51.13.tgz#0d35d7538c1330772b0dd6c60cd4ce0824e52b30" - integrity sha512-Wa6eMq8IiJEb7F8rL+cDX4XFm4ViAULaAvn8rjk7ANGdOmeqYGyGc0IZkOjQgl3PiFJFnitsBluHhg7nMIk7QQ== - dependencies: - "@unocss/core" "0.51.13" - "@unocss/extractor-arbitrary-variants" "0.51.13" - -"@unocss/preset-tagify@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/preset-tagify/-/preset-tagify-0.51.13.tgz#eeb608d43747bf2c718063c30054cb8c6aa1a406" - integrity sha512-9pWPTff/1OKFmOQiGolVKFPzXwJ+r77UhXTB5E793uOQFHPMWCdkjyTPiN12FlB9izjTLIFH3GCGy/koRX9S4w== - dependencies: - "@unocss/core" "0.51.13" - -"@unocss/preset-typography@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/preset-typography/-/preset-typography-0.51.13.tgz#7b3f35ea70baae3fbf41f6e69458d45515e8da0a" - integrity sha512-9uXrPztLsc8ZMnmoIdNAC3/gD183wyFECDzXtJqjOrJhzGr1kcv1sByyQO+kRPI67eWErSsDjpJwK2arfDOihQ== - dependencies: - "@unocss/core" "0.51.13" - "@unocss/preset-mini" "0.51.13" - -"@unocss/preset-uno@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/preset-uno/-/preset-uno-0.51.13.tgz#92db5b03f5d988d5def2182cfb41f91935a0eeb0" - integrity sha512-S9po93y87YphySfW21+Z5uzSL/GAGN5MqZURQxaGk9WGxYugAnu2PnvhhyqLCVmP05J34tMSDMkIZZqjnGaJzg== - dependencies: - "@unocss/core" "0.51.13" - "@unocss/preset-mini" "0.51.13" - "@unocss/preset-wind" "0.51.13" - -"@unocss/preset-web-fonts@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/preset-web-fonts/-/preset-web-fonts-0.51.13.tgz#d5d4bcc60980d96f7df97b5345e86fb44996087a" - integrity sha512-jl6AhPcnLYN4oKYQZbU/40714IIuNb7TOFh2kgMkDH70r+fzLEdH+cB4l5m0yTsMhEQ6oDsppxm9aXcsVDRESA== - dependencies: - "@unocss/core" "0.51.13" - ofetch "^1.0.1" - -"@unocss/preset-wind@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/preset-wind/-/preset-wind-0.51.13.tgz#b6bc746f92e7307ef097d1dc9f2eca3f2f3763bc" - integrity sha512-deRXLOWmKmqCJuohWCE5NUzs7XDJLn4pzgYQSUlEAVUfS6rzL49aJmSHA+p/f+HhJs5jipNdvkcrHYEBMNV1XQ== - dependencies: - "@unocss/core" "0.51.13" - "@unocss/preset-mini" "0.51.13" - -"@unocss/reset@0.51.13", "@unocss/reset@^0.51.12": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/reset/-/reset-0.51.13.tgz#62b704eef8657554ef8f3e1caaee4a4805280a14" - integrity sha512-xwYJW6vNbHIpBtlFcW93fZxILZpWatcCc9nclSgsl0YlFUz9w4/aoV9KqwU62Y4VUteJxCZCCXa3pSiPO8h5KA== - -"@unocss/scope@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/scope/-/scope-0.51.13.tgz#4334bec70b5adc33ea73faa7c7952c508b03af4f" - integrity sha512-ATwgDx1qZflR2/EPsAs/XMR9/HdcUNyAZ6VdenwQQdlmAFlIWZQ6smswKyuiJWKtcJynfbdGOWcO3vcocrnSrQ== - -"@unocss/transformer-attributify-jsx-babel@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/transformer-attributify-jsx-babel/-/transformer-attributify-jsx-babel-0.51.13.tgz#6855b412e705f2ce032e7cb3e634d0de692906c8" - integrity sha512-HMEeTi3FIuI5gMJnRICbWdDmraL4NfpjSTjSmAo6EsraBuNO2m+/5JZL5Fc1B3olKes2G84FDSlzfofHyinWzw== - dependencies: - "@unocss/core" "0.51.13" - -"@unocss/transformer-attributify-jsx@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/transformer-attributify-jsx/-/transformer-attributify-jsx-0.51.13.tgz#4117d3a9168ddea3d1e45a1ab3ba6360c3925793" - integrity sha512-vLAtT0K3Rfa3Xiu3LhU4tNCptuO3QlbgSsVO93K3onujfO7qZAaXjK5nj7jiLPyTKtQyl/3WOgNStfReMleF0w== - dependencies: - "@unocss/core" "0.51.13" - -"@unocss/transformer-compile-class@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/transformer-compile-class/-/transformer-compile-class-0.51.13.tgz#2463fb3ac88d516bd60322d245917760eb855507" - integrity sha512-7G5ReCIkrZOAikwM9LN74nR4uxffJMSDAbLFDyhdh4qaumJFaxDLDQ4lxpQVZVeXQIF12QSxsnJuI9Fu1nuqmg== - dependencies: - "@unocss/core" "0.51.13" - -"@unocss/transformer-directives@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/transformer-directives/-/transformer-directives-0.51.13.tgz#0ae7f4e644cc41f35e2743451d6545656d60f2d5" - integrity sha512-1tl8UcVpqYaKkj1zan/QmUAslEcHe9WdN0/QX3Ao663A5r91EwWhnhwKFfvujrZp1XlFnXgKLmKS8OwTRQfCQg== - dependencies: - "@unocss/core" "0.51.13" - css-tree "^2.3.1" - -"@unocss/transformer-variant-group@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/transformer-variant-group/-/transformer-variant-group-0.51.13.tgz#847a0d7cb05938f6498170b2590ffecf0bcef80a" - integrity sha512-QT3dfnYeht9SpqPFHJrEfZjL+XeMyi0Wwc4ll4ttIQNCl1Ihiwxl4ScRs1oVXlhCAc3hCXNu9V/FWO0cYHRt/Q== - dependencies: - "@unocss/core" "0.51.13" - -"@unocss/vite@0.51.13": - version "0.51.13" - resolved "https://registry.yarnpkg.com/@unocss/vite/-/vite-0.51.13.tgz#8bda8812c5d2a8f18234a698958a05b7579b2604" - integrity sha512-WwyaPnu1XfRiFy4uxXwBuWaL7J1Rcaetsw5lJQUIUdSBTblsd6W7sW+MYTsLfAlA9FUxWDK4ESdI51Xgq4glxw== - dependencies: - "@ampproject/remapping" "^2.2.1" - "@rollup/pluginutils" "^5.0.2" - "@unocss/config" "0.51.13" - "@unocss/core" "0.51.13" - "@unocss/inspector" "0.51.13" - "@unocss/scope" "0.51.13" - "@unocss/transformer-directives" "0.51.13" - chokidar "^3.5.3" - fast-glob "^3.2.12" - magic-string "^0.30.0" - -"@vitest/coverage-c8@^0.31.1": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/coverage-c8/-/coverage-c8-0.31.4.tgz#5628e415fd9bea99ee12127e0524b9d267a33e17" - integrity sha512-VPx368m4DTcpA/P0v3YdVxl4QOSh1DbUcXURLRvDShrIB5KxOgfzw4Bn2R8AhAe/GyiWW/FIsJ/OJdYXCCiC1w== - dependencies: - "@ampproject/remapping" "^2.2.1" - c8 "^7.13.0" - magic-string "^0.30.0" - picocolors "^1.0.0" - std-env "^3.3.2" - -"@vitest/expect@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/expect/-/expect-0.31.4.tgz#115c517404488bf3cb6ce4ac411c40d8e86891b8" - integrity sha512-tibyx8o7GUyGHZGyPgzwiaPaLDQ9MMuCOrc03BYT0nryUuhLbL7NV2r/q98iv5STlwMgaKuFJkgBW/8iPKwlSg== - dependencies: - "@vitest/spy" "0.31.4" - "@vitest/utils" "0.31.4" - chai "^4.3.7" - -"@vitest/runner@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/runner/-/runner-0.31.4.tgz#e99abee89132a500d9726a53b58dfc9160db1078" - integrity sha512-Wgm6UER+gwq6zkyrm5/wbpXGF+g+UBB78asJlFkIOwyse0pz8lZoiC6SW5i4gPnls/zUcPLWS7Zog0LVepXnpg== - dependencies: - "@vitest/utils" "0.31.4" - concordance "^5.0.4" - p-limit "^4.0.0" - pathe "^1.1.0" - -"@vitest/snapshot@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/snapshot/-/snapshot-0.31.4.tgz#59a42046fec4950a1ac70cf0ec64aada3b995559" - integrity sha512-LemvNumL3NdWSmfVAMpXILGyaXPkZbG5tyl6+RQSdcHnTj6hvA49UAI8jzez9oQyE/FWLKRSNqTGzsHuk89LRA== - dependencies: - magic-string "^0.30.0" - pathe "^1.1.0" - pretty-format "^27.5.1" - -"@vitest/spy@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/spy/-/spy-0.31.4.tgz#fce8e348cea32deff79996d116c67893b19cc47d" - integrity sha512-3ei5ZH1s3aqbEyftPAzSuunGICRuhE+IXOmpURFdkm5ybUADk+viyQfejNk6q8M5QGX8/EVKw+QWMEP3DTJDag== - dependencies: - tinyspy "^2.1.0" - -"@vitest/ui@^0.31.1": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/ui/-/ui-0.31.4.tgz#465a4762d7937e3322fe66f94c2378bacfeba1ac" - integrity sha512-sKM16ITX6HrNFF+lNZ2AQAen4/6Bx2i6KlBfIvkUjcTgc5YII/j2ltcX14oCUv4EA0OTWGQuGhO3zDoAsTENGA== - dependencies: - "@vitest/utils" "0.31.4" - fast-glob "^3.2.12" - fflate "^0.7.4" - flatted "^3.2.7" - pathe "^1.1.0" - picocolors "^1.0.0" - sirv "^2.0.3" - -"@vitest/utils@0.31.4": - version "0.31.4" - resolved "https://registry.yarnpkg.com/@vitest/utils/-/utils-0.31.4.tgz#5cfdcecfd604a7dbe3972cfe0f2b1e0af1246ad2" - integrity sha512-DobZbHacWznoGUfYU8XDPY78UubJxXfMNY1+SUdOp1NsI34eopSA6aZMeaGu10waSOeYwE8lxrd/pLfT0RMxjQ== - dependencies: - concordance "^5.0.4" - loupe "^2.3.6" - pretty-format "^27.5.1" - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.2.0: - version "8.3.2" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.3.2.tgz#7703af9415f1b6db9315d6895503862e231d34aa" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -acorn@^8.10.0, acorn@^8.11.3, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ansi-colors@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -array-buffer-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f" - integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg== - dependencies: - call-bind "^1.0.5" - is-array-buffer "^3.0.4" - -array-includes@^3.1.6: - version "3.1.8" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.8.tgz#5e370cbe172fdd5dd6530c1d4aadda25281ba97d" - integrity sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.2" - es-object-atoms "^1.0.0" - get-intrinsic "^1.2.4" - is-string "^1.0.7" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -array.prototype.flat@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" - integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - es-shim-unscopables "^1.0.0" - -arraybuffer.prototype.slice@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6" - integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A== - dependencies: - array-buffer-byte-length "^1.0.1" - call-bind "^1.0.5" - define-properties "^1.2.1" - es-abstract "^1.22.3" - es-errors "^1.2.1" - get-intrinsic "^1.2.3" - is-array-buffer "^3.0.4" - is-shared-array-buffer "^1.0.2" - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -available-typed-arrays@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846" - integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ== - dependencies: - possible-typed-array-names "^1.0.0" - -babel-plugin-jsx-dom-expressions@^0.37.20: - version "0.37.20" - resolved "https://registry.yarnpkg.com/babel-plugin-jsx-dom-expressions/-/babel-plugin-jsx-dom-expressions-0.37.20.tgz#506fd0302d6740bdea957d5f7b18eccb117342ca" - integrity sha512-0L3aC5EFyvCgIlEYIqJb4Ym29s1IDI/U5SntZ1ZK054xe0MqBmBi2GLK3f9AOklhdY7kCC3GsHD0bILh6u0Qsg== - dependencies: - "@babel/helper-module-imports" "7.18.6" - "@babel/plugin-syntax-jsx" "^7.18.6" - "@babel/types" "^7.20.7" - html-entities "2.3.3" - validate-html-nesting "^1.2.1" - -babel-preset-solid@^1.8.4: - version "1.8.17" - resolved "https://registry.yarnpkg.com/babel-preset-solid/-/babel-preset-solid-1.8.17.tgz#8d55e8e2ee800be85527425e7943534f984dc815" - integrity sha512-s/FfTZOeds0hYxYqce90Jb+0ycN2lrzC7VP1k1JIn3wBqcaexDKdYi6xjB+hMNkL+Q6HobKbwsriqPloasR9LA== - dependencies: - babel-plugin-jsx-dom-expressions "^0.37.20" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -binary-extensions@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" - integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== - -blueimp-md5@^2.10.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/blueimp-md5/-/blueimp-md5-2.19.0.tgz#b53feea5498dcb53dc6ec4b823adb84b729c4af0" - integrity sha512-DRQrD6gJyy8FbiE4s+bDoXS9hiW3Vbx5uCdwvcCf3zLHL+Iv7LtGHLpr+GZV8rHG8tK766FGYBwRbu8pELTt+w== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.22.2: - version "4.23.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -builtin-modules@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" - integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== - -c8@^7.13.0: - version "7.14.0" - resolved "https://registry.yarnpkg.com/c8/-/c8-7.14.0.tgz#f368184c73b125a80565e9ab2396ff0be4d732f3" - integrity sha512-i04rtkkcNcCf7zsQcSv/T9EbUn4RXQ6mropeMcjFOsQXQ0iGLAr/xT6TImQg4+U9hmNpN9XdvPkjUL1IzbgxJw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@istanbuljs/schema" "^0.1.3" - find-up "^5.0.0" - foreground-child "^2.0.0" - istanbul-lib-coverage "^3.2.0" - istanbul-lib-report "^3.0.0" - istanbul-reports "^3.1.4" - rimraf "^3.0.2" - test-exclude "^6.0.0" - v8-to-istanbul "^9.0.0" - yargs "^16.2.0" - yargs-parser "^20.2.9" - -cac@^6.7.14: - version "6.7.14" - resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959" - integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== - -call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9" - integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - set-function-length "^1.2.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001587: - version "1.0.30001617" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001617.tgz#809bc25f3f5027ceb33142a7d6c40759d7a901eb" - integrity sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA== - -chai@^4.3.7: - version "4.4.1" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.4.1.tgz#3603fa6eba35425b0f2ac91a009fe924106e50d1" - integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" - -chokidar@^3.5.3: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -ci-info@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -classnames@^2.2.5: - version "2.5.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.5.1.tgz#ba774c614be0f016da105c858e7159eae8e7687b" - integrity sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow== - -clean-regexp@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clean-regexp/-/clean-regexp-1.0.0.tgz#8df7c7aae51fd36874e8f8d05b9180bc11a3fed7" - integrity sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw== - dependencies: - escape-string-regexp "^1.0.5" - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -clsx@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" - integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -colorette@^2.0.20: - version "2.0.20" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concordance@^5.0.4: - version "5.0.4" - resolved "https://registry.yarnpkg.com/concordance/-/concordance-5.0.4.tgz#9896073261adced72f88d60e4d56f8efc4bbbbd2" - integrity sha512-OAcsnTEYu1ARJqWVGwf4zh4JDfHZEaSNlNccFmt8YjB2l/n19/PF2viLINHc57vO4FKIAFl2FWASIGZZWZ2Kxw== - dependencies: - date-time "^3.1.0" - esutils "^2.0.3" - fast-diff "^1.2.0" - js-string-escape "^1.0.1" - lodash "^4.17.15" - md5-hex "^3.0.1" - semver "^7.3.2" - well-known-symbols "^2.0.0" - -confbox@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/confbox/-/confbox-0.1.7.tgz#ccfc0a2bcae36a84838e83a3b7f770fb17d6c579" - integrity sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA== - -consola@^3.1.0: - version "3.2.3" - resolved "https://registry.yarnpkg.com/consola/-/consola-3.2.3.tgz#0741857aa88cfa0d6fd53f1cff0375136e98502f" - integrity sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -core-js@^3.1.3: - version "3.37.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.37.0.tgz#d8dde58e91d156b2547c19d8a4efd5c7f6c426bb" - integrity sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug== - -cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -css-tree@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/css-tree/-/css-tree-2.3.1.tgz#10264ce1e5442e8572fc82fbe490644ff54b5c20" - integrity sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== - dependencies: - mdn-data "2.0.30" - source-map-js "^1.0.1" - -csstype@^3.1.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" - integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== - -data-view-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2" - integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2" - integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -data-view-byte-offset@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a" - integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-data-view "^1.0.1" - -date-time@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/date-time/-/date-time-3.1.0.tgz#0d1e934d170579f481ed8df1e2b8ff70ee845e1e" - integrity sha512-uqCUKXE5q1PNBXjPqvwhwJf9SwMoAHBgWJ6DcrnS5o+W2JOiIILl0JEdVD8SGujrNS02GGxgwAg2PN2zONgtjg== - dependencies: - time-zone "^1.0.0" - -debug@^4.1.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -deep-eql@^4.1.3: - version "4.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" - -deep-is@^0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - -define-data-property@^1.0.1, define-data-property@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e" - integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== - dependencies: - es-define-property "^1.0.0" - es-errors "^1.3.0" - gopd "^1.0.1" - -define-properties@^1.2.0, define-properties@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c" - integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg== - dependencies: - define-data-property "^1.0.1" - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -defu@^6.1.4: - version "6.1.4" - resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.4.tgz#4e0c9cf9ff68fe5f3d7f2765cc1a012dfdcb0479" - integrity sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg== - -destr@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/destr/-/destr-2.0.3.tgz#7f9e97cb3d16dbdca7be52aca1644ce402cfe449" - integrity sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -duplexer@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" - integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== - -electron-to-chromium@^1.4.668: - version "1.4.763" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.763.tgz#64f2041ed496fd6fc710b9be806fe91da9334f91" - integrity sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - -es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2: - version "1.23.3" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.3.tgz#8f0c5a35cd215312573c5a27c87dfd6c881a0aa0" - integrity sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A== - dependencies: - array-buffer-byte-length "^1.0.1" - arraybuffer.prototype.slice "^1.0.3" - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - data-view-buffer "^1.0.1" - data-view-byte-length "^1.0.1" - data-view-byte-offset "^1.0.0" - es-define-property "^1.0.0" - es-errors "^1.3.0" - es-object-atoms "^1.0.0" - es-set-tostringtag "^2.0.3" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.6" - get-intrinsic "^1.2.4" - get-symbol-description "^1.0.2" - globalthis "^1.0.3" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - has-proto "^1.0.3" - has-symbols "^1.0.3" - hasown "^2.0.2" - internal-slot "^1.0.7" - is-array-buffer "^3.0.4" - is-callable "^1.2.7" - is-data-view "^1.0.1" - is-negative-zero "^2.0.3" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.3" - is-string "^1.0.7" - is-typed-array "^1.1.13" - is-weakref "^1.0.2" - object-inspect "^1.13.1" - object-keys "^1.1.1" - object.assign "^4.1.5" - regexp.prototype.flags "^1.5.2" - safe-array-concat "^1.1.2" - safe-regex-test "^1.0.3" - string.prototype.trim "^1.2.9" - string.prototype.trimend "^1.0.8" - string.prototype.trimstart "^1.0.8" - typed-array-buffer "^1.0.2" - typed-array-byte-length "^1.0.1" - typed-array-byte-offset "^1.0.2" - typed-array-length "^1.0.6" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.15" - -es-define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845" - integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ== - dependencies: - get-intrinsic "^1.2.4" - -es-errors@^1.2.1, es-errors@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f" - integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw== - -es-object-atoms@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941" - integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw== - dependencies: - es-errors "^1.3.0" - -es-set-tostringtag@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777" - integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ== - dependencies: - get-intrinsic "^1.2.4" - has-tostringtag "^1.0.2" - hasown "^2.0.1" - -es-shim-unscopables@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz#1f6942e71ecc7835ed1c8a83006d8771a63a3763" - integrity sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw== - dependencies: - hasown "^2.0.0" - -es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - -esbuild@^0.18.10: - version "0.18.20" - resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.18.20.tgz#4709f5a34801b43b799ab7d6d82f7284a9b7a7a6" - integrity sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA== - optionalDependencies: - "@esbuild/android-arm" "0.18.20" - "@esbuild/android-arm64" "0.18.20" - "@esbuild/android-x64" "0.18.20" - "@esbuild/darwin-arm64" "0.18.20" - "@esbuild/darwin-x64" "0.18.20" - "@esbuild/freebsd-arm64" "0.18.20" - "@esbuild/freebsd-x64" "0.18.20" - "@esbuild/linux-arm" "0.18.20" - "@esbuild/linux-arm64" "0.18.20" - "@esbuild/linux-ia32" "0.18.20" - "@esbuild/linux-loong64" "0.18.20" - "@esbuild/linux-mips64el" "0.18.20" - "@esbuild/linux-ppc64" "0.18.20" - "@esbuild/linux-riscv64" "0.18.20" - "@esbuild/linux-s390x" "0.18.20" - "@esbuild/linux-x64" "0.18.20" - "@esbuild/netbsd-x64" "0.18.20" - "@esbuild/openbsd-x64" "0.18.20" - "@esbuild/sunos-x64" "0.18.20" - "@esbuild/win32-arm64" "0.18.20" - "@esbuild/win32-ia32" "0.18.20" - "@esbuild/win32-x64" "0.18.20" - -escalade@^3.1.1, escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@^8.8.0: - version "8.10.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" - integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== - -eslint-plugin-solid@^0.12.1: - version "0.12.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-solid/-/eslint-plugin-solid-0.12.1.tgz#6035e9e992620f916fd9d14ad9eb2bbf62a76973" - integrity sha512-fM0sEg9PcS1mcNbWklwc+W/lOv1/XyEwXf53HmFFy4GOA8E3u41h8JW+hc+Vv1m3kh01umKoTalOTET08zKdAQ== - dependencies: - "@typescript-eslint/utils" "^5.55.0" - is-html "^2.0.0" - jsx-ast-utils "^3.3.3" - kebab-case "^1.0.2" - known-css-properties "^0.24.0" - style-to-object "^0.3.0" - -eslint-plugin-unicorn@^47.0.0: - version "47.0.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-unicorn/-/eslint-plugin-unicorn-47.0.0.tgz#960e9d3789f656ba3e21982420793b069a911011" - integrity sha512-ivB3bKk7fDIeWOUmmMm9o3Ax9zbMz1Bsza/R2qm46ufw4T6VBFBaJIR1uN3pCKSmSXm8/9Nri8V+iUut1NhQGA== - dependencies: - "@babel/helper-validator-identifier" "^7.19.1" - "@eslint-community/eslint-utils" "^4.4.0" - ci-info "^3.8.0" - clean-regexp "^1.0.0" - esquery "^1.5.0" - indent-string "^4.0.0" - is-builtin-module "^3.2.1" - jsesc "^3.0.2" - lodash "^4.17.21" - pluralize "^8.0.0" - read-pkg-up "^7.0.1" - regexp-tree "^0.1.24" - regjsparser "^0.10.0" - safe-regex "^2.1.1" - semver "^7.3.8" - strip-indent "^3.0.0" - -eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" - integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== - -eslint@^8.40.0: - version "8.57.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" - integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.57.0" - "@humanwhocodes/config-array" "^0.11.14" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - ajv "^6.12.4" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.3.2" - doctrine "^3.0.0" - escape-string-regexp "^4.0.0" - eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - find-up "^5.0.0" - glob-parent "^6.0.2" - globals "^13.19.0" - graphemer "^1.4.0" - ignore "^5.2.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-yaml "^4.1.0" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.1.2" - natural-compare "^1.4.0" - optionator "^0.9.3" - strip-ansi "^6.0.1" - text-table "^0.2.0" - -espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esquery@^1.4.2, esquery@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" - integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== - -esutils@^2.0.2, esutils@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -execa@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-diff@^1.2.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.3.0.tgz#ece407fa550a64d638536cd727e129c61616e0f0" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-glob@^3.2.12, fast-glob@^3.2.9, fast-glob@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.17.1.tgz#2a523f07a4e7b1e81a42b91b8bf2254107753b47" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -feather-icons@^4.29.0: - version "4.29.2" - resolved "https://registry.yarnpkg.com/feather-icons/-/feather-icons-4.29.2.tgz#b03a47588a1c400f215e884504db1c18860d89f8" - integrity sha512-0TaCFTnBTVCz6U+baY2UJNKne5ifGh7sMG4ZC2LoBWCZdIyPa+y6UiR4lEYGws1JOFWdee8KAsAIvu0VcXqiqA== - dependencies: - classnames "^2.2.5" - core-js "^3.1.3" - -fflate@^0.7.4: - version "0.7.4" - resolved "https://registry.yarnpkg.com/fflate/-/fflate-0.7.4.tgz#61587e5d958fdabb5a9368a302c25363f4f69f50" - integrity sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw== - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.2.0.tgz#2c0c2d5040c99b1632771a9d105725c0115363ee" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flatted@^3.2.7, flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - -foreground-child@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53" - integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA== - dependencies: - cross-spawn "^7.0.0" - signal-exit "^3.0.2" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -function.prototype.name@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" - integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.2.0" - es-abstract "^1.22.1" - functions-have-names "^1.2.3" - -functions-have-names@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-func-name@^2.0.1, get-func-name@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" - integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ== - dependencies: - es-errors "^1.3.0" - function-bind "^1.1.2" - has-proto "^1.0.1" - has-symbols "^1.0.3" - hasown "^2.0.0" - -get-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -get-symbol-description@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5" - integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg== - dependencies: - call-bind "^1.0.5" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - -glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" - integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== - dependencies: - define-properties "^1.2.1" - gopd "^1.0.1" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -gzip-size@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" - integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== - dependencies: - duplexer "^0.1.2" - -has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854" - integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg== - dependencies: - es-define-property "^1.0.0" - -has-proto@^1.0.1, has-proto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd" - integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q== - -has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - -has-tostringtag@^1.0.0, has-tostringtag@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc" - integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw== - dependencies: - has-symbols "^1.0.3" - -hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003" - integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ== - dependencies: - function-bind "^1.1.2" - -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - -html-entities@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46" - integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -html-tags@^3.0.0: - version "3.3.1" - resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.3.1.tgz#a04026a18c882e4bba8a01a3d39cfe465d40b5ce" - integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ== - -human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -ignore@^5.2.0: - version "5.3.1" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -inline-style-parser@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" - integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== - -internal-slot@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802" - integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g== - dependencies: - es-errors "^1.3.0" - hasown "^2.0.0" - side-channel "^1.0.4" - -is-array-buffer@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98" - integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.1" - -is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - -is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-builtin-module@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" - integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== - dependencies: - builtin-modules "^3.3.0" - -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-data-view@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f" - integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w== - dependencies: - is-typed-array "^1.1.13" - -is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-html@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-html/-/is-html-2.0.0.tgz#b3ab2e27ccb7a12235448f51f115a6690f435fc8" - integrity sha512-S+OpgB5i7wzIue/YSE5hg0e5ZYfG3hhpNh9KGl6ayJ38p7ED6wxQLd1TV91xHpcTvw90KMJ9EwN3F/iNflHBVg== - dependencies: - html-tags "^3.0.0" - -is-negative-zero@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747" - integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw== - -is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" - integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== - -is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688" - integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg== - dependencies: - call-bind "^1.0.7" - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - -is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - -is-typed-array@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229" - integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw== - dependencies: - which-typed-array "^1.1.14" - -is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - -is-what@^4.1.8: - version "4.1.16" - resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.16.tgz#1ad860a19da8b4895ad5495da3182ce2acdd7a6f" - integrity sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A== - -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz#2d166c4b0644d43a39f04bf6c2edd1e585f31756" - integrity sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg== - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-reports@^3.1.4: - version "3.1.7" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.7.tgz#daed12b9e1dca518e15c056e1e537e741280fa0b" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jiti@^1.21.0: - version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" - integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== - -js-string-escape@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/js-string-escape/-/js-string-escape-1.0.1.tgz#e2625badbc0d67c7533e9edc1068c587ae4137ef" - integrity sha512-Smw4xcfIQ5LVjAOuJCvN/zIodzA/BBSsluuoSykP+lUvScIi4U6RJLfwHet5cxFnCswUjISV8oAXaqaJDY3chg== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" - integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - -json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsx-ast-utils@^3.3.3: - version "3.3.5" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz#4766bd05a8e2a11af222becd19e15575e52a853a" - integrity sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - object.assign "^4.1.4" - object.values "^1.1.6" - -kebab-case@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/kebab-case/-/kebab-case-1.0.2.tgz#5eac97d5d220acf606d40e3c0ecfea21f1f9e1eb" - integrity sha512-7n6wXq4gNgBELfDCpzKc+mRrZFs7D+wgfF5WRFLNAr4DA/qtr9Js8uOAVAfHhuLMfAcQ0pRKqbpjx+TcJVdE1Q== - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.4.tgz#a879a99e29452f942439f2a405e3af8b31d4de93" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -known-css-properties@^0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/known-css-properties/-/known-css-properties-0.24.0.tgz#19aefd85003ae5698a5560d2b55135bf5432155c" - integrity sha512-RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA== - -kolorist@^1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/kolorist/-/kolorist-1.8.0.tgz#edddbbbc7894bc13302cdf740af6374d4a04743c" - integrity sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ== - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - -local-pkg@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.4.3.tgz#0ff361ab3ae7f1c19113d9bb97b98b905dbc4963" - integrity sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g== - -local-pkg@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/local-pkg/-/local-pkg-0.5.0.tgz#093d25a346bae59a99f80e75f6e9d36d7e8c925c" - integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== - dependencies: - mlly "^1.4.2" - pkg-types "^1.0.3" - -locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash@^4.17.15, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loupe@^2.3.6: - version "2.3.7" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.7.tgz#6e69b7d4db7d3ab436328013d37d1c8c3540c697" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -magic-string@^0.30.0: - version "0.30.10" - resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e" - integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -md5-hex@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/md5-hex/-/md5-hex-3.0.1.tgz#be3741b510591434b2784d79e556eefc2c9a8e5c" - integrity sha512-BUiRtTtV39LIJwinWBjqVsU9xhdnz7/i889V859IBFpuqGAj6LuOvHv5XLbgZ2R7ptJoJaEcxkv88/h25T7Ciw== - dependencies: - blueimp-md5 "^2.10.0" - -mdn-data@2.0.30: - version "2.0.30" - resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.30.tgz#ce4df6f80af6cfbe218ecd5c552ba13c4dfa08cc" - integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== - -merge-anything@^5.1.7: - version "5.1.7" - resolved "https://registry.yarnpkg.com/merge-anything/-/merge-anything-5.1.7.tgz#94f364d2b0cf21ac76067b5120e429353b3525d7" - integrity sha512-eRtbOb1N5iyH0tkQDAoQ4Ipsp/5qSR79Dzrz8hEPxRX10RWWR/iQXdoKmBSRCThY1Fh5EhISDtpSc93fpxUniQ== - dependencies: - is-what "^4.1.8" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - -minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -mlly@^1.2.0, mlly@^1.4.2, mlly@^1.6.1, mlly@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/mlly/-/mlly-1.7.0.tgz#587383ae40dda23cadb11c3c3cc972b277724271" - integrity sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ== - dependencies: - acorn "^8.11.3" - pathe "^1.1.2" - pkg-types "^1.1.0" - ufo "^1.5.3" - -mrmime@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-2.0.0.tgz#151082a6e06e59a9a39b46b3e14d5cfe92b3abb4" - integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -natural-compare-lite@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4" - integrity sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-fetch-native@^1.6.3: - version "1.6.4" - resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.6.4.tgz#679fc8fd8111266d47d7e72c379f1bed9acff06e" - integrity sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ== - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -normalize-package-data@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" - integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== - dependencies: - hosted-git-info "^2.1.4" - resolve "^1.10.0" - semver "2 || 3 || 4 || 5" - validate-npm-package-license "^3.0.1" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -object-inspect@^1.13.1: - version "1.13.1" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.13.1.tgz#b96c6109324ccfef6b12216a956ca4dc2ff94bc2" - integrity sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ== - -object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - -object.assign@^4.1.4, object.assign@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0" - integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ== - dependencies: - call-bind "^1.0.5" - define-properties "^1.2.1" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.values@^1.1.6: - version "1.2.0" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.2.0.tgz#65405a9d92cee68ac2d303002e0b8470a4d9ab1b" - integrity sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -ofetch@^1.0.1: - version "1.3.4" - resolved "https://registry.yarnpkg.com/ofetch/-/ofetch-1.3.4.tgz#7ea65ced3c592ec2b9906975ae3fe1d26a56f635" - integrity sha512-KLIET85ik3vhEfS+3fDlc/BAZiAp+43QEC/yCo5zkNoY2YaKvNkOaFr/6wCFgFH1kuYQM5pMNi0Tg8koiIemtw== - dependencies: - destr "^2.0.3" - node-fetch-native "^1.6.3" - ufo "^1.5.3" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -openapi-fetch@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/openapi-fetch/-/openapi-fetch-0.2.1.tgz#a5865cd030620df9047c588554b1b670b0355757" - integrity sha512-XrpiPz8fPUdYtgcXSU4u8jJ/At67PbFsj6XRZZbt6lMsrosKplWY7dUgnkstYaroschNz/NfYSPIiq0sOaY0nw== - -openapi-typescript@^6.5.0: - version "6.7.5" - resolved "https://registry.yarnpkg.com/openapi-typescript/-/openapi-typescript-6.7.5.tgz#3e7f0d080d540396ef8db3df4ed07e1a4a5bb1d8" - integrity sha512-ZD6dgSZi0u1QCP55g8/2yS5hNJfIpgqsSGHLxxdOjvY7eIrXzj271FJEQw33VwsZ6RCtO/NOuhxa7GBWmEudyA== - dependencies: - ansi-colors "^4.1.3" - fast-glob "^3.3.2" - js-yaml "^4.1.0" - supports-color "^9.4.0" - undici "^5.28.2" - yargs-parser "^21.1.1" - -optionator@^0.9.3: - version "0.9.4" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.4.tgz#7ea1c1a5d91d764fb282139c88fe11e182a3a734" - integrity sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.5" - -p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-4.0.0.tgz#914af6544ed32bfa54670b061cafcbd04984b644" - integrity sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - -parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathe@^1.1.0, pathe@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.2.tgz#6c4cb47a945692e48a1ddd6e4094d170516437ec" - integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -perfect-debounce@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz#9c2e8bc30b169cc984a58b7d5b28049839591d2a" - integrity sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pkg-types@^1.0.3, pkg-types@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pkg-types/-/pkg-types-1.1.1.tgz#07b626880749beb607b0c817af63aac1845a73f2" - integrity sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ== - dependencies: - confbox "^0.1.7" - mlly "^1.7.0" - pathe "^1.1.2" - -pluralize@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - -possible-typed-array-names@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f" - integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q== - -postcss@^8.4.23, postcss@^8.4.27: - version "8.4.38" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e" - integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.2.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier@^2.8.8: - version "2.8.8" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" - integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== - -pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - -read-pkg-up@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" - integrity sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== - dependencies: - find-up "^4.1.0" - read-pkg "^5.2.0" - type-fest "^0.8.1" - -read-pkg@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-5.2.0.tgz#7bf295438ca5a33e56cd30e053b34ee7250c93cc" - integrity sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== - dependencies: - "@types/normalize-package-data" "^2.4.0" - normalize-package-data "^2.5.0" - parse-json "^5.0.0" - type-fest "^0.6.0" - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -regexp-tree@^0.1.24, regexp-tree@~0.1.1: - version "0.1.27" - resolved "https://registry.yarnpkg.com/regexp-tree/-/regexp-tree-0.1.27.tgz#2198f0ef54518ffa743fe74d983b56ffd631b6cd" - integrity sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA== - -regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== - dependencies: - call-bind "^1.0.6" - define-properties "^1.2.1" - es-errors "^1.3.0" - set-function-name "^2.0.1" - -regjsparser@^0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.10.0.tgz#b1ed26051736b436f22fdec1c8f72635f9f44892" - integrity sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA== - dependencies: - jsesc "~0.5.0" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve@^1.10.0: - version "1.22.8" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -rollup@^3.27.1: - version "3.29.4" - resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.4.tgz#4d70c0f9834146df8705bfb69a9a19c9e1109981" - integrity sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw== - optionalDependencies: - fsevents "~2.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-array-concat@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb" - integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q== - dependencies: - call-bind "^1.0.7" - get-intrinsic "^1.2.4" - has-symbols "^1.0.3" - isarray "^2.0.5" - -safe-regex-test@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377" - integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw== - dependencies: - call-bind "^1.0.6" - es-errors "^1.3.0" - is-regex "^1.1.4" - -safe-regex@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-2.1.1.tgz#f7128f00d056e2fe5c11e81a1324dd974aadced2" - integrity sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A== - dependencies: - regexp-tree "~0.1.1" - -"semver@2 || 3 || 4 || 5": - version "5.7.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8" - integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.3.2, semver@^7.3.7, semver@^7.3.8, semver@^7.5.3: - version "7.6.2" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.6.2.tgz#1e3b34759f896e8f14d6134732ce798aeb0c6e13" - integrity sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w== - -seroval-plugins@^1.0.3: - version "1.0.5" - resolved "https://registry.yarnpkg.com/seroval-plugins/-/seroval-plugins-1.0.5.tgz#eeded50d736d5e1dba142a72b0188df9f4e42b6d" - integrity sha512-8+pDC1vOedPXjKG7oz8o+iiHrtF2WswaMQJ7CKFpccvSYfrzmvKY9zOJWCg+881722wIHfwkdnRmiiDm9ym+zQ== - -seroval@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/seroval/-/seroval-1.0.5.tgz#d71ee540d936babaed92f56eda3e52d8e2a3deed" - integrity sha512-TM+Z11tHHvQVQKeNlOUonOWnsNM+2IBwZ4vwoi4j3zKzIpc5IDw8WPwCfcc8F17wy6cBcJGbZbFOR0UCuTZHQA== - -set-function-length@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449" - integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - function-bind "^1.1.2" - get-intrinsic "^1.2.4" - gopd "^1.0.1" - has-property-descriptors "^1.0.2" - -set-function-name@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985" - integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ== - dependencies: - define-data-property "^1.1.4" - es-errors "^1.3.0" - functions-have-names "^1.2.3" - has-property-descriptors "^1.0.2" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -side-channel@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2" - integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - get-intrinsic "^1.2.4" - object-inspect "^1.13.1" - -siginfo@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/siginfo/-/siginfo-2.0.0.tgz#32e76c70b79724e3bb567cb9d543eb858ccfaf30" - integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== - -signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sirv@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-2.0.4.tgz#5dd9a725c578e34e449f332703eb2a74e46a29b0" - integrity sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ== - dependencies: - "@polka/url" "^1.0.0-next.24" - mrmime "^2.0.0" - totalist "^3.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -solid-headless@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/solid-headless/-/solid-headless-0.13.1.tgz#eed2d79043891eaebccc8aa1449f7aaa8ba24e2e" - integrity sha512-FZJai49YmdBu6oEo8aJGPMQ1Qn8xiW0cnD6vNFDIQWMKJdXEUtDEwz0hTR9aZ7Epq3IkrZs+98E0vNiv1+pZpA== - dependencies: - solid-use "^0.6.2" - -solid-js@^1.7.4: - version "1.8.17" - resolved "https://registry.yarnpkg.com/solid-js/-/solid-js-1.8.17.tgz#780ed6f0fd8633009d1b3c29d56bf6b6bb33bd50" - integrity sha512-E0FkUgv9sG/gEBWkHr/2XkBluHb1fkrHywUgA6o6XolPDCJ4g1HaLmQufcBBhiF36ee40q+HpG/vCZu7fLpI3Q== - dependencies: - csstype "^3.1.0" - seroval "^1.0.4" - seroval-plugins "^1.0.3" - -solid-refresh@^0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/solid-refresh/-/solid-refresh-0.6.3.tgz#d23ef80f04e177619c9234a809c573cb16360627" - integrity sha512-F3aPsX6hVw9ttm5LYlth8Q15x6MlI/J3Dn+o3EQyRTtTxidepSTwAYdozt01/YA+7ObcciagGEyXIopGZzQtbA== - dependencies: - "@babel/generator" "^7.23.6" - "@babel/helper-module-imports" "^7.22.15" - "@babel/types" "^7.23.6" - -solid-use@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/solid-use/-/solid-use-0.6.2.tgz#c9d997d5db3658693bf7436741439924f487d5c8" - integrity sha512-0ShJ5s+4PIN0pJB/BtsQucsZB+xnUeeTGaxErQDu6USn5jygZWXicAtOEvFbI8gv40xE751uY1Tz7Aib9lxL/Q== - -source-map-js@^1.0.1, source-map-js@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -spdx-correct@^3.0.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c" - integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== - dependencies: - spdx-expression-parse "^3.0.0" - spdx-license-ids "^3.0.0" - -spdx-exceptions@^2.1.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66" - integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== - -spdx-expression-parse@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" - integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== - dependencies: - spdx-exceptions "^2.1.0" - spdx-license-ids "^3.0.0" - -spdx-license-ids@^3.0.0: - version "3.0.17" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz#887da8aa73218e51a1d917502d79863161a93f9c" - integrity sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg== - -stackback@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/stackback/-/stackback-0.0.2.tgz#1ac8a0d9483848d1695e418b6d031a3c3ce68e3b" - integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== - -std-env@^3.3.2: - version "3.7.0" - resolved "https://registry.yarnpkg.com/std-env/-/std-env-3.7.0.tgz#c9f7386ced6ecf13360b6c6c55b8aaa4ef7481d2" - integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string.prototype.trim@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4" - integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-abstract "^1.23.0" - es-object-atoms "^1.0.0" - -string.prototype.trimend@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229" - integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -string.prototype.trimstart@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde" - integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg== - dependencies: - call-bind "^1.0.7" - define-properties "^1.2.1" - es-object-atoms "^1.0.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - -strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-literal@^1.0.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/strip-literal/-/strip-literal-1.3.0.tgz#db3942c2ec1699e6836ad230090b84bb458e3a07" - integrity sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg== - dependencies: - acorn "^8.10.0" - -style-to-object@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" - integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== - dependencies: - inline-style-parser "0.1.1" - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^9.4.0: - version "9.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.4.0.tgz#17bfcf686288f531db3dea3215510621ccb55954" - integrity sha512-VL+lNrEoIXww1coLPOmiEmK/0sGigko5COxI09KzHc2VJXJsQ37UaQ+8quuxjDeA7+KnLGTWRyOXSLLR2Wb4jw== - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -time-zone@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/time-zone/-/time-zone-1.0.0.tgz#99c5bf55958966af6d06d83bdf3800dc82faec5d" - integrity sha512-TIsDdtKo6+XrPtiTm1ssmMngN1sAhyKnTO2kunQWqNPWIVvCm15Wmw4SWInwTVgJ5u/Tr04+8Ei9TNcw4x4ONA== - -tinybench@^2.5.0: - version "2.8.0" - resolved "https://registry.yarnpkg.com/tinybench/-/tinybench-2.8.0.tgz#30e19ae3a27508ee18273ffed9ac7018949acd7b" - integrity sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw== - -tinypool@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/tinypool/-/tinypool-0.5.0.tgz#3861c3069bf71e4f1f5aa2d2e6b3aaacc278961e" - integrity sha512-paHQtnrlS1QZYKF/GnLoOM/DN9fqaGOFbCbxzAhwniySnzl9Ebk8w73/dd34DAhe/obUbPAOldTyYXQZxnPBPQ== - -tinyspy@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.2.1.tgz#117b2342f1f38a0dbdcc73a50a454883adf861d1" - integrity sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -totalist@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-3.0.1.tgz#ba3a3d600c915b1a97872348f79c127475f6acf8" - integrity sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ== - -tslib@^1.8.1: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - -tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@^4.0.0, type-detect@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - -type-fest@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.6.0.tgz#8d2a2370d3df886eb5c90ada1c5bf6188acf838b" - integrity sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== - -type-fest@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" - integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== - -typed-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3" - integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ== - dependencies: - call-bind "^1.0.7" - es-errors "^1.3.0" - is-typed-array "^1.1.13" - -typed-array-byte-length@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67" - integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-byte-offset@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063" - integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - -typed-array-length@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3" - integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g== - dependencies: - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-proto "^1.0.3" - is-typed-array "^1.1.13" - possible-typed-array-names "^1.0.0" - -typescript@^5.0.4: - version "5.4.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611" - integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ== - -ufo@^1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.5.3.tgz#3325bd3c977b6c6cd3160bf4ff52989adc9d3344" - integrity sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw== - -unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - -unconfig@^0.3.7: - version "0.3.13" - resolved "https://registry.yarnpkg.com/unconfig/-/unconfig-0.3.13.tgz#8612d57811c1316f30d95f45bb96ce8ce8afc10c" - integrity sha512-N9Ph5NC4+sqtcOjPfHrRcHekBCadCXWTBzp2VYYbySOHW0PfD9XLCeXshTXjkPYwLrBr9AtSeU0CZmkYECJhng== - dependencies: - "@antfu/utils" "^0.7.7" - defu "^6.1.4" - jiti "^1.21.0" - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -undici@^5.28.2: - version "5.28.4" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.28.4.tgz#6b280408edb6a1a604a9b20340f45b422e373068" - integrity sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g== - dependencies: - "@fastify/busboy" "^2.0.0" - -unocss@^0.51.8: - version "0.51.13" - resolved "https://registry.yarnpkg.com/unocss/-/unocss-0.51.13.tgz#f41c0d186559f2375f319334f4811ed21b427b23" - integrity sha512-EAhuQ97D7E+EsTdlCL+xoWEsvz46Se9ZAtHhJ+1W+DzMky9qrDLRyR8Caf2TPbz8dw/z0qYhoPr6/aJARG4r0g== - dependencies: - "@unocss/astro" "0.51.13" - "@unocss/cli" "0.51.13" - "@unocss/core" "0.51.13" - "@unocss/extractor-arbitrary-variants" "0.51.13" - "@unocss/postcss" "0.51.13" - "@unocss/preset-attributify" "0.51.13" - "@unocss/preset-icons" "0.51.13" - "@unocss/preset-mini" "0.51.13" - "@unocss/preset-tagify" "0.51.13" - "@unocss/preset-typography" "0.51.13" - "@unocss/preset-uno" "0.51.13" - "@unocss/preset-web-fonts" "0.51.13" - "@unocss/preset-wind" "0.51.13" - "@unocss/reset" "0.51.13" - "@unocss/transformer-attributify-jsx" "0.51.13" - "@unocss/transformer-attributify-jsx-babel" "0.51.13" - "@unocss/transformer-compile-class" "0.51.13" - "@unocss/transformer-directives" "0.51.13" - "@unocss/transformer-variant-group" "0.51.13" - "@unocss/vite" "0.51.13" - -update-browserslist-db@^1.0.13: - version "1.0.15" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.15.tgz#60ed9f8cba4a728b7ecf7356f641a31e3a691d97" - integrity sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA== - dependencies: - escalade "^3.1.2" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -v8-to-istanbul@^9.0.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -validate-html-nesting@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/validate-html-nesting/-/validate-html-nesting-1.2.2.tgz#2d74de14b598a0de671fad01bd71deabb93b8aca" - integrity sha512-hGdgQozCsQJMyfK5urgFcWEqsSSrK63Awe0t/IMR0bZ0QMtnuaiHzThW81guu3qx9abLi99NEuiaN6P9gVYsNg== - -validate-npm-package-license@^3.0.1: - version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" - integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== - dependencies: - spdx-correct "^3.0.0" - spdx-expression-parse "^3.0.0" - -vite-node@0.31.4: - version "0.31.4" - resolved "https://registry.yarnpkg.com/vite-node/-/vite-node-0.31.4.tgz#0437f76c35fa83f0a868d3fb5896ca9e164291f5" - integrity sha512-uzL377GjJtTbuc5KQxVbDu2xfU/x0wVjUtXQR2ihS21q/NK6ROr4oG0rsSkBBddZUVCwzfx22in76/0ZZHXgkQ== - dependencies: - cac "^6.7.14" - debug "^4.3.4" - mlly "^1.2.0" - pathe "^1.1.0" - picocolors "^1.0.0" - vite "^3.0.0 || ^4.0.0" - -vite-plugin-solid@^2.7.2: - version "2.10.2" - resolved "https://registry.yarnpkg.com/vite-plugin-solid/-/vite-plugin-solid-2.10.2.tgz#180f5ec9d8ac03d19160dd5728b313fe9b62ee0d" - integrity sha512-AOEtwMe2baBSXMXdo+BUwECC8IFHcKS6WQV/1NEd+Q7vHPap5fmIhLcAzr+DUJ04/KHx/1UBU0l1/GWP+rMAPQ== - dependencies: - "@babel/core" "^7.23.3" - "@types/babel__core" "^7.20.4" - babel-preset-solid "^1.8.4" - merge-anything "^5.1.7" - solid-refresh "^0.6.3" - vitefu "^0.2.5" - -"vite@^3.0.0 || ^4.0.0", vite@^4.5.3: - version "4.5.3" - resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.3.tgz#d88a4529ea58bae97294c7e2e6f0eab39a50fb1a" - integrity sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg== - dependencies: - esbuild "^0.18.10" - postcss "^8.4.27" - rollup "^3.27.1" - optionalDependencies: - fsevents "~2.3.2" - -vitefu@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/vitefu/-/vitefu-0.2.5.tgz#c1b93c377fbdd3e5ddd69840ea3aa70b40d90969" - integrity sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q== - -vitest@^0.31.4: - version "0.31.4" - resolved "https://registry.yarnpkg.com/vitest/-/vitest-0.31.4.tgz#5abe02562675262949c10e40811f348a80f6b2a6" - integrity sha512-GoV0VQPmWrUFOZSg3RpQAPN+LPmHg2/gxlMNJlyxJihkz6qReHDV6b0pPDcqFLNEPya4tWJ1pgwUNP9MLmUfvQ== - dependencies: - "@types/chai" "^4.3.5" - "@types/chai-subset" "^1.3.3" - "@types/node" "*" - "@vitest/expect" "0.31.4" - "@vitest/runner" "0.31.4" - "@vitest/snapshot" "0.31.4" - "@vitest/spy" "0.31.4" - "@vitest/utils" "0.31.4" - acorn "^8.8.2" - 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.0" - picocolors "^1.0.0" - std-env "^3.3.2" - strip-literal "^1.0.1" - tinybench "^2.5.0" - tinypool "^0.5.0" - vite "^3.0.0 || ^4.0.0" - vite-node "0.31.4" - why-is-node-running "^2.2.2" - -well-known-symbols@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/well-known-symbols/-/well-known-symbols-2.0.0.tgz#e9c7c07dbd132b7b84212c8174391ec1f9871ba5" - integrity sha512-ZMjC3ho+KXo0BfJb7JgtQ5IBuvnShdlACNkKkdsqBmYw3bPAaJfPeYUo6tLUaT5tG/Gkh7xkpBhKRQ9e7pyg9Q== - -which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - -which-typed-array@^1.1.14, which-typed-array@^1.1.15: - version "1.1.15" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" - integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== - dependencies: - available-typed-arrays "^1.0.7" - call-bind "^1.0.7" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.2" - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -why-is-node-running@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/why-is-node-running/-/why-is-node-running-2.2.2.tgz#4185b2b4699117819e7154594271e7e344c9973e" - integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== - dependencies: - siginfo "^2.0.0" - stackback "0.0.2" - -word-wrap@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34" - integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA== - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs-parser@^21.1.1: - version "21.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" - integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== - -yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-1.0.0.tgz#7f816433fb2cbc511ec8bf7d263c3b58a1a3c251" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== From 8165f5f221fb9a1af06afeb57502c548cfad47e5 Mon Sep 17 00:00:00 2001 From: Benedikt Labrenz Date: Tue, 21 Apr 2026 10:42:49 +0200 Subject: [PATCH 2/2] fix CI checks --- Cargo.lock | 5 ++--- Cargo.nix | 8 ++------ rust/xtask/Cargo.toml | 1 - 3 files changed, 4 insertions(+), 10 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 1cbc3e59..100f6188 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3145,9 +3145,9 @@ checksum = "f87165f0995f63a9fbeea62b64d10b4d9d8e78ec6d7d51fb2125fda7bb36788f" [[package]] name = "rustls-webpki" -version = "0.103.11" +version = "0.103.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "20a6af516fea4b20eccceaf166e8aa666ac996208e8a644ce3ef5aa783bc7cd4" +checksum = "8279bb85272c9f10811ae6a6c547ff594d6a7f3c6c6b02ee9726d1d0dcfcdd06" dependencies = [ "aws-lc-rs", "ring", @@ -5121,7 +5121,6 @@ dependencies = [ "regex", "serde_json", "snafu 0.9.0", - "stackable-cockpitd", "stackablectl", "tera", ] diff --git a/Cargo.nix b/Cargo.nix index 6e4d6480..db19601b 100644 --- a/Cargo.nix +++ b/Cargo.nix @@ -10491,9 +10491,9 @@ rec { }; "rustls-webpki" = rec { crateName = "rustls-webpki"; - version = "0.103.11"; + version = "0.103.12"; edition = "2021"; - sha256 = "1m3wpj1sfnpgwd6692lf42bcjsk6mbl6dwgarkn20jzadx8sz9i0"; + sha256 = "01nxzkfd1l96jzp04svc7iznlkarzx3wb9p63a0i17rc4y2vnyc2"; libName = "webpki"; dependencies = [ { @@ -18186,10 +18186,6 @@ rec { packageId = "snafu 0.9.0"; features = [ "futures" ]; } - { - name = "stackable-cockpitd"; - packageId = "stackable-cockpitd"; - } { name = "stackablectl"; packageId = "stackablectl"; diff --git a/rust/xtask/Cargo.toml b/rust/xtask/Cargo.toml index 1007dca3..69a5beb7 100644 --- a/rust/xtask/Cargo.toml +++ b/rust/xtask/Cargo.toml @@ -13,6 +13,5 @@ once_cell.workspace = true regex.workspace = true serde_json.workspace = true snafu.workspace = true -stackable-cockpitd = { path = "../stackable-cockpitd" } stackablectl = { path = "../stackablectl" } tera.workspace = true