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..100f6188 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" @@ -3184,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", @@ -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", @@ -5169,7 +5121,6 @@ dependencies = [ "regex", "serde_json", "snafu 0.9.0", - "stackable-cockpitd", "stackablectl", "tera", ] diff --git a/Cargo.nix b/Cargo.nix index b4a24133..db19601b 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"; + packageId = "phf_generator"; } { name = "phf_shared"; - packageId = "phf_shared 0.11.3"; + packageId = "phf_shared"; } ]; }; - "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"; - } - { - name = "phf_shared"; - packageId = "phf_shared 0.13.1"; - } - ]; - - }; - "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"; @@ -10597,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 = [ { @@ -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"; @@ -18320,10 +18186,6 @@ rec { packageId = "snafu 0.9.0"; features = [ "futures" ]; } - { - name = "stackable-cockpitd"; - packageId = "stackable-cockpitd"; - } { name = "stackablectl"; packageId = "stackablectl"; 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/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 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 2846f29c..00000000 Binary files a/web/public/fonts/Inter-Bold.woff2 and /dev/null differ diff --git a/web/public/fonts/Inter-Medium.woff2 b/web/public/fonts/Inter-Medium.woff2 deleted file mode 100644 index f92498a2..00000000 Binary files a/web/public/fonts/Inter-Medium.woff2 and /dev/null differ diff --git a/web/public/fonts/Inter-Regular.woff2 b/web/public/fonts/Inter-Regular.woff2 deleted file mode 100644 index 6c2b6893..00000000 Binary files a/web/public/fonts/Inter-Regular.woff2 and /dev/null differ 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 49c633b1..00000000 Binary files a/web/src/resources/logo.png and /dev/null differ diff --git a/web/src/types/index.ts b/web/src/types/index.ts deleted file mode 100644 index ddf5edd1..00000000 --- a/web/src/types/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -export * from './result'; -export * from './option'; -export * from './utils'; diff --git a/web/src/types/option.ts b/web/src/types/option.ts deleted file mode 100644 index 2cc222e7..00000000 --- a/web/src/types/option.ts +++ /dev/null @@ -1,412 +0,0 @@ -import { ToString } from './utils'; -import { Err, Ok, Result } from './result'; - -interface BaseOption { - /** - * 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==