From 0753580120c511a64d3ef348768888daa43134c8 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 5 Nov 2026 13:55:23 -0800 Subject: [PATCH 01/19] [uplift] chore: pnpm 12, Node 26, vendored fast-deep-equal test cases (#141) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of #140 (Phase 1). No change to the library: `index.js` and `index.d.ts` are untouched, so there's no changeset. ## Changes - **pnpm 12.16.0** (`packageManager`) replaces yarn 1. `yarn.lock` was converted with `pnpm import`, so dependency versions are unchanged. - `pnpm-workspace.yaml`: `minimumReleaseAge: 10080` (7 days, transitive deps included, strict), and an `allowBuilds` decision for `core-js` (its postinstall only prints a funding message). - `.nvmrc` → `26`, used by CI via `node-version-file`. `.editorconfig` copied from victory. - **Vendored test cases:** fast-deep-equal v3.1.3's `spec/tests.js` and `spec/es6tests.js` now live unchanged in `test/fixtures/fast-deep-equal/`, with its MIT license and a README. The `fast-deep-equal-git` git dependency is gone. This was pulled forward from Phase 3 because pnpm packs git dependencies, which honors upstream's `files` list, so `spec/` was no longer installed. - **CI:** pnpm, `.nvmrc`, `permissions: {}` with a per-job grant, `persist-credentials: false`, `actions/*` v7, and `pnpm/action-setup` pinned by SHA. It now also runs on pushes to `chore/2026-uplift*`. The test steps (Karma, mocha) are unchanged; Phases 2–3 replace them. - **Codecov removed** (pulled forward from Phase 2): the CI step, the `codecov` dev dependency and the README badge. The `codecov@3` uploader is deprecated and crashes (`TypeError: result.split is not a function`). `nyc` still prints a coverage summary in the test log; Vitest coverage in the job summary replaces it in Phase 3. - AppVeyor removed. We have GH actions windows testing. - `.gitignore` trimmed from the 2017 template. The README install section is npm-only, and CONTRIBUTING uses pnpm and documents `.nvmrc` and the release-age rule. `release.yml` still uses yarn. The next Phase 1 PR rewrites it (changesets v3, OIDC). It only runs on `master`, so nothing uses it in the meantime. ## Checks - `pnpm install --frozen-lockfile` from scratch on Node 26.13.0, then `pnpm test`: ESLint, both TS checks, mocha (117 passing) and Karma in headless Chrome (120 completed). The counts are the same as with the git dependency. CI passes on ubuntu and windows. - `pnpm pack --dry-run`: same five files. The published `package.json` gains a `packageManager` field, which installers ignore for dependencies, and the README text changed. --- .editorconfig | 14 + .eslintignore | 2 + .github/workflows/ci.yml | 32 +- .gitignore | 75 +- .nvmrc | 1 + CONTRIBUTING.md | 69 +- README.md | 11 +- package.json | 11 +- pnpm-lock.yaml | 7597 +++++++++++++++++++++ pnpm-workspace.yaml | 14 + test/browser/karma.conf.ie.js | 9 - test/browser/karma.conf.js | 15 +- test/fixtures/fast-deep-equal/LICENSE | 21 + test/fixtures/fast-deep-equal/README.md | 9 + test/fixtures/fast-deep-equal/es6tests.js | 339 + test/fixtures/fast-deep-equal/tests.js | 400 ++ test/node/tests.js | 4 +- yarn.lock | 6681 ------------------ 18 files changed, 8488 insertions(+), 6816 deletions(-) create mode 100644 .editorconfig create mode 100644 .nvmrc create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml delete mode 100644 test/browser/karma.conf.ie.js create mode 100644 test/fixtures/fast-deep-equal/LICENSE create mode 100644 test/fixtures/fast-deep-equal/README.md create mode 100644 test/fixtures/fast-deep-equal/es6tests.js create mode 100644 test/fixtures/fast-deep-equal/tests.js delete mode 100644 yarn.lock diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..f5e8e9f --- /dev/null +++ b/.editorconfig @@ -0,0 +1,14 @@ +# editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true +max_line_length = 80 + +[*.md] +trim_trailing_whitespace = false \ No newline at end of file diff --git a/.eslintignore b/.eslintignore index c8401be..a0de70e 100644 --- a/.eslintignore +++ b/.eslintignore @@ -1 +1,3 @@ test/typescript/index.js +# Vendored from fast-deep-equal, kept unchanged. +test/fixtures/fast-deep-equal/ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c4e9289..96cc9e9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,39 +1,41 @@ ---- name: CI on: push: branches: - master + - chore/2026-uplift* pull_request: types: [opened, synchronize, reopened] +# Reset permissions and grant them per job. +permissions: {} + jobs: test: + name: Test on ${{ matrix.os }} runs-on: ${{ matrix.os }} + permissions: + contents: read # to check out repo (actions/checkout) strategy: matrix: os: - ubuntu-latest - windows-latest - node_version: - - 18 - name: Node ${{ matrix.node_version }} on ${{ matrix.os }} steps: - name: Use LF EOL if: ${{ matrix.os == 'windows-latest' }} run: | git config --global core.autocrlf false - - name: Checkout - uses: actions/checkout@v4 - - name: Setup node - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@v7 with: - cache: "yarn" - node-version: ${{ matrix.node_version }} - - name: Install Dependencies - run: yarn install --frozen-lockfile + node-version-file: ".nvmrc" + cache: "pnpm" + - name: Install dependencies + run: pnpm install --frozen-lockfile - name: Test - run: yarn test - - name: Codecov - run: yarn codecov + run: pnpm test diff --git a/.gitignore b/.gitignore index bf17c09..fceb9cf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,69 +1,28 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (http://nodejs.org/api/addons.html) -build/Release - -# Dependency directories +# Dependencies node_modules/ -jspm_packages/ - -# Typescript v1 declaration files -typings/ -# Compiled output from Typescript usage test -test/typescript/*.js - -# Optional npm cache directory -.npm +# Only pnpm's lockfile is committed. +package-lock.json +yarn.lock -# Optional eslint cache -.eslintcache +# Logs +*.log -# Optional REPL history -.node_repl_history +# Test output +coverage/ +.nyc_output/ +test/typescript/*.js -# Output of 'npm pack' +# Output of `npm pack` / `pnpm pack` *.tgz -# Yarn Integrity file -.yarn-integrity - -# npm lock file -package-lock.json - -# dotenv environment variables file +# Caches and local env +.eslintcache .env -# editors +# Editors and OS .vscode/ - .DS_Store + +# Local planning / scratch files +tmp-* diff --git a/.nvmrc b/.nvmrc new file mode 100644 index 0000000..6f4247a --- /dev/null +++ b/.nvmrc @@ -0,0 +1 @@ +26 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7c9096a..7c27f75 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,8 +12,9 @@ We encourage pull requests concerning: - React features not handled in this library - Integrating updates from `fast-deep-equal` - This, unfortunately, now requires more manual work. Use the comment blocks in `index.js` to figure out what to paste and where. -- Integrating tests from `fast-deep-equal` - This usually entails upgrading the `git`-based dependencies of `fast-deep-equal-git` and - `npm`-published package of `fast-deep-equal` in `package.json:devDependencies`. +- Integrating tests from `fast-deep-equal` - Copy its `spec/` test files into `test/fixtures/fast-deep-equal/` + and update the version in that directory's README. The `fast-deep-equal` npm package in `devDependencies` is the + benchmark baseline. - Bugs in this library - New tests for React - Documentation @@ -26,17 +27,34 @@ Pull requests that should be for [fast-deep-equal](https://github.com/epoberezki ## Development -Install the project using `yarn` (which we've standardized on for development): +### Setup + +We develop on the Node.js version in [`.nvmrc`](./.nvmrc) (CI uses it too). With +[nvm](https://github.com/nvm-sh/nvm) or a compatible tool: ```sh -$ yarn install +$ nvm use ``` +We use [pnpm](https://pnpm.io/) for development. The version is pinned in +`package.json`'s `packageManager` field; with +[Corepack](https://nodejs.org/api/corepack.html) or pnpm's own version +management, the right version is picked up automatically. + +```sh +$ pnpm install +``` + +pnpm only installs versions published at least 7 days ago +(`minimumReleaseAge` in `pnpm-workspace.yaml`), transitive dependencies +included. For an urgent security fix that's newer than that, add the package to +`minimumReleaseAgeExclude` with a comment and a date to remove it. + **TL; DR:** - Everything you normally need to run is aggregated into: ```sh -$ yarn run test -$ yarn run benchmark +$ pnpm run test +$ pnpm run benchmark ``` (We use `builder` to parallelize things, so tasks may output in different @@ -46,9 +64,11 @@ orders) We write one set of tests located in: -- `tests/node/**.spec.js` +- `test/node/**.spec.js` -that run in two very different scenarios: +that run in two very different scenarios (below). Most generic test cases come +from `fast-deep-equal`, vendored unchanged in `test/fixtures/fast-deep-equal/` +(see its README). #### Node @@ -57,29 +77,26 @@ to begin with) without any transpilation or "build". You can run them with: ```sh # Single run -$ yarn run test-node +$ pnpm run test-node # Persistent watch -$ yarn run test-node --watch +$ pnpm run test-node --watch ``` #### Browsers The same tests are then imported and built with `webpack` to a test bundle that -can be run in arbitrary browsers. So far in CI, we execute the tests in headless -Chrome on Linux in Travis and IE11 in Appveyor. +can be run in arbitrary browsers. CI runs them in headless Chrome on Linux and +Windows (GitHub Actions). To run the browser tests on your machine (note: you must already have the browser you're running installed): ```sh # Default: headless chrome -$ yarn run test-browser +$ pnpm run test-browser # Example: real Chrome + Firefox + Safari -$ yarn run test-browser --browsers Chrome,Firefox,Safari - -# IE11 (on Windows) -$ yarn run test-browser-ie +$ pnpm run test-browser --browsers Chrome,Firefox,Safari ``` ### Types @@ -88,16 +105,16 @@ We validate our TypeScript `index.d.ts` with two steps: ```sh # Runs the TypeScript compiler over our types -$ yarn run test-ts-defs +$ pnpm run test-ts-defs # Runs our types through a sample TypeScript file -$ yarn run test-ts-usage +$ pnpm run test-ts-usage ``` ### Style ```sh -$ yarn run eslint +$ pnpm run eslint ``` ### Size @@ -106,10 +123,10 @@ You can check how we do with minification + compression with: ```sh # Show minified output -$ yarn -s compress +$ pnpm -s compress # Display minified + gzip'ed size in bytes. -$ yarn size-min-gz +$ pnpm size-min-gz ``` **Note**: If the min+gz size increases, please note it in the README. If it is a significant increase, @@ -122,8 +139,8 @@ please flag to your reviewers and have a discussion about whether or not the siz 1. Confirm that all checks are passing: ```sh - $ yarn run test - $ yarn run benchmark + $ pnpm run test + $ pnpm run benchmark ``` 2. Confirm we don't have any significant performance regressions (check out `master` for a baseline comparison on _your_ machine). @@ -131,7 +148,7 @@ please flag to your reviewers and have a discussion about whether or not the siz 3. Confirm you aren't impacting our bundle size. If you _do_ affect the bundle size, please update the bundle badge in the Readme by - Following the steps outlined in [size](#size): - `yarn -s compress && yarn size-min-gz` + `pnpm -s compress && pnpm size-min-gz` - Grabbing that output and replacing the current size in the bundle_img: (`https://img.shields.io/badge/minzipped%20size-%20B-flatgreen.svg`) For example, if the new size is `650`, the new bundle_img will be `https://img.shields.io/badge/minzipped%20size-650%20B-flatgreen.svg` - _Org members:_ Update the README's benchmark comparison png using this [internal Google Sheet template](https://docs.google.com/spreadsheets/d/1GuqpO0wgPjQ9usx6sR3t0Y_HTmAdRqjXkSjs3SBsmTc/edit?usp=sharing_eip&ts=5ed1642f). @@ -151,7 +168,7 @@ Here are more details: When you would like to add a changeset (which creates a file indicating the type of change), in your branch/PR issue this command: ```sh -$ yarn changeset +$ pnpm changeset ``` to produce an interactive menu. Navigate the packages with arrow keys and hit `` to select 1+ packages. Hit `` when done. Select semver versions for packages and add appropriate messages. From there, you'll be prompted to enter a summary of the change. Some tips for this summary: diff --git a/README.md b/README.md index bcb49e7..1dbf2f9 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,6 @@ [![Downloads][downloads_img]][npm_site] [![Bundle Size][bundle_img]](#bundle-size) [![GH Actions Status][actions_img]][actions_site] -[![Coverage Status][cov_img]][cov_site] [![npm version][npm_img]][npm_site] [![Maintenance Status][maintenance_img]](#maintenance-status) @@ -21,8 +20,6 @@ extra handling for React. ## Install ```sh -$ yarn add react-fast-compare -# or $ npm install react-fast-compare ``` @@ -119,8 +116,8 @@ contain circular reference: `nano-equal` and `shallow-equal-fuzzy`. ### Running Benchmarks ```sh -$ yarn install -$ yarn run benchmark +$ pnpm install +$ pnpm run benchmark ``` ## Differences between this library and `fast-deep-equal` @@ -154,12 +151,8 @@ Please see our [contributions guide](./CONTRIBUTING.md). [actions_img]: https://github.com/FormidableLabs/react-fast-compare/actions/workflows/ci.yml/badge.svg [actions_site]: https://github.com/formidablelabs/react-fast-compare/actions/workflows/ci.yml -[cov_img]: https://codecov.io/gh/FormidableLabs/react-fast-compare/branch/master/graph/badge.svg -[cov_site]: https://codecov.io/gh/FormidableLabs/react-fast-compare [npm_img]: https://badge.fury.io/js/react-fast-compare.svg [npm_site]: http://badge.fury.io/js/react-fast-compare -[appveyor_img]: https://ci.appveyor.com/api/projects/status/github/formidablelabs/react-fast-compare?branch=master&svg=true -[appveyor_site]: https://ci.appveyor.com/project/FormidableLabs/react-fast-compare [bundle_img]: https://img.shields.io/badge/minzipped%20size-656%20B-flatgreen.svg [downloads_img]: https://img.shields.io/npm/dm/react-fast-compare.svg [maintenance_img]: https://img.shields.io/badge/maintenance-active-flatgreen.svg diff --git a/package.json b/package.json index badf20f..d8baa6d 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "main": "index.js", "typings": "index.d.ts", "scripts": { - "preversion": "yarn test", + "preversion": "pnpm test", "benchmark": "node benchmark", "eslint": "eslint \"*.js\" benchmark test", "tslint": "eslint test/typescript/*.tsx", @@ -16,7 +16,7 @@ "test-ts-defs": "tsc --target ES5 index.d.ts", "test": "builder concurrent --buffer eslint tslint test-ts-usage test-ts-defs test-node-cov test-browser", "compress": "terser --compress --mangle=\"toplevel:true\" -- index.js", - "size-min-gz": "yarn -s compress | gzip -9 | wc -c", + "size-min-gz": "pnpm -s compress | gzip -9 | wc -c", "changeset": "changeset" }, "repository": { @@ -37,6 +37,7 @@ "url": "https://github.com/FormidableLabs/react-fast-compare/issues" }, "homepage": "https://github.com/FormidableLabs/react-fast-compare", + "packageManager": "pnpm@12.16.0", "devDependencies": { "@babel/core": "^7.21.0", "@babel/preset-env": "^7.20.2", @@ -53,12 +54,10 @@ "babel-loader": "^9.1.2", "benchmark": "^2.1.4", "builder": "^5.0.0", - "codecov": "^3.8.3", "core-js": "^3.29.0", "eslint": "^8.35.0", "eslint-plugin-react": "^7.32.2", "fast-deep-equal": "3.1.3", - "fast-deep-equal-git": "epoberezkin/fast-deep-equal#v3.1.3", "jsdom": "^21.1.0", "jsdom-global": "^3.0.2", "karma": "^6.4.1", @@ -69,7 +68,7 @@ "karma-safari-launcher": "^1.0.0", "karma-webpack": "^5.0.0", "lodash": "^4.17.10", - "mocha": "^10.2.0", + "mocha": "^11.8.0", "nano-equal": "^2.0.2", "nyc": "^15.1.0", "preact": "^10.13.1", @@ -103,4 +102,4 @@ "index.d.ts" ], "types": "index.d.ts" -} \ No newline at end of file +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..565abf7 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,7597 @@ +--- +lockfileVersion: '9.0' + +importers: + + .: + configDependencies: {} + packageManagerDependencies: + pnpm: + specifier: 12.16.0 + version: 12.16.0 + +packages: + + '@pnpm/exe.android-arm64@12.16.0': + resolution: {integrity: sha512-Air4kk1RA4C8PGkkIH91eme/ERTV6xEmPfJS+OO1UMMzx7ZDeM44WGfcizGPnQbWiqfJ0l7TSttzYzQ0FvRLIA==} + cpu: [arm64] + os: [android] + + '@pnpm/exe.android-x64@12.16.0': + resolution: {integrity: sha512-MHQdX7J3b12gsBbKSV4phbGZaIAYxhIbXRS2E56XgVXpcL9R+HiQ/Aq9PDkJtNVaOaGfrFR9kzGMLF4PXk6jRw==} + cpu: [x64] + os: [android] + + '@pnpm/exe.darwin-arm64@12.16.0': + resolution: {integrity: sha512-0kMENoYlVTxiCPWf7fXEF3EtYXUySilIC+UAe5Z7kC8keY8+ul8ddhuHjSU0e85qlKDIJfIxDYACse/Lx8It/Q==} + cpu: [arm64] + os: [darwin] + + '@pnpm/exe.darwin-x64@12.16.0': + resolution: {integrity: sha512-jsS6Q5gTjRD4TOyyFazO/3ctRHfigGtLatfV2ZxCGd0/ZD/m/9RIT8P38oyo+r3ARHhgL7YPT8dXmj5UGd9iSA==} + cpu: [x64] + os: [darwin] + + '@pnpm/exe.freebsd-x64@12.16.0': + resolution: {integrity: sha512-Rs8pV7jAhRnAzKdJWU20ECeRB4KUdV5xChUvmXyaHq+60+UfUhYVJjL0btApxX/AIBscrK/+tjP3w6RTb9RDCA==} + cpu: [x64] + os: [freebsd] + + '@pnpm/exe.linux-arm64-musl@12.16.0': + resolution: {integrity: sha512-1p8s61byKqiaDi+TatmMoxFVFPXpLwrHBI4CZBJlH2A58hi3EfqfDgWB5w2IutciGrBQ5DxVFE8VsbITnpqfUQ==} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-arm64@12.16.0': + resolution: {integrity: sha512-6vwpzcLhopnnz/x537ET62PBFh8QxWsE9miRT8lhHXYuq0WVXxT6L6W0BcjZNVEQyp1WggdHq4qt8LXrdk2RFQ==} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-ppc64@12.16.0': + resolution: {integrity: sha512-58n7z+x7M/gWK+lhoRrABp0X2dYvUGhdjKb1S0UCm1I7v1KwltEvAIlWgYSyq9/jOqTp/uCtZE9dU1sP/fqs3Q==} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-riscv64@12.16.0': + resolution: {integrity: sha512-N81hKRql41PisaxO0EJcmBVvGjQ+aY8vgprPhB6DFaCzohuT0EAfsc5icM/NZkdFLLaglYja8zAk3E59ToNUaA==} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-s390x@12.16.0': + resolution: {integrity: sha512-8UfyGGA9o8IqdoPtCg9c/t7Ht/ArO+T318Yomlp36WvImnBj3etnO0GKh0CPOp7fG+AvNcspxCXIr5vNjYo84w==} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@pnpm/exe.linux-x64-musl@12.16.0': + resolution: {integrity: sha512-BCp9UPPqS9wyZmfB1CeX8ODpUaY3icHPNQvnlutDUymexM0frPxgd1Qf1iWfC+IhvszevGnVlkUqEITSMowHNw==} + cpu: [x64] + os: [linux] + libc: [musl] + + '@pnpm/exe.linux-x64@12.16.0': + resolution: {integrity: sha512-NSZrQRBatoGG4C14DBYyQHnUGQA1fejrwoiKRnqyzFFXPFbydK8avYcLu3evb9Nry8iGIQujRnwysdCNmSFBlg==} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@pnpm/exe.win32-arm64@12.16.0': + resolution: {integrity: sha512-RsPE7hktWUn+oCi5IlnpMGBBMO+Lgf+VUUgiqrBHsdmdpTk3KDOM9TA0xOgK+xwvQdLtvc28JwigR4HmGMNyIQ==} + cpu: [arm64] + os: [win32] + + '@pnpm/exe.win32-x64@12.16.0': + resolution: {integrity: sha512-mphDCqBvSu7o8j3DqnVDkpCf0HKaKJjEdlN6ymfpxh4VUYw5SW4zQLGmvjdxUUZZb6nuU/R8bTn2rAdJdYCk5w==} + cpu: [x64] + os: [win32] + + pnpm@12.16.0: + resolution: {integrity: sha512-6czJGguNUtopfBaEH57gXz3dYxvXV+8mohFofUo43mU8YURTZJKUQ4xYvnTCumLVPmM6ThU3CMASKW0PPuJ7Ng==} + engines: {node: '>=18'} + hasBin: true + +snapshots: + + '@pnpm/exe.android-arm64@12.16.0': + optional: true + + '@pnpm/exe.android-x64@12.16.0': + optional: true + + '@pnpm/exe.darwin-arm64@12.16.0': + optional: true + + '@pnpm/exe.darwin-x64@12.16.0': + optional: true + + '@pnpm/exe.freebsd-x64@12.16.0': + optional: true + + '@pnpm/exe.linux-arm64-musl@12.16.0': + optional: true + + '@pnpm/exe.linux-arm64@12.16.0': + optional: true + + '@pnpm/exe.linux-ppc64@12.16.0': + optional: true + + '@pnpm/exe.linux-riscv64@12.16.0': + optional: true + + '@pnpm/exe.linux-s390x@12.16.0': + optional: true + + '@pnpm/exe.linux-x64-musl@12.16.0': + optional: true + + '@pnpm/exe.linux-x64@12.16.0': + optional: true + + '@pnpm/exe.win32-arm64@12.16.0': + optional: true + + '@pnpm/exe.win32-x64@12.16.0': + optional: true + + pnpm@12.16.0: + optionalDependencies: + '@pnpm/exe.android-arm64': 12.16.0 + '@pnpm/exe.android-x64': 12.16.0 + '@pnpm/exe.darwin-arm64': 12.16.0 + '@pnpm/exe.darwin-x64': 12.16.0 + '@pnpm/exe.freebsd-x64': 12.16.0 + '@pnpm/exe.linux-arm64': 12.16.0 + '@pnpm/exe.linux-arm64-musl': 12.16.0 + '@pnpm/exe.linux-ppc64': 12.16.0 + '@pnpm/exe.linux-riscv64': 12.16.0 + '@pnpm/exe.linux-s390x': 12.16.0 + '@pnpm/exe.linux-x64': 12.16.0 + '@pnpm/exe.linux-x64-musl': 12.16.0 + '@pnpm/exe.win32-arm64': 12.16.0 + '@pnpm/exe.win32-x64': 12.16.0 + +--- +lockfileVersion: '9.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + devDependencies: + '@babel/core': + specifier: ^7.21.0 + version: 7.21.0(supports-color@8.1.1) + '@babel/preset-env': + specifier: ^7.20.2 + version: 7.20.2(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@changesets/cli': + specifier: ^2.26.1 + version: 2.26.1 + '@svitejs/changesets-changelog-github-compact': + specifier: ^0.1.1 + version: 0.1.1 + '@testing-library/dom': + specifier: ^9.0.1 + version: 9.0.1 + '@testing-library/preact': + specifier: ^3.2.3 + version: 3.2.3(preact@10.13.1) + '@types/node': + specifier: ^18.15.0 + version: 18.15.0 + '@types/react': + specifier: ^16.9.35 + version: 16.9.35 + '@types/react-dom': + specifier: ^16.9.8 + version: 16.9.8 + '@types/react-redux': + specifier: ^7.1.25 + version: 7.1.25 + '@typescript-eslint/parser': + specifier: ^5.54.1 + version: 5.54.1(eslint@8.35.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@4.9.5) + assert: + specifier: ^2.0.0 + version: 2.0.0 + babel-loader: + specifier: ^9.1.2 + version: 9.1.2(@babel/core@7.21.0(supports-color@8.1.1))(webpack@5.76.0) + benchmark: + specifier: ^2.1.4 + version: 2.1.4 + builder: + specifier: ^5.0.0 + version: 5.0.0 + core-js: + specifier: ^3.29.0 + version: 3.29.0 + eslint: + specifier: ^8.35.0 + version: 8.35.0(supports-color@8.1.1) + eslint-plugin-react: + specifier: ^7.32.2 + version: 7.32.2(eslint@8.35.0(supports-color@8.1.1)) + fast-deep-equal: + specifier: 3.1.3 + version: 3.1.3 + jsdom: + specifier: ^21.1.0 + version: 21.1.0(supports-color@8.1.1) + jsdom-global: + specifier: ^3.0.2 + version: 3.0.2(jsdom@21.1.0(supports-color@8.1.1)) + karma: + specifier: ^6.4.1 + version: 6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1) + karma-chrome-launcher: + specifier: ^3.1.1 + version: 3.1.1 + karma-firefox-launcher: + specifier: ^2.1.2 + version: 2.1.2 + karma-mocha: + specifier: ^2.0.1 + version: 2.0.1 + karma-mocha-reporter: + specifier: ^2.2.5 + version: 2.2.5(karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1)) + karma-safari-launcher: + specifier: ^1.0.0 + version: 1.0.0(karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1)) + karma-webpack: + specifier: ^5.0.0 + version: 5.0.0(webpack@5.76.0) + lodash: + specifier: ^4.17.10 + version: 4.17.21 + mocha: + specifier: ^11.8.0 + version: 11.8.0 + nano-equal: + specifier: ^2.0.2 + version: 2.0.2 + nyc: + specifier: ^15.1.0 + version: 15.1.0(supports-color@8.1.1) + preact: + specifier: ^10.13.1 + version: 10.13.1 + process: + specifier: ^0.11.10 + version: 0.11.10 + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + react-redux: + specifier: ^8.0.5 + version: 8.0.5(@types/react-dom@16.9.8)(@types/react@16.9.35)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1) + react-test-renderer: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + redux: + specifier: ^4.2.1 + version: 4.2.1 + shallow-equal-fuzzy: + specifier: 0.0.2 + version: 0.0.2 + sinon: + specifier: ^15.0.1 + version: 15.0.1 + terser: + specifier: ^5.16.6 + version: 5.16.6 + typescript: + specifier: ^4.9.5 + version: 4.9.5 + webpack: + specifier: ^5.76.0 + version: 5.76.0 + +packages: + + '@ampproject/remapping@2.2.0': + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.21.4': + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.21.0': + resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.21.0': + resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.21.1': + resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.18.6': + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-builder-binary-assignment-operator-visitor@7.18.9': + resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.20.7': + resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-class-features-plugin@7.21.0': + resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-create-regexp-features-plugin@7.21.0': + resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-define-polyfill-provider@0.3.3': + resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + peerDependencies: + '@babel/core': ^7.4.0-0 + + '@babel/helper-environment-visitor@7.18.9': + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-explode-assignable-expression@7.18.6': + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.21.0': + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.18.6': + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.21.0': + resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.18.6': + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.21.2': + resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-optimise-call-expression@7.18.6': + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.20.2': + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-remap-async-to-generator@7.18.9': + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-replace-supers@7.20.7': + resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-simple-access@7.20.2': + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.20.0': + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.18.6': + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.19.4': + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.19.1': + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.21.0': + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-wrap-function@7.20.5': + resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.21.0': + resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.18.6': + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.21.2': + resolution: {integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6': + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7': + resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + + '@babel/plugin-proposal-async-generator-functions@7.20.7': + resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-class-properties@7.18.6': + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-class-static-block@7.21.0': + resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead. + peerDependencies: + '@babel/core': ^7.12.0 + + '@babel/plugin-proposal-dynamic-import@7.18.6': + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-export-namespace-from@7.18.9': + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-json-strings@7.18.6': + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-logical-assignment-operators@7.20.7': + resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-numeric-separator@7.18.6': + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-object-rest-spread@7.20.7': + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-optional-catch-binding@7.18.6': + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-optional-chaining@7.21.0': + resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-private-methods@7.18.6': + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-private-property-in-object@7.21.0': + resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-unicode-property-regex@7.18.6': + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-dynamic-import@7.8.3': + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-export-namespace-from@7.8.3': + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.20.0': + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-arrow-functions@7.20.7': + resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-async-to-generator@7.20.7': + resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.18.6': + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.21.0': + resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-classes@7.21.0': + resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.20.7': + resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.20.7': + resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-dotall-regex@7.18.6': + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-duplicate-keys@7.18.9': + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-exponentiation-operator@7.18.6': + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.21.0': + resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.18.9': + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.18.9': + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.18.6': + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-amd@7.20.11': + resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.21.2': + resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-systemjs@7.20.11': + resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-umd@7.18.6': + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-named-capturing-groups-regex@7.20.5': + resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/plugin-transform-new-target@7.18.6': + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.18.6': + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.20.7': + resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.18.6': + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-regenerator@7.20.5': + resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-reserved-words@7.18.6': + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.18.6': + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.20.7': + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-sticky-regex@7.18.6': + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.18.9': + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-typeof-symbol@7.18.9': + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-escapes@7.18.10': + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-unicode-regex@7.18.6': + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-env@7.20.2': + resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/preset-modules@0.1.5': + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/regjsgen@0.8.0': + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + + '@babel/runtime@7.21.5': + resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.20.7': + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.21.2': + resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.21.2': + resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} + engines: {node: '>=6.9.0'} + + '@changesets/apply-release-plan@6.1.3': + resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==} + + '@changesets/assemble-release-plan@5.2.3': + resolution: {integrity: sha512-g7EVZCmnWz3zMBAdrcKhid4hkHT+Ft1n0mLussFMcB1dE2zCuwcvGoy9ec3yOgPGF4hoMtgHaMIk3T3TBdvU9g==} + + '@changesets/changelog-git@0.1.14': + resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} + + '@changesets/cli@2.26.1': + resolution: {integrity: sha512-XnTa+b51vt057fyAudvDKGB0Sh72xutQZNAdXkCqPBKO2zvs2yYZx5hFZj1u9cbtpwM6Sxtcr02/FQJfZOzemQ==} + hasBin: true + + '@changesets/config@2.3.0': + resolution: {integrity: sha512-EgP/px6mhCx8QeaMAvWtRrgyxW08k/Bx2tpGT+M84jEdX37v3VKfh4Cz1BkwrYKuMV2HZKeHOh8sHvja/HcXfQ==} + + '@changesets/errors@0.1.4': + resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} + + '@changesets/get-dependents-graph@1.3.5': + resolution: {integrity: sha512-w1eEvnWlbVDIY8mWXqWuYE9oKhvIaBhzqzo4ITSJY9hgoqQ3RoBqwlcAzg11qHxv/b8ReDWnMrpjpKrW6m1ZTA==} + + '@changesets/get-github-info@0.5.2': + resolution: {integrity: sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg==} + + '@changesets/get-release-plan@3.0.16': + resolution: {integrity: sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg==} + + '@changesets/get-version-range-type@0.3.2': + resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} + + '@changesets/git@2.0.0': + resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} + + '@changesets/logger@0.0.5': + resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} + + '@changesets/parse@0.3.16': + resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} + + '@changesets/pre@1.0.14': + resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} + + '@changesets/read@0.5.9': + resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} + + '@changesets/types@4.1.0': + resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + + '@changesets/types@5.2.1': + resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} + + '@changesets/write@0.2.3': + resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} + + '@colors/colors@1.5.0': + resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} + engines: {node: '>=0.1.90'} + + '@eslint/eslintrc@2.0.0': + resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.35.0': + resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@humanwhocodes/config-array@0.11.8': + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + deprecated: Use @eslint/config-array instead + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@1.2.1': + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + deprecated: Use @eslint/object-schema instead + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jridgewell/gen-mapping@0.1.1': + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + + '@jridgewell/gen-mapping@0.3.2': + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.0': + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.1.2': + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/source-map@0.3.2': + resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + + '@jridgewell/sourcemap-codec@1.4.14': + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + + '@jridgewell/trace-mapping@0.3.17': + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + + '@manypkg/find-root@1.1.0': + resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + + '@manypkg/get-packages@1.1.3': + resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@sinonjs/commons@2.0.0': + resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} + + '@sinonjs/fake-timers@10.0.2': + resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} + + '@sinonjs/samsam@7.0.1': + resolution: {integrity: sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==} + + '@sinonjs/text-encoding@0.7.1': + resolution: {integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==} + deprecated: |- + Deprecated: no longer maintained and no longer used by Sinon packages. See + https://github.com/sinonjs/nise/issues/243 for replacement details. + + '@socket.io/component-emitter@3.1.0': + resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} + + '@svitejs/changesets-changelog-github-compact@0.1.1': + resolution: {integrity: sha512-eBi211CfmKtkxB6tINicaDPBMbolswPbaAy7kCx+uUFL/LxztLm9cB+7jP54TgCrv+mMz8vSJWIs/baH63PjsA==} + engines: {node: ^12.20 || ^14.13.1 || >= 16} + deprecated: unmaintained + + '@testing-library/dom@8.20.0': + resolution: {integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==} + engines: {node: '>=12'} + + '@testing-library/dom@9.0.1': + resolution: {integrity: sha512-fTOVsMY9QLFCCXRHG3Ese6cMH5qIWwSbgxZsgeF5TNsy81HKaZ4kgehnSF8FsR3OF+numlIV2YcU79MzbnhSig==} + engines: {node: '>=14'} + + '@testing-library/preact@3.2.3': + resolution: {integrity: sha512-y6Kklp1XK3f1X2fWCbujmJyzkf+1BgLYXNgAx21j9+D4CoqMTz5qC4SQufb1L6q/jxLGACzrQ90ewVOTBvHOfg==} + engines: {node: '>= 12'} + peerDependencies: + preact: '>=10 || ^10.0.0-alpha.0 || ^10.0.0-beta.0' + + '@tootallnate/once@2.0.0': + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + + '@types/aria-query@5.0.1': + resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} + + '@types/color-name@1.1.1': + resolution: {integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==} + + '@types/cookie@0.4.1': + resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} + + '@types/cors@2.8.12': + resolution: {integrity: sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==} + + '@types/eslint-scope@3.7.3': + resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==} + + '@types/eslint@8.4.1': + resolution: {integrity: sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==} + + '@types/estree@0.0.51': + resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + + '@types/hoist-non-react-statics@3.3.1': + resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} + + '@types/is-ci@3.0.0': + resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} + + '@types/json-schema@7.0.11': + resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + + '@types/minimist@1.2.2': + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + + '@types/node@12.20.55': + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + + '@types/node@18.15.0': + resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} + + '@types/normalize-package-data@2.4.1': + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + + '@types/prop-types@15.7.3': + resolution: {integrity: sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==} + + '@types/react-dom@16.9.8': + resolution: {integrity: sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==} + + '@types/react-redux@7.1.25': + resolution: {integrity: sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==} + + '@types/react@16.9.35': + resolution: {integrity: sha512-q0n0SsWcGc8nDqH2GJfWQWUOmZSJhXV64CjVN5SvcNti3TdEaA3AH0D8DwNmMdzjMAC/78tB8nAZIlV8yTz+zQ==} + + '@types/semver@6.2.3': + resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} + + '@types/use-sync-external-store@0.0.3': + resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} + + '@typescript-eslint/parser@5.54.1': + resolution: {integrity: sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@5.54.1': + resolution: {integrity: sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/types@5.54.1': + resolution: {integrity: sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/typescript-estree@5.54.1': + resolution: {integrity: sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/visitor-keys@5.54.1': + resolution: {integrity: sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@webassemblyjs/ast@1.11.1': + resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + + '@webassemblyjs/floating-point-hex-parser@1.11.1': + resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + + '@webassemblyjs/helper-api-error@1.11.1': + resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + + '@webassemblyjs/helper-buffer@1.11.1': + resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + + '@webassemblyjs/helper-numbers@1.11.1': + resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + + '@webassemblyjs/helper-wasm-bytecode@1.11.1': + resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + + '@webassemblyjs/helper-wasm-section@1.11.1': + resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + + '@webassemblyjs/ieee754@1.11.1': + resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + + '@webassemblyjs/leb128@1.11.1': + resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + + '@webassemblyjs/utf8@1.11.1': + resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + + '@webassemblyjs/wasm-edit@1.11.1': + resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + + '@webassemblyjs/wasm-gen@1.11.1': + resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + + '@webassemblyjs/wasm-opt@1.11.1': + resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + + '@webassemblyjs/wasm-parser@1.11.1': + resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + + '@webassemblyjs/wast-printer@1.11.1': + resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + + '@xtuc/ieee754@1.2.0': + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + '@xtuc/long@4.2.2': + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + + accepts@1.3.7: + resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} + engines: {node: '>= 0.6'} + + acorn-globals@7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + + acorn-import-assertions@1.8.0: + resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} + deprecated: package has been renamed to acorn-import-attributes + peerDependencies: + acorn: ^8 + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + + acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + + agent-base@6.0.0: + resolution: {integrity: sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==} + engines: {node: '>= 6.0.0'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv-keywords@3.5.2: + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + + ajv-keywords@5.1.0: + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-regex@3.0.0: + resolution: {integrity: sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ==} + engines: {node: '>=4'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.5.0: + resolution: {integrity: sha512-zhvbbbdt1kbw7EJ9OQoxmQcuaNR9P5kTj7e/YdmOSU10aHWbycofJxA6jKfoEy3vlLdctOF9ZHaxLtmSm998wQ==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.2.1: + resolution: {integrity: sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} + engines: {node: '>=12'} + + anymatch@3.1.2: + resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} + engines: {node: '>= 8'} + + append-transform@2.0.0: + resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} + engines: {node: '>=8'} + + archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + + array-includes@3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array.prototype.flat@1.3.1: + resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + + array.prototype.tosorted@1.1.1: + resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + + arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + + assert@2.0.0: + resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} + + async@1.5.2: + resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + + babel-loader@9.1.2: + resolution: {integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + '@babel/core': ^7.12.0 + webpack: '>=5' + + babel-plugin-polyfill-corejs2@0.3.3: + resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + babel-plugin-polyfill-corejs3@0.6.0: + resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + babel-plugin-polyfill-regenerator@0.4.1: + resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + balanced-match@1.0.0: + resolution: {integrity: sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==} + + base64id@2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} + + benchmark@2.1.4: + resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} + + better-path-resolve@1.0.0: + resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} + engines: {node: '>=4'} + + binary-extensions@2.0.0: + resolution: {integrity: sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==} + engines: {node: '>=8'} + + body-parser@1.19.1: + resolution: {integrity: sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==} + engines: {node: '>= 0.8'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.1.7: + resolution: {integrity: sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==} + + braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + + breakword@1.0.5: + resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} + + browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + + browserslist@4.21.5: + resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + buffer-from@1.1.1: + resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} + + builder@5.0.0: + resolution: {integrity: sha512-jWn12XLo07aIhniBlrA/hdS4Q86xyHlcWG9LfTFiqhEzUQbTPvzgtK/Qfe1CyUPm3+QKSaJV/V6NSurSlwCJ3g==} + engines: {node: '>=8'} + hasBin: true + + bytes@3.1.1: + resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} + engines: {node: '>= 0.8'} + + caching-transform@4.0.0: + resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} + engines: {node: '>=8'} + + call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001462: + resolution: {integrity: sha512-PDd20WuOBPiasZ7KbFnmQRyuLE7cFXW2PVd7dmALzbkUXEP46upAuCDm9eY9vho8fgNMGmbAX92QBZHzcnWIqw==} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} + engines: {node: '>= 14.16.0'} + + chrome-trace-event@1.0.2: + resolution: {integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==} + engines: {node: '>=6.0'} + + ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + connect@3.7.0: + resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} + engines: {node: '>= 0.10.0'} + + content-type@1.0.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + + convert-source-map@1.7.0: + resolution: {integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==} + + cookie@0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + + core-js-compat@3.29.0: + resolution: {integrity: sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ==} + + core-js@3.29.0: + resolution: {integrity: sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==} + + cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + + cross-spawn@5.1.0: + resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + + cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + + cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + + csstype@2.6.10: + resolution: {integrity: sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==} + + csv-generate@3.4.3: + resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} + + csv-parse@4.16.3: + resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} + + csv-stringify@5.6.5: + resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} + + csv@5.5.3: + resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} + engines: {node: '>= 0.1.90'} + + custom-event@1.0.1: + resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} + + data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + + dataloader@1.4.0: + resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} + + date-format@4.0.3: + resolution: {integrity: sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==} + engines: {node: '>=4.0'} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + deep-equal@2.2.0: + resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + default-require-extensions@3.0.1: + resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} + engines: {node: '>=8'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + + detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + + di@0.0.1: + resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} + + diff@5.1.0: + resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} + engines: {node: '>=0.3.1'} + + diff@7.0.0: + resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} + engines: {node: '>=0.3.1'} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + + dom-serialize@2.2.1: + resolution: {integrity: sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==} + + domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead + + dotenv@16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.4.325: + resolution: {integrity: sha512-K1C03NT4I7BuzsRdCU5RWkgZxtswnKDYM6/eMhkEXqKu4e5T+ck610x3FPzu1y7HVFSiQKZqP16gnJzPpji1TQ==} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + engine.io-parser@5.0.6: + resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} + engines: {node: '>=10.0.0'} + + engine.io@6.4.1: + resolution: {integrity: sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==} + engines: {node: '>=10.0.0'} + + enhanced-resolve@5.12.0: + resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + engines: {node: '>=10.13.0'} + + enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + + ent@2.2.0: + resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} + + entities@4.4.0: + resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} + engines: {node: '>=0.12'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.21.1: + resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} + engines: {node: '>= 0.4'} + + es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + + es-module-lexer@0.9.3: + resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + + es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + es6-object-assign@1.1.0: + resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} + + escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escodegen@2.0.0: + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-plugin-react@7.32.2: + resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.1.1: + resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-utils@3.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.3.0: + resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.35.0: + resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + hasBin: true + + espree@9.4.1: + resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + eventemitter3@4.0.4: + resolution: {integrity: sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + + extendable-error@0.1.7: + resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + + finalhandler@1.1.2: + resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} + engines: {node: '>= 0.8'} + + find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + + flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + + follow-redirects@1.14.7: + resolution: {integrity: sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@2.0.0: + resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} + engines: {node: '>=8.0.0'} + + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} + engines: {node: '>=14'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + fromentries@1.3.2: + resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + + fs-extra@10.0.0: + resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} + engines: {node: '>=12'} + + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + function.prototype.name@1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-intrinsic@1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + glob@10.5.0: + resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + hasBin: true + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + + globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + + hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + + has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + + has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + + hasha@5.2.2: + resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} + engines: {node: '>=8'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + http-errors@1.8.1: + resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} + engines: {node: '>= 0.6'} + + http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + + http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + human-id@1.0.2: + resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + + ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.12.1: + resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-docker@2.0.0: + resolution: {integrity: sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==} + engines: {node: '>=8'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + + is-nan@1.3.2: + resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-set@2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + + is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-subdir@1.2.0: + resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} + engines: {node: '>=4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} + + is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + + isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isbinaryfile@4.0.8: + resolution: {integrity: sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==} + engines: {node: '>= 8.0.0'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + istanbul-lib-coverage@3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + + istanbul-lib-hook@3.0.0: + resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} + engines: {node: '>=8'} + + istanbul-lib-instrument@4.0.3: + resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} + engines: {node: '>=8'} + + istanbul-lib-processinfo@2.0.3: + resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} + + jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + + js-sdsl@4.3.0: + resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsdom-global@3.0.2: + resolution: {integrity: sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==} + peerDependencies: + jsdom: '>=10.0.0' + + jsdom@21.1.0: + resolution: {integrity: sha512-m0lzlP7qOtthD918nenK3hdItSd2I+V3W9IrBcB36sqDwG+KnUs66IF5GY7laGWUnlM9vTsD0W1QwSEBYWWcJg==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsx-ast-utils@3.3.3: + resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} + engines: {node: '>=4.0'} + + just-extend@4.1.0: + resolution: {integrity: sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==} + + karma-chrome-launcher@3.1.1: + resolution: {integrity: sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==} + + karma-firefox-launcher@2.1.2: + resolution: {integrity: sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==} + + karma-mocha-reporter@2.2.5: + resolution: {integrity: sha512-Hr6nhkIp0GIJJrvzY8JFeHpQZNseuIakGac4bpw8K1+5F0tLb6l7uvXRa8mt2Z+NVwYgCct4QAfp2R2QP6o00w==} + peerDependencies: + karma: '>=0.13' + + karma-mocha@2.0.1: + resolution: {integrity: sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==} + + karma-safari-launcher@1.0.0: + resolution: {integrity: sha512-qmypLWd6F2qrDJfAETvXDfxHvKDk+nyIjpH9xIeI3/hENr0U3nuqkxaftq73PfXZ4aOuOChA6SnLW4m4AxfRjQ==} + peerDependencies: + karma: '>=0.9' + + karma-webpack@5.0.0: + resolution: {integrity: sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA==} + engines: {node: '>= 6'} + peerDependencies: + webpack: ^5.0.0 + + karma@6.4.1: + resolution: {integrity: sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==} + engines: {node: '>= 10'} + hasBin: true + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + kleur@4.1.5: + resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} + engines: {node: '>=6'} + + levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + + loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + lodash.flattendeep@4.4.0: + resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} + + lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@2.2.0: + resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} + engines: {node: '>=4'} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log4js@6.4.1: + resolution: {integrity: sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==} + engines: {node: '>=8.0'} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + + lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + + make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + + map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + + map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + meow@6.1.1: + resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} + engines: {node: '>=8'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@9.0.9: + resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.1.3: + resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} + engines: {node: '>=16 || 14 >=14.17'} + + mixme@0.5.9: + resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} + engines: {node: '>= 8.0.0'} + + mkdirp@0.5.5: + resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} + hasBin: true + + mocha@11.8.0: + resolution: {integrity: sha512-VyCeUdGN3A9lmCTTgG4yuvY9ixxaDk+xt2R/7/+1AP6EqNG+G9OKkzBwhVtVYoNX8YsxNSgAl8mOv3IAeOpFbw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + nano-equal@2.0.2: + resolution: {integrity: sha512-RtAioZtSSppEWRruYU8oz2AKPJWTW74TpzcqP79n7Kh4nHW+gmrJGcTuELmid9tvGR4Xp2cCoTtYIIDy9iWO4g==} + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.2: + resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + nise@5.1.4: + resolution: {integrity: sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==} + + node-fetch@2.6.11: + resolution: {integrity: sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-preload@0.2.1: + resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} + engines: {node: '>=8'} + + node-releases@2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} + + nopt@4.0.3: + resolution: {integrity: sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + nwsapi@2.2.2: + resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} + + nyc@15.1.0: + resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} + engines: {node: '>=8.9'} + hasBin: true + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + + object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + + object.entries@1.1.6: + resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + engines: {node: '>= 0.4'} + + object.hasown@1.1.2: + resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + + object.values@1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + engines: {node: '>= 0.4'} + + on-finished@2.3.0: + resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + + optionator@0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + + os-homedir@1.0.2: + resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} + engines: {node: '>=0.10.0'} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + osenv@0.1.5: + resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} + deprecated: This package is no longer supported. + + outdent@0.5.0: + resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} + + p-filter@2.1.0: + resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} + engines: {node: '>=8'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@2.1.0: + resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} + engines: {node: '>=6'} + + p-map@3.0.0: + resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} + engines: {node: '>=8'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + package-hash@4.0.0: + resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} + engines: {node: '>=8'} + + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} + + path-to-regexp@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + platform@1.3.5: + resolution: {integrity: sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==} + + preact@10.13.1: + resolution: {integrity: sha512-KyoXVDU5OqTpG9LXlB3+y639JAGzl8JSBXLn1J9HTSB3gbKcuInga7bZnXLlxmK94ntTs1EFeZp0lrja2AuBYQ==} + + preferred-pm@3.0.3: + resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + engines: {node: '>=10'} + + prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + + pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + + process-on-spawn@1.0.0: + resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} + engines: {node: '>=8'} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + + psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + + qjobs@1.2.0: + resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} + engines: {node: '>=0.9'} + + qs@6.9.6: + resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} + engines: {node: '>=0.6'} + + querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.4.2: + resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} + engines: {node: '>= 0.8'} + + react-dom@18.2.0: + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + + react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + react-redux@8.0.5: + resolution: {integrity: sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==} + peerDependencies: + '@types/react': ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + react-native: '>=0.59' + redux: ^4 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + react-dom: + optional: true + react-native: + optional: true + redux: + optional: true + + react-shallow-renderer@16.15.0: + resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + + react-test-renderer@18.2.0: + resolution: {integrity: sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==} + peerDependencies: + react: ^18.2.0 + + react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + read-yaml-file@1.1.0: + resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} + engines: {node: '>=6'} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + readdirp@4.1.2: + resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} + engines: {node: '>= 14.18.0'} + + redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + + redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + + regenerate-unicode-properties@10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} + + regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + + regenerator-transform@0.15.1: + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + + regexp.prototype.flags@1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + engines: {node: '>= 0.4'} + + regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + + regexpu-core@5.3.1: + resolution: {integrity: sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==} + engines: {node: '>=4'} + + regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + + release-zalgo@1.0.0: + resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} + engines: {node: '>=4'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + + resolve@2.0.0-next.4: + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + hasBin: true + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + deprecated: Rimraf versions prior to v4 are no longer supported + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + + scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + + schema-utils@3.1.1: + resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} + engines: {node: '>= 10.13.0'} + + schema-utils@4.0.0: + resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} + engines: {node: '>= 12.13.0'} + + semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + + semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + + semver@7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + + serialize-javascript@6.0.0: + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + + serialize-javascript@6.0.2: + resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shallow-equal-fuzzy@0.0.2: + resolution: {integrity: sha512-HKGvWaQ6fuFhNH2k1krxxmhKYxyPSbPzwCkM94qYVoLKCGCqg0r9bdCoX4A37UJvAfyLje9zHS5F/SsrYgrqgA==} + engines: {node: '>=0.12.0'} + + shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + + signal-exit@3.0.3: + resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sinon@15.0.1: + resolution: {integrity: sha512-PZXKc08f/wcA/BMRGBze2Wmw50CWPiAH3E21EOi4B49vJ616vW4DQh4fQrqsYox2aNR/N3kCqLuB0PwwOucQrg==} + deprecated: 16.1.1 + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + smartwrap@2.0.2: + resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} + engines: {node: '>=6'} + hasBin: true + + socket.io-adapter@2.5.2: + resolution: {integrity: sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==} + + socket.io-parser@4.2.2: + resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==} + engines: {node: '>=10.0.0'} + + socket.io@4.6.1: + resolution: {integrity: sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==} + engines: {node: '>=10.0.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + spawn-wrap@2.0.0: + resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} + engines: {node: '>=8'} + + spawndamnit@2.0.0: + resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + + stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + + stream-transform@2.1.3: + resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} + + streamroller@3.0.2: + resolution: {integrity: sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==} + engines: {node: '>=8.0'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.matchall@4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + + string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + + string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + + strip-ansi@4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.2.0: + resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + term-size@2.2.1: + resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} + engines: {node: '>=8'} + + terser-webpack-plugin@5.3.1: + resolution: {integrity: sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + + terser@5.16.6: + resolution: {integrity: sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==} + engines: {node: '>=10'} + hasBin: true + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmp@0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + tough-cookie@4.1.2: + resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} + engines: {node: '>=6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + + tslib@1.13.0: + resolution: {integrity: sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==} + + tsutils@3.21.0: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + + tty-table@4.2.1: + resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} + engines: {node: '>=8.0.0'} + hasBin: true + + type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + + typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + + typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + + ua-parser-js@0.7.31: + resolution: {integrity: sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==} + deprecated: You are using an outdated version of ua-parser-js. Please update to ua-parser-js v0.7.33 / v1.0.33 / v2.0.0 (or later) to avoid ReDoS vulnerability [CVE-2022-25927](https://github.com/advisories/GHSA-fhg7-m89q-25r3) + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + + unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.0.10: + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + + use-sync-external-store@1.0.0: + resolution: {integrity: sha512-AFVsxg5GkFg8GDcxnl+Z0lMAz9rE8DGJCc28qnBuQF7lac57B5smLcT37aXpXIIPz75rW4g3eXHPjhHwdGskOw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0-rc + + util@0.12.4: + resolution: {integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). + hasBin: true + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + void-elements@2.0.1: + resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==} + engines: {node: '>=0.10.0'} + + w3c-xmlserializer@4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + + watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + webpack-merge@4.2.2: + resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack@5.76.0: + resolution: {integrity: sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + + whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation + + whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + + which-module@2.0.0: + resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} + + which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + + which-typed-array@1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + word-wrap@1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + + workerpool@9.3.4: + resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + + ws@8.11.0: + resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.12.1: + resolution: {integrity: sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + +snapshots: + + '@ampproject/remapping@2.2.0': + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.17 + + '@babel/code-frame@7.21.4': + dependencies: + '@babel/highlight': 7.18.6 + + '@babel/compat-data@7.21.0': {} + + '@babel/core@7.21.0(supports-color@8.1.1)': + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.1 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) + '@babel/helpers': 7.21.0(supports-color@8.1.1) + '@babel/parser': 7.21.2 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2(supports-color@8.1.1) + '@babel/types': 7.21.2 + convert-source-map: 1.7.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.21.1': + dependencies: + '@babel/types': 7.21.2 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + jsesc: 2.5.2 + + '@babel/helper-annotate-as-pure@7.18.6': + dependencies: + '@babel/types': 7.21.2 + + '@babel/helper-builder-binary-assignment-operator-visitor@7.18.9': + dependencies: + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.21.2 + + '@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + + '@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.20.7(supports-color@8.1.1) + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + transitivePeerDependencies: + - supports-color + + '@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.3.1 + + '@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.20.2 + debug: 4.3.4(supports-color@8.1.1) + lodash.debounce: 4.0.8 + resolve: 1.22.2 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-environment-visitor@7.18.9': {} + + '@babel/helper-explode-assignable-expression@7.18.6': + dependencies: + '@babel/types': 7.21.2 + + '@babel/helper-function-name@7.21.0': + dependencies: + '@babel/template': 7.20.7 + '@babel/types': 7.21.2 + + '@babel/helper-hoist-variables@7.18.6': + dependencies: + '@babel/types': 7.21.2 + + '@babel/helper-member-expression-to-functions@7.21.0': + dependencies: + '@babel/types': 7.21.2 + + '@babel/helper-module-imports@7.18.6': + dependencies: + '@babel/types': 7.21.2 + + '@babel/helper-module-transforms@7.21.2(supports-color@8.1.1)': + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2(supports-color@8.1.1) + '@babel/types': 7.21.2 + transitivePeerDependencies: + - supports-color + + '@babel/helper-optimise-call-expression@7.18.6': + dependencies: + '@babel/types': 7.21.2 + + '@babel/helper-plugin-utils@7.20.2': {} + + '@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-wrap-function': 7.20.5(supports-color@8.1.1) + '@babel/types': 7.21.2 + transitivePeerDependencies: + - supports-color + + '@babel/helper-replace-supers@7.20.7(supports-color@8.1.1)': + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-member-expression-to-functions': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2(supports-color@8.1.1) + '@babel/types': 7.21.2 + transitivePeerDependencies: + - supports-color + + '@babel/helper-simple-access@7.20.2': + dependencies: + '@babel/types': 7.21.2 + + '@babel/helper-skip-transparent-expression-wrappers@7.20.0': + dependencies: + '@babel/types': 7.21.2 + + '@babel/helper-split-export-declaration@7.18.6': + dependencies: + '@babel/types': 7.21.2 + + '@babel/helper-string-parser@7.19.4': {} + + '@babel/helper-validator-identifier@7.19.1': {} + + '@babel/helper-validator-option@7.21.0': {} + + '@babel/helper-wrap-function@7.20.5(supports-color@8.1.1)': + dependencies: + '@babel/helper-function-name': 7.21.0 + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2(supports-color@8.1.1) + '@babel/types': 7.21.2 + transitivePeerDependencies: + - supports-color + + '@babel/helpers@7.21.0(supports-color@8.1.1)': + dependencies: + '@babel/template': 7.20.7 + '@babel/traverse': 7.21.2(supports-color@8.1.1) + '@babel/types': 7.21.2 + transitivePeerDependencies: + - supports-color + + '@babel/highlight@7.18.6': + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + + '@babel/parser@7.21.2': + dependencies: + '@babel/types': 7.21.2 + + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.0(supports-color@8.1.1)) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + + '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7(supports-color@8.1.1) + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/template': 7.20.7 + + '@babel/plugin-transform-destructuring@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-function-name': 7.21.0 + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-simple-access': 7.20.2 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-identifier': 7.19.1 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.20.7(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + '@babel/plugin-transform-parameters@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + regenerator-transform: 0.15.1 + + '@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + + '@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.20.2 + + '@babel/preset-env@7.20.2(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-destructuring': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/preset-modules': 0.1.5(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/types': 7.21.2 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + core-js-compat: 3.29.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + + '@babel/preset-modules@0.1.5(@babel/core@7.21.0(supports-color@8.1.1))': + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) + '@babel/types': 7.21.2 + esutils: 2.0.3 + + '@babel/regjsgen@0.8.0': {} + + '@babel/runtime@7.21.5': + dependencies: + regenerator-runtime: 0.13.11 + + '@babel/template@7.20.7': + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.21.2 + '@babel/types': 7.21.2 + + '@babel/traverse@7.21.2(supports-color@8.1.1)': + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.21.1 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.21.2 + '@babel/types': 7.21.2 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.21.2': + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + + '@changesets/apply-release-plan@6.1.3': + dependencies: + '@babel/runtime': 7.21.5 + '@changesets/config': 2.3.0 + '@changesets/get-version-range-type': 0.3.2 + '@changesets/git': 2.0.0 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + detect-indent: 6.1.0 + fs-extra: 7.0.1 + lodash.startcase: 4.4.0 + outdent: 0.5.0 + prettier: 2.8.8 + resolve-from: 5.0.0 + semver: 5.7.1 + + '@changesets/assemble-release-plan@5.2.3': + dependencies: + '@babel/runtime': 7.21.5 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.5 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + semver: 5.7.1 + + '@changesets/changelog-git@0.1.14': + dependencies: + '@changesets/types': 5.2.1 + + '@changesets/cli@2.26.1': + dependencies: + '@babel/runtime': 7.21.5 + '@changesets/apply-release-plan': 6.1.3 + '@changesets/assemble-release-plan': 5.2.3 + '@changesets/changelog-git': 0.1.14 + '@changesets/config': 2.3.0 + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.5 + '@changesets/get-release-plan': 3.0.16 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@changesets/write': 0.2.3 + '@manypkg/get-packages': 1.1.3 + '@types/is-ci': 3.0.0 + '@types/semver': 6.2.3 + ansi-colors: 4.1.3 + chalk: 2.4.2 + enquirer: 2.3.6 + external-editor: 3.1.0 + fs-extra: 7.0.1 + human-id: 1.0.2 + is-ci: 3.0.1 + meow: 6.1.1 + outdent: 0.5.0 + p-limit: 2.3.0 + preferred-pm: 3.0.3 + resolve-from: 5.0.0 + semver: 5.7.1 + spawndamnit: 2.0.0 + term-size: 2.2.1 + tty-table: 4.2.1 + + '@changesets/config@2.3.0': + dependencies: + '@changesets/errors': 0.1.4 + '@changesets/get-dependents-graph': 1.3.5 + '@changesets/logger': 0.0.5 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + micromatch: 4.0.5 + + '@changesets/errors@0.1.4': + dependencies: + extendable-error: 0.1.7 + + '@changesets/get-dependents-graph@1.3.5': + dependencies: + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + chalk: 2.4.2 + fs-extra: 7.0.1 + semver: 5.7.1 + + '@changesets/get-github-info@0.5.2': + dependencies: + dataloader: 1.4.0 + node-fetch: 2.6.11 + transitivePeerDependencies: + - encoding + + '@changesets/get-release-plan@3.0.16': + dependencies: + '@babel/runtime': 7.21.5 + '@changesets/assemble-release-plan': 5.2.3 + '@changesets/config': 2.3.0 + '@changesets/pre': 1.0.14 + '@changesets/read': 0.5.9 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + + '@changesets/get-version-range-type@0.3.2': {} + + '@changesets/git@2.0.0': + dependencies: + '@babel/runtime': 7.21.5 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + is-subdir: 1.2.0 + micromatch: 4.0.5 + spawndamnit: 2.0.0 + + '@changesets/logger@0.0.5': + dependencies: + chalk: 2.4.2 + + '@changesets/parse@0.3.16': + dependencies: + '@changesets/types': 5.2.1 + js-yaml: 3.14.1 + + '@changesets/pre@1.0.14': + dependencies: + '@babel/runtime': 7.21.5 + '@changesets/errors': 0.1.4 + '@changesets/types': 5.2.1 + '@manypkg/get-packages': 1.1.3 + fs-extra: 7.0.1 + + '@changesets/read@0.5.9': + dependencies: + '@babel/runtime': 7.21.5 + '@changesets/git': 2.0.0 + '@changesets/logger': 0.0.5 + '@changesets/parse': 0.3.16 + '@changesets/types': 5.2.1 + chalk: 2.4.2 + fs-extra: 7.0.1 + p-filter: 2.1.0 + + '@changesets/types@4.1.0': {} + + '@changesets/types@5.2.1': {} + + '@changesets/write@0.2.3': + dependencies: + '@babel/runtime': 7.21.5 + '@changesets/types': 5.2.1 + fs-extra: 7.0.1 + human-id: 1.0.2 + prettier: 2.8.8 + + '@colors/colors@1.5.0': {} + + '@eslint/eslintrc@2.0.0(supports-color@8.1.1)': + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.4.1 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@8.35.0': {} + + '@humanwhocodes/config-array@0.11.8(supports-color@8.1.1)': + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4(supports-color@8.1.1) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@1.2.1': {} + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.2.0 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@istanbuljs/load-nyc-config@1.1.0': + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + + '@istanbuljs/schema@0.1.3': {} + + '@jridgewell/gen-mapping@0.1.1': + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + + '@jridgewell/gen-mapping@0.3.2': + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping': 0.3.17 + + '@jridgewell/resolve-uri@3.1.0': {} + + '@jridgewell/set-array@1.1.2': {} + + '@jridgewell/source-map@0.3.2': + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + + '@jridgewell/sourcemap-codec@1.4.14': {} + + '@jridgewell/trace-mapping@0.3.17': + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + '@manypkg/find-root@1.1.0': + dependencies: + '@babel/runtime': 7.21.5 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + + '@manypkg/get-packages@1.1.3': + dependencies: + '@babel/runtime': 7.21.5 + '@changesets/types': 4.1.0 + '@manypkg/find-root': 1.1.0 + fs-extra: 8.1.0 + globby: 11.1.0 + read-yaml-file: 1.1.0 + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@sinonjs/commons@2.0.0': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@10.0.2': + dependencies: + '@sinonjs/commons': 2.0.0 + + '@sinonjs/samsam@7.0.1': + dependencies: + '@sinonjs/commons': 2.0.0 + lodash.get: 4.4.2 + type-detect: 4.0.8 + + '@sinonjs/text-encoding@0.7.1': {} + + '@socket.io/component-emitter@3.1.0': {} + + '@svitejs/changesets-changelog-github-compact@0.1.1': + dependencies: + '@changesets/get-github-info': 0.5.2 + dotenv: 16.0.3 + transitivePeerDependencies: + - encoding + + '@testing-library/dom@8.20.0': + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/runtime': 7.21.5 + '@types/aria-query': 5.0.1 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/dom@9.0.1': + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/runtime': 7.21.5 + '@types/aria-query': 5.0.1 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + + '@testing-library/preact@3.2.3(preact@10.13.1)': + dependencies: + '@testing-library/dom': 8.20.0 + preact: 10.13.1 + + '@tootallnate/once@2.0.0': {} + + '@types/aria-query@5.0.1': {} + + '@types/color-name@1.1.1': {} + + '@types/cookie@0.4.1': {} + + '@types/cors@2.8.12': {} + + '@types/eslint-scope@3.7.3': + dependencies: + '@types/eslint': 8.4.1 + '@types/estree': 0.0.51 + + '@types/eslint@8.4.1': + dependencies: + '@types/estree': 0.0.51 + '@types/json-schema': 7.0.11 + + '@types/estree@0.0.51': {} + + '@types/hoist-non-react-statics@3.3.1': + dependencies: + '@types/react': 16.9.35 + hoist-non-react-statics: 3.3.2 + + '@types/is-ci@3.0.0': + dependencies: + ci-info: 3.8.0 + + '@types/json-schema@7.0.11': {} + + '@types/minimist@1.2.2': {} + + '@types/node@12.20.55': {} + + '@types/node@18.15.0': {} + + '@types/normalize-package-data@2.4.1': {} + + '@types/prop-types@15.7.3': {} + + '@types/react-dom@16.9.8': + dependencies: + '@types/react': 16.9.35 + + '@types/react-redux@7.1.25': + dependencies: + '@types/hoist-non-react-statics': 3.3.1 + '@types/react': 16.9.35 + hoist-non-react-statics: 3.3.2 + redux: 4.2.1 + + '@types/react@16.9.35': + dependencies: + '@types/prop-types': 15.7.3 + csstype: 2.6.10 + + '@types/semver@6.2.3': {} + + '@types/use-sync-external-store@0.0.3': {} + + '@typescript-eslint/parser@5.54.1(eslint@8.35.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@4.9.5)': + dependencies: + '@typescript-eslint/scope-manager': 5.54.1 + '@typescript-eslint/types': 5.54.1 + '@typescript-eslint/typescript-estree': 5.54.1(supports-color@8.1.1)(typescript@4.9.5) + debug: 4.3.4(supports-color@8.1.1) + eslint: 8.35.0(supports-color@8.1.1) + optionalDependencies: + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@5.54.1': + dependencies: + '@typescript-eslint/types': 5.54.1 + '@typescript-eslint/visitor-keys': 5.54.1 + + '@typescript-eslint/types@5.54.1': {} + + '@typescript-eslint/typescript-estree@5.54.1(supports-color@8.1.1)(typescript@4.9.5)': + dependencies: + '@typescript-eslint/types': 5.54.1 + '@typescript-eslint/visitor-keys': 5.54.1 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.3.8 + tsutils: 3.21.0(typescript@4.9.5) + optionalDependencies: + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/visitor-keys@5.54.1': + dependencies: + '@typescript-eslint/types': 5.54.1 + eslint-visitor-keys: 3.3.0 + + '@webassemblyjs/ast@1.11.1': + dependencies: + '@webassemblyjs/helper-numbers': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + + '@webassemblyjs/floating-point-hex-parser@1.11.1': {} + + '@webassemblyjs/helper-api-error@1.11.1': {} + + '@webassemblyjs/helper-buffer@1.11.1': {} + + '@webassemblyjs/helper-numbers@1.11.1': + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@xtuc/long': 4.2.2 + + '@webassemblyjs/helper-wasm-bytecode@1.11.1': {} + + '@webassemblyjs/helper-wasm-section@1.11.1': + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + + '@webassemblyjs/ieee754@1.11.1': + dependencies: + '@xtuc/ieee754': 1.2.0 + + '@webassemblyjs/leb128@1.11.1': + dependencies: + '@xtuc/long': 4.2.2 + + '@webassemblyjs/utf8@1.11.1': {} + + '@webassemblyjs/wasm-edit@1.11.1': + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-wasm-section': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-opt': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/wast-printer': 1.11.1 + + '@webassemblyjs/wasm-gen@1.11.1': + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + + '@webassemblyjs/wasm-opt@1.11.1': + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + + '@webassemblyjs/wasm-parser@1.11.1': + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + + '@webassemblyjs/wast-printer@1.11.1': + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@xtuc/long': 4.2.2 + + '@xtuc/ieee754@1.2.0': {} + + '@xtuc/long@4.2.2': {} + + abab@2.0.6: {} + + abbrev@1.1.1: {} + + accepts@1.3.7: + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.2 + + acorn-globals@7.0.1: + dependencies: + acorn: 8.8.2 + acorn-walk: 8.2.0 + + acorn-import-assertions@1.8.0(acorn@8.8.2): + dependencies: + acorn: 8.8.2 + + acorn-jsx@5.3.2(acorn@8.8.2): + dependencies: + acorn: 8.8.2 + + acorn-walk@8.2.0: {} + + acorn@8.8.2: {} + + agent-base@6.0.0(supports-color@8.1.1): + dependencies: + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + aggregate-error@3.1.0: + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + + ajv-formats@2.1.1: + dependencies: + ajv: 8.12.0 + + ajv-keywords@3.5.2(ajv@6.12.6): + dependencies: + ajv: 6.12.6 + + ajv-keywords@5.1.0(ajv@8.12.0): + dependencies: + ajv: 8.12.0 + fast-deep-equal: 3.1.3 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ansi-colors@4.1.3: {} + + ansi-regex@3.0.0: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.5.0: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.2.1: + dependencies: + '@types/color-name': 1.1.1 + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.3: {} + + anymatch@3.1.2: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + append-transform@2.0.0: + dependencies: + default-require-extensions: 3.0.1 + + archy@1.0.0: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + argparse@2.0.1: {} + + aria-query@5.1.3: + dependencies: + deep-equal: 2.2.0 + + array-includes@3.1.6: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + get-intrinsic: 1.2.0 + is-string: 1.0.7 + + array-union@2.1.0: {} + + array.prototype.flat@1.3.1: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + es-shim-unscopables: 1.0.0 + + array.prototype.flatmap@1.3.1: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + es-shim-unscopables: 1.0.0 + + array.prototype.tosorted@1.1.1: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.0 + + arrify@1.0.1: {} + + assert@2.0.0: + dependencies: + es6-object-assign: 1.1.0 + is-nan: 1.3.2 + object-is: 1.1.5 + util: 0.12.4 + + async@1.5.2: {} + + asynckit@0.4.0: {} + + available-typed-arrays@1.0.5: {} + + babel-loader@9.1.2(@babel/core@7.21.0(supports-color@8.1.1))(webpack@5.76.0): + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + find-cache-dir: 3.3.2 + schema-utils: 4.0.0 + webpack: 5.76.0 + + babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1): + dependencies: + '@babel/compat-data': 7.21.0 + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1): + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + core-js-compat: 3.29.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1): + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + balanced-match@1.0.0: {} + + base64id@2.0.0: {} + + benchmark@2.1.4: + dependencies: + lodash: 4.17.21 + platform: 1.3.5 + + better-path-resolve@1.0.0: + dependencies: + is-windows: 1.0.2 + + binary-extensions@2.0.0: {} + + body-parser@1.19.1(supports-color@8.1.1): + dependencies: + bytes: 3.1.1 + content-type: 1.0.4 + debug: 2.6.9(supports-color@8.1.1) + depd: 1.1.2 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + on-finished: 2.3.0 + qs: 6.9.6 + raw-body: 2.4.2 + type-is: 1.6.18 + transitivePeerDependencies: + - supports-color + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.0 + concat-map: 0.0.1 + + brace-expansion@2.1.7: + dependencies: + balanced-match: 1.0.0 + + braces@3.0.2: + dependencies: + fill-range: 7.0.1 + + breakword@1.0.5: + dependencies: + wcwidth: 1.0.1 + + browser-stdout@1.3.1: {} + + browserslist@4.21.5: + dependencies: + caniuse-lite: 1.0.30001462 + electron-to-chromium: 1.4.325 + node-releases: 2.0.10 + update-browserslist-db: 1.0.10(browserslist@4.21.5) + + buffer-from@1.1.1: {} + + builder@5.0.0: + dependencies: + async: 1.5.2 + chalk: 2.4.2 + js-yaml: 3.14.1 + lodash: 4.17.21 + nopt: 4.0.3 + tree-kill: 1.2.2 + + bytes@3.1.1: {} + + caching-transform@4.0.0: + dependencies: + hasha: 5.2.2 + make-dir: 3.1.0 + package-hash: 4.0.0 + write-file-atomic: 3.0.3 + + call-bind@1.0.2: + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.0 + + callsites@3.1.0: {} + + camelcase-keys@6.2.2: + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + + caniuse-lite@1.0.30001462: {} + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.2.1 + supports-color: 7.2.0 + + chardet@0.7.0: {} + + chokidar@3.5.3: + dependencies: + anymatch: 3.1.2 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + chrome-trace-event@1.0.2: + dependencies: + tslib: 1.13.0 + + ci-info@3.8.0: {} + + clean-stack@2.2.0: {} + + cliui@6.0.0: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 6.2.0 + + cliui@7.0.4: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone@1.0.4: {} + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + combined-stream@1.0.8: + dependencies: + delayed-stream: 1.0.0 + + commander@2.20.3: {} + + commondir@1.0.1: {} + + concat-map@0.0.1: {} + + connect@3.7.0(supports-color@8.1.1): + dependencies: + debug: 2.6.9(supports-color@8.1.1) + finalhandler: 1.1.2(supports-color@8.1.1) + parseurl: 1.3.3 + utils-merge: 1.0.1 + transitivePeerDependencies: + - supports-color + + content-type@1.0.4: {} + + convert-source-map@1.7.0: + dependencies: + safe-buffer: 5.1.2 + + cookie@0.4.2: {} + + core-js-compat@3.29.0: + dependencies: + browserslist: 4.21.5 + + core-js@3.29.0: {} + + cors@2.8.5: + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + + cross-spawn@5.1.0: + dependencies: + lru-cache: 4.1.5 + shebang-command: 1.2.0 + which: 1.3.1 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + cssom@0.3.8: {} + + cssom@0.5.0: {} + + cssstyle@2.3.0: + dependencies: + cssom: 0.3.8 + + csstype@2.6.10: {} + + csv-generate@3.4.3: {} + + csv-parse@4.16.3: {} + + csv-stringify@5.6.5: {} + + csv@5.5.3: + dependencies: + csv-generate: 3.4.3 + csv-parse: 4.16.3 + csv-stringify: 5.6.5 + stream-transform: 2.1.3 + + custom-event@1.0.1: {} + + data-urls@3.0.2: + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + + dataloader@1.4.0: {} + + date-format@4.0.3: {} + + debug@2.6.9(supports-color@8.1.1): + dependencies: + ms: 2.0.0 + optionalDependencies: + supports-color: 8.1.1 + + debug@4.3.4(supports-color@8.1.1): + dependencies: + ms: 2.1.2 + optionalDependencies: + supports-color: 8.1.1 + + debug@4.4.3(supports-color@8.1.1): + dependencies: + ms: 2.1.3 + optionalDependencies: + supports-color: 8.1.1 + + decamelize-keys@1.1.1: + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + + decamelize@1.2.0: {} + + decamelize@4.0.0: {} + + decimal.js@10.4.3: {} + + deep-equal@2.2.0: + dependencies: + call-bind: 1.0.2 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.0 + is-arguments: 1.1.1 + is-array-buffer: 3.0.2 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.9 + + deep-is@0.1.4: {} + + default-require-extensions@3.0.1: + dependencies: + strip-bom: 4.0.0 + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-properties@1.2.0: + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + + delayed-stream@1.0.0: {} + + depd@1.1.2: {} + + detect-indent@6.1.0: {} + + di@0.0.1: {} + + diff@5.1.0: {} + + diff@7.0.0: {} + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + doctrine@2.1.0: + dependencies: + esutils: 2.0.3 + + doctrine@3.0.0: + dependencies: + esutils: 2.0.3 + + dom-accessibility-api@0.5.16: {} + + dom-serialize@2.2.1: + dependencies: + custom-event: 1.0.1 + ent: 2.2.0 + extend: 3.0.2 + void-elements: 2.0.1 + + domexception@4.0.0: + dependencies: + webidl-conversions: 7.0.0 + + dotenv@16.0.3: {} + + eastasianwidth@0.2.0: {} + + ee-first@1.1.1: {} + + electron-to-chromium@1.4.325: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + encodeurl@1.0.2: {} + + engine.io-parser@5.0.6: {} + + engine.io@6.4.1(supports-color@8.1.1): + dependencies: + '@types/cookie': 0.4.1 + '@types/cors': 2.8.12 + '@types/node': 18.15.0 + accepts: 1.3.7 + base64id: 2.0.0 + cookie: 0.4.2 + cors: 2.8.5 + debug: 4.3.4(supports-color@8.1.1) + engine.io-parser: 5.0.6 + ws: 8.11.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + enhanced-resolve@5.12.0: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + enquirer@2.3.6: + dependencies: + ansi-colors: 4.1.3 + + ent@2.2.0: {} + + entities@4.4.0: {} + + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + + es-abstract@1.21.1: + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.0 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.10 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + safe-regex-test: 1.0.0 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 + + es-get-iterator@1.1.3: + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + + es-module-lexer@0.9.3: {} + + es-set-tostringtag@2.0.1: + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + has-tostringtag: 1.0.0 + + es-shim-unscopables@1.0.0: + dependencies: + has: 1.0.3 + + es-to-primitive@1.2.1: + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + es6-error@4.1.1: {} + + es6-object-assign@1.1.0: {} + + escalade@3.1.1: {} + + escape-html@1.0.3: {} + + escape-string-regexp@1.0.5: {} + + escape-string-regexp@4.0.0: {} + + escodegen@2.0.0: + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + + eslint-plugin-react@7.32.2(eslint@8.35.0(supports-color@8.1.1)): + dependencies: + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 + doctrine: 2.1.0 + eslint: 8.35.0(supports-color@8.1.1) + estraverse: 5.3.0 + jsx-ast-utils: 3.3.3 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 + semver: 6.3.0 + string.prototype.matchall: 4.0.8 + + eslint-scope@5.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + eslint-scope@7.1.1: + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + eslint-utils@3.0.0(eslint@8.35.0(supports-color@8.1.1)): + dependencies: + eslint: 8.35.0(supports-color@8.1.1) + eslint-visitor-keys: 2.1.0 + + eslint-visitor-keys@2.1.0: {} + + eslint-visitor-keys@3.3.0: {} + + eslint@8.35.0(supports-color@8.1.1): + dependencies: + '@eslint/eslintrc': 2.0.0(supports-color@8.1.1) + '@eslint/js': 8.35.0 + '@humanwhocodes/config-array': 0.11.8(supports-color@8.1.1) + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@8.1.1) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.1.1 + eslint-utils: 3.0.0(eslint@8.35.0(supports-color@8.1.1)) + eslint-visitor-keys: 3.3.0 + espree: 9.4.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.3.0 + 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.1 + regexpp: 3.2.0 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + espree@9.4.1: + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.3.0 + + esprima@4.0.1: {} + + esquery@1.5.0: + dependencies: + estraverse: 5.3.0 + + esrecurse@4.3.0: + dependencies: + estraverse: 5.3.0 + + estraverse@4.3.0: {} + + estraverse@5.3.0: {} + + esutils@2.0.3: {} + + eventemitter3@4.0.4: {} + + events@3.3.0: {} + + extend@3.0.2: {} + + extendable-error@0.1.7: {} + + external-editor@3.1.0: + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + + fast-deep-equal@3.1.3: {} + + fast-glob@3.2.12: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + fast-json-stable-stringify@2.1.0: {} + + fast-levenshtein@2.0.6: {} + + fastq@1.15.0: + dependencies: + reusify: 1.0.4 + + file-entry-cache@6.0.1: + dependencies: + flat-cache: 3.0.4 + + fill-range@7.0.1: + dependencies: + to-regex-range: 5.0.1 + + finalhandler@1.1.2(supports-color@8.1.1): + dependencies: + debug: 2.6.9(supports-color@8.1.1) + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.3.0 + parseurl: 1.3.3 + statuses: 1.5.0 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + + find-cache-dir@3.3.2: + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + find-up@5.0.0: + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + find-yarn-workspace-root2@1.2.16: + dependencies: + micromatch: 4.0.5 + pkg-dir: 4.2.0 + + flat-cache@3.0.4: + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + + flat@5.0.2: {} + + flatted@3.2.7: {} + + follow-redirects@1.14.7(debug@4.3.4(supports-color@8.1.1)): + optionalDependencies: + debug: 4.3.4(supports-color@8.1.1) + + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + foreground-child@2.0.0: + dependencies: + cross-spawn: 7.0.3 + signal-exit: 3.0.3 + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + form-data@4.0.0: + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + fromentries@1.3.2: {} + + fs-extra@10.0.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + + fs-extra@7.0.1: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs-extra@8.1.0: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + + fs.realpath@1.0.0: {} + + fsevents@2.3.2: + optional: true + + function-bind@1.1.1: {} + + function.prototype.name@1.1.5: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + functions-have-names: 1.2.3 + + functions-have-names@1.2.3: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.2.0: + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + + get-package-type@0.1.0: {} + + get-symbol-description@1.0.0: + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-parent@6.0.2: + dependencies: + is-glob: 4.0.3 + + glob-to-regexp@0.4.1: {} + + glob@10.5.0: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.9 + minipass: 7.1.3 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@7.2.3: + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + globals@11.12.0: {} + + globals@13.20.0: + dependencies: + type-fest: 0.20.2 + + globalthis@1.0.3: + dependencies: + define-properties: 1.2.0 + + globby@11.1.0: + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + + gopd@1.0.1: + dependencies: + get-intrinsic: 1.2.0 + + graceful-fs@4.2.11: {} + + grapheme-splitter@1.0.4: {} + + hard-rejection@2.1.0: {} + + has-bigints@1.0.2: {} + + has-flag@3.0.0: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.0: + dependencies: + get-intrinsic: 1.2.0 + + has-proto@1.0.1: {} + + has-symbols@1.0.3: {} + + has-tostringtag@1.0.0: + dependencies: + has-symbols: 1.0.3 + + has@1.0.3: + dependencies: + function-bind: 1.1.1 + + hasha@5.2.2: + dependencies: + is-stream: 2.0.1 + type-fest: 0.8.1 + + he@1.2.0: {} + + hoist-non-react-statics@3.3.2: + dependencies: + react-is: 16.13.1 + + hosted-git-info@2.8.9: {} + + html-encoding-sniffer@3.0.0: + dependencies: + whatwg-encoding: 2.0.0 + + html-escaper@2.0.2: {} + + http-errors@1.8.1: + dependencies: + depd: 1.1.2 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 1.5.0 + toidentifier: 1.0.1 + + http-proxy-agent@5.0.0(supports-color@8.1.1): + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.0(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + http-proxy@1.18.1(debug@4.3.4(supports-color@8.1.1)): + dependencies: + eventemitter3: 4.0.4 + follow-redirects: 1.14.7(debug@4.3.4(supports-color@8.1.1)) + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + + https-proxy-agent@5.0.1(supports-color@8.1.1): + dependencies: + agent-base: 6.0.0(supports-color@8.1.1) + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + human-id@1.0.2: {} + + iconv-lite@0.4.24: + dependencies: + safer-buffer: 2.1.2 + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + ignore@5.2.4: {} + + import-fresh@3.3.0: + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + imurmurhash@0.1.4: {} + + indent-string@4.0.0: {} + + inflight@1.0.6: + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + inherits@2.0.4: {} + + internal-slot@1.0.5: + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + side-channel: 1.0.4 + + is-arguments@1.1.1: + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + is-array-buffer@3.0.2: + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-typed-array: 1.1.10 + + is-arrayish@0.2.1: {} + + is-bigint@1.0.4: + dependencies: + has-bigints: 1.0.2 + + is-binary-path@2.1.0: + dependencies: + binary-extensions: 2.0.0 + + is-boolean-object@1.1.2: + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + is-callable@1.2.7: {} + + is-ci@3.0.1: + dependencies: + ci-info: 3.8.0 + + is-core-module@2.12.1: + dependencies: + has: 1.0.3 + + is-date-object@1.0.5: + dependencies: + has-tostringtag: 1.0.0 + + is-docker@2.0.0: {} + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-map@2.0.2: {} + + is-nan@1.3.2: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + + is-negative-zero@2.0.2: {} + + is-number-object@1.0.7: + dependencies: + has-tostringtag: 1.0.0 + + is-number@7.0.0: {} + + is-path-inside@3.0.3: {} + + is-plain-obj@1.1.0: {} + + is-plain-obj@2.1.0: {} + + is-potential-custom-element-name@1.0.1: {} + + is-regex@1.1.4: + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + is-set@2.0.2: {} + + is-shared-array-buffer@1.0.2: + dependencies: + call-bind: 1.0.2 + + is-stream@2.0.1: {} + + is-string@1.0.7: + dependencies: + has-tostringtag: 1.0.0 + + is-subdir@1.2.0: + dependencies: + better-path-resolve: 1.0.0 + + is-symbol@1.0.4: + dependencies: + has-symbols: 1.0.3 + + is-typed-array@1.1.10: + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + + is-typedarray@1.0.0: {} + + is-unicode-supported@0.1.0: {} + + is-weakmap@2.0.1: {} + + is-weakref@1.0.2: + dependencies: + call-bind: 1.0.2 + + is-weakset@2.0.2: + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + + is-windows@1.0.2: {} + + is-wsl@2.2.0: + dependencies: + is-docker: 2.0.0 + + isarray@0.0.1: {} + + isarray@2.0.5: {} + + isbinaryfile@4.0.8: {} + + isexe@2.0.0: {} + + istanbul-lib-coverage@3.2.0: {} + + istanbul-lib-hook@3.0.0: + dependencies: + append-transform: 2.0.0 + + istanbul-lib-instrument@4.0.3(supports-color@8.1.1): + dependencies: + '@babel/core': 7.21.0(supports-color@8.1.1) + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + + istanbul-lib-processinfo@2.0.3: + dependencies: + archy: 1.0.0 + cross-spawn: 7.0.3 + istanbul-lib-coverage: 3.2.0 + p-map: 3.0.0 + rimraf: 3.0.2 + uuid: 8.3.2 + + istanbul-lib-report@3.0.0: + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@4.0.1(supports-color@8.1.1): + dependencies: + debug: 4.3.4(supports-color@8.1.1) + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.5: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jest-worker@27.5.1: + dependencies: + '@types/node': 18.15.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + js-sdsl@4.3.0: {} + + js-tokens@4.0.0: {} + + js-yaml@3.14.1: + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + + js-yaml@4.1.0: + dependencies: + argparse: 2.0.1 + + jsdom-global@3.0.2(jsdom@21.1.0(supports-color@8.1.1)): + dependencies: + jsdom: 21.1.0(supports-color@8.1.1) + + jsdom@21.1.0(supports-color@8.1.1): + dependencies: + abab: 2.0.6 + acorn: 8.8.2 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0(supports-color@8.1.1) + https-proxy-agent: 5.0.1(supports-color@8.1.1) + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.2 + parse5: 7.1.2 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.2 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.12.1 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jsesc@0.5.0: {} + + jsesc@2.5.2: {} + + json-parse-even-better-errors@2.3.1: {} + + json-schema-traverse@0.4.1: {} + + json-schema-traverse@1.0.0: {} + + json-stable-stringify-without-jsonify@1.0.1: {} + + json5@2.2.3: {} + + jsonfile@4.0.0: + optionalDependencies: + graceful-fs: 4.2.11 + + jsonfile@6.1.0: + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + + jsx-ast-utils@3.3.3: + dependencies: + array-includes: 3.1.6 + object.assign: 4.1.4 + + just-extend@4.1.0: {} + + karma-chrome-launcher@3.1.1: + dependencies: + which: 1.3.1 + + karma-firefox-launcher@2.1.2: + dependencies: + is-wsl: 2.2.0 + which: 2.0.2 + + karma-mocha-reporter@2.2.5(karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1)): + dependencies: + chalk: 2.4.2 + karma: 6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1) + log-symbols: 2.2.0 + strip-ansi: 4.0.0 + + karma-mocha@2.0.1: + dependencies: + minimist: 1.2.8 + + karma-safari-launcher@1.0.0(karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1)): + dependencies: + karma: 6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1) + + karma-webpack@5.0.0(webpack@5.76.0): + dependencies: + glob: 7.2.3 + minimatch: 3.1.2 + webpack: 5.76.0 + webpack-merge: 4.2.2 + + karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1): + dependencies: + '@colors/colors': 1.5.0 + body-parser: 1.19.1(supports-color@8.1.1) + braces: 3.0.2 + chokidar: 3.5.3 + connect: 3.7.0(supports-color@8.1.1) + di: 0.0.1 + dom-serialize: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + http-proxy: 1.18.1(debug@4.3.4(supports-color@8.1.1)) + isbinaryfile: 4.0.8 + lodash: 4.17.21 + log4js: 6.4.1(supports-color@8.1.1) + mime: 2.6.0 + minimatch: 3.1.2 + mkdirp: 0.5.5 + qjobs: 1.2.0 + range-parser: 1.2.1 + rimraf: 3.0.2 + socket.io: 4.6.1(supports-color@8.1.1) + source-map: 0.6.1 + tmp: 0.2.1 + ua-parser-js: 0.7.31 + yargs: 16.2.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + + kind-of@6.0.3: {} + + kleur@4.1.5: {} + + levn@0.3.0: + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + + levn@0.4.1: + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + lines-and-columns@1.2.4: {} + + load-yaml-file@0.2.0: + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + + loader-runner@4.3.0: {} + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + locate-path@6.0.0: + dependencies: + p-locate: 5.0.0 + + lodash.debounce@4.0.8: {} + + lodash.flattendeep@4.4.0: {} + + lodash.get@4.4.2: {} + + lodash.merge@4.6.2: {} + + lodash.startcase@4.4.0: {} + + lodash@4.17.21: {} + + log-symbols@2.2.0: + dependencies: + chalk: 2.4.2 + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + log4js@6.4.1(supports-color@8.1.1): + dependencies: + date-format: 4.0.3 + debug: 4.3.4(supports-color@8.1.1) + flatted: 3.2.7 + rfdc: 1.3.0 + streamroller: 3.0.2(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + + lru-cache@10.4.3: {} + + lru-cache@4.1.5: + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.2 + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + lz-string@1.5.0: {} + + make-dir@3.1.0: + dependencies: + semver: 6.3.0 + + map-obj@1.0.1: {} + + map-obj@4.3.0: {} + + media-typer@0.3.0: {} + + meow@6.1.1: + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 2.5.0 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.13.1 + yargs-parser: 18.1.3 + + merge-stream@2.0.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.5: + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + mime-db@1.52.0: {} + + mime-types@2.1.35: + dependencies: + mime-db: 1.52.0 + + mime@2.6.0: {} + + min-indent@1.0.1: {} + + minimatch@3.1.2: + dependencies: + brace-expansion: 1.1.11 + + minimatch@9.0.9: + dependencies: + brace-expansion: 2.1.7 + + minimist-options@4.1.0: + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + + minimist@1.2.8: {} + + minipass@7.1.3: {} + + mixme@0.5.9: {} + + mkdirp@0.5.5: + dependencies: + minimist: 1.2.8 + + mocha@11.8.0: + dependencies: + browser-stdout: 1.3.1 + chokidar: 4.0.3 + debug: 4.4.3(supports-color@8.1.1) + diff: 7.0.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 10.5.0 + he: 1.2.0 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 9.0.9 + ms: 2.1.3 + picocolors: 1.1.1 + serialize-javascript: 6.0.2 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 9.3.4 + yargs: 17.7.2 + yargs-parser: 21.1.1 + yargs-unparser: 2.0.0 + + ms@2.0.0: {} + + ms@2.1.2: {} + + ms@2.1.3: {} + + nano-equal@2.0.2: {} + + natural-compare@1.4.0: {} + + negotiator@0.6.2: {} + + neo-async@2.6.2: {} + + nise@5.1.4: + dependencies: + '@sinonjs/commons': 2.0.0 + '@sinonjs/fake-timers': 10.0.2 + '@sinonjs/text-encoding': 0.7.1 + just-extend: 4.1.0 + path-to-regexp: 1.8.0 + + node-fetch@2.6.11: + dependencies: + whatwg-url: 5.0.0 + + node-preload@0.2.1: + dependencies: + process-on-spawn: 1.0.0 + + node-releases@2.0.10: {} + + nopt@4.0.3: + dependencies: + abbrev: 1.1.1 + osenv: 0.1.5 + + normalize-package-data@2.5.0: + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.2 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + + normalize-path@3.0.0: {} + + nwsapi@2.2.2: {} + + nyc@15.1.0(supports-color@8.1.1): + dependencies: + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + caching-transform: 4.0.0 + convert-source-map: 1.7.0 + decamelize: 1.2.0 + find-cache-dir: 3.3.2 + find-up: 4.1.0 + foreground-child: 2.0.0 + get-package-type: 0.1.0 + glob: 7.2.3 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-hook: 3.0.0 + istanbul-lib-instrument: 4.0.3(supports-color@8.1.1) + istanbul-lib-processinfo: 2.0.3 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1(supports-color@8.1.1) + istanbul-reports: 3.1.5 + make-dir: 3.1.0 + node-preload: 0.2.1 + p-map: 3.0.0 + process-on-spawn: 1.0.0 + resolve-from: 5.0.0 + rimraf: 3.0.2 + signal-exit: 3.0.3 + spawn-wrap: 2.0.0 + test-exclude: 6.0.0 + yargs: 15.4.1 + transitivePeerDependencies: + - supports-color + + object-assign@4.1.1: {} + + object-inspect@1.12.3: {} + + object-is@1.1.5: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + + object-keys@1.1.1: {} + + object.assign@4.1.4: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + object.entries@1.1.6: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + + object.fromentries@2.0.6: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + + object.hasown@1.1.2: + dependencies: + define-properties: 1.2.0 + es-abstract: 1.21.1 + + object.values@1.1.6: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + + on-finished@2.3.0: + dependencies: + ee-first: 1.1.1 + + once@1.4.0: + dependencies: + wrappy: 1.0.2 + + optionator@0.8.3: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.3 + + optionator@0.9.1: + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + + os-homedir@1.0.2: {} + + os-tmpdir@1.0.2: {} + + osenv@0.1.5: + dependencies: + os-homedir: 1.0.2 + os-tmpdir: 1.0.2 + + outdent@0.5.0: {} + + p-filter@2.1.0: + dependencies: + p-map: 2.1.0 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-limit@3.1.0: + dependencies: + yocto-queue: 0.1.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-locate@5.0.0: + dependencies: + p-limit: 3.1.0 + + p-map@2.1.0: {} + + p-map@3.0.0: + dependencies: + aggregate-error: 3.1.0 + + p-try@2.2.0: {} + + package-hash@4.0.0: + dependencies: + graceful-fs: 4.2.11 + hasha: 5.2.2 + lodash.flattendeep: 4.4.0 + release-zalgo: 1.0.0 + + package-json-from-dist@1.0.1: {} + + parent-module@1.0.1: + dependencies: + callsites: 3.1.0 + + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.21.4 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + parse5@7.1.2: + dependencies: + entities: 4.4.0 + + parseurl@1.3.3: {} + + path-exists@4.0.0: {} + + path-is-absolute@1.0.1: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.3 + + path-to-regexp@1.8.0: + dependencies: + isarray: 0.0.1 + + path-type@4.0.0: {} + + picocolors@1.0.0: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + pify@4.0.1: {} + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + platform@1.3.5: {} + + preact@10.13.1: {} + + preferred-pm@3.0.3: + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + + prelude-ls@1.1.2: {} + + prelude-ls@1.2.1: {} + + prettier@2.8.8: {} + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + + process-on-spawn@1.0.0: + dependencies: + fromentries: 1.3.2 + + process@0.11.10: {} + + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + pseudomap@1.0.2: {} + + psl@1.9.0: {} + + punycode@2.3.0: {} + + qjobs@1.2.0: {} + + qs@6.9.6: {} + + querystringify@2.2.0: {} + + queue-microtask@1.2.3: {} + + quick-lru@4.0.1: {} + + randombytes@2.1.0: + dependencies: + safe-buffer: 5.2.1 + + range-parser@1.2.1: {} + + raw-body@2.4.2: + dependencies: + bytes: 3.1.1 + http-errors: 1.8.1 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + + react-dom@18.2.0(react@18.2.0): + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + + react-is@16.13.1: {} + + react-is@17.0.2: {} + + react-is@18.2.0: {} + + react-redux@8.0.5(@types/react-dom@16.9.8)(@types/react@16.9.35)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1): + dependencies: + '@babel/runtime': 7.21.5 + '@types/hoist-non-react-statics': 3.3.1 + '@types/use-sync-external-store': 0.0.3 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + react-is: 18.2.0 + use-sync-external-store: 1.0.0(react@18.2.0) + optionalDependencies: + '@types/react': 16.9.35 + '@types/react-dom': 16.9.8 + react-dom: 18.2.0(react@18.2.0) + redux: 4.2.1 + + react-shallow-renderer@16.15.0(react@18.2.0): + dependencies: + object-assign: 4.1.1 + react: 18.2.0 + react-is: 18.2.0 + + react-test-renderer@18.2.0(react@18.2.0): + dependencies: + react: 18.2.0 + react-is: 18.2.0 + react-shallow-renderer: 16.15.0(react@18.2.0) + scheduler: 0.23.0 + + react@18.2.0: + dependencies: + loose-envify: 1.4.0 + + read-pkg-up@7.0.1: + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + + read-pkg@5.2.0: + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + + read-yaml-file@1.1.0: + dependencies: + graceful-fs: 4.2.11 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + + readdirp@3.6.0: + dependencies: + picomatch: 2.3.1 + + readdirp@4.1.2: {} + + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + + redux@4.2.1: + dependencies: + '@babel/runtime': 7.21.5 + + regenerate-unicode-properties@10.1.0: + dependencies: + regenerate: 1.4.2 + + regenerate@1.4.2: {} + + regenerator-runtime@0.13.11: {} + + regenerator-transform@0.15.1: + dependencies: + '@babel/runtime': 7.21.5 + + regexp.prototype.flags@1.4.3: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + + regexpp@3.2.0: {} + + regexpu-core@5.3.1: + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + + regjsparser@0.9.1: + dependencies: + jsesc: 0.5.0 + + release-zalgo@1.0.0: + dependencies: + es6-error: 4.1.1 + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + require-main-filename@2.0.0: {} + + requires-port@1.0.0: {} + + resolve-from@4.0.0: {} + + resolve-from@5.0.0: {} + + resolve@1.22.2: + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + resolve@2.0.0-next.4: + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.0.4: {} + + rfdc@1.3.0: {} + + rimraf@3.0.2: + dependencies: + glob: 7.2.3 + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + safe-buffer@5.1.2: {} + + safe-buffer@5.2.1: {} + + safe-regex-test@1.0.0: + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-regex: 1.1.4 + + safer-buffer@2.1.2: {} + + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + + scheduler@0.23.0: + dependencies: + loose-envify: 1.4.0 + + schema-utils@3.1.1: + dependencies: + '@types/json-schema': 7.0.11 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + schema-utils@4.0.0: + dependencies: + '@types/json-schema': 7.0.11 + ajv: 8.12.0 + ajv-formats: 2.1.1 + ajv-keywords: 5.1.0(ajv@8.12.0) + + semver@5.7.1: {} + + semver@6.3.0: {} + + semver@7.3.8: + dependencies: + lru-cache: 6.0.0 + + serialize-javascript@6.0.0: + dependencies: + randombytes: 2.1.0 + + serialize-javascript@6.0.2: + dependencies: + randombytes: 2.1.0 + + set-blocking@2.0.0: {} + + setprototypeof@1.2.0: {} + + shallow-equal-fuzzy@0.0.2: {} + + shebang-command@1.2.0: + dependencies: + shebang-regex: 1.0.0 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@1.0.0: {} + + shebang-regex@3.0.0: {} + + side-channel@1.0.4: + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + object-inspect: 1.12.3 + + signal-exit@3.0.3: {} + + signal-exit@4.1.0: {} + + sinon@15.0.1: + dependencies: + '@sinonjs/commons': 2.0.0 + '@sinonjs/fake-timers': 10.0.2 + '@sinonjs/samsam': 7.0.1 + diff: 5.1.0 + nise: 5.1.4 + supports-color: 7.2.0 + + slash@3.0.0: {} + + smartwrap@2.0.2: + dependencies: + array.prototype.flat: 1.3.1 + breakword: 1.0.5 + grapheme-splitter: 1.0.4 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 15.4.1 + + socket.io-adapter@2.5.2: + dependencies: + ws: 8.11.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + + socket.io-parser@4.2.2(supports-color@8.1.1): + dependencies: + '@socket.io/component-emitter': 3.1.0 + debug: 4.3.4(supports-color@8.1.1) + transitivePeerDependencies: + - supports-color + + socket.io@4.6.1(supports-color@8.1.1): + dependencies: + accepts: 1.3.7 + base64id: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + engine.io: 6.4.1(supports-color@8.1.1) + socket.io-adapter: 2.5.2 + socket.io-parser: 4.2.2(supports-color@8.1.1) + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.1 + source-map: 0.6.1 + + source-map@0.6.1: {} + + spawn-wrap@2.0.0: + dependencies: + foreground-child: 2.0.0 + is-windows: 1.0.2 + make-dir: 3.1.0 + rimraf: 3.0.2 + signal-exit: 3.0.3 + which: 2.0.2 + + spawndamnit@2.0.0: + dependencies: + cross-spawn: 5.1.0 + signal-exit: 3.0.3 + + spdx-correct@3.2.0: + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + + spdx-exceptions@2.3.0: {} + + spdx-expression-parse@3.0.1: + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + + spdx-license-ids@3.0.13: {} + + sprintf-js@1.0.3: {} + + statuses@1.5.0: {} + + stop-iteration-iterator@1.0.0: + dependencies: + internal-slot: 1.0.5 + + stream-transform@2.1.3: + dependencies: + mixme: 0.5.9 + + streamroller@3.0.2(supports-color@8.1.1): + dependencies: + date-format: 4.0.3 + debug: 4.3.4(supports-color@8.1.1) + fs-extra: 10.0.0 + transitivePeerDependencies: + - supports-color + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.2.0 + + string.prototype.matchall@4.0.8: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + get-intrinsic: 1.2.0 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.4.3 + side-channel: 1.0.4 + + string.prototype.trimend@1.0.6: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + + string.prototype.trimstart@1.0.6: + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.1 + + strip-ansi@4.0.0: + dependencies: + ansi-regex: 3.0.0 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.2.0: + dependencies: + ansi-regex: 6.5.0 + + strip-bom@3.0.0: {} + + strip-bom@4.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@3.1.1: {} + + supports-color@5.5.0: + dependencies: + has-flag: 3.0.0 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + symbol-tree@3.2.4: {} + + tapable@2.2.1: {} + + term-size@2.2.1: {} + + terser-webpack-plugin@5.3.1(webpack@5.76.0): + dependencies: + jest-worker: 27.5.1 + schema-utils: 3.1.1 + serialize-javascript: 6.0.0 + source-map: 0.6.1 + terser: 5.16.6 + webpack: 5.76.0 + + terser@5.16.6: + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.8.2 + commander: 2.20.3 + source-map-support: 0.5.21 + + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + + text-table@0.2.0: {} + + tmp@0.0.33: + dependencies: + os-tmpdir: 1.0.2 + + tmp@0.2.1: + dependencies: + rimraf: 3.0.2 + + to-fast-properties@2.0.0: {} + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + toidentifier@1.0.1: {} + + tough-cookie@4.1.2: + dependencies: + psl: 1.9.0 + punycode: 2.3.0 + universalify: 0.2.0 + url-parse: 1.5.10 + + tr46@0.0.3: {} + + tr46@3.0.0: + dependencies: + punycode: 2.3.0 + + tree-kill@1.2.2: {} + + trim-newlines@3.0.1: {} + + tslib@1.13.0: {} + + tsutils@3.21.0(typescript@4.9.5): + dependencies: + tslib: 1.13.0 + typescript: 4.9.5 + + tty-table@4.2.1: + dependencies: + chalk: 4.1.2 + csv: 5.5.3 + kleur: 4.1.5 + smartwrap: 2.0.2 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + yargs: 17.7.2 + + type-check@0.3.2: + dependencies: + prelude-ls: 1.1.2 + + type-check@0.4.0: + dependencies: + prelude-ls: 1.2.1 + + type-detect@4.0.8: {} + + type-fest@0.13.1: {} + + type-fest@0.20.2: {} + + type-fest@0.6.0: {} + + type-fest@0.8.1: {} + + type-is@1.6.18: + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + + typed-array-length@1.0.4: + dependencies: + call-bind: 1.0.2 + for-each: 0.3.3 + is-typed-array: 1.1.10 + + typedarray-to-buffer@3.1.5: + dependencies: + is-typedarray: 1.0.0 + + typescript@4.9.5: {} + + ua-parser-js@0.7.31: {} + + unbox-primitive@1.0.2: + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + + unicode-canonical-property-names-ecmascript@2.0.0: {} + + unicode-match-property-ecmascript@2.0.0: + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + + unicode-match-property-value-ecmascript@2.1.0: {} + + unicode-property-aliases-ecmascript@2.1.0: {} + + universalify@0.1.2: {} + + universalify@0.2.0: {} + + universalify@2.0.0: {} + + unpipe@1.0.0: {} + + update-browserslist-db@1.0.10(browserslist@4.21.5): + dependencies: + browserslist: 4.21.5 + escalade: 3.1.1 + picocolors: 1.0.0 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.0 + + url-parse@1.5.10: + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + use-sync-external-store@1.0.0(react@18.2.0): + dependencies: + react: 18.2.0 + + util@0.12.4: + dependencies: + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.10 + safe-buffer: 5.2.1 + which-typed-array: 1.1.9 + + utils-merge@1.0.1: {} + + uuid@8.3.2: {} + + validate-npm-package-license@3.0.4: + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + + vary@1.1.2: {} + + void-elements@2.0.1: {} + + w3c-xmlserializer@4.0.0: + dependencies: + xml-name-validator: 4.0.0 + + watchpack@2.4.0: + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + webidl-conversions@3.0.1: {} + + webidl-conversions@7.0.0: {} + + webpack-merge@4.2.2: + dependencies: + lodash: 4.17.21 + + webpack-sources@3.2.3: {} + + webpack@5.76.0: + dependencies: + '@types/eslint-scope': 3.7.3 + '@types/estree': 0.0.51 + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/wasm-edit': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + acorn: 8.8.2 + acorn-import-assertions: 1.8.0(acorn@8.8.2) + browserslist: 4.21.5 + chrome-trace-event: 1.0.2 + enhanced-resolve: 5.12.0 + es-module-lexer: 0.9.3 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.1.1 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.1(webpack@5.76.0) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + whatwg-encoding@2.0.0: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@3.0.0: {} + + whatwg-url@11.0.0: + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + + whatwg-url@5.0.0: + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + which-boxed-primitive@1.0.2: + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + which-collection@1.0.1: + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + + which-module@2.0.0: {} + + which-pm@2.0.0: + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + + which-typed-array@1.1.9: + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 + + which@1.3.1: + dependencies: + isexe: 2.0.0 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + word-wrap@1.2.3: {} + + workerpool@9.3.4: {} + + wrap-ansi@6.2.0: + dependencies: + ansi-styles: 4.2.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.2.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.2.0 + + wrappy@1.0.2: {} + + write-file-atomic@3.0.3: + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.3 + typedarray-to-buffer: 3.1.5 + + ws@8.11.0: {} + + ws@8.12.1: {} + + xml-name-validator@4.0.0: {} + + xmlchars@2.2.0: {} + + y18n@4.0.3: {} + + y18n@5.0.8: {} + + yallist@2.1.2: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yargs-parser@18.1.3: + dependencies: + camelcase: 5.3.1 + decamelize: 1.2.0 + + yargs-parser@20.2.9: {} + + yargs-parser@21.1.1: {} + + yargs-unparser@2.0.0: + dependencies: + camelcase: 6.3.0 + decamelize: 4.0.0 + flat: 5.0.2 + is-plain-obj: 2.1.0 + + yargs@15.4.1: + dependencies: + cliui: 6.0.0 + decamelize: 1.2.0 + find-up: 4.1.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + require-main-filename: 2.0.0 + set-blocking: 2.0.0 + string-width: 4.2.3 + which-module: 2.0.0 + y18n: 4.0.3 + yargs-parser: 18.1.3 + + yargs@16.2.0: + dependencies: + cliui: 7.0.4 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 20.2.9 + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + yocto-queue@0.1.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..daf6d1d --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,14 @@ +# pnpm settings (pnpm 11+ reads them only from this file). This repo is a +# single package, so there's no `packages` list. + +# Install only versions published at least 7 days ago, transitive deps +# included. Setting it explicitly makes it strict: resolution fails instead of +# falling back to a newer version. It also checks the existing lockfile. +# `minimumReleaseAgeExclude` is for urgent security fixes only (see +# CONTRIBUTING). +minimumReleaseAge: 10080 + +# Dependencies allowed to run install scripts (pnpm 11+ requires a decision). +allowBuilds: + # postinstall only prints a funding message. + core-js: false diff --git a/test/browser/karma.conf.ie.js b/test/browser/karma.conf.ie.js deleted file mode 100644 index 2988868..0000000 --- a/test/browser/karma.conf.ie.js +++ /dev/null @@ -1,9 +0,0 @@ -'use strict'; - -module.exports = function(config) { - require('./karma.conf.js')(config); - config.set({ - plugins: config.plugins.concat('karma-ie-launcher'), - browsers: ['IE'] - }); -}; diff --git a/test/browser/karma.conf.js b/test/browser/karma.conf.js index 17251c8..3a4aeb4 100644 --- a/test/browser/karma.conf.js +++ b/test/browser/karma.conf.js @@ -5,7 +5,7 @@ const webpack = require('webpack'); // **Debugging Help** // We normally dislike commented out code, but as Karma doesn't easily produce -// a bundle, debugging bundle errors is a pain, particularly on ie11. +// a bundle, debugging bundle errors is a pain. // To help with this, uncomment this plugin to write out all Karma webpack // assets like `test/browser/index.js` to disk as `~/Desktops/test-browser-index.js` // and then inspect the failing lines you need. @@ -57,14 +57,9 @@ module.exports = function(config) { { test: /\.js$/, enforce: 'pre', + // Includes the vendored `fast-deep-equal` tests in `test/fixtures`. include: [ - path.resolve(__dirname, '..'), - // Transpile the `fast-deep-equal` tests for all browsers. - // (The node tests work off real code with ES.next stuff). - path.join( - path.dirname(require.resolve('fast-deep-equal-git/package.json')), - 'spec' - ) + path.resolve(__dirname, '..') ], loader: 'babel-loader', options: { @@ -85,12 +80,12 @@ module.exports = function(config) { logLevel: config.LOG_INFO, colors: true, autoWatch: false, - // Run a customized instance of headless chrome for dev + Travis CI. + // Run a customized instance of headless chrome for dev + CI. browsers: ['ChromeHeadlessCustom'], customLaunchers: { ChromeHeadlessCustom: { base: 'ChromeHeadless', - // --no-sandbox for https://github.com/travis-ci/docs-travis-ci-com/pull/1671/files + // --no-sandbox: Chrome's sandbox can't start in some CI containers. flags: ['--no-sandbox'] } }, diff --git a/test/fixtures/fast-deep-equal/LICENSE b/test/fixtures/fast-deep-equal/LICENSE new file mode 100644 index 0000000..7f15435 --- /dev/null +++ b/test/fixtures/fast-deep-equal/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2017 Evgeny Poberezkin + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/test/fixtures/fast-deep-equal/README.md b/test/fixtures/fast-deep-equal/README.md new file mode 100644 index 0000000..d8eb96a --- /dev/null +++ b/test/fixtures/fast-deep-equal/README.md @@ -0,0 +1,9 @@ +# fast-deep-equal test cases + +Copied unchanged from [fast-deep-equal](https://github.com/epoberezkin/fast-deep-equal) +v3.1.3 (commit `d807ffc5013e710deb1c63d463a03f729bcd144d`), `spec/tests.js` and +`spec/es6tests.js`. MIT licensed; see [LICENSE](./LICENSE). + +`react-fast-compare` is a fork of fast-deep-equal, so its test cases are the +bulk of ours. Upstream hasn't released since 2020; when syncing a newer +upstream version, copy these files again and update the version above. diff --git a/test/fixtures/fast-deep-equal/es6tests.js b/test/fixtures/fast-deep-equal/es6tests.js new file mode 100644 index 0000000..8ac945c --- /dev/null +++ b/test/fixtures/fast-deep-equal/es6tests.js @@ -0,0 +1,339 @@ +'use strict'; + +class MyMap extends Map {} +class MySet extends Set {} +var emptyObj = {}; + +var skipBigInt = typeof BigInt == 'undefined'; +var skipBigIntArray = typeof BigUint64Array == 'undefined'; + +module.exports = [ + { + description: 'bigint', + tests: [ + { + description: 'equal bigints', + value1: skipBigInt || BigInt(1), + value2: skipBigInt || BigInt(1), + equal: true, + skip: skipBigInt + }, + { + description: 'not equal bigints', + value1: skipBigInt || BigInt(1), + value2: skipBigInt || BigInt(2), + equal: false, + skip: skipBigInt + } + ] + }, + + { + description: 'Maps', + tests: [ + { + description: 'empty maps are equal', + value1: new Map, + value2: new Map, + equal: true + }, + { + description: 'empty maps of different class are not equal', + value1: new Map, + value2: new MyMap, + equal: false + }, + { + description: 'equal maps (same key "order")', + value1: map({a: 1, b: '2'}), + value2: map({a: 1, b: '2'}), + equal: true + }, + { + description: 'not equal maps (same key "order" - instances of different classes)', + value1: map({a: 1, b: '2'}), + value2: myMap({a: 1, b: '2'}), + equal: false + }, + { + description: 'equal maps (different key "order")', + value1: map({a: 1, b: '2'}), + value2: map({b: '2', a: 1}), + equal: true + }, + { + description: 'equal maps (different key "order" - instances of the same subclass)', + value1: myMap({a: 1, b: '2'}), + value2: myMap({b: '2', a: 1}), + equal: true + }, + { + description: 'not equal maps (extra key)', + value1: map({a: 1, b: '2'}), + value2: map({a: 1, b: '2', c: []}), + equal: false + }, + { + description: 'not equal maps (different key value)', + value1: map({a: 1, b: '2', c: 3}), + value2: map({a: 1, b: '2', c: 4}), + equal: false + }, + { + description: 'not equal maps (different keys)', + value1: map({a: 1, b: '2', c: 3}), + value2: map({a: 1, b: '2', d: 3}), + equal: false + }, + { + description: 'equal maps (same sub-keys)', + value1: map({ a: [ map({ b: 'c' }) ] }), + value2: map({ a: [ map({ b: 'c' }) ] }), + equal: true + }, + { + description: 'not equal maps (different sub-key value)', + value1: map({ a: [ map({ b: 'c' }) ] }), + value2: map({ a: [ map({ b: 'd' }) ] }), + equal: false + }, + { + description: 'not equal maps (different sub-key)', + value1: map({ a: [ map({ b: 'c' }) ] }), + value2: map({ a: [ map({ c: 'c' }) ] }), + equal: false + }, + { + description: 'empty map and empty object are not equal', + value1: {}, + value2: new Map, + equal: false + }, + { + description: 'map with extra undefined key is not equal #1', + value1: map({}), + value2: map({foo: undefined}), + equal: false + }, + { + description: 'map with extra undefined key is not equal #2', + value1: map({foo: undefined}), + value2: map({}), + equal: false + }, + { + description: 'maps with extra undefined keys are not equal #3', + value1: map({foo: undefined}), + value2: map({bar: undefined}), + equal: false + }, + { + description: 'null and empty map are not equal', + value1: null, + value2: new Map, + equal: false + }, + { + description: 'undefined and empty map are not equal', + value1: undefined, + value2: new Map, + equal: false + }, + { + description: 'map and a pseudo map are not equal', + value1: map({}), + value2: { + constructor: Map, + size: 0, + has: () => true, + get: () => 1, + }, + equal: false + }, + ] + }, + + { + description: 'Sets', + tests: [ + { + description: 'empty sets are equal', + value1: new Set, + value2: new Set, + equal: true + }, + { + description: 'empty sets of different class are not equal', + value1: new Set, + value2: new MySet, + equal: false + }, + { + description: 'equal sets (same value "order")', + value1: set(['a', 'b']), + value2: set(['a', 'b']), + equal: true + }, + { + description: 'not equal sets (same value "order" - instances of different classes)', + value1: set(['a', 'b']), + value2: mySet(['a', 'b']), + equal: false + }, + { + description: 'equal sets (different value "order")', + value1: set(['a', 'b']), + value2: set(['b', 'a']), + equal: true + }, + { + description: 'equal sets (different value "order" - instances of the same subclass)', + value1: mySet(['a', 'b']), + value2: mySet(['b', 'a']), + equal: true + }, + { + description: 'not equal sets (extra value)', + value1: set(['a', 'b']), + value2: set(['a', 'b', 'c']), + equal: false + }, + { + description: 'not equal sets (different values)', + value1: set(['a', 'b', 'c']), + value2: set(['a', 'b', 'd']), + equal: false + }, + { + description: 'not equal sets (different instances of objects)', + value1: set([ 'a', {} ]), + value2: set([ 'a', {} ]), + equal: false + }, + { + description: 'equal sets (same instances of objects)', + value1: set([ 'a', emptyObj ]), + value2: set([ 'a', emptyObj ]), + equal: true + }, + { + description: 'empty set and empty object are not equal', + value1: {}, + value2: new Set, + equal: false + }, + { + description: 'empty set and empty array are not equal', + value1: [], + value2: new Set, + equal: false + }, + { + description: 'set with extra undefined value is not equal #1', + value1: set([]), + value2: set([undefined]), + equal: false + }, + { + description: 'set with extra undefined value is not equal #2', + value1: set([undefined]), + value2: set([]), + equal: false + }, + { + description: 'set and pseudo set are not equal', + value1: new Set, + value2: { + constructor: Set, + size: 0, + has: () => true, + }, + equal: false + }, + ] + }, + + { + description: 'Typed arrays', + tests: [ + { + description: 'two empty arrays of the same class are equal', + value1: new Int32Array([]), + value2: new Int32Array([]), + equal: true + }, + { + description: 'two empty arrays of the different class are not equal', + value1: new Int32Array([]), + value2: new Int16Array([]), + equal: false + }, + { + description: 'equal arrays', + value1: new Int32Array([1, 2, 3]), + value2: new Int32Array([1, 2, 3]), + equal: true + }, + { + description: 'equal BigUint64Array arrays', + value1: skipBigIntArray || new BigUint64Array(['1', '2', '3']), + value2: skipBigIntArray || new BigUint64Array(['1', '2', '3']), + equal: true, + skip: skipBigIntArray + }, + { + description: 'not equal BigUint64Array arrays', + value1: skipBigIntArray || new BigUint64Array(['1', '2', '3']), + value2: skipBigIntArray || new BigUint64Array(['1', '2', '4']), + equal: false, + skip: skipBigIntArray + }, + { + description: 'not equal arrays (same items, different class)', + value1: new Int32Array([1, 2, 3]), + value2: new Int16Array([1, 2, 3]), + equal: false + }, + { + description: 'not equal arrays (different item)', + value1: new Int32Array([1, 2, 3]), + value2: new Int32Array([1, 2, 4]), + equal: false + }, + { + description: 'not equal arrays (different length)', + value1: new Int32Array([1, 2, 3]), + value2: new Int32Array([1, 2]), + equal: false + }, + { + description: 'pseudo array and equivalent typed array are not equal', + value1: {'0': 1, '1': 2, length: 2, constructor: Int32Array}, + value2: new Int32Array([1, 2]), + equal: false + } + ] + } +]; + +function map(obj, Class) { + var a = new (Class || Map); + for (var key in obj) + a.set(key, obj[key]); + return a; +} + +function myMap(obj) { + return map(obj, MyMap); +} + +function set(arr, Class) { + var a = new (Class || Set); + for (var value of arr) + a.add(value); + return a; +} + +function mySet(arr) { + return set(arr, MySet); +} diff --git a/test/fixtures/fast-deep-equal/tests.js b/test/fixtures/fast-deep-equal/tests.js new file mode 100644 index 0000000..1537f1d --- /dev/null +++ b/test/fixtures/fast-deep-equal/tests.js @@ -0,0 +1,400 @@ +'use strict'; + +module.exports = [ + { + description: 'scalars', + tests: [ + { + description: 'equal numbers', + value1: 1, + value2: 1, + equal: true + }, + { + description: 'not equal numbers', + value1: 1, + value2: 2, + equal: false + }, + { + description: 'number and array are not equal', + value1: 1, + value2: [], + equal: false + }, + { + description: '0 and null are not equal', + value1: 0, + value2: null, + equal: false + }, + { + description: 'equal strings', + value1: 'a', + value2: 'a', + equal: true + }, + { + description: 'not equal strings', + value1: 'a', + value2: 'b', + equal: false + }, + { + description: 'empty string and null are not equal', + value1: '', + value2: null, + equal: false + }, + { + description: 'null is equal to null', + value1: null, + value2: null, + equal: true + }, + { + description: 'equal booleans (true)', + value1: true, + value2: true, + equal: true + }, + { + description: 'equal booleans (false)', + value1: false, + value2: false, + equal: true + }, + { + description: 'not equal booleans', + value1: true, + value2: false, + equal: false + }, + { + description: '1 and true are not equal', + value1: 1, + value2: true, + equal: false + }, + { + description: '0 and false are not equal', + value1: 0, + value2: false, + equal: false + }, + { + description: 'NaN and NaN are equal', + value1: NaN, + value2: NaN, + equal: true + }, + { + description: '0 and -0 are equal', + value1: 0, + value2: -0, + equal: true + }, + { + description: 'Infinity and Infinity are equal', + value1: Infinity, + value2: Infinity, + equal: true + }, + { + description: 'Infinity and -Infinity are not equal', + value1: Infinity, + value2: -Infinity, + equal: false + } + ] + }, + + { + description: 'objects', + tests: [ + { + description: 'empty objects are equal', + value1: {}, + value2: {}, + equal: true + }, + { + description: 'equal objects (same properties "order")', + value1: {a: 1, b: '2'}, + value2: {a: 1, b: '2'}, + equal: true + }, + { + description: 'equal objects (different properties "order")', + value1: {a: 1, b: '2'}, + value2: {b: '2', a: 1}, + equal: true + }, + { + description: 'not equal objects (extra property)', + value1: {a: 1, b: '2'}, + value2: {a: 1, b: '2', c: []}, + equal: false + }, + { + description: 'not equal objects (different property values)', + value1: {a: 1, b: '2', c: 3}, + value2: {a: 1, b: '2', c: 4}, + equal: false + }, + { + description: 'not equal objects (different properties)', + value1: {a: 1, b: '2', c: 3}, + value2: {a: 1, b: '2', d: 3}, + equal: false + }, + { + description: 'equal objects (same sub-properties)', + value1: { a: [ { b: 'c' } ] }, + value2: { a: [ { b: 'c' } ] }, + equal: true + }, + { + description: 'not equal objects (different sub-property value)', + value1: { a: [ { b: 'c' } ] }, + value2: { a: [ { b: 'd' } ] }, + equal: false + }, + { + description: 'not equal objects (different sub-property)', + value1: { a: [ { b: 'c' } ] }, + value2: { a: [ { c: 'c' } ] }, + equal: false + }, + { + description: 'empty array and empty object are not equal', + value1: {}, + value2: [], + equal: false + }, + { + description: 'object with extra undefined properties are not equal #1', + value1: {}, + value2: {foo: undefined}, + equal: false + }, + { + description: 'object with extra undefined properties are not equal #2', + value1: {foo: undefined}, + value2: {}, + equal: false + }, + { + description: 'object with extra undefined properties are not equal #3', + value1: {foo: undefined}, + value2: {bar: undefined}, + equal: false + }, + { + description: 'nulls are equal', + value1: null, + value2: null, + equal: true + }, + { + description: 'null and undefined are not equal', + value1: null, + value2: undefined, + equal: false + }, + { + description: 'null and empty object are not equal', + value1: null, + value2: {}, + equal: false + }, + { + description: 'undefined and empty object are not equal', + value1: undefined, + value2: {}, + equal: false + }, + { + description: 'objects with different `toString` functions returning same values are equal', + value1: {toString: ()=>'Hello world!'}, + value2: {toString: ()=>'Hello world!'}, + equal: true + }, + { + description: 'objects with `toString` functions returning different values are not equal', + value1: {toString: ()=>'Hello world!'}, + value2: {toString: ()=>'Hi!'}, + equal: false + } + ] + }, + + { + description: 'arrays', + tests: [ + { + description: 'two empty arrays are equal', + value1: [], + value2: [], + equal: true + }, + { + description: 'equal arrays', + value1: [1, 2, 3], + value2: [1, 2, 3], + equal: true + }, + { + description: 'not equal arrays (different item)', + value1: [1, 2, 3], + value2: [1, 2, 4], + equal: false + }, + { + description: 'not equal arrays (different length)', + value1: [1, 2, 3], + value2: [1, 2], + equal: false + }, + { + description: 'equal arrays of objects', + value1: [{a: 'a'}, {b: 'b'}], + value2: [{a: 'a'}, {b: 'b'}], + equal: true + }, + { + description: 'not equal arrays of objects', + value1: [{a: 'a'}, {b: 'b'}], + value2: [{a: 'a'}, {b: 'c'}], + equal: false + }, + { + description: 'pseudo array and equivalent array are not equal', + value1: {'0': 0, '1': 1, length: 2}, + value2: [0, 1], + equal: false + } + ] + }, + { + description: 'Date objects', + tests: [ + { + description: 'equal date objects', + value1: new Date('2017-06-16T21:36:48.362Z'), + value2: new Date('2017-06-16T21:36:48.362Z'), + equal: true + }, + { + description: 'not equal date objects', + value1: new Date('2017-06-16T21:36:48.362Z'), + value2: new Date('2017-01-01T00:00:00.000Z'), + equal: false + }, + { + description: 'date and string are not equal', + value1: new Date('2017-06-16T21:36:48.362Z'), + value2: '2017-06-16T21:36:48.362Z', + equal: false + }, + { + description: 'date and object are not equal', + value1: new Date('2017-06-16T21:36:48.362Z'), + value2: {}, + equal: false + } + ] + }, + { + description: 'RegExp objects', + tests: [ + { + description: 'equal RegExp objects', + value1: /foo/, + value2: /foo/, + equal: true + }, + { + description: 'not equal RegExp objects (different pattern)', + value1: /foo/, + value2: /bar/, + equal: false + }, + { + description: 'not equal RegExp objects (different flags)', + value1: /foo/, + value2: /foo/i, + equal: false + }, + { + description: 'RegExp and string are not equal', + value1: /foo/, + value2: 'foo', + equal: false + }, + { + description: 'RegExp and object are not equal', + value1: /foo/, + value2: {}, + equal: false + } + ] + }, + { + description: 'functions', + tests: [ + { + description: 'same function is equal', + value1: func1, + value2: func1, + equal: true + }, + { + description: 'different functions are not equal', + value1: func1, + value2: func2, + equal: false + } + ] + }, + { + description: 'sample objects', + tests: [ + { + description: 'big object', + value1: { + prop1: 'value1', + prop2: 'value2', + prop3: 'value3', + prop4: { + subProp1: 'sub value1', + subProp2: { + subSubProp1: 'sub sub value1', + subSubProp2: [1, 2, {prop2: 1, prop: 2}, 4, 5] + } + }, + prop5: 1000, + prop6: new Date(2016, 2, 10) + }, + value2: { + prop5: 1000, + prop3: 'value3', + prop1: 'value1', + prop2: 'value2', + prop6: new Date('2016/03/10'), + prop4: { + subProp2: { + subSubProp1: 'sub sub value1', + subSubProp2: [1, 2, {prop2: 1, prop: 2}, 4, 5] + }, + subProp1: 'sub value1' + } + }, + equal: true + } + ] + } +]; + +function func1() {} +function func2() {} diff --git a/test/node/tests.js b/test/node/tests.js index c2f81e6..80dce85 100644 --- a/test/node/tests.js +++ b/test/node/tests.js @@ -1,6 +1,6 @@ 'use strict'; -const generic = require('fast-deep-equal-git/spec/tests.js'); -const es6 = require('fast-deep-equal-git/spec/es6tests.js'); +const generic = require('../fixtures/fast-deep-equal/tests.js'); +const es6 = require('../fixtures/fast-deep-equal/es6tests.js'); const reactElementA = { '$$typeof': 'react.element', diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 8405148..0000000 --- a/yarn.lock +++ /dev/null @@ -1,6681 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0": - version "7.21.4" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39" - integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - -"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" - integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== - -"@babel/core@^7.21.0", "@babel/core@^7.7.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.0.tgz#1341aefdcc14ccc7553fcc688dd8986a2daffc13" - integrity sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.0" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.0" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.0" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - -"@babel/generator@^7.21.0", "@babel/generator@^7.21.1": - version "7.21.1" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.1.tgz#951cc626057bc0af2c35cd23e9c64d384dea83dd" - integrity sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA== - dependencies: - "@babel/types" "^7.21.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.1.tgz#f6d08acc6f70bbd59b436262553fb2e259a1a268" - integrity sha512-ewp3rvJEwLaHgyWGe4wQssC2vjks3E80WiUe2BpMb0KhreTjMROCbxXcEovTrbeGVdQct5VjQfrv9EgC+xMzCw== - dependencies: - "@babel/types" "^7.10.1" - -"@babel/helper-annotate-as-pure@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb" - integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb" - integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw== - dependencies: - "@babel/helper-explode-assignable-expression" "^7.18.6" - "@babel/types" "^7.18.9" - -"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz#64f49ecb0020532f19b1d014b03bccaa1ab85fb9" - integrity sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-member-expression-to-functions" "^7.21.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/helper-split-export-declaration" "^7.18.6" - -"@babel/helper-create-regexp-features-plugin@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.10.1.tgz#1b8feeab1594cbcfbf3ab5a3bbcabac0468efdbd" - integrity sha512-Rx4rHS0pVuJn5pJOqaqcZR4XSgeF9G/pO/79t+4r7380tXFJdzImFnxMU19f83wjSrmKHq6myrM10pFHTGzkUA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.10.1" - "@babel/helper-regex" "^7.10.1" - regexpu-core "^4.7.0" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz#53ff78472e5ce10a52664272a239787107603ebb" - integrity sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - regexpu-core "^5.3.1" - -"@babel/helper-define-polyfill-provider@^0.3.3": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a" - integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww== - dependencies: - "@babel/helper-compilation-targets" "^7.17.7" - "@babel/helper-plugin-utils" "^7.16.7" - debug "^4.1.1" - lodash.debounce "^4.0.8" - resolve "^1.14.2" - semver "^6.1.2" - -"@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - -"@babel/helper-explode-assignable-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096" - integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - -"@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5" - integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q== - dependencies: - "@babel/types" "^7.21.0" - -"@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-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.0", "@babel/helper-module-transforms@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" - integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" - -"@babel/helper-optimise-call-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe" - integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.1", "@babel/helper-plugin-utils@^7.8.0": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.1.tgz#ec5a5cf0eec925b66c60580328b122c01230a127" - integrity sha512-fvoGeXt0bJc7VMWZGCAEBEMo/HAjW2mP8apF5eXK0wSqwLAVHAISCWRoLMBMUs2kqeaG77jltVqu4Hn8Egl3nA== - -"@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.3": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - -"@babel/helper-regex@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-regex/-/helper-regex-7.10.1.tgz#021cf1a7ba99822f993222a001cc3fec83255b96" - integrity sha512-7isHr19RsIJWWLLFn21ubFt223PjQyg1HY7CZEMRr820HttHPpVvrsIN3bUOo44DEfFV4kBXO7Abbn9KTUZV7g== - dependencies: - lodash "^4.17.13" - -"@babel/helper-remap-async-to-generator@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519" - integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-wrap-function" "^7.18.9" - "@babel/types" "^7.18.9" - -"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331" - integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-member-expression-to-functions" "^7.20.7" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - -"@babel/helper-skip-transparent-expression-wrappers@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684" - integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg== - dependencies: - "@babel/types" "^7.20.0" - -"@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - -"@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - -"@babel/helper-validator-identifier@^7.10.1": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.1.tgz#5770b0c1a826c4f53f5ede5e153163e0318e94b5" - integrity sha512-5vW/JXLALhczRCWP0PnFDMCJAchlBvM7f4uk/jXritBnIa6E1KmqmtrS3yn1LAnxFBypQ3eneLuXjsnfQsgILw== - -"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - -"@babel/helper-validator-option@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" - integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== - -"@babel/helper-wrap-function@^7.18.9": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3" - integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q== - dependencies: - "@babel/helper-function-name" "^7.19.0" - "@babel/template" "^7.18.10" - "@babel/traverse" "^7.20.5" - "@babel/types" "^7.20.5" - -"@babel/helpers@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" - integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - -"@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - -"@babel/parser@^7.20.7", "@babel/parser@^7.21.0", "@babel/parser@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.2.tgz#dacafadfc6d7654c3051a66d6fe55b6cb2f2a0b3" - integrity sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ== - -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2" - integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1" - integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-proposal-optional-chaining" "^7.20.7" - -"@babel/plugin-proposal-async-generator-functions@^7.20.1": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326" - integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - "@babel/plugin-syntax-async-generators" "^7.8.4" - -"@babel/plugin-proposal-class-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3" - integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-class-static-block@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz#77bdd66fb7b605f3a61302d224bdfacf5547977d" - integrity sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - -"@babel/plugin-proposal-dynamic-import@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94" - integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - -"@babel/plugin-proposal-export-namespace-from@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" - integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - -"@babel/plugin-proposal-json-strings@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b" - integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-json-strings" "^7.8.3" - -"@babel/plugin-proposal-logical-assignment-operators@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83" - integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - -"@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1" - integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - -"@babel/plugin-proposal-numeric-separator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75" - integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - -"@babel/plugin-proposal-object-rest-spread@^7.20.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a" - integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.20.7" - -"@babel/plugin-proposal-optional-catch-binding@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb" - integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - -"@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz#886f5c8978deb7d30f678b2e24346b287234d3ea" - integrity sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - -"@babel/plugin-proposal-private-methods@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea" - integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-private-property-in-object@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz#19496bd9883dd83c23c7d7fc45dcd9ad02dfa1dc" - integrity sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-create-class-features-plugin" "^7.21.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - -"@babel/plugin-proposal-unicode-property-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e" - integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-proposal-unicode-property-regex@^7.4.4": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.10.1.tgz#dc04feb25e2dd70c12b05d680190e138fa2c0c6f" - integrity sha512-JjfngYRvwmPwmnbRZyNiPFI8zxCZb8euzbCG/LxyKdeTb59tVciKo9GK9bi6JYKInk1H11Dq9j/zRqIH4KigfQ== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.12.13": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - -"@babel/plugin-syntax-class-static-block@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406" - integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - -"@babel/plugin-syntax-import-assertions@^7.20.0": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4" - integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - -"@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-numeric-separator@^7.10.4": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-private-property-in-object@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad" - integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-syntax-top-level-await@^7.14.5": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - -"@babel/plugin-transform-arrow-functions@^7.18.6": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551" - integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-async-to-generator@^7.18.6": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354" - integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q== - dependencies: - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-remap-async-to-generator" "^7.18.9" - -"@babel/plugin-transform-block-scoped-functions@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8" - integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-block-scoping@^7.20.2": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz#e737b91037e5186ee16b76e7ae093358a5634f02" - integrity sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-classes@^7.20.2": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz#f469d0b07a4c5a7dbb21afad9e27e57b47031665" - integrity sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.18.6" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-optimise-call-expression" "^7.18.6" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-replace-supers" "^7.20.7" - "@babel/helper-split-export-declaration" "^7.18.6" - globals "^11.1.0" - -"@babel/plugin-transform-computed-properties@^7.18.9": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa" - integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/template" "^7.20.7" - -"@babel/plugin-transform-destructuring@^7.20.2": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454" - integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-dotall-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8" - integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-dotall-regex@^7.4.4": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.10.1.tgz#920b9fec2d78bb57ebb64a644d5c2ba67cc104ee" - integrity sha512-19VIMsD1dp02RvduFUmfzj8uknaO3uiHHF0s3E1OHnVsNj8oge8EQ5RzHRbJjGSetRnkEuBYO7TG1M5kKjGLOA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.10.1" - "@babel/helper-plugin-utils" "^7.10.1" - -"@babel/plugin-transform-duplicate-keys@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e" - integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-exponentiation-operator@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd" - integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw== - dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-for-of@^7.18.8": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e" - integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-function-name@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0" - integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ== - dependencies: - "@babel/helper-compilation-targets" "^7.18.9" - "@babel/helper-function-name" "^7.18.9" - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc" - integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-member-expression-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e" - integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-modules-amd@^7.19.6": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a" - integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g== - dependencies: - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-modules-commonjs@^7.19.6": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7" - integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA== - dependencies: - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-simple-access" "^7.20.2" - -"@babel/plugin-transform-modules-systemjs@^7.19.6": - version "7.20.11" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e" - integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw== - dependencies: - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-module-transforms" "^7.20.11" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-identifier" "^7.19.1" - -"@babel/plugin-transform-modules-umd@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9" - integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ== - dependencies: - "@babel/helper-module-transforms" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8" - integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.20.5" - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-new-target@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8" - integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-object-super@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c" - integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - "@babel/helper-replace-supers" "^7.18.6" - -"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f" - integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - -"@babel/plugin-transform-property-literals@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3" - integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-regenerator@^7.18.6": - version "7.20.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d" - integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - regenerator-transform "^0.15.1" - -"@babel/plugin-transform-reserved-words@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a" - integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-shorthand-properties@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9" - integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-spread@^7.19.0": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e" - integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw== - dependencies: - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0" - -"@babel/plugin-transform-sticky-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc" - integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q== - dependencies: - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/plugin-transform-template-literals@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e" - integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-typeof-symbol@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0" - integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-escapes@^7.18.10": - version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246" - integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ== - dependencies: - "@babel/helper-plugin-utils" "^7.18.9" - -"@babel/plugin-transform-unicode-regex@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca" - integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.18.6" - "@babel/helper-plugin-utils" "^7.18.6" - -"@babel/preset-env@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506" - integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg== - dependencies: - "@babel/compat-data" "^7.20.1" - "@babel/helper-compilation-targets" "^7.20.0" - "@babel/helper-plugin-utils" "^7.20.2" - "@babel/helper-validator-option" "^7.18.6" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-async-generator-functions" "^7.20.1" - "@babel/plugin-proposal-class-properties" "^7.18.6" - "@babel/plugin-proposal-class-static-block" "^7.18.6" - "@babel/plugin-proposal-dynamic-import" "^7.18.6" - "@babel/plugin-proposal-export-namespace-from" "^7.18.9" - "@babel/plugin-proposal-json-strings" "^7.18.6" - "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9" - "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6" - "@babel/plugin-proposal-numeric-separator" "^7.18.6" - "@babel/plugin-proposal-object-rest-spread" "^7.20.2" - "@babel/plugin-proposal-optional-catch-binding" "^7.18.6" - "@babel/plugin-proposal-optional-chaining" "^7.18.9" - "@babel/plugin-proposal-private-methods" "^7.18.6" - "@babel/plugin-proposal-private-property-in-object" "^7.18.6" - "@babel/plugin-proposal-unicode-property-regex" "^7.18.6" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.20.0" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-transform-arrow-functions" "^7.18.6" - "@babel/plugin-transform-async-to-generator" "^7.18.6" - "@babel/plugin-transform-block-scoped-functions" "^7.18.6" - "@babel/plugin-transform-block-scoping" "^7.20.2" - "@babel/plugin-transform-classes" "^7.20.2" - "@babel/plugin-transform-computed-properties" "^7.18.9" - "@babel/plugin-transform-destructuring" "^7.20.2" - "@babel/plugin-transform-dotall-regex" "^7.18.6" - "@babel/plugin-transform-duplicate-keys" "^7.18.9" - "@babel/plugin-transform-exponentiation-operator" "^7.18.6" - "@babel/plugin-transform-for-of" "^7.18.8" - "@babel/plugin-transform-function-name" "^7.18.9" - "@babel/plugin-transform-literals" "^7.18.9" - "@babel/plugin-transform-member-expression-literals" "^7.18.6" - "@babel/plugin-transform-modules-amd" "^7.19.6" - "@babel/plugin-transform-modules-commonjs" "^7.19.6" - "@babel/plugin-transform-modules-systemjs" "^7.19.6" - "@babel/plugin-transform-modules-umd" "^7.18.6" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1" - "@babel/plugin-transform-new-target" "^7.18.6" - "@babel/plugin-transform-object-super" "^7.18.6" - "@babel/plugin-transform-parameters" "^7.20.1" - "@babel/plugin-transform-property-literals" "^7.18.6" - "@babel/plugin-transform-regenerator" "^7.18.6" - "@babel/plugin-transform-reserved-words" "^7.18.6" - "@babel/plugin-transform-shorthand-properties" "^7.18.6" - "@babel/plugin-transform-spread" "^7.19.0" - "@babel/plugin-transform-sticky-regex" "^7.18.6" - "@babel/plugin-transform-template-literals" "^7.18.9" - "@babel/plugin-transform-typeof-symbol" "^7.18.9" - "@babel/plugin-transform-unicode-escapes" "^7.18.10" - "@babel/plugin-transform-unicode-regex" "^7.18.6" - "@babel/preset-modules" "^0.1.5" - "@babel/types" "^7.20.2" - babel-plugin-polyfill-corejs2 "^0.3.3" - babel-plugin-polyfill-corejs3 "^0.6.0" - babel-plugin-polyfill-regenerator "^0.4.1" - core-js-compat "^3.25.1" - semver "^6.3.0" - -"@babel/preset-modules@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9" - integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@babel/plugin-proposal-unicode-property-regex" "^7.4.4" - "@babel/plugin-transform-dotall-regex" "^7.4.4" - "@babel/types" "^7.4.4" - esutils "^2.0.2" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.12.1", "@babel/runtime@^7.9.2": - version "7.17.9" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.9.tgz#d19fbf802d01a8cb6cf053a64e472d42c434ba72" - integrity sha512-lSiBBvodq29uShpWGNbgFdKYNiFDo5/HIYsaCEY9ff4sb10x9jizo2+pRrSyF4jKZCXqgzuqBOQKbUm90gQwJg== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/runtime@^7.12.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" - integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/runtime@^7.20.1", "@babel/runtime@^7.5.5": - version "7.21.5" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.5.tgz#8492dddda9644ae3bda3b45eabe87382caee7200" - integrity sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q== - dependencies: - regenerator-runtime "^0.13.11" - -"@babel/runtime@^7.8.4": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.10.1.tgz#b6eb75cac279588d3100baecd1b9894ea2840822" - integrity sha512-nQbbCbQc9u/rpg1XCxoMYQTbSMVZjCDxErQ1ClCn9Pvcmv1lGads19ep0a2VsEiIJeHqjZley6EQGEC3Yo1xMA== - dependencies: - regenerator-runtime "^0.13.4" - -"@babel/template@^7.18.10", "@babel/template@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - -"@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.2.tgz#ac7e1f27658750892e815e60ae90f382a46d8e75" - integrity sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.1" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.2" - "@babel/types" "^7.21.2" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.10.1", "@babel/types@^7.4.4": - version "7.10.1" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.10.1.tgz#6886724d31c8022160a7db895e6731ca33483921" - integrity sha512-L2yqUOpf3tzlW9GVuipgLEcZxnO+96SzR6fjXMuxxNkIgFJ5+07mHCZ+HkHqaeZu8+3LKnNJJ1bKbjBETQAsrA== - dependencies: - "@babel/helper-validator-identifier" "^7.10.1" - lodash "^4.17.13" - to-fast-properties "^2.0.0" - -"@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.2.tgz#92246f6e00f91755893c2876ad653db70c8310d1" - integrity sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - -"@changesets/apply-release-plan@^6.1.3": - version "6.1.3" - resolved "https://registry.yarnpkg.com/@changesets/apply-release-plan/-/apply-release-plan-6.1.3.tgz#3bcc0bd57ba00d50d20df7d0141f1a9b2134eaf7" - integrity sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg== - dependencies: - "@babel/runtime" "^7.20.1" - "@changesets/config" "^2.3.0" - "@changesets/get-version-range-type" "^0.3.2" - "@changesets/git" "^2.0.0" - "@changesets/types" "^5.2.1" - "@manypkg/get-packages" "^1.1.3" - detect-indent "^6.0.0" - fs-extra "^7.0.1" - lodash.startcase "^4.4.0" - outdent "^0.5.0" - prettier "^2.7.1" - resolve-from "^5.0.0" - semver "^5.4.1" - -"@changesets/assemble-release-plan@^5.2.3": - version "5.2.3" - resolved "https://registry.yarnpkg.com/@changesets/assemble-release-plan/-/assemble-release-plan-5.2.3.tgz#5ce6191c6e193d40b566a7b0e01690cfb106f4db" - integrity sha512-g7EVZCmnWz3zMBAdrcKhid4hkHT+Ft1n0mLussFMcB1dE2zCuwcvGoy9ec3yOgPGF4hoMtgHaMIk3T3TBdvU9g== - dependencies: - "@babel/runtime" "^7.20.1" - "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.5" - "@changesets/types" "^5.2.1" - "@manypkg/get-packages" "^1.1.3" - semver "^5.4.1" - -"@changesets/changelog-git@^0.1.14": - version "0.1.14" - resolved "https://registry.yarnpkg.com/@changesets/changelog-git/-/changelog-git-0.1.14.tgz#852caa7727dcf91497c131d05bc2cd6248532ada" - integrity sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA== - dependencies: - "@changesets/types" "^5.2.1" - -"@changesets/cli@^2.26.1": - version "2.26.1" - resolved "https://registry.yarnpkg.com/@changesets/cli/-/cli-2.26.1.tgz#2d10858d7d32314a524e383111c96d831eb0402f" - integrity sha512-XnTa+b51vt057fyAudvDKGB0Sh72xutQZNAdXkCqPBKO2zvs2yYZx5hFZj1u9cbtpwM6Sxtcr02/FQJfZOzemQ== - dependencies: - "@babel/runtime" "^7.20.1" - "@changesets/apply-release-plan" "^6.1.3" - "@changesets/assemble-release-plan" "^5.2.3" - "@changesets/changelog-git" "^0.1.14" - "@changesets/config" "^2.3.0" - "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.5" - "@changesets/get-release-plan" "^3.0.16" - "@changesets/git" "^2.0.0" - "@changesets/logger" "^0.0.5" - "@changesets/pre" "^1.0.14" - "@changesets/read" "^0.5.9" - "@changesets/types" "^5.2.1" - "@changesets/write" "^0.2.3" - "@manypkg/get-packages" "^1.1.3" - "@types/is-ci" "^3.0.0" - "@types/semver" "^6.0.0" - ansi-colors "^4.1.3" - chalk "^2.1.0" - enquirer "^2.3.0" - external-editor "^3.1.0" - fs-extra "^7.0.1" - human-id "^1.0.2" - is-ci "^3.0.1" - meow "^6.0.0" - outdent "^0.5.0" - p-limit "^2.2.0" - preferred-pm "^3.0.0" - resolve-from "^5.0.0" - semver "^5.4.1" - spawndamnit "^2.0.0" - term-size "^2.1.0" - tty-table "^4.1.5" - -"@changesets/config@^2.3.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@changesets/config/-/config-2.3.0.tgz#bff074d6492fa772cee139f9a04efa4cd56445bb" - integrity sha512-EgP/px6mhCx8QeaMAvWtRrgyxW08k/Bx2tpGT+M84jEdX37v3VKfh4Cz1BkwrYKuMV2HZKeHOh8sHvja/HcXfQ== - dependencies: - "@changesets/errors" "^0.1.4" - "@changesets/get-dependents-graph" "^1.3.5" - "@changesets/logger" "^0.0.5" - "@changesets/types" "^5.2.1" - "@manypkg/get-packages" "^1.1.3" - fs-extra "^7.0.1" - micromatch "^4.0.2" - -"@changesets/errors@^0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@changesets/errors/-/errors-0.1.4.tgz#f79851746c43679a66b383fdff4c012f480f480d" - integrity sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q== - dependencies: - extendable-error "^0.1.5" - -"@changesets/get-dependents-graph@^1.3.5": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@changesets/get-dependents-graph/-/get-dependents-graph-1.3.5.tgz#f94c6672d2f9a87aa35512eea74550585ba41c21" - integrity sha512-w1eEvnWlbVDIY8mWXqWuYE9oKhvIaBhzqzo4ITSJY9hgoqQ3RoBqwlcAzg11qHxv/b8ReDWnMrpjpKrW6m1ZTA== - dependencies: - "@changesets/types" "^5.2.1" - "@manypkg/get-packages" "^1.1.3" - chalk "^2.1.0" - fs-extra "^7.0.1" - semver "^5.4.1" - -"@changesets/get-github-info@^0.5.0": - version "0.5.2" - resolved "https://registry.yarnpkg.com/@changesets/get-github-info/-/get-github-info-0.5.2.tgz#0cde2cadba57db85c714dc303c077da919a574e5" - integrity sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg== - dependencies: - dataloader "^1.4.0" - node-fetch "^2.5.0" - -"@changesets/get-release-plan@^3.0.16": - version "3.0.16" - resolved "https://registry.yarnpkg.com/@changesets/get-release-plan/-/get-release-plan-3.0.16.tgz#5d9cfc4ffda02c496ef0fde407210de8e3a0fb19" - integrity sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg== - dependencies: - "@babel/runtime" "^7.20.1" - "@changesets/assemble-release-plan" "^5.2.3" - "@changesets/config" "^2.3.0" - "@changesets/pre" "^1.0.14" - "@changesets/read" "^0.5.9" - "@changesets/types" "^5.2.1" - "@manypkg/get-packages" "^1.1.3" - -"@changesets/get-version-range-type@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@changesets/get-version-range-type/-/get-version-range-type-0.3.2.tgz#8131a99035edd11aa7a44c341cbb05e668618c67" - integrity sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg== - -"@changesets/git@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@changesets/git/-/git-2.0.0.tgz#8de57649baf13a86eb669a25fa51bcad5cea517f" - integrity sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A== - dependencies: - "@babel/runtime" "^7.20.1" - "@changesets/errors" "^0.1.4" - "@changesets/types" "^5.2.1" - "@manypkg/get-packages" "^1.1.3" - is-subdir "^1.1.1" - micromatch "^4.0.2" - spawndamnit "^2.0.0" - -"@changesets/logger@^0.0.5": - version "0.0.5" - resolved "https://registry.yarnpkg.com/@changesets/logger/-/logger-0.0.5.tgz#68305dd5a643e336be16a2369cb17cdd8ed37d4c" - integrity sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw== - dependencies: - chalk "^2.1.0" - -"@changesets/parse@^0.3.16": - version "0.3.16" - resolved "https://registry.yarnpkg.com/@changesets/parse/-/parse-0.3.16.tgz#f8337b70aeb476dc81745ab3294022909bc4a84a" - integrity sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg== - dependencies: - "@changesets/types" "^5.2.1" - js-yaml "^3.13.1" - -"@changesets/pre@^1.0.14": - version "1.0.14" - resolved "https://registry.yarnpkg.com/@changesets/pre/-/pre-1.0.14.tgz#9df73999a4d15804da7381358d77bb37b00ddf0f" - integrity sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ== - dependencies: - "@babel/runtime" "^7.20.1" - "@changesets/errors" "^0.1.4" - "@changesets/types" "^5.2.1" - "@manypkg/get-packages" "^1.1.3" - fs-extra "^7.0.1" - -"@changesets/read@^0.5.9": - version "0.5.9" - resolved "https://registry.yarnpkg.com/@changesets/read/-/read-0.5.9.tgz#a1b63a82b8e9409738d7a0f9cc39b6d7c28cbab0" - integrity sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ== - dependencies: - "@babel/runtime" "^7.20.1" - "@changesets/git" "^2.0.0" - "@changesets/logger" "^0.0.5" - "@changesets/parse" "^0.3.16" - "@changesets/types" "^5.2.1" - chalk "^2.1.0" - fs-extra "^7.0.1" - p-filter "^2.1.0" - -"@changesets/types@^4.0.1": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@changesets/types/-/types-4.1.0.tgz#fb8f7ca2324fd54954824e864f9a61a82cb78fe0" - integrity sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw== - -"@changesets/types@^5.2.1": - version "5.2.1" - resolved "https://registry.yarnpkg.com/@changesets/types/-/types-5.2.1.tgz#a228c48004aa8a93bce4be2d1d31527ef3bf21f6" - integrity sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg== - -"@changesets/write@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@changesets/write/-/write-0.2.3.tgz#baf6be8ada2a67b9aba608e251bfea4fdc40bc63" - integrity sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw== - dependencies: - "@babel/runtime" "^7.20.1" - "@changesets/types" "^5.2.1" - fs-extra "^7.0.1" - human-id "^1.0.2" - prettier "^2.7.1" - -"@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - -"@eslint/eslintrc@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.0.tgz#943309d8697c52fc82c076e90c1c74fbbe69dbff" - integrity sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A== - dependencies: - ajv "^6.12.4" - debug "^4.3.2" - espree "^9.4.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.35.0": - version "8.35.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.35.0.tgz#b7569632b0b788a0ca0e438235154e45d42813a7" - integrity sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw== - -"@humanwhocodes/config-array@^0.11.8": - version "0.11.8" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9" - integrity sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g== - dependencies: - "@humanwhocodes/object-schema" "^1.2.1" - debug "^4.1.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@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - -"@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - -"@istanbuljs/schema@^0.1.2": - 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.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb" - integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@manypkg/find-root@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@manypkg/find-root/-/find-root-1.1.0.tgz#a62d8ed1cd7e7d4c11d9d52a8397460b5d4ad29f" - integrity sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA== - dependencies: - "@babel/runtime" "^7.5.5" - "@types/node" "^12.7.1" - find-up "^4.1.0" - fs-extra "^8.1.0" - -"@manypkg/get-packages@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@manypkg/get-packages/-/get-packages-1.1.3.tgz#e184db9bba792fa4693de4658cfb1463ac2c9c47" - integrity sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A== - dependencies: - "@babel/runtime" "^7.5.5" - "@changesets/types" "^4.0.1" - "@manypkg/find-root" "^1.1.0" - fs-extra "^8.1.0" - globby "^11.0.0" - read-yaml-file "^1.1.0" - -"@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" - -"@sinonjs/commons@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-2.0.0.tgz#fd4ca5b063554307e8327b4564bd56d3b73924a3" - integrity sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@10.0.2", "@sinonjs/fake-timers@^10.0.2": - version "10.0.2" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.0.2.tgz#d10549ed1f423d80639c528b6c7f5a1017747d0c" - integrity sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw== - dependencies: - "@sinonjs/commons" "^2.0.0" - -"@sinonjs/samsam@^7.0.1": - version "7.0.1" - resolved "https://registry.yarnpkg.com/@sinonjs/samsam/-/samsam-7.0.1.tgz#5b5fa31c554636f78308439d220986b9523fc51f" - integrity sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw== - dependencies: - "@sinonjs/commons" "^2.0.0" - lodash.get "^4.4.2" - type-detect "^4.0.8" - -"@sinonjs/text-encoding@^0.7.1": - version "0.7.1" - resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" - integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== - -"@socket.io/component-emitter@~3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" - integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== - -"@svitejs/changesets-changelog-github-compact@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@svitejs/changesets-changelog-github-compact/-/changesets-changelog-github-compact-0.1.1.tgz#ad46b266b96629623184424fe37a018089098dc1" - integrity sha512-eBi211CfmKtkxB6tINicaDPBMbolswPbaAy7kCx+uUFL/LxztLm9cB+7jP54TgCrv+mMz8vSJWIs/baH63PjsA== - dependencies: - "@changesets/get-github-info" "^0.5.0" - dotenv "^16.0.0" - -"@testing-library/dom@^8.11.1": - version "8.20.0" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.0.tgz#914aa862cef0f5e89b98cc48e3445c4c921010f6" - integrity sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "^5.0.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.4.4" - pretty-format "^27.0.2" - -"@testing-library/dom@^9.0.1": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-9.0.1.tgz#fb9e3837fe2a662965df1536988f0863f01dbf51" - integrity sha512-fTOVsMY9QLFCCXRHG3Ese6cMH5qIWwSbgxZsgeF5TNsy81HKaZ4kgehnSF8FsR3OF+numlIV2YcU79MzbnhSig== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^5.0.1" - aria-query "^5.0.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.5.0" - pretty-format "^27.0.2" - -"@testing-library/preact@^3.2.3": - version "3.2.3" - resolved "https://registry.yarnpkg.com/@testing-library/preact/-/preact-3.2.3.tgz#0d331b7a7f934a4b0fc6c95ff3a9e1d6fa93094e" - integrity sha512-y6Kklp1XK3f1X2fWCbujmJyzkf+1BgLYXNgAx21j9+D4CoqMTz5qC4SQufb1L6q/jxLGACzrQ90ewVOTBvHOfg== - dependencies: - "@testing-library/dom" "^8.11.1" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - -"@types/aria-query@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc" - integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q== - -"@types/color-name@^1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0" - integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ== - -"@types/cookie@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@types/cookie/-/cookie-0.4.1.tgz#bfd02c1f2224567676c1545199f87c3a861d878d" - integrity sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q== - -"@types/cors@^2.8.12": - version "2.8.12" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" - integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== - -"@types/eslint-scope@^3.7.3": - version "3.7.3" - resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.3.tgz#125b88504b61e3c8bc6f870882003253005c3224" - integrity sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*": - version "8.4.1" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.1.tgz#c48251553e8759db9e656de3efc846954ac32304" - integrity sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^0.0.51": - version "0.0.51" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40" - integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== - -"@types/hoist-non-react-statics@^3.3.0", "@types/hoist-non-react-statics@^3.3.1": - version "3.3.1" - resolved "https://registry.yarnpkg.com/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz#1124aafe5118cb591977aeb1ceaaed1070eb039f" - integrity sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA== - dependencies: - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - -"@types/is-ci@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/is-ci/-/is-ci-3.0.0.tgz#7e8910af6857601315592436f030aaa3ed9783c3" - integrity sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ== - dependencies: - ci-info "^3.1.0" - -"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - -"@types/minimist@^1.2.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - -"@types/node@*": - version "17.0.25" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.25.tgz#527051f3c2f77aa52e5dc74e45a3da5fb2301448" - integrity sha512-wANk6fBrUwdpY4isjWrKTufkrXdu1D2YHCot2fD/DfWxF5sMrVSA+KN7ydckvaTCh0HiqX9IVl0L5/ZoXg5M7w== - -"@types/node@>=10.0.0": - version "17.0.17" - resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.17.tgz#a8ddf6e0c2341718d74ee3dc413a13a042c45a0c" - integrity sha512-e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw== - -"@types/node@^12.7.1": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - -"@types/node@^18.15.0": - version "18.15.0" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.0.tgz#286a65e3fdffd691e170541e6ecb0410b16a38be" - integrity sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w== - -"@types/normalize-package-data@^2.4.0": - version "2.4.1" - resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301" - integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw== - -"@types/prop-types@*": - version "15.7.3" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7" - integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw== - -"@types/react-dom@^16.9.8": - version "16.9.8" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-16.9.8.tgz#fe4c1e11dfc67155733dfa6aa65108b4971cb423" - integrity sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA== - dependencies: - "@types/react" "*" - -"@types/react-redux@^7.1.25": - version "7.1.25" - resolved "https://registry.yarnpkg.com/@types/react-redux/-/react-redux-7.1.25.tgz#de841631205b24f9dfb4967dd4a7901e048f9a88" - integrity sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg== - dependencies: - "@types/hoist-non-react-statics" "^3.3.0" - "@types/react" "*" - hoist-non-react-statics "^3.3.0" - redux "^4.0.0" - -"@types/react@*", "@types/react@^16.9.35": - version "16.9.35" - resolved "https://registry.yarnpkg.com/@types/react/-/react-16.9.35.tgz#a0830d172e8aadd9bd41709ba2281a3124bbd368" - integrity sha512-q0n0SsWcGc8nDqH2GJfWQWUOmZSJhXV64CjVN5SvcNti3TdEaA3AH0D8DwNmMdzjMAC/78tB8nAZIlV8yTz+zQ== - dependencies: - "@types/prop-types" "*" - csstype "^2.2.0" - -"@types/semver@^6.0.0": - version "6.2.3" - resolved "https://registry.yarnpkg.com/@types/semver/-/semver-6.2.3.tgz#5798ecf1bec94eaa64db39ee52808ec0693315aa" - integrity sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A== - -"@types/use-sync-external-store@^0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz#b6725d5f4af24ace33b36fafd295136e75509f43" - integrity sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA== - -"@typescript-eslint/parser@^5.54.1": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.54.1.tgz#05761d7f777ef1c37c971d3af6631715099b084c" - integrity sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg== - dependencies: - "@typescript-eslint/scope-manager" "5.54.1" - "@typescript-eslint/types" "5.54.1" - "@typescript-eslint/typescript-estree" "5.54.1" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@5.54.1": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.54.1.tgz#6d864b4915741c608a58ce9912edf5a02bb58735" - integrity sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg== - dependencies: - "@typescript-eslint/types" "5.54.1" - "@typescript-eslint/visitor-keys" "5.54.1" - -"@typescript-eslint/types@5.54.1": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.54.1.tgz#29fbac29a716d0f08c62fe5de70c9b6735de215c" - integrity sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw== - -"@typescript-eslint/typescript-estree@5.54.1": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.54.1.tgz#df7b6ae05fd8fef724a87afa7e2f57fa4a599be1" - integrity sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg== - dependencies: - "@typescript-eslint/types" "5.54.1" - "@typescript-eslint/visitor-keys" "5.54.1" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - semver "^7.3.7" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@5.54.1": - version "5.54.1" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.54.1.tgz#d7a8a0f7181d6ac748f4d47b2306e0513b98bf8b" - integrity sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg== - dependencies: - "@typescript-eslint/types" "5.54.1" - eslint-visitor-keys "^3.3.0" - -"@webassemblyjs/ast@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7" - integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - -"@webassemblyjs/floating-point-hex-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f" - integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ== - -"@webassemblyjs/helper-api-error@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16" - integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg== - -"@webassemblyjs/helper-buffer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5" - integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA== - -"@webassemblyjs/helper-numbers@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae" - integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1" - integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q== - -"@webassemblyjs/helper-wasm-section@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a" - integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - -"@webassemblyjs/ieee754@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614" - integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5" - integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff" - integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ== - -"@webassemblyjs/wasm-edit@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6" - integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/helper-wasm-section" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-opt" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - "@webassemblyjs/wast-printer" "1.11.1" - -"@webassemblyjs/wasm-gen@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76" - integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wasm-opt@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2" - integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-buffer" "1.11.1" - "@webassemblyjs/wasm-gen" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - -"@webassemblyjs/wasm-parser@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199" - integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/helper-api-error" "1.11.1" - "@webassemblyjs/helper-wasm-bytecode" "1.11.1" - "@webassemblyjs/ieee754" "1.11.1" - "@webassemblyjs/leb128" "1.11.1" - "@webassemblyjs/utf8" "1.11.1" - -"@webassemblyjs/wast-printer@1.11.1": - version "1.11.1" - resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0" - integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg== - dependencies: - "@webassemblyjs/ast" "1.11.1" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abab@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - -abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -accepts@~1.3.4: - version "1.3.7" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd" - integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA== - dependencies: - mime-types "~2.1.24" - negotiator "0.6.2" - -acorn-globals@^7.0.0: - version "7.0.1" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3" - integrity sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q== - dependencies: - acorn "^8.1.0" - acorn-walk "^8.0.2" - -acorn-import-assertions@^1.7.6: - version "1.8.0" - resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9" - integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw== - -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.0.2: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - -acorn@^8.1.0, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.8.1: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - -acorn@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" - integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== - -agent-base@6: - version "6.0.0" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.0.tgz#5d0101f19bbfaed39980b22ae866de153b93f09a" - integrity sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw== - dependencies: - debug "4" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv-keywords@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16" - integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw== - dependencies: - fast-deep-equal "^3.1.3" - -ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5: - 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" - -ajv@^8.0.0, ajv@^8.8.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - -ansi-colors@^4.1.1, 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@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" - integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= - -ansi-regex@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75" - integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg== - -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.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359" - integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA== - dependencies: - "@types/color-name" "^1.1.1" - 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.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" - integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -append-transform@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/append-transform/-/append-transform-2.0.0.tgz#99d9d29c7b38391e6f428d28ce136551f0b77e12" - integrity sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg== - dependencies: - default-require-extensions "^3.0.0" - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" - integrity sha1-+cjBN1fMHde8N5rHeyxipcKGjEA= - -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -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== - -argv@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" - integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas= - -aria-query@^5.0.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - -array-includes@^3.1.5, array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - 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.2.3: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - -array.prototype.tosorted@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array.prototype.tosorted/-/array.prototype.tosorted-1.1.1.tgz#ccf44738aa2b5ac56578ffda97c03fd3e23dd532" - integrity sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - get-intrinsic "^1.1.3" - -arrify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" - integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== - -assert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" - integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== - dependencies: - es6-object-assign "^1.1.0" - is-nan "^1.2.1" - object-is "^1.0.1" - util "^0.12.0" - -async@^1.5.2: - version "1.5.2" - resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" - integrity sha1-7GphrlZIDAw8skHJVhjiCJL5Zyo= - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha1-x57Zf380y48robyXkLzDZkdLS3k= - -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -babel-loader@^9.1.2: - version "9.1.2" - resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c" - integrity sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA== - dependencies: - find-cache-dir "^3.3.2" - schema-utils "^4.0.0" - -babel-plugin-polyfill-corejs2@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122" - integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q== - dependencies: - "@babel/compat-data" "^7.17.7" - "@babel/helper-define-polyfill-provider" "^0.3.3" - semver "^6.1.1" - -babel-plugin-polyfill-corejs3@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a" - integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - core-js-compat "^3.25.1" - -babel-plugin-polyfill-regenerator@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747" - integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.3.3" - -balanced-match@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" - integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= - -base64id@2.0.0, base64id@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-2.0.0.tgz#2770ac6bc47d312af97a8bf9a634342e0cd25cb6" - integrity sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog== - -benchmark@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/benchmark/-/benchmark-2.1.4.tgz#09f3de31c916425d498cc2ee565a0ebf3c2a5629" - integrity sha1-CfPeMckWQl1JjMLuVloOvzwqVik= - dependencies: - lodash "^4.17.4" - platform "^1.3.3" - -better-path-resolve@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/better-path-resolve/-/better-path-resolve-1.0.0.tgz#13a35a1104cdd48a7b74bf8758f96a1ee613f99d" - integrity sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g== - dependencies: - is-windows "^1.0.0" - -binary-extensions@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.0.0.tgz#23c0df14f6a88077f5f986c0d167ec03c3d5537c" - integrity sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow== - -body-parser@^1.19.0: - version "1.19.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4" - integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA== - dependencies: - bytes "3.1.1" - content-type "~1.0.4" - debug "2.6.9" - depd "~1.1.2" - http-errors "1.8.1" - iconv-lite "0.4.24" - on-finished "~2.3.0" - qs "6.9.6" - raw-body "2.4.2" - type-is "~1.6.18" - -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" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -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" - -breakword@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/breakword/-/breakword-1.0.5.tgz#fd420a417f55016736b5b615161cae1c8f819810" - integrity sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg== - dependencies: - wcwidth "^1.0.1" - -browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - -browserslist@^4.14.5: - version "4.20.2" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.20.2.tgz#567b41508757ecd904dab4d1c646c612cd3d4f88" - integrity sha512-CQOBCqp/9pDvDbx3xfMi+86pr4KXIf2FDkTTdeuYw8OxS9t898LA1Khq57gtufFILXpfgsSx5woNgsBgvGjpsA== - dependencies: - caniuse-lite "^1.0.30001317" - electron-to-chromium "^1.4.84" - escalade "^3.1.1" - node-releases "^2.0.2" - picocolors "^1.0.0" - -browserslist@^4.21.3, browserslist@^4.21.5: - version "4.21.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== - dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" - -buffer-from@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.1.tgz#32713bc028f75c02fdb710d7c7bcec1f2c6070ef" - integrity sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A== - -builder@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/builder/-/builder-5.0.0.tgz#274c140e627cfadb28f71fe4e1e137002ae75ffe" - integrity sha512-jWn12XLo07aIhniBlrA/hdS4Q86xyHlcWG9LfTFiqhEzUQbTPvzgtK/Qfe1CyUPm3+QKSaJV/V6NSurSlwCJ3g== - dependencies: - async "^1.5.2" - chalk "^2.4.2" - js-yaml "^3.13.1" - lodash "^4.17.15" - nopt "^4.0.1" - tree-kill "^1.2.1" - -bytes@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a" - integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg== - -caching-transform@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" - integrity sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA== - dependencies: - hasha "^5.0.0" - make-dir "^3.0.0" - package-hash "^4.0.0" - write-file-atomic "^3.0.0" - -call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - -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== - -camelcase-keys@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0" - integrity sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== - dependencies: - camelcase "^5.3.1" - map-obj "^4.0.0" - quick-lru "^4.0.1" - -camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - -camelcase@^6.0.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001317: - version "1.0.30001332" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001332.tgz#39476d3aa8d83ea76359c70302eafdd4a1d727dd" - integrity sha512-10T30NYOEQtN6C11YGg411yebhvpnC6Z102+B95eAsN0oB6KUs01ivE8u+G6FMIRtIrVlYXhL+LUwQ3/hXwDWw== - -caniuse-lite@^1.0.30001449: - version "1.0.30001462" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001462.tgz#b2e801e37536d453731286857c8520d3dcee15fe" - integrity sha512-PDd20WuOBPiasZ7KbFnmQRyuLE7cFXW2PVd7dmALzbkUXEP46upAuCDm9eY9vho8fgNMGmbAX92QBZHzcnWIqw== - -chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, 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, chalk@^4.1.0, chalk@^4.1.2: - 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" - -chardet@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e" - integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA== - -chokidar@3.5.3, chokidar@^3.5.1: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - 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" - -chrome-trace-event@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz#234090ee97c7d4ad1a2c4beae27505deffc608a4" - integrity sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ== - dependencies: - tslib "^1.9.0" - -ci-info@^3.1.0, ci-info@^3.2.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -cliui@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-6.0.0.tgz#511d702c0c4e41ca156d7d0e96021f23e13225b1" - integrity sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^6.2.0" - -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" - -cliui@^8.0.1: - version "8.0.1" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" - integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.1" - wrap-ansi "^7.0.0" - -clone@^1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e" - integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg== - -codecov@^3.8.3: - version "3.8.3" - resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.3.tgz#9c3e364b8a700c597346ae98418d09880a3fdbe7" - integrity sha512-Y8Hw+V3HgR7V71xWH2vQ9lyS358CbGCldWlJFR0JirqoGtOoas3R3/OclRTvgUYFK29mmJICDPauVKmpqbwhOA== - dependencies: - argv "0.0.2" - ignore-walk "3.0.4" - js-yaml "3.14.1" - teeny-request "7.1.1" - urlgrey "1.0.0" - -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 sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - -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== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commondir@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" - integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= - -connect@^3.7.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" - integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ== - dependencies: - debug "2.6.9" - finalhandler "1.1.2" - parseurl "~1.3.3" - utils-merge "1.0.1" - -content-type@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b" - integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== - -convert-source-map@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.7.0.tgz#17a2cb882d7f77d3490585e2ce6c524424a3a442" - integrity sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA== - dependencies: - safe-buffer "~5.1.1" - -cookie@~0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - -core-js-compat@^3.25.1: - version "3.29.0" - resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.29.0.tgz#1b8d9eb4191ab112022e7f6364b99b65ea52f528" - integrity sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ== - dependencies: - browserslist "^4.21.5" - -core-js@^3.29.0: - version "3.29.0" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.29.0.tgz#0273e142b67761058bcde5615c503c7406b572d6" - integrity sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg== - -cors@~2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - -cross-spawn@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449" - integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A== - dependencies: - lru-cache "^4.0.1" - shebang-command "^1.2.0" - which "^1.2.9" - -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" - -cssom@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36" - integrity sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - -csstype@^2.2.0: - version "2.6.10" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.10.tgz#e63af50e66d7c266edb6b32909cfd0aabe03928b" - integrity sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w== - -csv-generate@^3.4.3: - version "3.4.3" - resolved "https://registry.yarnpkg.com/csv-generate/-/csv-generate-3.4.3.tgz#bc42d943b45aea52afa896874291da4b9108ffff" - integrity sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw== - -csv-parse@^4.16.3: - version "4.16.3" - resolved "https://registry.yarnpkg.com/csv-parse/-/csv-parse-4.16.3.tgz#7ca624d517212ebc520a36873c3478fa66efbaf7" - integrity sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg== - -csv-stringify@^5.6.5: - version "5.6.5" - resolved "https://registry.yarnpkg.com/csv-stringify/-/csv-stringify-5.6.5.tgz#c6d74badda4b49a79bf4e72f91cce1e33b94de00" - integrity sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A== - -csv@^5.5.3: - version "5.5.3" - resolved "https://registry.yarnpkg.com/csv/-/csv-5.5.3.tgz#cd26c1e45eae00ce6a9b7b27dcb94955ec95207d" - integrity sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g== - dependencies: - csv-generate "^3.4.3" - csv-parse "^4.16.3" - csv-stringify "^5.6.5" - stream-transform "^2.1.3" - -custom-event@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/custom-event/-/custom-event-1.0.1.tgz#5d02a46850adf1b4a317946a3928fccb5bfd0425" - integrity sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU= - -data-urls@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-3.0.2.tgz#9cf24a477ae22bcef5cd5f6f0bfbc1d2d3be9143" - integrity sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - -dataloader@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" - integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== - -date-format@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.3.tgz#f63de5dc08dc02efd8ef32bf2a6918e486f35873" - integrity sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ== - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791" - integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw== - dependencies: - ms "^2.1.1" - -debug@4.3.4, 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" - -debug@^4.3.3, debug@~4.3.1, debug@~4.3.2: - version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" - integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== - dependencies: - ms "2.1.2" - -decamelize-keys@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" - integrity sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== - dependencies: - decamelize "^1.1.0" - map-obj "^1.0.0" - -decamelize@^1.1.0, decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA= - -decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - -decimal.js@^10.4.2: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -deep-equal@^2.0.5: - version "2.2.0" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.2.0.tgz#5caeace9c781028b9ff459f33b779346637c43e6" - integrity sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw== - dependencies: - call-bind "^1.0.2" - es-get-iterator "^1.1.2" - get-intrinsic "^1.1.3" - is-arguments "^1.1.1" - is-array-buffer "^3.0.1" - is-date-object "^1.0.5" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" - -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== - -deep-is@~0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34" - integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ= - -default-require-extensions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/default-require-extensions/-/default-require-extensions-3.0.1.tgz#bfae00feeaeada68c2ae256c62540f60b80625bd" - integrity sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw== - dependencies: - strip-bom "^4.0.0" - -defaults@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a" - integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A== - dependencies: - clone "^1.0.2" - -define-properties@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" - integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== - dependencies: - object-keys "^1.0.12" - -define-properties@^1.1.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha1-3zrhmayt+31ECqrgsp4icrJOxhk= - -depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak= - -detect-indent@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" - integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== - -di@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/di/-/di-0.0.1.tgz#806649326ceaa7caa3306d75d985ea2748ba913c" - integrity sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw= - -diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - -diff@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" - integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== - -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@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - -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" - -dom-accessibility-api@^0.5.9: - version "0.5.16" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453" - integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg== - -dom-serialize@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/dom-serialize/-/dom-serialize-2.2.1.tgz#562ae8999f44be5ea3076f5419dcd59eb43ac95b" - integrity sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs= - dependencies: - custom-event "~1.0.0" - ent "~2.2.0" - extend "^3.0.0" - void-elements "^2.0.0" - -domexception@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673" - integrity sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw== - dependencies: - webidl-conversions "^7.0.0" - -dotenv@^16.0.0: - version "16.0.3" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" - integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== - -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0= - -electron-to-chromium@^1.4.284: - version "1.4.325" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.325.tgz#7b97238a61192d85d055d97f3149832b3617d37b" - integrity sha512-K1C03NT4I7BuzsRdCU5RWkgZxtswnKDYM6/eMhkEXqKu4e5T+ck610x3FPzu1y7HVFSiQKZqP16gnJzPpji1TQ== - -electron-to-chromium@^1.4.84: - version "1.4.118" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.118.tgz#2d917c71712dac9652cc01af46c7d0bd51552974" - integrity sha512-maZIKjnYDvF7Fs35nvVcyr44UcKNwybr93Oba2n3HkKDFAtk0svERkLN/HyczJDS3Fo4wU9th9fUQd09ZLtj1w== - -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== - -encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= - -engine.io-parser@~5.0.3: - version "5.0.6" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.6.tgz#7811244af173e157295dec9b2718dfe42a64ef45" - integrity sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw== - -engine.io@~6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.4.1.tgz#8056b4526a88e779f9c280d820422d4e3eeaaae5" - integrity sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw== - dependencies: - "@types/cookie" "^0.4.1" - "@types/cors" "^2.8.12" - "@types/node" ">=10.0.0" - accepts "~1.3.4" - base64id "2.0.0" - cookie "~0.4.1" - cors "~2.8.5" - debug "~4.3.1" - engine.io-parser "~5.0.3" - ws "~8.11.0" - -enhanced-resolve@^5.10.0: - version "5.12.0" - resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634" - integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -enquirer@^2.3.0: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - -ent@~2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= - -entities@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174" - integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA== - -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.18.5: - version "1.19.5" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.5.tgz#a2cb01eb87f724e815b278b0dd0d00f36ca9a7f1" - integrity sha512-Aa2G2+Rd3b6kxEUKTF4TaW67czBLyAv3z7VOhYRU50YBx+bbsYZ9xQP4lMNazePuFlybXI0V4MruPos7qUo5fA== - dependencies: - call-bind "^1.0.2" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - get-intrinsic "^1.1.1" - get-symbol-description "^1.0.0" - has "^1.0.3" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - is-callable "^1.2.4" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-weakref "^1.0.2" - object-inspect "^1.12.0" - object-keys "^1.1.1" - object.assign "^4.1.2" - string.prototype.trimend "^1.0.4" - string.prototype.trimstart "^1.0.4" - unbox-primitive "^1.0.1" - -es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.21.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.1.tgz#e6105a099967c08377830a0c9cb589d570dd86c6" - integrity sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function-bind "^1.1.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.1.3" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.4" - is-array-buffer "^3.0.1" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.10" - is-weakref "^1.0.2" - object-inspect "^1.12.2" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.9" - -es-get-iterator@^1.1.2: - version "1.1.3" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.3.tgz#3ef87523c5d464d41084b2c3c9c214f1199763d6" - integrity sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - is-arguments "^1.1.1" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.7" - isarray "^2.0.5" - stop-iteration-iterator "^1.0.0" - -es-module-lexer@^0.9.0: - version "0.9.3" - resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" - integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ== - -es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - -es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - -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" - -es6-error@^4.0.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/es6-error/-/es6-error-4.1.1.tgz#9e3af407459deed47e9a91f9b885a84eb05c561d" - integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== - -es6-object-assign@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" - integrity sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw= - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg= - -escape-string-regexp@4.0.0, 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== - -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 sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= - -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - -eslint-plugin-react@^7.32.2: - version "7.32.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.32.2.tgz#e71f21c7c265ebce01bcbc9d0955170c55571f10" - integrity sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg== - dependencies: - array-includes "^3.1.6" - array.prototype.flatmap "^1.3.1" - array.prototype.tosorted "^1.1.1" - doctrine "^2.1.0" - estraverse "^5.3.0" - jsx-ast-utils "^2.4.1 || ^3.0.0" - minimatch "^3.1.2" - object.entries "^1.1.6" - object.fromentries "^2.0.6" - object.hasown "^1.1.2" - object.values "^1.1.6" - prop-types "^15.8.1" - resolve "^2.0.0-next.4" - semver "^6.3.0" - string.prototype.matchall "^4.0.8" - -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.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" - integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - -eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - -eslint-visitor-keys@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" - integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== - -eslint@^8.35.0: - version "8.35.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.35.0.tgz#fffad7c7e326bae606f0e8f436a6158566d42323" - integrity sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw== - dependencies: - "@eslint/eslintrc" "^2.0.0" - "@eslint/js" "8.35.0" - "@humanwhocodes/config-array" "^0.11.8" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - ajv "^6.10.0" - 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.1.1" - eslint-utils "^3.0.0" - eslint-visitor-keys "^3.3.0" - espree "^9.4.0" - 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" - grapheme-splitter "^1.0.4" - ignore "^5.2.0" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - is-path-inside "^3.0.3" - js-sdsl "^4.1.4" - 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.1" - regexpp "^3.2.0" - strip-ansi "^6.0.1" - strip-json-comments "^3.1.0" - text-table "^0.2.0" - -espree@^9.4.0: - version "9.4.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-9.4.1.tgz#51d6092615567a2c2cff7833445e37c28c0065bd" - integrity sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg== - dependencies: - acorn "^8.8.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.3.0" - -esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - -esquery@^1.4.2: - 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: - version "5.1.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.1.0.tgz#374309d39fd935ae500e7b92e8a6b4c720e59642" - integrity sha512-FyohXK+R0vE+y1nHLoBM7ZTyqRpqAlhdZHCWIWEviFLiGB8b04H6bQs8G+XTthacvT8VuwvteiP7RJSxMs8UEw== - -estraverse@^5.2.0, estraverse@^5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -eventemitter3@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - -events@^3.2.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -extend@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - -extendable-error@^0.1.5: - version "0.1.7" - resolved "https://registry.yarnpkg.com/extendable-error/-/extendable-error-0.1.7.tgz#60b9adf206264ac920058a7395685ae4670c2b96" - integrity sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg== - -external-editor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495" - integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew== - dependencies: - chardet "^0.7.0" - iconv-lite "^0.4.24" - tmp "^0.0.33" - -fast-deep-equal-git@epoberezkin/fast-deep-equal#v3.1.3: - version "3.1.3" - resolved "https://codeload.github.com/epoberezkin/fast-deep-equal/tar.gz/d807ffc5013e710deb1c63d463a03f729bcd144d" - -fast-deep-equal@3.1.3, 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-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - 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, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= - -fast-url-parser@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/fast-url-parser/-/fast-url-parser-1.1.3.tgz#f4af3ea9f34d8a271cf58ad2b3759f431f0b318d" - integrity sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ== - dependencies: - punycode "^1.3.2" - -fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - -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" - -finalhandler@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d" - integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "~2.3.0" - parseurl "~1.3.3" - statuses "~1.5.0" - unpipe "~1.0.0" - -find-cache-dir@^3.2.0, find-cache-dir@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b" - integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig== - dependencies: - commondir "^1.0.1" - make-dir "^3.0.2" - pkg-dir "^4.1.0" - -find-up@5.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" - -find-up@^4.0.0, 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-yarn-workspace-root2@1.2.16: - version "1.2.16" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root2/-/find-yarn-workspace-root2-1.2.16.tgz#60287009dd2f324f59646bdb4b7610a6b301c2a9" - integrity sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA== - dependencies: - micromatch "^4.0.2" - pkg-dir "^4.2.0" - -flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - -flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - -flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - -flatted@^3.2.4: - version "3.2.5" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3" - integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg== - -follow-redirects@^1.0.0: - version "1.14.7" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.7.tgz#2004c02eb9436eee9a21446a6477debf17e81685" - integrity sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ== - -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" - -foreach@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.5.tgz#0bee005018aeb260d0a3af3ae658dd0136ec1b99" - integrity sha1-C+4AUBiusmDQo6865ljdATbsG5k= - -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" - -form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fromentries@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/fromentries/-/fromentries-1.3.2.tgz#e4bca6808816bf8f93b52750f1127f5a6fd86e3a" - integrity sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg== - -fs-extra@^10.0.0: - version "10.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.0.0.tgz#9ff61b655dde53fb34a82df84bb214ce802e17c1" - integrity sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - -fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-extra@^8.1.0: - version "8.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" - integrity sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - -function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - -functions-have-names@^1.2.2: - 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.1, 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-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" - integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.1" - -get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - -get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - -get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -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-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@7.2.0, glob@^7.1.3, glob@^7.1.6, glob@^7.1.7: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - -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.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== - dependencies: - type-fest "^0.20.2" - -globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - -globby@^11.0.0, 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" - -graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.6: - version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" - integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== - -graceful-fs@^4.1.5: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graceful-fs@^4.2.4, graceful-fs@^4.2.9: - version "4.2.10" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" - integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA== - -grapheme-splitter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" - integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== - -hard-rejection@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hard-rejection/-/hard-rejection-2.1.0.tgz#1c6eda5c1685c63942766d79bb40ae773cecd883" - integrity sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== - -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 sha1-tdRU3CGZriJWmfNGfloH87lVuv0= - -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: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - -has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - -has-symbols@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.1.tgz#9f5214758a44196c406d9bd76cebf81ec2dd31e8" - integrity sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg== - -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: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - -has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - -hasha@^5.0.0: - version "5.2.2" - resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" - integrity sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ== - dependencies: - is-stream "^2.0.0" - type-fest "^0.8.0" - -he@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - -hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - -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-encoding-sniffer@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz#2cb1a8cf0db52414776e5b2a7a04d5dd98158de9" - integrity sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA== - dependencies: - whatwg-encoding "^2.0.0" - -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== - -http-errors@1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - -http-proxy-agent@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - -http-proxy@^1.18.1: - version "1.18.1" - resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" - integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ== - dependencies: - eventemitter3 "^4.0.0" - follow-redirects "^1.0.0" - requires-port "^1.0.0" - -https-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" - integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA== - dependencies: - agent-base "6" - debug "4" - -https-proxy-agent@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-id@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/human-id/-/human-id-1.0.2.tgz#e654d4b2b0d8b07e45da9f6020d8af17ec0a5df3" - integrity sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw== - -iconv-lite@0.4.24, iconv-lite@^0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - -iconv-lite@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -ignore-walk@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.4.tgz#c9a09f69b7c7b479a5d74ac1a3c0d4236d2a6335" - integrity sha512-PY6Ii8o1jMRA1z4F2hRkH/xN59ox43DavKvD3oDpfurRlOJyAHpifIwpbdv1n4jt4ov0jSpw3kQ4GhJnpBL6WQ== - dependencies: - minimatch "^3.0.4" - -ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - -import-fresh@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66" - integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -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 sha1-khi5srkoojixPcT7a21XbyMUU+o= - -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 sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@2.0.4, inherits@^2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -internal-slot@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" - integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== - dependencies: - get-intrinsic "^1.1.0" - has "^1.0.3" - side-channel "^1.0.4" - -internal-slot@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - -is-arguments@^1.0.4, is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - -is-array-buffer@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - -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-callable@^1.1.3, 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-callable@^1.1.4: - version "1.1.5" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.5.tgz#f7e46b596890456db74e7f6e976cb3273d06faab" - integrity sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q== - -is-callable@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" - integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== - -is-ci@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" - integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== - dependencies: - ci-info "^3.2.0" - -is-core-module@^2.11.0: - version "2.12.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" - integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== - dependencies: - has "^1.0.3" - -is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - -is-date-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.2.tgz#bda736f2cd8fd06d32844e7743bfa7494c3bfd7e" - integrity sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g== - -is-date-object@^1.0.5: - 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-docker@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.0.0.tgz#2cb0df0e75e2d064fe1864c37cdeacb7b2dcf25b" - integrity sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ== - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= - -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-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc" - integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg== - dependencies: - is-extglob "^2.1.1" - -is-glob@^4.0.3: - 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-map@^2.0.1, is-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== - -is-nan@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - -is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - -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-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - -is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - -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-set@^2.0.1, is-set@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== - -is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - -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: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.5.tgz#40493ed198ef3ff477b8c7f92f644ec82a5cd3a6" - integrity sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ== - -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-subdir@^1.1.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-subdir/-/is-subdir-1.2.0.tgz#b791cd28fab5202e91a08280d51d9d7254fd20d4" - integrity sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw== - dependencies: - better-path-resolve "1.0.0" - -is-symbol@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.3.tgz#38e1014b9e6329be0de9d24a414fd7441ec61937" - integrity sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ== - dependencies: - has-symbols "^1.0.1" - -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.10, is-typed-array@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - -is-typed-array@^1.1.3, is-typed-array@^1.1.7: - version "1.1.8" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.8.tgz#cbaa6585dc7db43318bc5b89523ea384a6f65e79" - integrity sha512-HqH41TNZq2fgtGT8WHVFVJhBVGuY3AnP3Q36K8JKXUxSxRgk/d+7NjmwG2vo2mYmXK8UYZKu0qH8bVP5gEisjA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - -is-typedarray@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha1-5HnICFjfDBsR3dppQPlgEfzaSpo= - -is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - -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-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - -is-windows@^1.0.0, is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - -is-wsl@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" - integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== - dependencies: - is-docker "^2.0.0" - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8= - -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== - -isbinaryfile@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/isbinaryfile/-/isbinaryfile-4.0.8.tgz#5d34b94865bd4946633ecc78a026fc76c5b11fcf" - integrity sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - -istanbul-lib-hook@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-hook/-/istanbul-lib-hook-3.0.0.tgz#8f84c9434888cc6b1d0a9d7092a76d239ebf0cc6" - integrity sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ== - dependencies: - append-transform "^2.0.0" - -istanbul-lib-instrument@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz#873c6fff897450118222774696a3f28902d77c1d" - integrity sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ== - dependencies: - "@babel/core" "^7.7.5" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.0.0" - semver "^6.3.0" - -istanbul-lib-processinfo@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/istanbul-lib-processinfo/-/istanbul-lib-processinfo-2.0.3.tgz#366d454cd0dcb7eb6e0e419378e60072c8626169" - integrity sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg== - dependencies: - archy "^1.0.0" - cross-spawn "^7.0.3" - istanbul-lib-coverage "^3.2.0" - p-map "^3.0.0" - rimraf "^3.0.0" - uuid "^8.3.2" - -istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.0.2: - version "3.1.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -js-sdsl@^4.1.4: - version "4.3.0" - resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.3.0.tgz#aeefe32a451f7af88425b11fdb5f58c90ae1d711" - integrity sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ== - -"js-tokens@^3.0.0 || ^4.0.0", 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@3.14.1, js-yaml@^3.13.0, js-yaml@^3.6.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -js-yaml@4.1.0, 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" - -js-yaml@^3.13.1: - version "3.14.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" - integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - -jsdom-global@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/jsdom-global/-/jsdom-global-3.0.2.tgz#6bd299c13b0c4626b2da2c0393cd4385d606acb9" - integrity sha1-a9KZwTsMRiay2iwDk81DhdYGrLk= - -jsdom@^21.1.0: - version "21.1.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-21.1.0.tgz#d56ba4a84ed478260d83bd53dc181775f2d8e6ef" - integrity sha512-m0lzlP7qOtthD918nenK3hdItSd2I+V3W9IrBcB36sqDwG+KnUs66IF5GY7laGWUnlM9vTsD0W1QwSEBYWWcJg== - dependencies: - abab "^2.0.6" - acorn "^8.8.1" - acorn-globals "^7.0.0" - cssom "^0.5.0" - cssstyle "^2.3.0" - data-urls "^3.0.2" - decimal.js "^10.4.2" - domexception "^4.0.0" - escodegen "^2.0.0" - form-data "^4.0.0" - html-encoding-sniffer "^3.0.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.1" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.2" - parse5 "^7.1.1" - saxes "^6.0.0" - symbol-tree "^3.2.4" - tough-cookie "^4.1.2" - w3c-xmlserializer "^4.0.0" - webidl-conversions "^7.0.0" - whatwg-encoding "^2.0.0" - whatwg-mimetype "^3.0.0" - whatwg-url "^11.0.0" - ws "^8.11.0" - xml-name-validator "^4.0.0" - -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@~0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0= - -json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1: - 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-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -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 sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= - -json5@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -"jsx-ast-utils@^2.4.1 || ^3.0.0": - version "3.3.3" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea" - integrity sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw== - dependencies: - array-includes "^3.1.5" - object.assign "^4.1.3" - -just-extend@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/just-extend/-/just-extend-4.1.0.tgz#7278a4027d889601640ee0ce0e5a00b992467da4" - integrity sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA== - -karma-chrome-launcher@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz#baca9cc071b1562a1db241827257bfe5cab597ea" - integrity sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ== - dependencies: - which "^1.2.1" - -karma-firefox-launcher@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/karma-firefox-launcher/-/karma-firefox-launcher-2.1.2.tgz#9a38cc783c579a50f3ed2a82b7386186385cfc2d" - integrity sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA== - dependencies: - is-wsl "^2.2.0" - which "^2.0.1" - -karma-mocha-reporter@^2.2.5: - version "2.2.5" - resolved "https://registry.yarnpkg.com/karma-mocha-reporter/-/karma-mocha-reporter-2.2.5.tgz#15120095e8ed819186e47a0b012f3cd741895560" - integrity sha1-FRIAlejtgZGG5HoLAS8810GJVWA= - dependencies: - chalk "^2.1.0" - log-symbols "^2.1.0" - strip-ansi "^4.0.0" - -karma-mocha@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/karma-mocha/-/karma-mocha-2.0.1.tgz#4b0254a18dfee71bdbe6188d9a6861bf86b0cd7d" - integrity sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ== - dependencies: - minimist "^1.2.3" - -karma-safari-launcher@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/karma-safari-launcher/-/karma-safari-launcher-1.0.0.tgz#96982a2cc47d066aae71c553babb28319115a2ce" - integrity sha1-lpgqLMR9BmquccVTursoMZEVos4= - -karma-webpack@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/karma-webpack/-/karma-webpack-5.0.0.tgz#2a2c7b80163fe7ffd1010f83f5507f95ef39f840" - integrity sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA== - dependencies: - glob "^7.1.3" - minimatch "^3.0.4" - webpack-merge "^4.1.5" - -karma@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.1.tgz#f2253716dd3a41aaa813fa9f54b6ee047e1127d9" - integrity sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA== - dependencies: - "@colors/colors" "1.5.0" - body-parser "^1.19.0" - braces "^3.0.2" - chokidar "^3.5.1" - connect "^3.7.0" - di "^0.0.1" - dom-serialize "^2.2.1" - glob "^7.1.7" - graceful-fs "^4.2.6" - http-proxy "^1.18.1" - isbinaryfile "^4.0.8" - lodash "^4.17.21" - log4js "^6.4.1" - mime "^2.5.2" - minimatch "^3.0.4" - mkdirp "^0.5.5" - qjobs "^1.2.0" - range-parser "^1.2.1" - rimraf "^3.0.2" - socket.io "^4.4.1" - source-map "^0.6.1" - tmp "^0.2.1" - ua-parser-js "^0.7.30" - yargs "^16.1.1" - -kind-of@^6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - -kleur@^4.1.5: - version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" - integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== - -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" - -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4= - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - -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== - -load-yaml-file@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/load-yaml-file/-/load-yaml-file-0.2.0.tgz#af854edaf2bea89346c07549122753c07372f64d" - integrity sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw== - dependencies: - graceful-fs "^4.1.5" - js-yaml "^3.13.0" - pify "^4.0.1" - strip-bom "^3.0.0" - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -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.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow== - -lodash.flattendeep@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz#fb030917f86a3134e5bc9bec0d69e0013ddfedb2" - integrity sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI= - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== - -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.startcase@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.startcase/-/lodash.startcase-4.4.0.tgz#9436e34ed26093ed7ffae1936144350915d9add8" - integrity sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg== - -lodash@^4.17.10, lodash@^4.17.13, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.17.4: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -log-symbols@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - -log-symbols@^2.1.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a" - integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg== - dependencies: - chalk "^2.0.1" - -log4js@^6.4.1: - version "6.4.1" - resolved "https://registry.yarnpkg.com/log4js/-/log4js-6.4.1.tgz#9d3a8bf2c31c1e213fe3fc398a6053f7a2bc53e8" - integrity sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg== - dependencies: - date-format "^4.0.3" - debug "^4.3.3" - flatted "^3.2.4" - rfdc "^1.3.0" - streamroller "^3.0.2" - -loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - -lru-cache@^4.0.1: - version "4.1.5" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" - integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g== - dependencies: - pseudomap "^1.0.2" - yallist "^2.1.2" - -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" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -lz-string@^1.4.4, lz-string@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.5.0.tgz#c1ab50f77887b712621201ba9fd4e3a6ed099941" - integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== - -make-dir@^3.0.0, make-dir@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - -map-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-1.0.1.tgz#d933ceb9205d82bdcf4886f6742bdc2b4dea146d" - integrity sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== - -map-obj@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g= - -meow@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/meow/-/meow-6.1.1.tgz#1ad64c4b76b2a24dfb2f635fddcadf320d251467" - integrity sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg== - dependencies: - "@types/minimist" "^1.2.0" - camelcase-keys "^6.2.2" - decamelize-keys "^1.1.0" - hard-rejection "^2.1.0" - minimist-options "^4.0.2" - normalize-package-data "^2.5.0" - read-pkg-up "^7.0.1" - redent "^3.0.0" - trim-newlines "^3.0.0" - type-fest "^0.13.1" - yargs-parser "^18.1.3" - -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.2, 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" - -mime-db@1.44.0: - version "1.44.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.44.0.tgz#fa11c5eb0aca1334b4233cb4d52f10c5a6272f92" - integrity sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12, mime-types@~2.1.24: - version "2.1.27" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.27.tgz#47949f98e279ea53119f5722e0f34e529bec009f" - integrity sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w== - dependencies: - mime-db "1.44.0" - -mime-types@^2.1.27: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mime@^2.5.2: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - -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@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - -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" - -minimist-options@^4.0.2: - version "4.1.0" - resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" - integrity sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== - dependencies: - arrify "^1.0.1" - is-plain-obj "^1.1.0" - kind-of "^6.0.3" - -minimist@^1.2.3, minimist@^1.2.5: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -mixme@^0.5.1: - version "0.5.9" - resolved "https://registry.yarnpkg.com/mixme/-/mixme-0.5.9.tgz#a5a58e17354632179ff3ce5b0fc130899c8ba81c" - integrity sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw== - -mkdirp@^0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" - integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ== - dependencies: - minimist "^1.2.5" - -mocha@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" - integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== - dependencies: - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.4" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "5.0.1" - ms "2.1.3" - nanoid "3.3.3" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - workerpool "6.2.1" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - -ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= - -ms@2.1.2, ms@^2.1.1: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -nano-equal@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/nano-equal/-/nano-equal-2.0.2.tgz#e92c16f5274a4781e6ab01119832b1a3f95f9d18" - integrity sha512-RtAioZtSSppEWRruYU8oz2AKPJWTW74TpzcqP79n7Kh4nHW+gmrJGcTuELmid9tvGR4Xp2cCoTtYIIDy9iWO4g== - -nanoid@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" - integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= - -negotiator@0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb" - integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -nise@^5.1.2: - version "5.1.4" - resolved "https://registry.yarnpkg.com/nise/-/nise-5.1.4.tgz#491ce7e7307d4ec546f5a659b2efe94a18b4bbc0" - integrity sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg== - dependencies: - "@sinonjs/commons" "^2.0.0" - "@sinonjs/fake-timers" "^10.0.2" - "@sinonjs/text-encoding" "^0.7.1" - just-extend "^4.0.2" - path-to-regexp "^1.7.0" - -node-fetch@^2.5.0: - version "2.6.11" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.11.tgz#cde7fc71deef3131ef80a738919f999e6edfff25" - integrity sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w== - dependencies: - whatwg-url "^5.0.0" - -node-fetch@^2.6.1: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - -node-preload@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" - integrity sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ== - dependencies: - process-on-spawn "^1.0.0" - -node-releases@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.3.tgz#225ee7488e4a5e636da8da52854844f9d716ca96" - integrity sha512-maHFz6OLqYxz+VQyCAtA3PTX4UP/53pa05fyDNc9CwjvJ0yEh6+xBwKsgCxMNhS8taUKBFYxfuiaD9U/55iFaw== - -node-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" - integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== - -nopt@^4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-4.0.3.tgz#a375cad9d02fd921278d954c2254d5aa57e15e48" - integrity sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg== - dependencies: - abbrev "1" - osenv "^0.1.4" - -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== - -nwsapi@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== - -nyc@^15.1.0: - version "15.1.0" - resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" - integrity sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A== - dependencies: - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - caching-transform "^4.0.0" - convert-source-map "^1.7.0" - decamelize "^1.2.0" - find-cache-dir "^3.2.0" - find-up "^4.1.0" - foreground-child "^2.0.0" - get-package-type "^0.1.0" - glob "^7.1.6" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-hook "^3.0.0" - istanbul-lib-instrument "^4.0.0" - istanbul-lib-processinfo "^2.0.2" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.0.2" - make-dir "^3.0.0" - node-preload "^0.2.1" - p-map "^3.0.0" - process-on-spawn "^1.0.0" - resolve-from "^5.0.0" - rimraf "^3.0.0" - signal-exit "^3.0.2" - spawn-wrap "^2.0.0" - test-exclude "^6.0.0" - yargs "^15.0.2" - -object-assign@^4, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= - -object-inspect@^1.12.0, object-inspect@^1.9.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" - integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== - -object-inspect@^1.12.2: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - -object-is@^1.0.1, object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -object-keys@^1.0.12, 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.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" - integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - has-symbols "^1.0.1" - object-keys "^1.1.1" - -object.assign@^4.1.3, object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - -object.entries@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.6.tgz#9737d0e5b8291edd340a3e3264bb8a3b00d5fa23" - integrity sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.fromentries@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.6.tgz#cdb04da08c539cffa912dcd368b886e0904bfa73" - integrity sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.hasown@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.2.tgz#f919e21fad4eb38a57bc6345b3afd496515c3f92" - integrity sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw== - dependencies: - define-properties "^1.1.4" - es-abstract "^1.20.4" - -object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc= - dependencies: - ee-first "1.1.1" - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= - dependencies: - wrappy "1" - -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - -optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - 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.3" - -os-homedir@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" - integrity sha1-/7xJiDNuDoM94MFox+8VISGqf7M= - -os-tmpdir@^1.0.0, os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= - -osenv@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.5.tgz#85cdfafaeb28e8677f416e287592b5f3f49ea410" - integrity sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g== - dependencies: - os-homedir "^1.0.0" - os-tmpdir "^1.0.0" - -outdent@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/outdent/-/outdent-0.5.0.tgz#9e10982fdc41492bb473ad13840d22f9655be2ff" - integrity sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q== - -p-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-filter/-/p-filter-2.1.0.tgz#1b1472562ae7a0f742f0f3d3d3718ea66ff9c09c" - integrity sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw== - dependencies: - p-map "^2.0.0" - -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-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-map@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175" - integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw== - -p-map@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-3.0.0.tgz#d704d9af8a2ba684e2600d9a215983d4141a979d" - integrity sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ== - dependencies: - aggregate-error "^3.0.0" - -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== - -package-hash@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/package-hash/-/package-hash-4.0.0.tgz#3537f654665ec3cc38827387fc904c163c54f506" - integrity sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ== - dependencies: - graceful-fs "^4.1.15" - hasha "^5.0.0" - lodash.flattendeep "^4.4.0" - release-zalgo "^1.0.0" - -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" - -parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== - dependencies: - entities "^4.4.0" - -parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - -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 sha1-F0uSaHNVNP+8es5r9TpanhtcX18= - -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-to-regexp@^1.7.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-1.8.0.tgz#887b3ba9d84393e87a0a0b9f4cb756198b53548a" - integrity sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA== - dependencies: - isarray "0.0.1" - -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== - -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: - version "2.2.2" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.2.tgz#21f333e9b6b8eaff02468f5146ea406d345f4dad" - integrity sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -pkg-dir@^4.1.0, pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - -platform@^1.3.3: - version "1.3.5" - resolved "https://registry.yarnpkg.com/platform/-/platform-1.3.5.tgz#fb6958c696e07e2918d2eeda0f0bc9448d733444" - integrity sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q== - -preact@^10.13.1: - version "10.13.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.13.1.tgz#d220bd8771b8fa197680d4917f3cefc5eed88720" - integrity sha512-KyoXVDU5OqTpG9LXlB3+y639JAGzl8JSBXLn1J9HTSB3gbKcuInga7bZnXLlxmK94ntTs1EFeZp0lrja2AuBYQ== - -preferred-pm@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/preferred-pm/-/preferred-pm-3.0.3.tgz#1b6338000371e3edbce52ef2e4f65eb2e73586d6" - integrity sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ== - dependencies: - find-up "^5.0.0" - find-yarn-workspace-root2 "1.2.16" - path-exists "^4.0.0" - which-pm "2.0.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== - -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= - -prettier@^2.7.1: - 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.0.2: - 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" - -process-on-spawn@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/process-on-spawn/-/process-on-spawn-1.0.0.tgz#95b05a23073d30a17acfdc92a440efd2baefdc93" - integrity sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg== - dependencies: - fromentries "^1.2.0" - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI= - -prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - -pseudomap@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ== - -psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - -punycode@^1.3.2: - version "1.4.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" - integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ== - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -punycode@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" - integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== - -qjobs@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/qjobs/-/qjobs-1.2.0.tgz#c45e9c61800bd087ef88d7e256423bdd49e5d071" - integrity sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg== - -qs@6.9.6: - version "6.9.6" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee" - integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ== - -querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - -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== - -quick-lru@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-4.0.1.tgz#5b8878f113a58217848c6482026c73e1ba57727f" - integrity sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -range-parser@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - -raw-body@2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32" - integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ== - dependencies: - bytes "3.1.1" - http-errors "1.8.1" - iconv-lite "0.4.24" - unpipe "1.0.0" - -react-dom@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - -"react-is@^16.12.0 || ^17.0.0 || ^18.0.0", react-is@^18.0.0: - version "18.0.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.0.0.tgz#026f6c4a27dbe33bf4a35655b9e1327c4e55e3f5" - integrity sha512-yUcBYdBBbo3QiPsgYDcfQcIkGZHfxOaoE6HLSnr1sPzMhdyxusbfKOSUbSd/ocGi32dxcj366PsTj+5oggeKKw== - -react-is@^16.13.1, react-is@^16.7.0: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - -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== - -react-is@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -react-redux@^8.0.5: - version "8.0.5" - resolved "https://registry.yarnpkg.com/react-redux/-/react-redux-8.0.5.tgz#e5fb8331993a019b8aaf2e167a93d10af469c7bd" - integrity sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw== - dependencies: - "@babel/runtime" "^7.12.1" - "@types/hoist-non-react-statics" "^3.3.1" - "@types/use-sync-external-store" "^0.0.3" - hoist-non-react-statics "^3.3.2" - react-is "^18.0.0" - use-sync-external-store "^1.0.0" - -react-shallow-renderer@^16.15.0: - version "16.15.0" - resolved "https://registry.yarnpkg.com/react-shallow-renderer/-/react-shallow-renderer-16.15.0.tgz#48fb2cf9b23d23cde96708fe5273a7d3446f4457" - integrity sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA== - dependencies: - object-assign "^4.1.1" - react-is "^16.12.0 || ^17.0.0 || ^18.0.0" - -react-test-renderer@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-test-renderer/-/react-test-renderer-18.2.0.tgz#1dd912bd908ff26da5b9fca4fd1c489b9523d37e" - integrity sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA== - dependencies: - react-is "^18.2.0" - react-shallow-renderer "^16.15.0" - scheduler "^0.23.0" - -react@^18.2.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - -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" - -read-yaml-file@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/read-yaml-file/-/read-yaml-file-1.1.0.tgz#9362bbcbdc77007cc8ea4519fe1c0b821a7ce0d8" - integrity sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA== - dependencies: - graceful-fs "^4.1.5" - js-yaml "^3.6.1" - pify "^4.0.1" - strip-bom "^3.0.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" - -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - -redux@^4.0.0: - version "4.0.5" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.0.5.tgz#4db5de5816e17891de8a80c424232d06f051d93f" - integrity sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w== - dependencies: - loose-envify "^1.4.0" - symbol-observable "^1.2.0" - -redux@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" - integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== - dependencies: - "@babel/runtime" "^7.9.2" - -regenerate-unicode-properties@^10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" - integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ== - dependencies: - regenerate "^1.4.2" - -regenerate-unicode-properties@^8.2.0: - version "8.2.0" - resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz#e5de7111d655e7ba60c057dbe9ff37c87e65cdec" - integrity sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA== - dependencies: - regenerate "^1.4.0" - -regenerate@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.0.tgz#4a856ec4b56e4077c557589cae85e7a4c8869a11" - integrity sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg== - -regenerate@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a" - integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A== - -regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - -regenerator-runtime@^0.13.4: - version "0.13.5" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697" - integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA== - -regenerator-transform@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56" - integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg== - dependencies: - "@babel/runtime" "^7.8.4" - -regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - -regexpp@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - -regexpu-core@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-4.7.0.tgz#fcbf458c50431b0bb7b45d6967b8192d91f3d938" - integrity sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ== - dependencies: - regenerate "^1.4.0" - regenerate-unicode-properties "^8.2.0" - regjsgen "^0.5.1" - regjsparser "^0.6.4" - unicode-match-property-ecmascript "^1.0.4" - unicode-match-property-value-ecmascript "^1.2.0" - -regexpu-core@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.3.1.tgz#66900860f88def39a5cb79ebd9490e84f17bcdfb" - integrity sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ== - dependencies: - "@babel/regjsgen" "^0.8.0" - regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" - unicode-match-property-ecmascript "^2.0.0" - unicode-match-property-value-ecmascript "^2.1.0" - -regjsgen@^0.5.1: - version "0.5.2" - resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.2.tgz#92ff295fb1deecbf6ecdab2543d207e91aa33733" - integrity sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A== - -regjsparser@^0.6.4: - version "0.6.4" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.6.4.tgz#a769f8684308401a66e9b529d2436ff4d0666272" - integrity sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw== - dependencies: - jsesc "~0.5.0" - -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== - dependencies: - jsesc "~0.5.0" - -release-zalgo@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/release-zalgo/-/release-zalgo-1.0.0.tgz#09700b7e5074329739330e535c5a90fb67851730" - integrity sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA= - dependencies: - es6-error "^4.0.1" - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8= - -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-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - -resolve@^1.10.0: - version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" - integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== - dependencies: - is-core-module "^2.11.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^1.14.2: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -resolve@^2.0.0-next.4: - version "2.0.0-next.4" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.4.tgz#3d37a113d6429f496ec4752d2a2e58efb1fd4660" - integrity sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ== - dependencies: - is-core-module "^2.9.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== - -rfdc@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" - integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== - -rimraf@^3.0.0, 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" - -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-buffer@^5.1.0, safe-buffer@^5.1.2: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -saxes@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-6.0.0.tgz#fe5b4a4768df4f14a201b1ba6a65c1f3d9988cc5" - integrity sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA== - dependencies: - xmlchars "^2.2.0" - -scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - -schema-utils@^3.1.0, schema-utils@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281" - integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -schema-utils@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7" - integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg== - dependencies: - "@types/json-schema" "^7.0.9" - ajv "^8.8.0" - ajv-formats "^2.1.1" - ajv-keywords "^5.0.0" - -"semver@2 || 3 || 4 || 5", semver@^5.4.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - -semver@^7.3.7: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - -serialize-javascript@6.0.0, serialize-javascript@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shallow-equal-fuzzy@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/shallow-equal-fuzzy/-/shallow-equal-fuzzy-0.0.2.tgz#999717c968d36223b1bd7ea95405b697b19fd55c" - integrity sha1-mZcXyWjTYiOxvX6pVAW2l7Gf1Vw= - -shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - -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@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - -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.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - -signal-exit@^3.0.2: - version "3.0.3" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" - integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA== - -sinon@^15.0.1: - version "15.0.1" - resolved "https://registry.yarnpkg.com/sinon/-/sinon-15.0.1.tgz#ce062611a0b131892e2c18f03055b8eb6e8dc234" - integrity sha512-PZXKc08f/wcA/BMRGBze2Wmw50CWPiAH3E21EOi4B49vJ616vW4DQh4fQrqsYox2aNR/N3kCqLuB0PwwOucQrg== - dependencies: - "@sinonjs/commons" "^2.0.0" - "@sinonjs/fake-timers" "10.0.2" - "@sinonjs/samsam" "^7.0.1" - diff "^5.0.0" - nise "^5.1.2" - supports-color "^7.2.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== - -smartwrap@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/smartwrap/-/smartwrap-2.0.2.tgz#7e25d3dd58b51c6ca4aba3a9e391650ea62698a4" - integrity sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA== - dependencies: - array.prototype.flat "^1.2.3" - breakword "^1.0.5" - grapheme-splitter "^1.0.4" - strip-ansi "^6.0.0" - wcwidth "^1.0.1" - yargs "^15.1.0" - -socket.io-adapter@~2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12" - integrity sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA== - dependencies: - ws "~8.11.0" - -socket.io-parser@~4.2.1: - version "4.2.2" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.2.tgz#1dd384019e25b7a3d374877f492ab34f2ad0d206" - integrity sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - -socket.io@^4.4.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-4.6.1.tgz#62ec117e5fce0692fa50498da9347cfb52c3bc70" - integrity sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA== - dependencies: - accepts "~1.3.4" - base64id "~2.0.0" - debug "~4.3.2" - engine.io "~6.4.1" - socket.io-adapter "~2.5.2" - socket.io-parser "~4.2.1" - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@~0.7.2: - version "0.7.3" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" - integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== - -spawn-wrap@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/spawn-wrap/-/spawn-wrap-2.0.0.tgz#103685b8b8f9b79771318827aa78650a610d457e" - integrity sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg== - dependencies: - foreground-child "^2.0.0" - is-windows "^1.0.2" - make-dir "^3.0.0" - rimraf "^3.0.0" - signal-exit "^3.0.2" - which "^2.0.1" - -spawndamnit@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/spawndamnit/-/spawndamnit-2.0.0.tgz#9f762ac5c3476abb994b42ad592b5ad22bb4b0ad" - integrity sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA== - dependencies: - cross-spawn "^5.1.0" - signal-exit "^3.0.2" - -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.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" - integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== - -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.13" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz#7189a474c46f8d47c7b0da4b987bb45e908bd2d5" - integrity sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - -"statuses@>= 1.5.0 < 2", statuses@~1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow= - -stop-iteration-iterator@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz#6a60be0b4ee757d1ed5254858ec66b10c49285e4" - integrity sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ== - dependencies: - internal-slot "^1.0.4" - -stream-events@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" - integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== - dependencies: - stubs "^3.0.0" - -stream-transform@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/stream-transform/-/stream-transform-2.1.3.tgz#a1c3ecd72ddbf500aa8d342b0b9df38f5aa598e3" - integrity sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ== - dependencies: - mixme "^0.5.1" - -streamroller@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/streamroller/-/streamroller-3.0.2.tgz#30418d0eee3d6c93ec897f892ed098e3a81e68b7" - integrity sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA== - dependencies: - date-format "^4.0.3" - debug "^4.1.1" - fs-extra "^10.0.0" - -string-width@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5" - integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.0" - -string-width@^4.2.0, string-width@^4.2.3: - 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.matchall@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.8.tgz#3bf85722021816dcd1bf38bb714915887ca79fd3" - integrity sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - has-symbols "^1.0.3" - internal-slot "^1.0.3" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - -string.prototype.trimend@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" - integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -string.prototype.trimstart@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" - integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - -string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - -strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8= - dependencies: - ansi-regex "^3.0.0" - -strip-ansi@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532" - integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w== - dependencies: - ansi-regex "^5.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-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - -strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - -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, strip-json-comments@^3.1.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== - -stubs@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" - integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls= - -supports-color@8.1.1, supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -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.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1" - integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g== - dependencies: - has-flag "^4.0.0" - -supports-color@^7.2.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-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== - -symbol-observable@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -teeny-request@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-7.1.1.tgz#2b0d156f4a8ad81de44303302ba8d7f1f05e20e6" - integrity sha512-iwY6rkW5DDGq8hE2YgNQlKbptYpY5Nn2xecjQiNjOXWbKzPGUfmeUBCSQbbr306d7Z7U2N0TPl+/SwYRfua1Dg== - dependencies: - http-proxy-agent "^4.0.0" - https-proxy-agent "^5.0.0" - node-fetch "^2.6.1" - stream-events "^1.0.5" - uuid "^8.0.0" - -term-size@^2.1.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-2.2.1.tgz#2a6a54840432c2fb6320fea0f415531e90189f54" - integrity sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg== - -terser-webpack-plugin@^5.1.3: - version "5.3.1" - resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz#0320dcc270ad5372c1e8993fabbd927929773e54" - integrity sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g== - dependencies: - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.0" - source-map "^0.6.1" - terser "^5.7.2" - -terser@^5.16.6: - version "5.16.6" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.6.tgz#f6c7a14a378ee0630fbe3ac8d1f41b4681109533" - integrity sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg== - dependencies: - "@jridgewell/source-map" "^0.3.2" - acorn "^8.5.0" - commander "^2.20.0" - source-map-support "~0.5.20" - -terser@^5.7.2: - version "5.12.1" - resolved "https://registry.yarnpkg.com/terser/-/terser-5.12.1.tgz#4cf2ebed1f5bceef5c83b9f60104ac4a78b49e9c" - integrity sha512-NXbs+7nisos5E+yXwAD+y7zrcTkMqb0dEJxIGtSKPdCBzopf7ni4odPul2aechpV7EXNvOudYOX2bb5tln1jbQ== - dependencies: - acorn "^8.5.0" - commander "^2.20.0" - source-map "~0.7.2" - source-map-support "~0.5.20" - -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 sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= - -tmp@^0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - -tmp@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.2.1.tgz#8457fc3037dcf4719c251367a1af6500ee1ccf14" - integrity sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ== - dependencies: - rimraf "^3.0.0" - -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 sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= - -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" - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tough-cookie@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - -tr46@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-3.0.0.tgz#555c4e297a950617e8eeddef633c87d4d9d6cbf9" - integrity sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA== - dependencies: - punycode "^2.1.1" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o= - -tree-kill@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" - integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== - -trim-newlines@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144" - integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== - -tslib@^1.8.1, tslib@^1.9.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - -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" - -tty-table@^4.1.5: - version "4.2.1" - resolved "https://registry.yarnpkg.com/tty-table/-/tty-table-4.2.1.tgz#c06cd76c54542acf4e2b4a0e9a5802984b65cba6" - integrity sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g== - dependencies: - chalk "^4.1.2" - csv "^5.5.3" - kleur "^4.1.5" - smartwrap "^2.0.2" - strip-ansi "^6.0.1" - wcwidth "^1.0.1" - yargs "^17.7.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-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I= - dependencies: - prelude-ls "~1.1.2" - -type-detect@4.0.8, 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.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.13.1.tgz#0172cb5bce80b0bd542ea348db50c7e21834d934" - integrity sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg== - -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.0, 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== - -type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - -typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - -typescript@^4.9.5: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - -ua-parser-js@^0.7.30: - version "0.7.31" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" - integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== - -unbox-primitive@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" - integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== - dependencies: - function-bind "^1.1.1" - has-bigints "^1.0.1" - has-symbols "^1.0.2" - which-boxed-primitive "^1.0.2" - -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" - -unicode-canonical-property-names-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz#2619800c4c825800efdd8343af7dd9933cbe2818" - integrity sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ== - -unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== - -unicode-match-property-ecmascript@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz#8ed2a32569961bce9227d09cd3ffbb8fed5f020c" - integrity sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg== - dependencies: - unicode-canonical-property-names-ecmascript "^1.0.4" - unicode-property-aliases-ecmascript "^1.0.4" - -unicode-match-property-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3" - integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q== - dependencies: - unicode-canonical-property-names-ecmascript "^2.0.0" - unicode-property-aliases-ecmascript "^2.0.0" - -unicode-match-property-value-ecmascript@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz#0d91f600eeeb3096aa962b1d6fc88876e64ea531" - integrity sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ== - -unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== - -unicode-property-aliases-ecmascript@^1.0.4: - version "1.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz#dd57a99f6207bedff4628abefb94c50db941c8f4" - integrity sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg== - -unicode-property-aliases-ecmascript@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd" - integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w== - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw= - -update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== - dependencies: - escalade "^3.1.1" - 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" - -url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - -urlgrey@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-1.0.0.tgz#72d2f904482d0b602e3c7fa599343d699bbe1017" - integrity sha512-hJfIzMPJmI9IlLkby8QrsCykQ+SXDeO2W5Q9QTW3QpqZVTx4a/K7p8/5q+/isD8vsbVaFgql/gvAoQCRQ2Cb5w== - dependencies: - fast-url-parser "^1.1.3" - -use-sync-external-store@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/use-sync-external-store/-/use-sync-external-store-1.0.0.tgz#d98f4a9c2e73d0f958e7e2d2c2bfb5f618cbd8fd" - integrity sha512-AFVsxg5GkFg8GDcxnl+Z0lMAz9rE8DGJCc28qnBuQF7lac57B5smLcT37aXpXIIPz75rW4g3eXHPjhHwdGskOw== - -util@^0.12.0: - version "0.12.4" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.4.tgz#66121a31420df8f01ca0c464be15dfa1d1850253" - integrity sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - safe-buffer "^5.1.2" - which-typed-array "^1.1.2" - -utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - -uuid@^8.0.0, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -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" - -vary@^1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw= - -void-elements@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/void-elements/-/void-elements-2.0.1.tgz#c066afb582bb1cb4128d60ea92392e94d5e9dbec" - integrity sha1-wGavtYK7HLQSjWDqkjkulNXp2+w= - -w3c-xmlserializer@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz#aebdc84920d806222936e3cdce408e32488a3073" - integrity sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw== - dependencies: - xml-name-validator "^4.0.0" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -wcwidth@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8" - integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg== - dependencies: - defaults "^1.0.3" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE= - -webidl-conversions@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a" - integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g== - -webpack-merge@^4.1.5: - version "4.2.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d" - integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g== - dependencies: - lodash "^4.17.15" - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.76.0: - version "5.76.0" - resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.76.0.tgz#f9fb9fb8c4a7dbdcd0d56a98e56b8a942ee2692c" - integrity sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^0.0.51" - "@webassemblyjs/ast" "1.11.1" - "@webassemblyjs/wasm-edit" "1.11.1" - "@webassemblyjs/wasm-parser" "1.11.1" - acorn "^8.7.1" - acorn-import-assertions "^1.7.6" - browserslist "^4.14.5" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.10.0" - es-module-lexer "^0.9.0" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.1.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.1.3" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -whatwg-encoding@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53" - integrity sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg== - dependencies: - iconv-lite "0.6.3" - -whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - -whatwg-url@^11.0.0: - version "11.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-11.0.0.tgz#0a849eebb5faf2119b901bb76fd795c2848d4018" - integrity sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ== - dependencies: - tr46 "^3.0.0" - webidl-conversions "^7.0.0" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0= - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -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-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== - dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" - -which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho= - -which-pm@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-pm/-/which-pm-2.0.0.tgz#8245609ecfe64bf751d0eef2f376d83bf1ddb7ae" - integrity sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w== - dependencies: - load-yaml-file "^0.2.0" - path-exists "^4.0.0" - -which-typed-array@^1.1.2: - version "1.1.7" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.7.tgz#2761799b9a22d4b8660b3c1b40abaa7739691793" - integrity sha512-vjxaB4nfDqwKI0ws7wZpxIlde1XrLX5uB0ZjpfshgmapJMD7jJWhZI+yToJTqaFByF0eNBcYxbjmCzoRP7CfEw== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-abstract "^1.18.5" - foreach "^2.0.5" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.7" - -which-typed-array@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - -which@^1.2.1, which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - -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" - -word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" - integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== - -workerpool@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" - integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== - -wrap-ansi@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" - integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -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 sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= - -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - -ws@^8.11.0: - version "8.12.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f" - integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew== - -ws@~8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== - -xml-name-validator@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-4.0.0.tgz#79a006e2e63149a8600f15430f0a4725d1524835" - integrity sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw== - -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - -y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - -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@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - -yargs-parser@^18.1.2, yargs-parser@^18.1.3: - version "18.1.3" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" - integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^20.2.2: - 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-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - -yargs@16.2.0, yargs@^16.1.1: - 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" - -yargs@^15.0.2, yargs@^15.1.0: - version "15.4.1" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-15.4.1.tgz#0d87a16de01aee9d8bec2bfbf74f67851730f4f8" - integrity sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A== - dependencies: - cliui "^6.0.0" - decamelize "^1.2.0" - find-up "^4.1.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^4.2.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^18.1.2" - -yargs@^17.7.1: - version "17.7.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" - integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== - dependencies: - cliui "^8.0.1" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.3" - y18n "^5.0.5" - yargs-parser "^21.1.1" - -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== From 65c943993a91ee6519e8187645212f0870cf7270 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 5 Nov 2026 15:11:59 -0800 Subject: [PATCH 02/19] [uplift] chore: changesets v3, OIDC release workflow with canary --- .changeset/config.json | 21 +- .github/workflows/release.yml | 181 +++++- CONTRIBUTING.md | 69 +- package.json | 7 +- pnpm-lock.yaml | 1154 +++++++++------------------------ 5 files changed, 510 insertions(+), 922 deletions(-) diff --git a/.changeset/config.json b/.changeset/config.json index fcb1043..d6dc605 100644 --- a/.changeset/config.json +++ b/.changeset/config.json @@ -1,11 +1,12 @@ { - "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", - "changelog": [ - "@svitejs/changesets-changelog-github-compact", - { - "repo": "FormidableLabs/react-fast-compare" - } - ], - "access": "public", - "baseBranch": "master" -} \ No newline at end of file + "$schema": "https://unpkg.com/@changesets/config@4.0.0/schema.json", + "changelog": [ + "@changesets/changelog-github", + { "repo": "FormidableLabs/react-fast-compare", "disableThanks": true } + ], + "access": "public", + "baseBranch": "master", + "snapshot": { + "useCalculatedVersion": true + } +} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0f2639e..cc29174 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,39 +1,172 @@ name: Release + on: push: branches: - master + # Canary: publish a snapshot of the dispatched branch to the `next` dist-tag. + # It lives in this file because npm trusted publishing is tied to one + # workflow file (see CONTRIBUTING). + workflow_dispatch: + +# Reset permissions and grant them per job, so `id-token: write` only exists on +# the jobs that publish. +permissions: {} + +concurrency: ${{ github.workflow }}-${{ github.ref }} + jobs: - release: - name: Release + select-mode: + name: Select mode + if: github.event_name == 'push' runs-on: ubuntu-latest + outputs: + mode: ${{ steps.select-mode.outputs.mode }} + publish-plan-artifact-id: ${{ steps.select-mode.outputs.publish-plan-artifact-id }} permissions: - contents: write - id-token: write - issues: write - repository-projects: write - deployments: write - packages: write - pull-requests: write + contents: read # to check out repo (actions/checkout) steps: - - uses: actions/checkout@v4 - - uses: actions/setup-node@v4 + - uses: actions/checkout@v7 with: - cache: "yarn" - node-version: 18 + persist-credentials: false + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@v7 + with: + node-version-file: ".nvmrc" + package-manager-cache: false # avoid cache poisoning + - run: pnpm install --frozen-lockfile + - name: Select Changesets mode + id: select-mode + uses: changesets/action/select-mode@ae32849d5ba541f9ae29e40e22a623bc13562f51 # v2.1.2 - - name: Install dependencies - run: yarn install --frozen-lockfile + version: + name: Version package + if: needs.select-mode.outputs.mode == 'version' + needs: select-mode + runs-on: ubuntu-latest + permissions: + contents: write # to commit version changes (changesets/action/version) + pull-requests: write # to open the "Version Packages" PR + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + # Full history so the changelog can link each entry to the PR that + # added its changeset; a shallow clone silently drops those links. + fetch-depth: 0 + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@v7 + with: + node-version-file: ".nvmrc" + package-manager-cache: false # avoid cache poisoning + - run: pnpm install --frozen-lockfile + - name: Version package + uses: changesets/action/version@ae32849d5ba541f9ae29e40e22a623bc13562f51 # v2.1.2 + # NOTE: CI runs on PRs opened or updated with the default GITHUB_TOKEN + # are held for approval. After the PR's latest update, a maintainer + # clicks "Approve and run". + env: + # Not for the action (v2 uses its own `github-token` input). This is + # for `@changesets/changelog-github`, which runs inside + # `changeset version` and looks up each changeset's PR through the + # GitHub API. It throws without it, so the release PR never opens. + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Unit Tests - run: yarn test + pack: + name: Pack tarball + if: needs.select-mode.outputs.mode == 'publish' + needs: select-mode + runs-on: ubuntu-latest + outputs: + pack-dir-artifact-id: ${{ steps.pack.outputs.pack-dir-artifact-id }} + permissions: + contents: read # to check out repo (actions/checkout) + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@v7 + with: + node-version-file: ".nvmrc" + package-manager-cache: false # avoid cache poisoning + - run: pnpm install --frozen-lockfile + # No build step: `index.js` and `index.d.ts` are published as written. + - name: Pack package + id: pack + uses: changesets/action/pack@ae32849d5ba541f9ae29e40e22a623bc13562f51 # v2.1.2 + with: + publish-plan-artifact-id: ${{ needs.select-mode.outputs.publish-plan-artifact-id }} - - name: PR or Publish - id: changesets - uses: changesets/action@v1 + publish: + name: Publish to npm + needs: pack + runs-on: ubuntu-latest + # The environment limits which branches can publish, and is what npm + # trusted publishing is bound to. If it has required reviewers, the job + # also waits for approval before anything reaches npm. + environment: npm-publish + permissions: + contents: write # to create the git tag and GitHub release + id-token: write # for npm trusted publishing (OIDC) + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@v7 with: - version: yarn changeset version - publish: yarn changeset publish + node-version-file: ".nvmrc" + registry-url: "https://registry.npmjs.org" + package-manager-cache: false # avoid cache poisoning + - run: pnpm install --frozen-lockfile + - name: Publish package + id: publish + uses: changesets/action/publish@ae32849d5ba541f9ae29e40e22a623bc13562f51 # v2.1.2 + with: + pack-dir-artifact-id: ${{ needs.pack.outputs.pack-dir-artifact-id }} + # The next step creates the `v{version}` tag and release instead. + create-github-releases: false + push-git-tags: false + - name: Create GitHub release + if: steps.publish.outputs.published == 'true' + run: | + VERSION="$(node -p "require('./package.json').version")" + gh release create "v${VERSION}" \ + --repo "${GITHUB_REPOSITORY}" \ + --target "${GITHUB_SHA}" \ + --title "v${VERSION}" \ + --generate-notes env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + GH_TOKEN: ${{ github.token }} + + canary: + name: Canary (next) + if: github.event_name == 'workflow_dispatch' + runs-on: ubuntu-latest + # Same environment as publish: trusted publishing is configured for it, and + # its branch rules decide which branches may publish a canary. + environment: npm-publish + permissions: + contents: read # to check out repo (actions/checkout) + pull-requests: read # for the changelog plugin's PR lookups + id-token: write # for npm trusted publishing (OIDC) + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@v7 + with: + node-version-file: ".nvmrc" + registry-url: "https://registry.npmjs.org" + package-manager-cache: false # avoid cache poisoning + - run: pnpm install --frozen-lockfile + # Versions like `3.2.3-canary-` (snapshot.useCalculatedVersion). + # Needs at least one pending changeset; otherwise nothing is versioned. + - run: pnpm changeset version --snapshot canary + env: + # For the changelog plugin, which looks up each changeset's PR through + # the GitHub API (snapshot versioning still writes the changelog). + GITHUB_TOKEN: ${{ github.token }} + - run: pnpm changeset publish --tag next --no-git-tag diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7c27f75..846173a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -153,46 +153,69 @@ please flag to your reviewers and have a discussion about whether or not the siz For example, if the new size is `650`, the new bundle_img will be `https://img.shields.io/badge/minzipped%20size-650%20B-flatgreen.svg` - _Org members:_ Update the README's benchmark comparison png using this [internal Google Sheet template](https://docs.google.com/spreadsheets/d/1GuqpO0wgPjQ9usx6sR3t0Y_HTmAdRqjXkSjs3SBsmTc/edit?usp=sharing_eip&ts=5ed1642f). -### Using changesets +## Releasing -Our official release path is to use automation to perform the actual publishing of our packages. The steps are to: +We release with [changesets](https://github.com/changesets/changesets) and +GitHub Actions ([`release.yml`](./.github/workflows/release.yml)). Nobody +publishes from their machine: npm +[trusted publishing](https://docs.npmjs.com/trusted-publishers) (OIDC) lets +only that workflow, running in the `npm-publish` environment, publish the +package, with provenance. -1. A human developer adds a changeset. Ideally this is as a part of a PR that will have a version impact on a package. -2. On merge of a PR our automation system opens a "Version Packages" PR. -3. On merging the "Version Packages" PR, the automation system publishes the packages. - -Here are more details: +1. A PR that changes what users get adds a changeset. +2. When it merges to `master`, the workflow opens (or updates) a + "Version Packages" PR. +3. When that PR merges, the workflow publishes to npm and creates the + `v{version}` tag and GitHub release. ### Add a changeset -When you would like to add a changeset (which creates a file indicating the type of change), in your branch/PR issue this command: +In your branch, run: ```sh $ pnpm changeset ``` -to produce an interactive menu. Navigate the packages with arrow keys and hit `` to select 1+ packages. Hit `` when done. Select semver versions for packages and add appropriate messages. From there, you'll be prompted to enter a summary of the change. Some tips for this summary: +Pick the semver bump and write a summary. Some tips for the summary: 1. Aim for a single line, 1+ sentences as appropriate. 2. Include issue links in GH format (e.g. `#123`). -3. You don't need to reference the current pull request or whatnot, as that will be added later automatically. +3. You don't need to reference the current pull request; the changelog adds it + automatically. -After this, you'll see a new uncommitted file in `.changesets` like: +This creates a file like `.changeset/flimsy-pandas-marry.md`. Review it and +commit it with your PR. -```sh -$ git status -# .... -Untracked files: - (use "git add ..." to include in what will be committed) - .changeset/flimsy-pandas-marry.md -``` +Changes that don't affect the published package (tests, tooling, CI, docs) +don't need a changeset. + +### Versioning and publishing + +Changesets accumulate on `master`, and the "Version Packages" PR keeps up with +them: it bumps `package.json` and writes `CHANGELOG.md`. If you're not ready to +release, keep merging feature PRs and merge the "Version Packages" PR later. -Review the file, make any necessary adjustments, and commit it to source. When we eventually do a package release, the changeset notes and version will be incorporated! +CI on that PR doesn't start on its own (it's opened with the default +`GITHUB_TOKEN`). A maintainer clicks "Approve and run" after its latest update. -### Creating versions +Merging it runs the publish job, which waits for the `npm-publish` +environment's rules (and approval, if it requires reviewers). + +### Canary releases + +To try unreleased changes from npm, a maintainer can publish a canary of any +branch the `npm-publish` environment allows, to the `next` dist-tag: + +```sh +$ gh workflow run release.yml --ref +``` -On a merge of a feature PR, the changesets GitHub action will open a new PR titled `"Version Packages"`. This PR is automatically kept up to date with additional PRs with changesets. So, if you're not ready to publish yet, just keep merging feature PRs and then merge the version packages PR later. +It publishes `X.Y.Z-canary-`, where `X.Y.Z` is the version the +pending changesets would release, so the branch needs at least one changeset. +Install it with `npm install react-fast-compare@next`. -### Publishing packages +### npm and GitHub setup -On the merge of a version packages PR, the changesets GitHub action will publish the packages to npm. +The trusted publisher on npm names the workflow file (`release.yml`) and the +environment (`npm-publish`). Renaming either breaks publishing until the npm +package settings are updated to match. diff --git a/package.json b/package.json index d8baa6d..4915cee 100644 --- a/package.json +++ b/package.json @@ -41,8 +41,8 @@ "devDependencies": { "@babel/core": "^7.21.0", "@babel/preset-env": "^7.20.2", - "@changesets/cli": "^2.26.1", - "@svitejs/changesets-changelog-github-compact": "^0.1.1", + "@changesets/changelog-github": "^1.0.1", + "@changesets/cli": "^3.0.3", "@testing-library/dom": "^9.0.1", "@testing-library/preact": "^3.2.3", "@types/node": "^18.15.0", @@ -84,9 +84,6 @@ "typescript": "^4.9.5", "webpack": "^5.76.0" }, - "publishConfig": { - "provenance": true - }, "nyc": { "exclude": [ "**/test/**", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 565abf7..cea7b1a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -172,12 +172,12 @@ importers: '@babel/preset-env': specifier: ^7.20.2 version: 7.20.2(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) + '@changesets/changelog-github': + specifier: ^1.0.1 + version: 1.0.1 '@changesets/cli': - specifier: ^2.26.1 - version: 2.26.1 - '@svitejs/changesets-changelog-github-compact': - specifier: ^0.1.1 - version: 0.1.1 + specifier: ^3.0.3 + version: 3.0.3 '@testing-library/dom': specifier: ^9.0.1 version: 9.0.1 @@ -857,60 +857,82 @@ packages: resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} engines: {node: '>=6.9.0'} - '@changesets/apply-release-plan@6.1.3': - resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==} + '@changesets/apply-release-plan@8.1.1': + resolution: {integrity: sha512-nk2Hbq3M9NeHMdaIRBDvawKrQJzXB9sGyBUE5yWnIKtvdcNCPj75zBekJYr0gTT2ecJH3eFeTrc8eisPImcv0Q==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/assemble-release-plan@5.2.3': - resolution: {integrity: sha512-g7EVZCmnWz3zMBAdrcKhid4hkHT+Ft1n0mLussFMcB1dE2zCuwcvGoy9ec3yOgPGF4hoMtgHaMIk3T3TBdvU9g==} + '@changesets/assemble-release-plan@7.0.0': + resolution: {integrity: sha512-oEW8BxdA604kGGtDSCiHr5w9Tv4UWe9I2k61IBNZzCOE1kbYaJj4v+lFQNgcEZFkUc2pV/+hASErGDvpJOZCTg==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/changelog-git@0.1.14': - resolution: {integrity: sha512-+vRfnKtXVWsDDxGctOfzJsPhaCdXRYoe+KyWYoq5X/GqoISREiat0l3L8B0a453B2B4dfHGcZaGyowHbp9BSaA==} + '@changesets/changelog-git@1.0.0': + resolution: {integrity: sha512-3Dst2Ime2Op5nd4XmWJLPIgp11ZFqJqSkVug9izK6TDcIV4YlhPS4ECbEVR+eGI0bk0r1ItogD4j2Oli87bJrA==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/cli@2.26.1': - resolution: {integrity: sha512-XnTa+b51vt057fyAudvDKGB0Sh72xutQZNAdXkCqPBKO2zvs2yYZx5hFZj1u9cbtpwM6Sxtcr02/FQJfZOzemQ==} + '@changesets/changelog-github@1.0.1': + resolution: {integrity: sha512-QUcrV7878yHlWPXXPA6gqSxNKwtVHCd1K22L7ZAoJw2yGy8K4QvjwOStD75+1Q9KD9ZSUgGS94HuYdd7HOVtpA==} + engines: {node: ^22.11 || ^24 || >=26} + + '@changesets/cli@3.0.3': + resolution: {integrity: sha512-L1i67bMfkK6iC/kDejuNO4pFgTRcWIObsD6Qof2woP1I4M8tj17DGlcpRaTzTv1DYSP5EMwWdEtR8X0Pj5Jg3Q==} + engines: {node: ^22.11 || ^24 || >=26, npm: '>=10.9.0', pnpm: '>=10.0.0', yarn: '>=4.5.2'} hasBin: true - '@changesets/config@2.3.0': - resolution: {integrity: sha512-EgP/px6mhCx8QeaMAvWtRrgyxW08k/Bx2tpGT+M84jEdX37v3VKfh4Cz1BkwrYKuMV2HZKeHOh8sHvja/HcXfQ==} + '@changesets/config@4.0.1': + resolution: {integrity: sha512-PxpxSQLQSLDjceAgRq+4FWlU+HflDIw03mmPVipxoQx9xrXFUjmqTy3SE+n/2t+DqPdpPiLWVr5NRiLZvjyLwg==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/errors@0.1.4': - resolution: {integrity: sha512-HAcqPF7snsUJ/QzkWoKfRfXushHTu+K5KZLJWPb34s4eCZShIf8BFO3fwq6KU8+G7L5KdtN2BzQAXOSXEyiY9Q==} + '@changesets/errors@1.0.0': + resolution: {integrity: sha512-ElN/mEzn6zmETgjwf5MclCMa9ef59sAR0lfO8VSYIsiRvbC2FbLB/92EoYw10Sl0kGixxHFiJZUSv7dA+YpR8g==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/get-dependents-graph@1.3.5': - resolution: {integrity: sha512-w1eEvnWlbVDIY8mWXqWuYE9oKhvIaBhzqzo4ITSJY9hgoqQ3RoBqwlcAzg11qHxv/b8ReDWnMrpjpKrW6m1ZTA==} + '@changesets/format@0.1.3': + resolution: {integrity: sha512-zTZrJbfY81+/MsXsey6i3jQjpApz4PqRQ+nouHGDJhCa5sKCExwR9mZFQ/67lMsqZDNy2G2v3wTbzOmZ56EtaQ==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/get-github-info@0.5.2': - resolution: {integrity: sha512-JppheLu7S114aEs157fOZDjFqUDpm7eHdq5E8SSR0gUBTEK0cNSHsrSR5a66xs0z3RWuo46QvA3vawp8BxDHvg==} + '@changesets/get-dependents-graph@3.0.0': + resolution: {integrity: sha512-ji/t5wFA1zREKXRUePE6Qi+Qu2UgxCeSSGQrphezwvQZrp49B7sJ+8+wvM0tA7zPeSxYKCojDy3WWgrl+s+awg==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/get-release-plan@3.0.16': - resolution: {integrity: sha512-OpP9QILpBp1bY2YNIKFzwigKh7Qe9KizRsZomzLe6pK8IUo8onkAAVUD8+JRKSr8R7d4+JRuQrfSSNlEwKyPYg==} + '@changesets/get-github-info@1.0.1': + resolution: {integrity: sha512-ifLQCky/ZtDgZ4xCiUMjnLZSJ8xk52iIzMJbBBPlZWjr2CiTNTaTDddIVWKicrUAdWuLWL7PUw2fNa1yPwLpIg==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/get-version-range-type@0.3.2': - resolution: {integrity: sha512-SVqwYs5pULYjYT4op21F2pVbcrca4qA/bAA3FmFXKMN7Y+HcO8sbZUTx3TAy2VXulP2FACd1aC7f2nTuqSPbqg==} + '@changesets/git@4.0.1': + resolution: {integrity: sha512-6vWpIAC4LkpmlqaIu37ViT5enyd9+uBwAiGqCGhASvkSHBgx4PrtTGXWTMFYpDmZbjgyonyVgMciPrW4MqtJsA==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/git@2.0.0': - resolution: {integrity: sha512-enUVEWbiqUTxqSnmesyJGWfzd51PY4H7mH9yUw0hPVpZBJ6tQZFMU3F3mT/t9OJ/GjyiM4770i+sehAn6ymx6A==} + '@changesets/parse@1.0.0': + resolution: {integrity: sha512-P0iaMb9p9CRYZiTgAllEIF9AUMQHIy1G72tKlcIqJp61icZSsKQNiOPdxAMZG8m/DvZwt/oz5xEbTpike//dWg==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/logger@0.0.5': - resolution: {integrity: sha512-gJyZHomu8nASHpaANzc6bkQMO9gU/ib20lqew1rVx753FOxffnCrJlGIeQVxNWCqM+o6OOleCo/ivL8UAO5iFw==} + '@changesets/pre@3.0.0': + resolution: {integrity: sha512-Zm/6YliV/a2oeWTqHJf6KxLrQwgcK1i/BRDl2m0EKZvbnxV5fG9QRhwJJGshjsZTUTS6dkfURQ2K6aAvgNw/3Q==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/parse@0.3.16': - resolution: {integrity: sha512-127JKNd167ayAuBjUggZBkmDS5fIKsthnr9jr6bdnuUljroiERW7FBTDNnNVyJ4l69PzR57pk6mXQdtJyBCJKg==} + '@changesets/read@1.0.1': + resolution: {integrity: sha512-nzvSC6RcTiWf/dsuwZFXpLzGGsRHYCL68U3uHV7srsulU93aVWY7u2GEJiDZ+4GIIElfaW5EqtKC0UHroY+LTQ==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/pre@1.0.14': - resolution: {integrity: sha512-dTsHmxQWEQekHYHbg+M1mDVYFvegDh9j/kySNuDKdylwfMEevTeDouR7IfHNyVodxZXu17sXoJuf2D0vi55FHQ==} + '@changesets/should-skip-package@1.0.0': + resolution: {integrity: sha512-pwqoJmbONn1XgXmZXPEExgAaT+HdZLjALFTDgIm+PnS5KeO2nLtzA2/Q+4aMFY14kFMuXKG30MObhvDzWgzDgg==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/read@0.5.9': - resolution: {integrity: sha512-T8BJ6JS6j1gfO1HFq50kU3qawYxa4NTbI/ASNVVCBTsKquy2HYwM9r7ZnzkiMe8IEObAJtUVGSrePCOxAK2haQ==} + '@changesets/types@7.0.0': + resolution: {integrity: sha512-c5GoiQyt3pxiXjrWSNoP8/GRf4kG+VnKzovx1OQM8dYYALlSwgedmkPmJ+ZqGxqwg9D3Bkj85Uo4KLd5BN3A0w==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/types@4.1.0': - resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==} + '@changesets/write@1.0.1': + resolution: {integrity: sha512-q/ThtP9gcnEP6xlv7LrY26C2mHqdGBti/MmOVngt/M/oIGYkssmQGxPK9WzBNt2juVcH/vml2WQ+ra8LXYOTaA==} + engines: {node: ^22.11 || ^24 || >=26} - '@changesets/types@5.2.1': - resolution: {integrity: sha512-myLfHbVOqaq9UtUKqR/nZA/OY7xFjQMdfgfqeZIBK4d0hA6pgxArvdv8M+6NUzzBsjWLOtvApv8YHr4qM+Kpfg==} + '@clack/core@1.5.1': + resolution: {integrity: sha512-iHTrHA8MtVuLl2TfZySmcKv1qO2PoyC9Z7pfSDozEuV5vtY3/wcOPKJXlqJ5Oq2Cx5DDGQGAMVx6HZfRRoVEbQ==} + engines: {node: '>= 20.12.0'} - '@changesets/write@0.2.3': - resolution: {integrity: sha512-Dbamr7AIMvslKnNYsLFafaVORx4H0pvCA2MHqgtNCySMe1blImEyAEOzDmcgKAkgz4+uwoLz7demIrX+JBr/Xw==} + '@clack/prompts@1.8.1': + resolution: {integrity: sha512-dlT1m5e/0yUL0kRNcQn7yGLVThkgbB0Ga/1AmfDDC/8ik6AIiSf2QLQO2zPYvefsHP0aFgxO93cVLCCfDp7kzQ==} + engines: {node: '>= 20.12.0'} '@colors/colors@1.5.0': resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} @@ -974,11 +996,17 @@ packages: '@jridgewell/trace-mapping@0.3.17': resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} - '@manypkg/find-root@1.1.0': - resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==} + '@manypkg/find-root@3.1.0': + resolution: {integrity: sha512-BcSqCyKhBVZ5YkSzOiheMCV41kqAFptW6xGqYSTjkVTl9XQpr+pqHhwgGCOHQtjDCv7Is6EFyA14Sm5GVbVABA==} + engines: {node: '>=20.0.0'} + + '@manypkg/get-packages@3.1.0': + resolution: {integrity: sha512-0TbBVyvPrP7xGYBI/cP8UP+yl/z+HtbTttAD7FMAJgn/kXOTwh5/60TsqP9ZYY710forNfyV0N8P/IE/ujGZJg==} + engines: {node: '>=20.0.0'} - '@manypkg/get-packages@1.1.3': - resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==} + '@manypkg/tools@2.1.2': + resolution: {integrity: sha512-6QEf6yqFbETdwGITKq57aYoPfX/3K8XFNwsAlx0C1M7o8cb79sv1M3w+tWuWvIcSbNqrLF7OD7YpZMVVz335hQ==} + engines: {node: '>=20.0.0'} '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} @@ -996,6 +1024,10 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pnpm/deps.graph-sequencer@1100.0.1': + resolution: {integrity: sha512-pOr5+q1fLYKwFN3LAJuGZEnfXDcQ73zqgDHMtGy+K+uIoUqyY+6MeDCWFwfu+4EFuq76I5EPFofoNAI+Bmmq4A==} + engines: {node: '>=22.13'} + '@sinonjs/commons@2.0.0': resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} @@ -1014,11 +1046,6 @@ packages: '@socket.io/component-emitter@3.1.0': resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} - '@svitejs/changesets-changelog-github-compact@0.1.1': - resolution: {integrity: sha512-eBi211CfmKtkxB6tINicaDPBMbolswPbaAy7kCx+uUFL/LxztLm9cB+7jP54TgCrv+mMz8vSJWIs/baH63PjsA==} - engines: {node: ^12.20 || ^14.13.1 || >= 16} - deprecated: unmaintained - '@testing-library/dom@8.20.0': resolution: {integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==} engines: {node: '>=12'} @@ -1061,24 +1088,12 @@ packages: '@types/hoist-non-react-statics@3.3.1': resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} - '@types/is-ci@3.0.0': - resolution: {integrity: sha512-Q0Op0hdWbYd1iahB+IFNQcWXFq4O0Q5MwQP7uN0souuQ4rPg1vEYcnIOfr1gY+M+6rc8FGoRaBO1mOOvL29sEQ==} - '@types/json-schema@7.0.11': resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} - '@types/minimist@1.2.2': - resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} - - '@types/node@12.20.55': - resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@18.15.0': resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} - '@types/normalize-package-data@2.4.1': - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} - '@types/prop-types@15.7.3': resolution: {integrity: sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==} @@ -1091,9 +1106,6 @@ packages: '@types/react@16.9.35': resolution: {integrity: sha512-q0n0SsWcGc8nDqH2GJfWQWUOmZSJhXV64CjVN5SvcNti3TdEaA3AH0D8DwNmMdzjMAC/78tB8nAZIlV8yTz+zQ==} - '@types/semver@6.2.3': - resolution: {integrity: sha512-KQf+QAMWKMrtBMsB8/24w53tEsxllMj6TuA80TT/5igJalLI/zm0L3oXRbIAl4Ohfc85gyHX/jhMwsVkmhLU4A==} - '@types/use-sync-external-store@0.0.3': resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} @@ -1245,10 +1257,6 @@ packages: ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - ansi-regex@3.0.0: resolution: {integrity: sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ==} engines: {node: '>=4'} @@ -1305,10 +1313,6 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - array.prototype.flat@1.3.1: - resolution: {integrity: sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA==} - engines: {node: '>= 0.4'} - array.prototype.flatmap@1.3.1: resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} engines: {node: '>= 0.4'} @@ -1316,10 +1320,6 @@ packages: array.prototype.tosorted@1.1.1: resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} - arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - assert@2.0.0: resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} @@ -1365,10 +1365,6 @@ packages: benchmark@2.1.4: resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} - better-path-resolve@1.0.0: - resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==} - engines: {node: '>=4'} - binary-extensions@2.0.0: resolution: {integrity: sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==} engines: {node: '>=8'} @@ -1387,9 +1383,6 @@ packages: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - breakword@1.0.5: - resolution: {integrity: sha512-ex5W9DoOQ/LUEU3PMdLs9ua/CYZl1678NUkKOdUSi8Aw5F1idieaiRURCBFJCwVcrD1J8Iy3vfWSloaMwO2qFg==} - browser-stdout@1.3.1: resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} @@ -1410,6 +1403,10 @@ packages: resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} engines: {node: '>= 0.8'} + cac@7.1.0: + resolution: {integrity: sha512-LMDU/U2yA4IPIY8KT0NsNPWEYZvAMkbgyspxJ6btJaYV+WMDOHAZCmB0lsTObiHaRS1V/ztKAl7+TSkTqXyeoA==} + engines: {node: '>=20.19.0'} + caching-transform@4.0.0: resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} engines: {node: '>=8'} @@ -1421,10 +1418,6 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -1444,9 +1437,6 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -1459,10 +1449,6 @@ packages: resolution: {integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==} engines: {node: '>=6.0'} - ci-info@3.8.0: - resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} - engines: {node: '>=8'} - clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} @@ -1477,10 +1463,6 @@ packages: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -1532,9 +1514,6 @@ packages: resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} engines: {node: '>= 0.10'} - cross-spawn@5.1.0: - resolution: {integrity: sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==} - cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1556,19 +1535,6 @@ packages: csstype@2.6.10: resolution: {integrity: sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==} - csv-generate@3.4.3: - resolution: {integrity: sha512-w/T+rqR0vwvHqWs/1ZyMDWtHHSJaN06klRqJXBEpDJaM/+dZkso0OKh1VcuuYvK3XM53KysVNq8Ko/epCK8wOw==} - - csv-parse@4.16.3: - resolution: {integrity: sha512-cO1I/zmz4w2dcKHVvpCr7JVRu8/FymG5OEpmvsZYlccYolPBLoVGKUHgNoc4ZGkFeFlWGEDmMyBM+TTqRdW/wg==} - - csv-stringify@5.6.5: - resolution: {integrity: sha512-PjiQ659aQ+fUTQqSrd1XEDnOr52jh30RBurfzkscaE2tPaFsDH5wOAHJiw8XAHphRknCwMUE9KRayc4K/NbO8A==} - - csv@5.5.3: - resolution: {integrity: sha512-QTaY0XjjhTQOdguARF0lGKm5/mEq9PD9/VhZZegHDIBq2tQwgNpHc3dneD4mGo2iJs+fTKv5Bp0fZ+BRuY3Z0g==} - engines: {node: '>= 0.1.90'} - custom-event@1.0.1: resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} @@ -1576,8 +1542,8 @@ packages: resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} engines: {node: '>=12'} - dataloader@1.4.0: - resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} + dataloader@2.2.3: + resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} date-format@4.0.3: resolution: {integrity: sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==} @@ -1609,10 +1575,6 @@ packages: supports-color: optional: true - decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -1634,9 +1596,6 @@ packages: resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} engines: {node: '>=8'} - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - define-properties@1.2.0: resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} engines: {node: '>= 0.4'} @@ -1649,10 +1608,6 @@ packages: resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} engines: {node: '>= 0.6'} - detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - di@0.0.1: resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} @@ -1687,10 +1642,6 @@ packages: engines: {node: '>=12'} deprecated: Use your platform's native DOMException instead - dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} @@ -1722,10 +1673,6 @@ packages: resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} engines: {node: '>=10.13.0'} - enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - ent@2.2.0: resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} @@ -1733,9 +1680,6 @@ packages: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.21.1: resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} engines: {node: '>= 0.4'} @@ -1856,13 +1800,6 @@ packages: extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} - extendable-error@0.1.7: - resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} - - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -1876,9 +1813,27 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + + fast-wrap-ansi@0.2.2: + resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} + fastq@1.15.0: resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1903,9 +1858,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - find-yarn-workspace-root2@1.2.16: - resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} - flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1948,14 +1900,6 @@ packages: resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} engines: {node: '>=12'} - fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - - fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2038,10 +1982,6 @@ packages: grapheme-splitter@1.0.4: resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -2083,9 +2023,6 @@ packages: hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -2109,8 +2046,9 @@ packages: resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} engines: {node: '>= 6'} - human-id@1.0.2: - resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + human-id@4.2.2: + resolution: {integrity: sha512-Z+8unD6em/MJwyrkWQ2M3wygRGI1+MztbutiNwk1DCuEPXOZRWGjtcMPZYP1exY9iNZMhd7ZOSMQSo9WYtiQRw==} + hasBin: true iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} @@ -2128,6 +2066,9 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -2154,9 +2095,6 @@ packages: is-array-buffer@3.0.2: resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -2172,10 +2110,6 @@ packages: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - is-core-module@2.12.1: resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} @@ -2226,10 +2160,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -2255,10 +2185,6 @@ packages: resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} engines: {node: '>= 0.4'} - is-subdir@1.2.0: - resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==} - engines: {node: '>=4'} - is-symbol@1.0.4: resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} engines: {node: '>= 0.4'} @@ -2339,6 +2265,9 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + js-sdsl@4.3.0: resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} @@ -2393,8 +2322,8 @@ packages: engines: {node: '>=6'} hasBin: true - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} @@ -2436,13 +2365,8 @@ packages: engines: {node: '>= 10'} hasBin: true - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - kleur@4.1.5: - resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==} - engines: {node: '>=6'} + launch-editor@2.14.2: + resolution: {integrity: sha512-NHJEb30MGBCkmZXLZwz25t37QR4aY03ZzPYUJXOJaOa92uWwExI9SBQUuIznBYc1xkD7cJNGX7oc3Nl3sq2kQQ==} levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} @@ -2452,13 +2376,6 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - load-yaml-file@0.2.0: - resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} - engines: {node: '>=6'} - loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -2484,9 +2401,6 @@ packages: lodash.merge@4.6.2: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash.startcase@4.4.0: - resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} - lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -2509,9 +2423,6 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - lru-cache@4.1.5: - resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} - lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -2527,22 +2438,10 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} - map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - - map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} - meow@6.1.1: - resolution: {integrity: sha512-3YffViIt2QWgTy6Pale5QpopX/IvU3LPL03jOTqp6pGj3VjesdO/U8CuHMKpnQr4shCNCM5fd5XFFvIIl6JBHg==} - engines: {node: '>=8'} - merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} @@ -2567,10 +2466,6 @@ packages: engines: {node: '>=4.0.0'} hasBin: true - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} @@ -2578,10 +2473,6 @@ packages: resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} engines: {node: '>=16 || 14 >=14.17'} - minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -2589,10 +2480,6 @@ packages: resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} engines: {node: '>=16 || 14 >=14.17'} - mixme@0.5.9: - resolution: {integrity: sha512-VC5fg6ySUscaWUpI4gxCBTQMH2RdUpNrk+MsbpCYtIvf9SBJdiUey4qE7BXviJsJR4nDQxCZ+3yaYNW3guz/Pw==} - engines: {node: '>= 8.0.0'} - mkdirp@0.5.5: resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} hasBin: true @@ -2627,15 +2514,6 @@ packages: nise@5.1.4: resolution: {integrity: sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==} - node-fetch@2.6.11: - resolution: {integrity: sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - node-preload@0.2.1: resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} engines: {node: '>=8'} @@ -2647,9 +2525,6 @@ packages: resolution: {integrity: sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==} hasBin: true - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -2723,13 +2598,6 @@ packages: resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} deprecated: This package is no longer supported. - outdent@0.5.0: - resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==} - - p-filter@2.1.0: - resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==} - engines: {node: '>=8'} - p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -2746,10 +2614,6 @@ packages: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} - p-map@2.1.0: - resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==} - engines: {node: '>=6'} - p-map@3.0.0: resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} engines: {node: '>=8'} @@ -2765,14 +2629,13 @@ packages: package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-manager-detector@1.9.0: + resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} + parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} @@ -2816,9 +2679,9 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} @@ -2830,10 +2693,6 @@ packages: preact@10.13.1: resolution: {integrity: sha512-KyoXVDU5OqTpG9LXlB3+y639JAGzl8JSBXLn1J9HTSB3gbKcuInga7bZnXLlxmK94ntTs1EFeZp0lrja2AuBYQ==} - preferred-pm@3.0.3: - resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} - engines: {node: '>=10'} - prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -2842,11 +2701,6 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@2.8.8: - resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} - engines: {node: '>=10.13.0'} - hasBin: true - pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -2862,9 +2716,6 @@ packages: prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - pseudomap@1.0.2: - resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} - psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} @@ -2886,10 +2737,6 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -2950,18 +2797,6 @@ packages: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - - read-yaml-file@1.1.0: - resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} - engines: {node: '>=6'} - readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} @@ -2970,10 +2805,6 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - redux@4.2.1: resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} @@ -3082,10 +2913,6 @@ packages: resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} engines: {node: '>= 12.13.0'} - semver@5.7.1: - resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} - hasBin: true - semver@6.3.0: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true @@ -3095,6 +2922,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + serialize-javascript@6.0.0: resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} @@ -3111,22 +2943,18 @@ packages: resolution: {integrity: sha512-HKGvWaQ6fuFhNH2k1krxxmhKYxyPSbPzwCkM94qYVoLKCGCqg0r9bdCoX4A37UJvAfyLje9zHS5F/SsrYgrqgA==} engines: {node: '>=0.12.0'} - shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} + shell-quote@1.12.0: + resolution: {integrity: sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==} + engines: {node: '>= 0.4'} + side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -3141,15 +2969,13 @@ packages: resolution: {integrity: sha512-PZXKc08f/wcA/BMRGBze2Wmw50CWPiAH3E21EOi4B49vJ616vW4DQh4fQrqsYox2aNR/N3kCqLuB0PwwOucQrg==} deprecated: 16.1.1 + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - smartwrap@2.0.2: - resolution: {integrity: sha512-vCsKNQxb7PnCNd2wY1WClWifAc2lwqsG8OaswpJkVJsvMGcnEntdTCDajZCkk93Ay1U3t/9puJmb525Rg5MZBA==} - engines: {node: '>=6'} - hasBin: true - socket.io-adapter@2.5.2: resolution: {integrity: sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==} @@ -3172,21 +2998,6 @@ packages: resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} engines: {node: '>=8'} - spawndamnit@2.0.0: - resolution: {integrity: sha512-j4JKEcncSjFlqIwU5L/rp2N5SIPsdxaRsIv678+TZxZ0SRDJTm8JrxJMjE/XuiEZNEir3S8l0Fa3Ke339WI4qA==} - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.3.0: - resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.13: - resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} - sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} @@ -3198,9 +3009,6 @@ packages: resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} engines: {node: '>= 0.4'} - stream-transform@2.1.3: - resolution: {integrity: sha512-9GHUiM5hMiCi6Y03jD2ARC1ettBXkQBoQAe7nJsPknnI0ow10aXjTnew8QtYQmLjzn974BnmWEAJgCY6ZP1DeQ==} - streamroller@3.0.2: resolution: {integrity: sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==} engines: {node: '>=8.0'} @@ -3234,18 +3042,10 @@ packages: resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} engines: {node: '>=12'} - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - strip-bom@4.0.0: resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} engines: {node: '>=8'} - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -3273,10 +3073,6 @@ packages: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} - term-size@2.2.1: - resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} - engines: {node: '>=8'} - terser-webpack-plugin@5.3.1: resolution: {integrity: sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==} engines: {node: '>= 10.13.0'} @@ -3305,9 +3101,13 @@ packages: text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + tinyexec@1.3.1: + resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} + engines: {node: '>=18'} + + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} tmp@0.2.1: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} @@ -3329,9 +3129,6 @@ packages: resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} engines: {node: '>=6'} - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} @@ -3340,10 +3137,6 @@ packages: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - tslib@1.13.0: resolution: {integrity: sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==} @@ -3353,11 +3146,6 @@ packages: peerDependencies: typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - tty-table@4.2.1: - resolution: {integrity: sha512-xz0uKo+KakCQ+Dxj1D/tKn2FSyreSYWzdkL/BYhgN6oMW808g8QRMuh1atAV9fjTPbWBjfbkKQpI/5rEcnAc7g==} - engines: {node: '>=8.0.0'} - hasBin: true - type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} @@ -3370,18 +3158,10 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} @@ -3424,10 +3204,6 @@ packages: resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} engines: {node: '>=4'} - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - universalify@0.2.0: resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} engines: {node: '>= 4.0.0'} @@ -3469,9 +3245,6 @@ packages: deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -3488,12 +3261,6 @@ packages: resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} engines: {node: '>=10.13.0'} - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -3528,9 +3295,6 @@ packages: resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} engines: {node: '>=12'} - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} @@ -3540,10 +3304,6 @@ packages: which-module@2.0.0: resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} - which-pm@2.0.0: - resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} - engines: {node: '>=8.15'} - which-typed-array@1.1.9: resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} engines: {node: '>= 0.4'} @@ -3620,15 +3380,17 @@ packages: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - yallist@2.1.2: - resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} - yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yaml@2.9.1: + resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} + engines: {node: '>= 14.6'} + hasBin: true + yargs-parser@18.1.3: resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} engines: {node: '>=6'} @@ -4379,161 +4141,130 @@ snapshots: '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 - '@changesets/apply-release-plan@6.1.3': + '@changesets/apply-release-plan@8.1.1': dependencies: - '@babel/runtime': 7.21.5 - '@changesets/config': 2.3.0 - '@changesets/get-version-range-type': 0.3.2 - '@changesets/git': 2.0.0 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - detect-indent: 6.1.0 - fs-extra: 7.0.1 - lodash.startcase: 4.4.0 - outdent: 0.5.0 - prettier: 2.8.8 - resolve-from: 5.0.0 - semver: 5.7.1 + '@changesets/config': 4.0.1 + '@changesets/format': 0.1.3 + '@changesets/git': 4.0.1 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + import-meta-resolve: 4.2.0 + jsonc-parser: 3.3.1 + semver: 7.8.5 - '@changesets/assemble-release-plan@5.2.3': + '@changesets/assemble-release-plan@7.0.0': dependencies: - '@babel/runtime': 7.21.5 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.5 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - semver: 5.7.1 + '@changesets/errors': 1.0.0 + '@changesets/get-dependents-graph': 3.0.0 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + semver: 7.8.5 - '@changesets/changelog-git@0.1.14': + '@changesets/changelog-git@1.0.0': dependencies: - '@changesets/types': 5.2.1 + '@changesets/types': 7.0.0 - '@changesets/cli@2.26.1': + '@changesets/changelog-github@1.0.1': dependencies: - '@babel/runtime': 7.21.5 - '@changesets/apply-release-plan': 6.1.3 - '@changesets/assemble-release-plan': 5.2.3 - '@changesets/changelog-git': 0.1.14 - '@changesets/config': 2.3.0 - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.5 - '@changesets/get-release-plan': 3.0.16 - '@changesets/git': 2.0.0 - '@changesets/logger': 0.0.5 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 - '@changesets/write': 0.2.3 - '@manypkg/get-packages': 1.1.3 - '@types/is-ci': 3.0.0 - '@types/semver': 6.2.3 - ansi-colors: 4.1.3 - chalk: 2.4.2 - enquirer: 2.3.6 - external-editor: 3.1.0 - fs-extra: 7.0.1 - human-id: 1.0.2 - is-ci: 3.0.1 - meow: 6.1.1 - outdent: 0.5.0 - p-limit: 2.3.0 - preferred-pm: 3.0.3 - resolve-from: 5.0.0 - semver: 5.7.1 - spawndamnit: 2.0.0 - term-size: 2.2.1 - tty-table: 4.2.1 - - '@changesets/config@2.3.0': - dependencies: - '@changesets/errors': 0.1.4 - '@changesets/get-dependents-graph': 1.3.5 - '@changesets/logger': 0.0.5 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 - micromatch: 4.0.5 + '@changesets/get-github-info': 1.0.1 + '@changesets/types': 7.0.0 - '@changesets/errors@0.1.4': + '@changesets/cli@3.0.3': dependencies: - extendable-error: 0.1.7 + '@changesets/apply-release-plan': 8.1.1 + '@changesets/assemble-release-plan': 7.0.0 + '@changesets/changelog-git': 1.0.0 + '@changesets/config': 4.0.1 + '@changesets/errors': 1.0.0 + '@changesets/get-dependents-graph': 3.0.0 + '@changesets/git': 4.0.1 + '@changesets/pre': 3.0.0 + '@changesets/read': 1.0.1 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + '@changesets/write': 1.0.1 + '@clack/prompts': 1.8.1 + '@manypkg/get-packages': 3.1.0 + '@pnpm/deps.graph-sequencer': 1100.0.1 + cac: 7.1.0 + import-meta-resolve: 4.2.0 + launch-editor: 2.14.2 + package-manager-detector: 1.9.0 + semver: 7.8.5 + tinyexec: 1.3.1 - '@changesets/get-dependents-graph@1.3.5': + '@changesets/config@4.0.1': dependencies: - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - chalk: 2.4.2 - fs-extra: 7.0.1 - semver: 5.7.1 + '@changesets/get-dependents-graph': 3.0.0 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + '@manypkg/get-packages': 3.1.0 + picomatch: 4.0.7 + + '@changesets/errors@1.0.0': {} - '@changesets/get-github-info@0.5.2': + '@changesets/format@0.1.3': dependencies: - dataloader: 1.4.0 - node-fetch: 2.6.11 - transitivePeerDependencies: - - encoding + package-manager-detector: 1.9.0 + tinyexec: 1.3.1 - '@changesets/get-release-plan@3.0.16': + '@changesets/get-dependents-graph@3.0.0': dependencies: - '@babel/runtime': 7.21.5 - '@changesets/assemble-release-plan': 5.2.3 - '@changesets/config': 2.3.0 - '@changesets/pre': 1.0.14 - '@changesets/read': 0.5.9 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 + '@changesets/types': 7.0.0 + semver: 7.8.5 - '@changesets/get-version-range-type@0.3.2': {} + '@changesets/get-github-info@1.0.1': + dependencies: + dataloader: 2.2.3 - '@changesets/git@2.0.0': + '@changesets/git@4.0.1': dependencies: - '@babel/runtime': 7.21.5 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - is-subdir: 1.2.0 - micromatch: 4.0.5 - spawndamnit: 2.0.0 + '@changesets/errors': 1.0.0 + '@changesets/types': 7.0.0 + '@manypkg/get-packages': 3.1.0 + picomatch: 4.0.7 + tinyexec: 1.3.1 - '@changesets/logger@0.0.5': + '@changesets/parse@1.0.0': dependencies: - chalk: 2.4.2 + '@changesets/types': 7.0.0 + yaml: 2.9.1 - '@changesets/parse@0.3.16': + '@changesets/pre@3.0.0': dependencies: - '@changesets/types': 5.2.1 - js-yaml: 3.14.1 + '@changesets/errors': 1.0.0 + '@changesets/types': 7.0.0 + '@manypkg/get-packages': 3.1.0 - '@changesets/pre@1.0.14': + '@changesets/read@1.0.1': dependencies: - '@babel/runtime': 7.21.5 - '@changesets/errors': 0.1.4 - '@changesets/types': 5.2.1 - '@manypkg/get-packages': 1.1.3 - fs-extra: 7.0.1 + '@changesets/git': 4.0.1 + '@changesets/parse': 1.0.0 + '@changesets/types': 7.0.0 - '@changesets/read@0.5.9': + '@changesets/should-skip-package@1.0.0': dependencies: - '@babel/runtime': 7.21.5 - '@changesets/git': 2.0.0 - '@changesets/logger': 0.0.5 - '@changesets/parse': 0.3.16 - '@changesets/types': 5.2.1 - chalk: 2.4.2 - fs-extra: 7.0.1 - p-filter: 2.1.0 + '@changesets/types': 7.0.0 - '@changesets/types@4.1.0': {} + '@changesets/types@7.0.0': {} - '@changesets/types@5.2.1': {} + '@changesets/write@1.0.1': + dependencies: + '@changesets/format': 0.1.3 + '@changesets/types': 7.0.0 + human-id: 4.2.2 - '@changesets/write@0.2.3': + '@clack/core@1.5.1': dependencies: - '@babel/runtime': 7.21.5 - '@changesets/types': 5.2.1 - fs-extra: 7.0.1 - human-id: 1.0.2 - prettier: 2.8.8 + fast-wrap-ansi: 0.2.2 + sisteransi: 1.0.5 + + '@clack/prompts@1.8.1': + dependencies: + '@clack/core': 1.5.1 + fast-string-width: 3.0.2 + fast-wrap-ansi: 0.2.2 + sisteransi: 1.0.5 '@colors/colors@1.5.0': {} @@ -4611,21 +4342,20 @@ snapshots: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - '@manypkg/find-root@1.1.0': + '@manypkg/find-root@3.1.0': dependencies: - '@babel/runtime': 7.21.5 - '@types/node': 12.20.55 - find-up: 4.1.0 - fs-extra: 8.1.0 + '@manypkg/tools': 2.1.2 - '@manypkg/get-packages@1.1.3': + '@manypkg/get-packages@3.1.0': dependencies: - '@babel/runtime': 7.21.5 - '@changesets/types': 4.1.0 - '@manypkg/find-root': 1.1.0 - fs-extra: 8.1.0 - globby: 11.1.0 - read-yaml-file: 1.1.0 + '@manypkg/find-root': 3.1.0 + '@manypkg/tools': 2.1.2 + + '@manypkg/tools@2.1.2': + dependencies: + jju: 1.4.0 + tinyglobby: 0.2.17 + yaml: 2.9.1 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -4642,6 +4372,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pnpm/deps.graph-sequencer@1100.0.1': {} + '@sinonjs/commons@2.0.0': dependencies: type-detect: 4.0.8 @@ -4660,13 +4392,6 @@ snapshots: '@socket.io/component-emitter@3.1.0': {} - '@svitejs/changesets-changelog-github-compact@0.1.1': - dependencies: - '@changesets/get-github-info': 0.5.2 - dotenv: 16.0.3 - transitivePeerDependencies: - - encoding - '@testing-library/dom@8.20.0': dependencies: '@babel/code-frame': 7.21.4 @@ -4721,20 +4446,10 @@ snapshots: '@types/react': 16.9.35 hoist-non-react-statics: 3.3.2 - '@types/is-ci@3.0.0': - dependencies: - ci-info: 3.8.0 - '@types/json-schema@7.0.11': {} - '@types/minimist@1.2.2': {} - - '@types/node@12.20.55': {} - '@types/node@18.15.0': {} - '@types/normalize-package-data@2.4.1': {} - '@types/prop-types@15.7.3': {} '@types/react-dom@16.9.8': @@ -4753,8 +4468,6 @@ snapshots: '@types/prop-types': 15.7.3 csstype: 2.6.10 - '@types/semver@6.2.3': {} - '@types/use-sync-external-store@0.0.3': {} '@typescript-eslint/parser@5.54.1(eslint@8.35.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@4.9.5)': @@ -4939,8 +4652,6 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 - ansi-colors@4.1.3: {} - ansi-regex@3.0.0: {} ansi-regex@5.0.1: {} @@ -4991,13 +4702,6 @@ snapshots: array-union@2.1.0: {} - array.prototype.flat@1.3.1: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - es-shim-unscopables: 1.0.0 - array.prototype.flatmap@1.3.1: dependencies: call-bind: 1.0.2 @@ -5013,8 +4717,6 @@ snapshots: es-shim-unscopables: 1.0.0 get-intrinsic: 1.2.0 - arrify@1.0.1: {} - assert@2.0.0: dependencies: es6-object-assign: 1.1.0 @@ -5068,10 +4770,6 @@ snapshots: lodash: 4.17.21 platform: 1.3.5 - better-path-resolve@1.0.0: - dependencies: - is-windows: 1.0.2 - binary-extensions@2.0.0: {} body-parser@1.19.1(supports-color@8.1.1): @@ -5102,10 +4800,6 @@ snapshots: dependencies: fill-range: 7.0.1 - breakword@1.0.5: - dependencies: - wcwidth: 1.0.1 - browser-stdout@1.3.1: {} browserslist@4.21.5: @@ -5128,6 +4822,8 @@ snapshots: bytes@3.1.1: {} + cac@7.1.0: {} + caching-transform@4.0.0: dependencies: hasha: 5.2.2 @@ -5142,12 +4838,6 @@ snapshots: callsites@3.1.0: {} - camelcase-keys@6.2.2: - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - camelcase@5.3.1: {} camelcase@6.3.0: {} @@ -5165,8 +4855,6 @@ snapshots: ansi-styles: 4.2.1 supports-color: 7.2.0 - chardet@0.7.0: {} - chokidar@3.5.3: dependencies: anymatch: 3.1.2 @@ -5187,8 +4875,6 @@ snapshots: dependencies: tslib: 1.13.0 - ci-info@3.8.0: {} - clean-stack@2.2.0: {} cliui@6.0.0: @@ -5209,8 +4895,6 @@ snapshots: strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - clone@1.0.4: {} - color-convert@1.9.3: dependencies: color-name: 1.1.3 @@ -5261,12 +4945,6 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cross-spawn@5.1.0: - dependencies: - lru-cache: 4.1.5 - shebang-command: 1.2.0 - which: 1.3.1 - cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -5289,19 +4967,6 @@ snapshots: csstype@2.6.10: {} - csv-generate@3.4.3: {} - - csv-parse@4.16.3: {} - - csv-stringify@5.6.5: {} - - csv@5.5.3: - dependencies: - csv-generate: 3.4.3 - csv-parse: 4.16.3 - csv-stringify: 5.6.5 - stream-transform: 2.1.3 - custom-event@1.0.1: {} data-urls@3.0.2: @@ -5310,7 +4975,7 @@ snapshots: whatwg-mimetype: 3.0.0 whatwg-url: 11.0.0 - dataloader@1.4.0: {} + dataloader@2.2.3: {} date-format@4.0.3: {} @@ -5332,11 +4997,6 @@ snapshots: optionalDependencies: supports-color: 8.1.1 - decamelize-keys@1.1.1: - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - decamelize@1.2.0: {} decamelize@4.0.0: {} @@ -5369,10 +5029,6 @@ snapshots: dependencies: strip-bom: 4.0.0 - defaults@1.0.4: - dependencies: - clone: 1.0.4 - define-properties@1.2.0: dependencies: has-property-descriptors: 1.0.0 @@ -5382,8 +5038,6 @@ snapshots: depd@1.1.2: {} - detect-indent@6.1.0: {} - di@0.0.1: {} diff@5.1.0: {} @@ -5415,8 +5069,6 @@ snapshots: dependencies: webidl-conversions: 7.0.0 - dotenv@16.0.3: {} - eastasianwidth@0.2.0: {} ee-first@1.1.1: {} @@ -5453,18 +5105,10 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 - enquirer@2.3.6: - dependencies: - ansi-colors: 4.1.3 - ent@2.2.0: {} entities@4.4.0: {} - error-ex@1.3.2: - dependencies: - is-arrayish: 0.2.1 - es-abstract@1.21.1: dependencies: available-typed-arrays: 1.0.5 @@ -5663,14 +5307,6 @@ snapshots: extend@3.0.2: {} - extendable-error@0.1.7: {} - - external-editor@3.1.0: - dependencies: - chardet: 0.7.0 - iconv-lite: 0.4.24 - tmp: 0.0.33 - fast-deep-equal@3.1.3: {} fast-glob@3.2.12: @@ -5685,10 +5321,24 @@ snapshots: fast-levenshtein@2.0.6: {} + fast-string-truncated-width@3.0.3: {} + + fast-string-width@3.0.2: + dependencies: + fast-string-truncated-width: 3.0.3 + + fast-wrap-ansi@0.2.2: + dependencies: + fast-string-width: 3.0.2 + fastq@1.15.0: dependencies: reusify: 1.0.4 + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 + file-entry-cache@6.0.1: dependencies: flat-cache: 3.0.4 @@ -5725,11 +5375,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - find-yarn-workspace-root2@1.2.16: - dependencies: - micromatch: 4.0.5 - pkg-dir: 4.2.0 - flat-cache@3.0.4: dependencies: flatted: 3.2.7 @@ -5771,18 +5416,6 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.0 - fs-extra@7.0.1: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - - fs-extra@8.1.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - fs.realpath@1.0.0: {} fsevents@2.3.2: @@ -5871,8 +5504,6 @@ snapshots: grapheme-splitter@1.0.4: {} - hard-rejection@2.1.0: {} - has-bigints@1.0.2: {} has-flag@3.0.0: {} @@ -5906,8 +5537,6 @@ snapshots: dependencies: react-is: 16.13.1 - hosted-git-info@2.8.9: {} - html-encoding-sniffer@3.0.0: dependencies: whatwg-encoding: 2.0.0 @@ -5945,7 +5574,7 @@ snapshots: transitivePeerDependencies: - supports-color - human-id@1.0.2: {} + human-id@4.2.2: {} iconv-lite@0.4.24: dependencies: @@ -5962,6 +5591,8 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 + import-meta-resolve@4.2.0: {} + imurmurhash@0.1.4: {} indent-string@4.0.0: {} @@ -5990,8 +5621,6 @@ snapshots: get-intrinsic: 1.2.0 is-typed-array: 1.1.10 - is-arrayish@0.2.1: {} - is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 @@ -6007,10 +5636,6 @@ snapshots: is-callable@1.2.7: {} - is-ci@3.0.1: - dependencies: - ci-info: 3.8.0 - is-core-module@2.12.1: dependencies: has: 1.0.3 @@ -6050,8 +5675,6 @@ snapshots: is-path-inside@3.0.3: {} - is-plain-obj@1.1.0: {} - is-plain-obj@2.1.0: {} is-potential-custom-element-name@1.0.1: {} @@ -6073,10 +5696,6 @@ snapshots: dependencies: has-tostringtag: 1.0.0 - is-subdir@1.2.0: - dependencies: - better-path-resolve: 1.0.0 - is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 @@ -6173,6 +5792,8 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 + jju@1.4.0: {} + js-sdsl@4.3.0: {} js-tokens@4.0.0: {} @@ -6237,9 +5858,7 @@ snapshots: json5@2.2.3: {} - jsonfile@4.0.0: - optionalDependencies: - graceful-fs: 4.2.11 + jsonc-parser@3.3.1: {} jsonfile@6.1.0: dependencies: @@ -6317,9 +5936,10 @@ snapshots: - supports-color - utf-8-validate - kind-of@6.0.3: {} - - kleur@4.1.5: {} + launch-editor@2.14.2: + dependencies: + picocolors: 1.1.1 + shell-quote: 1.12.0 levn@0.3.0: dependencies: @@ -6331,15 +5951,6 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lines-and-columns@1.2.4: {} - - load-yaml-file@0.2.0: - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - loader-runner@4.3.0: {} locate-path@5.0.0: @@ -6358,8 +5969,6 @@ snapshots: lodash.merge@4.6.2: {} - lodash.startcase@4.4.0: {} - lodash@4.17.21: {} log-symbols@2.2.0: @@ -6387,11 +5996,6 @@ snapshots: lru-cache@10.4.3: {} - lru-cache@4.1.5: - dependencies: - pseudomap: 1.0.2 - yallist: 2.1.2 - lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -6406,26 +6010,8 @@ snapshots: dependencies: semver: 6.3.0 - map-obj@1.0.1: {} - - map-obj@4.3.0: {} - media-typer@0.3.0: {} - meow@6.1.1: - dependencies: - '@types/minimist': 1.2.2 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 2.5.0 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.13.1 - yargs-parser: 18.1.3 - merge-stream@2.0.0: {} merge2@1.4.1: {} @@ -6443,8 +6029,6 @@ snapshots: mime@2.6.0: {} - min-indent@1.0.1: {} - minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 @@ -6453,18 +6037,10 @@ snapshots: dependencies: brace-expansion: 2.1.7 - minimist-options@4.1.0: - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - minimist@1.2.8: {} minipass@7.1.3: {} - mixme@0.5.9: {} - mkdirp@0.5.5: dependencies: minimist: 1.2.8 @@ -6515,10 +6091,6 @@ snapshots: just-extend: 4.1.0 path-to-regexp: 1.8.0 - node-fetch@2.6.11: - dependencies: - whatwg-url: 5.0.0 - node-preload@0.2.1: dependencies: process-on-spawn: 1.0.0 @@ -6530,13 +6102,6 @@ snapshots: abbrev: 1.1.1 osenv: 0.1.5 - normalize-package-data@2.5.0: - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.2 - semver: 5.7.1 - validate-npm-package-license: 3.0.4 - normalize-path@3.0.0: {} nwsapi@2.2.2: {} @@ -6649,12 +6214,6 @@ snapshots: os-homedir: 1.0.2 os-tmpdir: 1.0.2 - outdent@0.5.0: {} - - p-filter@2.1.0: - dependencies: - p-map: 2.1.0 - p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -6671,8 +6230,6 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@2.1.0: {} - p-map@3.0.0: dependencies: aggregate-error: 3.1.0 @@ -6688,17 +6245,12 @@ snapshots: package-json-from-dist@1.0.1: {} + package-manager-detector@1.9.0: {} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - parse-json@5.2.0: - dependencies: - '@babel/code-frame': 7.21.4 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - parse5@7.1.2: dependencies: entities: 4.4.0 @@ -6730,7 +6282,7 @@ snapshots: picomatch@2.3.1: {} - pify@4.0.1: {} + picomatch@4.0.7: {} pkg-dir@4.2.0: dependencies: @@ -6740,19 +6292,10 @@ snapshots: preact@10.13.1: {} - preferred-pm@3.0.3: - dependencies: - find-up: 5.0.0 - find-yarn-workspace-root2: 1.2.16 - path-exists: 4.0.0 - which-pm: 2.0.0 - prelude-ls@1.1.2: {} prelude-ls@1.2.1: {} - prettier@2.8.8: {} - pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 @@ -6771,8 +6314,6 @@ snapshots: object-assign: 4.1.1 react-is: 16.13.1 - pseudomap@1.0.2: {} - psl@1.9.0: {} punycode@2.3.0: {} @@ -6785,8 +6326,6 @@ snapshots: queue-microtask@1.2.3: {} - quick-lru@4.0.1: {} - randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -6844,37 +6383,12 @@ snapshots: dependencies: loose-envify: 1.4.0 - read-pkg-up@7.0.1: - dependencies: - find-up: 4.1.0 - read-pkg: 5.2.0 - type-fest: 0.8.1 - - read-pkg@5.2.0: - dependencies: - '@types/normalize-package-data': 2.4.1 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 - - read-yaml-file@1.1.0: - dependencies: - graceful-fs: 4.2.11 - js-yaml: 3.14.1 - pify: 4.0.1 - strip-bom: 3.0.0 - readdirp@3.6.0: dependencies: picomatch: 2.3.1 readdirp@4.1.2: {} - redent@3.0.0: - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - redux@4.2.1: dependencies: '@babel/runtime': 7.21.5 @@ -6985,14 +6499,14 @@ snapshots: ajv-formats: 2.1.1 ajv-keywords: 5.1.0(ajv@8.12.0) - semver@5.7.1: {} - semver@6.3.0: {} semver@7.3.8: dependencies: lru-cache: 6.0.0 + semver@7.8.5: {} + serialize-javascript@6.0.0: dependencies: randombytes: 2.1.0 @@ -7007,18 +6521,14 @@ snapshots: shallow-equal-fuzzy@0.0.2: {} - shebang-command@1.2.0: - dependencies: - shebang-regex: 1.0.0 - shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - shebang-regex@1.0.0: {} - shebang-regex@3.0.0: {} + shell-quote@1.12.0: {} + side-channel@1.0.4: dependencies: call-bind: 1.0.2 @@ -7038,16 +6548,9 @@ snapshots: nise: 5.1.4 supports-color: 7.2.0 - slash@3.0.0: {} + sisteransi@1.0.5: {} - smartwrap@2.0.2: - dependencies: - array.prototype.flat: 1.3.1 - breakword: 1.0.5 - grapheme-splitter: 1.0.4 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 15.4.1 + slash@3.0.0: {} socket.io-adapter@2.5.2: dependencies: @@ -7092,25 +6595,6 @@ snapshots: signal-exit: 3.0.3 which: 2.0.2 - spawndamnit@2.0.0: - dependencies: - cross-spawn: 5.1.0 - signal-exit: 3.0.3 - - spdx-correct@3.2.0: - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.13 - - spdx-exceptions@2.3.0: {} - - spdx-expression-parse@3.0.1: - dependencies: - spdx-exceptions: 2.3.0 - spdx-license-ids: 3.0.13 - - spdx-license-ids@3.0.13: {} - sprintf-js@1.0.3: {} statuses@1.5.0: {} @@ -7119,10 +6603,6 @@ snapshots: dependencies: internal-slot: 1.0.5 - stream-transform@2.1.3: - dependencies: - mixme: 0.5.9 - streamroller@3.0.2(supports-color@8.1.1): dependencies: date-format: 4.0.3 @@ -7178,14 +6658,8 @@ snapshots: dependencies: ansi-regex: 6.5.0 - strip-bom@3.0.0: {} - strip-bom@4.0.0: {} - strip-indent@3.0.0: - dependencies: - min-indent: 1.0.1 - strip-json-comments@3.1.1: {} supports-color@5.5.0: @@ -7206,8 +6680,6 @@ snapshots: tapable@2.2.1: {} - term-size@2.2.1: {} - terser-webpack-plugin@5.3.1(webpack@5.76.0): dependencies: jest-worker: 27.5.1 @@ -7232,9 +6704,12 @@ snapshots: text-table@0.2.0: {} - tmp@0.0.33: + tinyexec@1.3.1: {} + + tinyglobby@0.2.17: dependencies: - os-tmpdir: 1.0.2 + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 tmp@0.2.1: dependencies: @@ -7255,16 +6730,12 @@ snapshots: universalify: 0.2.0 url-parse: 1.5.10 - tr46@0.0.3: {} - tr46@3.0.0: dependencies: punycode: 2.3.0 tree-kill@1.2.2: {} - trim-newlines@3.0.1: {} - tslib@1.13.0: {} tsutils@3.21.0(typescript@4.9.5): @@ -7272,16 +6743,6 @@ snapshots: tslib: 1.13.0 typescript: 4.9.5 - tty-table@4.2.1: - dependencies: - chalk: 4.1.2 - csv: 5.5.3 - kleur: 4.1.5 - smartwrap: 2.0.2 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - yargs: 17.7.2 - type-check@0.3.2: dependencies: prelude-ls: 1.1.2 @@ -7292,12 +6753,8 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.13.1: {} - type-fest@0.20.2: {} - type-fest@0.6.0: {} - type-fest@0.8.1: {} type-is@1.6.18: @@ -7337,8 +6794,6 @@ snapshots: unicode-property-aliases-ecmascript@2.1.0: {} - universalify@0.1.2: {} - universalify@0.2.0: {} universalify@2.0.0: {} @@ -7377,11 +6832,6 @@ snapshots: uuid@8.3.2: {} - validate-npm-package-license@3.0.4: - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - vary@1.1.2: {} void-elements@2.0.1: {} @@ -7395,12 +6845,6 @@ snapshots: glob-to-regexp: 0.4.1 graceful-fs: 4.2.11 - wcwidth@1.0.1: - dependencies: - defaults: 1.0.4 - - webidl-conversions@3.0.1: {} - webidl-conversions@7.0.0: {} webpack-merge@4.2.2: @@ -7451,11 +6895,6 @@ snapshots: tr46: 3.0.0 webidl-conversions: 7.0.0 - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 @@ -7473,11 +6912,6 @@ snapshots: which-module@2.0.0: {} - which-pm@2.0.0: - dependencies: - load-yaml-file: 0.2.0 - path-exists: 4.0.0 - which-typed-array@1.1.9: dependencies: available-typed-arrays: 1.0.5 @@ -7538,12 +6972,12 @@ snapshots: y18n@5.0.8: {} - yallist@2.1.2: {} - yallist@3.1.1: {} yallist@4.0.0: {} + yaml@2.9.1: {} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 From acc66459f8b02723d3ee167dd7a408bcbccea159 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 5 Nov 2026 15:20:21 -0800 Subject: [PATCH 03/19] [uplift] chore: throwaway changeset for canary validation --- .changeset/canary-validation.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/canary-validation.md diff --git a/.changeset/canary-validation.md b/.changeset/canary-validation.md new file mode 100644 index 0000000..427e1cc --- /dev/null +++ b/.changeset/canary-validation.md @@ -0,0 +1,5 @@ +--- +"react-fast-compare": patch +--- + +Throwaway changeset to validate the canary release pipeline. Delete after the canary run. From 693a15d7cb59d817291226b0432458927773edf3 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 5 Nov 2026 15:54:02 -0800 Subject: [PATCH 04/19] [uplift] chore: remove canary validation changeset --- .changeset/canary-validation.md | 5 ----- 1 file changed, 5 deletions(-) delete mode 100644 .changeset/canary-validation.md diff --git a/.changeset/canary-validation.md b/.changeset/canary-validation.md deleted file mode 100644 index 427e1cc..0000000 --- a/.changeset/canary-validation.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"react-fast-compare": patch ---- - -Throwaway changeset to validate the canary release pipeline. Delete after the canary run. From ad09f39a1e39d8dcb56e312cd2eba1315573a724 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 5 Nov 2026 19:08:19 -0800 Subject: [PATCH 05/19] [uplift] chore: replace ESLint with oxlint + oxfmt (#142) Part of #140. Replaces ESLint 8 with oxlint + oxfmt. Config only. The reformat and lint fixes follow in two separate PRs, so `pnpm check` and CI fail until they land. - `oxlint@1.90.0` and `oxfmt@0.75.0`, pinned (same versions as victory). - `.oxlintrc.json`: generated by `@oxlint/migrate --with-nursery` from both `.eslintrc.yml` files, plus their environments (`node`, `mocha`) and globals (`document`, `Element`). `no-var` and `prefer-const` apply only under `test/**`, so `index.js` stays ES5. - `.oxfmtrc.json`: `singleQuote` (matches the code and upstream), `trailingComma: "es5"` (trailing commas in calls aren't ES5), no `package.json` sorting. The vendored fixtures are ignored. - New `check` script runs `format`, `lint`, then `test`, and CI runs it. `test` is now tests only. - Removed: `eslint`, `eslint-plugin-react`, `@typescript-eslint/parser`, the `.eslintrc.yml` files, `.eslintignore`, `.eslintcache` from `.gitignore`. - CONTRIBUTING: Style section and `pnpm run check`. Rule notes: - Two rules are experimental (nursery) in oxlint: `no-undef` and `react/require-render-return`. - Not migrated: formatting rules (now oxfmt's job) and rules oxlint doesn't have (`callback-return`, `dot-notation`, `no-path-concat`, `valid-jsdoc`). Format PR preview: oxfmt keeps `index.js` ES5, keeps its `START:`/`END:` blocks, and the minified output is byte-identical. --- .eslintignore | 3 - .eslintrc.yml | 23 - .github/workflows/ci.yml | 4 +- .gitignore | 3 +- .oxfmtrc.json | 14 + .oxlintrc.json | 121 ++++ CONTRIBUTING.md | 17 +- package.json | 16 +- pnpm-lock.yaml | 1289 +++++++++++++------------------------- test/.eslintrc.yml | 15 - 10 files changed, 605 insertions(+), 900 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.yml create mode 100644 .oxfmtrc.json create mode 100644 .oxlintrc.json delete mode 100644 test/.eslintrc.yml diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index a0de70e..0000000 --- a/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -test/typescript/index.js -# Vendored from fast-deep-equal, kept unchanged. -test/fixtures/fast-deep-equal/ diff --git a/.eslintrc.yml b/.eslintrc.yml deleted file mode 100644 index fb1e75d..0000000 --- a/.eslintrc.yml +++ /dev/null @@ -1,23 +0,0 @@ -env: - es6: true - node: true -rules: - block-scoped-var: 2 - callback-return: 2 - curly: [2, multi-or-nest, consistent] - dot-location: [2, property] - dot-notation: 2 - indent: [2, 2, { SwitchCase: 1 }] - linebreak-style: [2, unix] - no-else-return: 2 - no-eq-null: 2 - no-fallthrough: 2 - no-path-concat: 2 - no-return-assign: 2 - no-trailing-spaces: 2 - no-unused-vars: [2, { args: none }] - no-use-before-define: [2, nofunc] - quotes: [2, single, avoid-escape] - semi: [2, always] - strict: 0 - valid-jsdoc: [2, { requireReturn: false }] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 96cc9e9..7d2102b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,5 +37,5 @@ jobs: cache: "pnpm" - name: Install dependencies run: pnpm install --frozen-lockfile - - name: Test - run: pnpm test + - name: Check + run: pnpm check diff --git a/.gitignore b/.gitignore index fceb9cf..f920fd4 100644 --- a/.gitignore +++ b/.gitignore @@ -16,8 +16,7 @@ test/typescript/*.js # Output of `npm pack` / `pnpm pack` *.tgz -# Caches and local env -.eslintcache +# Local env .env # Editors and OS diff --git a/.oxfmtrc.json b/.oxfmtrc.json new file mode 100644 index 0000000..b07f626 --- /dev/null +++ b/.oxfmtrc.json @@ -0,0 +1,14 @@ +{ + "$schema": "./node_modules/oxfmt/configuration_schema.json", + "singleQuote": true, + "trailingComma": "es5", + "arrowParens": "always", + "printWidth": 80, + "sortPackageJson": false, + "ignorePatterns": [ + ".changeset", + "CHANGELOG.md", + "pnpm-lock.yaml", + "test/fixtures/fast-deep-equal/" + ] +} diff --git a/.oxlintrc.json b/.oxlintrc.json new file mode 100644 index 0000000..15347cb --- /dev/null +++ b/.oxlintrc.json @@ -0,0 +1,121 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["eslint", "react"], + "categories": { + "correctness": "off" + }, + "env": { + "builtin": true, + "node": true + }, + "ignorePatterns": ["test/fixtures/fast-deep-equal/"], + "rules": { + "block-scoped-var": "error", + "curly": ["error", "multi-or-nest", "consistent"], + "no-else-return": "error", + "no-eq-null": "error", + "no-fallthrough": "error", + "no-return-assign": "error", + "no-unused-vars": [ + "error", + { + "args": "none" + } + ], + "no-use-before-define": ["error", "nofunc"] + }, + "overrides": [ + { + "files": ["test/**"], + "env": { + "mocha": true + }, + "globals": { + "document": "readonly", + "Element": "readonly" + }, + "rules": { + "constructor-super": "error", + "for-direction": "error", + "getter-return": "error", + "no-async-promise-executor": "error", + "no-case-declarations": "error", + "no-class-assign": "error", + "no-compare-neg-zero": "error", + "no-cond-assign": "error", + "no-const-assign": "error", + "no-constant-condition": "error", + "no-control-regex": "error", + "no-debugger": "error", + "no-delete-var": "error", + "no-dupe-class-members": "error", + "no-dupe-else-if": "error", + "no-dupe-keys": "error", + "no-duplicate-case": "error", + "no-empty": "error", + "no-empty-character-class": "error", + "no-empty-pattern": "error", + "no-ex-assign": "error", + "no-extra-boolean-cast": "error", + "no-func-assign": "error", + "no-global-assign": "error", + "no-import-assign": "error", + "no-inner-declarations": "error", + "no-invalid-regexp": "error", + "no-irregular-whitespace": "error", + "no-loss-of-precision": "error", + "no-misleading-character-class": "error", + "no-nonoctal-decimal-escape": "error", + "no-obj-calls": "error", + "no-prototype-builtins": "error", + "no-redeclare": "error", + "no-regex-spaces": "error", + "no-self-assign": "error", + "no-setter-return": "error", + "no-shadow-restricted-names": "error", + "no-sparse-arrays": "error", + "no-this-before-super": "error", + "no-undef": "error", + "no-unexpected-multiline": "error", + "no-unreachable": "error", + "no-unsafe-finally": "error", + "no-unsafe-negation": "error", + "no-unsafe-optional-chaining": "error", + "no-unused-labels": "error", + "no-unused-vars": [ + "error", + { + "args": "none" + } + ], + "no-useless-backreference": "error", + "no-useless-catch": "error", + "no-useless-escape": "error", + "no-with": "error", + "require-yield": "error", + "use-isnan": "error", + "valid-typeof": "error", + "react/display-name": "error", + "react/jsx-key": "error", + "react/jsx-no-comment-textnodes": "error", + "react/jsx-no-duplicate-props": "error", + "react/jsx-no-target-blank": "error", + "react/jsx-no-undef": "error", + "react/no-children-prop": "error", + "react/no-danger-with-children": "error", + "react/no-direct-mutation-state": "error", + "react/no-find-dom-node": "error", + "react/no-is-mounted": "error", + "react/no-render-return-value": "error", + "react/no-string-refs": "error", + "react/no-unescaped-entities": "error", + "react/no-unknown-property": "error", + "react/no-unsafe": "off", + "react/react-in-jsx-scope": "error", + "react/require-render-return": "error", + "no-var": "error", + "prefer-const": "error" + } + } + ] +} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 846173a..63c8a3a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,7 +53,8 @@ included. For an urgent security fix that's newer than that, add the package to **TL; DR:** - Everything you normally need to run is aggregated into: ```sh -$ pnpm run test +# Format, lint, then all tests +$ pnpm run check $ pnpm run benchmark ``` @@ -113,10 +114,20 @@ $ pnpm run test-ts-usage ### Style +We format with [oxfmt](https://oxc.rs/docs/guide/usage/formatter) and lint with [oxlint](https://oxc.rs/docs/guide/usage/linter). Their configs are `.oxfmtrc.json` and `.oxlintrc.json`. + ```sh -$ pnpm run eslint +# Check formatting and lint +$ pnpm run format +$ pnpm run lint + +# Fix what can be fixed automatically +$ pnpm run format:fix +$ pnpm run lint:fix ``` +`index.js` stays ES5 in 3.x, so don't apply ES2015+ fixes (`let`/`const`, arrow functions) to it. + ### Size You can check how we do with minification + compression with: @@ -139,7 +150,7 @@ please flag to your reviewers and have a discussion about whether or not the siz 1. Confirm that all checks are passing: ```sh - $ pnpm run test + $ pnpm run check $ pnpm run benchmark ``` diff --git a/package.json b/package.json index 4915cee..d8bfdd4 100644 --- a/package.json +++ b/package.json @@ -5,16 +5,19 @@ "main": "index.js", "typings": "index.d.ts", "scripts": { - "preversion": "pnpm test", + "preversion": "pnpm check", + "check": "pnpm format && pnpm lint && pnpm test", "benchmark": "node benchmark", - "eslint": "eslint \"*.js\" benchmark test", - "tslint": "eslint test/typescript/*.tsx", + "format": "oxfmt --check", + "format:fix": "oxfmt", + "lint": "oxlint --report-unused-disable-directives-severity=error", + "lint:fix": "oxlint --report-unused-disable-directives-severity=error --fix", "test-browser": "karma start test/browser/karma.conf.js", "test-node": "mocha \"test/node/*.spec.js\"", "test-node-cov": "nyc mocha \"test/node/*.spec.js\"", "test-ts-usage": "tsc --esModuleInterop --jsx react --noEmit test/typescript/sample-react-redux-usage.tsx test/typescript/sample-usage.tsx", "test-ts-defs": "tsc --target ES5 index.d.ts", - "test": "builder concurrent --buffer eslint tslint test-ts-usage test-ts-defs test-node-cov test-browser", + "test": "builder concurrent --buffer test-ts-usage test-ts-defs test-node-cov test-browser", "compress": "terser --compress --mangle=\"toplevel:true\" -- index.js", "size-min-gz": "pnpm -s compress | gzip -9 | wc -c", "changeset": "changeset" @@ -49,14 +52,11 @@ "@types/react": "^16.9.35", "@types/react-dom": "^16.9.8", "@types/react-redux": "^7.1.25", - "@typescript-eslint/parser": "^5.54.1", "assert": "^2.0.0", "babel-loader": "^9.1.2", "benchmark": "^2.1.4", "builder": "^5.0.0", "core-js": "^3.29.0", - "eslint": "^8.35.0", - "eslint-plugin-react": "^7.32.2", "fast-deep-equal": "3.1.3", "jsdom": "^21.1.0", "jsdom-global": "^3.0.2", @@ -71,6 +71,8 @@ "mocha": "^11.8.0", "nano-equal": "^2.0.2", "nyc": "^15.1.0", + "oxfmt": "0.75.0", + "oxlint": "1.90.0", "preact": "^10.13.1", "process": "^0.11.10", "react": "^18.2.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cea7b1a..104b71b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -196,9 +196,6 @@ importers: '@types/react-redux': specifier: ^7.1.25 version: 7.1.25 - '@typescript-eslint/parser': - specifier: ^5.54.1 - version: 5.54.1(eslint@8.35.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@4.9.5) assert: specifier: ^2.0.0 version: 2.0.0 @@ -214,12 +211,6 @@ importers: core-js: specifier: ^3.29.0 version: 3.29.0 - eslint: - specifier: ^8.35.0 - version: 8.35.0(supports-color@8.1.1) - eslint-plugin-react: - specifier: ^7.32.2 - version: 7.32.2(eslint@8.35.0(supports-color@8.1.1)) fast-deep-equal: specifier: 3.1.3 version: 3.1.3 @@ -262,6 +253,12 @@ importers: nyc: specifier: ^15.1.0 version: 15.1.0(supports-color@8.1.1) + oxfmt: + specifier: 0.75.0 + version: 0.75.0 + oxlint: + specifier: 1.90.0 + version: 1.90.0 preact: specifier: ^10.13.1 version: 10.13.1 @@ -938,27 +935,6 @@ packages: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - '@eslint/eslintrc@2.0.0': - resolution: {integrity: sha512-fluIaaV+GyV24CCu/ggiHdV+j4RNh85yQnAYS/G2mZODZgGmmlrgCydjUcV3YvxCm9x8nMAfThsqTni4KiXT4A==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@eslint/js@8.35.0': - resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@humanwhocodes/config-array@0.11.8': - resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/object-schema@1.2.1': - resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} - deprecated: Use @eslint/object-schema instead - '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -1008,17 +984,249 @@ packages: resolution: {integrity: sha512-6QEf6yqFbETdwGITKq57aYoPfX/3K8XFNwsAlx0C1M7o8cb79sv1M3w+tWuWvIcSbNqrLF7OD7YpZMVVz335hQ==} engines: {node: '>=20.0.0'} - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@oxfmt/binding-android-arm-eabi@0.75.0': + resolution: {integrity: sha512-zHJ7LcTN46/5mtoLxsUu14pdF9ixFwDURtmxZ0CeNwqom5qB5NRVqU6o2GRZ7QPdNBW8G6j9UTJzQ+EDevMH0w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + '@oxfmt/binding-android-arm64@0.75.0': + resolution: {integrity: sha512-IdxsKZJvHZUvI7q6kLmzXdEFpFiBEDQw/WJtSp1QlzNXBw1JlLN3tY50WwWd4doPnq86XW4P+7BsQwu6meCW+w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@oxfmt/binding-darwin-arm64@0.75.0': + resolution: {integrity: sha512-vyiqZilO5jal/nXZ0143NyKcP6TkzjaQdVEWU/kwgyWqugAgIRgAbrnO3MOF+e6LkQu3CrtrkPoc3mrsZZY6cA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxfmt/binding-darwin-x64@0.75.0': + resolution: {integrity: sha512-oua7eVqVe769mDam6ORcavygxTzG3ovo5QRQ1kJCPaEbnWXPYhtAiYDj8pajVmFjO7j8Elf3gInnWpTX0LLYtg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxfmt/binding-freebsd-x64@0.75.0': + resolution: {integrity: sha512-NWkbezhg7mx2Ep94g/TysR3c1bsISsU4lQ6t5xI4841PAk0Kqcn1+UEe+BoFH2/UK2YegPXq+OF+0bUcSvUalA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxfmt/binding-linux-arm-gnueabihf@0.75.0': + resolution: {integrity: sha512-CAHX87kJplTq2E0OWP7opG8gEVlHc7CeLEi4nMJOyx3psuqBKf84HZ3UIkX2guWEJ5UljU2zJF0o46XylywVVA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm-musleabihf@0.75.0': + resolution: {integrity: sha512-jmxYOiQzx2fp+OwQb7717K1zI8AMKEykw04sfr95/mU8SIL/oKgQq8nXH42sEznEquBL2RU7nLY36eBnYFT+vg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxfmt/binding-linux-arm64-gnu@0.75.0': + resolution: {integrity: sha512-eimaiAhx08dbOg12Fj3PYhymXY8vRbaiJB505vDXMy6ohne3Y1qTS0e5KEwFMq3LmDjEO+16BX38c/oXFI/SAQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-arm64-musl@0.75.0': + resolution: {integrity: sha512-bjSONIG1ba2xugr9oHQau0E6oPFYOMjPaa5hK/wpVC/Q1pcgf2BZMKwbuA8/cWzhWX5QV/UdPzD+rw1kQHpikQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-ppc64-gnu@0.75.0': + resolution: {integrity: sha512-wDksWQXC/KZucISyqlhBtvpW+pyHh8z0Cjm6Qxiv22XlllM2Bx5gJGDnPYjV+H0lL+o1iqLlEli8jmBuRCLcjw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-gnu@0.75.0': + resolution: {integrity: sha512-5JkNwViqaVuk4I+9+zgVrEYiHOAPXFxgDgP6iDnpdOBjm7XAHAOjSvolHZZAokWPx7CGOw8tKteXmn4WPIInaQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-riscv64-musl@0.75.0': + resolution: {integrity: sha512-1EVqRIE0eZLB08j3ZCVN47Ors7LCXGmOI+3xJYgyoFUKUerD3Glxb+Q1Bp3lK8NeT5R3ZdS9uhX/wobNBYZ6jw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-linux-s390x-gnu@0.75.0': + resolution: {integrity: sha512-UJWRVNT6Yuw4ssLv2BwaBUWU1GWtByE+EnoHu8I+P1t8Kn+WozYU5WYOqb5aj8gbXJJ8gGZt+w40Hi/7L6iVLw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-gnu@0.75.0': + resolution: {integrity: sha512-FHdvHhyz8ChBctBUvVGti49kSEwANd1PZQwlXUEoF9Ed4plxXxk/wWc0mfZmrze2lRgmME7ytDmVIOixYauQhg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxfmt/binding-linux-x64-musl@0.75.0': + resolution: {integrity: sha512-6MjtsF96s9mSBV0GEwUe4pOFPP2Mz7ahcHPAit0DSKL5fM6oMM7RG1zvYxwB7+SBkIxsWBRhhxuqmy7pibNwsA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxfmt/binding-openharmony-arm64@0.75.0': + resolution: {integrity: sha512-1D6T6aL1Pj+U5GLxqwV1fKjUJ5+FFm+bn7UrqNDMveZmWs0jo/3vc+dzzuV/jF/FdVo12gowODk3SnAO2YOwLg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxfmt/binding-win32-arm64-msvc@0.75.0': + resolution: {integrity: sha512-RX2eUmy7J/nM8+tnM3nzR8t1eqkwj1q8Kgo7beA+4DVgKYYHHyrEa3qEmthxw7Z+HqpCCEOWuoqa+jelo9/w2Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxfmt/binding-win32-ia32-msvc@0.75.0': + resolution: {integrity: sha512-UpKta0iSZmPLII0dYXYdbzdBTsGREUbSHLqgLdtKcqBvs40qjmUz+cgUcaU1smPx13DfbEG4XqnaSn5MoFN0og==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxfmt/binding-win32-x64-msvc@0.75.0': + resolution: {integrity: sha512-pjiLiCk0QMCWxs0n5XiNU85YLAKA+wJxPjxlDVygmr4bP4glcfTU2nOpso5nR4Rdi2Pxv5YwakD4UE+eh7M0BQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxlint/binding-android-arm-eabi@1.90.0': + resolution: {integrity: sha512-sgfalb1HuxYjiAa4wESZ626z1FGusqNcXYHyB5oIOEprS2sbPg0UYEfo83uF1GNG70DIfZxHkXuE6KFrlSdn8Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] + + '@oxlint/binding-android-arm64@1.90.0': + resolution: {integrity: sha512-RcKhz1ETMq+fazE9TKS2+5NIRGwigm/nW8egqF0LI+A8Yw2iW5r0E/C3XAPRiwIm/vcPiutIRIa6IQCIKhZsTQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxlint/binding-darwin-arm64@1.90.0': + resolution: {integrity: sha512-PSrxMvP6mx+p1karZcUxLdy9lpaP+JWQPti4al9FgTaPhxE+pT/BjhGExloVVSWgZgIfOlLOjVyyq8BXlodhLQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxlint/binding-darwin-x64@1.90.0': + resolution: {integrity: sha512-OLbU9qsrV2Q8QxT2OEzOPdO8zCCpyI8qB+hDI8yr6RsYELtkf0FAZhJdfjM/RnLHKzt44HWwAPnk92vBtKofvw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxlint/binding-freebsd-x64@1.90.0': + resolution: {integrity: sha512-fBA4pWyVDARmNucQqpyFuPC49xYf1r+sX7dxPL5fNPQrSMLum39Sn56tZ9JPleWC7FzLPwSQ7plYYfirYBHF8A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxlint/binding-linux-arm-gnueabihf@1.90.0': + resolution: {integrity: sha512-zhxH78eP2nR6/pGdhBc7MIfjhhcgATeu8fkmkFJbuzfk6Cj0FzBxyEhL85yDqrCybjx+G2YDzZGsxIO9kvO4Iw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm-musleabihf@1.90.0': + resolution: {integrity: sha512-MvYmpHyJqUJjEvkZbJHdwfdL45cGn8EVBkYmoXFiaYFW9suoD3dbJl5mBdpy0DVgdjlyddmldbRtk3cCgETadQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxlint/binding-linux-arm64-gnu@1.90.0': + resolution: {integrity: sha512-L13Sy+Kg0nZhwTsToniqjUFPA2TuM6962qCZ5Wp5KeB517Tw7ApdLTTtlb+bF86fcZZa2EtvCVvAJxk4Dya/MQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-arm64-musl@1.90.0': + resolution: {integrity: sha512-wFDdZWGpzIPFdJFjSLWnKB0TGzFriTKUIrl04iMqMyM9BBIJTuerfCHYa0WpDSjr5x3lcW/CHLyacSt886WpGg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-ppc64-gnu@1.90.0': + resolution: {integrity: sha512-FRywfn+MoKn8xpBSzgNwNVliSKRI2QXkxi/iF7o6FEQs8Bh8z2RpVTaFAcO3pchXjvB2eGNFIoLLQABIQ+u7VA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-gnu@1.90.0': + resolution: {integrity: sha512-IS2PaUgpc/qeLADTyhUNmdx3x4ijs9pjJdPKBYHaT+mAE7k3FsjnHPTjhpsak1b++h6CIPhv6WX9Z+y7Pw0voQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-riscv64-musl@1.90.0': + resolution: {integrity: sha512-s7JFKRkGS8O7i2ZVODfuO++NC7sH6HDqpMn8lYxw91w0SXJOxnAVjQ8utvmDwLMMT0jaSkuOKuUYJDGDtu4sHQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [musl] + + '@oxlint/binding-linux-s390x-gnu@1.90.0': + resolution: {integrity: sha512-b0GxrOQr5VONCkd7KLSqmP6b6nqZuTpuS8QPQHzltmqdXP5bY0Jl0CZ0QmlCTrS3ExaLYbioFYOARzNbYvcApQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-gnu@1.90.0': + resolution: {integrity: sha512-iaJeShJtgUp8rZbt9YUdTAGOpmX5KogCLba17Jp1tWdJ3F4M3D2g2TKUyI1FMTHxKH9NNHuQcuC2kZRg6IV7yQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxlint/binding-linux-x64-musl@1.90.0': + resolution: {integrity: sha512-/aZoXnL5WBLCXuzfHqvEFXcm4iwYmr/cYByHDTXzLFzJdE5DC7bm6phpWqHv6BeqpVgY9IpBAxGDv2WEkl5JCg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxlint/binding-openharmony-arm64@1.90.0': + resolution: {integrity: sha512-SMhk7ozwoxYDKfYqGZCQEfULOKDneF9uhaoIf2neoDLWvNtjY9yVeL7YHmE5L9WdKvMpWNwwZxhenxBu6AgfOg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@oxlint/binding-win32-arm64-msvc@1.90.0': + resolution: {integrity: sha512-KBvR3A9fO7fCi2vCP8ifWvlia7tGEQV9NaYh+IGwa/7Groy48Mt/UaYqMK9/zOtAWl20BUCf6RPqzJ32fRw33Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxlint/binding-win32-ia32-msvc@1.90.0': + resolution: {integrity: sha512-+x42rDHQGbTCuT3EzpWAzhP3NoVPE/cJsG4gnrakOSg0olV+GCdMpPU23Nvrl3zZMnXxFZdTtDv4D3SuaA5ZeQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ia32] + os: [win32] + + '@oxlint/binding-win32-x64-msvc@1.90.0': + resolution: {integrity: sha512-30JiaFEBUB9peEOcvVM8ggo88SoN/IdSr9DW505JdBji/R6dM66gKEiG65hw6qcaF2f4mO0cEJ+RwRZprmun9g==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} @@ -1109,37 +1317,6 @@ packages: '@types/use-sync-external-store@0.0.3': resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} - '@typescript-eslint/parser@5.54.1': - resolution: {integrity: sha512-8zaIXJp/nG9Ff9vQNh7TI+C3nA6q6iIsGJ4B4L6MhZ7mHnTMR4YP5vp2xydmFXIy8rpyIVbNAG44871LMt6ujg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/scope-manager@5.54.1': - resolution: {integrity: sha512-zWKuGliXxvuxyM71UA/EcPxaviw39dB2504LqAmFDjmkpO8qNLHcmzlh6pbHs1h/7YQ9bnsO8CCcYCSA8sykUg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/types@5.54.1': - resolution: {integrity: sha512-G9+1vVazrfAfbtmCapJX8jRo2E4MDXxgm/IMOF4oGh3kq7XuK3JRkOg6y2Qu1VsTRmWETyTkWt1wxy7X7/yLkw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/typescript-estree@5.54.1': - resolution: {integrity: sha512-bjK5t+S6ffHnVwA0qRPTZrxKSaFYocwFIkZx5k7pvWfsB1I57pO/0M0Skatzzw1sCkjJ83AfGTL0oFIFiDX3bg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/visitor-keys@5.54.1': - resolution: {integrity: sha512-q8iSoHTgwCfgcRJ2l2x+xCbu8nBlRAlsQ33k24Adj8eoVBE0f8dUeI+bAa8F84Mv05UGbAx57g2zrRsYIooqQg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@webassemblyjs/ast@1.11.1': resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} @@ -1211,11 +1388,6 @@ packages: peerDependencies: acorn: ^8 - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@8.2.0: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} @@ -1305,21 +1477,6 @@ packages: aria-query@5.1.3: resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - array-includes@3.1.6: - resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} - engines: {node: '>= 0.4'} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - array.prototype.flatmap@1.3.1: - resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} - engines: {node: '>= 0.4'} - - array.prototype.tosorted@1.1.1: - resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} - assert@2.0.0: resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} @@ -1414,10 +1571,6 @@ packages: call-bind@1.0.2: resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -1619,18 +1772,6 @@ packages: resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} engines: {node: '>=0.3.1'} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} @@ -1680,27 +1821,12 @@ packages: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} - es-abstract@1.21.1: - resolution: {integrity: sha512-QudMsPOz86xYz/1dG1OuGBKOELjCh99IIWHLzy5znUB6j8xG2yMA7bfTV86VSqKF+Y/H08vQPR+9jyXpuC6hfg==} - engines: {node: '>= 0.4'} - es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} es-module-lexer@0.9.3: resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - es-set-tostringtag@2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.0.0: - resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} @@ -1727,53 +1853,15 @@ packages: engines: {node: '>=6.0'} hasBin: true - eslint-plugin-react@7.32.2: - resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - eslint-scope@5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@7.1.1: - resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-utils@3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - - eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - - eslint-visitor-keys@3.3.0: - resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint@8.35.0: - resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. - hasBin: true - - espree@9.4.1: - resolution: {integrity: sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} engines: {node: '>=4.0'} @@ -1803,10 +1891,6 @@ packages: fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - fast-glob@3.2.12: - resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} - engines: {node: '>=8.6.0'} - fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} @@ -1822,9 +1906,6 @@ packages: fast-wrap-ansi@0.2.2: resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} - fastq@1.15.0: - resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} - fdir@6.5.0: resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} engines: {node: '>=12.0.0'} @@ -1834,10 +1915,6 @@ packages: picomatch: optional: true - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -1858,10 +1935,6 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} - flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true @@ -1911,10 +1984,6 @@ packages: function-bind@1.1.1: resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} - function.prototype.name@1.1.5: - resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} - engines: {node: '>= 0.4'} - functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} @@ -1933,18 +2002,10 @@ packages: resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} engines: {node: '>=8.0.0'} - get-symbol-description@1.0.0: - resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} - engines: {node: '>= 0.4'} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} @@ -1961,27 +2022,12 @@ packages: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.20.0: - resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} - engines: {node: '>=8'} - - globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - grapheme-splitter@1.0.4: - resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} - has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -1996,10 +2042,6 @@ packages: has-property-descriptors@1.0.0: resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} - has-proto@1.0.1: - resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} - engines: {node: '>= 0.4'} - has-symbols@1.0.3: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} @@ -2058,14 +2100,6 @@ packages: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - ignore@5.2.4: - resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} - engines: {node: '>= 4'} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - import-meta-resolve@4.2.0: resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} @@ -2144,10 +2178,6 @@ packages: resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} engines: {node: '>= 0.4'} - is-negative-zero@2.0.2: - resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} - engines: {node: '>= 0.4'} - is-number-object@1.0.7: resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} engines: {node: '>= 0.4'} @@ -2203,9 +2233,6 @@ packages: is-weakmap@2.0.1: resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - is-weakset@2.0.2: resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} @@ -2268,9 +2295,6 @@ packages: jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - js-sdsl@4.3.0: - resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} @@ -2314,9 +2338,6 @@ packages: json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -2328,10 +2349,6 @@ packages: jsonfile@6.1.0: resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - jsx-ast-utils@3.3.3: - resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} - engines: {node: '>=4.0'} - just-extend@4.1.0: resolution: {integrity: sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==} @@ -2372,10 +2389,6 @@ packages: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -2398,9 +2411,6 @@ packages: resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} @@ -2426,10 +2436,6 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -2445,14 +2451,6 @@ packages: merge-stream@2.0.0: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -2501,9 +2499,6 @@ packages: nano-equal@2.0.2: resolution: {integrity: sha512-RtAioZtSSppEWRruYU8oz2AKPJWTW74TpzcqP79n7Kh4nHW+gmrJGcTuELmid9tvGR4Xp2cCoTtYIIDy9iWO4g==} - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - negotiator@0.6.2: resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} engines: {node: '>= 0.6'} @@ -2556,21 +2551,6 @@ packages: resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} engines: {node: '>= 0.4'} - object.entries@1.1.6: - resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} - engines: {node: '>= 0.4'} - - object.fromentries@2.0.6: - resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} - engines: {node: '>= 0.4'} - - object.hasown@1.1.2: - resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} - - object.values@1.1.6: - resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} - engines: {node: '>= 0.4'} - on-finished@2.3.0: resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} engines: {node: '>= 0.8'} @@ -2582,10 +2562,6 @@ packages: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} engines: {node: '>= 0.8.0'} - optionator@0.9.1: - resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} - engines: {node: '>= 0.8.0'} - os-homedir@1.0.2: resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} engines: {node: '>=0.10.0'} @@ -2598,6 +2574,35 @@ packages: resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} deprecated: This package is no longer supported. + oxfmt@0.75.0: + resolution: {integrity: sha512-/ZKvY5asfsVi9hdkOmRIumqOPu6kxlTgiJSZf54uq29kKew+Gu1FFAnEkGePyvLVW+MAYu41D6XggnzoElQzPw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@astrojs/compiler-rs': ^0.5.0 + svelte: ^5.0.0 + vite-plus: '*' + peerDependenciesMeta: + '@astrojs/compiler-rs': + optional: true + svelte: + optional: true + vite-plus: + optional: true + + oxlint@1.90.0: + resolution: {integrity: sha512-RkTN9EmgIUpLuhNoLhO3OliMGJlvb3Dk7XVjBZnfoMCHrVpuz5ESd97klfiyYeV7XfA2lNLnDCPMkUI+Qw5How==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=7.0.2005' + vite-plus: '*' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + vite-plus: + optional: true + p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} @@ -2632,10 +2637,6 @@ packages: package-manager-detector@1.9.0: resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} @@ -2665,10 +2666,6 @@ packages: path-to-regexp@1.8.0: resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -2697,10 +2694,6 @@ packages: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} @@ -2713,9 +2706,6 @@ packages: resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} engines: {node: '>= 0.6.0'} - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} @@ -2734,9 +2724,6 @@ packages: querystringify@2.2.0: resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - randombytes@2.1.0: resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} @@ -2825,10 +2812,6 @@ packages: resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} engines: {node: '>= 0.4'} - regexpp@3.2.0: - resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} - engines: {node: '>=8'} - regexpu-core@5.3.1: resolution: {integrity: sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==} engines: {node: '>=4'} @@ -2855,10 +2838,6 @@ packages: requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} @@ -2867,14 +2846,6 @@ packages: resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} hasBin: true - resolve@2.0.0-next.4: - resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} - hasBin: true - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rfdc@1.3.0: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} @@ -2883,18 +2854,12 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.0.0: - resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} - safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} @@ -2917,11 +2882,6 @@ packages: resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} hasBin: true - semver@7.3.8: - resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} - engines: {node: '>=10'} - hasBin: true - semver@7.8.5: resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} engines: {node: '>=10'} @@ -2972,10 +2932,6 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - socket.io-adapter@2.5.2: resolution: {integrity: sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==} @@ -3021,15 +2977,6 @@ packages: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - string.prototype.matchall@4.0.8: - resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} - - string.prototype.trimend@1.0.6: - resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} - - string.prototype.trimstart@1.0.6: - resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} - strip-ansi@4.0.0: resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} engines: {node: '>=4'} @@ -3098,9 +3045,6 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - tinyexec@1.3.1: resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} engines: {node: '>=18'} @@ -3109,6 +3053,10 @@ packages: resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} engines: {node: '>=12.0.0'} + tinypool@2.2.0: + resolution: {integrity: sha512-jBrmx4lYmaC9k/mgPbylxs7kBUxHtD8256up+HjLaDFfXScKJQyil+SWXSvhAtT7XHo+yTVlpB81PGmHP8oLSQ==} + engines: {node: ^20.0.0 || >=22.0.0} + tmp@0.2.1: resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} engines: {node: '>=8.17.0'} @@ -3140,28 +3088,14 @@ packages: tslib@1.13.0: resolution: {integrity: sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==} - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - type-check@0.3.2: resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} engines: {node: '>= 0.8.0'} - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - type-detect@4.0.8: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} @@ -3170,9 +3104,6 @@ packages: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} - typed-array-length@1.0.4: - resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} - typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} @@ -3185,9 +3116,6 @@ packages: resolution: {integrity: sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==} deprecated: You are using an outdated version of ua-parser-js. Please update to ua-parser-js v0.7.33 / v1.0.33 / v2.0.0 (or later) to avoid ReDoS vulnerability [CVE-2022-25927](https://github.com/advisories/GHSA-fhg7-m89q-25r3) - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - unicode-canonical-property-names-ecmascript@2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -3383,9 +3311,6 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@2.9.1: resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} engines: {node: '>= 14.6'} @@ -4268,34 +4193,6 @@ snapshots: '@colors/colors@1.5.0': {} - '@eslint/eslintrc@2.0.0(supports-color@8.1.1)': - dependencies: - ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) - espree: 9.4.1 - globals: 13.20.0 - ignore: 5.2.4 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@8.35.0': {} - - '@humanwhocodes/config-array@0.11.8(supports-color@8.1.1)': - dependencies: - '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4(supports-color@8.1.1) - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/object-schema@1.2.1': {} - '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -4357,17 +4254,119 @@ snapshots: tinyglobby: 0.2.17 yaml: 2.9.1 - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 + '@oxfmt/binding-android-arm-eabi@0.75.0': + optional: true + + '@oxfmt/binding-android-arm64@0.75.0': + optional: true - '@nodelib/fs.stat@2.0.5': {} + '@oxfmt/binding-darwin-arm64@0.75.0': + optional: true - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.15.0 + '@oxfmt/binding-darwin-x64@0.75.0': + optional: true + + '@oxfmt/binding-freebsd-x64@0.75.0': + optional: true + + '@oxfmt/binding-linux-arm-gnueabihf@0.75.0': + optional: true + + '@oxfmt/binding-linux-arm-musleabihf@0.75.0': + optional: true + + '@oxfmt/binding-linux-arm64-gnu@0.75.0': + optional: true + + '@oxfmt/binding-linux-arm64-musl@0.75.0': + optional: true + + '@oxfmt/binding-linux-ppc64-gnu@0.75.0': + optional: true + + '@oxfmt/binding-linux-riscv64-gnu@0.75.0': + optional: true + + '@oxfmt/binding-linux-riscv64-musl@0.75.0': + optional: true + + '@oxfmt/binding-linux-s390x-gnu@0.75.0': + optional: true + + '@oxfmt/binding-linux-x64-gnu@0.75.0': + optional: true + + '@oxfmt/binding-linux-x64-musl@0.75.0': + optional: true + + '@oxfmt/binding-openharmony-arm64@0.75.0': + optional: true + + '@oxfmt/binding-win32-arm64-msvc@0.75.0': + optional: true + + '@oxfmt/binding-win32-ia32-msvc@0.75.0': + optional: true + + '@oxfmt/binding-win32-x64-msvc@0.75.0': + optional: true + + '@oxlint/binding-android-arm-eabi@1.90.0': + optional: true + + '@oxlint/binding-android-arm64@1.90.0': + optional: true + + '@oxlint/binding-darwin-arm64@1.90.0': + optional: true + + '@oxlint/binding-darwin-x64@1.90.0': + optional: true + + '@oxlint/binding-freebsd-x64@1.90.0': + optional: true + + '@oxlint/binding-linux-arm-gnueabihf@1.90.0': + optional: true + + '@oxlint/binding-linux-arm-musleabihf@1.90.0': + optional: true + + '@oxlint/binding-linux-arm64-gnu@1.90.0': + optional: true + + '@oxlint/binding-linux-arm64-musl@1.90.0': + optional: true + + '@oxlint/binding-linux-ppc64-gnu@1.90.0': + optional: true + + '@oxlint/binding-linux-riscv64-gnu@1.90.0': + optional: true + + '@oxlint/binding-linux-riscv64-musl@1.90.0': + optional: true + + '@oxlint/binding-linux-s390x-gnu@1.90.0': + optional: true + + '@oxlint/binding-linux-x64-gnu@1.90.0': + optional: true + + '@oxlint/binding-linux-x64-musl@1.90.0': + optional: true + + '@oxlint/binding-openharmony-arm64@1.90.0': + optional: true + + '@oxlint/binding-win32-arm64-msvc@1.90.0': + optional: true + + '@oxlint/binding-win32-ia32-msvc@1.90.0': + optional: true + + '@oxlint/binding-win32-x64-msvc@1.90.0': + optional: true '@pkgjs/parseargs@0.11.0': optional: true @@ -4461,52 +4460,14 @@ snapshots: '@types/hoist-non-react-statics': 3.3.1 '@types/react': 16.9.35 hoist-non-react-statics: 3.3.2 - redux: 4.2.1 - - '@types/react@16.9.35': - dependencies: - '@types/prop-types': 15.7.3 - csstype: 2.6.10 - - '@types/use-sync-external-store@0.0.3': {} - - '@typescript-eslint/parser@5.54.1(eslint@8.35.0(supports-color@8.1.1))(supports-color@8.1.1)(typescript@4.9.5)': - dependencies: - '@typescript-eslint/scope-manager': 5.54.1 - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/typescript-estree': 5.54.1(supports-color@8.1.1)(typescript@4.9.5) - debug: 4.3.4(supports-color@8.1.1) - eslint: 8.35.0(supports-color@8.1.1) - optionalDependencies: - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@5.54.1': - dependencies: - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/visitor-keys': 5.54.1 - - '@typescript-eslint/types@5.54.1': {} + redux: 4.2.1 - '@typescript-eslint/typescript-estree@5.54.1(supports-color@8.1.1)(typescript@4.9.5)': + '@types/react@16.9.35': dependencies: - '@typescript-eslint/types': 5.54.1 - '@typescript-eslint/visitor-keys': 5.54.1 - debug: 4.3.4(supports-color@8.1.1) - globby: 11.1.0 - is-glob: 4.0.3 - semver: 7.3.8 - tsutils: 3.21.0(typescript@4.9.5) - optionalDependencies: - typescript: 4.9.5 - transitivePeerDependencies: - - supports-color + '@types/prop-types': 15.7.3 + csstype: 2.6.10 - '@typescript-eslint/visitor-keys@5.54.1': - dependencies: - '@typescript-eslint/types': 5.54.1 - eslint-visitor-keys: 3.3.0 + '@types/use-sync-external-store@0.0.3': {} '@webassemblyjs/ast@1.11.1': dependencies: @@ -4606,10 +4567,6 @@ snapshots: dependencies: acorn: 8.8.2 - acorn-jsx@5.3.2(acorn@8.8.2): - dependencies: - acorn: 8.8.2 - acorn-walk@8.2.0: {} acorn@8.8.2: {} @@ -4692,31 +4649,6 @@ snapshots: dependencies: deep-equal: 2.2.0 - array-includes@3.1.6: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - get-intrinsic: 1.2.0 - is-string: 1.0.7 - - array-union@2.1.0: {} - - array.prototype.flatmap@1.3.1: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - es-shim-unscopables: 1.0.0 - - array.prototype.tosorted@1.1.1: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - es-shim-unscopables: 1.0.0 - get-intrinsic: 1.2.0 - assert@2.0.0: dependencies: es6-object-assign: 1.1.0 @@ -4836,8 +4768,6 @@ snapshots: function-bind: 1.1.1 get-intrinsic: 1.2.0 - callsites@3.1.0: {} - camelcase@5.3.1: {} camelcase@6.3.0: {} @@ -5044,18 +4974,6 @@ snapshots: diff@7.0.0: {} - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - doctrine@2.1.0: - dependencies: - esutils: 2.0.3 - - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-accessibility-api@0.5.16: {} dom-serialize@2.2.1: @@ -5109,42 +5027,6 @@ snapshots: entities@4.4.0: {} - es-abstract@1.21.1: - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - es-set-tostringtag: 2.0.1 - es-to-primitive: 1.2.1 - function-bind: 1.1.1 - function.prototype.name: 1.1.5 - get-intrinsic: 1.2.0 - get-symbol-description: 1.0.0 - globalthis: 1.0.3 - gopd: 1.0.1 - has: 1.0.3 - has-property-descriptors: 1.0.0 - has-proto: 1.0.1 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - is-array-buffer: 3.0.2 - is-callable: 1.2.7 - is-negative-zero: 2.0.2 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - is-string: 1.0.7 - is-typed-array: 1.1.10 - is-weakref: 1.0.2 - object-inspect: 1.12.3 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - safe-regex-test: 1.0.0 - string.prototype.trimend: 1.0.6 - string.prototype.trimstart: 1.0.6 - typed-array-length: 1.0.4 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.9 - es-get-iterator@1.1.3: dependencies: call-bind: 1.0.2 @@ -5159,22 +5041,6 @@ snapshots: es-module-lexer@0.9.3: {} - es-set-tostringtag@2.0.1: - dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - has-tostringtag: 1.0.0 - - es-shim-unscopables@1.0.0: - dependencies: - has: 1.0.3 - - es-to-primitive@1.2.1: - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - es6-error@4.1.1: {} es6-object-assign@1.1.0: {} @@ -5196,101 +5062,13 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-plugin-react@7.32.2(eslint@8.35.0(supports-color@8.1.1)): - dependencies: - array-includes: 3.1.6 - array.prototype.flatmap: 1.3.1 - array.prototype.tosorted: 1.1.1 - doctrine: 2.1.0 - eslint: 8.35.0(supports-color@8.1.1) - estraverse: 5.3.0 - jsx-ast-utils: 3.3.3 - minimatch: 3.1.2 - object.entries: 1.1.6 - object.fromentries: 2.0.6 - object.hasown: 1.1.2 - object.values: 1.1.6 - prop-types: 15.8.1 - resolve: 2.0.0-next.4 - semver: 6.3.0 - string.prototype.matchall: 4.0.8 - eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@7.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-utils@3.0.0(eslint@8.35.0(supports-color@8.1.1)): - dependencies: - eslint: 8.35.0(supports-color@8.1.1) - eslint-visitor-keys: 2.1.0 - - eslint-visitor-keys@2.1.0: {} - - eslint-visitor-keys@3.3.0: {} - - eslint@8.35.0(supports-color@8.1.1): - dependencies: - '@eslint/eslintrc': 2.0.0(supports-color@8.1.1) - '@eslint/js': 8.35.0 - '@humanwhocodes/config-array': 0.11.8(supports-color@8.1.1) - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.1.1 - eslint-utils: 3.0.0(eslint@8.35.0(supports-color@8.1.1)) - eslint-visitor-keys: 3.3.0 - espree: 9.4.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.20.0 - grapheme-splitter: 1.0.4 - ignore: 5.2.4 - import-fresh: 3.3.0 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-sdsl: 4.3.0 - 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.1 - regexpp: 3.2.0 - strip-ansi: 6.0.1 - strip-json-comments: 3.1.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - - espree@9.4.1: - dependencies: - acorn: 8.8.2 - acorn-jsx: 5.3.2(acorn@8.8.2) - eslint-visitor-keys: 3.3.0 - esprima@4.0.1: {} - esquery@1.5.0: - dependencies: - estraverse: 5.3.0 - esrecurse@4.3.0: dependencies: estraverse: 5.3.0 @@ -5309,14 +5087,6 @@ snapshots: fast-deep-equal@3.1.3: {} - fast-glob@3.2.12: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - fast-json-stable-stringify@2.1.0: {} fast-levenshtein@2.0.6: {} @@ -5331,18 +5101,10 @@ snapshots: dependencies: fast-string-width: 3.0.2 - fastq@1.15.0: - dependencies: - reusify: 1.0.4 - fdir@6.5.0(picomatch@4.0.7): optionalDependencies: picomatch: 4.0.7 - file-entry-cache@6.0.1: - dependencies: - flat-cache: 3.0.4 - fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 @@ -5375,11 +5137,6 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.0.4: - dependencies: - flatted: 3.2.7 - rimraf: 3.0.2 - flat@5.0.2: {} flatted@3.2.7: {} @@ -5423,13 +5180,6 @@ snapshots: function-bind@1.1.1: {} - function.prototype.name@1.1.5: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - functions-have-names: 1.2.3 - functions-have-names@1.2.3: {} gensync@1.0.0-beta.2: {} @@ -5444,19 +5194,10 @@ snapshots: get-package-type@0.1.0: {} - get-symbol-description@1.0.0: - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - glob-to-regexp@0.4.1: {} glob@10.5.0: @@ -5479,31 +5220,12 @@ snapshots: globals@11.12.0: {} - globals@13.20.0: - dependencies: - type-fest: 0.20.2 - - globalthis@1.0.3: - dependencies: - define-properties: 1.2.0 - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.2.12 - ignore: 5.2.4 - merge2: 1.4.1 - slash: 3.0.0 - gopd@1.0.1: dependencies: get-intrinsic: 1.2.0 graceful-fs@4.2.11: {} - grapheme-splitter@1.0.4: {} - has-bigints@1.0.2: {} has-flag@3.0.0: {} @@ -5514,8 +5236,6 @@ snapshots: dependencies: get-intrinsic: 1.2.0 - has-proto@1.0.1: {} - has-symbols@1.0.3: {} has-tostringtag@1.0.0: @@ -5584,13 +5304,6 @@ snapshots: dependencies: safer-buffer: 2.1.2 - ignore@5.2.4: {} - - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - import-meta-resolve@4.2.0: {} imurmurhash@0.1.4: {} @@ -5665,8 +5378,6 @@ snapshots: call-bind: 1.0.2 define-properties: 1.2.0 - is-negative-zero@2.0.2: {} - is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.0 @@ -5714,10 +5425,6 @@ snapshots: is-weakmap@2.0.1: {} - is-weakref@1.0.2: - dependencies: - call-bind: 1.0.2 - is-weakset@2.0.2: dependencies: call-bind: 1.0.2 @@ -5794,8 +5501,6 @@ snapshots: jju@1.4.0: {} - js-sdsl@4.3.0: {} - js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -5854,8 +5559,6 @@ snapshots: json-schema-traverse@1.0.0: {} - json-stable-stringify-without-jsonify@1.0.1: {} - json5@2.2.3: {} jsonc-parser@3.3.1: {} @@ -5866,11 +5569,6 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 - jsx-ast-utils@3.3.3: - dependencies: - array-includes: 3.1.6 - object.assign: 4.1.4 - just-extend@4.1.0: {} karma-chrome-launcher@3.1.1: @@ -5946,11 +5644,6 @@ snapshots: prelude-ls: 1.1.2 type-check: 0.3.2 - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - loader-runner@4.3.0: {} locate-path@5.0.0: @@ -5967,8 +5660,6 @@ snapshots: lodash.get@4.4.2: {} - lodash.merge@4.6.2: {} - lodash@4.17.21: {} log-symbols@2.2.0: @@ -6000,10 +5691,6 @@ snapshots: dependencies: yallist: 3.1.1 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - lz-string@1.5.0: {} make-dir@3.1.0: @@ -6014,13 +5701,6 @@ snapshots: merge-stream@2.0.0: {} - merge2@1.4.1: {} - - micromatch@4.0.5: - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - mime-db@1.52.0: {} mime-types@2.1.35: @@ -6077,8 +5757,6 @@ snapshots: nano-equal@2.0.2: {} - natural-compare@1.4.0: {} - negotiator@0.6.2: {} neo-async@2.6.2: {} @@ -6156,29 +5834,6 @@ snapshots: has-symbols: 1.0.3 object-keys: 1.1.1 - object.entries@1.1.6: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - - object.fromentries@2.0.6: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - - object.hasown@1.1.2: - dependencies: - define-properties: 1.2.0 - es-abstract: 1.21.1 - - object.values@1.1.6: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - on-finished@2.3.0: dependencies: ee-first: 1.1.1 @@ -6196,15 +5851,6 @@ snapshots: type-check: 0.3.2 word-wrap: 1.2.3 - optionator@0.9.1: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.3 - os-homedir@1.0.2: {} os-tmpdir@1.0.2: {} @@ -6214,6 +5860,52 @@ snapshots: os-homedir: 1.0.2 os-tmpdir: 1.0.2 + oxfmt@0.75.0: + dependencies: + tinypool: 2.2.0 + optionalDependencies: + '@oxfmt/binding-android-arm-eabi': 0.75.0 + '@oxfmt/binding-android-arm64': 0.75.0 + '@oxfmt/binding-darwin-arm64': 0.75.0 + '@oxfmt/binding-darwin-x64': 0.75.0 + '@oxfmt/binding-freebsd-x64': 0.75.0 + '@oxfmt/binding-linux-arm-gnueabihf': 0.75.0 + '@oxfmt/binding-linux-arm-musleabihf': 0.75.0 + '@oxfmt/binding-linux-arm64-gnu': 0.75.0 + '@oxfmt/binding-linux-arm64-musl': 0.75.0 + '@oxfmt/binding-linux-ppc64-gnu': 0.75.0 + '@oxfmt/binding-linux-riscv64-gnu': 0.75.0 + '@oxfmt/binding-linux-riscv64-musl': 0.75.0 + '@oxfmt/binding-linux-s390x-gnu': 0.75.0 + '@oxfmt/binding-linux-x64-gnu': 0.75.0 + '@oxfmt/binding-linux-x64-musl': 0.75.0 + '@oxfmt/binding-openharmony-arm64': 0.75.0 + '@oxfmt/binding-win32-arm64-msvc': 0.75.0 + '@oxfmt/binding-win32-ia32-msvc': 0.75.0 + '@oxfmt/binding-win32-x64-msvc': 0.75.0 + + oxlint@1.90.0: + optionalDependencies: + '@oxlint/binding-android-arm-eabi': 1.90.0 + '@oxlint/binding-android-arm64': 1.90.0 + '@oxlint/binding-darwin-arm64': 1.90.0 + '@oxlint/binding-darwin-x64': 1.90.0 + '@oxlint/binding-freebsd-x64': 1.90.0 + '@oxlint/binding-linux-arm-gnueabihf': 1.90.0 + '@oxlint/binding-linux-arm-musleabihf': 1.90.0 + '@oxlint/binding-linux-arm64-gnu': 1.90.0 + '@oxlint/binding-linux-arm64-musl': 1.90.0 + '@oxlint/binding-linux-ppc64-gnu': 1.90.0 + '@oxlint/binding-linux-riscv64-gnu': 1.90.0 + '@oxlint/binding-linux-riscv64-musl': 1.90.0 + '@oxlint/binding-linux-s390x-gnu': 1.90.0 + '@oxlint/binding-linux-x64-gnu': 1.90.0 + '@oxlint/binding-linux-x64-musl': 1.90.0 + '@oxlint/binding-openharmony-arm64': 1.90.0 + '@oxlint/binding-win32-arm64-msvc': 1.90.0 + '@oxlint/binding-win32-ia32-msvc': 1.90.0 + '@oxlint/binding-win32-x64-msvc': 1.90.0 + p-limit@2.3.0: dependencies: p-try: 2.2.0 @@ -6247,10 +5939,6 @@ snapshots: package-manager-detector@1.9.0: {} - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - parse5@7.1.2: dependencies: entities: 4.4.0 @@ -6274,8 +5962,6 @@ snapshots: dependencies: isarray: 0.0.1 - path-type@4.0.0: {} - picocolors@1.0.0: {} picocolors@1.1.1: {} @@ -6294,8 +5980,6 @@ snapshots: prelude-ls@1.1.2: {} - prelude-ls@1.2.1: {} - pretty-format@27.5.1: dependencies: ansi-regex: 5.0.1 @@ -6308,12 +5992,6 @@ snapshots: process@0.11.10: {} - prop-types@15.8.1: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - psl@1.9.0: {} punycode@2.3.0: {} @@ -6324,8 +6002,6 @@ snapshots: querystringify@2.2.0: {} - queue-microtask@1.2.3: {} - randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 @@ -6411,8 +6087,6 @@ snapshots: define-properties: 1.2.0 functions-have-names: 1.2.3 - regexpp@3.2.0: {} - regexpu-core@5.3.1: dependencies: '@babel/regjsgen': 0.8.0 @@ -6438,8 +6112,6 @@ snapshots: requires-port@1.0.0: {} - resolve-from@4.0.0: {} - resolve-from@5.0.0: {} resolve@1.22.2: @@ -6448,34 +6120,16 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.4: - dependencies: - is-core-module: 2.12.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - reusify@1.0.4: {} - rfdc@1.3.0: {} rimraf@3.0.2: dependencies: glob: 7.2.3 - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} - safe-regex-test@1.0.0: - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-regex: 1.1.4 - safer-buffer@2.1.2: {} saxes@6.0.0: @@ -6501,10 +6155,6 @@ snapshots: semver@6.3.0: {} - semver@7.3.8: - dependencies: - lru-cache: 6.0.0 - semver@7.8.5: {} serialize-javascript@6.0.0: @@ -6550,8 +6200,6 @@ snapshots: sisteransi@1.0.5: {} - slash@3.0.0: {} - socket.io-adapter@2.5.2: dependencies: ws: 8.11.0 @@ -6623,29 +6271,6 @@ snapshots: emoji-regex: 9.2.2 strip-ansi: 7.2.0 - string.prototype.matchall@4.0.8: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - get-intrinsic: 1.2.0 - has-symbols: 1.0.3 - internal-slot: 1.0.5 - regexp.prototype.flags: 1.4.3 - side-channel: 1.0.4 - - string.prototype.trimend@1.0.6: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - - string.prototype.trimstart@1.0.6: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - es-abstract: 1.21.1 - strip-ansi@4.0.0: dependencies: ansi-regex: 3.0.0 @@ -6702,8 +6327,6 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 - text-table@0.2.0: {} - tinyexec@1.3.1: {} tinyglobby@0.2.17: @@ -6711,6 +6334,8 @@ snapshots: fdir: 6.5.0(picomatch@4.0.7) picomatch: 4.0.7 + tinypool@2.2.0: {} + tmp@0.2.1: dependencies: rimraf: 3.0.2 @@ -6738,23 +6363,12 @@ snapshots: tslib@1.13.0: {} - tsutils@3.21.0(typescript@4.9.5): - dependencies: - tslib: 1.13.0 - typescript: 4.9.5 - type-check@0.3.2: dependencies: prelude-ls: 1.1.2 - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - type-detect@4.0.8: {} - type-fest@0.20.2: {} - type-fest@0.8.1: {} type-is@1.6.18: @@ -6762,12 +6376,6 @@ snapshots: media-typer: 0.3.0 mime-types: 2.1.35 - typed-array-length@1.0.4: - dependencies: - call-bind: 1.0.2 - for-each: 0.3.3 - is-typed-array: 1.1.10 - typedarray-to-buffer@3.1.5: dependencies: is-typedarray: 1.0.0 @@ -6776,13 +6384,6 @@ snapshots: ua-parser-js@0.7.31: {} - unbox-primitive@1.0.2: - dependencies: - call-bind: 1.0.2 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - unicode-canonical-property-names-ecmascript@2.0.0: {} unicode-match-property-ecmascript@2.0.0: @@ -6974,8 +6575,6 @@ snapshots: yallist@3.1.1: {} - yallist@4.0.0: {} - yaml@2.9.1: {} yargs-parser@18.1.3: diff --git a/test/.eslintrc.yml b/test/.eslintrc.yml deleted file mode 100644 index 4926f8c..0000000 --- a/test/.eslintrc.yml +++ /dev/null @@ -1,15 +0,0 @@ -env: - mocha: true -extends: [ 'eslint:recommended', 'plugin:react/recommended' ] -parser: '@typescript-eslint/parser' -parserOptions: - sourceType: module -settings: - react: - version: detect -globals: - document: false - Element: false -rules: - no-var: 2 - prefer-const: 2 From 40505673987556571a90f975919ba7e318235660 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 5 Nov 2026 20:54:48 -0800 Subject: [PATCH 06/19] [uplift] chore: format with oxfmt (#143) Part of #140. Runs `pnpm format:fix`; no other changes. Its squash SHA goes in `.git-blame-ignore-revs` (added in the lint PR). - `index.js`: the terser output is byte-identical before and after, it's still ES5, and the `START:`/`END:` fast-deep-equal blocks are kept. - `singleQuote` also applies to YAML and Markdown (workflows, README samples). - `pnpm check` now passes format and fails on lint (4 errors), which the next PR fixes. --- .github/workflows/ci.yml | 4 +-- .github/workflows/release.yml | 14 +++++----- README.md | 6 ++--- benchmark/index.js | 40 ++++++++++++++++++----------- index.js | 40 ++++++++++++++++++----------- test/browser/browser.spec.js | 48 ++++++++++++++++++----------------- test/browser/karma.conf.js | 42 ++++++++++++++---------------- test/node/basics.spec.js | 6 ++--- test/node/tests.js | 46 ++++++++++++++++----------------- 9 files changed, 132 insertions(+), 114 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7d2102b..7490825 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,8 +33,8 @@ jobs: - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 - uses: actions/setup-node@v7 with: - node-version-file: ".nvmrc" - cache: "pnpm" + node-version-file: '.nvmrc' + cache: 'pnpm' - name: Install dependencies run: pnpm install --frozen-lockfile - name: Check diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index cc29174..8927cdf 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -32,7 +32,7 @@ jobs: - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 - uses: actions/setup-node@v7 with: - node-version-file: ".nvmrc" + node-version-file: '.nvmrc' package-manager-cache: false # avoid cache poisoning - run: pnpm install --frozen-lockfile - name: Select Changesets mode @@ -57,7 +57,7 @@ jobs: - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 - uses: actions/setup-node@v7 with: - node-version-file: ".nvmrc" + node-version-file: '.nvmrc' package-manager-cache: false # avoid cache poisoning - run: pnpm install --frozen-lockfile - name: Version package @@ -88,7 +88,7 @@ jobs: - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 - uses: actions/setup-node@v7 with: - node-version-file: ".nvmrc" + node-version-file: '.nvmrc' package-manager-cache: false # avoid cache poisoning - run: pnpm install --frozen-lockfile # No build step: `index.js` and `index.d.ts` are published as written. @@ -116,8 +116,8 @@ jobs: - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 - uses: actions/setup-node@v7 with: - node-version-file: ".nvmrc" - registry-url: "https://registry.npmjs.org" + node-version-file: '.nvmrc' + registry-url: 'https://registry.npmjs.org' package-manager-cache: false # avoid cache poisoning - run: pnpm install --frozen-lockfile - name: Publish package @@ -158,8 +158,8 @@ jobs: - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 - uses: actions/setup-node@v7 with: - node-version-file: ".nvmrc" - registry-url: "https://registry.npmjs.org" + node-version-file: '.nvmrc' + registry-url: 'https://registry.npmjs.org' package-manager-cache: false # avoid cache poisoning - run: pnpm install --frozen-lockfile # Versions like `3.2.3-canary-` (snapshot.useCalculatedVersion). diff --git a/README.md b/README.md index 1dbf2f9..ab24219 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This is a fork of the brilliant [fast-deep-equal](https://github.com/epoberezkin/fast-deep-equal) with some extra handling for React. -![benchmark chart](https://raw.githubusercontent.com/FormidableLabs/react-fast-compare/master/assets/benchmarking.png "benchmarking chart") +![benchmark chart](https://raw.githubusercontent.com/FormidableLabs/react-fast-compare/master/assets/benchmarking.png 'benchmarking chart') (Check out the [benchmarking details](#benchmarking-this-library).) @@ -35,10 +35,10 @@ $ npm install react-fast-compare ## Usage ```jsx -const isEqual = require("react-fast-compare"); +const isEqual = require('react-fast-compare'); // general usage -console.log(isEqual({ foo: "bar" }, { foo: "bar" })); // true +console.log(isEqual({ foo: 'bar' }, { foo: 'bar' })); // true // React.memo // only re-render ExpensiveComponent when the props have deeply changed diff --git a/benchmark/index.js b/benchmark/index.js index 3506934..da7c8a5 100644 --- a/benchmark/index.js +++ b/benchmark/index.js @@ -4,27 +4,27 @@ const tests = require('../test/node/tests'); const Benchmark = require('benchmark'); const correctnessTests = []; -const genericSuite = new Benchmark.Suite; -const advancedSuite = new Benchmark.Suite; +const genericSuite = new Benchmark.Suite(); +const advancedSuite = new Benchmark.Suite(); const equalPackages = { 'react-fast-compare': require('../index'), 'fast-deep-equal': require('fast-deep-equal/es6/react'), 'lodash.isEqual': require('lodash').isEqual, 'nano-equal': require('nano-equal'), - 'shallow-equal-fuzzy': require('shallow-equal-fuzzy') + 'shallow-equal-fuzzy': require('shallow-equal-fuzzy'), }; const advancedPkgs = new Set([ 'react-fast-compare', 'fast-deep-equal', - 'lodash.isEqual' + 'lodash.isEqual', ]); for (const equalName in equalPackages) { const equalFunc = equalPackages[equalName]; - genericSuite.add(equalName, function() { + genericSuite.add(equalName, function () { for (const testSuite of tests.generic) { for (const test of testSuite.tests) { try { @@ -37,7 +37,7 @@ for (const equalName in equalPackages) { }); if (advancedPkgs.has(equalName)) { - advancedSuite.add(equalName, function() { + advancedSuite.add(equalName, function () { for (const testSuite of tests.all) { for (const test of testSuite.tests) { try { @@ -55,9 +55,19 @@ for (const equalName in equalPackages) { correctnessTests.push(() => { try { if (equalFunc(test.value1, test.value2) !== test.equal) - console.error('- different result:', equalName, testSuite.description, test.description); - } catch(error) { - console.error('- error:', testSuite.description, test.description, error.message); + console.error( + '- different result:', + equalName, + testSuite.description, + test.description + ); + } catch (error) { + console.error( + '- error:', + testSuite.description, + test.description, + error.message + ); } }); } @@ -73,13 +83,13 @@ genericSuite .on('cycle', (event) => console.log(String(event.target))) .on('complete', function () { console.log(' fastest: ' + this.filter('fastest').map('name')); - chartData.categories = this.map(test => test.name); - chartData.genericTestData = this.map(test => ({ + chartData.categories = this.map((test) => test.name); + chartData.genericTestData = this.map((test) => ({ x: test.name, y: test.hz, })); }) - .run({async: false}); + .run({ async: false }); console.log('\n--- speed tests: generic and react ---\n'); @@ -87,18 +97,18 @@ advancedSuite .on('cycle', (event) => console.log(String(event.target))) .on('complete', function () { console.log(' fastest: ' + this.filter('fastest').map('name')); - chartData.reactAndGenericTestData = this.map(test => ({ + chartData.reactAndGenericTestData = this.map((test) => ({ x: test.name, y: test.hz, })); }) - .run({async: false}); + .run({ async: false }); // **Note**: `lodash.isEqual` gets different results for Sets, Maps // because it **is** correct and `fast-deep-equal` is not. // See: https://github.com/FormidableLabs/react-fast-compare/issues/50 console.log('\n--- correctness tests: generic and react ---\n'); -correctnessTests.forEach(test => test()); +correctnessTests.forEach((test) => test()); console.log(JSON.stringify(chartData, null, 2)); diff --git a/index.js b/index.js index 26cec8d..44f2031 100644 --- a/index.js +++ b/index.js @@ -18,8 +18,7 @@ function equal(a, b) { if (Array.isArray(a)) { length = a.length; if (length != b.length) return false; - for (i = length; i-- !== 0;) - if (!equal(a[i], b[i])) return false; + for (i = length; i-- !== 0;) if (!equal(a[i], b[i])) return false; return true; } @@ -44,22 +43,20 @@ function equal(a, b) { // // **Note**: `i` access switches to `i.value`. var it; - if (hasMap && (a instanceof Map) && (b instanceof Map)) { + if (hasMap && a instanceof Map && b instanceof Map) { if (a.size !== b.size) return false; it = a.entries(); - while (!(i = it.next()).done) - if (!b.has(i.value[0])) return false; + while (!(i = it.next()).done) if (!b.has(i.value[0])) return false; it = a.entries(); while (!(i = it.next()).done) if (!equal(i.value[1], b.get(i.value[0]))) return false; return true; } - if (hasSet && (a instanceof Set) && (b instanceof Set)) { + if (hasSet && a instanceof Set && b instanceof Set) { if (a.size !== b.size) return false; it = a.entries(); - while (!(i = it.next()).done) - if (!b.has(i.value[0])) return false; + while (!(i = it.next()).done) if (!b.has(i.value[0])) return false; return true; } // END: Modifications @@ -67,18 +64,28 @@ function equal(a, b) { if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) { length = a.length; if (length != b.length) return false; - for (i = length; i-- !== 0;) - if (a[i] !== b[i]) return false; + for (i = length; i-- !== 0;) if (a[i] !== b[i]) return false; return true; } - if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags; + if (a.constructor === RegExp) + return a.source === b.source && a.flags === b.flags; // START: Modifications: // Apply guards for `Object.create(null)` handling. See: // - https://github.com/FormidableLabs/react-fast-compare/issues/64 // - https://github.com/epoberezkin/fast-deep-equal/issues/49 - if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === 'function' && typeof b.valueOf === 'function') return a.valueOf() === b.valueOf(); - if (a.toString !== Object.prototype.toString && typeof a.toString === 'function' && typeof b.toString === 'function') return a.toString() === b.toString(); + if ( + a.valueOf !== Object.prototype.valueOf && + typeof a.valueOf === 'function' && + typeof b.valueOf === 'function' + ) + return a.valueOf() === b.valueOf(); + if ( + a.toString !== Object.prototype.toString && + typeof a.toString === 'function' && + typeof b.toString === 'function' + ) + return a.toString() === b.toString(); // END: Modifications keys = Object.keys(a); @@ -95,7 +102,10 @@ function equal(a, b) { // custom handling for React/Preact for (i = length; i-- !== 0;) { - if ((keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && a.$$typeof) { + if ( + (keys[i] === '_owner' || keys[i] === '__v' || keys[i] === '__o') && + a.$$typeof + ) { // React-specific: avoid traversing React elements' _owner // Preact-specific: avoid traversing Preact elements' __v and __o // __v = $_original / $_vnode @@ -124,7 +134,7 @@ module.exports = function isEqual(a, b) { try { return equal(a, b); } catch (error) { - if (((error.message || '').match(/stack|recursion/i))) { + if ((error.message || '').match(/stack|recursion/i)) { // warn on circular references, don't crash // browsers give this different errors name and messages: // chrome/safari: "RangeError", "Maximum call stack size exceeded" diff --git a/test/browser/browser.spec.js b/test/browser/browser.spec.js index df33d9a..a6d83ee 100644 --- a/test/browser/browser.spec.js +++ b/test/browser/browser.spec.js @@ -9,29 +9,31 @@ const element1 = document.createElement('div'); const element2 = document.createElement('div'); const element3 = document.createElement('input'); -const suites = [{ - description: 'DOM elements', - tests: [ - { - description: 'equal DOM elements', - value1: element1, - value2: element1, - equal: true - }, - { - description: 'comparison of different elements', - value1: element1, - value2: element2, - equal: false - }, - { - description: 'comparison of elements with different types', - value1: element1, - value2: element3, - equal: false - }, - ] -}]; +const suites = [ + { + description: 'DOM elements', + tests: [ + { + description: 'equal DOM elements', + value1: element1, + value2: element1, + equal: true, + }, + { + description: 'comparison of different elements', + value1: element1, + value2: element2, + equal: false, + }, + { + description: 'comparison of elements with different types', + value1: element1, + value2: element3, + equal: false, + }, + ], + }, +]; describe('browser', function () { let sandbox; diff --git a/test/browser/karma.conf.js b/test/browser/karma.conf.js index 3a4aeb4..c671d5e 100644 --- a/test/browser/karma.conf.js +++ b/test/browser/karma.conf.js @@ -35,15 +35,13 @@ const webpack = require('webpack'); // } // } -module.exports = function(config) { +module.exports = function (config) { config.set({ basePath: '../..', frameworks: ['mocha'], - files: [ - 'test/browser/index.js' - ], + files: ['test/browser/index.js'], preprocessors: { - 'test/browser/index.js': ['webpack'] + 'test/browser/index.js': ['webpack'], }, webpack: { mode: 'development', @@ -58,22 +56,20 @@ module.exports = function(config) { test: /\.js$/, enforce: 'pre', // Includes the vendored `fast-deep-equal` tests in `test/fixtures`. - include: [ - path.resolve(__dirname, '..') - ], + include: [path.resolve(__dirname, '..')], loader: 'babel-loader', options: { - presets: ['@babel/preset-env'] - } - } - ] + presets: ['@babel/preset-env'], + }, + }, + ], }, plugins: [ new webpack.ProvidePlugin({ assert: 'assert', - process: 'process' - }) - ] + process: 'process', + }), + ], }, exclude: [], port: 8080, @@ -86,10 +82,10 @@ module.exports = function(config) { ChromeHeadlessCustom: { base: 'ChromeHeadless', // --no-sandbox: Chrome's sandbox can't start in some CI containers. - flags: ['--no-sandbox'] - } + flags: ['--no-sandbox'], + }, }, - reporters: ['mocha'/* TODO, 'coverage'*/], + reporters: ['mocha' /* TODO, 'coverage'*/], browserNoActivityTimeout: 60000, plugins: [ 'karma-chrome-launcher', @@ -98,17 +94,17 @@ module.exports = function(config) { //'karma-coverage', 'karma-mocha', 'karma-mocha-reporter', - 'karma-webpack' + 'karma-webpack', ], coverageReporter: { - type: 'text' + type: 'text', }, browserConsoleLogOptions: { level: 'log', format: '%b %T: %m', - terminal: true + terminal: true, }, captureTimeout: 100000, - singleRun: true + singleRun: true, }); -}; \ No newline at end of file +}; diff --git a/test/node/basics.spec.js b/test/node/basics.spec.js index 3060d78..f785a6f 100644 --- a/test/node/basics.spec.js +++ b/test/node/basics.spec.js @@ -6,7 +6,7 @@ const sinon = require('sinon'); const equal = require('../..'); const tests = require('./tests'); -describe('basics', function() { +describe('basics', function () { let sandbox; beforeEach(() => { @@ -19,9 +19,9 @@ describe('basics', function() { }); tests.all.forEach(function (suite) { - describe(suite.description, function() { + describe(suite.description, function () { suite.tests.forEach(function (test) { - (test.skip ? it.skip : it)(test.description, function() { + (test.skip ? it.skip : it)(test.description, function () { assert.strictEqual(equal(test.value1, test.value2), test.equal); }); }); diff --git a/test/node/tests.js b/test/node/tests.js index 80dce85..01e99e5 100644 --- a/test/node/tests.js +++ b/test/node/tests.js @@ -3,40 +3,39 @@ const generic = require('../fixtures/fast-deep-equal/tests.js'); const es6 = require('../fixtures/fast-deep-equal/es6tests.js'); const reactElementA = { - '$$typeof': 'react.element', + $$typeof: 'react.element', type: 'div', key: null, ref: null, props: { x: 1 }, _owner: {}, - _store: {} + _store: {}, }; // in reality the _owner object is much more complex (and contains over dozen circular references) reactElementA._owner.children = [reactElementA]; const reactElementA2 = { - '$$typeof': 'react.element', + $$typeof: 'react.element', type: 'div', key: null, ref: null, props: { x: 1 }, _owner: {}, - _store: {} + _store: {}, }; reactElementA2._owner.children = [reactElementA2]; const reactElementB = { - '$$typeof': 'react.element', + $$typeof: 'react.element', type: 'div', key: null, ref: null, props: { x: 2 }, _owner: {}, - _store: {} + _store: {}, }; reactElementB._owner.children = [reactElementB]; - const react = [ { description: 'React elements', @@ -46,22 +45,22 @@ const react = [ description: 'an element compared with itself', value1: reactElementA, value2: reactElementA, - equal: true + equal: true, }, { description: 'two elements equal by value', value1: reactElementA, value2: reactElementA2, - equal: true + equal: true, }, { description: 'two elements unequal by value', value1: reactElementA, value2: reactElementB, - equal: false - } - ] - } + equal: false, + }, + ], + }, ]; // Additional customized behavior. @@ -73,42 +72,43 @@ const custom = [ description: 'Object.create(null) equal', value1: Object.create(null), value2: Object.create(null), - equal: true + equal: true, }, { description: 'Object.create(null) unequal to empty object', value1: Object.create(null), value2: {}, - equal: false + equal: false, }, { description: 'Object.create(null) unequal to non-empty object', value1: Object.create(null), value2: { a: 1 }, - equal: false + equal: false, }, // See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects { - description: 'Object.create(null) equal to vanilla null prototype deep objects', + description: + 'Object.create(null) equal to vanilla null prototype deep objects', value1: Object.assign(Object.create(null), { a: 1, b: { c: true } }), value2: { __proto__: null, a: 1, b: { c: true } }, - equal: true + equal: true, }, // Object.create(null) has a different `constructor` than a vanilla, non-null object. { description: 'Object.create(null) unequal to vanilla deep objects', value1: Object.assign(Object.create(null), { a: 1, b: { c: true } }), value2: { a: 1, b: { c: true } }, - equal: false + equal: false, }, { description: 'Object.create(null) equal for deep objects', value1: Object.assign(Object.create(null), { a: 1, b: { c: true } }), value2: Object.assign(Object.create(null), { b: { c: true }, a: 1 }), - equal: true - } - ] - } + equal: true, + }, + ], + }, ]; module.exports = { From 9b6ffb1638bb1c15c79c3c8e7566b4bb2f81f288 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 5 Nov 2026 21:25:12 -0800 Subject: [PATCH 07/19] [uplift] chore: fix oxlint errors (#144) Part of #140. Fixes the oxlint errors left after #142/#143; `pnpm check` now passes. - `benchmark/index.js`: `catch {` for the two unused catch variables (Node only, never published), and braces on the `if` that oxfmt split over several lines. - `test/node/advanced.spec.js`: drop the unused `react/prop-types` disable comment (oxlint doesn't have that rule). - Add `.git-blame-ignore-revs` with #143. This PR's squash SHA goes in after merge. --- .git-blame-ignore-revs | 7 +++++++ benchmark/index.js | 7 ++++--- test/node/advanced.spec.js | 1 - 3 files changed, 11 insertions(+), 4 deletions(-) create mode 100644 .git-blame-ignore-revs diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs new file mode 100644 index 0000000..83535ae --- /dev/null +++ b/.git-blame-ignore-revs @@ -0,0 +1,7 @@ +# Mechanical churn commits (formatting, lint fixes) that `git blame` should +# skip. GitHub reads this file automatically. Locally: +# git config blame.ignoreRevsFile .git-blame-ignore-revs +# PRs are squash-merged, so each SHA is added after its PR merges. + +# [uplift] chore: format with oxfmt (#143) +40505673987556571a90f975919ba7e318235660 diff --git a/benchmark/index.js b/benchmark/index.js index da7c8a5..7bddeed 100644 --- a/benchmark/index.js +++ b/benchmark/index.js @@ -29,7 +29,7 @@ for (const equalName in equalPackages) { for (const test of testSuite.tests) { try { equalFunc(test.value1, test.value2); - } catch (error) { + } catch { // swallow errors during benchmarking. they are reported in the test section } } @@ -42,7 +42,7 @@ for (const equalName in equalPackages) { for (const test of testSuite.tests) { try { equalFunc(test.value1, test.value2); - } catch (error) { + } catch { // swallow errors during benchmarking. they are reported in the test section } } @@ -54,13 +54,14 @@ for (const equalName in equalPackages) { for (const test of testSuite.tests) { correctnessTests.push(() => { try { - if (equalFunc(test.value1, test.value2) !== test.equal) + if (equalFunc(test.value1, test.value2) !== test.equal) { console.error( '- different result:', equalName, testSuite.description, test.description ); + } } catch (error) { console.error( '- error:', diff --git a/test/node/advanced.spec.js b/test/node/advanced.spec.js index c0fa172..ccfd625 100644 --- a/test/node/advanced.spec.js +++ b/test/node/advanced.spec.js @@ -1,6 +1,5 @@ 'use strict'; -/* eslint-disable react/prop-types */ /* eslint-disable react/no-children-prop */ const assert = require('assert'); From bd84bee3bd65631fe6226f3d8ee72e9c96269314 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Fri, 6 Nov 2026 00:42:26 -0800 Subject: [PATCH 08/19] [uplift] fix: revert unreleased type guard to 3.2.2 types (#145) Part of #140. Reverts #130 (merged Aug 2023, never released) so `index.d.ts` matches the published 3.2.2 again. `isEqual(a: any, b: B): a is B` narrows the first argument in the `false` branch too. When both arguments share a type, which is the usual case, the first argument becomes `never`: if (isEqual(prev, next)) return; prev.a; // TS2339: Property 'a' does not exist on type 'never' Same for `if (!isEqual(prev, next)) use(prev.a)` and ref patterns (tested on TS 4.9 and 5.9). Shipping that in 3.x would break type-checking for `^3` users. - `index.d.ts`: back to `isEqual(a: A, b: B): boolean` (byte-identical to 3.2.2). - `test-ts-usage`: a case that fails under the type guard. - No changeset: the published types don't change. A narrowing variant can be reconsidered for 4.0 as a separate opt-in function. --- index.d.ts | 2 +- test/typescript/sample-usage.tsx | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/index.d.ts b/index.d.ts index a5ae519..c65aa30 100644 --- a/index.d.ts +++ b/index.d.ts @@ -1,2 +1,2 @@ -declare function isEqual(a: any, b: B): a is B; +declare function isEqual(a: A, b: B): boolean; export = isEqual; diff --git a/test/typescript/sample-usage.tsx b/test/typescript/sample-usage.tsx index d9c7b91..0bd46e1 100644 --- a/test/typescript/sample-usage.tsx +++ b/test/typescript/sample-usage.tsx @@ -31,6 +31,14 @@ class TestChild extends React.Component { } } +// `equal` must return a plain `boolean`, not a type guard (`a is B`): after a +// `false` result, a guard narrows `prev` to `never`, so `prev.text` would not +// compile (#130). +export function changedText(prev: ITodo, next: ITodo): string | null { + if (equal(prev, next)) return null; + return prev.text; +} + class TestContainer extends React.Component { render() { return testArr.map((item) => ); From 90a2465e04ec398048b62591c8fe36e4fbf8ddb5 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Fri, 6 Nov 2026 10:16:34 -0800 Subject: [PATCH 09/19] [uplift] chore: add pack:check against the published 3.2.2 tarball (#146) Part of #140. Adds `pnpm pack:check` (cut down from victory's) and runs it in `pnpm check`. - publint + attw on the packed tarball. - Clean-directory install: `require()` and `import()` give the same working `isEqual`. - `pack-snapshot.json`: manifest fields, file list, type resolution, `index.d.ts`, and `index.js` minified without comments. Generated from the **published 3.2.2 tarball** (`--tarball`); the working tree matches it. - Formatting or comment changes in `index.js` pass. Code, types or manifest changes fail with a diff until `pnpm pack:check --update`. - CI: Linux runs `pnpm check`, Windows runs `pnpm test` only (format, lint and packing don't depend on the OS). - Pinned `publint@0.3.25`, `@arethetypeswrong/cli@0.18.5`, `terser@5.51.2`. - Adds #144 to `.git-blame-ignore-revs`. --- .git-blame-ignore-revs | 3 + .github/workflows/ci.yml | 6 + .oxfmtrc.json | 1 + CONTRIBUTING.md | 10 ++ pack-snapshot.json | 102 ++++++++++++ package.json | 9 +- pnpm-lock.yaml | 346 +++++++++++++++++++++++++++++++++++++-- scripts/pack-check.mjs | 299 +++++++++++++++++++++++++++++++++ 8 files changed, 760 insertions(+), 16 deletions(-) create mode 100644 pack-snapshot.json create mode 100644 scripts/pack-check.mjs diff --git a/.git-blame-ignore-revs b/.git-blame-ignore-revs index 83535ae..00bedab 100644 --- a/.git-blame-ignore-revs +++ b/.git-blame-ignore-revs @@ -5,3 +5,6 @@ # [uplift] chore: format with oxfmt (#143) 40505673987556571a90f975919ba7e318235660 + +# [uplift] chore: fix oxlint errors (#144) +9b6ffb1638bb1c15c79c3c8e7566b4bb2f81f288 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7490825..1d9d580 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -38,4 +38,10 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile - name: Check + if: matrix.os == 'ubuntu-latest' run: pnpm check + # Format, lint and the packed tarball don't depend on the OS, so Windows + # only runs the tests. + - name: Test + if: matrix.os == 'windows-latest' + run: pnpm test diff --git a/.oxfmtrc.json b/.oxfmtrc.json index b07f626..a3719dd 100644 --- a/.oxfmtrc.json +++ b/.oxfmtrc.json @@ -8,6 +8,7 @@ "ignorePatterns": [ ".changeset", "CHANGELOG.md", + "pack-snapshot.json", "pnpm-lock.yaml", "test/fixtures/fast-deep-equal/" ] diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 63c8a3a..fe55caf 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -128,6 +128,16 @@ $ pnpm run lint:fix `index.js` stays ES5 in 3.x, so don't apply ES2015+ fixes (`let`/`const`, arrow functions) to it. +### Published package + +`pnpm pack:check` (part of `pnpm check`) packs the package and checks what it publishes: + +- publint and [attw](https://github.com/arethetypeswrong/arethetypeswrong.github.io) find no problems. +- Installed in a clean directory, `require('react-fast-compare')` and `import isEqual from 'react-fast-compare'` give the same working function. +- The tarball matches `pack-snapshot.json`: manifest fields, file list, type resolution, `index.d.ts`, and `index.js` minified without comments. + +The snapshot was generated from the published 3.2.2 tarball. In 3.x, changes to `index.js` that only touch formatting or comments pass. Anything else fails until you run `pnpm pack:check --update` and commit the new snapshot, so every change to what users get shows up in review. To check another tarball, such as a published version, pass `--tarball ` (from `npm pack react-fast-compare@`). + ### Size You can check how we do with minification + compression with: diff --git a/pack-snapshot.json b/pack-snapshot.json new file mode 100644 index 0000000..fd75ee7 --- /dev/null +++ b/pack-snapshot.json @@ -0,0 +1,102 @@ +{ + "manifest": { + "name": "react-fast-compare", + "main": "index.js", + "types": "index.d.ts", + "typings": "index.d.ts", + "files": [ + "index.js", + "index.d.ts" + ] + }, + "files": [ + "LICENSE", + "README.md", + "index.d.ts", + "index.js", + "package.json" + ], + "resolutions": { + "node10": "types=index.d.ts js=index.js", + "node16-cjs": "types=index.d.ts js=index.js", + "node16-esm": "types=index.d.ts js=index.js", + "bundler": "types=index.d.ts js=index.js" + }, + "types": [ + "declare function isEqual(a: A, b: B): boolean;", + "export = isEqual;", + "" + ], + "code": [ + "var hasElementType = typeof Element !== \"undefined\";", + "", + "var hasMap = typeof Map === \"function\";", + "", + "var hasSet = typeof Set === \"function\";", + "", + "var hasArrayBuffer = typeof ArrayBuffer === \"function\" && !!ArrayBuffer.isView;", + "", + "function equal(a, b) {", + " if (a === b) return true;", + " if (a && b && typeof a == \"object\" && typeof b == \"object\") {", + " if (a.constructor !== b.constructor) return false;", + " var length, i, keys;", + " if (Array.isArray(a)) {", + " length = a.length;", + " if (length != b.length) return false;", + " for (i = length; i-- !== 0; ) if (!equal(a[i], b[i])) return false;", + " return true;", + " }", + " var it;", + " if (hasMap && a instanceof Map && b instanceof Map) {", + " if (a.size !== b.size) return false;", + " it = a.entries();", + " while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;", + " it = a.entries();", + " while (!(i = it.next()).done) if (!equal(i.value[1], b.get(i.value[0]))) return false;", + " return true;", + " }", + " if (hasSet && a instanceof Set && b instanceof Set) {", + " if (a.size !== b.size) return false;", + " it = a.entries();", + " while (!(i = it.next()).done) if (!b.has(i.value[0])) return false;", + " return true;", + " }", + " if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {", + " length = a.length;", + " if (length != b.length) return false;", + " for (i = length; i-- !== 0; ) if (a[i] !== b[i]) return false;", + " return true;", + " }", + " if (a.constructor === RegExp) return a.source === b.source && a.flags === b.flags;", + " if (a.valueOf !== Object.prototype.valueOf && typeof a.valueOf === \"function\" && typeof b.valueOf === \"function\") return a.valueOf() === b.valueOf();", + " if (a.toString !== Object.prototype.toString && typeof a.toString === \"function\" && typeof b.toString === \"function\") return a.toString() === b.toString();", + " keys = Object.keys(a);", + " length = keys.length;", + " if (length !== Object.keys(b).length) return false;", + " for (i = length; i-- !== 0; ) if (!Object.prototype.hasOwnProperty.call(b, keys[i])) return false;", + " if (hasElementType && a instanceof Element) return false;", + " for (i = length; i-- !== 0; ) {", + " if ((keys[i] === \"_owner\" || keys[i] === \"__v\" || keys[i] === \"__o\") && a.$$typeof) {", + " continue;", + " }", + " if (!equal(a[keys[i]], b[keys[i]])) return false;", + " }", + " return true;", + " }", + " return a !== a && b !== b;", + "}", + "", + "module.exports = function isEqual(a, b) {", + " try {", + " return equal(a, b);", + " } catch (error) {", + " if ((error.message || \"\").match(/stack|recursion/i)) {", + " console.warn(\"react-fast-compare cannot handle circular refs\");", + " return false;", + " }", + " throw error;", + " }", + "};" + ] +} diff --git a/package.json b/package.json index d8bfdd4..e5d9fcc 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "typings": "index.d.ts", "scripts": { "preversion": "pnpm check", - "check": "pnpm format && pnpm lint && pnpm test", + "check": "pnpm format && pnpm lint && pnpm test && pnpm pack:check", "benchmark": "node benchmark", "format": "oxfmt --check", "format:fix": "oxfmt", @@ -20,7 +20,8 @@ "test": "builder concurrent --buffer test-ts-usage test-ts-defs test-node-cov test-browser", "compress": "terser --compress --mangle=\"toplevel:true\" -- index.js", "size-min-gz": "pnpm -s compress | gzip -9 | wc -c", - "changeset": "changeset" + "changeset": "changeset", + "pack:check": "node scripts/pack-check.mjs" }, "repository": { "type": "git", @@ -42,6 +43,7 @@ "homepage": "https://github.com/FormidableLabs/react-fast-compare", "packageManager": "pnpm@12.16.0", "devDependencies": { + "@arethetypeswrong/cli": "0.18.5", "@babel/core": "^7.21.0", "@babel/preset-env": "^7.20.2", "@changesets/changelog-github": "^1.0.1", @@ -75,6 +77,7 @@ "oxlint": "1.90.0", "preact": "^10.13.1", "process": "^0.11.10", + "publint": "0.3.25", "react": "^18.2.0", "react-dom": "^18.2.0", "react-redux": "^8.0.5", @@ -82,7 +85,7 @@ "redux": "^4.2.1", "shallow-equal-fuzzy": "0.0.2", "sinon": "^15.0.1", - "terser": "^5.16.6", + "terser": "5.51.2", "typescript": "^4.9.5", "webpack": "^5.76.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 104b71b..a667dca 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -166,6 +166,9 @@ importers: .: devDependencies: + '@arethetypeswrong/cli': + specifier: 0.18.5 + version: 0.18.5 '@babel/core': specifier: ^7.21.0 version: 7.21.0(supports-color@8.1.1) @@ -265,6 +268,9 @@ importers: process: specifier: ^0.11.10 version: 0.11.10 + publint: + specifier: 0.3.25 + version: 0.3.25 react: specifier: ^18.2.0 version: 18.2.0 @@ -287,8 +293,8 @@ importers: specifier: ^15.0.1 version: 15.0.1 terser: - specifier: ^5.16.6 - version: 5.16.6 + specifier: 5.51.2 + version: 5.51.2 typescript: specifier: ^4.9.5 version: 4.9.5 @@ -302,6 +308,18 @@ packages: resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} engines: {node: '>=6.0.0'} + '@andrewbranch/untar.js@1.0.4': + resolution: {integrity: sha512-pVXSwPsLuw8IGLo2Di0EaOfsk+ntVvpkk942J/sHYIkwvtKUakEcPh7HBgZ6tuimgzKSEHgCvO4XgQ05DEbwDw==} + + '@arethetypeswrong/cli@0.18.5': + resolution: {integrity: sha512-gM+8vRsQOD/Uc7EnBedUhkG5OCsDWE4uoak5QvomGpMpaky0Eh41p04nIMgrWb8EOmqZUJGc6zz9hsP6E56R7g==} + engines: {node: '>=20'} + hasBin: true + + '@arethetypeswrong/core@0.18.5': + resolution: {integrity: sha512-9ytjzGwxjm9Uz7I9avfbt5vlQt6uk9uRRESzJjqrznl6WKvI6dwYTo+vJ3U02Wrq/mR3iql/PzhvHhKdJIAjDQ==} + engines: {node: '>=20'} + '@babel/code-frame@7.21.4': resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} engines: {node: '>=6.9.0'} @@ -854,6 +872,9 @@ packages: resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} engines: {node: '>=6.9.0'} + '@braidai/lang@1.1.2': + resolution: {integrity: sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==} + '@changesets/apply-release-plan@8.1.1': resolution: {integrity: sha512-nk2Hbq3M9NeHMdaIRBDvawKrQJzXB9sGyBUE5yWnIKtvdcNCPj75zBekJYr0gTT2ecJH3eFeTrc8eisPImcv0Q==} engines: {node: ^22.11 || ^24 || >=26} @@ -951,6 +972,9 @@ packages: resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} + '@jridgewell/gen-mapping@0.3.2': resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} engines: {node: '>=6.0.0'} @@ -963,15 +987,24 @@ packages: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} - '@jridgewell/source-map@0.3.2': - resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + '@jridgewell/source-map@0.3.11': + resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} '@jridgewell/sourcemap-codec@1.4.14': resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + '@jridgewell/sourcemap-codec@1.6.0': + resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} + '@jridgewell/trace-mapping@0.3.17': resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} + + '@loaderkit/resolve@1.0.6': + resolution: {integrity: sha512-G8FdIoF5CypfwmD9rl8BXod5HDn8JqB0CCNBXDTaRZ+yRYhARrrSToX1zg1zy9jX3zLqigsELwhT4gNtkdQAUg==} + '@manypkg/find-root@3.1.0': resolution: {integrity: sha512-BcSqCyKhBVZ5YkSzOiheMCV41kqAFptW6xGqYSTjkVTl9XQpr+pqHhwgGCOHQtjDCv7Is6EFyA14Sm5GVbVABA==} engines: {node: '>=20.0.0'} @@ -1236,6 +1269,14 @@ packages: resolution: {integrity: sha512-pOr5+q1fLYKwFN3LAJuGZEnfXDcQ73zqgDHMtGy+K+uIoUqyY+6MeDCWFwfu+4EFuq76I5EPFofoNAI+Bmmq4A==} engines: {node: '>=22.13'} + '@publint/pack@0.1.7': + resolution: {integrity: sha512-4EDEmvxWtgsCnnVeBvtFIFZtUhPPt1+bA9JrSwU4Sa//6oKtzCSlGGXYJr44OD9aGISymbieJ4mCKHUygUDU+g==} + engines: {node: '>=18'} + + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} + '@sinonjs/commons@2.0.0': resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} @@ -1392,6 +1433,11 @@ packages: resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} engines: {node: '>=0.4.0'} + acorn@8.19.0: + resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} + engines: {node: '>=0.4.0'} + hasBin: true + acorn@8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} @@ -1429,6 +1475,10 @@ packages: ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ansi-escapes@7.3.0: + resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} + engines: {node: '>=18'} + ansi-regex@3.0.0: resolution: {integrity: sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ==} engines: {node: '>=4'} @@ -1457,6 +1507,9 @@ packages: resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + anymatch@3.1.2: resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} engines: {node: '>= 8'} @@ -1590,6 +1643,14 @@ packages: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} + chalk@5.6.2: + resolution: {integrity: sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + chokidar@3.5.3: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} @@ -1602,10 +1663,22 @@ packages: resolution: {integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==} engines: {node: '>=6.0'} + cjs-module-lexer@1.4.3: + resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} + clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} + cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + + cli-table3@0.6.5: + resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} + engines: {node: 10.* || >= 12.*} + cliui@6.0.0: resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} @@ -1633,6 +1706,10 @@ packages: resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} engines: {node: '>= 0.8'} + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} @@ -1798,6 +1875,9 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + encodeurl@1.0.2: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} @@ -1821,6 +1901,10 @@ packages: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} + es-get-iterator@1.1.3: resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} @@ -1915,6 +1999,9 @@ packages: picomatch: optional: true + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} @@ -2062,6 +2149,9 @@ packages: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + hoist-non-react-statics@3.3.2: resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} @@ -2433,6 +2523,10 @@ packages: lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} + lru-cache@11.5.3: + resolution: {integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==} + engines: {node: 20 || >=22} + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -2444,6 +2538,17 @@ packages: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} + marked-terminal@7.3.1: + resolution: {integrity: sha512-B1eKs5mRiacjHHMlex1zn0zkVomz2/KWjD/dyA8WRQTXk2d15OzVjiK/iuPfvDFB27Gvr8p/u6MYgU0NY/O45w==} + engines: {node: '>=16.0.0'} + peerDependencies: + marked: '>=1 <19' + + marked@9.1.6: + resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} + engines: {node: '>= 16'} + hasBin: true + media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -2487,6 +2592,10 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} + engines: {node: '>=4'} + ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -2496,6 +2605,9 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nano-equal@2.0.2: resolution: {integrity: sha512-RtAioZtSSppEWRruYU8oz2AKPJWTW74TpzcqP79n7Kh4nHW+gmrJGcTuELmid9tvGR4Xp2cCoTtYIIDy9iWO4g==} @@ -2509,6 +2621,10 @@ packages: nise@5.1.4: resolution: {integrity: sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==} + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} + node-preload@0.2.1: resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} engines: {node: '>=8'} @@ -2637,6 +2753,15 @@ packages: package-manager-detector@1.9.0: resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + + parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} @@ -2709,6 +2834,11 @@ packages: psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + publint@0.3.25: + resolution: {integrity: sha512-WMMbn/d7JqRlfXQL/JUI4n5skC8cJ5WVr8/wT5mmiYWkUdENkZr1I5rgs2+dQPVRgoJd+JRYtB46MTsuDylw9g==} + engines: {node: '>=18'} + hasBin: true + punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} engines: {node: '>=6'} @@ -2854,6 +2984,10 @@ packages: deprecated: Rimraf versions prior to v4 are no longer supported hasBin: true + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} + safe-buffer@5.1.2: resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} @@ -2932,6 +3066,10 @@ packages: sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} + socket.io-adapter@2.5.2: resolution: {integrity: sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==} @@ -3009,6 +3147,10 @@ packages: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} + supports-hyperlinks@3.2.0: + resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} + engines: {node: '>=14.18'} + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} @@ -3036,8 +3178,8 @@ packages: uglify-js: optional: true - terser@5.16.6: - resolution: {integrity: sha512-IBZ+ZQIA9sMaXmRZCUMDjNH0D5AQQfdn4WUjHL0+1lF4TP1IHRJbrhb6fNaXWikrYQTSkb7SLxkeXAiy1p7mbg==} + terser@5.51.2: + resolution: {integrity: sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q==} engines: {node: '>=10'} hasBin: true @@ -3045,6 +3187,13 @@ packages: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + tinyexec@1.3.1: resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} engines: {node: '>=18'} @@ -3112,6 +3261,11 @@ packages: engines: {node: '>=4.2.0'} hasBin: true + typescript@5.6.1-rc: + resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} + engines: {node: '>=14.17'} + hasBin: true + ua-parser-js@0.7.31: resolution: {integrity: sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==} deprecated: You are using an outdated version of ua-parser-js. Please update to ua-parser-js v0.7.33 / v1.0.33 / v2.0.0 (or later) to avoid ReDoS vulnerability [CVE-2022-25927](https://github.com/advisories/GHSA-fhg7-m89q-25r3) @@ -3120,6 +3274,10 @@ packages: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} + unicode-match-property-ecmascript@2.0.0: resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} engines: {node: '>=4'} @@ -3173,6 +3331,10 @@ packages: deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). hasBin: true + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} @@ -3355,6 +3517,29 @@ snapshots: '@jridgewell/gen-mapping': 0.1.1 '@jridgewell/trace-mapping': 0.3.17 + '@andrewbranch/untar.js@1.0.4': {} + + '@arethetypeswrong/cli@0.18.5': + dependencies: + '@arethetypeswrong/core': 0.18.5 + chalk: 4.1.2 + cli-table3: 0.6.5 + commander: 10.0.1 + marked: 9.1.6 + marked-terminal: 7.3.1(marked@9.1.6) + semver: 7.8.5 + + '@arethetypeswrong/core@0.18.5': + dependencies: + '@andrewbranch/untar.js': 1.0.4 + '@loaderkit/resolve': 1.0.6 + cjs-module-lexer: 1.4.3 + fflate: 0.8.3 + lru-cache: 11.5.3 + semver: 7.8.5 + typescript: 5.6.1-rc + validate-npm-package-name: 5.0.1 + '@babel/code-frame@7.21.4': dependencies: '@babel/highlight': 7.18.6 @@ -4066,6 +4251,8 @@ snapshots: '@babel/helper-validator-identifier': 7.19.1 to-fast-properties: 2.0.0 + '@braidai/lang@1.1.2': {} + '@changesets/apply-release-plan@8.1.1': dependencies: '@changesets/config': 4.0.1 @@ -4217,6 +4404,11 @@ snapshots: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/trace-mapping': 0.3.31 + '@jridgewell/gen-mapping@0.3.2': dependencies: '@jridgewell/set-array': 1.1.2 @@ -4227,18 +4419,29 @@ snapshots: '@jridgewell/set-array@1.1.2': {} - '@jridgewell/source-map@0.3.2': + '@jridgewell/source-map@0.3.11': dependencies: - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 '@jridgewell/sourcemap-codec@1.4.14': {} + '@jridgewell/sourcemap-codec@1.6.0': {} + '@jridgewell/trace-mapping@0.3.17': dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + '@loaderkit/resolve@1.0.6': + dependencies: + '@braidai/lang': 1.1.2 + '@manypkg/find-root@3.1.0': dependencies: '@manypkg/tools': 2.1.2 @@ -4373,6 +4576,12 @@ snapshots: '@pnpm/deps.graph-sequencer@1100.0.1': {} + '@publint/pack@0.1.7': + dependencies: + tinyexec: 1.3.1 + + '@sindresorhus/is@4.6.0': {} + '@sinonjs/commons@2.0.0': dependencies: type-detect: 4.0.8 @@ -4569,6 +4778,8 @@ snapshots: acorn-walk@8.2.0: {} + acorn@8.19.0: {} + acorn@8.8.2: {} agent-base@6.0.0(supports-color@8.1.1): @@ -4609,6 +4820,10 @@ snapshots: require-from-string: 2.0.2 uri-js: 4.4.1 + ansi-escapes@7.3.0: + dependencies: + environment: 1.1.0 + ansi-regex@3.0.0: {} ansi-regex@5.0.1: {} @@ -4628,6 +4843,8 @@ snapshots: ansi-styles@6.2.3: {} + any-promise@1.3.0: {} + anymatch@3.1.2: dependencies: normalize-path: 3.0.0 @@ -4785,6 +5002,10 @@ snapshots: ansi-styles: 4.2.1 supports-color: 7.2.0 + chalk@5.6.2: {} + + char-regex@1.0.2: {} + chokidar@3.5.3: dependencies: anymatch: 3.1.2 @@ -4805,8 +5026,25 @@ snapshots: dependencies: tslib: 1.13.0 + cjs-module-lexer@1.4.3: {} + clean-stack@2.2.0: {} + cli-highlight@2.1.11: + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + + cli-table3@0.6.5: + dependencies: + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 + cliui@6.0.0: dependencies: string-width: 4.2.3 @@ -4841,6 +5079,8 @@ snapshots: dependencies: delayed-stream: 1.0.0 + commander@10.0.1: {} + commander@2.20.3: {} commondir@1.0.1: {} @@ -4997,6 +5237,8 @@ snapshots: emoji-regex@9.2.2: {} + emojilib@2.4.0: {} + encodeurl@1.0.2: {} engine.io-parser@5.0.6: {} @@ -5027,6 +5269,8 @@ snapshots: entities@4.4.0: {} + environment@1.1.0: {} + es-get-iterator@1.1.3: dependencies: call-bind: 1.0.2 @@ -5105,6 +5349,8 @@ snapshots: optionalDependencies: picomatch: 4.0.7 + fflate@0.8.3: {} + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 @@ -5253,6 +5499,8 @@ snapshots: he@1.2.0: {} + highlight.js@10.7.3: {} + hoist-non-react-statics@3.3.2: dependencies: react-is: 16.13.1 @@ -5687,6 +5935,8 @@ snapshots: lru-cache@10.4.3: {} + lru-cache@11.5.3: {} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 @@ -5697,6 +5947,19 @@ snapshots: dependencies: semver: 6.3.0 + marked-terminal@7.3.1(marked@9.1.6): + dependencies: + ansi-escapes: 7.3.0 + ansi-regex: 6.5.0 + chalk: 5.6.2 + cli-highlight: 2.1.11 + cli-table3: 0.6.5 + marked: 9.1.6 + node-emoji: 2.2.0 + supports-hyperlinks: 3.2.0 + + marked@9.1.6: {} + media-typer@0.3.0: {} merge-stream@2.0.0: {} @@ -5749,12 +6012,20 @@ snapshots: yargs-parser: 21.1.1 yargs-unparser: 2.0.0 + mri@1.2.0: {} + ms@2.0.0: {} ms@2.1.2: {} ms@2.1.3: {} + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + nano-equal@2.0.2: {} negotiator@0.6.2: {} @@ -5769,6 +6040,13 @@ snapshots: just-extend: 4.1.0 path-to-regexp: 1.8.0 + node-emoji@2.2.0: + dependencies: + '@sindresorhus/is': 4.6.0 + char-regex: 1.0.2 + emojilib: 2.4.0 + skin-tone: 2.0.0 + node-preload@0.2.1: dependencies: process-on-spawn: 1.0.0 @@ -5939,6 +6217,14 @@ snapshots: package-manager-detector@1.9.0: {} + parse5-htmlparser2-tree-adapter@6.0.1: + dependencies: + parse5: 6.0.1 + + parse5@5.1.1: {} + + parse5@6.0.1: {} + parse5@7.1.2: dependencies: entities: 4.4.0 @@ -5994,6 +6280,13 @@ snapshots: psl@1.9.0: {} + publint@0.3.25: + dependencies: + '@publint/pack': 0.1.7 + package-manager-detector: 1.9.0 + picocolors: 1.1.1 + sade: 1.8.1 + punycode@2.3.0: {} qjobs@1.2.0: {} @@ -6126,6 +6419,10 @@ snapshots: dependencies: glob: 7.2.3 + sade@1.8.1: + dependencies: + mri: 1.2.0 + safe-buffer@5.1.2: {} safe-buffer@5.2.1: {} @@ -6200,6 +6497,10 @@ snapshots: sisteransi@1.0.5: {} + skin-tone@2.0.0: + dependencies: + unicode-emoji-modifier-base: 1.0.0 + socket.io-adapter@2.5.2: dependencies: ws: 8.11.0 @@ -6299,6 +6600,11 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-hyperlinks@3.2.0: + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + supports-preserve-symlinks-flag@1.0.0: {} symbol-tree@3.2.4: {} @@ -6311,13 +6617,13 @@ snapshots: schema-utils: 3.1.1 serialize-javascript: 6.0.0 source-map: 0.6.1 - terser: 5.16.6 + terser: 5.51.2 webpack: 5.76.0 - terser@5.16.6: + terser@5.51.2: dependencies: - '@jridgewell/source-map': 0.3.2 - acorn: 8.8.2 + '@jridgewell/source-map': 0.3.11 + acorn: 8.19.0 commander: 2.20.3 source-map-support: 0.5.21 @@ -6327,6 +6633,14 @@ snapshots: glob: 7.2.3 minimatch: 3.1.2 + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + tinyexec@1.3.1: {} tinyglobby@0.2.17: @@ -6382,10 +6696,14 @@ snapshots: typescript@4.9.5: {} + typescript@5.6.1-rc: {} + ua-parser-js@0.7.31: {} unicode-canonical-property-names-ecmascript@2.0.0: {} + unicode-emoji-modifier-base@1.0.0: {} + unicode-match-property-ecmascript@2.0.0: dependencies: unicode-canonical-property-names-ecmascript: 2.0.0 @@ -6433,6 +6751,8 @@ snapshots: uuid@8.3.2: {} + validate-npm-package-name@5.0.1: {} + vary@1.1.2: {} void-elements@2.0.1: {} diff --git a/scripts/pack-check.mjs b/scripts/pack-check.mjs new file mode 100644 index 0000000..91a0b3c --- /dev/null +++ b/scripts/pack-check.mjs @@ -0,0 +1,299 @@ +// Checks what the package publishes (`pnpm pack:check`): +// +// 1. Packs the package with `pnpm pack`, or takes a tarball given with +// `--tarball ` (e.g. a published version from +// `npm pack react-fast-compare@3.2.2`). +// 2. Runs publint and attw (`@arethetypeswrong/cli`) on it. +// 3. Installs it outside the repo and loads it with `require()` and +// `import()`: both must give the same working `isEqual` function. +// 4. Compares it against `pack-snapshot.json`: manifest fields, file list, +// how attw resolves the types, `index.d.ts`, and `index.js` minified +// without comments. In 3.x only formatting and comments may change in +// `index.js` (see CONTRIBUTING). Pass `--update` to rewrite the snapshot +// after an intended change. +import { execFileSync } from 'node:child_process'; +import fs from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; +import { publint } from 'publint'; +import { formatMessage } from 'publint/utils'; +import { minify } from 'terser'; + +const { log, error } = console; + +// Every field that makes consumers install another package. The package has +// none, and this check doesn't install any. +const DEPENDENCY_FIELDS = [ + 'dependencies', + 'peerDependencies', + 'optionalDependencies', + 'bundleDependencies', + 'bundledDependencies', +]; + +// Manifest fields that change how consumers resolve or install the package. +const SNAPSHOT_FIELDS = [ + 'name', + 'type', + 'main', + 'module', + 'types', + 'typings', + 'exports', + 'imports', + 'browser', + 'sideEffects', + 'files', + 'bin', + 'engines', + 'os', + 'cpu', + ...DEPENDENCY_FIELDS, + 'peerDependenciesMeta', +]; + +const args = process.argv.slice(2); +const update = args.includes('--update'); +const tarballArg = args.includes('--tarball') + ? args[args.indexOf('--tarball') + 1] + : null; +const rootDir = path.resolve(import.meta.dirname, '..'); +const workDir = path.join(rootDir, 'node_modules/.cache/pack-check'); +const snapshotPath = path.join(rootDir, 'pack-snapshot.json'); +const failures = []; + +const run = (cmd, cmdArgs, opts = {}) => + execFileSync(cmd, cmdArgs, { encoding: 'utf8', ...opts }); + +// Pack +fs.rmSync(workDir, { recursive: true, force: true }); +fs.mkdirSync(workDir, { recursive: true }); +let tarball; +if (tarballArg) { + tarball = path.resolve(tarballArg); +} else { + const { filename } = JSON.parse( + run('pnpm', ['pack', '--json', '--pack-destination', workDir], { + cwd: rootDir, + stdio: ['ignore', 'pipe', 'inherit'], + }) + ); + tarball = path.resolve(workDir, filename); +} +const files = run('tar', ['tzf', tarball]) + .split('\n') + .filter((f) => f && !f.endsWith('/')) + .map((f) => f.replace(/^package\//, '')) + .sort(); + +// Install outside the repo, so nothing resolves through the repo's +// `node_modules`. The package has no dependencies to link in. +const installRoot = fs.realpathSync( + fs.mkdtempSync(path.join(os.tmpdir(), 'pack-check-')) +); +for (let dir = path.dirname(installRoot); ; dir = path.dirname(dir)) { + if (fs.existsSync(path.join(dir, 'node_modules'))) + throw new Error(`${installRoot} isn't isolated: found ${dir}/node_modules`); + + if (dir === path.dirname(dir)) break; +} +const modulesDir = path.join(installRoot, 'node_modules'); +fs.mkdirSync(modulesDir); +run('tar', ['xzf', tarball, '-C', installRoot]); +const manifest = JSON.parse( + fs.readFileSync(path.join(installRoot, 'package/package.json'), 'utf8') +); +const installed = path.join(modulesDir, manifest.name); +fs.renameSync(path.join(installRoot, 'package'), installed); +for (const field of DEPENDENCY_FIELDS) { + const value = manifest[field]; + // `bundleDependencies` is a list of names, or `true` for all of them. + const names = Array.isArray(value) ? value : Object.keys(value ?? {}); + if (value === true || names.length) + failures.push(`Unexpected ${field}: ${JSON.stringify(value)}`); +} +const readPublished = (file) => + fs.readFileSync(path.join(installed, file), 'utf8'); + +try { + // publint + const { messages, pkg } = await publint({ + pkgDir: installed, + pack: false, + level: 'warning', + }); + for (const message of messages) { + failures.push( + `publint ${message.type} (${message.code}): ${formatMessage(message, pkg)}` + ); + } + + // attw. It exits before a piped stdout is flushed, so write to a file. + const attwJson = path.join(workDir, 'attw.json'); + const attwFd = fs.openSync(attwJson, 'w'); + try { + run('attw', [tarball, '--format', 'json'], { + stdio: ['ignore', attwFd, 'inherit'], + }); + } catch { + // Exits non-zero when it finds problems; they're read from the JSON. + } finally { + fs.closeSync(attwFd); + } + // No JSON means attw itself failed (its error is printed above). + const attwOutput = fs.readFileSync(attwJson, 'utf8'); + if (!attwOutput.trim()) throw new Error('attw failed; see its output above'); + const { analysis } = JSON.parse(attwOutput); + const stripPkg = (fileName) => + fileName?.replace(`/node_modules/${manifest.name}/`, ''); + for (const p of analysis.problems) { + failures.push( + `attw: ${[p.kind, p.entrypoint, p.resolutionKind, stripPkg(p.fileName)] + .filter(Boolean) + .join(' ')}` + ); + } + // Which types and JS file the package resolves to, per resolution mode. + const resolutions = Object.fromEntries( + Object.entries(analysis.entrypoints['.'].resolutions).map(([kind, r]) => [ + kind, + `types=${stripPkg(r.resolution?.fileName) ?? 'none'} js=${stripPkg(r.implementationResolution?.fileName) ?? 'none'}`, + ]) + ); + + // Load with `require()` and `import()`. + const loader = path.join(installRoot, 'load.mjs'); + fs.writeFileSync( + loader, + `import { createRequire } from 'node:module'; +const require = createRequire(import.meta.url); +const errors = []; +const spec = ${JSON.stringify(manifest.name)}; +const cjs = require(spec); +const esm = (await import(spec)).default; +if (typeof cjs !== 'function') errors.push('require(): not a function'); +if (esm !== cjs) errors.push('import(): default export is not module.exports'); +if (typeof cjs === 'function') { + if (cjs({ a: [1, { b: 2 }] }, { a: [1, { b: 2 }] }) !== true) { + errors.push('isEqual: equal objects compare false'); + } + if (cjs({ a: 1 }, { a: 2 }) !== false) { + errors.push('isEqual: different objects compare true'); + } +} +console.log(JSON.stringify(errors)); +` + ); + try { + const errors = JSON.parse( + run(process.execPath, [loader], { + cwd: installRoot, + stdio: ['ignore', 'pipe', 'pipe'], + }) + ); + failures.push(...errors.map((e) => `Loading ${manifest.name}: ${e}`)); + } catch (err) { + failures.push( + `Loading ${manifest.name} failed: ${(err.stderr || err.message).trim()}` + ); + } + + // Published code. Minified without comments, so formatting and comments + // don't count, and pretty-printed one statement per line, so a change shows + // up as a readable diff. Without `compress`, the output depends only on the + // code, not on the minifier's optimizations. + const { code } = await minify(readPublished(manifest.main), { + compress: false, + mangle: false, + format: { comments: false, beautify: true }, + }); + + // Snapshot + const snapshot = { + manifest: Object.fromEntries( + SNAPSHOT_FIELDS.filter((f) => f in manifest).map((f) => [f, manifest[f]]) + ), + files, + resolutions, + types: readPublished(manifest.types ?? manifest.typings).split('\n'), + code: code.split('\n'), + }; + if (update) { + fs.writeFileSync(snapshotPath, `${JSON.stringify(snapshot, null, 2)}\n`); + log(`Wrote ${path.relative(rootDir, snapshotPath)}`); + } else { + const expected = JSON.parse(fs.readFileSync(snapshotPath, 'utf8')); + const diffs = []; + for (const field of new Set([ + ...Object.keys(expected.manifest), + ...Object.keys(snapshot.manifest), + ])) { + const [a, b] = [expected.manifest[field], snapshot.manifest[field]].map( + (v) => JSON.stringify(v) + ); + if (a !== b) diffs.push(` manifest ${field}: ${a} -> ${b}`); + } + for (const kind of new Set([ + ...Object.keys(expected.resolutions), + ...Object.keys(resolutions), + ])) { + const a = expected.resolutions[kind] ?? 'missing'; + const b = resolutions[kind] ?? 'missing'; + if (a !== b) diffs.push(` resolution ${kind}: ${a} -> ${b}`); + } + diffs.push(...listDiff(expected.files, files, 'file ')); + diffs.push(...hunkDiff(expected.types, snapshot.types, 'types')); + diffs.push(...hunkDiff(expected.code, snapshot.code, 'code')); + if (diffs.length) { + failures.push( + `Published output differs from pack-snapshot.json (if intended, run \`pnpm pack:check --update\` and commit it):\n${diffs.join('\n')}` + ); + } + } +} finally { + fs.rmSync(installRoot, { recursive: true, force: true }); +} + +log(`${manifest.name}@${manifest.version}: ${files.length} files`); +if (failures.length) { + error(failures.join('\n\n')); + process.exit(1); +} + +// Entries removed and added (for unordered lists like the file list). +function listDiff(before, after, label) { + const [a, b] = [new Set(before), new Set(after)]; + return [ + ...before.filter((x) => !b.has(x)).map((x) => ` - ${label}${x}`), + ...after.filter((x) => !a.has(x)).map((x) => ` + ${label}${x}`), + ]; +} + +// The one hunk spanning every changed line, for ordered text (`index.d.ts`, +// `index.js`). Run `--update` and `git diff` for a finer diff. +function hunkDiff(before, after, label) { + let start = 0; + while ( + start < before.length && + start < after.length && + before[start] === after[start] + ) + start++; + + if (start === before.length && start === after.length) return []; + let endBefore = before.length; + let endAfter = after.length; + while ( + endBefore > start && + endAfter > start && + before[endBefore - 1] === after[endAfter - 1] + ) { + endBefore--; + endAfter--; + } + return [ + ` ${label}, line ${start + 1}:`, + ...before.slice(start, endBefore).map((x) => ` - ${x}`), + ...after.slice(start, endAfter).map((x) => ` + ${x}`), + ]; +} From afa54d0d68af68c1550e5750d90e784ebc8aa4e3 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Fri, 6 Nov 2026 14:59:38 -0800 Subject: [PATCH 10/19] [uplift] chore: TypeScript 7 + JSDoc types with types:check (#147) Part of #140 (Phase 2: TypeScript 7 + JSDoc). ## Changes - **TypeScript 7.0.2**, pinned exactly. - **`tsconfig.json`** rewritten: `allowJs`, `checkJs`, `strict`, `noEmit`, `nodenext`, `lib: ["ES2015", "DOM"]`, only `index.js`. Drops the stale ESLint keys (`env`, `parserOptions`) and the unused `references`. - **`index.js`: comments only.** JSDoc on `isEqual` (`@template [A=any]`, `@template [B=any]`, `@param {A} a`, `@param {B} b`, `@returns {boolean}`), `@param {any}` on `equal()`, a JSDoc type on the `catch` binding, and casts inside `ArrayBuffer.isView(...)` so `a`/`b` aren't narrowed to `ArrayBufferView`. Upstream fast-deep-equal lines are untouched apart from that `if`. - **`pnpm types:check`** (added to `check`): runs `tsc` and fails on any type error, writes the generated declarations to a temp dir, and fails if they differ from `index.d.ts`. Statement order is ignored, because `tsc` emits `export =` first and 3.2.2's file has it last. - **`test-ts-*`** kept until the type probe replaces them, updated for TS 7: `--ignoreConfig`, `--noEmit` in place of the removed `--target ES5`, and a default `state` in the Redux sample reducer, since `strict` is on by default in TS 7. ## Checks - `pnpm check` passes. `pack:check` passes without `--update`, so the minified `index.js` and `index.d.ts` are unchanged from 3.2.2. - `types:check` fails as expected when a JSDoc type changes (`@param {A} b`) or when a cast is removed. --- index.js | 25 ++- package.json | 9 +- pnpm-lock.yaml | 219 ++++++++++++++++++- scripts/types-check.mjs | 75 +++++++ test/typescript/sample-react-redux-usage.tsx | 2 +- test/typescript/tsconfig.tsbuildinfo | 1 + tsconfig.json | 20 +- 7 files changed, 325 insertions(+), 26 deletions(-) create mode 100644 scripts/types-check.mjs create mode 100644 test/typescript/tsconfig.tsbuildinfo diff --git a/index.js b/index.js index 44f2031..0e927d5 100644 --- a/index.js +++ b/index.js @@ -7,6 +7,11 @@ var hasArrayBuffer = typeof ArrayBuffer === 'function' && !!ArrayBuffer.isView; // Note: We **don't** need `envHasBigInt64Array` in fde es6/index.js +/** + * @param {any} a + * @param {any} b + * @returns {boolean} + */ function equal(a, b) { // START: fast-deep-equal es6/index.js 3.1.3 if (a === b) return true; @@ -61,7 +66,14 @@ function equal(a, b) { } // END: Modifications - if (hasArrayBuffer && ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) { + // Types: the casts stop `isView()` narrowing `a` and `b` to + // `ArrayBufferView`, which has no `length` or index signature (typed + // arrays have both, a `DataView` has neither). + if ( + hasArrayBuffer && + ArrayBuffer.isView(/** @type {unknown} */ (a)) && + ArrayBuffer.isView(/** @type {unknown} */ (b)) + ) { length = a.length; if (length != b.length) return false; for (i = length; i-- !== 0;) if (a[i] !== b[i]) return false; @@ -130,10 +142,19 @@ function equal(a, b) { } // end fast-deep-equal +/** + * Deep equality check, tuned for React elements. + * + * @template [A=any] + * @template [B=any] + * @param {A} a + * @param {B} b + * @returns {boolean} + */ module.exports = function isEqual(a, b) { try { return equal(a, b); - } catch (error) { + } catch (/** @type {any} */ error) { if ((error.message || '').match(/stack|recursion/i)) { // warn on circular references, don't crash // browsers give this different errors name and messages: diff --git a/package.json b/package.json index e5d9fcc..d7842f2 100644 --- a/package.json +++ b/package.json @@ -6,17 +6,18 @@ "typings": "index.d.ts", "scripts": { "preversion": "pnpm check", - "check": "pnpm format && pnpm lint && pnpm test && pnpm pack:check", + "check": "pnpm format && pnpm lint && pnpm types:check && pnpm test && pnpm pack:check", "benchmark": "node benchmark", "format": "oxfmt --check", "format:fix": "oxfmt", "lint": "oxlint --report-unused-disable-directives-severity=error", "lint:fix": "oxlint --report-unused-disable-directives-severity=error --fix", + "types:check": "node scripts/types-check.mjs", "test-browser": "karma start test/browser/karma.conf.js", "test-node": "mocha \"test/node/*.spec.js\"", "test-node-cov": "nyc mocha \"test/node/*.spec.js\"", - "test-ts-usage": "tsc --esModuleInterop --jsx react --noEmit test/typescript/sample-react-redux-usage.tsx test/typescript/sample-usage.tsx", - "test-ts-defs": "tsc --target ES5 index.d.ts", + "test-ts-usage": "tsc --ignoreConfig --esModuleInterop --jsx react --noEmit test/typescript/sample-react-redux-usage.tsx test/typescript/sample-usage.tsx", + "test-ts-defs": "tsc --ignoreConfig --noEmit index.d.ts", "test": "builder concurrent --buffer test-ts-usage test-ts-defs test-node-cov test-browser", "compress": "terser --compress --mangle=\"toplevel:true\" -- index.js", "size-min-gz": "pnpm -s compress | gzip -9 | wc -c", @@ -86,7 +87,7 @@ "shallow-equal-fuzzy": "0.0.2", "sinon": "^15.0.1", "terser": "5.51.2", - "typescript": "^4.9.5", + "typescript": "7.0.2", "webpack": "^5.76.0" }, "nyc": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a667dca..d48d0f5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -296,8 +296,8 @@ importers: specifier: 5.51.2 version: 5.51.2 typescript: - specifier: ^4.9.5 - version: 4.9.5 + specifier: 7.0.2 + version: 7.0.2 webpack: specifier: ^5.76.0 version: 5.76.0 @@ -1358,6 +1358,126 @@ packages: '@types/use-sync-external-store@0.0.3': resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} + '@typescript/typescript-aix-ppc64@7.0.2': + resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [aix] + + '@typescript/typescript-darwin-arm64@7.0.2': + resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [darwin] + + '@typescript/typescript-darwin-x64@7.0.2': + resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [darwin] + + '@typescript/typescript-freebsd-arm64@7.0.2': + resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [freebsd] + + '@typescript/typescript-freebsd-x64@7.0.2': + resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [freebsd] + + '@typescript/typescript-linux-arm64@7.0.2': + resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [linux] + + '@typescript/typescript-linux-arm@7.0.2': + resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==} + engines: {node: '>=16.20.0'} + cpu: [arm] + os: [linux] + + '@typescript/typescript-linux-loong64@7.0.2': + resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==} + engines: {node: '>=16.20.0'} + cpu: [loong64] + os: [linux] + + '@typescript/typescript-linux-mips64el@7.0.2': + resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==} + engines: {node: '>=16.20.0'} + cpu: [mips64el] + os: [linux] + + '@typescript/typescript-linux-ppc64@7.0.2': + resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==} + engines: {node: '>=16.20.0'} + cpu: [ppc64] + os: [linux] + + '@typescript/typescript-linux-riscv64@7.0.2': + resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==} + engines: {node: '>=16.20.0'} + cpu: [riscv64] + os: [linux] + + '@typescript/typescript-linux-s390x@7.0.2': + resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==} + engines: {node: '>=16.20.0'} + cpu: [s390x] + os: [linux] + + '@typescript/typescript-linux-x64@7.0.2': + resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [linux] + + '@typescript/typescript-netbsd-arm64@7.0.2': + resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [netbsd] + + '@typescript/typescript-netbsd-x64@7.0.2': + resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [netbsd] + + '@typescript/typescript-openbsd-arm64@7.0.2': + resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [openbsd] + + '@typescript/typescript-openbsd-x64@7.0.2': + resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [openbsd] + + '@typescript/typescript-sunos-x64@7.0.2': + resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [sunos] + + '@typescript/typescript-win32-arm64@7.0.2': + resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==} + engines: {node: '>=16.20.0'} + cpu: [arm64] + os: [win32] + + '@typescript/typescript-win32-x64@7.0.2': + resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==} + engines: {node: '>=16.20.0'} + cpu: [x64] + os: [win32] + '@webassemblyjs/ast@1.11.1': resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} @@ -3256,16 +3376,16 @@ packages: typedarray-to-buffer@3.1.5: resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - typescript@4.9.5: - resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} - engines: {node: '>=4.2.0'} - hasBin: true - typescript@5.6.1-rc: resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} engines: {node: '>=14.17'} hasBin: true + typescript@7.0.2: + resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} + engines: {node: '>=16.20.0'} + hasBin: true + ua-parser-js@0.7.31: resolution: {integrity: sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==} deprecated: You are using an outdated version of ua-parser-js. Please update to ua-parser-js v0.7.33 / v1.0.33 / v2.0.0 (or later) to avoid ReDoS vulnerability [CVE-2022-25927](https://github.com/advisories/GHSA-fhg7-m89q-25r3) @@ -4678,6 +4798,66 @@ snapshots: '@types/use-sync-external-store@0.0.3': {} + '@typescript/typescript-aix-ppc64@7.0.2': + optional: true + + '@typescript/typescript-darwin-arm64@7.0.2': + optional: true + + '@typescript/typescript-darwin-x64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-freebsd-x64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm64@7.0.2': + optional: true + + '@typescript/typescript-linux-arm@7.0.2': + optional: true + + '@typescript/typescript-linux-loong64@7.0.2': + optional: true + + '@typescript/typescript-linux-mips64el@7.0.2': + optional: true + + '@typescript/typescript-linux-ppc64@7.0.2': + optional: true + + '@typescript/typescript-linux-riscv64@7.0.2': + optional: true + + '@typescript/typescript-linux-s390x@7.0.2': + optional: true + + '@typescript/typescript-linux-x64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-netbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-arm64@7.0.2': + optional: true + + '@typescript/typescript-openbsd-x64@7.0.2': + optional: true + + '@typescript/typescript-sunos-x64@7.0.2': + optional: true + + '@typescript/typescript-win32-arm64@7.0.2': + optional: true + + '@typescript/typescript-win32-x64@7.0.2': + optional: true + '@webassemblyjs/ast@1.11.1': dependencies: '@webassemblyjs/helper-numbers': 1.11.1 @@ -6694,10 +6874,31 @@ snapshots: dependencies: is-typedarray: 1.0.0 - typescript@4.9.5: {} - typescript@5.6.1-rc: {} + typescript@7.0.2: + optionalDependencies: + '@typescript/typescript-aix-ppc64': 7.0.2 + '@typescript/typescript-darwin-arm64': 7.0.2 + '@typescript/typescript-darwin-x64': 7.0.2 + '@typescript/typescript-freebsd-arm64': 7.0.2 + '@typescript/typescript-freebsd-x64': 7.0.2 + '@typescript/typescript-linux-arm': 7.0.2 + '@typescript/typescript-linux-arm64': 7.0.2 + '@typescript/typescript-linux-loong64': 7.0.2 + '@typescript/typescript-linux-mips64el': 7.0.2 + '@typescript/typescript-linux-ppc64': 7.0.2 + '@typescript/typescript-linux-riscv64': 7.0.2 + '@typescript/typescript-linux-s390x': 7.0.2 + '@typescript/typescript-linux-x64': 7.0.2 + '@typescript/typescript-netbsd-arm64': 7.0.2 + '@typescript/typescript-netbsd-x64': 7.0.2 + '@typescript/typescript-openbsd-arm64': 7.0.2 + '@typescript/typescript-openbsd-x64': 7.0.2 + '@typescript/typescript-sunos-x64': 7.0.2 + '@typescript/typescript-win32-arm64': 7.0.2 + '@typescript/typescript-win32-x64': 7.0.2 + ua-parser-js@0.7.31: {} unicode-canonical-property-names-ecmascript@2.0.0: {} diff --git a/scripts/types-check.mjs b/scripts/types-check.mjs new file mode 100644 index 0000000..adc2d20 --- /dev/null +++ b/scripts/types-check.mjs @@ -0,0 +1,75 @@ +// Type-checks `index.js` from its JSDoc and checks it against `index.d.ts` +// (`pnpm types:check`): +// +// 1. Runs `tsc` with `tsconfig.json` (`checkJs`, `strict`), emitting only +// declarations, to a temp dir. Any type error fails. +// 2. Compares the emitted `index.d.ts` with the hand-written one, which is +// what 3.x publishes. Statement order is ignored: `tsc` emits +// `export = isEqual;` before the declaration, and 3.2.2's file has it +// after. Anything else that differs fails, so the two can't drift. +import { execFileSync } from 'node:child_process'; +import fs from 'node:fs'; +import { createRequire } from 'node:module'; +import os from 'node:os'; +import path from 'node:path'; + +const { log, error } = console; + +const rootDir = path.resolve(import.meta.dirname, '..'); +const require = createRequire(import.meta.url); +const tsc = path.join( + path.dirname(require.resolve('typescript/package.json')), + 'bin', + 'tsc' +); + +// Non-empty lines, trimmed and sorted. +const normalize = (text) => + text + .split(/\r?\n/) + .map((line) => line.trim()) + .filter(Boolean) + .sort(); + +// Returns the exit code. +const check = (outDir) => { + try { + execFileSync( + process.execPath, + [ + tsc, + '--project', + path.join(rootDir, 'tsconfig.json'), + '--noEmit', + 'false', + '--declaration', + '--emitDeclarationOnly', + '--removeComments', + '--outDir', + outDir, + ], + { cwd: rootDir, stdio: 'inherit' } + ); + } catch { + error('types:check: tsc failed.'); + return 1; + } + + const emitted = fs.readFileSync(path.join(outDir, 'index.d.ts'), 'utf8'); + const published = fs.readFileSync(path.join(rootDir, 'index.d.ts'), 'utf8'); + if (normalize(emitted).join('\n') !== normalize(published).join('\n')) { + error('types:check: declarations from JSDoc differ from index.d.ts.'); + error('\n--- emitted from index.js ---\n' + emitted); + error('--- index.d.ts ---\n' + published); + return 1; + } + log('types:check: OK (index.js JSDoc matches index.d.ts)'); + return 0; +}; + +const outDir = fs.mkdtempSync(path.join(os.tmpdir(), 'rfc-types-check-')); +try { + process.exitCode = check(outDir); +} finally { + fs.rmSync(outDir, { recursive: true, force: true }); +} diff --git a/test/typescript/sample-react-redux-usage.tsx b/test/typescript/sample-react-redux-usage.tsx index 268ce87..1711708 100644 --- a/test/typescript/sample-react-redux-usage.tsx +++ b/test/typescript/sample-react-redux-usage.tsx @@ -20,7 +20,7 @@ const initialState: IState = { items: [], }; -const reducer = (state: IState, action: IAction) => { +const reducer = (state: IState = initialState, action: IAction) => { return state; }; diff --git a/test/typescript/tsconfig.tsbuildinfo b/test/typescript/tsconfig.tsbuildinfo new file mode 100644 index 0000000..eef12e0 --- /dev/null +++ b/test/typescript/tsconfig.tsbuildinfo @@ -0,0 +1 @@ +{"version":"7.0.2","root":[[44,45]],"packageJsons":["../../node_modules/.pnpm/@types+hoist-non-react-statics@3.3.1/node_modules/@types/hoist-non-react-statics/package.json","../../node_modules/.pnpm/@types+prop-types@15.7.3/node_modules/@types/prop-types/package.json","../../node_modules/.pnpm/@types+react-dom@16.9.8/node_modules/@types/react-dom/package.json","../../node_modules/.pnpm/@types+react@16.9.35/node_modules/@types/react/package.json","../../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/package.json","../../node_modules/.pnpm/csstype@2.6.10/node_modules/csstype/package.json","../../node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/package.json","../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/package.json","../../node_modules/.pnpm/react@18.2.0/node_modules/react/package.json","../../node_modules/.pnpm/redux@4.2.1/node_modules/redux/package.json","../../node_modules/.pnpm/use-sync-external-store@1.0.0_react@18.2.0/node_modules/use-sync-external-store/package.json","../../package.json"],"missingPackageJsons":["../../node_modules/.pnpm/@types+hoist-non-react-statics@3.3.1/node_modules/react/package.json","../../node_modules/.pnpm/@types+react-dom@16.9.8/node_modules/react/package.json","../../node_modules/.pnpm/@types+react@16.9.35/node_modules/prop-types/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/@types/use-sync-external-store/with-selector/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-native/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/components/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/connect/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/hooks/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/use-sync-external-store/with-selector/package.json"],"fileNames":["lib.es6.d.ts","lib.es5.d.ts","lib.es2015.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts","lib.webworker.importscripts.d.ts","lib.scripthost.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2018.asynciterable.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+react@16.9.35/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@2.6.10/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+prop-types@15.7.3/node_modules/@types/prop-types/index.d.ts","../../node_modules/.pnpm/@types+react@16.9.35/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react-dom@16.9.8/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/reactbatchedupdates.d.ts","../../node_modules/.pnpm/redux@4.2.1/node_modules/redux/index.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/subscription.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/components/context.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/components/provider.d.ts","../../node_modules/.pnpm/@types+hoist-non-react-statics@3.3.1/node_modules/@types/hoist-non-react-statics/index.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/types.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/connect/selectorfactory.d.ts","../../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/index.d.ts","../../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/with-selector.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/usesyncexternalstore.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/components/connect.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/hooks/usedispatch.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/hooks/useselector.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/hooks/usestore.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/shallowequal.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/exports.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/index.d.ts","../../index.d.ts","./sample-react-redux-usage.tsx","./sample-usage.tsx"],"fileInfos":["d5989fd19a90632be70bb582dce051c9",{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f",{"version":"aae8996e8b5684814785a42cbbefcd79","affectsGlobalScope":true,"impliedNodeFormat":1},"abad6dd56cc8caf095c165df8124d237",{"version":"2a9941db0809c9ad0e8837ed629b1dcc","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d051b93324f36bcc68d152a5ca0988cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7376cd32b4c24f5e3471d538cce0a6cc","affectsGlobalScope":true,"impliedNodeFormat":1},"cdab56a98e2799503649ed9fb828354c","6ed0c2b51741b7f9a464f81ffebf1c15",{"version":"b231ecbcee7c60c29c58ecc0b3bfa420","affectsGlobalScope":true,"impliedNodeFormat":1},"eaa1fde8bf16bbb589f282c92dbe56da","6a0b6b4b392a782f2d7e9fcf18d1259f",{"version":"0139c837c4b77e8bf9ca4862b3b5b402","affectsGlobalScope":true,"impliedNodeFormat":1},"c7476a36ac17674d9e6348949a4a020f","744d549e39fb2aec18f51001adc8b7f2","a285482b1ee242199f172dd27737ada2","0c7a2d28d5e48b8d78bac1e63b1293b7","4b1d59f626811623ae04ac3f34d78970","2c5373be10f09cd4b67fc4ada58cd906","b51da9fbf09aeb13e9e40847793e2d87","5292475dc78e70eac35362920b4e776e","b139874f766ce4041d64328ecdbd883e","9578593fa99ef16544d5c98a0db00f95","cb849316fde74b6b70fe20b89a3481d5","eaae60aa7f1223634b9a2d1f7f95b222","20ac72c4b5089e0f5c020290d209afef","6f913952671301583d38d307911c92a1","215d56c4b8210fe5446cb789faed48d6","cfb792ede0cfdc3114e476f29a0735f8","1df46f12d4648e46aed5be301a7a567b","8b49fbc742068ff24482c2f6db4b34c3","494a105c55f9d709cd324beb355dfa20"],"fileIdsList":[[23],[20,21,22],[26,28,31,32,35],[23,26,27],[23,26,28],[23,26,31],[27,28,29,31,32,36,37,38,39,40],[23,26,28,31,35],[25,41],[23,26,30,36],[24],[33,34],[23,24,26,42,43],[23,43]],"options":{"composite":true,"jsx":3,"target":2,"allowSyntheticDefaultImports":true},"referencedMap":[[30,1],[24,1],[23,2],[36,3],[28,4],[29,5],[32,6],[41,7],[37,5],[38,8],[39,5],[42,9],[31,10],[25,11],[35,12],[44,13],[45,14]],"affectedFilesPendingEmit":[[44,17],[45,17]],"emitSignatures":[44,45]} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index 526deaa..02fbd71 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,14 +1,14 @@ { "compilerOptions": { - "noImplicitAny": true + "allowJs": true, + "checkJs": true, + "lib": ["ES2015", "DOM"], + "module": "nodenext", + "moduleResolution": "nodenext", + "noEmit": true, + "strict": true, + "target": "ES2015", + "types": [] }, - "env": { - "browser": true, - "node": true, - "es6": true - }, - "references": [{ "path": "test/typescript" }], - "parserOptions": { - "sourceType": "module" - } + "include": ["index.js"] } From d8a0e4d358c70e5183bcd0227d58befd6a12ecb6 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Fri, 6 Nov 2026 19:49:40 -0800 Subject: [PATCH 11/19] [uplift] chore: type probe against the packed tarball (#148) Part of #140 (Phase 2: type probe). Compiles a small TypeScript consumer in `test/types/` against the **packed tarball** as a step in `pack:check`: - `probe.cts`: CommonJS consumer; `import = require` and default import both give 3.2.2's exact signature. - `probe.mts`: ES module consumer; `React.memo(C, isEqual)`, `shouldComponentUpdate`, a `useSelector`-style `(a, b) => boolean` callback, no narrowing to `never` after `false` (#130), and `@ts-expect-error` negatives (return type, arity). Replaces `test-ts-defs`/`test-ts-usage` and drops the `react-dom`/`react-redux`/`redux` deps used only by them. **No resolution matrix.** TS 7 removed `moduleResolution: node10` and `esModuleInterop: false`. In 3.x, every mode resolves the same `index.d.ts` anyway (no `exports`; attw's resolutions are already in `pack-snapshot.json`). The matrix comes back in 4.0 with the `exports` map, using an aliased TS 6 for `node10`. Checked: the probe fails on the #130 type guard, an `any` return and a one-arg signature, and passes on the published 3.2.2 tarball. `pnpm check` passes. No published change. --- .github/pull_request_template.md | 2 +- CONTRIBUTING.md | 10 +- package.json | 11 +- pnpm-lock.yaml | 144 ++----------------- scripts/pack-check.mjs | 41 +++++- test/types/probe.cts | 9 ++ test/types/probe.mts | 47 ++++++ test/types/signature.ts | 9 ++ test/types/tsconfig.json | 14 ++ test/typescript/sample-react-redux-usage.tsx | 46 ------ test/typescript/sample-usage.tsx | 48 ------- test/typescript/tsconfig.json | 8 -- test/typescript/tsconfig.tsbuildinfo | 1 - 13 files changed, 132 insertions(+), 258 deletions(-) create mode 100644 test/types/probe.cts create mode 100644 test/types/probe.mts create mode 100644 test/types/signature.ts create mode 100644 test/types/tsconfig.json delete mode 100644 test/typescript/sample-react-redux-usage.tsx delete mode 100644 test/typescript/sample-usage.tsx delete mode 100644 test/typescript/tsconfig.json delete mode 100644 test/typescript/tsconfig.tsbuildinfo diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 06a3827..4fb322a 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -12,7 +12,7 @@ Please include a summary of the change and which issue is fixed. Please also inc ## Checklist: - [ ] All tests are passing -- [ ] Type definitions, if updated, pass both `test-ts-defs` and `test-ts-usage` +- [ ] Type definitions, if updated, pass `types:check` and `pack:check` - [ ] Benchmark performance has not significantly decreased - [ ] Bundle size has not been significantly impacted - [ ] The bundle size badge has been updated to reflect the new size diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index fe55caf..38fd666 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -102,15 +102,7 @@ $ pnpm run test-browser --browsers Chrome,Firefox,Safari ### Types -We validate our TypeScript `index.d.ts` with two steps: - -```sh -# Runs the TypeScript compiler over our types -$ pnpm run test-ts-defs - -# Runs our types through a sample TypeScript file -$ pnpm run test-ts-usage -``` +`pnpm types:check` type-checks `index.js` from its JSDoc and checks that the declarations it emits match `index.d.ts`. `pnpm pack:check` then compiles the type probe in `test/types/` against the packed package, as a CommonJS (`.cts`) and an ES module (`.mts`) consumer. Add a case there for any usage the types must keep supporting. ### Style diff --git a/package.json b/package.json index d7842f2..6cd6eea 100644 --- a/package.json +++ b/package.json @@ -16,9 +16,7 @@ "test-browser": "karma start test/browser/karma.conf.js", "test-node": "mocha \"test/node/*.spec.js\"", "test-node-cov": "nyc mocha \"test/node/*.spec.js\"", - "test-ts-usage": "tsc --ignoreConfig --esModuleInterop --jsx react --noEmit test/typescript/sample-react-redux-usage.tsx test/typescript/sample-usage.tsx", - "test-ts-defs": "tsc --ignoreConfig --noEmit index.d.ts", - "test": "builder concurrent --buffer test-ts-usage test-ts-defs test-node-cov test-browser", + "test": "builder concurrent --buffer test-node-cov test-browser", "compress": "terser --compress --mangle=\"toplevel:true\" -- index.js", "size-min-gz": "pnpm -s compress | gzip -9 | wc -c", "changeset": "changeset", @@ -52,9 +50,7 @@ "@testing-library/dom": "^9.0.1", "@testing-library/preact": "^3.2.3", "@types/node": "^18.15.0", - "@types/react": "^16.9.35", - "@types/react-dom": "^16.9.8", - "@types/react-redux": "^7.1.25", + "@types/react": "^19.3.0", "assert": "^2.0.0", "babel-loader": "^9.1.2", "benchmark": "^2.1.4", @@ -80,10 +76,7 @@ "process": "^0.11.10", "publint": "0.3.25", "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-redux": "^8.0.5", "react-test-renderer": "^18.2.0", - "redux": "^4.2.1", "shallow-equal-fuzzy": "0.0.2", "sinon": "^15.0.1", "terser": "5.51.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d48d0f5..5fd45c9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -191,14 +191,8 @@ importers: specifier: ^18.15.0 version: 18.15.0 '@types/react': - specifier: ^16.9.35 - version: 16.9.35 - '@types/react-dom': - specifier: ^16.9.8 - version: 16.9.8 - '@types/react-redux': - specifier: ^7.1.25 - version: 7.1.25 + specifier: ^19.3.0 + version: 19.3.0 assert: specifier: ^2.0.0 version: 2.0.0 @@ -274,18 +268,9 @@ importers: react: specifier: ^18.2.0 version: 18.2.0 - react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) - react-redux: - specifier: ^8.0.5 - version: 8.0.5(@types/react-dom@16.9.8)(@types/react@16.9.35)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1) react-test-renderer: specifier: ^18.2.0 version: 18.2.0(react@18.2.0) - redux: - specifier: ^4.2.1 - version: 4.2.1 shallow-equal-fuzzy: specifier: 0.0.2 version: 0.0.2 @@ -1334,29 +1319,14 @@ packages: '@types/estree@0.0.51': resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - '@types/hoist-non-react-statics@3.3.1': - resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} - '@types/json-schema@7.0.11': resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} '@types/node@18.15.0': resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} - '@types/prop-types@15.7.3': - resolution: {integrity: sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==} - - '@types/react-dom@16.9.8': - resolution: {integrity: sha512-ykkPQ+5nFknnlU6lDd947WbQ6TE3NNzbQAkInC2EKY1qeYdTKp7onFusmYZb+ityzx2YviqT6BXSu+LyWWJwcA==} - - '@types/react-redux@7.1.25': - resolution: {integrity: sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==} - - '@types/react@16.9.35': - resolution: {integrity: sha512-q0n0SsWcGc8nDqH2GJfWQWUOmZSJhXV64CjVN5SvcNti3TdEaA3AH0D8DwNmMdzjMAC/78tB8nAZIlV8yTz+zQ==} - - '@types/use-sync-external-store@0.0.3': - resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} + '@types/react@19.3.0': + resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} '@typescript/typescript-aix-ppc64@7.0.2': resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} @@ -1882,8 +1852,8 @@ packages: resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} engines: {node: '>=8'} - csstype@2.6.10: - resolution: {integrity: sha512-D34BqZU4cIlMCY93rZHbrq9pjTAQJ3U8S8rfBqjwHxkGPThWFjzZDQpgMJY0QViLxth6ZKYiwFBo14RdN44U/w==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} custom-event@1.0.1: resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} @@ -2272,9 +2242,6 @@ packages: highlight.js@10.7.3: resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - hoist-non-react-statics@3.3.2: - resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} - html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} engines: {node: '>=12'} @@ -2985,41 +2952,12 @@ packages: resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} engines: {node: '>= 0.8'} - react-dom@18.2.0: - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} - peerDependencies: - react: ^18.2.0 - - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} react-is@18.2.0: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - react-redux@8.0.5: - resolution: {integrity: sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==} - peerDependencies: - '@types/react': ^16.8 || ^17.0 || ^18.0 - '@types/react-dom': ^16.8 || ^17.0 || ^18.0 - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - react-native: '>=0.59' - redux: ^4 - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - react-dom: - optional: true - react-native: - optional: true - redux: - optional: true - react-shallow-renderer@16.15.0: resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} peerDependencies: @@ -3042,9 +2980,6 @@ packages: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - redux@4.2.1: - resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} - regenerate-unicode-properties@10.1.0: resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} engines: {node: '>=4'} @@ -3434,11 +3369,6 @@ packages: url-parse@1.5.10: resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - use-sync-external-store@1.0.0: - resolution: {integrity: sha512-AFVsxg5GkFg8GDcxnl+Z0lMAz9rE8DGJCc28qnBuQF7lac57B5smLcT37aXpXIIPz75rW4g3eXHPjhHwdGskOw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0-rc - util@0.12.4: resolution: {integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==} @@ -4769,34 +4699,13 @@ snapshots: '@types/estree@0.0.51': {} - '@types/hoist-non-react-statics@3.3.1': - dependencies: - '@types/react': 16.9.35 - hoist-non-react-statics: 3.3.2 - '@types/json-schema@7.0.11': {} '@types/node@18.15.0': {} - '@types/prop-types@15.7.3': {} - - '@types/react-dom@16.9.8': - dependencies: - '@types/react': 16.9.35 - - '@types/react-redux@7.1.25': + '@types/react@19.3.0': dependencies: - '@types/hoist-non-react-statics': 3.3.1 - '@types/react': 16.9.35 - hoist-non-react-statics: 3.3.2 - redux: 4.2.1 - - '@types/react@16.9.35': - dependencies: - '@types/prop-types': 15.7.3 - csstype: 2.6.10 - - '@types/use-sync-external-store@0.0.3': {} + csstype: 3.2.3 '@typescript/typescript-aix-ppc64@7.0.2': optional: true @@ -5315,7 +5224,7 @@ snapshots: dependencies: cssom: 0.3.8 - csstype@2.6.10: {} + csstype@3.2.3: {} custom-event@1.0.1: {} @@ -5681,10 +5590,6 @@ snapshots: highlight.js@10.7.3: {} - hoist-non-react-statics@3.3.2: - dependencies: - react-is: 16.13.1 - html-encoding-sniffer@3.0.0: dependencies: whatwg-encoding: 2.0.0 @@ -6488,33 +6393,10 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - react-dom@18.2.0(react@18.2.0): - dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 - - react-is@16.13.1: {} - react-is@17.0.2: {} react-is@18.2.0: {} - react-redux@8.0.5(@types/react-dom@16.9.8)(@types/react@16.9.35)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(redux@4.2.1): - dependencies: - '@babel/runtime': 7.21.5 - '@types/hoist-non-react-statics': 3.3.1 - '@types/use-sync-external-store': 0.0.3 - hoist-non-react-statics: 3.3.2 - react: 18.2.0 - react-is: 18.2.0 - use-sync-external-store: 1.0.0(react@18.2.0) - optionalDependencies: - '@types/react': 16.9.35 - '@types/react-dom': 16.9.8 - react-dom: 18.2.0(react@18.2.0) - redux: 4.2.1 - react-shallow-renderer@16.15.0(react@18.2.0): dependencies: object-assign: 4.1.1 @@ -6538,10 +6420,6 @@ snapshots: readdirp@4.1.2: {} - redux@4.2.1: - dependencies: - '@babel/runtime': 7.21.5 - regenerate-unicode-properties@10.1.0: dependencies: regenerate: 1.4.2 @@ -6935,10 +6813,6 @@ snapshots: querystringify: 2.2.0 requires-port: 1.0.0 - use-sync-external-store@1.0.0(react@18.2.0): - dependencies: - react: 18.2.0 - util@0.12.4: dependencies: inherits: 2.0.4 diff --git a/scripts/pack-check.mjs b/scripts/pack-check.mjs index 91a0b3c..dd74d0e 100644 --- a/scripts/pack-check.mjs +++ b/scripts/pack-check.mjs @@ -6,13 +6,17 @@ // 2. Runs publint and attw (`@arethetypeswrong/cli`) on it. // 3. Installs it outside the repo and loads it with `require()` and // `import()`: both must give the same working `isEqual` function. -// 4. Compares it against `pack-snapshot.json`: manifest fields, file list, +// 4. Type probe: compiles `test/types/` against the installed package with +// TypeScript (`module: nodenext`), as a CommonJS (`.cts`) and an ES module +// (`.mts`) consumer. +// 5. Compares it against `pack-snapshot.json`: manifest fields, file list, // how attw resolves the types, `index.d.ts`, and `index.js` minified // without comments. In 3.x only formatting and comments may change in // `index.js` (see CONTRIBUTING). Pass `--update` to rewrite the snapshot // after an intended change. import { execFileSync } from 'node:child_process'; import fs from 'node:fs'; +import { createRequire } from 'node:module'; import os from 'node:os'; import path from 'node:path'; import { publint } from 'publint'; @@ -61,6 +65,7 @@ const rootDir = path.resolve(import.meta.dirname, '..'); const workDir = path.join(rootDir, 'node_modules/.cache/pack-check'); const snapshotPath = path.join(rootDir, 'pack-snapshot.json'); const failures = []; +const require = createRequire(import.meta.url); const run = (cmd, cmdArgs, opts = {}) => execFileSync(cmd, cmdArgs, { encoding: 'utf8', ...opts }); @@ -198,6 +203,40 @@ console.log(JSON.stringify(errors)); ); } + // Type probe. Copy the fixtures next to the installed package, with a + // tsconfig that clears the editor-only `paths`, and link in the React types. + const probeSrc = path.join(rootDir, 'test/types'); + for (const file of fs.readdirSync(probeSrc)) { + if (file !== 'tsconfig.json') + fs.copyFileSync(path.join(probeSrc, file), path.join(installRoot, file)); + } + fs.writeFileSync( + path.join(installRoot, 'tsconfig.json'), + JSON.stringify({ + extends: path.join(probeSrc, 'tsconfig.json'), + compilerOptions: { paths: {} }, + include: ['*.ts', '*.cts', '*.mts'], + }) + ); + fs.mkdirSync(path.join(modulesDir, '@types')); + fs.symlinkSync( + fs.realpathSync(path.join(rootDir, 'node_modules/@types/react')), + path.join(modulesDir, '@types/react'), + 'junction' + ); + const tsc = path.join( + path.dirname(require.resolve('typescript/package.json')), + 'bin/tsc' + ); + try { + run(process.execPath, [tsc, '--project', installRoot], { + cwd: installRoot, + stdio: ['ignore', 'pipe', 'pipe'], + }); + } catch (err) { + failures.push(`Type probe (test/types) failed:\n${err.stdout.trim()}`); + } + // Published code. Minified without comments, so formatting and comments // don't count, and pretty-printed one statement per line, so a change shows // up as a readable diff. Without `compress`, the output depends only on the diff --git a/test/types/probe.cts b/test/types/probe.cts new file mode 100644 index 0000000..bd8aec5 --- /dev/null +++ b/test/types/probe.cts @@ -0,0 +1,9 @@ +// Type probe: a CommonJS consumer (`.cts`). Both import forms must give 3.2.2's +// signature. The usage cases are in `probe.mts`. +import isEqualRequire = require('react-fast-compare'); +import isEqualDefault from 'react-fast-compare'; +import type { Equals, Signature } from './signature.js'; + +export const requireOk: Equals = true; +export const defaultOk: Equals = true; +export const result: boolean = isEqualRequire({ a: 1 }, { a: 1 }); diff --git a/test/types/probe.mts b/test/types/probe.mts new file mode 100644 index 0000000..f1d5b44 --- /dev/null +++ b/test/types/probe.mts @@ -0,0 +1,47 @@ +// Type probe: an ES module consumer (`.mts`), with the ways people use +// `isEqual`. `pnpm pack:check` compiles it against the packed tarball. +import * as React from 'react'; +import isEqual from 'react-fast-compare'; +import type { Equals, Signature } from './signature.js'; + +export const defaultOk: Equals = true; + +type Props = { id: string; text: string }; + +// `React.memo` comparison function. +const Item = (props: Props) => props.text; +export const MemoItem = React.memo(Item, isEqual); + +// `shouldComponentUpdate`. +export class ItemClass extends React.Component { + shouldComponentUpdate(nextProps: Readonly) { + return !isEqual(this.props, nextProps); + } + + render() { + return this.props.text; + } +} + +// Equality callbacks shaped `(a: T, b: T) => boolean`, as in react-redux's +// `useSelector` or zustand's `useStoreWithEqualityFn`. +declare function useSelector( + selector: (state: S) => T, + equalityFn?: (a: T, b: T) => boolean +): T; +export const count: number = useSelector( + (state: { items: string[] }) => state.items.length, + isEqual +); + +// A `false` result doesn't narrow `prev` to `never` (#130). +export function changedText(prev: Props, next: Props): string | null { + if (isEqual(prev, next)) return null; + return prev.text; +} + +// @ts-expect-error: returns `boolean`, not a string. +export const notString: string = isEqual(1, 2); + +// @ts-expect-error: takes two arguments. +export const oneArg = isEqual(1); diff --git a/test/types/signature.ts b/test/types/signature.ts new file mode 100644 index 0000000..a9d4f8a --- /dev/null +++ b/test/types/signature.ts @@ -0,0 +1,9 @@ +// What every consumer must see for `isEqual`, however it imports it: 3.2.2's +// signature. A type guard (`a is B`, #130) or a narrower return type fails. +export type Signature = (a: A, b: B) => boolean; + +// `true` only if X and Y are the same type. +export type Equals = + (() => T extends X ? 1 : 2) extends () => T extends Y ? 1 : 2 + ? true + : false; diff --git a/test/types/tsconfig.json b/test/types/tsconfig.json new file mode 100644 index 0000000..dc871be --- /dev/null +++ b/test/types/tsconfig.json @@ -0,0 +1,14 @@ +{ + // Type probe settings. `pnpm pack:check` copies these files next to the + // installed tarball and compiles them with `paths` cleared, so the probe + // sees the published package. `paths` here only serves editors. + "compilerOptions": { + "lib": ["ES2020", "DOM"], + "module": "nodenext", + "noEmit": true, + "paths": { "react-fast-compare": ["../../index.d.ts"] }, + "strict": true, + "types": [] + }, + "include": ["*.ts", "*.cts", "*.mts"] +} diff --git a/test/typescript/sample-react-redux-usage.tsx b/test/typescript/sample-react-redux-usage.tsx deleted file mode 100644 index 1711708..0000000 --- a/test/typescript/sample-react-redux-usage.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file exists to test our types against sample user code -// This is compiled using `tsc` in our `test-ts-usage` script -import React from 'react'; -import ReactDOM from 'react-dom'; -import { Provider, useSelector } from 'react-redux'; -import { createStore } from 'redux'; - -import equal from '../../index.js'; - -type IState = { - items: string[]; -}; - -type IAction = { - type: string; - payload: any; -}; - -const initialState: IState = { - items: [], -}; - -const reducer = (state: IState = initialState, action: IAction) => { - return state; -}; - -const lengthSelector = (state: IState): number => state.items.length; - -const store = createStore(reducer, initialState); - -function Test() { - const length = useSelector(lengthSelector, equal); - return ( -
- Testing react-redux useSelector. There are - {length.toExponential()} items. -
- ); -} - -ReactDOM.render( - - - , - document.getElementById('root') -); diff --git a/test/typescript/sample-usage.tsx b/test/typescript/sample-usage.tsx deleted file mode 100644 index 0bd46e1..0000000 --- a/test/typescript/sample-usage.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file exists to test our types against sample user code -// This is compiled using `tsc` in our `test-ts-usage` script -import React from 'react'; -import equal from '../../index.js'; - -type ITodo = { - text: string; - id: string; -}; - -const testArr: ITodo[] = [ - { text: 'green', id: '23' }, - { text: 'sunshine', id: '1' }, - { text: 'mountain', id: '11' }, - { text: 'air', id: '8' }, - { text: 'plants', id: '9' }, -]; - -type IProps = { - todo: ITodo; -}; - -class TestChild extends React.Component { - shouldComponentUpdate(nextProps: IProps) { - return !equal(this.props, nextProps); - } - - render() { - const todo = this.props.todo; - return
{todo.text}
; - } -} - -// `equal` must return a plain `boolean`, not a type guard (`a is B`): after a -// `false` result, a guard narrows `prev` to `never`, so `prev.text` would not -// compile (#130). -export function changedText(prev: ITodo, next: ITodo): string | null { - if (equal(prev, next)) return null; - return prev.text; -} - -class TestContainer extends React.Component { - render() { - return testArr.map((item) => ); - } -} - -export default TestContainer; diff --git a/test/typescript/tsconfig.json b/test/typescript/tsconfig.json deleted file mode 100644 index b49e850..0000000 --- a/test/typescript/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "jsx": "react", - "target": "ES6", - "allowSyntheticDefaultImports": true - } -} diff --git a/test/typescript/tsconfig.tsbuildinfo b/test/typescript/tsconfig.tsbuildinfo deleted file mode 100644 index eef12e0..0000000 --- a/test/typescript/tsconfig.tsbuildinfo +++ /dev/null @@ -1 +0,0 @@ -{"version":"7.0.2","root":[[44,45]],"packageJsons":["../../node_modules/.pnpm/@types+hoist-non-react-statics@3.3.1/node_modules/@types/hoist-non-react-statics/package.json","../../node_modules/.pnpm/@types+prop-types@15.7.3/node_modules/@types/prop-types/package.json","../../node_modules/.pnpm/@types+react-dom@16.9.8/node_modules/@types/react-dom/package.json","../../node_modules/.pnpm/@types+react@16.9.35/node_modules/@types/react/package.json","../../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/package.json","../../node_modules/.pnpm/csstype@2.6.10/node_modules/csstype/package.json","../../node_modules/.pnpm/hoist-non-react-statics@3.3.2/node_modules/hoist-non-react-statics/package.json","../../node_modules/.pnpm/react-dom@18.2.0_react@18.2.0/node_modules/react-dom/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/package.json","../../node_modules/.pnpm/react@18.2.0/node_modules/react/package.json","../../node_modules/.pnpm/redux@4.2.1/node_modules/redux/package.json","../../node_modules/.pnpm/use-sync-external-store@1.0.0_react@18.2.0/node_modules/use-sync-external-store/package.json","../../package.json"],"missingPackageJsons":["../../node_modules/.pnpm/@types+hoist-non-react-statics@3.3.1/node_modules/react/package.json","../../node_modules/.pnpm/@types+react-dom@16.9.8/node_modules/react/package.json","../../node_modules/.pnpm/@types+react@16.9.35/node_modules/prop-types/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/@types/use-sync-external-store/with-selector/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-native/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/components/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/connect/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/hooks/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/package.json","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/use-sync-external-store/with-selector/package.json"],"fileNames":["lib.es6.d.ts","lib.es5.d.ts","lib.es2015.d.ts","lib.dom.d.ts","lib.dom.iterable.d.ts","lib.webworker.importscripts.d.ts","lib.scripthost.d.ts","lib.es2015.core.d.ts","lib.es2015.collection.d.ts","lib.es2015.generator.d.ts","lib.es2015.iterable.d.ts","lib.es2015.promise.d.ts","lib.es2015.proxy.d.ts","lib.es2015.reflect.d.ts","lib.es2015.symbol.d.ts","lib.es2015.symbol.wellknown.d.ts","lib.es2018.asynciterable.d.ts","lib.decorators.d.ts","lib.decorators.legacy.d.ts","../../node_modules/.pnpm/@types+react@16.9.35/node_modules/@types/react/global.d.ts","../../node_modules/.pnpm/csstype@2.6.10/node_modules/csstype/index.d.ts","../../node_modules/.pnpm/@types+prop-types@15.7.3/node_modules/@types/prop-types/index.d.ts","../../node_modules/.pnpm/@types+react@16.9.35/node_modules/@types/react/index.d.ts","../../node_modules/.pnpm/@types+react-dom@16.9.8/node_modules/@types/react-dom/index.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/reactbatchedupdates.d.ts","../../node_modules/.pnpm/redux@4.2.1/node_modules/redux/index.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/subscription.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/components/context.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/components/provider.d.ts","../../node_modules/.pnpm/@types+hoist-non-react-statics@3.3.1/node_modules/@types/hoist-non-react-statics/index.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/types.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/connect/selectorfactory.d.ts","../../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/index.d.ts","../../node_modules/.pnpm/@types+use-sync-external-store@0.0.3/node_modules/@types/use-sync-external-store/with-selector.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/usesyncexternalstore.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/components/connect.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/hooks/usedispatch.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/hooks/useselector.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/hooks/usestore.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/utils/shallowequal.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/exports.d.ts","../../node_modules/.pnpm/react-redux@8.0.5_@types+react-dom@16.9.8_@types+react@16.9.35_react-dom@18.2.0_react@18.2.0__react@18.2.0_redux@4.2.1/node_modules/react-redux/es/index.d.ts","../../index.d.ts","./sample-react-redux-usage.tsx","./sample-usage.tsx"],"fileInfos":["d5989fd19a90632be70bb582dce051c9",{"version":"16934abaab7026ac114da441aabea1a0","affectsGlobalScope":true,"impliedNodeFormat":1},"d4306fb2e47f74835e8674ffac07d76f",{"version":"aae8996e8b5684814785a42cbbefcd79","affectsGlobalScope":true,"impliedNodeFormat":1},"abad6dd56cc8caf095c165df8124d237",{"version":"2a9941db0809c9ad0e8837ed629b1dcc","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"d051b93324f36bcc68d152a5ca0988cd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"926204c28cd3d073865348473ae28d2e","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f25e42c801b2cb3cf2b39792006a9beb","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"6344b55f26a4e81d9608777dbfb877dd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"3c0ed28e53d3695b363e256ec1c023fd","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"4c2761daba7f17141c25baa0821ac5da","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b87656acabd63e69379ff6ffcfe52fc7","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"597469522da047a5af5222cc6989f405","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"1708ea4d34dc37fadadc63ca01127e80","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"55d97a8c6fbf34a30450a7b1e5f7a298","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"b612fb5cf8e5d964b92063a75207632a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"f64453cbf9671f28158677fa5c43967a","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"33f317af5428801f944a478d2c1e38e5","affectsGlobalScope":true,"impliedNodeFormat":1},{"version":"7376cd32b4c24f5e3471d538cce0a6cc","affectsGlobalScope":true,"impliedNodeFormat":1},"cdab56a98e2799503649ed9fb828354c","6ed0c2b51741b7f9a464f81ffebf1c15",{"version":"b231ecbcee7c60c29c58ecc0b3bfa420","affectsGlobalScope":true,"impliedNodeFormat":1},"eaa1fde8bf16bbb589f282c92dbe56da","6a0b6b4b392a782f2d7e9fcf18d1259f",{"version":"0139c837c4b77e8bf9ca4862b3b5b402","affectsGlobalScope":true,"impliedNodeFormat":1},"c7476a36ac17674d9e6348949a4a020f","744d549e39fb2aec18f51001adc8b7f2","a285482b1ee242199f172dd27737ada2","0c7a2d28d5e48b8d78bac1e63b1293b7","4b1d59f626811623ae04ac3f34d78970","2c5373be10f09cd4b67fc4ada58cd906","b51da9fbf09aeb13e9e40847793e2d87","5292475dc78e70eac35362920b4e776e","b139874f766ce4041d64328ecdbd883e","9578593fa99ef16544d5c98a0db00f95","cb849316fde74b6b70fe20b89a3481d5","eaae60aa7f1223634b9a2d1f7f95b222","20ac72c4b5089e0f5c020290d209afef","6f913952671301583d38d307911c92a1","215d56c4b8210fe5446cb789faed48d6","cfb792ede0cfdc3114e476f29a0735f8","1df46f12d4648e46aed5be301a7a567b","8b49fbc742068ff24482c2f6db4b34c3","494a105c55f9d709cd324beb355dfa20"],"fileIdsList":[[23],[20,21,22],[26,28,31,32,35],[23,26,27],[23,26,28],[23,26,31],[27,28,29,31,32,36,37,38,39,40],[23,26,28,31,35],[25,41],[23,26,30,36],[24],[33,34],[23,24,26,42,43],[23,43]],"options":{"composite":true,"jsx":3,"target":2,"allowSyntheticDefaultImports":true},"referencedMap":[[30,1],[24,1],[23,2],[36,3],[28,4],[29,5],[32,6],[41,7],[37,5],[38,8],[39,5],[42,9],[31,10],[25,11],[35,12],[44,13],[45,14]],"affectedFilesPendingEmit":[[44,17],[45,17]],"emitSignatures":[44,45]} \ No newline at end of file From 6066c9ce03c856d910c18336ed59a41472e0cb16 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Sat, 7 Nov 2026 19:44:32 -0800 Subject: [PATCH 12/19] [uplift] chore: size report (#149) Part of #140 (Phase 2: size report). - `scripts/size.mjs` (`pnpm size`): `index.js` raw, minified (terser, top-level mangle), min+gzip, min+brotli. `--base ` adds a diff. - CI: report-only `Size` step on ubuntu, `--base HEAD^1` (`fetch-depth: 2`), table in the job summary. Never fails. - Removes `compress` / `size-min-gz` (the latter was broken under pnpm 12) and the hand-edited README size badge; README, CONTRIBUTING and the PR template point to `pnpm size`. - No published change. Min+gz is 653 B, unchanged since 3.2.2. --- .github/pull_request_template.md | 3 +- .github/workflows/ci.yml | 7 +++ CONTRIBUTING.md | 23 ++++---- README.md | 7 ++- package.json | 5 +- scripts/size.mjs | 90 ++++++++++++++++++++++++++++++++ 6 files changed, 112 insertions(+), 23 deletions(-) create mode 100644 scripts/size.mjs diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 4fb322a..d23e9a0 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -14,5 +14,4 @@ Please include a summary of the change and which issue is fixed. Please also inc - [ ] All tests are passing - [ ] Type definitions, if updated, pass `types:check` and `pack:check` - [ ] Benchmark performance has not significantly decreased -- [ ] Bundle size has not been significantly impacted -- [ ] The bundle size badge has been updated to reflect the new size +- [ ] Bundle size (`pnpm size`, CI job summary) has not been significantly impacted diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1d9d580..08e094d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,6 +30,9 @@ jobs: - uses: actions/checkout@v7 with: persist-credentials: false + # The parent commit too, for the size comparison. On pull requests + # HEAD is a merge commit, so HEAD^1 is the base it merged onto. + fetch-depth: 2 - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 - uses: actions/setup-node@v7 with: @@ -40,6 +43,10 @@ jobs: - name: Check if: matrix.os == 'ubuntu-latest' run: pnpm check + # Report only: adds the size table to the job summary, never fails. + - name: Size + if: always() && matrix.os == 'ubuntu-latest' + run: pnpm size --base HEAD^1 # Format, lint and the packed tarball don't depend on the OS, so Windows # only runs the tests. - name: Test diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 38fd666..f9be70c 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -132,18 +132,18 @@ The snapshot was generated from the published 3.2.2 tarball. In 3.x, changes to ### Size -You can check how we do with minification + compression with: +`pnpm size` reports the size of `index.js`: raw, minified (terser, with +top-level mangling), and minified with gzip and brotli. Pass `--base ` +to compare with another version: ```sh -# Show minified output -$ pnpm -s compress - -# Display minified + gzip'ed size in bytes. -$ pnpm size-min-gz +$ pnpm size +$ pnpm size --base master ``` -**Note**: If the min+gz size increases, please note it in the README. If it is a significant increase, -please flag to your reviewers and have a discussion about whether or not the size addition is justified. +CI runs it against the base commit and adds the table to the job summary. It's +a report, not a check: if the min+gz size grows significantly, flag it to your +reviewers so you can discuss whether the addition is worth it. ## Before submitting a PR... @@ -158,12 +158,7 @@ please flag to your reviewers and have a discussion about whether or not the siz 2. Confirm we don't have any significant performance regressions (check out `master` for a baseline comparison on _your_ machine). -3. Confirm you aren't impacting our bundle size. - If you _do_ affect the bundle size, please update the bundle badge in the Readme by - - Following the steps outlined in [size](#size): - `pnpm -s compress && pnpm size-min-gz` - - Grabbing that output and replacing the current size in the bundle_img: (`https://img.shields.io/badge/minzipped%20size-%20B-flatgreen.svg`) - For example, if the new size is `650`, the new bundle_img will be `https://img.shields.io/badge/minzipped%20size-650%20B-flatgreen.svg` +3. Confirm you aren't significantly impacting our bundle size (see [size](#size)). - _Org members:_ Update the README's benchmark comparison png using this [internal Google Sheet template](https://docs.google.com/spreadsheets/d/1GuqpO0wgPjQ9usx6sR3t0Y_HTmAdRqjXkSjs3SBsmTc/edit?usp=sharing_eip&ts=5ed1642f). ## Releasing diff --git a/README.md b/README.md index ab24219..0cb4dc5 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,6 @@ [![React Fast Compare — Formidable, We build the modern web](https://raw.githubusercontent.com/FormidableLabs/react-fast-compare/master/react-fast-compare-Hero.png)](https://formidable.com/open-source/) [![Downloads][downloads_img]][npm_site] -[![Bundle Size][bundle_img]](#bundle-size) [![GH Actions Status][actions_img]][actions_site] [![npm version][npm_img]][npm_site] [![Maintenance Status][maintenance_img]](#maintenance-status) @@ -132,8 +131,9 @@ This version of `react-fast-compare` tracks `fast-deep-equal@3.1.1`. ## Bundle Size There are a variety of ways to calculate bundle size for JavaScript code. -You can see our size test code in the `compress` script in -[`package.json`](https://github.com/FormidableLabs/react-fast-compare/blob/master/package.json). +`pnpm size` ([`scripts/size.mjs`](./scripts/size.mjs)) minifies `index.js` with +terser, mangling top-level names, and reports the raw, minified, gzip and +brotli sizes. CI adds the same report to each run's job summary. [Bundlephobia's calculation](https://bundlephobia.com/result?p=react-fast-compare) is slightly higher, as they [do not mangle during minification](https://github.com/pastelsky/package-build-stats/blob/v6.1.1/src/getDependencySizeTree.js#L139). @@ -153,6 +153,5 @@ Please see our [contributions guide](./CONTRIBUTING.md). [actions_site]: https://github.com/formidablelabs/react-fast-compare/actions/workflows/ci.yml [npm_img]: https://badge.fury.io/js/react-fast-compare.svg [npm_site]: http://badge.fury.io/js/react-fast-compare -[bundle_img]: https://img.shields.io/badge/minzipped%20size-656%20B-flatgreen.svg [downloads_img]: https://img.shields.io/npm/dm/react-fast-compare.svg [maintenance_img]: https://img.shields.io/badge/maintenance-active-flatgreen.svg diff --git a/package.json b/package.json index 6cd6eea..1a69d3a 100644 --- a/package.json +++ b/package.json @@ -17,10 +17,9 @@ "test-node": "mocha \"test/node/*.spec.js\"", "test-node-cov": "nyc mocha \"test/node/*.spec.js\"", "test": "builder concurrent --buffer test-node-cov test-browser", - "compress": "terser --compress --mangle=\"toplevel:true\" -- index.js", - "size-min-gz": "pnpm -s compress | gzip -9 | wc -c", "changeset": "changeset", - "pack:check": "node scripts/pack-check.mjs" + "pack:check": "node scripts/pack-check.mjs", + "size": "node scripts/size.mjs" }, "repository": { "type": "git", diff --git a/scripts/size.mjs b/scripts/size.mjs new file mode 100644 index 0000000..1d3b116 --- /dev/null +++ b/scripts/size.mjs @@ -0,0 +1,90 @@ +// Reports the size of `index.js` (`pnpm size`): raw, minified, and minified +// with gzip and brotli. Minified with terser (compress + top-level mangle). +// Report only: it never fails on a size change. +// +// `--base ` also measures `index.js` at that ref and shows the +// difference (e.g. `pnpm size --base master`). If the ref can't be read, the +// report leaves the comparison out. +// +// In GitHub Actions the table is also appended to the job summary. +import { execFileSync } from 'node:child_process'; +import fs from 'node:fs'; +import path from 'node:path'; +import zlib from 'node:zlib'; +import { minify } from 'terser'; + +const { log, warn } = console; + +const args = process.argv.slice(2); +const baseRef = args.includes('--base') ? args[args.indexOf('--base') + 1] : ''; +const rootDir = path.resolve(import.meta.dirname, '..'); +const FILE = 'index.js'; + +const measure = async (source) => { + const { code } = await minify(source, { + compress: true, + mangle: { toplevel: true }, + }); + return { + raw: Buffer.byteLength(source), + min: Buffer.byteLength(code), + gzip: zlib.gzipSync(code, { level: 9 }).length, + brotli: zlib.brotliCompressSync(code, { + params: { [zlib.constants.BROTLI_PARAM_QUALITY]: 11 }, + }).length, + }; +}; + +const readBase = (ref) => { + try { + return execFileSync('git', ['show', `${ref}:${FILE}`], { + cwd: rootDir, + encoding: 'utf8', + stdio: ['ignore', 'pipe', 'ignore'], + }); + } catch { + warn(`size: can't read ${FILE} at ${ref}; no comparison.`); + return null; + } +}; + +const current = await measure( + fs.readFileSync(path.join(rootDir, FILE), 'utf8') +); +const baseSource = baseRef ? readBase(baseRef) : null; +const base = baseSource === null ? null : await measure(baseSource); + +const ROWS = [ + ['raw', 'Raw'], + ['min', 'Minified'], + ['gzip', 'Min + gzip'], + ['brotli', 'Min + brotli'], +]; +const diff = (a, b) => { + const d = a - b; + return d === 0 ? '0' : `${d > 0 ? '+' : ''}${d}`; +}; + +const lines = [`### Size: \`${FILE}\``, '']; +if (base) { + lines.push( + `| | \`${baseRef}\` (B) | This tree (B) | Diff (B) |`, + '|---|--:|--:|--:|', + ...ROWS.map( + ([key, label]) => + `| ${label} | ${base[key]} | ${current[key]} | ${diff(current[key], base[key])} |` + ) + ); +} else { + lines.push( + '| | This tree (B) |', + '|---|--:|', + ...ROWS.map(([key, label]) => `| ${label} | ${current[key]} |`) + ); +} +lines.push('', 'Minified with terser (compress, top-level mangle).', ''); +const report = lines.join('\n'); + +log(report); +if (process.env.GITHUB_STEP_SUMMARY) + fs.appendFileSync(process.env.GITHUB_STEP_SUMMARY, report + '\n'); From 3273c90dded6bd743061a0d6f6c8d247d61f164b Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Sat, 7 Nov 2026 22:29:22 -0800 Subject: [PATCH 13/19] [uplift] chore: Vitest 5 in Node and browsers, remove test cruft (#151) Part of #140 (Phase 3; includes Phase 2's cruft removal). Closes #12. ## What - **Vitest 5**, two projects running the same specs: - `node`: specs that need a DOM opt into jsdom with `@vitest-environment`. - `browser`: browser mode in headless Chromium, Firefox and WebKit. - `index.js` and the vendored fast-deep-equal fixtures stay CommonJS. Node loads them natively; for the browser project, a small inline plugin in `vitest.config.mts` wraps `module.exports`. - **React 19, Preact 11.** The React tests render with `react-dom` (`createRoot` + `flushSync`) instead of `react-test-renderer`, which is deprecated in 19. The Preact tests use `preact/compat`'s own `render`. - **CI:** - Installs browsers on ubuntu and adds v8 coverage (Node project) to the job summary. Coverage is reported, not gated. - Windows runs the Node project only. - A new job runs the Node project on React 18.0.0 + Preact 10. - **Removed:** `builder`, mocha, nyc, sinon, `jsdom-global`, Karma + launchers, webpack, Babel, `core-js`, `assert`, `process`, `@testing-library/*`, `react-test-renderer`, `@types/node`, the `test-*` and `preversion` scripts. - CONTRIBUTING's testing section is rewritten. ## Not changed - Published files: `pack:check` passes against 3.2.2. - The comparison libraries (`lodash`, `nano-equal`, `shallow-equal-fuzzy`) and `benchmark`: only the benchmark uses them, and they go with its rewrite in Phase 4. --- .github/workflows/ci.yml | 57 +- .gitignore | 2 - .oxlintrc.json | 3 - CONTRIBUTING.md | 57 +- benchmark/index.js | 2 +- package.json | 50 +- pnpm-lock.yaml | 6908 ++++---------------- pnpm-workspace.yaml | 5 - test/basics.spec.mjs | 49 + test/browser/browser.spec.js | 59 - test/browser/index.js | 15 - test/browser/karma.conf.js | 110 - test/dom.spec.mjs | 23 + test/{node/tests.js => fixtures/index.mjs} | 14 +- test/mocha.opts | 1 - test/node/advanced.spec.js | 181 - test/node/basics.spec.js | 30 - test/react.spec.mjs | 93 + vitest.config.mts | 72 + 19 files changed, 1764 insertions(+), 5967 deletions(-) create mode 100644 test/basics.spec.mjs delete mode 100644 test/browser/browser.spec.js delete mode 100644 test/browser/index.js delete mode 100644 test/browser/karma.conf.js create mode 100644 test/dom.spec.mjs rename test/{node/tests.js => fixtures/index.mjs} (91%) delete mode 100644 test/mocha.opts delete mode 100644 test/node/advanced.spec.js delete mode 100644 test/node/basics.spec.js create mode 100644 test/react.spec.mjs create mode 100644 vitest.config.mts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 08e094d..09c12c0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,15 +40,66 @@ jobs: cache: 'pnpm' - name: Install dependencies run: pnpm install --frozen-lockfile + # For the `browser` test project (Vitest browser mode). + - name: Install browsers + if: matrix.os == 'ubuntu-latest' + run: pnpm exec playwright install --with-deps --only-shell chromium firefox webkit - name: Check if: matrix.os == 'ubuntu-latest' run: pnpm check + # Node project only (v8 coverage doesn't work in Firefox or WebKit). + # Reported in the job summary, not gated: Check gates on the tests. + - name: Coverage + if: matrix.os == 'ubuntu-latest' + continue-on-error: true + run: pnpm test --project node --coverage + - name: Coverage summary + if: always() && matrix.os == 'ubuntu-latest' + run: | + { + echo '### Coverage' + if [ -f coverage/summary.txt ]; then + echo '```' + cat coverage/summary.txt + echo '```' + else + echo 'No coverage summary (the Coverage step failed or was skipped).' + fi + } >> "$GITHUB_STEP_SUMMARY" # Report only: adds the size table to the job summary, never fails. - name: Size if: always() && matrix.os == 'ubuntu-latest' run: pnpm size --base HEAD^1 - # Format, lint and the packed tarball don't depend on the OS, so Windows - # only runs the tests. + # Format, lint, the packed tarball and the browsers don't depend on the + # OS, so Windows only runs the Node tests. - name: Test if: matrix.os == 'windows-latest' - run: pnpm test + run: pnpm test --project node + + # The lockfile has React 19 and Preact 11, which the test job covers. This + # job runs the Node tests on the oldest versions we check: exactly React + # 18.0.0, and the newest Preact 10 (`preact/compat`). The library doesn't + # depend on either; this guards its `$$typeof` / `_owner` handling. + older-renderers: + name: Test (React 18.0.0, Preact 10) + runs-on: ubuntu-latest + permissions: + contents: read # to check out repo (actions/checkout) + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@v7 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - name: Install dependencies + run: pnpm install --frozen-lockfile + # Changes the working tree only; nothing is committed. + - name: Install React 18.0.0 and Preact 10 + run: | + pnpm add --save-dev react@18.0.0 react-dom@18.0.0 preact@^10 + node -e 'for (const [p, v] of [["react", "18.0.0"], ["react-dom", "18.0.0"], ["preact", "10."]]) { const got = require(`${p}/package.json`).version; console.log(`${p} ${got}`); if (!got.startsWith(v)) throw new Error(`${p} is ${got}, expected ${v}`); }' + - name: Test + run: pnpm test --project node diff --git a/.gitignore b/.gitignore index f920fd4..bd329b2 100644 --- a/.gitignore +++ b/.gitignore @@ -10,8 +10,6 @@ yarn.lock # Test output coverage/ -.nyc_output/ -test/typescript/*.js # Output of `npm pack` / `pnpm pack` *.tgz diff --git a/.oxlintrc.json b/.oxlintrc.json index 15347cb..9c926bf 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -27,9 +27,6 @@ "overrides": [ { "files": ["test/**"], - "env": { - "mocha": true - }, "globals": { "document": "readonly", "Element": "readonly" diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f9be70c..a2b8343 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -53,53 +53,52 @@ included. For an urgent security fix that's newer than that, add the package to **TL; DR:** - Everything you normally need to run is aggregated into: ```sh -# Format, lint, then all tests +# Format, lint, types, all tests, then the packed package $ pnpm run check $ pnpm run benchmark ``` -(We use `builder` to parallelize things, so tasks may output in different -orders) - ### Testing -We write one set of tests located in: - -- `test/node/**.spec.js` +We test with [Vitest](https://vitest.dev/). One set of specs, `test/*.spec.mjs`, +runs in two projects (`vitest.config.mts`): -that run in two very different scenarios (below). Most generic test cases come -from `fast-deep-equal`, vendored unchanged in `test/fixtures/fast-deep-equal/` -(see its README). +- `node`: Node, with [jsdom](https://github.com/jsdom/jsdom) for the specs + that need a DOM. +- `browser`: [Vitest browser mode](https://vitest.dev/guide/browser/) in + headless Chromium, Firefox and WebKit, through Playwright. -#### Node +Most generic test cases come from `fast-deep-equal`, vendored unchanged in +`test/fixtures/fast-deep-equal/` (see its README). Our own cases (React +elements, custom behavior) are in `test/fixtures/index.mjs`, and +`test/react.spec.mjs` renders real React and Preact (`preact/compat`) +components. -The tests are natively run in `node` (hence why they are located in `tests/node` -to begin with) without any transpilation or "build". You can run them with: +Install the browsers once (and again when Playwright is updated): ```sh -# Single run -$ pnpm run test-node - -# Persistent watch -$ pnpm run test-node --watch +$ pnpm exec playwright install --only-shell chromium firefox webkit ``` -#### Browsers +```sh +# All projects +$ pnpm test -The same tests are then imported and built with `webpack` to a test bundle that -can be run in arbitrary browsers. CI runs them in headless Chrome on Linux and -Windows (GitHub Actions). +# Node only, or one browser +$ pnpm test --project node +$ pnpm test --project "browser (firefox)" -To run the browser tests on your machine (note: you must already have the -browser you're running installed): +# Watch mode +$ pnpm vitest --project node -```sh -# Default: headless chrome -$ pnpm run test-browser -# Example: real Chrome + Firefox + Safari -$ pnpm run test-browser --browsers Chrome,Firefox,Safari +# Coverage (Node only; v8 coverage doesn't work in Firefox or WebKit) +$ pnpm test --project node --coverage ``` +CI runs every project on Linux and adds the coverage summary to the job +summary. It runs the Node project on Windows, and on React 18.0.0 with Preact +10 (the lockfile has React 19 and Preact 11). + ### Types `pnpm types:check` type-checks `index.js` from its JSDoc and checks that the declarations it emits match `index.d.ts`. `pnpm pack:check` then compiles the type probe in `test/types/` against the packed package, as a CommonJS (`.cts`) and an ES module (`.mts`) consumer. Add a case there for any usage the types must keep supporting. diff --git a/benchmark/index.js b/benchmark/index.js index 7bddeed..d5a411d 100644 --- a/benchmark/index.js +++ b/benchmark/index.js @@ -1,6 +1,6 @@ 'use strict'; -const tests = require('../test/node/tests'); +const tests = require('../test/fixtures/index.mjs'); const Benchmark = require('benchmark'); const correctnessTests = []; diff --git a/package.json b/package.json index 1a69d3a..4bc0845 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,6 @@ "main": "index.js", "typings": "index.d.ts", "scripts": { - "preversion": "pnpm check", "check": "pnpm format && pnpm lint && pnpm types:check && pnpm test && pnpm pack:check", "benchmark": "node benchmark", "format": "oxfmt --check", @@ -13,10 +12,7 @@ "lint": "oxlint --report-unused-disable-directives-severity=error", "lint:fix": "oxlint --report-unused-disable-directives-severity=error --fix", "types:check": "node scripts/types-check.mjs", - "test-browser": "karma start test/browser/karma.conf.js", - "test-node": "mocha \"test/node/*.spec.js\"", - "test-node-cov": "nyc mocha \"test/node/*.spec.js\"", - "test": "builder concurrent --buffer test-node-cov test-browser", + "test": "vitest run", "changeset": "changeset", "pack:check": "node scripts/pack-check.mjs", "size": "node scripts/size.mjs" @@ -42,55 +38,27 @@ "packageManager": "pnpm@12.16.0", "devDependencies": { "@arethetypeswrong/cli": "0.18.5", - "@babel/core": "^7.21.0", - "@babel/preset-env": "^7.20.2", "@changesets/changelog-github": "^1.0.1", "@changesets/cli": "^3.0.3", - "@testing-library/dom": "^9.0.1", - "@testing-library/preact": "^3.2.3", - "@types/node": "^18.15.0", "@types/react": "^19.3.0", - "assert": "^2.0.0", - "babel-loader": "^9.1.2", + "@vitest/browser-playwright": "^5.0.5", + "@vitest/coverage-v8": "^5.0.5", "benchmark": "^2.1.4", - "builder": "^5.0.0", - "core-js": "^3.29.0", "fast-deep-equal": "3.1.3", - "jsdom": "^21.1.0", - "jsdom-global": "^3.0.2", - "karma": "^6.4.1", - "karma-chrome-launcher": "^3.1.1", - "karma-firefox-launcher": "^2.1.2", - "karma-mocha": "^2.0.1", - "karma-mocha-reporter": "^2.2.5", - "karma-safari-launcher": "^1.0.0", - "karma-webpack": "^5.0.0", + "jsdom": "^30.1.3", "lodash": "^4.17.10", - "mocha": "^11.8.0", "nano-equal": "^2.0.2", - "nyc": "^15.1.0", "oxfmt": "0.75.0", "oxlint": "1.90.0", - "preact": "^10.13.1", - "process": "^0.11.10", + "playwright": "^1.64.1", + "preact": "^11.1.1", "publint": "0.3.25", - "react": "^18.2.0", - "react-test-renderer": "^18.2.0", + "react": "^19.3.1", + "react-dom": "^19.3.1", "shallow-equal-fuzzy": "0.0.2", - "sinon": "^15.0.1", "terser": "5.51.2", "typescript": "7.0.2", - "webpack": "^5.76.0" - }, - "nyc": { - "exclude": [ - "**/test/**", - "node_modules" - ], - "reporter": [ - "lcov", - "text-summary" - ] + "vitest": "^5.0.5" }, "files": [ "index.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5fd45c9..2c5eb1c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -169,130 +169,72 @@ importers: '@arethetypeswrong/cli': specifier: 0.18.5 version: 0.18.5 - '@babel/core': - specifier: ^7.21.0 - version: 7.21.0(supports-color@8.1.1) - '@babel/preset-env': - specifier: ^7.20.2 - version: 7.20.2(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) '@changesets/changelog-github': specifier: ^1.0.1 version: 1.0.1 '@changesets/cli': specifier: ^3.0.3 version: 3.0.3 - '@testing-library/dom': - specifier: ^9.0.1 - version: 9.0.1 - '@testing-library/preact': - specifier: ^3.2.3 - version: 3.2.3(preact@10.13.1) - '@types/node': - specifier: ^18.15.0 - version: 18.15.0 '@types/react': specifier: ^19.3.0 version: 19.3.0 - assert: - specifier: ^2.0.0 - version: 2.0.0 - babel-loader: - specifier: ^9.1.2 - version: 9.1.2(@babel/core@7.21.0(supports-color@8.1.1))(webpack@5.76.0) + '@vitest/browser-playwright': + specifier: ^5.0.5 + version: 5.0.5(playwright@1.64.1)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5) + '@vitest/coverage-v8': + specifier: ^5.0.5 + version: 5.0.5(@vitest/browser@5.0.5)(vitest@5.0.5) benchmark: specifier: ^2.1.4 version: 2.1.4 - builder: - specifier: ^5.0.0 - version: 5.0.0 - core-js: - specifier: ^3.29.0 - version: 3.29.0 fast-deep-equal: specifier: 3.1.3 version: 3.1.3 jsdom: - specifier: ^21.1.0 - version: 21.1.0(supports-color@8.1.1) - jsdom-global: - specifier: ^3.0.2 - version: 3.0.2(jsdom@21.1.0(supports-color@8.1.1)) - karma: - specifier: ^6.4.1 - version: 6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1) - karma-chrome-launcher: - specifier: ^3.1.1 - version: 3.1.1 - karma-firefox-launcher: - specifier: ^2.1.2 - version: 2.1.2 - karma-mocha: - specifier: ^2.0.1 - version: 2.0.1 - karma-mocha-reporter: - specifier: ^2.2.5 - version: 2.2.5(karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1)) - karma-safari-launcher: - specifier: ^1.0.0 - version: 1.0.0(karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1)) - karma-webpack: - specifier: ^5.0.0 - version: 5.0.0(webpack@5.76.0) + specifier: ^30.1.3 + version: 30.1.3 lodash: specifier: ^4.17.10 version: 4.17.21 - mocha: - specifier: ^11.8.0 - version: 11.8.0 nano-equal: specifier: ^2.0.2 version: 2.0.2 - nyc: - specifier: ^15.1.0 - version: 15.1.0(supports-color@8.1.1) oxfmt: specifier: 0.75.0 version: 0.75.0 oxlint: specifier: 1.90.0 version: 1.90.0 + playwright: + specifier: ^1.64.1 + version: 1.64.1 preact: - specifier: ^10.13.1 - version: 10.13.1 - process: - specifier: ^0.11.10 - version: 0.11.10 + specifier: ^11.1.1 + version: 11.1.1 publint: specifier: 0.3.25 version: 0.3.25 react: - specifier: ^18.2.0 - version: 18.2.0 - react-test-renderer: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + specifier: ^19.3.1 + version: 19.3.1 + react-dom: + specifier: ^19.3.1 + version: 19.3.1(react@19.3.1) shallow-equal-fuzzy: specifier: 0.0.2 version: 0.0.2 - sinon: - specifier: ^15.0.1 - version: 15.0.1 terser: specifier: 5.51.2 version: 5.51.2 typescript: specifier: 7.0.2 version: 7.0.2 - webpack: - specifier: ^5.76.0 - version: 5.76.0 + vitest: + specifier: ^5.0.5 + version: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) packages: - '@ampproject/remapping@2.2.0': - resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} - engines: {node: '>=6.0.0'} - '@andrewbranch/untar.js@1.0.4': resolution: {integrity: sha512-pVXSwPsLuw8IGLo2Di0EaOfsk+ntVvpkk942J/sHYIkwvtKUakEcPh7HBgZ6tuimgzKSEHgCvO4XgQ05DEbwDw==} @@ -305,561 +247,45 @@ packages: resolution: {integrity: sha512-9ytjzGwxjm9Uz7I9avfbt5vlQt6uk9uRRESzJjqrznl6WKvI6dwYTo+vJ3U02Wrq/mR3iql/PzhvHhKdJIAjDQ==} engines: {node: '>=20'} - '@babel/code-frame@7.21.4': - resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.21.0': - resolution: {integrity: sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.21.0': - resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.21.1': - resolution: {integrity: sha512-1lT45bAYlQhFn/BHivJs43AiW2rg3/UbLyShGfF3C0KmHvO5fSghWd5kBJy30kpRRucGzXStvnnCFniCR2kXAA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-annotate-as-pure@7.18.6': - resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-builder-binary-assignment-operator-visitor@7.18.9': - resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.20.7': - resolution: {integrity: sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-class-features-plugin@7.21.0': - resolution: {integrity: sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-create-regexp-features-plugin@7.21.0': - resolution: {integrity: sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-define-polyfill-provider@0.3.3': - resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} - peerDependencies: - '@babel/core': ^7.4.0-0 - - '@babel/helper-environment-visitor@7.18.9': - resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-explode-assignable-expression@7.18.6': - resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.21.0': - resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-hoist-variables@7.18.6': - resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-member-expression-to-functions@7.21.0': - resolution: {integrity: sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.18.6': - resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.21.2': - resolution: {integrity: sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-optimise-call-expression@7.18.6': - resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-plugin-utils@7.20.2': - resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-remap-async-to-generator@7.18.9': - resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-replace-supers@7.20.7': - resolution: {integrity: sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==} - engines: {node: '>=6.9.0'} + '@asamuzakjp/css-color@7.1.9': + resolution: {integrity: sha512-vZ6JQVq8Ivgz6b/IBlAf90wZviXdluY13cQOPO+nJHbmXwGrPl2GcpqUY7a55/8ZVdfONXpCFMpRijOBCHNlcQ==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} - '@babel/helper-simple-access@7.20.2': - resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-skip-transparent-expression-wrappers@7.20.0': - resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-split-export-declaration@7.18.6': - resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.19.4': - resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.19.1': - resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.21.0': - resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-wrap-function@7.20.5': - resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} - engines: {node: '>=6.9.0'} + '@asamuzakjp/dom-selector@10.0.5': + resolution: {integrity: sha512-EgmJ7oEaGQECTn3H3wmnQpEy4hKY66VvM7VQndwPIQob3p877BgbyOUE3EX0LgXQCciF2H8KMdR+RznqjMNOLw==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} - '@babel/helpers@7.21.0': - resolution: {integrity: sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==} + '@babel/helper-string-parser@7.29.11': + resolution: {integrity: sha512-snZbO7MEDOof+hvNa97EjEY7qD7h2kwvQr5AJC3ZhQudKW5dnej6k3kP9NQV88hJwaS8vDqRLFo9rivLEhle2g==} engines: {node: '>=6.9.0'} - '@babel/highlight@7.18.6': - resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + '@babel/helper-validator-identifier@7.29.7': + resolution: {integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==} engines: {node: '>=6.9.0'} - '@babel/parser@7.21.2': - resolution: {integrity: sha512-URpaIJQwEkEC2T9Kn+Ai6Xe/02iNaVCuT/PtoRz3GPVJVDpPd7mLo+VddTbhCRU9TXqW5mSrQfXZyi8kDKOVpQ==} + '@babel/parser@7.29.12': + resolution: {integrity: sha512-WJ7JBp/Q4+z/ImydtI7jS6NVco5++632ExBemSX+Ysb+G1lCwQ5BVo3SY+jGGOcZXI4ZccbZSUSJLNBW6eEpJg==} engines: {node: '>=6.0.0'} hasBin: true - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6': - resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7': - resolution: {integrity: sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.13.0 - - '@babel/plugin-proposal-async-generator-functions@7.20.7': - resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-class-properties@7.18.6': - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-class-static-block@7.21.0': - resolution: {integrity: sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead. - peerDependencies: - '@babel/core': ^7.12.0 - - '@babel/plugin-proposal-dynamic-import@7.18.6': - resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-export-namespace-from@7.18.9': - resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-json-strings@7.18.6': - resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-logical-assignment-operators@7.20.7': - resolution: {integrity: sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6': - resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-numeric-separator@7.18.6': - resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-object-rest-spread@7.20.7': - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-optional-catch-binding@7.18.6': - resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-optional-chaining@7.21.0': - resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-private-methods@7.18.6': - resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-private-property-in-object@7.21.0': - resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-proposal-unicode-property-regex@7.18.6': - resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} - engines: {node: '>=4'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-async-generators@7.8.4': - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-properties@7.12.13': - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-class-static-block@7.14.5': - resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-dynamic-import@7.8.3': - resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-export-namespace-from@7.8.3': - resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-import-assertions@7.20.0': - resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-json-strings@7.8.3': - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-numeric-separator@7.10.4': - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3': - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3': - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-optional-chaining@7.8.3': - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-private-property-in-object@7.14.5': - resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-syntax-top-level-await@7.14.5': - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-arrow-functions@7.20.7': - resolution: {integrity: sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-async-to-generator@7.20.7': - resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoped-functions@7.18.6': - resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-block-scoping@7.21.0': - resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-classes@7.21.0': - resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-computed-properties@7.20.7': - resolution: {integrity: sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-destructuring@7.20.7': - resolution: {integrity: sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-dotall-regex@7.18.6': - resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-duplicate-keys@7.18.9': - resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-exponentiation-operator@7.18.6': - resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-for-of@7.21.0': - resolution: {integrity: sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-function-name@7.18.9': - resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-literals@7.18.9': - resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-member-expression-literals@7.18.6': - resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-amd@7.20.11': - resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-commonjs@7.21.2': - resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-systemjs@7.20.11': - resolution: {integrity: sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-modules-umd@7.18.6': - resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-named-capturing-groups-regex@7.20.5': - resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/plugin-transform-new-target@7.18.6': - resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-object-super@7.18.6': - resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-parameters@7.20.7': - resolution: {integrity: sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-property-literals@7.18.6': - resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-regenerator@7.20.5': - resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-reserved-words@7.18.6': - resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-shorthand-properties@7.18.6': - resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-spread@7.20.7': - resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + '@babel/types@7.29.11': + resolution: {integrity: sha512-WCsemW40Cpc6gouC1SrY6PBaZ+oLRlEVY9XBvZBI7il/HyUrb2nJ505wE1MHEFyDZNnrWDEuy4jL50WVHfTTSQ==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-sticky-regex@7.18.6': - resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-template-literals@7.18.9': - resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-typeof-symbol@7.18.9': - resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-escapes@7.18.10': - resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-unicode-regex@7.18.6': - resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/preset-env@7.20.2': - resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/preset-modules@0.1.5': - resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/regjsgen@0.8.0': - resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} - - '@babel/runtime@7.21.5': - resolution: {integrity: sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==} - engines: {node: '>=6.9.0'} - - '@babel/template@7.20.7': - resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.21.2': - resolution: {integrity: sha512-ts5FFU/dSUPS13tv8XiEObDu9K+iagEKME9kAbaP7r0Y9KtZJZ+NGndDvWoRAYNpeWafbpFeki3q9QoMD6gxyw==} - engines: {node: '>=6.9.0'} + '@bcoe/v8-coverage@1.0.2': + resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} + engines: {node: '>=18'} - '@babel/types@7.21.2': - resolution: {integrity: sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==} - engines: {node: '>=6.9.0'} + '@blazediff/core@1.10.0': + resolution: {integrity: sha512-AOQff0zgR7cGsZL+4E7hVkmujoPUpm0J9xzWGWZj5wCjd3gmxESXAPfKyuzs93VdpQNFhHlBhfOjrcZ+XTERtQ==} '@braidai/lang@1.1.2': resolution: {integrity: sha512-qBcknbBufNHlui137Hft8xauQMTZDKdophmLFv05r2eNmdIv/MlPuP4TdUknHG68UdWLgVZwgxVe735HzJNIwA==} + '@bramus/specificity@2.4.3': + resolution: {integrity: sha512-0GEz8qJWokkUVYQYRukmkSHIFNoBH8QTreeHrAFbvz1XFYc3Y+puhMs8PQ5x8GNugiC2l5jvDBXKLbBIByeSBw==} + hasBin: true + '@changesets/apply-release-plan@8.1.1': resolution: {integrity: sha512-nk2Hbq3M9NeHMdaIRBDvawKrQJzXB9sGyBUE5yWnIKtvdcNCPj75zBekJYr0gTT2ecJH3eFeTrc8eisPImcv0Q==} engines: {node: ^22.11 || ^24 || >=26} @@ -941,37 +367,58 @@ packages: resolution: {integrity: sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==} engines: {node: '>=0.1.90'} - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@csstools/color-helpers@6.1.2': + resolution: {integrity: sha512-grhRy3OKmniaAEKXMjua5z/EODX0MSqBGjunw8+j/3HQjOnahs2AGhvEOIYVUWcU6ScApbhLhVrQTX8XqrMrow==} + engines: {node: '>=20.19.0'} - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} + '@csstools/css-calc@3.4.3': + resolution: {integrity: sha512-iex20d8CHVkyvg6B7UKV7uHnI2Bqo9g+EFfT9E0y+GvTvhZ/DwONJ+9aKb1dlqm0ZiGsL5RXjp0fCoJYnkeDjA==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-parser-algorithms': ^4.0.2 + '@csstools/css-tokenizer': ^4.0.2 - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} + '@csstools/css-color-parser@4.2.7': + resolution: {integrity: sha512-zgm9yjQz5iJB4VL8RyVwd71TWB8Q89FSxt/NzXoWqPSkEBOVtn9L6vAPtSc9hpKfB0Awo/AL2VKFHjYetBLFHQ==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-parser-algorithms': ^4.0.2 + '@csstools/css-tokenizer': ^4.0.2 - '@jridgewell/gen-mapping@0.1.1': - resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} - engines: {node: '>=6.0.0'} + '@csstools/css-parser-algorithms@4.0.2': + resolution: {integrity: sha512-40cSKyMvK+tq4qz6Awrlye2WGuOKt3FwPgtGg6KTfbHOWNw+Rk1rzbAtZnZ6IBhsY491HLRnDXwoyBAijmmILA==} + engines: {node: '>=20.19.0'} + peerDependencies: + '@csstools/css-tokenizer': ^4.0.2 + + '@csstools/css-syntax-patches-for-csstree@1.1.16': + resolution: {integrity: sha512-LsDbJPP/B8cPasUJyTA5S99F7C4G93ngW8hUluXz8CFeOaaRnBPtBiIlvgcPYU0HmHNz8CXg+1vwFrIB4F6Dgw==} + peerDependencies: + css-tree: ^3.2.1 + peerDependenciesMeta: + css-tree: + optional: true + + '@csstools/css-tokenizer@4.0.2': + resolution: {integrity: sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw==} + engines: {node: '>=20.19.0'} + + '@exodus/bytes@1.16.0': + resolution: {integrity: sha512-IcpW84uEn3N7ETtNZMlxKhfl6Pec8rUNGOTBtWbK1FKhJxIFAptZyVrvVRVBimAJxJCgc3PxepxkdWWG4DVzfA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + peerDependencies: + '@noble/hashes': ^1.8.0 || ^2.0.0 + peerDependenciesMeta: + '@noble/hashes': + optional: true '@jridgewell/gen-mapping@0.3.13': resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - '@jridgewell/gen-mapping@0.3.2': - resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} - engines: {node: '>=6.0.0'} - '@jridgewell/resolve-uri@3.1.0': resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - '@jridgewell/set-array@1.1.2': - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - '@jridgewell/source-map@0.3.11': resolution: {integrity: sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==} @@ -981,9 +428,6 @@ packages: '@jridgewell/sourcemap-codec@1.6.0': resolution: {integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==} - '@jridgewell/trace-mapping@0.3.17': - resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} - '@jridgewell/trace-mapping@0.3.31': resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} @@ -1002,6 +446,9 @@ packages: resolution: {integrity: sha512-6QEf6yqFbETdwGITKq57aYoPfX/3K8XFNwsAlx0C1M7o8cb79sv1M3w+tWuWvIcSbNqrLF7OD7YpZMVVz335hQ==} engines: {node: '>=20.0.0'} + '@oxc-project/types@0.156.0': + resolution: {integrity: sha512-1Duyg48TdJNdyhEB8Xn1L36bT9Pv6GUtlKjHxOys8xkaF/rQq3XJE+bAurSK/AgIz5mGFsb77cn9Pb20+WCScw==} + '@oxfmt/binding-android-arm-eabi@0.75.0': resolution: {integrity: sha512-zHJ7LcTN46/5mtoLxsUu14pdF9ixFwDURtmxZ0CeNwqom5qB5NRVqU6o2GRZ7QPdNBW8G6j9UTJzQ+EDevMH0w==} engines: {node: ^20.19.0 || >=22.12.0} @@ -1246,84 +693,131 @@ packages: cpu: [x64] os: [win32] - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - '@pnpm/deps.graph-sequencer@1100.0.1': resolution: {integrity: sha512-pOr5+q1fLYKwFN3LAJuGZEnfXDcQ73zqgDHMtGy+K+uIoUqyY+6MeDCWFwfu+4EFuq76I5EPFofoNAI+Bmmq4A==} engines: {node: '>=22.13'} + '@polka/url@1.0.0-next.29': + resolution: {integrity: sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww==} + '@publint/pack@0.1.7': resolution: {integrity: sha512-4EDEmvxWtgsCnnVeBvtFIFZtUhPPt1+bA9JrSwU4Sa//6oKtzCSlGGXYJr44OD9aGISymbieJ4mCKHUygUDU+g==} engines: {node: '>=18'} - '@sindresorhus/is@4.6.0': - resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} - engines: {node: '>=10'} + '@rolldown/binding-android-arm-eabi@1.2.16': + resolution: {integrity: sha512-ia3DwAs0OsMGS7+IConptSiyk9pEXkOx/AbJ2n/lAGxH3QkWQus1t8d7gnAT38FCU2sQu8lUbeR6AiZFv4JxaA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [android] - '@sinonjs/commons@2.0.0': - resolution: {integrity: sha512-uLa0j859mMrg2slwQYdO/AkrOfmH+X6LTVmNTS9CqexuE2IvVORIkSpJLqePAbEnKJ77aMmCwr1NUZ57120Xcg==} + '@rolldown/binding-android-arm64@1.2.16': + resolution: {integrity: sha512-kx5wBiMB6E7TEvpl2B9gjLU004BkvEm2Dr941BFjx/SontPwSzNuQUIoVKxHHoSjpFIfHMmcguyLOtyn0hObRg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] - '@sinonjs/fake-timers@10.0.2': - resolution: {integrity: sha512-SwUDyjWnah1AaNl7kxsa7cfLhlTYoiyhDAIgyh+El30YvXs/o7OLXpYH88Zdhyx9JExKrmHDJ+10bwIcY80Jmw==} + '@rolldown/binding-darwin-arm64@1.2.16': + resolution: {integrity: sha512-qslZrXnKJU4cUpjoAmtAo/KQM9e2IRMlmpig6Zpwj+8KWxW8v+nkAf9216Bsek9lOC1jvg2yCjygCFo2f83msQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] - '@sinonjs/samsam@7.0.1': - resolution: {integrity: sha512-zsAk2Jkiq89mhZovB2LLOdTCxJF4hqqTToGP0ASWlhp4I1hqOjcfmZGafXntCN7MDC6yySH0mFHrYtHceOeLmw==} + '@rolldown/binding-darwin-x64@1.2.16': + resolution: {integrity: sha512-FdF+y48ND13eAyM2mQn+85kvAqNlvRWROy2rhgA463X/0Gv4vGtazZtfaF1mRBLscYvtOlh4QnLjOWiFzX69OQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] - '@sinonjs/text-encoding@0.7.1': - resolution: {integrity: sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ==} - deprecated: |- - Deprecated: no longer maintained and no longer used by Sinon packages. See - https://github.com/sinonjs/nise/issues/243 for replacement details. + '@rolldown/binding-freebsd-x64@1.2.16': + resolution: {integrity: sha512-ddjqFM5e95AgLbUPtKIS7V1KTVlA0RUgCVr5mn+/IEhsdy3pr+Vuj/HZ7nlMN2FyxIwUktOH1LEPIQXO1v9y1Q==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] - '@socket.io/component-emitter@3.1.0': - resolution: {integrity: sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==} + '@rolldown/binding-linux-arm-gnueabihf@1.2.16': + resolution: {integrity: sha512-tHdKWbFkFBI687iim3LIyIvyL7j66VvQYkDPss5Stn/qyE2tWkR1YD0dXmXPFKKqT/o5ZEJVsaRsWS2meQwGOA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] - '@testing-library/dom@8.20.0': - resolution: {integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==} - engines: {node: '>=12'} + '@rolldown/binding-linux-arm64-gnu@1.2.16': + resolution: {integrity: sha512-FJiLGAblPBMlBEdbOqw6kW6QcXDWAf/oJu7gYs9ZJZwmg+K+/zjFLxPTIY9izJUzxzc24FHvmseyA0IvJSl17w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] - '@testing-library/dom@9.0.1': - resolution: {integrity: sha512-fTOVsMY9QLFCCXRHG3Ese6cMH5qIWwSbgxZsgeF5TNsy81HKaZ4kgehnSF8FsR3OF+numlIV2YcU79MzbnhSig==} - engines: {node: '>=14'} + '@rolldown/binding-linux-arm64-musl@1.2.16': + resolution: {integrity: sha512-hrJpblMsrQ58U9veWpbXzkhV5zStunds6HWLprqq1qauvgBr1E6P+24kLj6lSLI9vjRn/RYpjprhkHQPKGWpNg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] - '@testing-library/preact@3.2.3': - resolution: {integrity: sha512-y6Kklp1XK3f1X2fWCbujmJyzkf+1BgLYXNgAx21j9+D4CoqMTz5qC4SQufb1L6q/jxLGACzrQ90ewVOTBvHOfg==} - engines: {node: '>= 12'} - peerDependencies: - preact: '>=10 || ^10.0.0-alpha.0 || ^10.0.0-beta.0' + '@rolldown/binding-linux-ppc64-gnu@1.2.16': + resolution: {integrity: sha512-qJd/dC6j6CwLG9/s/RP2nb1RZ0GIgj7Ioj7x/SYa3RzjVrlzrmH0fhIOpfvqQDeIsdP0loi+kHaMhJzY1PBIaA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@rolldown/binding-linux-s390x-gnu@1.2.16': + resolution: {integrity: sha512-Vx7Xg5uUJuNcujJjI70OICaH0EYj80BtOLZTSN7uOYg8QOLlyKnaG0IW7Fn/J0IpJsaKzmDKMhOQv1JBM9m9vg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] - '@tootallnate/once@2.0.0': - resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} - engines: {node: '>= 10'} + '@rolldown/binding-linux-x64-gnu@1.2.16': + resolution: {integrity: sha512-TNKhgE3uJTsTzatUSSYt0Kgo+Oa2uSlSjz4r1aEIea7HX6ULBym4fAlYUhG1i6pjNf2njfCUAfKwr6C3E9Xg1w==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] - '@types/aria-query@5.0.1': - resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} + '@rolldown/binding-linux-x64-musl@1.2.16': + resolution: {integrity: sha512-7chXdpjXZ8qG0+mIxECN3cT9kvhZ3/oZhMX6Pp876P7CDrIy8nJswva6Mq357JR7eYXfuskwZxMeV1SzoZdHrA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] - '@types/color-name@1.1.1': - resolution: {integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==} + '@rolldown/binding-openharmony-arm64@1.2.16': + resolution: {integrity: sha512-Kwjt+7uNTJK5/MDkGWGVO2KQPnj8yAV75dMpfwyHZrJSXWHrniOB0aUEWlVYf3H1hOqFLIStLdM5QXq6bnKmOQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [openharmony] + + '@rolldown/binding-win32-arm64-msvc@1.2.16': + resolution: {integrity: sha512-/LH6WfjDRXXJz/p5xl4TmU+jpcnwcxbKEQBW/GZE0JHfN0lGIyTtsUEGaQ/q/GikkGJ2yLKe6pwm7AnEWO8pdw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] - '@types/cookie@0.4.1': - resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==} + '@rolldown/binding-win32-x64-msvc@1.2.16': + resolution: {integrity: sha512-1lv1KvX0Z871zfk7vw+dnXMMnHNyDwMzWG8Kv3HxDXMOhzCX4SHc7HK319fInP0i+0p9D8brkfzL7pJOaGl+tw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] - '@types/cors@2.8.12': - resolution: {integrity: sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==} + '@rolldown/pluginutils@1.0.1': + resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} - '@types/eslint-scope@3.7.3': - resolution: {integrity: sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==} + '@sindresorhus/is@4.6.0': + resolution: {integrity: sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw==} + engines: {node: '>=10'} - '@types/eslint@8.4.1': - resolution: {integrity: sha512-GE44+DNEyxxh2Kc6ro/VkIj+9ma0pO0bwv9+uHSyBrikYOHr8zYcdPvnBOp1aw8s+CjRvuSx7CyWqRrNFQ59mA==} + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - '@types/estree@0.0.51': - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} + '@types/color-name@1.1.1': + resolution: {integrity: sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==} - '@types/json-schema@7.0.11': - resolution: {integrity: sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==} + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - '@types/node@18.15.0': - resolution: {integrity: sha512-z6nr0TTEOBGkzLGmbypWOGnpSpSIBorEhC4L+4HeQ2iezKCi4f77kyslRwvHeNitymGQ+oFyIWGP96l/DPSV9w==} + '@types/estree@1.0.10': + resolution: {integrity: sha512-lTyOMnOcmRBzdCv6/4zUZCrEhV0xrqQiUZBZtVcbmLHBXKLnN8q89v/wKRF/Q0HbwVsqbIG3o5HDoFl9sduM+g==} '@types/react@19.3.0': resolution: {integrity: sha512-N0rFCuH9YoxG9/m61l9MfpJKfmLOVU0em7ipIz6TRgSSkvReLB9vL85GB+yr8Bs5leqpvg96JSwF4ZS1s4viQg==} @@ -1448,131 +942,68 @@ packages: cpu: [x64] os: [win32] - '@webassemblyjs/ast@1.11.1': - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} - - '@webassemblyjs/floating-point-hex-parser@1.11.1': - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} - - '@webassemblyjs/helper-api-error@1.11.1': - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} - - '@webassemblyjs/helper-buffer@1.11.1': - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} - - '@webassemblyjs/helper-numbers@1.11.1': - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} - - '@webassemblyjs/helper-wasm-bytecode@1.11.1': - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} - - '@webassemblyjs/helper-wasm-section@1.11.1': - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} - - '@webassemblyjs/ieee754@1.11.1': - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} - - '@webassemblyjs/leb128@1.11.1': - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} - - '@webassemblyjs/utf8@1.11.1': - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} - - '@webassemblyjs/wasm-edit@1.11.1': - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} - - '@webassemblyjs/wasm-gen@1.11.1': - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} - - '@webassemblyjs/wasm-opt@1.11.1': - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} - - '@webassemblyjs/wasm-parser@1.11.1': - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + '@vitest/browser-playwright@5.0.5': + resolution: {integrity: sha512-lcdThFUUcMV9mGGV1SUiZXPxfjgW4CssA7o3STxzh8WK0tT2r526kc12tZIBRZfoLMwkhxjLmMXkWXONzdsDQw==} + peerDependencies: + playwright: '*' + vitest: 5.0.5 - '@webassemblyjs/wast-printer@1.11.1': - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + '@vitest/browser@5.0.5': + resolution: {integrity: sha512-IDMoZX/iZ8rkilw7weaSgN8tJ7iZ9hUv0wYoKXyiyjWjWFwLSWAY707DcVTgxTYOudWC1E3HA9LYn7kVa9a7uQ==} + peerDependencies: + vitest: 5.0.5 - '@xtuc/ieee754@1.2.0': - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + '@vitest/coverage-v8@5.0.5': + resolution: {integrity: sha512-4KpkGdIrSqBihx/JyP/e+S+IKB98etg1XDQiLAxksLfcShnwi1VReGeOT9NI43hLHbknosKp/1CCLn9Zgcs8mg==} + peerDependencies: + '@vitest/browser': 5.0.5 + vitest: 5.0.5 + peerDependenciesMeta: + '@vitest/browser': + optional: true - '@xtuc/long@4.2.2': - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + '@vitest/istanbul-lib-coverage@1.0.2': + resolution: {integrity: sha512-9J/JMwOf9AoJhAywhrn7ScKTL38hsWQP/qPG60OtaAFcQ5OXPwKsxZFlbnuCKmZ61m8/lGgHYnFpdyQZUvG/iA==} + engines: {node: '>=22'} - abab@2.0.6: - resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} - deprecated: Use your platform's native atob() and btoa() methods instead + '@vitest/istanbul-lib-report@1.0.2': + resolution: {integrity: sha512-gUsfXZJbzPamoIY5TvHFiMMoXESBrUMo+xqaj+rYrWI69+EnvRlYBlP96ZnHPY4vX8kyUpgAnFUCg5wZG/HkDQ==} + engines: {node: '>=22'} - abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + '@vitest/mocker@5.0.5': + resolution: {integrity: sha512-xLL3lkDegJZw+MGoGaCCsFayDZthGgpAtr3Vziyfc4p7xH89K7KRPcRBBh/kEYm0Aqkt5DtTmkYpBtRV/FrHZg==} + peerDependencies: + msw: ^2.4.9 || ^3.0.0 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true - accepts@1.3.7: - resolution: {integrity: sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==} - engines: {node: '>= 0.6'} + '@vitest/pretty-format@5.0.5': + resolution: {integrity: sha512-24sSdIlMA9DVPXnYiB9siwU0bTd887Y9jX3+vabztCSsvHwo7ipvJ/a2L3Rljw8+2rK1f5fCj3h5U9I/Jsqgbw==} - acorn-globals@7.0.1: - resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + '@vitest/spy@5.0.5': + resolution: {integrity: sha512-lwJRExuH417257Q5wv9QYugN9IMJkoxcrKrYxGPQkBzl7wlNpTUxD/5yNX4ESKVUIShKPgkGchYPFMWOOk0wzw==} - acorn-import-assertions@1.8.0: - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} - deprecated: package has been renamed to acorn-import-attributes + '@vitest/ui@5.0.5': + resolution: {integrity: sha512-dCoGUOdgmCaSB2g+WQ/spPCBkytAWdNUkFSXY4z+eYp2d8JEOY8v0uDRaJTG9qf/kTlTVZ4CuYMYMz/f1HS/qQ==} peerDependencies: - acorn: ^8 + vitest: 5.0.5 - acorn-walk@8.2.0: - resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} - engines: {node: '>=0.4.0'} + '@vitest/utils@5.0.5': + resolution: {integrity: sha512-/rBu7gzLDQI/SC79Tn98b5DwOgaHU/Gt4I9OVeP3YofzNaYtbImRCOJQmT1S6vOJg9gEIlWC+r3QxKkjuSa1nQ==} acorn@8.19.0: resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} engines: {node: '>=0.4.0'} hasBin: true - acorn@8.8.2: - resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} - engines: {node: '>=0.4.0'} - hasBin: true - - agent-base@6.0.0: - resolution: {integrity: sha512-j1Q7cSCqN+AwrmDd+pzgqc0/NpC655x2bUf5ZjRIO77DcNBFmh+OgRNzF6OKdCC9RSCb19fGd99+bhXFdkRNqw==} - engines: {node: '>= 6.0.0'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv-keywords@3.5.2: - resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} - peerDependencies: - ajv: ^6.9.1 - - ajv-keywords@5.1.0: - resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} - peerDependencies: - ajv: ^8.8.2 - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ansi-escapes@7.3.0: resolution: {integrity: sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==} engines: {node: '>=18'} - ansi-regex@3.0.0: - resolution: {integrity: sha512-wFUFA5bg5dviipbQQ32yOQhl6gcJaJXiHE7dvR8VYPG97+J/GNC5FKGepKdEDUFeXRzDxPF1X/Btc8L+v7oqIQ==} - engines: {node: '>=4'} - ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1581,153 +1012,36 @@ packages: resolution: {integrity: sha512-zhvbbbdt1kbw7EJ9OQoxmQcuaNR9P5kTj7e/YdmOSU10aHWbycofJxA6jKfoEy3vlLdctOF9ZHaxLtmSm998wQ==} engines: {node: '>=12'} - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - ansi-styles@4.2.1: resolution: {integrity: sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==} engines: {node: '>=8'} - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - ansi-styles@6.2.3: - resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} - engines: {node: '>=12'} - any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - anymatch@3.1.2: - resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==} - engines: {node: '>= 8'} - - append-transform@2.0.0: - resolution: {integrity: sha512-7yeyCEurROLQJFv5Xj4lEGTy0borxepjFv1g22oAdqFu//SrAlDl1O1Nxx15SH1RoliUml6p8dwJW9jvZughhg==} - engines: {node: '>=8'} - - archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - aria-query@5.1.3: - resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} - - assert@2.0.0: - resolution: {integrity: sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==} - - async@1.5.2: - resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} - - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - available-typed-arrays@1.0.5: - resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} - engines: {node: '>= 0.4'} - - babel-loader@9.1.2: - resolution: {integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==} - engines: {node: '>= 14.15.0'} - peerDependencies: - '@babel/core': ^7.12.0 - webpack: '>=5' - - babel-plugin-polyfill-corejs2@0.3.3: - resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - babel-plugin-polyfill-corejs3@0.6.0: - resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - babel-plugin-polyfill-regenerator@0.4.1: - resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} - peerDependencies: - '@babel/core': ^7.0.0-0 - - balanced-match@1.0.0: - resolution: {integrity: sha512-9Y0g0Q8rmSt+H33DfKv7FOc3v+iRI+o1lbzt8jGcIosYW37IIW/2XVYq5NPdmaD5NQ59Nk26Kl/vZbwW9Fr8vg==} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} - base64id@2.0.0: - resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} - engines: {node: ^4.5.0 || >= 5.9} + ast-v8-to-istanbul@1.0.7: + resolution: {integrity: sha512-kFL68AG6ajd8fg248zwM9GQrUWEp79gsmjum34OEXjs4yHuUMZfYKwOLW9GMmB4oNvVrj+EAGxsP7ye2UR9UlA==} benchmark@2.1.4: resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} - binary-extensions@2.0.0: - resolution: {integrity: sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==} - engines: {node: '>=8'} - - body-parser@1.19.1: - resolution: {integrity: sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==} - engines: {node: '>= 0.8'} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.1.7: - resolution: {integrity: sha512-uZbew1NqdmPDTMJ8ah1y+b+9QEJrfkXFk3RcTQw3X0jW/xRUvFKsg1CfQdSYGdTbXZWExtU3J3ccxtnfw1Fi0g==} - - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - - browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - - browserslist@4.21.5: - resolution: {integrity: sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + bidi-js@1.1.0: + resolution: {integrity: sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==} buffer-from@1.1.1: resolution: {integrity: sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==} - builder@5.0.0: - resolution: {integrity: sha512-jWn12XLo07aIhniBlrA/hdS4Q86xyHlcWG9LfTFiqhEzUQbTPvzgtK/Qfe1CyUPm3+QKSaJV/V6NSurSlwCJ3g==} - engines: {node: '>=8'} - hasBin: true - - bytes@3.1.1: - resolution: {integrity: sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==} - engines: {node: '>= 0.8'} - cac@7.1.0: resolution: {integrity: sha512-LMDU/U2yA4IPIY8KT0NsNPWEYZvAMkbgyspxJ6btJaYV+WMDOHAZCmB0lsTObiHaRS1V/ztKAl7+TSkTqXyeoA==} engines: {node: '>=20.19.0'} - caching-transform@4.0.0: - resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} - engines: {node: '>=8'} - - call-bind@1.0.2: - resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - caniuse-lite@1.0.30001462: - resolution: {integrity: sha512-PDd20WuOBPiasZ7KbFnmQRyuLE7cFXW2PVd7dmALzbkUXEP46upAuCDm9eY9vho8fgNMGmbAX92QBZHzcnWIqw==} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + chai@6.3.0: + resolution: {integrity: sha512-XWAtwJ6OHO+tj0EKCs0Y2UamnyOxseZWltU4x2U2wh8g4AigdjwvtUjvLP2tqkA/avxHEtzxNaqGq/YGNwckKg==} + engines: {node: '>=18'} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1741,25 +1055,9 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - - chokidar@4.0.3: - resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} - engines: {node: '>= 14.16.0'} - - chrome-trace-event@1.0.2: - resolution: {integrity: sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==} - engines: {node: '>=6.0'} - cjs-module-lexer@1.4.3: resolution: {integrity: sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==} - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - cli-highlight@2.1.11: resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} engines: {node: '>=8.0.0', npm: '>=5.0.0'} @@ -1769,33 +1067,16 @@ packages: resolution: {integrity: sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==} engines: {node: 10.* || >= 12.*} - cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - cliui@7.0.4: resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - commander@10.0.1: resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} engines: {node: '>=14'} @@ -1803,4234 +1084,1519 @@ packages: commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - connect@3.7.0: - resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} - engines: {node: '>= 0.10.0'} + css-tree@3.2.1: + resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} - content-type@1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} - - convert-source-map@1.7.0: - resolution: {integrity: sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==} + csstype@3.2.3: + resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} - cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} + data-urls@8.0.0: + resolution: {integrity: sha512-JQUCCK+/CAGbGGx618PlFZMXH81Jtj7t73CHv9dd/zVWvxgGT2zLFRjnKb+Ng46GIwcy+f7f88qd4duqllK+WQ==} + engines: {node: ^22.14.0 || >=24.0.0} - core-js-compat@3.29.0: - resolution: {integrity: sha512-ScMn3uZNAFhK2DGoEfErguoiAHhV2Ju+oJo/jK08p7B3f3UhocUrCCkTvnZaiS+edl5nlIoiBXKcwMc6elv4KQ==} + dataloader@2.2.3: + resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} - core-js@3.29.0: - resolution: {integrity: sha512-VG23vuEisJNkGl6XQmFJd3rEG/so/CNatqeE+7uZAwTSwFeB/qaO0be8xZYUNWprJ/GIwL8aMt9cj1kvbpTZhg==} + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - cors@2.8.5: - resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} - engines: {node: '>= 0.10'} + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - cross-spawn@7.0.6: - resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} - engines: {node: '>= 8'} + emojilib@2.4.0: + resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} - cssom@0.3.8: - resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + entities@8.1.0: + resolution: {integrity: sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==} + engines: {node: '>=20.19.0'} - cssom@0.5.0: - resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + environment@1.1.0: + resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} + engines: {node: '>=18'} - cssstyle@2.3.0: - resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} - engines: {node: '>=8'} + es-module-lexer@2.3.2: + resolution: {integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==} - csstype@3.2.3: - resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} + escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} - custom-event@1.0.1: - resolution: {integrity: sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==} + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - data-urls@3.0.2: - resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} - engines: {node: '>=12'} + expect-type@1.4.0: + resolution: {integrity: sha512-KfYbmpRm0VbLjEvVa9yGwCi9GI34xvi7A/HXYWQO65CSD2u3MczUJSuwXKFIxlGsgBQizV9q5J9NHj4VG0n+pA==} + engines: {node: '>=12.0.0'} - dataloader@2.2.3: - resolution: {integrity: sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==} + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - date-format@4.0.3: - resolution: {integrity: sha512-7P3FyqDcfeznLZp2b+OMitV9Sz2lUnsT87WaTat9nVwqsBkTzPG3lPLNwW3en6F4pHUiWzr6vb8CLhjdK9bcxQ==} - engines: {node: '>=4.0'} + fast-string-truncated-width@3.0.3: + resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + fast-string-width@3.0.2: + resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + fast-wrap-ansi@0.2.2: + resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} - debug@4.4.3: - resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} - engines: {node: '>=6.0'} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: - supports-color: '*' + picomatch: ^3 || ^4 peerDependenciesMeta: - supports-color: + picomatch: optional: true - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - - decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} + fflate@0.8.3: + resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} - decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + flatted@3.4.4: + resolution: {integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==} - deep-equal@2.2.0: - resolution: {integrity: sha512-RdpzE0Hv4lhowpIUKKMJfeH6C1pXdtT1/it80ubgWqwI3qpuxUBpC1S4hnHg+zjnuOoDkzUtUCEEkG+XG5l3Mw==} + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} - default-require-extensions@3.0.1: - resolution: {integrity: sha512-eXTJmRbm2TIt9MgWTsOH1wEuhew6XGZcMeGKCtLedIg/NCsg1iBePXkceTdK4Fii7pzmN9tGsZhKzZ4h7O/fxw==} + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - define-properties@1.2.0: - resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} - engines: {node: '>= 0.4'} + highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - depd@1.1.2: - resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} - engines: {node: '>= 0.6'} + html-encoding-sniffer@7.0.0: + resolution: {integrity: sha512-UikN5yr7xsCDAq87Or5or0PAlD3HJJOKVzM05az588WnpDJ4Ux7a2A53Qi6gofGg2/EtvF/H4hCi/TXfCW4Y6w==} + engines: {node: ^22.13.0 || >=24.0.0} - di@0.0.1: - resolution: {integrity: sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==} - - diff@5.1.0: - resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} - engines: {node: '>=0.3.1'} + human-id@4.2.2: + resolution: {integrity: sha512-Z+8unD6em/MJwyrkWQ2M3wygRGI1+MztbutiNwk1DCuEPXOZRWGjtcMPZYP1exY9iNZMhd7ZOSMQSo9WYtiQRw==} + hasBin: true - diff@7.0.0: - resolution: {integrity: sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==} - engines: {node: '>=0.3.1'} + import-meta-resolve@4.2.0: + resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - dom-accessibility-api@0.5.16: - resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} - dom-serialize@2.2.1: - resolution: {integrity: sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==} + is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - domexception@4.0.0: - resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} - engines: {node: '>=12'} - deprecated: Use your platform's native DOMException instead + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + js-tokens@10.0.0: + resolution: {integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q==} - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + jsdom@30.1.3: + resolution: {integrity: sha512-hQMUPvRgN7KxsfIytDQji7bimuJeRQa6Qo5+iuiZQk5CafeRxLIA10/cG5YCBFNpD9RO3oqIiN4CO1Y44kxqXg==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} + peerDependencies: + canvas: ^3.2.3 + peerDependenciesMeta: + canvas: + optional: true - electron-to-chromium@1.4.325: - resolution: {integrity: sha512-K1C03NT4I7BuzsRdCU5RWkgZxtswnKDYM6/eMhkEXqKu4e5T+ck610x3FPzu1y7HVFSiQKZqP16gnJzPpji1TQ==} + jsonc-parser@3.3.1: + resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + launch-editor@2.14.2: + resolution: {integrity: sha512-NHJEb30MGBCkmZXLZwz25t37QR4aY03ZzPYUJXOJaOa92uWwExI9SBQUuIznBYc1xkD7cJNGX7oc3Nl3sq2kQQ==} - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + lightningcss-android-arm64@1.33.0: + resolution: {integrity: sha512-gEpRTalKdosp4Bb8qWtc2iOgE5SeIHlpS1up9bFq2wAyYhl1UdTObYiHe98zEM9SQvSoqQZ1IQD0JNpg3Ml5pg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] - emojilib@2.4.0: - resolution: {integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==} + lightningcss-darwin-arm64@1.33.0: + resolution: {integrity: sha512-Sciaz8eenNTKn9b3t7+xr0ipTp9YxKQY4npwQ3mrRuL0BAVHBLyZxofhaKBAVtzmtRZ/zTyo0/to4B1uWG/Djg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} + lightningcss-darwin-x64@1.33.0: + resolution: {integrity: sha512-Z5UPAxzrjlWNNyGy6i65cJzzvgJ5D3T6wMvs+gWpY9d7qRhANrxqAp6LhxIgZhWEw18RfJTGcRxjuLIBr+m8XQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] - engine.io-parser@5.0.6: - resolution: {integrity: sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==} - engines: {node: '>=10.0.0'} + lightningcss-freebsd-x64@1.33.0: + resolution: {integrity: sha512-QQM/Ti/hQajJwCY+RiWuCZ9sdtI/XQk7nDK5vC8kkdwixezOlDgvDx7+RT+QjK6FcFT4MpsuoBnHIo/O3StRRg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] - engine.io@6.4.1: - resolution: {integrity: sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==} - engines: {node: '>=10.0.0'} + lightningcss-linux-arm-gnueabihf@1.33.0: + resolution: {integrity: sha512-N7FVBe6iS24MlM6R/4RBTxGhQheZGs7tiQ9U32UtF75NzP5Q7xWPRqLBCKxlRQRk3rY1jCIPLzx7WzOhuUIRLQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] - enhanced-resolve@5.12.0: - resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} - engines: {node: '>=10.13.0'} + lightningcss-linux-arm64-gnu@1.33.0: + resolution: {integrity: sha512-j2v/itmy4HlNxlc6voKXYgBqNi0Ng2LShg4z7GufpEgs05P+2suBVyi9I6YHq5uoVFx9ETin3eCEhLVyXGQnKg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] - ent@2.2.0: - resolution: {integrity: sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==} + lightningcss-linux-arm64-musl@1.33.0: + resolution: {integrity: sha512-yiO5ROMuYQgXbC60yjZU5CYSFZGKXL0HFATXt9mHJn1+zW55oCtMI9NfcVhYLMFDL7gV7oBPon/EmMMGg2OvtQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] - entities@4.4.0: - resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} - engines: {node: '>=0.12'} + lightningcss-linux-x64-gnu@1.33.0: + resolution: {integrity: sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] - environment@1.1.0: - resolution: {integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==} - engines: {node: '>=18'} + lightningcss-linux-x64-musl@1.33.0: + resolution: {integrity: sha512-RYiYbkokw0trfKqqzfF55lginwEPrD3OJDfTuJzFs1MK6iFnDenaz1fqLLtX4ITG3OktJQXOeTaw1awrBAlZPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] - es-get-iterator@1.1.3: - resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + lightningcss-win32-arm64-msvc@1.33.0: + resolution: {integrity: sha512-1K+MPfLSFVpphzpdbfkhlWk6wBrTObBzS2T6db10PNOZgR9GoVsAWzwNyuhUYYbTp23j+4RrncfujZ4uAzXvwA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] - es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} + lightningcss-win32-x64-msvc@1.33.0: + resolution: {integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] - es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + lightningcss@1.33.0: + resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} + engines: {node: '>= 12.0.0'} - es6-object-assign@1.1.0: - resolution: {integrity: sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==} + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - escalade@3.1.1: - resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} - engines: {node: '>=6'} + lru-cache@11.5.3: + resolution: {integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==} + engines: {node: 20 || >=22} - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + magic-string@1.4.5: + resolution: {integrity: sha512-oLLC2+YvQUfAa+vxoufE/yc1icb87M9iXIRqAoR/2EhE/8cb3SF/+Gi0c2By1B+5Vz2e2vQtUvHiu1+63Znh+w==} - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + magicast@0.5.5: + resolution: {integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==} - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + marked-terminal@7.3.1: + resolution: {integrity: sha512-B1eKs5mRiacjHHMlex1zn0zkVomz2/KWjD/dyA8WRQTXk2d15OzVjiK/iuPfvDFB27Gvr8p/u6MYgU0NY/O45w==} + engines: {node: '>=16.0.0'} + peerDependencies: + marked: '>=1 <19' - escodegen@2.0.0: - resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} - engines: {node: '>=6.0'} + marked@9.1.6: + resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} + engines: {node: '>= 16'} hasBin: true - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + mdn-data@2.27.1: + resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + mri@1.2.0: + resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - hasBin: true - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + mrmime@2.0.1: + resolution: {integrity: sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==} + engines: {node: '>=10'} - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + nano-equal@2.0.2: + resolution: {integrity: sha512-RtAioZtSSppEWRruYU8oz2AKPJWTW74TpzcqP79n7Kh4nHW+gmrJGcTuELmid9tvGR4Xp2cCoTtYIIDy9iWO4g==} - eventemitter3@4.0.4: - resolution: {integrity: sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ==} + nanoid@3.3.20: + resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} + node-emoji@2.2.0: + resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} + engines: {node: '>=18'} - extend@3.0.2: - resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + obug@3.0.0: + resolution: {integrity: sha512-5vvB5+W7ePv+p3uqxi+RcW1XAzLW0/hxt3/4X4Lc4qHudzOhmBiBwOY6DRob4WnanAEGvNcLjF+KNOufrUoEQw==} + engines: {node: '>=12.20.0'} - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + oxfmt@0.75.0: + resolution: {integrity: sha512-/ZKvY5asfsVi9hdkOmRIumqOPu6kxlTgiJSZf54uq29kKew+Gu1FFAnEkGePyvLVW+MAYu41D6XggnzoElQzPw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@astrojs/compiler-rs': ^0.5.0 + svelte: ^5.0.0 + vite-plus: '*' + peerDependenciesMeta: + '@astrojs/compiler-rs': + optional: true + svelte: + optional: true + vite-plus: + optional: true - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + oxlint@1.90.0: + resolution: {integrity: sha512-RkTN9EmgIUpLuhNoLhO3OliMGJlvb3Dk7XVjBZnfoMCHrVpuz5ESd97klfiyYeV7XfA2lNLnDCPMkUI+Qw5How==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + oxlint-tsgolint: '>=7.0.2005' + vite-plus: '*' + peerDependenciesMeta: + oxlint-tsgolint: + optional: true + vite-plus: + optional: true - fast-string-truncated-width@3.0.3: - resolution: {integrity: sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==} + package-manager-detector@1.9.0: + resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} - fast-string-width@3.0.2: - resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} + parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} - fast-wrap-ansi@0.2.2: - resolution: {integrity: sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==} + parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} - fdir@6.5.0: - resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} - engines: {node: '>=12.0.0'} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true + parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - fflate@0.8.3: - resolution: {integrity: sha512-tbZNuJrLwGUp3zshBtdy4W+ORxZuIh8a5ilyIEQDC5rY1f3U20JMry0Ll3WBzU58EZKsEuJFXhb5gwv8CsPvgA==} + parse5@8.0.1: + resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==} - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + pathe@2.0.3: + resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - finalhandler@1.1.2: - resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==} - engines: {node: '>= 0.8'} + picocolors@1.1.1: + resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - find-cache-dir@3.3.2: - resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} - engines: {node: '>=8'} + picomatch@4.0.7: + resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} + engines: {node: '>=12'} - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + platform@1.3.5: + resolution: {integrity: sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==} - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + playwright-core@1.64.1: + resolution: {integrity: sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==} + engines: {node: '>=20'} + hasBin: true - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + playwright@1.64.1: + resolution: {integrity: sha512-HCrVhHr5QQuwYoswEUGTb7gGp522yflbv/ST8nF4sFWGuLjQCt17Q/EubpGGSNKYn1tsTCPZxqHhHCfVURu7UA==} + engines: {node: '>=20'} hasBin: true - flatted@3.2.7: - resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + pngjs@7.0.0: + resolution: {integrity: sha512-LKWqWJRhstyYo9pGvgor/ivk2w94eSjE3RGVuzLGlr3NmD8bf7RcYGze1mNdEHRP6TRP6rMuDHk5t44hnTRyow==} + engines: {node: '>=14.19.0'} - follow-redirects@1.14.7: - resolution: {integrity: sha512-+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==} - engines: {node: '>=4.0'} + postcss@8.5.32: + resolution: {integrity: sha512-LJlKCCAUFKOuZxipUdYw1NzIITEsPcgyOG9LkvRJvuKj/bRzbuRY0ARXvL0pWGpsZvn8jku+LMep2eU0seHp8g==} + engines: {node: ^10 || ^12 || >=14} + + preact@11.1.1: + resolution: {integrity: sha512-vpFVfai437pbuLri7XVeslCPfrEZX6Z1S2gV+MOFrA/kji+NKUXvH7y01EnVjA1guLigfkVp77Sqipd4SIllCg==} peerDependencies: - debug: '*' + preact-render-to-string: '>=6.7.0' peerDependenciesMeta: - debug: + preact-render-to-string: optional: true - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - - foreground-child@2.0.0: - resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==} - engines: {node: '>=8.0.0'} + publint@0.3.25: + resolution: {integrity: sha512-WMMbn/d7JqRlfXQL/JUI4n5skC8cJ5WVr8/wT5mmiYWkUdENkZr1I5rgs2+dQPVRgoJd+JRYtB46MTsuDylw9g==} + engines: {node: '>=18'} + hasBin: true - foreground-child@3.3.1: - resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} - engines: {node: '>=14'} + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + react-dom@19.3.1: + resolution: {integrity: sha512-Y0bARz53lhEC1NMCASs0/j+faB/zqt3R8hpvg1e8+61ZVJ4UL0UdC4cBbXfZMcIuhrfgeILTLe+ZeBCavQPtKQ==} + peerDependencies: + react: ^19.3.1 - fromentries@1.3.2: - resolution: {integrity: sha512-cHEpEQHUg0f8XdtZCc2ZAhrHzKzT0MrFUTcvx+hfxYu7rGMDc5SKoXFh+n4YigxsHXRzc6OrCshdR1bWH6HHyg==} + react@19.3.1: + resolution: {integrity: sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==} + engines: {node: '>=0.10.0'} - fs-extra@10.0.0: - resolution: {integrity: sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==} - engines: {node: '>=12'} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} - fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] + rolldown@1.2.16: + resolution: {integrity: sha512-bWvlMpFKiTfDKfnK7FC2MPgPeWCf/Kpwsq49ApdW+FQaBZb6O6dZ4MAPbPUjp7hYQrw/RobqCzn64BRrQecGHw==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true - function-bind@1.1.1: - resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + sade@1.8.1: + resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} + engines: {node: '>=6'} - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + scheduler@0.28.0: + resolution: {integrity: sha512-juorfCmIkIw8tT+p5BXSm6PJjQF/ycEYmKyzURCIt/RaZIhL+PulbQ9Yu2z1HdOJDdqDTlxA1+xKBmHXJsczAw==} - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true - get-intrinsic@1.2.0: - resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + shallow-equal-fuzzy@0.0.2: + resolution: {integrity: sha512-HKGvWaQ6fuFhNH2k1krxxmhKYxyPSbPzwCkM94qYVoLKCGCqg0r9bdCoX4A37UJvAfyLje9zHS5F/SsrYgrqgA==} + engines: {node: '>=0.12.0'} - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} + shell-quote@1.12.0: + resolution: {integrity: sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==} + engines: {node: '>= 0.4'} - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + sirv@3.0.2: + resolution: {integrity: sha512-2wcC/oGxHis/BoHkkPwldgiPSYcpZK3JU28WoMVv55yHJgcZ8rlXvuG9iZggz+sU1d4bRgIGASwyWqjxu3FM0g==} + engines: {node: '>=18'} - glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - glob@10.5.0: - resolution: {integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me - hasBin: true + skin-tone@2.0.0: + resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} + engines: {node: '>=8'} - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - deprecated: Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me + source-map-js@1.2.2: + resolution: {integrity: sha512-KGj/8Y43x35aZVDtt+J4mK1hoLGHULMYfSkODJNQjNDC3oW1PqPoxMwo0pLUsWM/UEGzON/NxeHywEfNXNP3Vw==} + engines: {node: '>=0.10.0'} - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + std-env@4.3.0: + resolution: {integrity: sha512-OtU/EgQ1kIm5KwqQpBC6ZEMXrZRui11w8zgfTWp8cdO9B8OaPsbA8bTHO2P+HNo1VlUTGMVBwPhydu6poeXiag==} - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - has-property-descriptors@1.0.0: - resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + supports-hyperlinks@3.2.0: + resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} + engines: {node: '>=14.18'} - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} + terser@5.51.2: + resolution: {integrity: sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q==} + engines: {node: '>=10'} + hasBin: true - has-tostringtag@1.0.0: - resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} - engines: {node: '>= 0.4'} + thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} - has@1.0.3: - resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} - engines: {node: '>= 0.4.0'} + thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - hasha@5.2.2: - resolution: {integrity: sha512-Hrp5vIK/xr5SkeN2onO32H0MgNZ0f17HRNH39WfL0SYUNOTZ5Lz1TJ8Pajo/87dYGEFlLMm7mIc/k/s6Bvz9HQ==} - engines: {node: '>=8'} + tinybench@6.2.2: + resolution: {integrity: sha512-nIZ2N2dFpjBsg2hgitKu7mA+FvsIJuGJOwysRngmVRRmWgR/UyPjwJj8c/fT/dhm8EkHnF5EOogRf+0Z2qrimA==} + engines: {node: '>=20.0.0'} - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true + tinyexec@1.3.1: + resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} + engines: {node: '>=18'} - highlight.js@10.7.3: - resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + tinyglobby@0.2.17: + resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} + engines: {node: '>=12.0.0'} - html-encoding-sniffer@3.0.0: - resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} - engines: {node: '>=12'} + tinypool@2.2.0: + resolution: {integrity: sha512-jBrmx4lYmaC9k/mgPbylxs7kBUxHtD8256up+HjLaDFfXScKJQyil+SWXSvhAtT7XHo+yTVlpB81PGmHP8oLSQ==} + engines: {node: ^20.0.0 || >=22.0.0} - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + tinyrainbow@3.2.0: + resolution: {integrity: sha512-LgO3D9yZJjApUiuUfl9iFAwrtaX4+lok3wJIqttGoKCHlWUqHqbQpnxCf82L8FjgKsh4iGo78hqJwgL8F6To2A==} + engines: {node: '>=14.0.0'} - http-errors@1.8.1: - resolution: {integrity: sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==} - engines: {node: '>= 0.6'} + tldts-core@7.4.20: + resolution: {integrity: sha512-C630TWXZCZmLq0F2bW4QqwnaaxCQ/svpAqvJwnC4JvgEM5ohhBnGsEzTLSOXcN+xjz+kEaHS5uoWIw2klnqd0A==} - http-proxy-agent@5.0.0: - resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} - engines: {node: '>= 6'} + tldts@7.4.19: + resolution: {integrity: sha512-48dH6aSpQnpbzDUc4vIQZ1VjB8tkK+e8c1yx05/SZK+rkssgjEOlxDd/yU8/a4vGYQ9vRgJr9dwMq9TJ0b3X2Q==} + hasBin: true - http-proxy@1.18.1: - resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} - engines: {node: '>=8.0.0'} - - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - - human-id@4.2.2: - resolution: {integrity: sha512-Z+8unD6em/MJwyrkWQ2M3wygRGI1+MztbutiNwk1DCuEPXOZRWGjtcMPZYP1exY9iNZMhd7ZOSMQSo9WYtiQRw==} - hasBin: true - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - - import-meta-resolve@4.2.0: - resolution: {integrity: sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - internal-slot@1.0.5: - resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} - engines: {node: '>= 0.4'} - - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - - is-array-buffer@3.0.2: - resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} - - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-core-module@2.12.1: - resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} - - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - - is-docker@2.0.0: - resolution: {integrity: sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==} - engines: {node: '>=8'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-map@2.0.2: - resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} - - is-nan@1.3.2: - resolution: {integrity: sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==} - engines: {node: '>= 0.4'} - - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - - is-potential-custom-element-name@1.0.1: - resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - - is-set@2.0.2: - resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} - - is-shared-array-buffer@1.0.2: - resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.10: - resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} - engines: {node: '>= 0.4'} - - is-typedarray@1.0.0: - resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-weakmap@2.0.1: - resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} - - is-weakset@2.0.2: - resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} - - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - - is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - - isarray@0.0.1: - resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} - - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - - isbinaryfile@4.0.8: - resolution: {integrity: sha512-53h6XFniq77YdW+spoRrebh0mnmTxRPTlcuIArO57lmMdq4uBKFKaeTjnb92oYWrSn/LVL+LT+Hap2tFQj8V+w==} - engines: {node: '>= 8.0.0'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - istanbul-lib-coverage@3.2.0: - resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} - engines: {node: '>=8'} - - istanbul-lib-hook@3.0.0: - resolution: {integrity: sha512-Pt/uge1Q9s+5VAZ+pCo16TYMWPBIl+oaNIjgLQxcX0itS6ueeaA+pEfThZpH8WxhFgCiEb8sAJY6MdUKgiIWaQ==} - engines: {node: '>=8'} - - istanbul-lib-instrument@4.0.3: - resolution: {integrity: sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==} - engines: {node: '>=8'} - - istanbul-lib-processinfo@2.0.3: - resolution: {integrity: sha512-NkwHbo3E00oybX6NGJi6ar0B29vxyvNwoC7eJ4G4Yq28UfY758Hgn/heV8VRFhevPED4LXfFz0DQ8z/0kw9zMg==} - engines: {node: '>=8'} - - istanbul-lib-report@3.0.0: - resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} - engines: {node: '>=8'} - - istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - - istanbul-reports@3.1.5: - resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} - engines: {node: '>=8'} - - jackspeak@3.4.3: - resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - - jest-worker@27.5.1: - resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} - engines: {node: '>= 10.13.0'} - - jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsdom-global@3.0.2: - resolution: {integrity: sha512-t1KMcBkz/pT5JrvcJbpUR2u/w1kO9jXctaaGJ0vZDzwFnIvGWw9IDSRciT83kIs8Bnw4qpOl8bQK08V01YgMPg==} - peerDependencies: - jsdom: '>=10.0.0' - - jsdom@21.1.0: - resolution: {integrity: sha512-m0lzlP7qOtthD918nenK3hdItSd2I+V3W9IrBcB36sqDwG+KnUs66IF5GY7laGWUnlM9vTsD0W1QwSEBYWWcJg==} - engines: {node: '>=14'} - peerDependencies: - canvas: ^2.5.0 - peerDependenciesMeta: - canvas: - optional: true - - jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonc-parser@3.3.1: - resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - - just-extend@4.1.0: - resolution: {integrity: sha512-ApcjaOdVTJ7y4r08xI5wIqpvwS48Q0PBG4DJROcEkH1f8MdAiNFyFxz3xoL0LWAVwjrwPYZdVHHxhRHcx/uGLA==} - - karma-chrome-launcher@3.1.1: - resolution: {integrity: sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==} - - karma-firefox-launcher@2.1.2: - resolution: {integrity: sha512-VV9xDQU1QIboTrjtGVD4NCfzIH7n01ZXqy/qpBhnOeGVOkG5JYPEm8kuSd7psHE6WouZaQ9Ool92g8LFweSNMA==} - - karma-mocha-reporter@2.2.5: - resolution: {integrity: sha512-Hr6nhkIp0GIJJrvzY8JFeHpQZNseuIakGac4bpw8K1+5F0tLb6l7uvXRa8mt2Z+NVwYgCct4QAfp2R2QP6o00w==} - peerDependencies: - karma: '>=0.13' - - karma-mocha@2.0.1: - resolution: {integrity: sha512-Tzd5HBjm8his2OA4bouAsATYEpZrp9vC7z5E5j4C5Of5Rrs1jY67RAwXNcVmd/Bnk1wgvQRou0zGVLey44G4tQ==} - - karma-safari-launcher@1.0.0: - resolution: {integrity: sha512-qmypLWd6F2qrDJfAETvXDfxHvKDk+nyIjpH9xIeI3/hENr0U3nuqkxaftq73PfXZ4aOuOChA6SnLW4m4AxfRjQ==} - peerDependencies: - karma: '>=0.9' - - karma-webpack@5.0.0: - resolution: {integrity: sha512-+54i/cd3/piZuP3dr54+NcFeKOPnys5QeM1IY+0SPASwrtHsliXUiCL50iW+K9WWA7RvamC4macvvQ86l3KtaA==} - engines: {node: '>= 6'} - peerDependencies: - webpack: ^5.0.0 - - karma@6.4.1: - resolution: {integrity: sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==} - engines: {node: '>= 10'} - hasBin: true - - launch-editor@2.14.2: - resolution: {integrity: sha512-NHJEb30MGBCkmZXLZwz25t37QR4aY03ZzPYUJXOJaOa92uWwExI9SBQUuIznBYc1xkD7cJNGX7oc3Nl3sq2kQQ==} - - levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - - loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash.debounce@4.0.8: - resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} - - lodash.flattendeep@4.4.0: - resolution: {integrity: sha512-uHaJFihxmJcEX3kT4I23ABqKKalJ/zDrDg0lsFtc1h+3uw49SIJ5beyhx5ExVRti3AvKoOJngIj7xz3oylPdWQ==} - - lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - deprecated: This package is deprecated. Use the optional chaining (?.) operator instead. - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - log-symbols@2.2.0: - resolution: {integrity: sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==} - engines: {node: '>=4'} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - log4js@6.4.1: - resolution: {integrity: sha512-iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==} - engines: {node: '>=8.0'} - - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - - lru-cache@10.4.3: - resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - - lru-cache@11.5.3: - resolution: {integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==} - engines: {node: 20 || >=22} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - lz-string@1.5.0: - resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} - hasBin: true - - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - - marked-terminal@7.3.1: - resolution: {integrity: sha512-B1eKs5mRiacjHHMlex1zn0zkVomz2/KWjD/dyA8WRQTXk2d15OzVjiK/iuPfvDFB27Gvr8p/u6MYgU0NY/O45w==} - engines: {node: '>=16.0.0'} - peerDependencies: - marked: '>=1 <19' - - marked@9.1.6: - resolution: {integrity: sha512-jcByLnIFkd5gSXZmjNvS1TlmRhCXZjIzHYlaGkPlLIekG55JDR2Z4va9tZwCiP+/RDERiNhMOFu01xd6O5ct1Q==} - engines: {node: '>= 16'} - hasBin: true - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@9.0.9: - resolution: {integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - minipass@7.1.3: - resolution: {integrity: sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==} - engines: {node: '>=16 || 14 >=14.17'} - - mkdirp@0.5.5: - resolution: {integrity: sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==} - hasBin: true - - mocha@11.8.0: - resolution: {integrity: sha512-VyCeUdGN3A9lmCTTgG4yuvY9ixxaDk+xt2R/7/+1AP6EqNG+G9OKkzBwhVtVYoNX8YsxNSgAl8mOv3IAeOpFbw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - - mri@1.2.0: - resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} - engines: {node: '>=4'} - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - - nano-equal@2.0.2: - resolution: {integrity: sha512-RtAioZtSSppEWRruYU8oz2AKPJWTW74TpzcqP79n7Kh4nHW+gmrJGcTuELmid9tvGR4Xp2cCoTtYIIDy9iWO4g==} - - negotiator@0.6.2: - resolution: {integrity: sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==} - engines: {node: '>= 0.6'} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - nise@5.1.4: - resolution: {integrity: sha512-8+Ib8rRJ4L0o3kfmyVCL7gzrohyDe0cMFTBa2d364yIrEGMEoetznKJx899YxjybU6bL9SQkYPSBBs1gyYs8Xg==} - - node-emoji@2.2.0: - resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} - engines: {node: '>=18'} - - node-preload@0.2.1: - resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} - engines: {node: '>=8'} - - node-releases@2.0.10: - resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} - - nopt@4.0.3: - resolution: {integrity: sha512-CvaGwVMztSMJLOeXPrez7fyfObdZqNUK1cPAEzLHrTybIua9pMdmmPR5YwtfNftIOMv3DPUhFaxsZMNTQO20Kg==} - hasBin: true - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - nwsapi@2.2.2: - resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} - - nyc@15.1.0: - resolution: {integrity: sha512-jMW04n9SxKdKi1ZMGhvUTHBN0EICCRkHemEoE5jm6mTYcqcdas0ATzgUgejlQUHMvpnOZqGB5Xxsv9KxJW1j8A==} - engines: {node: '>=8.9'} - hasBin: true - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-inspect@1.12.3: - resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} - - object-is@1.1.5: - resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} - engines: {node: '>= 0.4'} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.4: - resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} - engines: {node: '>= 0.4'} - - on-finished@2.3.0: - resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - - os-homedir@1.0.2: - resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} - engines: {node: '>=0.10.0'} - - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - - osenv@0.1.5: - resolution: {integrity: sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==} - deprecated: This package is no longer supported. - - oxfmt@0.75.0: - resolution: {integrity: sha512-/ZKvY5asfsVi9hdkOmRIumqOPu6kxlTgiJSZf54uq29kKew+Gu1FFAnEkGePyvLVW+MAYu41D6XggnzoElQzPw==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - '@astrojs/compiler-rs': ^0.5.0 - svelte: ^5.0.0 - vite-plus: '*' - peerDependenciesMeta: - '@astrojs/compiler-rs': - optional: true - svelte: - optional: true - vite-plus: - optional: true - - oxlint@1.90.0: - resolution: {integrity: sha512-RkTN9EmgIUpLuhNoLhO3OliMGJlvb3Dk7XVjBZnfoMCHrVpuz5ESd97klfiyYeV7XfA2lNLnDCPMkUI+Qw5How==} - engines: {node: ^20.19.0 || >=22.12.0} - hasBin: true - peerDependencies: - oxlint-tsgolint: '>=7.0.2005' - vite-plus: '*' - peerDependenciesMeta: - oxlint-tsgolint: - optional: true - vite-plus: - optional: true - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-map@3.0.0: - resolution: {integrity: sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==} - engines: {node: '>=8'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - package-hash@4.0.0: - resolution: {integrity: sha512-whdkPIooSu/bASggZ96BWVvZTRMOFxnyUG5PnTSGKoJE2gd5mbVNmR2Nj20QFzxYYgAXpoqC+AiXzl+UMRh7zQ==} - engines: {node: '>=8'} - - package-json-from-dist@1.0.1: - resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - - package-manager-detector@1.9.0: - resolution: {integrity: sha512-zAMfbta9nPA8AKkA4WdmNAT8R8s6Dk0/xwPsqNnRidMFcLo1YkLuPDTgs2f64XdzS8vbLNnoJ+uUIkgbz7oRHA==} - - parse5-htmlparser2-tree-adapter@6.0.1: - resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} - - parse5@5.1.1: - resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} - - parse5@6.0.1: - resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} - - parse5@7.1.2: - resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} - - path-to-regexp@1.8.0: - resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} - - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - picocolors@1.1.1: - resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - picomatch@4.0.7: - resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} - engines: {node: '>=12'} - - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - - platform@1.3.5: - resolution: {integrity: sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==} - - preact@10.13.1: - resolution: {integrity: sha512-KyoXVDU5OqTpG9LXlB3+y639JAGzl8JSBXLn1J9HTSB3gbKcuInga7bZnXLlxmK94ntTs1EFeZp0lrja2AuBYQ==} - - prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - - pretty-format@27.5.1: - resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} - engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - - process-on-spawn@1.0.0: - resolution: {integrity: sha512-1WsPDsUSMmZH5LeMLegqkPDrsGgsWwk1Exipy2hvB0o/F0ASzbpIctSCcZIK1ykJvtTJULEH+20WOFjMvGnCTg==} - engines: {node: '>=8'} - - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - - psl@1.9.0: - resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} - - publint@0.3.25: - resolution: {integrity: sha512-WMMbn/d7JqRlfXQL/JUI4n5skC8cJ5WVr8/wT5mmiYWkUdENkZr1I5rgs2+dQPVRgoJd+JRYtB46MTsuDylw9g==} - engines: {node: '>=18'} - hasBin: true - - punycode@2.3.0: - resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} - engines: {node: '>=6'} - - qjobs@1.2.0: - resolution: {integrity: sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==} - engines: {node: '>=0.9'} - - qs@6.9.6: - resolution: {integrity: sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==} - engines: {node: '>=0.6'} - - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@2.4.2: - resolution: {integrity: sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==} - engines: {node: '>= 0.8'} - - react-is@17.0.2: - resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - - react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - - react-shallow-renderer@16.15.0: - resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==} - peerDependencies: - react: ^16.0.0 || ^17.0.0 || ^18.0.0 - - react-test-renderer@18.2.0: - resolution: {integrity: sha512-JWD+aQ0lh2gvh4NM3bBM42Kx+XybOxCpgYK7F8ugAlpaTSnWsX+39Z4XkOykGZAHrjwwTZT3x3KxswVWxHPUqA==} - peerDependencies: - react: ^18.2.0 - - react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - readdirp@4.1.2: - resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} - engines: {node: '>= 14.18.0'} - - regenerate-unicode-properties@10.1.0: - resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} - engines: {node: '>=4'} - - regenerate@1.4.2: - resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} - - regenerator-runtime@0.13.11: - resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} - - regenerator-transform@0.15.1: - resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} - - regexp.prototype.flags@1.4.3: - resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} - engines: {node: '>= 0.4'} - - regexpu-core@5.3.1: - resolution: {integrity: sha512-nCOzW2V/X15XpLsK2rlgdwrysrBq+AauCn+omItIz4R1pIcmeot5zvjdmOBRLzEH/CkC6IxMJVmxDe3QcMuNVQ==} - engines: {node: '>=4'} - - regjsparser@0.9.1: - resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} - hasBin: true - - release-zalgo@1.0.0: - resolution: {integrity: sha512-gUAyHVHPPC5wdqX/LG4LWtRYtgjxyX78oanFNTMMyFEfOqdC54s3eE82imuWKbOeqYht2CrNf64Qb8vgmmtZGA==} - engines: {node: '>=4'} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - - resolve@1.22.2: - resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} - hasBin: true - - rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - - sade@1.8.1: - resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==} - engines: {node: '>=6'} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - saxes@6.0.0: - resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} - engines: {node: '>=v12.22.7'} - - scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} - - schema-utils@3.1.1: - resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} - engines: {node: '>= 10.13.0'} - - schema-utils@4.0.0: - resolution: {integrity: sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==} - engines: {node: '>= 12.13.0'} - - semver@6.3.0: - resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} - hasBin: true - - semver@7.8.5: - resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} - engines: {node: '>=10'} - hasBin: true - - serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - - serialize-javascript@6.0.2: - resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} - - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - shallow-equal-fuzzy@0.0.2: - resolution: {integrity: sha512-HKGvWaQ6fuFhNH2k1krxxmhKYxyPSbPzwCkM94qYVoLKCGCqg0r9bdCoX4A37UJvAfyLje9zHS5F/SsrYgrqgA==} - engines: {node: '>=0.12.0'} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.12.0: - resolution: {integrity: sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==} - engines: {node: '>= 0.4'} - - side-channel@1.0.4: - resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} - - signal-exit@3.0.3: - resolution: {integrity: sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - sinon@15.0.1: - resolution: {integrity: sha512-PZXKc08f/wcA/BMRGBze2Wmw50CWPiAH3E21EOi4B49vJ616vW4DQh4fQrqsYox2aNR/N3kCqLuB0PwwOucQrg==} - deprecated: 16.1.1 - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - skin-tone@2.0.0: - resolution: {integrity: sha512-kUMbT1oBJCpgrnKoSr0o6wPtvRWT9W9UKvGLwfJYO2WuahZRHOpEyL1ckyMGgMWh0UdpmaoFqKKD29WTomNEGA==} - engines: {node: '>=8'} - - socket.io-adapter@2.5.2: - resolution: {integrity: sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==} - - socket.io-parser@4.2.2: - resolution: {integrity: sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==} - engines: {node: '>=10.0.0'} - - socket.io@4.6.1: - resolution: {integrity: sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==} - engines: {node: '>=10.0.0'} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - spawn-wrap@2.0.0: - resolution: {integrity: sha512-EeajNjfN9zMnULLwhZZQU3GWBoFNkbngTUPfaawT4RkMiviTxcX0qfhVbGey39mfctfDHkWtuecgQ8NJcyQWHg==} - engines: {node: '>=8'} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - statuses@1.5.0: - resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} - engines: {node: '>= 0.6'} - - stop-iteration-iterator@1.0.0: - resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} - engines: {node: '>= 0.4'} - - streamroller@3.0.2: - resolution: {integrity: sha512-ur6y5S5dopOaRXBuRIZ1u6GC5bcEXHRZKgfBjfCglMhmIf+roVCECjvkEYzNQOXIN2/JPnkMPW/8B3CZoKaEPA==} - engines: {node: '>=8.0'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - strip-ansi@4.0.0: - resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} - engines: {node: '>=4'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.2.0: - resolution: {integrity: sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==} - engines: {node: '>=12'} - - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-hyperlinks@3.2.0: - resolution: {integrity: sha512-zFObLMyZeEwzAoKCyu1B91U79K2t7ApXuQfo8OuxwXLDgcKxuwM+YvcbIhm6QWqz7mHUH1TVytR1PwVVjEuMig==} - engines: {node: '>=14.18'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - symbol-tree@3.2.4: - resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - - terser-webpack-plugin@5.3.1: - resolution: {integrity: sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - - terser@5.51.2: - resolution: {integrity: sha512-bWnjSNscmuI+GJze6ZupnHP8G/cTcsJF+bXCeQknk2SHQsgbNJnLrqiH9jZ2W4STPVXH2mDKKRX3iwPhc9Cn/Q==} - engines: {node: '>=10'} - hasBin: true - - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - - tinyexec@1.3.1: - resolution: {integrity: sha512-GCvB3aoys96IuDFBMcTB46JOR6mdMtAToqwiW8JlWhsoh1mhHi/xn9ss/Dg7N555GiJyEt2qzoG/NHCwM6h1EA==} - engines: {node: '>=18'} - - tinyglobby@0.2.17: - resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==} - engines: {node: '>=12.0.0'} - - tinypool@2.2.0: - resolution: {integrity: sha512-jBrmx4lYmaC9k/mgPbylxs7kBUxHtD8256up+HjLaDFfXScKJQyil+SWXSvhAtT7XHo+yTVlpB81PGmHP8oLSQ==} - engines: {node: ^20.0.0 || >=22.0.0} - - tmp@0.2.1: - resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} - engines: {node: '>=8.17.0'} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - tough-cookie@4.1.2: - resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} - engines: {node: '>=6'} - - tr46@3.0.0: - resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} - engines: {node: '>=12'} - - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - - tslib@1.13.0: - resolution: {integrity: sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==} - - type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - typedarray-to-buffer@3.1.5: - resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} - - typescript@5.6.1-rc: - resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} - engines: {node: '>=14.17'} - hasBin: true - - typescript@7.0.2: - resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} - engines: {node: '>=16.20.0'} - hasBin: true - - ua-parser-js@0.7.31: - resolution: {integrity: sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==} - deprecated: You are using an outdated version of ua-parser-js. Please update to ua-parser-js v0.7.33 / v1.0.33 / v2.0.0 (or later) to avoid ReDoS vulnerability [CVE-2022-25927](https://github.com/advisories/GHSA-fhg7-m89q-25r3) - - unicode-canonical-property-names-ecmascript@2.0.0: - resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} - engines: {node: '>=4'} - - unicode-emoji-modifier-base@1.0.0: - resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} - engines: {node: '>=4'} - - unicode-match-property-ecmascript@2.0.0: - resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} - engines: {node: '>=4'} - - unicode-match-property-value-ecmascript@2.1.0: - resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} - engines: {node: '>=4'} - - unicode-property-aliases-ecmascript@2.1.0: - resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} - engines: {node: '>=4'} - - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - - universalify@2.0.0: - resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} - engines: {node: '>= 10.0.0'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - update-browserslist-db@1.0.10: - resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - - util@0.12.4: - resolution: {integrity: sha512-bxZ9qtSlGUWSOy9Qa9Xgk11kSslpuZwaxCg4sNIDj6FLucDab2JxnHwyNTCpHMtK1MjoQiWQ6DiUMZYbSrO+Sw==} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - deprecated: uuid@10 and below is no longer supported. For ESM codebases, update to uuid@latest. For CommonJS codebases, use uuid@11 (but be aware this version will likely be deprecated in 2028). - hasBin: true - - validate-npm-package-name@5.0.1: - resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - void-elements@2.0.1: - resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==} - engines: {node: '>=0.10.0'} - - w3c-xmlserializer@4.0.0: - resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} - engines: {node: '>=14'} - - watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - - webidl-conversions@7.0.0: - resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} - engines: {node: '>=12'} - - webpack-merge@4.2.2: - resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==} - - webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - - webpack@5.76.0: - resolution: {integrity: sha512-l5sOdYBDunyf72HW8dF23rFtWq/7Zgvt/9ftMof71E/yUb1YLOBmTgA2K4vQthB3kotMrSj609txVE0dnr2fjA==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - - whatwg-encoding@2.0.0: - resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} - engines: {node: '>=12'} - deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation - - whatwg-mimetype@3.0.0: - resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} - engines: {node: '>=12'} - - whatwg-url@11.0.0: - resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} - engines: {node: '>=12'} - - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which-collection@1.0.1: - resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} - - which-module@2.0.0: - resolution: {integrity: sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q==} - - which-typed-array@1.1.9: - resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} - engines: {node: '>= 0.4'} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - word-wrap@1.2.3: - resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} - engines: {node: '>=0.10.0'} - - workerpool@9.3.4: - resolution: {integrity: sha512-TmPRQYYSAnnDiEB0P/Ytip7bFGvqnSU6I2BcuSw7Hx+JSg/DsUi5ebYfc8GYaSdpuvOcEs6dXxPurOYpe9QFwg==} - - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@3.0.3: - resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} - - ws@8.11.0: - resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.12.1: - resolution: {integrity: sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - xml-name-validator@4.0.0: - resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} - engines: {node: '>=12'} - - xmlchars@2.2.0: - resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yaml@2.9.1: - resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} - engines: {node: '>= 14.6'} - hasBin: true - - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - - yargs-parser@20.2.9: - resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} - engines: {node: '>=10'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} - - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - -snapshots: - - '@ampproject/remapping@2.2.0': - dependencies: - '@jridgewell/gen-mapping': 0.1.1 - '@jridgewell/trace-mapping': 0.3.17 - - '@andrewbranch/untar.js@1.0.4': {} - - '@arethetypeswrong/cli@0.18.5': - dependencies: - '@arethetypeswrong/core': 0.18.5 - chalk: 4.1.2 - cli-table3: 0.6.5 - commander: 10.0.1 - marked: 9.1.6 - marked-terminal: 7.3.1(marked@9.1.6) - semver: 7.8.5 - - '@arethetypeswrong/core@0.18.5': - dependencies: - '@andrewbranch/untar.js': 1.0.4 - '@loaderkit/resolve': 1.0.6 - cjs-module-lexer: 1.4.3 - fflate: 0.8.3 - lru-cache: 11.5.3 - semver: 7.8.5 - typescript: 5.6.1-rc - validate-npm-package-name: 5.0.1 - - '@babel/code-frame@7.21.4': - dependencies: - '@babel/highlight': 7.18.6 - - '@babel/compat-data@7.21.0': {} - - '@babel/core@7.21.0(supports-color@8.1.1)': - dependencies: - '@ampproject/remapping': 2.2.0 - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.1 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) - '@babel/helpers': 7.21.0(supports-color@8.1.1) - '@babel/parser': 7.21.2 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2(supports-color@8.1.1) - '@babel/types': 7.21.2 - convert-source-map: 1.7.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.21.1': - dependencies: - '@babel/types': 7.21.2 - '@jridgewell/gen-mapping': 0.3.2 - '@jridgewell/trace-mapping': 0.3.17 - jsesc: 2.5.2 - - '@babel/helper-annotate-as-pure@7.18.6': - dependencies: - '@babel/types': 7.21.2 - - '@babel/helper-builder-binary-assignment-operator-visitor@7.18.9': - dependencies: - '@babel/helper-explode-assignable-expression': 7.18.6 - '@babel/types': 7.21.2 - - '@babel/helper-compilation-targets@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-validator-option': 7.21.0 - browserslist: 4.21.5 - lru-cache: 5.1.1 - semver: 6.3.0 - - '@babel/helper-create-class-features-plugin@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-member-expression-to-functions': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-replace-supers': 7.20.7(supports-color@8.1.1) - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/helper-split-export-declaration': 7.18.6 - transitivePeerDependencies: - - supports-color - - '@babel/helper-create-regexp-features-plugin@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.18.6 - regexpu-core: 5.3.1 - - '@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.20.2 - debug: 4.3.4(supports-color@8.1.1) - lodash.debounce: 4.0.8 - resolve: 1.22.2 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - - '@babel/helper-environment-visitor@7.18.9': {} - - '@babel/helper-explode-assignable-expression@7.18.6': - dependencies: - '@babel/types': 7.21.2 - - '@babel/helper-function-name@7.21.0': - dependencies: - '@babel/template': 7.20.7 - '@babel/types': 7.21.2 - - '@babel/helper-hoist-variables@7.18.6': - dependencies: - '@babel/types': 7.21.2 - - '@babel/helper-member-expression-to-functions@7.21.0': - dependencies: - '@babel/types': 7.21.2 - - '@babel/helper-module-imports@7.18.6': - dependencies: - '@babel/types': 7.21.2 - - '@babel/helper-module-transforms@7.21.2(supports-color@8.1.1)': - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-simple-access': 7.20.2 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/helper-validator-identifier': 7.19.1 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2(supports-color@8.1.1) - '@babel/types': 7.21.2 - transitivePeerDependencies: - - supports-color - - '@babel/helper-optimise-call-expression@7.18.6': - dependencies: - '@babel/types': 7.21.2 - - '@babel/helper-plugin-utils@7.20.2': {} - - '@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-wrap-function': 7.20.5(supports-color@8.1.1) - '@babel/types': 7.21.2 - transitivePeerDependencies: - - supports-color - - '@babel/helper-replace-supers@7.20.7(supports-color@8.1.1)': - dependencies: - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-member-expression-to-functions': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2(supports-color@8.1.1) - '@babel/types': 7.21.2 - transitivePeerDependencies: - - supports-color - - '@babel/helper-simple-access@7.20.2': - dependencies: - '@babel/types': 7.21.2 - - '@babel/helper-skip-transparent-expression-wrappers@7.20.0': - dependencies: - '@babel/types': 7.21.2 - - '@babel/helper-split-export-declaration@7.18.6': - dependencies: - '@babel/types': 7.21.2 - - '@babel/helper-string-parser@7.19.4': {} - - '@babel/helper-validator-identifier@7.19.1': {} - - '@babel/helper-validator-option@7.21.0': {} - - '@babel/helper-wrap-function@7.20.5(supports-color@8.1.1)': - dependencies: - '@babel/helper-function-name': 7.21.0 - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2(supports-color@8.1.1) - '@babel/types': 7.21.2 - transitivePeerDependencies: - - supports-color - - '@babel/helpers@7.21.0(supports-color@8.1.1)': - dependencies: - '@babel/template': 7.20.7 - '@babel/traverse': 7.21.2(supports-color@8.1.1) - '@babel/types': 7.21.2 - transitivePeerDependencies: - - supports-color - - '@babel/highlight@7.18.6': - dependencies: - '@babel/helper-validator-identifier': 7.19.1 - chalk: 2.4.2 - js-tokens: 4.0.0 - - '@babel/parser@7.21.2': - dependencies: - '@babel/types': 7.21.2 - - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-class-static-block@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-logical-assignment-operators@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - - '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-create-class-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-arrow-functions@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-module-imports': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-classes@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-annotate-as-pure': 7.18.6 - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-optimise-call-expression': 7.18.6 - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7(supports-color@8.1.1) - '@babel/helper-split-export-declaration': 7.18.6 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-computed-properties@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/template': 7.20.7 - - '@babel/plugin-transform-destructuring@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-for-of@7.21.0(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-function-name@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-function-name': 7.21.0 - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-literals@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-simple-access': 7.20.2 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-systemjs@7.20.11(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-identifier': 7.19.1 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-module-transforms': 7.21.2(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-new-target@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-object-super@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-replace-supers': 7.20.7(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - '@babel/plugin-transform-parameters@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - regenerator-transform: 0.15.1 - - '@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-spread@7.20.7(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 - - '@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-create-regexp-features-plugin': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.20.2 - - '@babel/preset-env@7.20.2(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1)': - dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-compilation-targets': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-proposal-class-static-block': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-logical-assignment-operators': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-arrow-functions': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-transform-computed-properties': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-destructuring': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-for-of': 7.21.0(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-transform-modules-systemjs': 7.20.11(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - '@babel/plugin-transform-parameters': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/preset-modules': 0.1.5(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/types': 7.21.2 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - core-js-compat: 3.29.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color - - '@babel/preset-modules@0.1.5(@babel/core@7.21.0(supports-color@8.1.1))': - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-plugin-utils': 7.20.2 - '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.21.0(supports-color@8.1.1)) - '@babel/types': 7.21.2 - esutils: 2.0.3 - - '@babel/regjsgen@0.8.0': {} - - '@babel/runtime@7.21.5': - dependencies: - regenerator-runtime: 0.13.11 - - '@babel/template@7.20.7': - dependencies: - '@babel/code-frame': 7.21.4 - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 - - '@babel/traverse@7.21.2(supports-color@8.1.1)': - dependencies: - '@babel/code-frame': 7.21.4 - '@babel/generator': 7.21.1 - '@babel/helper-environment-visitor': 7.18.9 - '@babel/helper-function-name': 7.21.0 - '@babel/helper-hoist-variables': 7.18.6 - '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.21.2 - '@babel/types': 7.21.2 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.21.2': - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - - '@braidai/lang@1.1.2': {} - - '@changesets/apply-release-plan@8.1.1': - dependencies: - '@changesets/config': 4.0.1 - '@changesets/format': 0.1.3 - '@changesets/git': 4.0.1 - '@changesets/should-skip-package': 1.0.0 - '@changesets/types': 7.0.0 - import-meta-resolve: 4.2.0 - jsonc-parser: 3.3.1 - semver: 7.8.5 - - '@changesets/assemble-release-plan@7.0.0': - dependencies: - '@changesets/errors': 1.0.0 - '@changesets/get-dependents-graph': 3.0.0 - '@changesets/should-skip-package': 1.0.0 - '@changesets/types': 7.0.0 - semver: 7.8.5 - - '@changesets/changelog-git@1.0.0': - dependencies: - '@changesets/types': 7.0.0 - - '@changesets/changelog-github@1.0.1': - dependencies: - '@changesets/get-github-info': 1.0.1 - '@changesets/types': 7.0.0 - - '@changesets/cli@3.0.3': - dependencies: - '@changesets/apply-release-plan': 8.1.1 - '@changesets/assemble-release-plan': 7.0.0 - '@changesets/changelog-git': 1.0.0 - '@changesets/config': 4.0.1 - '@changesets/errors': 1.0.0 - '@changesets/get-dependents-graph': 3.0.0 - '@changesets/git': 4.0.1 - '@changesets/pre': 3.0.0 - '@changesets/read': 1.0.1 - '@changesets/should-skip-package': 1.0.0 - '@changesets/types': 7.0.0 - '@changesets/write': 1.0.1 - '@clack/prompts': 1.8.1 - '@manypkg/get-packages': 3.1.0 - '@pnpm/deps.graph-sequencer': 1100.0.1 - cac: 7.1.0 - import-meta-resolve: 4.2.0 - launch-editor: 2.14.2 - package-manager-detector: 1.9.0 - semver: 7.8.5 - tinyexec: 1.3.1 - - '@changesets/config@4.0.1': - dependencies: - '@changesets/get-dependents-graph': 3.0.0 - '@changesets/should-skip-package': 1.0.0 - '@changesets/types': 7.0.0 - '@manypkg/get-packages': 3.1.0 - picomatch: 4.0.7 - - '@changesets/errors@1.0.0': {} - - '@changesets/format@0.1.3': - dependencies: - package-manager-detector: 1.9.0 - tinyexec: 1.3.1 - - '@changesets/get-dependents-graph@3.0.0': - dependencies: - '@changesets/types': 7.0.0 - semver: 7.8.5 - - '@changesets/get-github-info@1.0.1': - dependencies: - dataloader: 2.2.3 - - '@changesets/git@4.0.1': - dependencies: - '@changesets/errors': 1.0.0 - '@changesets/types': 7.0.0 - '@manypkg/get-packages': 3.1.0 - picomatch: 4.0.7 - tinyexec: 1.3.1 - - '@changesets/parse@1.0.0': - dependencies: - '@changesets/types': 7.0.0 - yaml: 2.9.1 - - '@changesets/pre@3.0.0': - dependencies: - '@changesets/errors': 1.0.0 - '@changesets/types': 7.0.0 - '@manypkg/get-packages': 3.1.0 - - '@changesets/read@1.0.1': - dependencies: - '@changesets/git': 4.0.1 - '@changesets/parse': 1.0.0 - '@changesets/types': 7.0.0 - - '@changesets/should-skip-package@1.0.0': - dependencies: - '@changesets/types': 7.0.0 - - '@changesets/types@7.0.0': {} - - '@changesets/write@1.0.1': - dependencies: - '@changesets/format': 0.1.3 - '@changesets/types': 7.0.0 - human-id: 4.2.2 - - '@clack/core@1.5.1': - dependencies: - fast-wrap-ansi: 0.2.2 - sisteransi: 1.0.5 - - '@clack/prompts@1.8.1': - dependencies: - '@clack/core': 1.5.1 - fast-string-width: 3.0.2 - fast-wrap-ansi: 0.2.2 - sisteransi: 1.0.5 - - '@colors/colors@1.5.0': {} - - '@isaacs/cliui@8.0.2': - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.2.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - '@istanbuljs/load-nyc-config@1.1.0': - dependencies: - camelcase: 5.3.1 - find-up: 4.1.0 - get-package-type: 0.1.0 - js-yaml: 3.14.1 - resolve-from: 5.0.0 - - '@istanbuljs/schema@0.1.3': {} - - '@jridgewell/gen-mapping@0.1.1': - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - - '@jridgewell/gen-mapping@0.3.13': - dependencies: - '@jridgewell/sourcemap-codec': 1.6.0 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/gen-mapping@0.3.2': - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.14 - '@jridgewell/trace-mapping': 0.3.17 - - '@jridgewell/resolve-uri@3.1.0': {} - - '@jridgewell/set-array@1.1.2': {} - - '@jridgewell/source-map@0.3.11': - dependencies: - '@jridgewell/gen-mapping': 0.3.13 - '@jridgewell/trace-mapping': 0.3.31 - - '@jridgewell/sourcemap-codec@1.4.14': {} - - '@jridgewell/sourcemap-codec@1.6.0': {} - - '@jridgewell/trace-mapping@0.3.17': - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - - '@jridgewell/trace-mapping@0.3.31': - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 - - '@loaderkit/resolve@1.0.6': - dependencies: - '@braidai/lang': 1.1.2 - - '@manypkg/find-root@3.1.0': - dependencies: - '@manypkg/tools': 2.1.2 - - '@manypkg/get-packages@3.1.0': - dependencies: - '@manypkg/find-root': 3.1.0 - '@manypkg/tools': 2.1.2 - - '@manypkg/tools@2.1.2': - dependencies: - jju: 1.4.0 - tinyglobby: 0.2.17 - yaml: 2.9.1 - - '@oxfmt/binding-android-arm-eabi@0.75.0': - optional: true - - '@oxfmt/binding-android-arm64@0.75.0': - optional: true - - '@oxfmt/binding-darwin-arm64@0.75.0': - optional: true - - '@oxfmt/binding-darwin-x64@0.75.0': - optional: true - - '@oxfmt/binding-freebsd-x64@0.75.0': - optional: true - - '@oxfmt/binding-linux-arm-gnueabihf@0.75.0': - optional: true - - '@oxfmt/binding-linux-arm-musleabihf@0.75.0': - optional: true - - '@oxfmt/binding-linux-arm64-gnu@0.75.0': - optional: true - - '@oxfmt/binding-linux-arm64-musl@0.75.0': - optional: true - - '@oxfmt/binding-linux-ppc64-gnu@0.75.0': - optional: true - - '@oxfmt/binding-linux-riscv64-gnu@0.75.0': - optional: true - - '@oxfmt/binding-linux-riscv64-musl@0.75.0': - optional: true - - '@oxfmt/binding-linux-s390x-gnu@0.75.0': - optional: true - - '@oxfmt/binding-linux-x64-gnu@0.75.0': - optional: true - - '@oxfmt/binding-linux-x64-musl@0.75.0': - optional: true - - '@oxfmt/binding-openharmony-arm64@0.75.0': - optional: true - - '@oxfmt/binding-win32-arm64-msvc@0.75.0': - optional: true - - '@oxfmt/binding-win32-ia32-msvc@0.75.0': - optional: true - - '@oxfmt/binding-win32-x64-msvc@0.75.0': - optional: true - - '@oxlint/binding-android-arm-eabi@1.90.0': - optional: true - - '@oxlint/binding-android-arm64@1.90.0': - optional: true - - '@oxlint/binding-darwin-arm64@1.90.0': - optional: true - - '@oxlint/binding-darwin-x64@1.90.0': - optional: true - - '@oxlint/binding-freebsd-x64@1.90.0': - optional: true - - '@oxlint/binding-linux-arm-gnueabihf@1.90.0': - optional: true - - '@oxlint/binding-linux-arm-musleabihf@1.90.0': - optional: true - - '@oxlint/binding-linux-arm64-gnu@1.90.0': - optional: true - - '@oxlint/binding-linux-arm64-musl@1.90.0': - optional: true - - '@oxlint/binding-linux-ppc64-gnu@1.90.0': - optional: true - - '@oxlint/binding-linux-riscv64-gnu@1.90.0': - optional: true - - '@oxlint/binding-linux-riscv64-musl@1.90.0': - optional: true - - '@oxlint/binding-linux-s390x-gnu@1.90.0': - optional: true - - '@oxlint/binding-linux-x64-gnu@1.90.0': - optional: true - - '@oxlint/binding-linux-x64-musl@1.90.0': - optional: true - - '@oxlint/binding-openharmony-arm64@1.90.0': - optional: true - - '@oxlint/binding-win32-arm64-msvc@1.90.0': - optional: true - - '@oxlint/binding-win32-ia32-msvc@1.90.0': - optional: true - - '@oxlint/binding-win32-x64-msvc@1.90.0': - optional: true - - '@pkgjs/parseargs@0.11.0': - optional: true - - '@pnpm/deps.graph-sequencer@1100.0.1': {} - - '@publint/pack@0.1.7': - dependencies: - tinyexec: 1.3.1 - - '@sindresorhus/is@4.6.0': {} - - '@sinonjs/commons@2.0.0': - dependencies: - type-detect: 4.0.8 - - '@sinonjs/fake-timers@10.0.2': - dependencies: - '@sinonjs/commons': 2.0.0 - - '@sinonjs/samsam@7.0.1': - dependencies: - '@sinonjs/commons': 2.0.0 - lodash.get: 4.4.2 - type-detect: 4.0.8 - - '@sinonjs/text-encoding@0.7.1': {} - - '@socket.io/component-emitter@3.1.0': {} - - '@testing-library/dom@8.20.0': - dependencies: - '@babel/code-frame': 7.21.4 - '@babel/runtime': 7.21.5 - '@types/aria-query': 5.0.1 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - - '@testing-library/dom@9.0.1': - dependencies: - '@babel/code-frame': 7.21.4 - '@babel/runtime': 7.21.5 - '@types/aria-query': 5.0.1 - aria-query: 5.1.3 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - - '@testing-library/preact@3.2.3(preact@10.13.1)': - dependencies: - '@testing-library/dom': 8.20.0 - preact: 10.13.1 - - '@tootallnate/once@2.0.0': {} - - '@types/aria-query@5.0.1': {} - - '@types/color-name@1.1.1': {} - - '@types/cookie@0.4.1': {} - - '@types/cors@2.8.12': {} - - '@types/eslint-scope@3.7.3': - dependencies: - '@types/eslint': 8.4.1 - '@types/estree': 0.0.51 - - '@types/eslint@8.4.1': - dependencies: - '@types/estree': 0.0.51 - '@types/json-schema': 7.0.11 - - '@types/estree@0.0.51': {} - - '@types/json-schema@7.0.11': {} - - '@types/node@18.15.0': {} - - '@types/react@19.3.0': - dependencies: - csstype: 3.2.3 - - '@typescript/typescript-aix-ppc64@7.0.2': - optional: true - - '@typescript/typescript-darwin-arm64@7.0.2': - optional: true - - '@typescript/typescript-darwin-x64@7.0.2': - optional: true - - '@typescript/typescript-freebsd-arm64@7.0.2': - optional: true - - '@typescript/typescript-freebsd-x64@7.0.2': - optional: true - - '@typescript/typescript-linux-arm64@7.0.2': - optional: true - - '@typescript/typescript-linux-arm@7.0.2': - optional: true - - '@typescript/typescript-linux-loong64@7.0.2': - optional: true - - '@typescript/typescript-linux-mips64el@7.0.2': - optional: true - - '@typescript/typescript-linux-ppc64@7.0.2': - optional: true - - '@typescript/typescript-linux-riscv64@7.0.2': - optional: true - - '@typescript/typescript-linux-s390x@7.0.2': - optional: true - - '@typescript/typescript-linux-x64@7.0.2': - optional: true - - '@typescript/typescript-netbsd-arm64@7.0.2': - optional: true - - '@typescript/typescript-netbsd-x64@7.0.2': - optional: true - - '@typescript/typescript-openbsd-arm64@7.0.2': - optional: true - - '@typescript/typescript-openbsd-x64@7.0.2': - optional: true - - '@typescript/typescript-sunos-x64@7.0.2': - optional: true - - '@typescript/typescript-win32-arm64@7.0.2': - optional: true - - '@typescript/typescript-win32-x64@7.0.2': - optional: true - - '@webassemblyjs/ast@1.11.1': - dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - - '@webassemblyjs/floating-point-hex-parser@1.11.1': {} - - '@webassemblyjs/helper-api-error@1.11.1': {} - - '@webassemblyjs/helper-buffer@1.11.1': {} - - '@webassemblyjs/helper-numbers@1.11.1': - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@xtuc/long': 4.2.2 - - '@webassemblyjs/helper-wasm-bytecode@1.11.1': {} - - '@webassemblyjs/helper-wasm-section@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - - '@webassemblyjs/ieee754@1.11.1': - dependencies: - '@xtuc/ieee754': 1.2.0 - - '@webassemblyjs/leb128@1.11.1': - dependencies: - '@xtuc/long': 4.2.2 - - '@webassemblyjs/utf8@1.11.1': {} - - '@webassemblyjs/wasm-edit@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 - - '@webassemblyjs/wasm-gen@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - - '@webassemblyjs/wasm-opt@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - - '@webassemblyjs/wasm-parser@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - - '@webassemblyjs/wast-printer@1.11.1': - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@xtuc/long': 4.2.2 - - '@xtuc/ieee754@1.2.0': {} - - '@xtuc/long@4.2.2': {} - - abab@2.0.6: {} - - abbrev@1.1.1: {} - - accepts@1.3.7: - dependencies: - mime-types: 2.1.35 - negotiator: 0.6.2 - - acorn-globals@7.0.1: - dependencies: - acorn: 8.8.2 - acorn-walk: 8.2.0 - - acorn-import-assertions@1.8.0(acorn@8.8.2): - dependencies: - acorn: 8.8.2 - - acorn-walk@8.2.0: {} - - acorn@8.19.0: {} - - acorn@8.8.2: {} - - agent-base@6.0.0(supports-color@8.1.1): - dependencies: - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - - ajv-formats@2.1.1: - dependencies: - ajv: 8.12.0 - - ajv-keywords@3.5.2(ajv@6.12.6): - dependencies: - ajv: 6.12.6 + totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} - ajv-keywords@5.1.0(ajv@8.12.0): - dependencies: - ajv: 8.12.0 - fast-deep-equal: 3.1.3 + tough-cookie@6.0.2: + resolution: {integrity: sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==} + engines: {node: '>=16'} - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 + tr46@7.0.0: + resolution: {integrity: sha512-BcDSDW+SIGWVOns1Zm6Yg91q9AEj7eaID0QDY9oIqJD1A8dscNwMcl9Sms2DeuWCNov1X0/oXanHGYQBSLwZsg==} + engines: {node: ^22.14.0 || >=24.0.0} - ajv@8.12.0: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 + typescript@5.6.1-rc: + resolution: {integrity: sha512-E3b2+1zEFu84jB0YQi9BORDjz9+jGbwwy1Zi3G0LUNw7a7cePUrHMRNy8aPh53nXpkFGVHSxIZo5vKTfYaFiBQ==} + engines: {node: '>=14.17'} + hasBin: true - ansi-escapes@7.3.0: - dependencies: - environment: 1.1.0 + typescript@7.0.2: + resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} + engines: {node: '>=16.20.0'} + hasBin: true - ansi-regex@3.0.0: {} + undici@8.12.3: + resolution: {integrity: sha512-+fdndUTwBP86cVjihTp21hZHo7d6oj1c/47XPA3lL8mM0XHs+C4EkcjmgRsFnFk2f/UONGDy9ItBItmXsLOQHw==} + engines: {node: '>=22.19.0'} - ansi-regex@5.0.1: {} + unicode-emoji-modifier-base@1.0.0: + resolution: {integrity: sha512-yLSH4py7oFH3oG/9K+XWrz1pSi3dfUrWEnInbxMfArOfc1+33BlGPQtLsOYwvdMy11AwUBetYuaRxSPqgkq+8g==} + engines: {node: '>=4'} - ansi-regex@6.5.0: {} + validate-npm-package-name@5.0.1: + resolution: {integrity: sha512-OljLrQ9SQdOUqTaQxqL5dEfZWrXExyyWsozYlAWFawPVNuD83igl7uJD2RTkNMbniIYgt8l81eCJGIdQF7avLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 + vite@8.3.5: + resolution: {integrity: sha512-z1YpjieJ9g0ebTmQpLBv/oq9E3F9EIlOe+7LahW8SrE3LTiG3udBRUXQOlYXP9b+IC2q2phHeVxj9xGlw34OEQ==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + '@vitejs/devtools': ^0.7.1 || ^0.8.0 + esbuild: ^0.27.0 || ^0.28.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + '@vitejs/devtools': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true - ansi-styles@4.2.1: - dependencies: - '@types/color-name': 1.1.1 - color-convert: 2.0.1 + vitest@5.0.5: + resolution: {integrity: sha512-cPODOMF8YnkiiYtDdHo6n4wWmBrOBBbOIYH2d33M4l3CdNn72h+qMmO6uXffUN6A5AZFXNND/d+krS9mgkXRfg==} + engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@opentelemetry/api': ^1.9.0 + '@types/node': ^22.0.0 || >=24.0.0 + '@vitest/browser-playwright': 5.0.5 + '@vitest/browser-preview': 5.0.5 + '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 + '@vitest/coverage-istanbul': 5.0.5 + '@vitest/coverage-v8': 5.0.5 + '@vitest/ui': 5.0.5 + happy-dom: '*' + jsdom: '*' + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@opentelemetry/api': + optional: true + '@types/node': + optional: true + '@vitest/browser-playwright': + optional: true + '@vitest/browser-preview': + optional: true + '@vitest/browser-webdriverio': + optional: true + '@vitest/coverage-istanbul': + optional: true + '@vitest/coverage-v8': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true - ansi-styles@5.2.0: {} + w3c-xmlserializer@6.0.0: + resolution: {integrity: sha512-4Nsy8K5Tr6SPDH9jhKJOHf7ChDrc1zufZTVSF7x72hwuEXBqxqk9G6cK+K2NRUtB3iELRJqjXb4JPDMBjMTl2Q==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0} - ansi-styles@6.2.3: {} + webidl-conversions@8.0.1: + resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} + engines: {node: '>=20'} - any-promise@1.3.0: {} + whatwg-mimetype@5.0.0: + resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} + engines: {node: '>=20'} - anymatch@3.1.2: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 + whatwg-url@17.3.0: + resolution: {integrity: sha512-KwOAJrpf+GTgBvcBQJcP38sMF0DsQKdwtG+TxM2pW44P6E5k0hDbWrDmyuJDIF0Uef0aQq0ZoJs+5oI+k8ddhg==} + engines: {node: ^22.14.0 || >=24.0.0} - append-transform@2.0.0: - dependencies: - default-require-extensions: 3.0.1 + why-is-node-running@3.2.1: + resolution: {integrity: sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ==} + engines: {node: '>=20.11'} + hasBin: true - archy@1.0.0: {} + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} - argparse@1.0.10: - dependencies: - sprintf-js: 1.0.3 + ws@8.22.1: + resolution: {integrity: sha512-oyL6OPYme/CmiFvNuGzeoxCJ4nOrZE2O1FwM9MWM1AsGri6nLXB2pg+lNA8aLeXMSav0J6eIVS1j6vUPzUtK9g==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - argparse@2.0.1: {} + xml-name-validator@5.0.0: + resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} + engines: {node: '>=18'} - aria-query@5.1.3: - dependencies: - deep-equal: 2.2.0 + xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - assert@2.0.0: - dependencies: - es6-object-assign: 1.1.0 - is-nan: 1.3.2 - object-is: 1.1.5 - util: 0.12.4 + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} - async@1.5.2: {} + yaml@2.9.1: + resolution: {integrity: sha512-3NxN8+78OdzbT7C/WjGsyfPAtJaN3FNDsWxv7Y7mcDsT/oOmgW8BpyQQFFBnvZE3j9Y2Sdz1ULFLezL7Eb2yFw==} + engines: {node: '>= 14.6'} + hasBin: true - asynckit@0.4.0: {} + yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} - available-typed-arrays@1.0.5: {} + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} - babel-loader@9.1.2(@babel/core@7.21.0(supports-color@8.1.1))(webpack@5.76.0): - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - find-cache-dir: 3.3.2 - schema-utils: 4.0.0 - webpack: 5.76.0 +snapshots: - babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1): - dependencies: - '@babel/compat-data': 7.21.0 - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - semver: 6.3.0 - transitivePeerDependencies: - - supports-color + '@andrewbranch/untar.js@1.0.4': {} - babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1): + '@arethetypeswrong/cli@0.18.5': dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - core-js-compat: 3.29.0 - transitivePeerDependencies: - - supports-color + '@arethetypeswrong/core': 0.18.5 + chalk: 4.1.2 + cli-table3: 0.6.5 + commander: 10.0.1 + marked: 9.1.6 + marked-terminal: 7.3.1(marked@9.1.6) + semver: 7.8.5 - babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1): + '@arethetypeswrong/core@0.18.5': dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.0(supports-color@8.1.1))(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - balanced-match@1.0.0: {} - - base64id@2.0.0: {} + '@andrewbranch/untar.js': 1.0.4 + '@loaderkit/resolve': 1.0.6 + cjs-module-lexer: 1.4.3 + fflate: 0.8.3 + lru-cache: 11.5.3 + semver: 7.8.5 + typescript: 5.6.1-rc + validate-npm-package-name: 5.0.1 - benchmark@2.1.4: + '@asamuzakjp/css-color@7.1.9': dependencies: - lodash: 4.17.21 - platform: 1.3.5 - - binary-extensions@2.0.0: {} + '@csstools/css-calc': 3.4.3(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) + '@csstools/css-color-parser': 4.2.7(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) + '@csstools/css-parser-algorithms': 4.0.2(@csstools/css-tokenizer@4.0.2) + '@csstools/css-tokenizer': 4.0.2 + lru-cache: 11.5.3 - body-parser@1.19.1(supports-color@8.1.1): + '@asamuzakjp/dom-selector@10.0.5': dependencies: - bytes: 3.1.1 - content-type: 1.0.4 - debug: 2.6.9(supports-color@8.1.1) - depd: 1.1.2 - http-errors: 1.8.1 - iconv-lite: 0.4.24 - on-finished: 2.3.0 - qs: 6.9.6 - raw-body: 2.4.2 - type-is: 1.6.18 - transitivePeerDependencies: - - supports-color + bidi-js: 1.1.0 + css-tree: 3.2.1 + is-potential-custom-element-name: 1.0.1 + lru-cache: 11.5.3 - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.0 - concat-map: 0.0.1 + '@babel/helper-string-parser@7.29.11': {} - brace-expansion@2.1.7: - dependencies: - balanced-match: 1.0.0 + '@babel/helper-validator-identifier@7.29.7': {} - braces@3.0.2: + '@babel/parser@7.29.12': dependencies: - fill-range: 7.0.1 + '@babel/types': 7.29.11 - browser-stdout@1.3.1: {} - - browserslist@4.21.5: + '@babel/types@7.29.11': dependencies: - caniuse-lite: 1.0.30001462 - electron-to-chromium: 1.4.325 - node-releases: 2.0.10 - update-browserslist-db: 1.0.10(browserslist@4.21.5) - - buffer-from@1.1.1: {} + '@babel/helper-string-parser': 7.29.11 + '@babel/helper-validator-identifier': 7.29.7 - builder@5.0.0: - dependencies: - async: 1.5.2 - chalk: 2.4.2 - js-yaml: 3.14.1 - lodash: 4.17.21 - nopt: 4.0.3 - tree-kill: 1.2.2 + '@bcoe/v8-coverage@1.0.2': {} - bytes@3.1.1: {} + '@blazediff/core@1.10.0': {} - cac@7.1.0: {} + '@braidai/lang@1.1.2': {} - caching-transform@4.0.0: + '@bramus/specificity@2.4.3': dependencies: - hasha: 5.2.2 - make-dir: 3.1.0 - package-hash: 4.0.0 - write-file-atomic: 3.0.3 + css-tree: 3.2.1 - call-bind@1.0.2: + '@changesets/apply-release-plan@8.1.1': dependencies: - function-bind: 1.1.1 - get-intrinsic: 1.2.0 - - camelcase@5.3.1: {} - - camelcase@6.3.0: {} - - caniuse-lite@1.0.30001462: {} + '@changesets/config': 4.0.1 + '@changesets/format': 0.1.3 + '@changesets/git': 4.0.1 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + import-meta-resolve: 4.2.0 + jsonc-parser: 3.3.1 + semver: 7.8.5 - chalk@2.4.2: + '@changesets/assemble-release-plan@7.0.0': dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 + '@changesets/errors': 1.0.0 + '@changesets/get-dependents-graph': 3.0.0 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + semver: 7.8.5 - chalk@4.1.2: + '@changesets/changelog-git@1.0.0': dependencies: - ansi-styles: 4.2.1 - supports-color: 7.2.0 - - chalk@5.6.2: {} - - char-regex@1.0.2: {} + '@changesets/types': 7.0.0 - chokidar@3.5.3: + '@changesets/changelog-github@1.0.1': dependencies: - anymatch: 3.1.2 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.2 + '@changesets/get-github-info': 1.0.1 + '@changesets/types': 7.0.0 - chokidar@4.0.3: + '@changesets/cli@3.0.3': dependencies: - readdirp: 4.1.2 + '@changesets/apply-release-plan': 8.1.1 + '@changesets/assemble-release-plan': 7.0.0 + '@changesets/changelog-git': 1.0.0 + '@changesets/config': 4.0.1 + '@changesets/errors': 1.0.0 + '@changesets/get-dependents-graph': 3.0.0 + '@changesets/git': 4.0.1 + '@changesets/pre': 3.0.0 + '@changesets/read': 1.0.1 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + '@changesets/write': 1.0.1 + '@clack/prompts': 1.8.1 + '@manypkg/get-packages': 3.1.0 + '@pnpm/deps.graph-sequencer': 1100.0.1 + cac: 7.1.0 + import-meta-resolve: 4.2.0 + launch-editor: 2.14.2 + package-manager-detector: 1.9.0 + semver: 7.8.5 + tinyexec: 1.3.1 - chrome-trace-event@1.0.2: + '@changesets/config@4.0.1': dependencies: - tslib: 1.13.0 - - cjs-module-lexer@1.4.3: {} + '@changesets/get-dependents-graph': 3.0.0 + '@changesets/should-skip-package': 1.0.0 + '@changesets/types': 7.0.0 + '@manypkg/get-packages': 3.1.0 + picomatch: 4.0.7 - clean-stack@2.2.0: {} + '@changesets/errors@1.0.0': {} - cli-highlight@2.1.11: + '@changesets/format@0.1.3': dependencies: - chalk: 4.1.2 - highlight.js: 10.7.3 - mz: 2.7.0 - parse5: 5.1.1 - parse5-htmlparser2-tree-adapter: 6.0.1 - yargs: 16.2.0 + package-manager-detector: 1.9.0 + tinyexec: 1.3.1 - cli-table3@0.6.5: + '@changesets/get-dependents-graph@3.0.0': dependencies: - string-width: 4.2.3 - optionalDependencies: - '@colors/colors': 1.5.0 + '@changesets/types': 7.0.0 + semver: 7.8.5 - cliui@6.0.0: + '@changesets/get-github-info@1.0.1': dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 6.2.0 + dataloader: 2.2.3 - cliui@7.0.4: + '@changesets/git@4.0.1': dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 + '@changesets/errors': 1.0.0 + '@changesets/types': 7.0.0 + '@manypkg/get-packages': 3.1.0 + picomatch: 4.0.7 + tinyexec: 1.3.1 - cliui@8.0.1: + '@changesets/parse@1.0.0': dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 + '@changesets/types': 7.0.0 + yaml: 2.9.1 - color-convert@1.9.3: + '@changesets/pre@3.0.0': dependencies: - color-name: 1.1.3 + '@changesets/errors': 1.0.0 + '@changesets/types': 7.0.0 + '@manypkg/get-packages': 3.1.0 - color-convert@2.0.1: + '@changesets/read@1.0.1': dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} + '@changesets/git': 4.0.1 + '@changesets/parse': 1.0.0 + '@changesets/types': 7.0.0 - combined-stream@1.0.8: + '@changesets/should-skip-package@1.0.0': dependencies: - delayed-stream: 1.0.0 - - commander@10.0.1: {} - - commander@2.20.3: {} - - commondir@1.0.1: {} + '@changesets/types': 7.0.0 - concat-map@0.0.1: {} + '@changesets/types@7.0.0': {} - connect@3.7.0(supports-color@8.1.1): + '@changesets/write@1.0.1': dependencies: - debug: 2.6.9(supports-color@8.1.1) - finalhandler: 1.1.2(supports-color@8.1.1) - parseurl: 1.3.3 - utils-merge: 1.0.1 - transitivePeerDependencies: - - supports-color - - content-type@1.0.4: {} + '@changesets/format': 0.1.3 + '@changesets/types': 7.0.0 + human-id: 4.2.2 - convert-source-map@1.7.0: + '@clack/core@1.5.1': dependencies: - safe-buffer: 5.1.2 - - cookie@0.4.2: {} + fast-wrap-ansi: 0.2.2 + sisteransi: 1.0.5 - core-js-compat@3.29.0: + '@clack/prompts@1.8.1': dependencies: - browserslist: 4.21.5 + '@clack/core': 1.5.1 + fast-string-width: 3.0.2 + fast-wrap-ansi: 0.2.2 + sisteransi: 1.0.5 - core-js@3.29.0: {} + '@colors/colors@1.5.0': + optional: true - cors@2.8.5: - dependencies: - object-assign: 4.1.1 - vary: 1.1.2 + '@csstools/color-helpers@6.1.2': {} - cross-spawn@7.0.3: + '@csstools/css-calc@3.4.3(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)': dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 + '@csstools/css-parser-algorithms': 4.0.2(@csstools/css-tokenizer@4.0.2) + '@csstools/css-tokenizer': 4.0.2 - cross-spawn@7.0.6: + '@csstools/css-color-parser@4.2.7(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)': dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 + '@csstools/color-helpers': 6.1.2 + '@csstools/css-calc': 3.4.3(@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) + '@csstools/css-parser-algorithms': 4.0.2(@csstools/css-tokenizer@4.0.2) + '@csstools/css-tokenizer': 4.0.2 - cssom@0.3.8: {} - - cssom@0.5.0: {} - - cssstyle@2.3.0: + '@csstools/css-parser-algorithms@4.0.2(@csstools/css-tokenizer@4.0.2)': dependencies: - cssom: 0.3.8 - - csstype@3.2.3: {} + '@csstools/css-tokenizer': 4.0.2 - custom-event@1.0.1: {} - - data-urls@3.0.2: - dependencies: - abab: 2.0.6 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 + '@csstools/css-syntax-patches-for-csstree@1.1.16(css-tree@3.2.1)': + optionalDependencies: + css-tree: 3.2.1 - dataloader@2.2.3: {} + '@csstools/css-tokenizer@4.0.2': {} - date-format@4.0.3: {} + '@exodus/bytes@1.16.0': {} - debug@2.6.9(supports-color@8.1.1): + '@jridgewell/gen-mapping@0.3.13': dependencies: - ms: 2.0.0 - optionalDependencies: - supports-color: 8.1.1 + '@jridgewell/sourcemap-codec': 1.6.0 + '@jridgewell/trace-mapping': 0.3.31 - debug@4.3.4(supports-color@8.1.1): - dependencies: - ms: 2.1.2 - optionalDependencies: - supports-color: 8.1.1 + '@jridgewell/resolve-uri@3.1.0': {} - debug@4.4.3(supports-color@8.1.1): + '@jridgewell/source-map@0.3.11': dependencies: - ms: 2.1.3 - optionalDependencies: - supports-color: 8.1.1 - - decamelize@1.2.0: {} + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 - decamelize@4.0.0: {} + '@jridgewell/sourcemap-codec@1.4.14': {} - decimal.js@10.4.3: {} + '@jridgewell/sourcemap-codec@1.6.0': {} - deep-equal@2.2.0: - dependencies: - call-bind: 1.0.2 - es-get-iterator: 1.1.3 - get-intrinsic: 1.2.0 - is-arguments: 1.1.1 - is-array-buffer: 3.0.2 - is-date-object: 1.0.5 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.2 - isarray: 2.0.5 - object-is: 1.1.5 - object-keys: 1.1.1 - object.assign: 4.1.4 - regexp.prototype.flags: 1.4.3 - side-channel: 1.0.4 - which-boxed-primitive: 1.0.2 - which-collection: 1.0.1 - which-typed-array: 1.1.9 - - deep-is@0.1.4: {} - - default-require-extensions@3.0.1: + '@jridgewell/trace-mapping@0.3.31': dependencies: - strip-bom: 4.0.0 + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 - define-properties@1.2.0: + '@loaderkit/resolve@1.0.6': dependencies: - has-property-descriptors: 1.0.0 - object-keys: 1.1.1 - - delayed-stream@1.0.0: {} - - depd@1.1.2: {} - - di@0.0.1: {} - - diff@5.1.0: {} - - diff@7.0.0: {} - - dom-accessibility-api@0.5.16: {} + '@braidai/lang': 1.1.2 - dom-serialize@2.2.1: + '@manypkg/find-root@3.1.0': dependencies: - custom-event: 1.0.1 - ent: 2.2.0 - extend: 3.0.2 - void-elements: 2.0.1 + '@manypkg/tools': 2.1.2 - domexception@4.0.0: + '@manypkg/get-packages@3.1.0': dependencies: - webidl-conversions: 7.0.0 - - eastasianwidth@0.2.0: {} - - ee-first@1.1.1: {} - - electron-to-chromium@1.4.325: {} - - emoji-regex@8.0.0: {} - - emoji-regex@9.2.2: {} + '@manypkg/find-root': 3.1.0 + '@manypkg/tools': 2.1.2 - emojilib@2.4.0: {} + '@manypkg/tools@2.1.2': + dependencies: + jju: 1.4.0 + tinyglobby: 0.2.17 + yaml: 2.9.1 - encodeurl@1.0.2: {} + '@oxc-project/types@0.156.0': {} - engine.io-parser@5.0.6: {} + '@oxfmt/binding-android-arm-eabi@0.75.0': + optional: true - engine.io@6.4.1(supports-color@8.1.1): - dependencies: - '@types/cookie': 0.4.1 - '@types/cors': 2.8.12 - '@types/node': 18.15.0 - accepts: 1.3.7 - base64id: 2.0.0 - cookie: 0.4.2 - cors: 2.8.5 - debug: 4.3.4(supports-color@8.1.1) - engine.io-parser: 5.0.6 - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + '@oxfmt/binding-android-arm64@0.75.0': + optional: true - enhanced-resolve@5.12.0: - dependencies: - graceful-fs: 4.2.11 - tapable: 2.2.1 + '@oxfmt/binding-darwin-arm64@0.75.0': + optional: true - ent@2.2.0: {} + '@oxfmt/binding-darwin-x64@0.75.0': + optional: true - entities@4.4.0: {} + '@oxfmt/binding-freebsd-x64@0.75.0': + optional: true - environment@1.1.0: {} + '@oxfmt/binding-linux-arm-gnueabihf@0.75.0': + optional: true - es-get-iterator@1.1.3: - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 - is-string: 1.0.7 - isarray: 2.0.5 - stop-iteration-iterator: 1.0.0 + '@oxfmt/binding-linux-arm-musleabihf@0.75.0': + optional: true - es-module-lexer@0.9.3: {} + '@oxfmt/binding-linux-arm64-gnu@0.75.0': + optional: true - es6-error@4.1.1: {} + '@oxfmt/binding-linux-arm64-musl@0.75.0': + optional: true - es6-object-assign@1.1.0: {} + '@oxfmt/binding-linux-ppc64-gnu@0.75.0': + optional: true - escalade@3.1.1: {} + '@oxfmt/binding-linux-riscv64-gnu@0.75.0': + optional: true - escape-html@1.0.3: {} + '@oxfmt/binding-linux-riscv64-musl@0.75.0': + optional: true - escape-string-regexp@1.0.5: {} + '@oxfmt/binding-linux-s390x-gnu@0.75.0': + optional: true - escape-string-regexp@4.0.0: {} + '@oxfmt/binding-linux-x64-gnu@0.75.0': + optional: true - escodegen@2.0.0: - dependencies: - esprima: 4.0.1 - estraverse: 5.3.0 - esutils: 2.0.3 - optionator: 0.8.3 - optionalDependencies: - source-map: 0.6.1 + '@oxfmt/binding-linux-x64-musl@0.75.0': + optional: true - eslint-scope@5.1.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 + '@oxfmt/binding-openharmony-arm64@0.75.0': + optional: true - esprima@4.0.1: {} + '@oxfmt/binding-win32-arm64-msvc@0.75.0': + optional: true - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 + '@oxfmt/binding-win32-ia32-msvc@0.75.0': + optional: true - estraverse@4.3.0: {} + '@oxfmt/binding-win32-x64-msvc@0.75.0': + optional: true - estraverse@5.3.0: {} + '@oxlint/binding-android-arm-eabi@1.90.0': + optional: true - esutils@2.0.3: {} + '@oxlint/binding-android-arm64@1.90.0': + optional: true - eventemitter3@4.0.4: {} + '@oxlint/binding-darwin-arm64@1.90.0': + optional: true - events@3.3.0: {} + '@oxlint/binding-darwin-x64@1.90.0': + optional: true - extend@3.0.2: {} + '@oxlint/binding-freebsd-x64@1.90.0': + optional: true - fast-deep-equal@3.1.3: {} + '@oxlint/binding-linux-arm-gnueabihf@1.90.0': + optional: true - fast-json-stable-stringify@2.1.0: {} + '@oxlint/binding-linux-arm-musleabihf@1.90.0': + optional: true - fast-levenshtein@2.0.6: {} + '@oxlint/binding-linux-arm64-gnu@1.90.0': + optional: true - fast-string-truncated-width@3.0.3: {} + '@oxlint/binding-linux-arm64-musl@1.90.0': + optional: true - fast-string-width@3.0.2: - dependencies: - fast-string-truncated-width: 3.0.3 + '@oxlint/binding-linux-ppc64-gnu@1.90.0': + optional: true - fast-wrap-ansi@0.2.2: - dependencies: - fast-string-width: 3.0.2 + '@oxlint/binding-linux-riscv64-gnu@1.90.0': + optional: true - fdir@6.5.0(picomatch@4.0.7): - optionalDependencies: - picomatch: 4.0.7 + '@oxlint/binding-linux-riscv64-musl@1.90.0': + optional: true - fflate@0.8.3: {} + '@oxlint/binding-linux-s390x-gnu@1.90.0': + optional: true - fill-range@7.0.1: - dependencies: - to-regex-range: 5.0.1 + '@oxlint/binding-linux-x64-gnu@1.90.0': + optional: true - finalhandler@1.1.2(supports-color@8.1.1): - dependencies: - debug: 2.6.9(supports-color@8.1.1) - encodeurl: 1.0.2 - escape-html: 1.0.3 - on-finished: 2.3.0 - parseurl: 1.3.3 - statuses: 1.5.0 - unpipe: 1.0.0 - transitivePeerDependencies: - - supports-color + '@oxlint/binding-linux-x64-musl@1.90.0': + optional: true - find-cache-dir@3.3.2: - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 + '@oxlint/binding-openharmony-arm64@1.90.0': + optional: true - find-up@4.1.0: - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 + '@oxlint/binding-win32-arm64-msvc@1.90.0': + optional: true - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 + '@oxlint/binding-win32-ia32-msvc@1.90.0': + optional: true - flat@5.0.2: {} + '@oxlint/binding-win32-x64-msvc@1.90.0': + optional: true - flatted@3.2.7: {} + '@pnpm/deps.graph-sequencer@1100.0.1': {} - follow-redirects@1.14.7(debug@4.3.4(supports-color@8.1.1)): - optionalDependencies: - debug: 4.3.4(supports-color@8.1.1) + '@polka/url@1.0.0-next.29': {} - for-each@0.3.3: + '@publint/pack@0.1.7': dependencies: - is-callable: 1.2.7 + tinyexec: 1.3.1 - foreground-child@2.0.0: - dependencies: - cross-spawn: 7.0.3 - signal-exit: 3.0.3 + '@rolldown/binding-android-arm-eabi@1.2.16': + optional: true - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 + '@rolldown/binding-android-arm64@1.2.16': + optional: true - form-data@4.0.0: - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 + '@rolldown/binding-darwin-arm64@1.2.16': + optional: true - fromentries@1.3.2: {} + '@rolldown/binding-darwin-x64@1.2.16': + optional: true - fs-extra@10.0.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.0 + '@rolldown/binding-freebsd-x64@1.2.16': + optional: true - fs.realpath@1.0.0: {} + '@rolldown/binding-linux-arm-gnueabihf@1.2.16': + optional: true - fsevents@2.3.2: + '@rolldown/binding-linux-arm64-gnu@1.2.16': optional: true - function-bind@1.1.1: {} + '@rolldown/binding-linux-arm64-musl@1.2.16': + optional: true - functions-have-names@1.2.3: {} + '@rolldown/binding-linux-ppc64-gnu@1.2.16': + optional: true - gensync@1.0.0-beta.2: {} + '@rolldown/binding-linux-s390x-gnu@1.2.16': + optional: true - get-caller-file@2.0.5: {} + '@rolldown/binding-linux-x64-gnu@1.2.16': + optional: true - get-intrinsic@1.2.0: - dependencies: - function-bind: 1.1.1 - has: 1.0.3 - has-symbols: 1.0.3 + '@rolldown/binding-linux-x64-musl@1.2.16': + optional: true - get-package-type@0.1.0: {} + '@rolldown/binding-openharmony-arm64@1.2.16': + optional: true - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 + '@rolldown/binding-win32-arm64-msvc@1.2.16': + optional: true - glob-to-regexp@0.4.1: {} + '@rolldown/binding-win32-x64-msvc@1.2.16': + optional: true - glob@10.5.0: - dependencies: - foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.9 - minipass: 7.1.3 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 + '@rolldown/pluginutils@1.0.1': {} - globals@11.12.0: {} + '@sindresorhus/is@4.6.0': {} - gopd@1.0.1: + '@types/chai@5.2.3': dependencies: - get-intrinsic: 1.2.0 + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 - graceful-fs@4.2.11: {} - - has-bigints@1.0.2: {} + '@types/color-name@1.1.1': {} - has-flag@3.0.0: {} + '@types/deep-eql@4.0.2': {} - has-flag@4.0.0: {} + '@types/estree@1.0.10': {} - has-property-descriptors@1.0.0: + '@types/react@19.3.0': dependencies: - get-intrinsic: 1.2.0 - - has-symbols@1.0.3: {} + csstype: 3.2.3 - has-tostringtag@1.0.0: - dependencies: - has-symbols: 1.0.3 + '@typescript/typescript-aix-ppc64@7.0.2': + optional: true - has@1.0.3: - dependencies: - function-bind: 1.1.1 + '@typescript/typescript-darwin-arm64@7.0.2': + optional: true - hasha@5.2.2: - dependencies: - is-stream: 2.0.1 - type-fest: 0.8.1 + '@typescript/typescript-darwin-x64@7.0.2': + optional: true - he@1.2.0: {} + '@typescript/typescript-freebsd-arm64@7.0.2': + optional: true - highlight.js@10.7.3: {} + '@typescript/typescript-freebsd-x64@7.0.2': + optional: true - html-encoding-sniffer@3.0.0: - dependencies: - whatwg-encoding: 2.0.0 + '@typescript/typescript-linux-arm64@7.0.2': + optional: true - html-escaper@2.0.2: {} + '@typescript/typescript-linux-arm@7.0.2': + optional: true - http-errors@1.8.1: - dependencies: - depd: 1.1.2 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 1.5.0 - toidentifier: 1.0.1 + '@typescript/typescript-linux-loong64@7.0.2': + optional: true - http-proxy-agent@5.0.0(supports-color@8.1.1): - dependencies: - '@tootallnate/once': 2.0.0 - agent-base: 6.0.0(supports-color@8.1.1) - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color + '@typescript/typescript-linux-mips64el@7.0.2': + optional: true - http-proxy@1.18.1(debug@4.3.4(supports-color@8.1.1)): - dependencies: - eventemitter3: 4.0.4 - follow-redirects: 1.14.7(debug@4.3.4(supports-color@8.1.1)) - requires-port: 1.0.0 - transitivePeerDependencies: - - debug + '@typescript/typescript-linux-ppc64@7.0.2': + optional: true - https-proxy-agent@5.0.1(supports-color@8.1.1): - dependencies: - agent-base: 6.0.0(supports-color@8.1.1) - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color + '@typescript/typescript-linux-riscv64@7.0.2': + optional: true - human-id@4.2.2: {} + '@typescript/typescript-linux-s390x@7.0.2': + optional: true - iconv-lite@0.4.24: - dependencies: - safer-buffer: 2.1.2 + '@typescript/typescript-linux-x64@7.0.2': + optional: true - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 + '@typescript/typescript-netbsd-arm64@7.0.2': + optional: true - import-meta-resolve@4.2.0: {} + '@typescript/typescript-netbsd-x64@7.0.2': + optional: true - imurmurhash@0.1.4: {} + '@typescript/typescript-openbsd-arm64@7.0.2': + optional: true - indent-string@4.0.0: {} + '@typescript/typescript-openbsd-x64@7.0.2': + optional: true - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 + '@typescript/typescript-sunos-x64@7.0.2': + optional: true - inherits@2.0.4: {} + '@typescript/typescript-win32-arm64@7.0.2': + optional: true - internal-slot@1.0.5: - dependencies: - get-intrinsic: 1.2.0 - has: 1.0.3 - side-channel: 1.0.4 + '@typescript/typescript-win32-x64@7.0.2': + optional: true - is-arguments@1.1.1: + '@vitest/browser-playwright@5.0.5(playwright@1.64.1)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5)': dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + '@vitest/browser': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5) + '@vitest/mocker': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + playwright: 1.64.1 + tinyrainbow: 3.2.0 + vitest: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + + '@vitest/browser@5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5)': + dependencies: + '@blazediff/core': 1.10.0 + '@vitest/mocker': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + '@vitest/ui': 5.0.5(vitest@5.0.5) + '@vitest/utils': 5.0.5 + magic-string: 1.4.5 + pngjs: 7.0.0 + sirv: 3.0.2 + tinyrainbow: 3.2.0 + vitest: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + ws: 8.22.1 + transitivePeerDependencies: + - bufferutil + - msw + - utf-8-validate + - vite + + '@vitest/coverage-v8@5.0.5(@vitest/browser@5.0.5)(vitest@5.0.5)': + dependencies: + '@bcoe/v8-coverage': 1.0.2 + '@vitest/istanbul-lib-coverage': 1.0.2 + '@vitest/istanbul-lib-report': 1.0.2 + ast-v8-to-istanbul: 1.0.7 + magicast: 0.5.5 + obug: 3.0.0 + std-env: 4.3.0 + tinyrainbow: 3.2.0 + vitest: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + optionalDependencies: + '@vitest/browser': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5) - is-array-buffer@3.0.2: - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - is-typed-array: 1.1.10 + '@vitest/istanbul-lib-coverage@1.0.2': {} - is-bigint@1.0.4: + '@vitest/istanbul-lib-report@1.0.2': dependencies: - has-bigints: 1.0.2 + '@vitest/istanbul-lib-coverage': 1.0.2 - is-binary-path@2.1.0: + '@vitest/mocker@5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))': dependencies: - binary-extensions: 2.0.0 + '@jridgewell/trace-mapping': 0.3.31 + '@vitest/spy': 5.0.5 + estree-walker: 3.0.3 + magic-string: 1.4.5 + optionalDependencies: + vite: 8.3.5(terser@5.51.2)(yaml@2.9.1) - is-boolean-object@1.1.2: + '@vitest/pretty-format@5.0.5': dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + tinyrainbow: 3.2.0 - is-callable@1.2.7: {} + '@vitest/spy@5.0.5': {} - is-core-module@2.12.1: + '@vitest/ui@5.0.5(vitest@5.0.5)': dependencies: - has: 1.0.3 + '@vitest/utils': 5.0.5 + fflate: 0.8.3 + flatted: 3.4.4 + pathe: 2.0.3 + sirv: 3.0.2 + tinyrainbow: 3.2.0 + vitest: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) - is-date-object@1.0.5: + '@vitest/utils@5.0.5': dependencies: - has-tostringtag: 1.0.0 + '@vitest/pretty-format': 5.0.5 + convert-source-map: 2.0.0 + tinyrainbow: 3.2.0 + + acorn@8.19.0: {} - is-docker@2.0.0: {} + ansi-escapes@7.3.0: + dependencies: + environment: 1.1.0 - is-extglob@2.1.1: {} + ansi-regex@5.0.1: {} - is-fullwidth-code-point@3.0.0: {} + ansi-regex@6.5.0: {} - is-generator-function@1.0.10: + ansi-styles@4.2.1: dependencies: - has-tostringtag: 1.0.0 + '@types/color-name': 1.1.1 + color-convert: 2.0.1 - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 + any-promise@1.3.0: {} - is-map@2.0.2: {} + assertion-error@2.0.1: {} - is-nan@1.3.2: + ast-v8-to-istanbul@1.0.7: dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 + '@jridgewell/trace-mapping': 0.3.31 + estree-walker: 3.0.3 + js-tokens: 10.0.0 - is-number-object@1.0.7: + benchmark@2.1.4: dependencies: - has-tostringtag: 1.0.0 + lodash: 4.17.21 + platform: 1.3.5 - is-number@7.0.0: {} + bidi-js@1.1.0: + dependencies: + require-from-string: 2.0.2 - is-path-inside@3.0.3: {} + buffer-from@1.1.1: {} - is-plain-obj@2.1.0: {} + cac@7.1.0: {} - is-potential-custom-element-name@1.0.1: {} + chai@6.3.0: {} - is-regex@1.1.4: + chalk@4.1.2: dependencies: - call-bind: 1.0.2 - has-tostringtag: 1.0.0 + ansi-styles: 4.2.1 + supports-color: 7.2.0 - is-set@2.0.2: {} + chalk@5.6.2: {} - is-shared-array-buffer@1.0.2: - dependencies: - call-bind: 1.0.2 + char-regex@1.0.2: {} - is-stream@2.0.1: {} + cjs-module-lexer@1.4.3: {} - is-string@1.0.7: + cli-highlight@2.1.11: dependencies: - has-tostringtag: 1.0.0 + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 - is-symbol@1.0.4: + cli-table3@0.6.5: dependencies: - has-symbols: 1.0.3 + string-width: 4.2.3 + optionalDependencies: + '@colors/colors': 1.5.0 - is-typed-array@1.1.10: + cliui@7.0.4: dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 - is-typedarray@1.0.0: {} + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 - is-unicode-supported@0.1.0: {} + color-name@1.1.4: {} - is-weakmap@2.0.1: {} + commander@10.0.1: {} - is-weakset@2.0.2: - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 + commander@2.20.3: {} - is-windows@1.0.2: {} + convert-source-map@2.0.0: {} - is-wsl@2.2.0: + css-tree@3.2.1: dependencies: - is-docker: 2.0.0 + mdn-data: 2.27.1 + source-map-js: 1.2.2 - isarray@0.0.1: {} + csstype@3.2.3: {} - isarray@2.0.5: {} + data-urls@8.0.0: + dependencies: + whatwg-mimetype: 5.0.0 + whatwg-url: 17.3.0 + transitivePeerDependencies: + - '@noble/hashes' - isbinaryfile@4.0.8: {} + dataloader@2.2.3: {} - isexe@2.0.0: {} + decimal.js@10.6.0: {} - istanbul-lib-coverage@3.2.0: {} + detect-libc@2.1.2: {} - istanbul-lib-hook@3.0.0: - dependencies: - append-transform: 2.0.0 + emoji-regex@8.0.0: {} - istanbul-lib-instrument@4.0.3(supports-color@8.1.1): - dependencies: - '@babel/core': 7.21.0(supports-color@8.1.1) - '@istanbuljs/schema': 0.1.3 - istanbul-lib-coverage: 3.2.0 - semver: 6.3.0 - transitivePeerDependencies: - - supports-color + emojilib@2.4.0: {} - istanbul-lib-processinfo@2.0.3: - dependencies: - archy: 1.0.0 - cross-spawn: 7.0.3 - istanbul-lib-coverage: 3.2.0 - p-map: 3.0.0 - rimraf: 3.0.2 - uuid: 8.3.2 - - istanbul-lib-report@3.0.0: - dependencies: - istanbul-lib-coverage: 3.2.0 - make-dir: 3.1.0 - supports-color: 7.2.0 + entities@8.1.0: {} - istanbul-lib-source-maps@4.0.1(supports-color@8.1.1): - dependencies: - debug: 4.3.4(supports-color@8.1.1) - istanbul-lib-coverage: 3.2.0 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color + environment@1.1.0: {} - istanbul-reports@3.1.5: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.0 + es-module-lexer@2.3.2: {} - jackspeak@3.4.3: - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 + escalade@3.1.1: {} - jest-worker@27.5.1: + estree-walker@3.0.3: dependencies: - '@types/node': 18.15.0 - merge-stream: 2.0.0 - supports-color: 8.1.1 + '@types/estree': 1.0.10 - jju@1.4.0: {} - - js-tokens@4.0.0: {} + expect-type@1.4.0: {} - js-yaml@3.14.1: - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 + fast-deep-equal@3.1.3: {} - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 + fast-string-truncated-width@3.0.3: {} - jsdom-global@3.0.2(jsdom@21.1.0(supports-color@8.1.1)): + fast-string-width@3.0.2: dependencies: - jsdom: 21.1.0(supports-color@8.1.1) + fast-string-truncated-width: 3.0.3 - jsdom@21.1.0(supports-color@8.1.1): + fast-wrap-ansi@0.2.2: dependencies: - abab: 2.0.6 - acorn: 8.8.2 - acorn-globals: 7.0.1 - cssom: 0.5.0 - cssstyle: 2.3.0 - data-urls: 3.0.2 - decimal.js: 10.4.3 - domexception: 4.0.0 - escodegen: 2.0.0 - form-data: 4.0.0 - html-encoding-sniffer: 3.0.0 - http-proxy-agent: 5.0.0(supports-color@8.1.1) - https-proxy-agent: 5.0.1(supports-color@8.1.1) - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.2 - parse5: 7.1.2 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 4.1.2 - w3c-xmlserializer: 4.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 2.0.0 - whatwg-mimetype: 3.0.0 - whatwg-url: 11.0.0 - ws: 8.12.1 - xml-name-validator: 4.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + fast-string-width: 3.0.2 - jsesc@0.5.0: {} + fdir@6.5.0(picomatch@4.0.7): + optionalDependencies: + picomatch: 4.0.7 - jsesc@2.5.2: {} + fflate@0.8.3: {} - json-parse-even-better-errors@2.3.1: {} + flatted@3.4.4: {} - json-schema-traverse@0.4.1: {} + fsevents@2.3.3: + optional: true - json-schema-traverse@1.0.0: {} + get-caller-file@2.0.5: {} - json5@2.2.3: {} + has-flag@4.0.0: {} - jsonc-parser@3.3.1: {} + highlight.js@10.7.3: {} - jsonfile@6.1.0: + html-encoding-sniffer@7.0.0: dependencies: - universalify: 2.0.0 - optionalDependencies: - graceful-fs: 4.2.11 - - just-extend@4.1.0: {} + '@exodus/bytes': 1.16.0 + transitivePeerDependencies: + - '@noble/hashes' - karma-chrome-launcher@3.1.1: - dependencies: - which: 1.3.1 + human-id@4.2.2: {} - karma-firefox-launcher@2.1.2: - dependencies: - is-wsl: 2.2.0 - which: 2.0.2 + import-meta-resolve@4.2.0: {} - karma-mocha-reporter@2.2.5(karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1)): - dependencies: - chalk: 2.4.2 - karma: 6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1) - log-symbols: 2.2.0 - strip-ansi: 4.0.0 + is-fullwidth-code-point@3.0.0: {} - karma-mocha@2.0.1: - dependencies: - minimist: 1.2.8 + is-potential-custom-element-name@1.0.1: {} - karma-safari-launcher@1.0.0(karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1)): - dependencies: - karma: 6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1) + jju@1.4.0: {} - karma-webpack@5.0.0(webpack@5.76.0): - dependencies: - glob: 7.2.3 - minimatch: 3.1.2 - webpack: 5.76.0 - webpack-merge: 4.2.2 + js-tokens@10.0.0: {} - karma@6.4.1(debug@4.3.4(supports-color@8.1.1))(supports-color@8.1.1): + jsdom@30.1.3: dependencies: - '@colors/colors': 1.5.0 - body-parser: 1.19.1(supports-color@8.1.1) - braces: 3.0.2 - chokidar: 3.5.3 - connect: 3.7.0(supports-color@8.1.1) - di: 0.0.1 - dom-serialize: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - http-proxy: 1.18.1(debug@4.3.4(supports-color@8.1.1)) - isbinaryfile: 4.0.8 - lodash: 4.17.21 - log4js: 6.4.1(supports-color@8.1.1) - mime: 2.6.0 - minimatch: 3.1.2 - mkdirp: 0.5.5 - qjobs: 1.2.0 - range-parser: 1.2.1 - rimraf: 3.0.2 - socket.io: 4.6.1(supports-color@8.1.1) - source-map: 0.6.1 - tmp: 0.2.1 - ua-parser-js: 0.7.31 - yargs: 16.2.0 + '@asamuzakjp/css-color': 7.1.9 + '@asamuzakjp/dom-selector': 10.0.5 + '@bramus/specificity': 2.4.3 + '@csstools/css-syntax-patches-for-csstree': 1.1.16(css-tree@3.2.1) + '@exodus/bytes': 1.16.0 + css-tree: 3.2.1 + data-urls: 8.0.0 + decimal.js: 10.6.0 + html-encoding-sniffer: 7.0.0 + is-potential-custom-element-name: 1.0.1 + lru-cache: 11.5.3 + parse5: 8.0.1 + saxes: 6.0.0 + tough-cookie: 6.0.2 + undici: 8.12.3 + w3c-xmlserializer: 6.0.0 + webidl-conversions: 8.0.1 + whatwg-mimetype: 5.0.0 + whatwg-url: 17.3.0 + xml-name-validator: 5.0.0 transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate + - '@noble/hashes' + + jsonc-parser@3.3.1: {} launch-editor@2.14.2: dependencies: picocolors: 1.1.1 shell-quote: 1.12.0 - levn@0.3.0: - dependencies: - prelude-ls: 1.1.2 - type-check: 0.3.2 + lightningcss-android-arm64@1.33.0: + optional: true - loader-runner@4.3.0: {} + lightningcss-darwin-arm64@1.33.0: + optional: true - locate-path@5.0.0: - dependencies: - p-locate: 4.1.0 + lightningcss-darwin-x64@1.33.0: + optional: true - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 + lightningcss-freebsd-x64@1.33.0: + optional: true - lodash.debounce@4.0.8: {} + lightningcss-linux-arm-gnueabihf@1.33.0: + optional: true - lodash.flattendeep@4.4.0: {} + lightningcss-linux-arm64-gnu@1.33.0: + optional: true - lodash.get@4.4.2: {} + lightningcss-linux-arm64-musl@1.33.0: + optional: true - lodash@4.17.21: {} + lightningcss-linux-x64-gnu@1.33.0: + optional: true - log-symbols@2.2.0: - dependencies: - chalk: 2.4.2 + lightningcss-linux-x64-musl@1.33.0: + optional: true - log-symbols@4.1.0: - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 + lightningcss-win32-arm64-msvc@1.33.0: + optional: true - log4js@6.4.1(supports-color@8.1.1): - dependencies: - date-format: 4.0.3 - debug: 4.3.4(supports-color@8.1.1) - flatted: 3.2.7 - rfdc: 1.3.0 - streamroller: 3.0.2(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color + lightningcss-win32-x64-msvc@1.33.0: + optional: true - loose-envify@1.4.0: + lightningcss@1.33.0: dependencies: - js-tokens: 4.0.0 + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.33.0 + lightningcss-darwin-arm64: 1.33.0 + lightningcss-darwin-x64: 1.33.0 + lightningcss-freebsd-x64: 1.33.0 + lightningcss-linux-arm-gnueabihf: 1.33.0 + lightningcss-linux-arm64-gnu: 1.33.0 + lightningcss-linux-arm64-musl: 1.33.0 + lightningcss-linux-x64-gnu: 1.33.0 + lightningcss-linux-x64-musl: 1.33.0 + lightningcss-win32-arm64-msvc: 1.33.0 + lightningcss-win32-x64-msvc: 1.33.0 - lru-cache@10.4.3: {} + lodash@4.17.21: {} lru-cache@11.5.3: {} - lru-cache@5.1.1: + magic-string@1.4.5: dependencies: - yallist: 3.1.1 - - lz-string@1.5.0: {} + '@jridgewell/sourcemap-codec': 1.6.0 - make-dir@3.1.0: + magicast@0.5.5: dependencies: - semver: 6.3.0 + '@babel/parser': 7.29.12 + '@babel/types': 7.29.11 + source-map-js: 1.2.2 marked-terminal@7.3.1(marked@9.1.6): dependencies: @@ -6043,67 +2609,13 @@ snapshots: node-emoji: 2.2.0 supports-hyperlinks: 3.2.0 - marked@9.1.6: {} - - media-typer@0.3.0: {} - - merge-stream@2.0.0: {} - - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - - mime@2.6.0: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - - minimatch@9.0.9: - dependencies: - brace-expansion: 2.1.7 - - minimist@1.2.8: {} - - minipass@7.1.3: {} - - mkdirp@0.5.5: - dependencies: - minimist: 1.2.8 - - mocha@11.8.0: - dependencies: - browser-stdout: 1.3.1 - chokidar: 4.0.3 - debug: 4.4.3(supports-color@8.1.1) - diff: 7.0.0 - escape-string-regexp: 4.0.0 - find-up: 5.0.0 - glob: 10.5.0 - he: 1.2.0 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 - log-symbols: 4.1.0 - minimatch: 9.0.9 - ms: 2.1.3 - picocolors: 1.1.1 - serialize-javascript: 6.0.2 - strip-json-comments: 3.1.1 - supports-color: 8.1.1 - workerpool: 9.3.4 - yargs: 17.7.2 - yargs-parser: 21.1.1 - yargs-unparser: 2.0.0 - - mri@1.2.0: {} + marked@9.1.6: {} - ms@2.0.0: {} + mdn-data@2.27.1: {} - ms@2.1.2: {} + mri@1.2.0: {} - ms@2.1.3: {} + mrmime@2.0.1: {} mz@2.7.0: dependencies: @@ -6113,17 +2625,7 @@ snapshots: nano-equal@2.0.2: {} - negotiator@0.6.2: {} - - neo-async@2.6.2: {} - - nise@5.1.4: - dependencies: - '@sinonjs/commons': 2.0.0 - '@sinonjs/fake-timers': 10.0.2 - '@sinonjs/text-encoding': 0.7.1 - just-extend: 4.1.0 - path-to-regexp: 1.8.0 + nanoid@3.3.20: {} node-emoji@2.2.0: dependencies: @@ -6132,96 +2634,9 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 - node-preload@0.2.1: - dependencies: - process-on-spawn: 1.0.0 - - node-releases@2.0.10: {} - - nopt@4.0.3: - dependencies: - abbrev: 1.1.1 - osenv: 0.1.5 - - normalize-path@3.0.0: {} - - nwsapi@2.2.2: {} - - nyc@15.1.0(supports-color@8.1.1): - dependencies: - '@istanbuljs/load-nyc-config': 1.1.0 - '@istanbuljs/schema': 0.1.3 - caching-transform: 4.0.0 - convert-source-map: 1.7.0 - decamelize: 1.2.0 - find-cache-dir: 3.3.2 - find-up: 4.1.0 - foreground-child: 2.0.0 - get-package-type: 0.1.0 - glob: 7.2.3 - istanbul-lib-coverage: 3.2.0 - istanbul-lib-hook: 3.0.0 - istanbul-lib-instrument: 4.0.3(supports-color@8.1.1) - istanbul-lib-processinfo: 2.0.3 - istanbul-lib-report: 3.0.0 - istanbul-lib-source-maps: 4.0.1(supports-color@8.1.1) - istanbul-reports: 3.1.5 - make-dir: 3.1.0 - node-preload: 0.2.1 - p-map: 3.0.0 - process-on-spawn: 1.0.0 - resolve-from: 5.0.0 - rimraf: 3.0.2 - signal-exit: 3.0.3 - spawn-wrap: 2.0.0 - test-exclude: 6.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - supports-color - object-assign@4.1.1: {} - object-inspect@1.12.3: {} - - object-is@1.1.5: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - - object-keys@1.1.1: {} - - object.assign@4.1.4: - dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - has-symbols: 1.0.3 - object-keys: 1.1.1 - - on-finished@2.3.0: - dependencies: - ee-first: 1.1.1 - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - optionator@0.8.3: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.3.0 - prelude-ls: 1.1.2 - type-check: 0.3.2 - word-wrap: 1.2.3 - - os-homedir@1.0.2: {} - - os-tmpdir@1.0.2: {} - - osenv@0.1.5: - dependencies: - os-homedir: 1.0.2 - os-tmpdir: 1.0.2 + obug@3.0.0: {} oxfmt@0.75.0: dependencies: @@ -6269,37 +2684,6 @@ snapshots: '@oxlint/binding-win32-ia32-msvc': 1.90.0 '@oxlint/binding-win32-x64-msvc': 1.90.0 - p-limit@2.3.0: - dependencies: - p-try: 2.2.0 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-locate@4.1.0: - dependencies: - p-limit: 2.3.0 - - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - - p-map@3.0.0: - dependencies: - aggregate-error: 3.1.0 - - p-try@2.2.0: {} - - package-hash@4.0.0: - dependencies: - graceful-fs: 4.2.11 - hasha: 5.2.2 - lodash.flattendeep: 4.4.0 - release-zalgo: 1.0.0 - - package-json-from-dist@1.0.1: {} - package-manager-detector@1.9.0: {} parse5-htmlparser2-tree-adapter@6.0.1: @@ -6310,60 +2694,33 @@ snapshots: parse5@6.0.1: {} - parse5@7.1.2: - dependencies: - entities: 4.4.0 - - parseurl@1.3.3: {} - - path-exists@4.0.0: {} - - path-is-absolute@1.0.1: {} - - path-key@3.1.1: {} - - path-parse@1.0.7: {} - - path-scurry@1.11.1: + parse5@8.0.1: dependencies: - lru-cache: 10.4.3 - minipass: 7.1.3 + entities: 8.1.0 - path-to-regexp@1.8.0: - dependencies: - isarray: 0.0.1 - - picocolors@1.0.0: {} + pathe@2.0.3: {} picocolors@1.1.1: {} - picomatch@2.3.1: {} - picomatch@4.0.7: {} - pkg-dir@4.2.0: - dependencies: - find-up: 4.1.0 - platform@1.3.5: {} - preact@10.13.1: {} - - prelude-ls@1.1.2: {} + playwright-core@1.64.1: {} - pretty-format@27.5.1: + playwright@1.64.1: dependencies: - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 17.0.2 + playwright-core: 1.64.1 - process-on-spawn@1.0.0: - dependencies: - fromentries: 1.3.2 + pngjs@7.0.0: {} - process@0.11.10: {} + postcss@8.5.32: + dependencies: + nanoid: 3.3.20 + picocolors: 1.1.1 + source-map-js: 1.2.2 - psl@1.9.0: {} + preact@11.1.1: {} publint@0.3.25: dependencies: @@ -6372,186 +2729,61 @@ snapshots: picocolors: 1.1.1 sade: 1.8.1 - punycode@2.3.0: {} - - qjobs@1.2.0: {} - - qs@6.9.6: {} + punycode@2.3.1: {} - querystringify@2.2.0: {} - - randombytes@2.1.0: - dependencies: - safe-buffer: 5.2.1 - - range-parser@1.2.1: {} - - raw-body@2.4.2: - dependencies: - bytes: 3.1.1 - http-errors: 1.8.1 - iconv-lite: 0.4.24 - unpipe: 1.0.0 - - react-is@17.0.2: {} - - react-is@18.2.0: {} - - react-shallow-renderer@16.15.0(react@18.2.0): - dependencies: - object-assign: 4.1.1 - react: 18.2.0 - react-is: 18.2.0 - - react-test-renderer@18.2.0(react@18.2.0): - dependencies: - react: 18.2.0 - react-is: 18.2.0 - react-shallow-renderer: 16.15.0(react@18.2.0) - scheduler: 0.23.0 - - react@18.2.0: - dependencies: - loose-envify: 1.4.0 - - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - - readdirp@4.1.2: {} - - regenerate-unicode-properties@10.1.0: - dependencies: - regenerate: 1.4.2 - - regenerate@1.4.2: {} - - regenerator-runtime@0.13.11: {} - - regenerator-transform@0.15.1: - dependencies: - '@babel/runtime': 7.21.5 - - regexp.prototype.flags@1.4.3: + react-dom@19.3.1(react@19.3.1): dependencies: - call-bind: 1.0.2 - define-properties: 1.2.0 - functions-have-names: 1.2.3 + react: 19.3.1 + scheduler: 0.28.0 - regexpu-core@5.3.1: - dependencies: - '@babel/regjsgen': 0.8.0 - regenerate: 1.4.2 - regenerate-unicode-properties: 10.1.0 - regjsparser: 0.9.1 - unicode-match-property-ecmascript: 2.0.0 - unicode-match-property-value-ecmascript: 2.1.0 - - regjsparser@0.9.1: - dependencies: - jsesc: 0.5.0 - - release-zalgo@1.0.0: - dependencies: - es6-error: 4.1.1 + react@19.3.1: {} require-directory@2.1.1: {} require-from-string@2.0.2: {} - require-main-filename@2.0.0: {} - - requires-port@1.0.0: {} - - resolve-from@5.0.0: {} - - resolve@1.22.2: - dependencies: - is-core-module: 2.12.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - - rfdc@1.3.0: {} - - rimraf@3.0.2: + rolldown@1.2.16: dependencies: - glob: 7.2.3 + '@oxc-project/types': 0.156.0 + '@rolldown/pluginutils': 1.0.1 + optionalDependencies: + '@rolldown/binding-android-arm-eabi': 1.2.16 + '@rolldown/binding-android-arm64': 1.2.16 + '@rolldown/binding-darwin-arm64': 1.2.16 + '@rolldown/binding-darwin-x64': 1.2.16 + '@rolldown/binding-freebsd-x64': 1.2.16 + '@rolldown/binding-linux-arm-gnueabihf': 1.2.16 + '@rolldown/binding-linux-arm64-gnu': 1.2.16 + '@rolldown/binding-linux-arm64-musl': 1.2.16 + '@rolldown/binding-linux-ppc64-gnu': 1.2.16 + '@rolldown/binding-linux-s390x-gnu': 1.2.16 + '@rolldown/binding-linux-x64-gnu': 1.2.16 + '@rolldown/binding-linux-x64-musl': 1.2.16 + '@rolldown/binding-openharmony-arm64': 1.2.16 + '@rolldown/binding-win32-arm64-msvc': 1.2.16 + '@rolldown/binding-win32-x64-msvc': 1.2.16 sade@1.8.1: dependencies: mri: 1.2.0 - safe-buffer@5.1.2: {} - - safe-buffer@5.2.1: {} - - safer-buffer@2.1.2: {} - saxes@6.0.0: dependencies: xmlchars: 2.2.0 - scheduler@0.23.0: - dependencies: - loose-envify: 1.4.0 - - schema-utils@3.1.1: - dependencies: - '@types/json-schema': 7.0.11 - ajv: 6.12.6 - ajv-keywords: 3.5.2(ajv@6.12.6) - - schema-utils@4.0.0: - dependencies: - '@types/json-schema': 7.0.11 - ajv: 8.12.0 - ajv-formats: 2.1.1 - ajv-keywords: 5.1.0(ajv@8.12.0) - - semver@6.3.0: {} + scheduler@0.28.0: {} semver@7.8.5: {} - serialize-javascript@6.0.0: - dependencies: - randombytes: 2.1.0 - - serialize-javascript@6.0.2: - dependencies: - randombytes: 2.1.0 - - set-blocking@2.0.0: {} - - setprototypeof@1.2.0: {} - shallow-equal-fuzzy@0.0.2: {} - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - shell-quote@1.12.0: {} - side-channel@1.0.4: - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.2.0 - object-inspect: 1.12.3 - - signal-exit@3.0.3: {} - - signal-exit@4.1.0: {} - - sinon@15.0.1: + sirv@3.0.2: dependencies: - '@sinonjs/commons': 2.0.0 - '@sinonjs/fake-timers': 10.0.2 - '@sinonjs/samsam': 7.0.1 - diff: 5.1.0 - nise: 5.1.4 - supports-color: 7.2.0 + '@polka/url': 1.0.0-next.29 + mrmime: 2.0.1 + totalist: 3.0.1 sisteransi@1.0.5: {} @@ -6559,32 +2791,7 @@ snapshots: dependencies: unicode-emoji-modifier-base: 1.0.0 - socket.io-adapter@2.5.2: - dependencies: - ws: 8.11.0 - transitivePeerDependencies: - - bufferutil - - utf-8-validate - - socket.io-parser@4.2.2(supports-color@8.1.1): - dependencies: - '@socket.io/component-emitter': 3.1.0 - debug: 4.3.4(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - - socket.io@4.6.1(supports-color@8.1.1): - dependencies: - accepts: 1.3.7 - base64id: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - engine.io: 6.4.1(supports-color@8.1.1) - socket.io-adapter: 2.5.2 - socket.io-parser: 4.2.2(supports-color@8.1.1) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + source-map-js@1.2.2: {} source-map-support@0.5.21: dependencies: @@ -6593,30 +2800,7 @@ snapshots: source-map@0.6.1: {} - spawn-wrap@2.0.0: - dependencies: - foreground-child: 2.0.0 - is-windows: 1.0.2 - make-dir: 3.1.0 - rimraf: 3.0.2 - signal-exit: 3.0.3 - which: 2.0.2 - - sprintf-js@1.0.3: {} - - statuses@1.5.0: {} - - stop-iteration-iterator@1.0.0: - dependencies: - internal-slot: 1.0.5 - - streamroller@3.0.2(supports-color@8.1.1): - dependencies: - date-format: 4.0.3 - debug: 4.3.4(supports-color@8.1.1) - fs-extra: 10.0.0 - transitivePeerDependencies: - - supports-color + std-env@4.3.0: {} string-width@4.2.3: dependencies: @@ -6624,60 +2808,19 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.2.0 - - strip-ansi@4.0.0: - dependencies: - ansi-regex: 3.0.0 - strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - strip-ansi@7.2.0: - dependencies: - ansi-regex: 6.5.0 - - strip-bom@4.0.0: {} - - strip-json-comments@3.1.1: {} - - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - supports-color@7.2.0: dependencies: has-flag: 4.0.0 - supports-color@8.1.1: - dependencies: - has-flag: 4.0.0 - supports-hyperlinks@3.2.0: dependencies: has-flag: 4.0.0 supports-color: 7.2.0 - supports-preserve-symlinks-flag@1.0.0: {} - - symbol-tree@3.2.4: {} - - tapable@2.2.1: {} - - terser-webpack-plugin@5.3.1(webpack@5.76.0): - dependencies: - jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.0 - source-map: 0.6.1 - terser: 5.51.2 - webpack: 5.76.0 - terser@5.51.2: dependencies: '@jridgewell/source-map': 0.3.11 @@ -6685,12 +2828,6 @@ snapshots: commander: 2.20.3 source-map-support: 0.5.21 - test-exclude@6.0.0: - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -6699,6 +2836,8 @@ snapshots: dependencies: any-promise: 1.3.0 + tinybench@6.2.2: {} + tinyexec@1.3.1: {} tinyglobby@0.2.17: @@ -6708,49 +2847,23 @@ snapshots: tinypool@2.2.0: {} - tmp@0.2.1: - dependencies: - rimraf: 3.0.2 - - to-fast-properties@2.0.0: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - toidentifier@1.0.1: {} - - tough-cookie@4.1.2: - dependencies: - psl: 1.9.0 - punycode: 2.3.0 - universalify: 0.2.0 - url-parse: 1.5.10 - - tr46@3.0.0: - dependencies: - punycode: 2.3.0 - - tree-kill@1.2.2: {} + tinyrainbow@3.2.0: {} - tslib@1.13.0: {} + tldts-core@7.4.20: {} - type-check@0.3.2: + tldts@7.4.19: dependencies: - prelude-ls: 1.1.2 + tldts-core: 7.4.20 - type-detect@4.0.8: {} + totalist@3.0.1: {} - type-fest@0.8.1: {} - - type-is@1.6.18: + tough-cookie@6.0.2: dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 + tldts: 7.4.19 - typedarray-to-buffer@3.1.5: + tr46@7.0.0: dependencies: - is-typedarray: 1.0.0 + punycode: 2.3.1 typescript@5.6.1-rc: {} @@ -6777,163 +2890,65 @@ snapshots: '@typescript/typescript-win32-arm64': 7.0.2 '@typescript/typescript-win32-x64': 7.0.2 - ua-parser-js@0.7.31: {} - - unicode-canonical-property-names-ecmascript@2.0.0: {} + undici@8.12.3: {} unicode-emoji-modifier-base@1.0.0: {} - unicode-match-property-ecmascript@2.0.0: - dependencies: - unicode-canonical-property-names-ecmascript: 2.0.0 - unicode-property-aliases-ecmascript: 2.1.0 - - unicode-match-property-value-ecmascript@2.1.0: {} - - unicode-property-aliases-ecmascript@2.1.0: {} - - universalify@0.2.0: {} - - universalify@2.0.0: {} - - unpipe@1.0.0: {} - - update-browserslist-db@1.0.10(browserslist@4.21.5): - dependencies: - browserslist: 4.21.5 - escalade: 3.1.1 - picocolors: 1.0.0 - - uri-js@4.4.1: - dependencies: - punycode: 2.3.0 - - url-parse@1.5.10: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - - util@0.12.4: - dependencies: - inherits: 2.0.4 - is-arguments: 1.1.1 - is-generator-function: 1.0.10 - is-typed-array: 1.1.10 - safe-buffer: 5.2.1 - which-typed-array: 1.1.9 - - utils-merge@1.0.1: {} - - uuid@8.3.2: {} - validate-npm-package-name@5.0.1: {} - vary@1.1.2: {} - - void-elements@2.0.1: {} - - w3c-xmlserializer@4.0.0: - dependencies: - xml-name-validator: 4.0.0 - - watchpack@2.4.0: + vite@8.3.5(terser@5.51.2)(yaml@2.9.1): dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - - webidl-conversions@7.0.0: {} - - webpack-merge@4.2.2: - dependencies: - lodash: 4.17.21 - - webpack-sources@3.2.3: {} + lightningcss: 1.33.0 + picomatch: 4.0.7 + postcss: 8.5.32 + rolldown: 1.2.16 + tinyglobby: 0.2.17 + optionalDependencies: + fsevents: 2.3.3 + terser: 5.51.2 + yaml: 2.9.1 - webpack@5.76.0: + vitest@5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)): dependencies: - '@types/eslint-scope': 3.7.3 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0(acorn@8.8.2) - browserslist: 4.21.5 - chrome-trace-event: 1.0.2 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.1(webpack@5.76.0) - watchpack: 2.4.0 - webpack-sources: 3.2.3 + '@types/chai': 5.2.3 + '@vitest/mocker': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + chai: 6.3.0 + es-module-lexer: 2.3.2 + expect-type: 1.4.0 + magic-string: 1.4.5 + obug: 3.0.0 + picomatch: 4.0.7 + std-env: 4.3.0 + tinybench: 6.2.2 + tinyexec: 1.3.1 + tinyglobby: 0.2.17 + vite: 8.3.5(terser@5.51.2)(yaml@2.9.1) + why-is-node-running: 3.2.1 + optionalDependencies: + '@vitest/browser-playwright': 5.0.5(playwright@1.64.1)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5) + '@vitest/coverage-v8': 5.0.5(@vitest/browser@5.0.5)(vitest@5.0.5) + '@vitest/ui': 5.0.5(vitest@5.0.5) + jsdom: 30.1.3 transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - - whatwg-encoding@2.0.0: - dependencies: - iconv-lite: 0.6.3 + - msw - whatwg-mimetype@3.0.0: {} - - whatwg-url@11.0.0: - dependencies: - tr46: 3.0.0 - webidl-conversions: 7.0.0 - - which-boxed-primitive@1.0.2: - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - - which-collection@1.0.1: + w3c-xmlserializer@6.0.0: dependencies: - is-map: 2.0.2 - is-set: 2.0.2 - is-weakmap: 2.0.1 - is-weakset: 2.0.2 + xml-name-validator: 5.0.0 - which-module@2.0.0: {} + webidl-conversions@8.0.1: {} - which-typed-array@1.1.9: - dependencies: - available-typed-arrays: 1.0.5 - call-bind: 1.0.2 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.0 - is-typed-array: 1.1.10 - - which@1.3.1: - dependencies: - isexe: 2.0.0 + whatwg-mimetype@5.0.0: {} - which@2.0.2: + whatwg-url@17.3.0: dependencies: - isexe: 2.0.0 - - word-wrap@1.2.3: {} - - workerpool@9.3.4: {} + '@exodus/bytes': 1.16.0 + tr46: 7.0.0 + webidl-conversions: 8.0.1 + transitivePeerDependencies: + - '@noble/hashes' - wrap-ansi@6.2.0: - dependencies: - ansi-styles: 4.2.1 - string-width: 4.2.3 - strip-ansi: 6.0.1 + why-is-node-running@3.2.1: {} wrap-ansi@7.0.0: dependencies: @@ -6941,67 +2956,18 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.3 - string-width: 5.1.2 - strip-ansi: 7.2.0 - - wrappy@1.0.2: {} + ws@8.22.1: {} - write-file-atomic@3.0.3: - dependencies: - imurmurhash: 0.1.4 - is-typedarray: 1.0.0 - signal-exit: 3.0.3 - typedarray-to-buffer: 3.1.5 - - ws@8.11.0: {} - - ws@8.12.1: {} - - xml-name-validator@4.0.0: {} + xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} - y18n@4.0.3: {} - y18n@5.0.8: {} - yallist@3.1.1: {} - yaml@2.9.1: {} - yargs-parser@18.1.3: - dependencies: - camelcase: 5.3.1 - decamelize: 1.2.0 - yargs-parser@20.2.9: {} - yargs-parser@21.1.1: {} - - yargs-unparser@2.0.0: - dependencies: - camelcase: 6.3.0 - decamelize: 4.0.0 - flat: 5.0.2 - is-plain-obj: 2.1.0 - - yargs@15.4.1: - dependencies: - cliui: 6.0.0 - decamelize: 1.2.0 - find-up: 4.1.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - require-main-filename: 2.0.0 - set-blocking: 2.0.0 - string-width: 4.2.3 - which-module: 2.0.0 - y18n: 4.0.3 - yargs-parser: 18.1.3 - yargs@16.2.0: dependencies: cliui: 7.0.4 @@ -7011,15 +2977,3 @@ snapshots: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 20.2.9 - - yargs@17.7.2: - dependencies: - cliui: 8.0.1 - escalade: 3.1.1 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - - yocto-queue@0.1.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index daf6d1d..cd523a0 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -7,8 +7,3 @@ # `minimumReleaseAgeExclude` is for urgent security fixes only (see # CONTRIBUTING). minimumReleaseAge: 10080 - -# Dependencies allowed to run install scripts (pnpm 11+ requires a decision). -allowBuilds: - # postinstall only prints a funding message. - core-js: false diff --git a/test/basics.spec.mjs b/test/basics.spec.mjs new file mode 100644 index 0000000..689afff --- /dev/null +++ b/test/basics.spec.mjs @@ -0,0 +1,49 @@ +import { beforeEach, describe, expect, it, vi } from 'vitest'; + +import equal from '../index.js'; +import * as tests from './fixtures/index.mjs'; + +describe('basics', () => { + beforeEach(() => { + // Circular references warn; that's covered under "warnings" below. + vi.spyOn(console, 'warn').mockImplementation(() => {}); + }); + + for (const suite of tests.all) { + describe(suite.description, () => { + for (const test of suite.tests) { + it.skipIf(test.skip)(test.description, () => { + expect(equal(test.value1, test.value2)).toBe(test.equal); + }); + } + }); + } +}); + +describe('warnings', () => { + let warn; + + beforeEach(() => { + warn = vi.spyOn(console, 'warn').mockImplementation(() => {}); + }); + + it('warns on circular refs but does not throw', () => { + const circularA = { a: 1 }; + circularA.self = circularA; + const circularB = { a: 1 }; + circularB.self = circularB; + equal(circularA, circularB); + expect(warn).toHaveBeenCalledTimes(1); + }); + + it('never warns on the generic cases', () => { + for (const suite of tests.generic) { + for (const test of suite.tests) { + expect(equal(test.value1, test.value2), test.description).toBe( + test.equal + ); + } + } + expect(warn).not.toHaveBeenCalled(); + }); +}); diff --git a/test/browser/browser.spec.js b/test/browser/browser.spec.js deleted file mode 100644 index a6d83ee..0000000 --- a/test/browser/browser.spec.js +++ /dev/null @@ -1,59 +0,0 @@ -'use strict'; - -const assert = require('assert'); -const sinon = require('sinon'); - -const equal = require('../..'); - -const element1 = document.createElement('div'); -const element2 = document.createElement('div'); -const element3 = document.createElement('input'); - -const suites = [ - { - description: 'DOM elements', - tests: [ - { - description: 'equal DOM elements', - value1: element1, - value2: element1, - equal: true, - }, - { - description: 'comparison of different elements', - value1: element1, - value2: element2, - equal: false, - }, - { - description: 'comparison of elements with different types', - value1: element1, - value2: element3, - equal: false, - }, - ], - }, -]; - -describe('browser', function () { - let sandbox; - - beforeEach(() => { - sandbox = sinon.createSandbox(); - sandbox.stub(console, 'warn'); - }); - - afterEach(() => { - sandbox.restore(); - }); - - suites.forEach(function (suite) { - describe(suite.description, function () { - suite.tests.forEach(function (test) { - (test.skip ? it.skip : it)(test.description, function () { - assert.strictEqual(equal(test.value1, test.value2), test.equal); - }); - }); - }); - }); -}); diff --git a/test/browser/index.js b/test/browser/index.js deleted file mode 100644 index 1a7434e..0000000 --- a/test/browser/index.js +++ /dev/null @@ -1,15 +0,0 @@ -'use strict'; - -// Polyfills for IE in React 16 and other dependencies. -require('core-js/features/array/from'); -require('core-js/features/object/entries'); -require('core-js/features/promise'); -require('core-js/features/map'); -require('core-js/features/set'); -require('core-js/features/weak-map'); -require('core-js/features/regexp/flags'); -require('core-js/features/symbol'); - -// Re-use node tests. -const testsContext = require.context('..', true, /\.spec\.js$/); -testsContext.keys().forEach(testsContext); diff --git a/test/browser/karma.conf.js b/test/browser/karma.conf.js deleted file mode 100644 index c671d5e..0000000 --- a/test/browser/karma.conf.js +++ /dev/null @@ -1,110 +0,0 @@ -'use strict'; - -const path = require('path'); -const webpack = require('webpack'); - -// **Debugging Help** -// We normally dislike commented out code, but as Karma doesn't easily produce -// a bundle, debugging bundle errors is a pain. -// To help with this, uncomment this plugin to write out all Karma webpack -// assets like `test/browser/index.js` to disk as `~/Desktops/test-browser-index.js` -// and then inspect the failing lines you need. -// -// Add the plugin into config for `webpack` below with: -// ``` -// plugins: [ -// new WriteAssetPlugin() -// ] -// ``` -// -// const fs = require('fs').promises; -// const os = require('os'); -// -// class WriteAssetPlugin { -// apply(compiler) { -// compiler.hooks.emit.tapPromise("WriteAssetPlugin", this.writeAsset.bind(this)); -// } -// -// async writeAsset(compiler) { -// const { assets } = compiler; -// -// await Promise.all(Object.entries(assets).map(async ([file, src]) => { -// const outFile = path.join(os.homedir(), "Desktop", file.split(path.sep).join("-")); -// await fs.writeFile(outFile, src.source()); -// })); -// } -// } - -module.exports = function (config) { - config.set({ - basePath: '../..', - frameworks: ['mocha'], - files: ['test/browser/index.js'], - preprocessors: { - 'test/browser/index.js': ['webpack'], - }, - webpack: { - mode: 'development', - // Normally, would follow this guide for source maps: - // https://github.com/webpack-contrib/karma-webpack#source-maps - // Unfortunately, karma-webpack doesn't work with source maps w/ babel. - // https://github.com/webpack-contrib/karma-webpack/issues/176 - devtool: false, - module: { - rules: [ - { - test: /\.js$/, - enforce: 'pre', - // Includes the vendored `fast-deep-equal` tests in `test/fixtures`. - include: [path.resolve(__dirname, '..')], - loader: 'babel-loader', - options: { - presets: ['@babel/preset-env'], - }, - }, - ], - }, - plugins: [ - new webpack.ProvidePlugin({ - assert: 'assert', - process: 'process', - }), - ], - }, - exclude: [], - port: 8080, - logLevel: config.LOG_INFO, - colors: true, - autoWatch: false, - // Run a customized instance of headless chrome for dev + CI. - browsers: ['ChromeHeadlessCustom'], - customLaunchers: { - ChromeHeadlessCustom: { - base: 'ChromeHeadless', - // --no-sandbox: Chrome's sandbox can't start in some CI containers. - flags: ['--no-sandbox'], - }, - }, - reporters: ['mocha' /* TODO, 'coverage'*/], - browserNoActivityTimeout: 60000, - plugins: [ - 'karma-chrome-launcher', - 'karma-firefox-launcher', - 'karma-safari-launcher', - //'karma-coverage', - 'karma-mocha', - 'karma-mocha-reporter', - 'karma-webpack', - ], - coverageReporter: { - type: 'text', - }, - browserConsoleLogOptions: { - level: 'log', - format: '%b %T: %m', - terminal: true, - }, - captureTimeout: 100000, - singleRun: true, - }); -}; diff --git a/test/dom.spec.mjs b/test/dom.spec.mjs new file mode 100644 index 0000000..c277266 --- /dev/null +++ b/test/dom.spec.mjs @@ -0,0 +1,23 @@ +// @vitest-environment jsdom +// (Node project only; the browser project has a real DOM.) +import { describe, expect, it } from 'vitest'; + +import equal from '../index.js'; + +describe('DOM elements', () => { + const element1 = document.createElement('div'); + const element2 = document.createElement('div'); + const element3 = document.createElement('input'); + + it('equal DOM elements', () => { + expect(equal(element1, element1)).toBe(true); + }); + + it('comparison of different elements', () => { + expect(equal(element1, element2)).toBe(false); + }); + + it('comparison of elements with different types', () => { + expect(equal(element1, element3)).toBe(false); + }); +}); diff --git a/test/node/tests.js b/test/fixtures/index.mjs similarity index 91% rename from test/node/tests.js rename to test/fixtures/index.mjs index 01e99e5..ddc4fa4 100644 --- a/test/node/tests.js +++ b/test/fixtures/index.mjs @@ -1,6 +1,5 @@ -'use strict'; -const generic = require('../fixtures/fast-deep-equal/tests.js'); -const es6 = require('../fixtures/fast-deep-equal/es6tests.js'); +import generic from './fast-deep-equal/tests.js'; +import es6 from './fast-deep-equal/es6tests.js'; const reactElementA = { $$typeof: 'react.element', @@ -111,10 +110,5 @@ const custom = [ }, ]; -module.exports = { - generic, - es6, - react, - custom, - all: [].concat(generic, es6, react, custom), -}; +export { generic, es6, react, custom }; +export const all = [].concat(generic, es6, react, custom); diff --git a/test/mocha.opts b/test/mocha.opts deleted file mode 100644 index 5ada47b..0000000 --- a/test/mocha.opts +++ /dev/null @@ -1 +0,0 @@ ---reporter spec diff --git a/test/node/advanced.spec.js b/test/node/advanced.spec.js deleted file mode 100644 index ccfd625..0000000 --- a/test/node/advanced.spec.js +++ /dev/null @@ -1,181 +0,0 @@ -'use strict'; - -/* eslint-disable react/no-children-prop */ - -const assert = require('assert'); -const jsdom = require('jsdom-global'); -const sinon = require('sinon'); - -const React = require('react'); -const ReactTestRenderer = require('react-test-renderer'); - -const Preact = require('preact/compat'); -const PreactTestRenderer = require('@testing-library/preact'); - -const equal = require('../..'); -const tests = require('./tests'); - -// `jsdom-global` does a lazy require under the hood to `jsdom` which is -// super expensive. We deliberately call + cleanup to take the require hit -// early and seed the require cache so subsequent calls are fast. -jsdom()(); - -class ReactChild extends React.Component { - shouldComponentUpdate(nextProps) { - // this.props.children is a h1 with a circular reference to its owner, Container - return !equal(this.props, nextProps); - } - render() { - return null; - } -} - -class ReactContainer extends React.Component { - render() { - return React.createElement(ReactChild, { - children: [ - React.createElement('h1', this.props.title || ''), - React.createElement('h2', this.props.subtitle || ''), - ], - }); - } -} - -class PreactChild extends Preact.Component { - shouldComponentUpdate(nextProps) { - // this.props.children is a h1 with a circular reference to its owner, Container - return !equal(this.props, nextProps); - } - render() { - return null; - } -} - -class PreactContainer extends Preact.Component { - render() { - return Preact.createElement(PreactChild, { - children: [ - Preact.createElement('h1', this.props.title || ''), - Preact.createElement('h2', this.props.subtitle || ''), - ], - }); - } -} - -describe('advanced', () => { - let sandbox; - let warnStub; - - beforeEach(() => { - sandbox = sinon.createSandbox(); - warnStub = sandbox.stub(console, 'warn'); - }); - - afterEach(() => { - sandbox.restore(); - }); - - describe('React', () => { - let reactChildRenderSpy; - - beforeEach(() => { - reactChildRenderSpy = sandbox.spy(ReactChild.prototype, 'render'); - }); - - describe('element (with circular references)', () => { - it('compares without warning or errors', () => { - const reactApp = ReactTestRenderer.create( - React.createElement(ReactContainer) - ); - reactApp.update(React.createElement(ReactContainer)); - assert.strictEqual(warnStub.callCount, 0); - }); - it('elements of same type and props are equal', () => { - const reactApp = ReactTestRenderer.create( - React.createElement(ReactContainer) - ); - reactApp.update(React.createElement(ReactContainer)); - assert.strictEqual(reactChildRenderSpy.callCount, 1); - }); - it('elements of same type with different props are not equal', () => { - const reactApp = ReactTestRenderer.create( - React.createElement(ReactContainer) - ); - reactApp.update(React.createElement(ReactContainer, { title: 'New' })); - assert.strictEqual(reactChildRenderSpy.callCount, 2); - }); - }); - }); - - describe('Preact', () => { - let cleanupJsDom; - let preactChildRenderSpy; - - beforeEach(() => { - cleanupJsDom = jsdom(); - preactChildRenderSpy = sandbox.spy(PreactChild.prototype, 'render'); - }); - - afterEach(() => { - PreactTestRenderer.cleanup(); - if (cleanupJsDom) cleanupJsDom(); - }); - - describe('element (with circular references)', () => { - it('compares without warning or errors', () => { - const { rerender } = PreactTestRenderer.render( - Preact.createElement(PreactContainer) - ); - rerender(Preact.createElement(PreactContainer)); - assert.strictEqual(warnStub.callCount, 0); - }); - it('elements of same type and props are equal', () => { - const { rerender } = PreactTestRenderer.render( - Preact.createElement(PreactContainer) - ); - rerender(Preact.createElement(PreactContainer)); - assert.strictEqual(preactChildRenderSpy.callCount, 1); - }); - it('elements of same type with different props are not equal', () => { - const { rerender } = PreactTestRenderer.render( - Preact.createElement(PreactContainer) - ); - rerender(Preact.createElement(PreactContainer, { title: 'New' })); - assert.strictEqual(preactChildRenderSpy.callCount, 2); - }); - }); - }); - - describe('warnings', () => { - describe('circular reference', () => { - it('warns on circular refs but do not throw', () => { - const circularA = { a: 1 }; - circularA.self = circularA; - const circularB = { a: 1 }; - circularB.self = circularB; - equal(circularA, circularB); - assert.strictEqual(warnStub.callCount, 1); - }); - }); - describe('basics usage', () => { - it('never warns', () => { - tests.generic.forEach((suite) => { - suite.tests.forEach((test) => { - assert.strictEqual( - equal(test.value1, test.value2), - test.equal, - test.description - ); - }); - }); - assert.strictEqual( - warnStub.callCount, - 0, - `console.warn called ${ - warnStub.callCount - } with arguments: ${JSON.stringify(warnStub.args)}` - ); - }); - }); - }); -}); diff --git a/test/node/basics.spec.js b/test/node/basics.spec.js deleted file mode 100644 index f785a6f..0000000 --- a/test/node/basics.spec.js +++ /dev/null @@ -1,30 +0,0 @@ -'use strict'; - -const assert = require('assert'); -const sinon = require('sinon'); - -const equal = require('../..'); -const tests = require('./tests'); - -describe('basics', function () { - let sandbox; - - beforeEach(() => { - sandbox = sinon.createSandbox(); - sandbox.stub(console, 'warn'); - }); - - afterEach(() => { - sandbox.restore(); - }); - - tests.all.forEach(function (suite) { - describe(suite.description, function () { - suite.tests.forEach(function (test) { - (test.skip ? it.skip : it)(test.description, function () { - assert.strictEqual(equal(test.value1, test.value2), test.equal); - }); - }); - }); - }); -}); diff --git a/test/react.spec.mjs b/test/react.spec.mjs new file mode 100644 index 0000000..9fe871e --- /dev/null +++ b/test/react.spec.mjs @@ -0,0 +1,93 @@ +// @vitest-environment jsdom +// (Node project only; the browser project has a real DOM.) +import { flushSync } from 'react-dom'; +import { createRoot } from 'react-dom/client'; +import * as Preact from 'preact/compat'; +import React from 'react'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; + +import equal from '../index.js'; + +/* eslint-disable react/no-children-prop */ + +// A child that re-renders only when `equal` says its props changed. Its +// children are elements created in the container's render, so in development +// builds their `_owner` points back into the renderer: circular references +// that `equal` has to skip. +function createComponents(lib) { + class Child extends lib.Component { + shouldComponentUpdate(nextProps) { + return !equal(this.props, nextProps); + } + render() { + return null; + } + } + + class Container extends lib.Component { + render() { + return lib.createElement(Child, { + children: [ + lib.createElement('h1', null, this.props.title || ''), + lib.createElement('h2', null, this.props.subtitle || ''), + ], + }); + } + } + + return { Child, Container }; +} + +// Synchronous renders, so the assertions see the result without `act()`. +const renderers = { + React: (container) => { + const root = createRoot(container); + return { + render: (element) => flushSync(() => root.render(element)), + unmount: () => root.unmount(), + }; + }, + Preact: (container) => ({ + render: (element) => Preact.render(element, container), + unmount: () => Preact.render(null, container), + }), +}; + +describe.each([ + ['React', React], + ['Preact', Preact], +])('%s element (with circular references)', (name, lib) => { + const { Child, Container } = createComponents(lib); + let renderer; + let childRender; + let warn; + let error; + + beforeEach(() => { + warn = vi.spyOn(console, 'warn'); + error = vi.spyOn(console, 'error'); + childRender = vi.spyOn(Child.prototype, 'render'); + renderer = renderers[name](document.createElement('div')); + renderer.render(lib.createElement(Container)); + }); + + afterEach(() => { + renderer.unmount(); + }); + + it('compares without warning or errors', () => { + renderer.render(lib.createElement(Container)); + expect(warn).not.toHaveBeenCalled(); + expect(error).not.toHaveBeenCalled(); + }); + + it('elements of same type and props are equal', () => { + renderer.render(lib.createElement(Container)); + expect(childRender).toHaveBeenCalledTimes(1); + }); + + it('elements of same type with different props are not equal', () => { + renderer.render(lib.createElement(Container, { title: 'New' })); + expect(childRender).toHaveBeenCalledTimes(2); + }); +}); diff --git a/vitest.config.mts b/vitest.config.mts new file mode 100644 index 0000000..5ab4128 --- /dev/null +++ b/vitest.config.mts @@ -0,0 +1,72 @@ +import path from 'node:path'; + +import { playwright } from '@vitest/browser-playwright'; +import { defineConfig, type Plugin } from 'vitest/config'; + +// The same specs (`test/*.spec.mjs`) run in two projects: +// - `node`: Node, with jsdom for the specs that need a DOM (they say so in a +// `@vitest-environment` comment). +// - `browser`: Vitest browser mode in headless Chromium, Firefox and WebKit. +// Install the browsers once with +// `pnpm exec playwright install --only-shell chromium firefox webkit`. + +// CommonJS files the specs import: `index.js` (published as is) and +// fast-deep-equal's vendored fixtures. Node loads them natively, but browser +// mode serves files as ES modules. They only assign `module.exports`, so the +// browser project wraps them, on the first line to keep line numbers. +const COMMONJS = new Set( + [ + 'index.js', + 'test/fixtures/fast-deep-equal/tests.js', + 'test/fixtures/fast-deep-equal/es6tests.js', + ].map((file) => path.resolve(import.meta.dirname, file)) +); + +const commonjs = (): Plugin => ({ + name: 'commonjs', + transform(code, id) { + if (!COMMONJS.has(path.resolve(id))) return; + return { + code: `var module = { exports: {} };${code}\nexport default module.exports;\n`, + map: null, + }; + }, +}); + +export default defineConfig({ + test: { + include: ['test/*.spec.mjs'], + restoreMocks: true, + projects: [ + { + extends: true, + test: { name: 'node' }, + }, + { + extends: true, + plugins: [commonjs()], + test: { + name: 'browser', + browser: { + enabled: true, + headless: true, + provider: playwright(), + instances: [ + { browser: 'chromium' }, + { browser: 'firefox' }, + { browser: 'webkit' }, + ], + screenshotFailures: false, + }, + }, + }, + ], + // `pnpm test --project node --coverage` (CI's Coverage step). v8 coverage + // only works in Node and Chromium, so the browser project doesn't run it. + coverage: { + provider: 'v8', + include: ['index.js'], + reporter: ['text', ['text-summary', { file: 'summary.txt' }]], + }, + }, +}); From bfbf6f62336c4205171d55c7becaa45e3c6e83ad Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Sun, 8 Nov 2026 09:40:50 -0800 Subject: [PATCH 14/19] [uplift] chore: zizmor + pinact for GitHub Actions (#152) Part of #140 (Phase 3, CI). Same configs as victory. - **zizmor** in a new `lint-gha` job (`zizmorcore/zizmor-action` v0.8.0, zizmor 1.31.1, online audits), and locally as `pnpm lint:gha` (part of `pnpm check`; skips if zizmor isn't installed). - **Hybrid pinning**, enforced by zizmor's `unpinned-uses`: `actions/*` and `github/*` on version tags, everything else on a commit SHA with a version comment. The existing workflows already followed this. - **pinact** (`.github/pinact.yml`) for updating SHAs locally, skipping releases under 7 days old. It doesn't run in CI: zizmor's online audits (`impostor-commit`, `ref-version-mismatch`) already check each SHA and its comment. - The older-renderers job's `pnpm add` (outside the lockfile on purpose) is ignored inline for `adhoc-packages`, with the reason. - CONTRIBUTING: new "GitHub Actions" section (pinning rule, running zizmor, update routine). No published change, no changeset. --- .github/pinact.yml | 11 +++++++++++ .github/workflows/ci.yml | 27 +++++++++++++++++++++++++-- .github/zizmor.yml | 12 ++++++++++++ CONTRIBUTING.md | 27 +++++++++++++++++++++++++++ package.json | 3 ++- scripts/lint-gha.mjs | 15 +++++++++++++++ 6 files changed, 92 insertions(+), 3 deletions(-) create mode 100644 .github/pinact.yml create mode 100644 .github/zizmor.yml create mode 100644 scripts/lint-gha.mjs diff --git a/.github/pinact.yml b/.github/pinact.yml new file mode 100644 index 0000000..d128fe0 --- /dev/null +++ b/.github/pinact.yml @@ -0,0 +1,11 @@ +# pinact (https://github.com/suzuki-shunsuke/pinact) pins third-party actions to +# a commit SHA and updates them: `pinact run --update`. See CONTRIBUTING.md. +version: 3 +# Skip versions published in the last week, like `pnpm dep:check`. +min_age: + value: 7 +rules: + # GitHub's own actions stay on version tags (see .github/zizmor.yml). + - ignore: true + conditions: + - expr: ActionRepoOwner in ["actions", "github"] diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 09c12c0..dd501ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,6 +12,27 @@ on: permissions: {} jobs: + # Security audit of the workflows (.github/zizmor.yml), including that + # third-party actions are pinned to a commit SHA. Same config as + # `pnpm lint:gha`. + lint-gha: + name: Lint GitHub Actions + runs-on: ubuntu-latest + permissions: + contents: read # to check out repo (actions/checkout) + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: zizmorcore/zizmor-action@53290badfa369cb0bf7ad16342cb62c2fa47ac7b # v0.8.0 + with: + version: 1.31.1 + # The default, set explicitly: online audits include impostor-commit, + # which checks that each SHA pin is a commit in the action's own repo. + online-audits: true + advanced-security: false + annotations: true + test: name: Test on ${{ matrix.os }} runs-on: ${{ matrix.os }} @@ -96,9 +117,11 @@ jobs: cache: 'pnpm' - name: Install dependencies run: pnpm install --frozen-lockfile - # Changes the working tree only; nothing is committed. + # Changes the working tree only; nothing is committed. Outside the + # lockfile on purpose, but still under `minimumReleaseAge`, and the job + # has no secrets and read-only permissions. - name: Install React 18.0.0 and Preact 10 - run: | + run: | # zizmor: ignore[adhoc-packages] pnpm add --save-dev react@18.0.0 react-dom@18.0.0 preact@^10 node -e 'for (const [p, v] of [["react", "18.0.0"], ["react-dom", "18.0.0"], ["preact", "10."]]) { const got = require(`${p}/package.json`).version; console.log(`${p} ${got}`); if (!got.startsWith(v)) throw new Error(`${p} is ${got}, expected ${v}`); }' - name: Test diff --git a/.github/zizmor.yml b/.github/zizmor.yml new file mode 100644 index 0000000..5eca042 --- /dev/null +++ b/.github/zizmor.yml @@ -0,0 +1,12 @@ +# zizmor (https://docs.zizmor.sh) audits GitHub Actions workflows: `pnpm lint:gha` +# locally, and the lint job in ci.yml. +rules: + unpinned-uses: + config: + # GitHub's own actions use version tags. Third-party actions are pinned + # to a commit SHA, with the version in a trailing comment. Refresh them + # with pinact (see CONTRIBUTING.md). + policies: + actions/*: ref-pin + github/*: ref-pin + '*': hash-pin diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index a2b8343..c9857e4 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -119,6 +119,33 @@ $ pnpm run lint:fix `index.js` stays ES5 in 3.x, so don't apply ES2015+ fixes (`let`/`const`, arrow functions) to it. +### GitHub Actions + +Workflows reference GitHub's own actions (`actions/*`, `github/*`) by major +version tag, such as `actions/checkout@v7`. Third-party actions are pinned to a +commit SHA with the version in a comment, such as +`pnpm/action-setup@ # v6.1.0`, because a tag can be moved to different +code. [zizmor](https://docs.zizmor.sh) enforces this (`.github/zizmor.yml`) +along with its other security checks. + +CI runs zizmor in the `lint-gha` job, at the `version` pinned there. +`pnpm lint:gha` (part of `pnpm check`) runs it locally if it's installed, and +skips otherwise. Newer zizmor releases add audits, so a different version +locally can report findings that CI doesn't. To match CI, install that version, +e.g. `uv tool install zizmor==1.31.1` (or `brew install zizmor` for the +latest). Set `GH_TOKEN` to include zizmor's online audits. + +To update actions: + +- Third-party actions: run `pinact run --update` + ([pinact](https://github.com/suzuki-shunsuke/pinact), `brew install pinact`). + It updates SHAs and their version comments, skipping versions published in + the last week (`.github/pinact.yml`). Review each action's release notes. +- GitHub's actions: check each one's releases page for a new major and read its + breaking changes. +- zizmor itself: bump `version` on the zizmor step in + `.github/workflows/ci.yml`. + ### Published package `pnpm pack:check` (part of `pnpm check`) packs the package and checks what it publishes: diff --git a/package.json b/package.json index 4bc0845..19412df 100644 --- a/package.json +++ b/package.json @@ -5,12 +5,13 @@ "main": "index.js", "typings": "index.d.ts", "scripts": { - "check": "pnpm format && pnpm lint && pnpm types:check && pnpm test && pnpm pack:check", + "check": "pnpm format && pnpm lint && pnpm lint:gha && pnpm types:check && pnpm test && pnpm pack:check", "benchmark": "node benchmark", "format": "oxfmt --check", "format:fix": "oxfmt", "lint": "oxlint --report-unused-disable-directives-severity=error", "lint:fix": "oxlint --report-unused-disable-directives-severity=error --fix", + "lint:gha": "node scripts/lint-gha.mjs", "types:check": "node scripts/types-check.mjs", "test": "vitest run", "changeset": "changeset", diff --git a/scripts/lint-gha.mjs b/scripts/lint-gha.mjs new file mode 100644 index 0000000..61e901f --- /dev/null +++ b/scripts/lint-gha.mjs @@ -0,0 +1,15 @@ +// Runs zizmor (https://docs.zizmor.sh) on .github/ with .github/zizmor.yml. +// zizmor isn't a Node tool, so this skips with a hint if it isn't installed; +// CI runs it in the lint-gha job (ci.yml). +import { spawnSync } from 'node:child_process'; + +const result = spawnSync('zizmor', ['.'], { stdio: 'inherit' }); + +if (result.error?.code === 'ENOENT') { + process.stdout.write( + "zizmor is not installed, skipping (CI runs it). To match CI's version, see CONTRIBUTING.md.\n" + ); + process.exit(0); +} +if (result.error) throw result.error; +process.exit(result.status ?? 1); From 2dd436e797774d6c7fbb534f24e44ca095dfdc21 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Mon, 9 Nov 2026 15:15:18 -0800 Subject: [PATCH 15/19] [uplift] chore: Vitest benchmarks vs. last release and fast-deep-equal (#153) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase 4 of #140: self-regression benchmarks. - `pnpm bench` (Vitest 5 benchmarking, Node) compares this tree, the last release (`react-fast-compare-published@npm:react-fast-compare@3.2.2`) and `fast-deep-equal@3.1.3` for each fixture group (`generic`, `es6`, `react`, `custom`). - A candidate that throws on a group is left out of it and named in the test title (today: fast-deep-equal on `custom`, the `Object.create(null)` cases). - New report-only `bench` CI job: a small custom reporter writes per-group tables, with % vs. `published`, to the job summary. No threshold; the job fails only if the benchmark breaks. - Removed: `benchmark/index.js`, the `benchmark`/`lodash`/`nano-equal`/`shallow-equal-fuzzy` devDeps, `assets/benchmarking.png`, the README chart and the Google Sheet step. - Docs: README section; CONTRIBUTING Benchmarks section (bumping `published` after a release, and treating differences under ~3–5% as noise); PR template item. Locally (Node 26), this tree matches 3.2.2 within noise. fast-deep-equal is ~25% faster on `es6`, mostly because of our ES5 Map/Set loops; that waits for 4.0. No published change: `pack:check` passes. --- .github/pull_request_template.md | 2 +- .github/workflows/ci.yml | 22 ++++++ CONTRIBUTING.md | 50 ++++++++++++-- README.md | 54 +++------------ assets/benchmarking.png | Bin 59704 -> 0 bytes bench/compare.bench.mjs | 60 ++++++++++++++++ bench/summary-reporter.mjs | 60 ++++++++++++++++ benchmark/index.js | 115 ------------------------------- package.json | 9 +-- pnpm-lock.yaml | 49 +++---------- vitest.config.mts | 6 ++ 11 files changed, 214 insertions(+), 213 deletions(-) delete mode 100644 assets/benchmarking.png create mode 100644 bench/compare.bench.mjs create mode 100644 bench/summary-reporter.mjs delete mode 100644 benchmark/index.js diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index d23e9a0..e69e211 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -13,5 +13,5 @@ Please include a summary of the change and which issue is fixed. Please also inc - [ ] All tests are passing - [ ] Type definitions, if updated, pass `types:check` and `pack:check` -- [ ] Benchmark performance has not significantly decreased +- [ ] Benchmark performance (`pnpm bench`, CI job summary) has not significantly decreased - [ ] Bundle size (`pnpm size`, CI job summary) has not been significantly impacted diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd501ab..4993130 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -126,3 +126,25 @@ jobs: node -e 'for (const [p, v] of [["react", "18.0.0"], ["react-dom", "18.0.0"], ["preact", "10."]]) { const got = require(`${p}/package.json`).version; console.log(`${p} ${got}`); if (!got.startsWith(v)) throw new Error(`${p} is ${got}, expected ${v}`); }' - name: Test run: pnpm test --project node + + # Report only: `pnpm bench` adds the benchmark tables to the job summary. + # Shared runners are too noisy to gate on the numbers; the job fails only + # if the benchmark itself breaks. + bench: + name: Benchmarks + runs-on: ubuntu-latest + permissions: + contents: read # to check out repo (actions/checkout) + steps: + - uses: actions/checkout@v7 + with: + persist-credentials: false + - uses: pnpm/action-setup@ea17c68df8912ef543352723c149a84f56e3d413 # v6.1.0 + - uses: actions/setup-node@v7 + with: + node-version-file: '.nvmrc' + cache: 'pnpm' + - name: Install dependencies + run: pnpm install --frozen-lockfile + - name: Benchmarks + run: pnpm bench diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c9857e4..dc1b635 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -13,8 +13,8 @@ We encourage pull requests concerning: - Integrating updates from `fast-deep-equal` - This, unfortunately, now requires more manual work. Use the comment blocks in `index.js` to figure out what to paste and where. - Integrating tests from `fast-deep-equal` - Copy its `spec/` test files into `test/fixtures/fast-deep-equal/` - and update the version in that directory's README. The `fast-deep-equal` npm package in `devDependencies` is the - benchmark baseline. + and update the version in that directory's README. The `fast-deep-equal` npm package in `devDependencies` is one of + the [benchmark](#benchmarks) baselines. - Bugs in this library - New tests for React - Documentation @@ -55,7 +55,7 @@ included. For an urgent security fix that's newer than that, add the package to ```sh # Format, lint, types, all tests, then the packed package $ pnpm run check -$ pnpm run benchmark +$ pnpm run bench ``` ### Testing @@ -171,6 +171,45 @@ CI runs it against the base commit and adds the table to the job summary. It's a report, not a check: if the min+gz size grows significantly, flag it to your reviewers so you can discuss whether the addition is worth it. +### Benchmarks + +`pnpm bench` runs `bench/compare.bench.mjs` with Vitest's +[benchmarking](https://vitest.dev/guide/benchmarking) in Node. For each group +of test fixtures (`generic`, `es6`, `react`, `custom`), it compares: + +- `this tree`: `index.js` in your working tree, +- `published`: the last release (`react-fast-compare-published`, an aliased + devDependency), and +- `fast-deep-equal`: the upstream version we forked from. + +A candidate that throws on a group's cases (`fast-deep-equal` on +`Object.create(null)` objects) is left out of that group, and the test title +says so. + +```sh +$ pnpm bench +# One fixture group +$ pnpm bench -t react +# In a browser instead of Node (coarser timers) +$ pnpm exec vitest bench --run --project 'browser (chromium) (bench)' +``` + +CI runs it in its own job and adds the tables, with each candidate's +difference from `published`, to the job summary. It's a report, not a check: +shared runners are too noisy to gate on. If your change touches the comparison +code, run it locally before and after, and mention any difference beyond a few +percent in your PR. + +Differences under about 3–5% in a single run are noise. As a calibration: +`this tree` and `published` run the same code until a source change lands, yet +they differ by up to ~2% from run to run, more than the ±RME column suggests +(it only measures variation within a run). Re-run before reading anything into +a small gap. + +After a release, bump `react-fast-compare-published` to it +(`pnpm add -D react-fast-compare-published@npm:react-fast-compare@`) +once it's a week old (`minimumReleaseAge`). + ## Before submitting a PR... ... please make sure that you have done the following: @@ -179,13 +218,12 @@ reviewers so you can discuss whether the addition is worth it. ```sh $ pnpm run check - $ pnpm run benchmark + $ pnpm run bench ``` -2. Confirm we don't have any significant performance regressions (check out `master` for a baseline comparison on _your_ machine). +2. Confirm we don't have any significant performance regressions (see [benchmarks](#benchmarks)). 3. Confirm you aren't significantly impacting our bundle size (see [size](#size)). - - _Org members:_ Update the README's benchmark comparison png using this [internal Google Sheet template](https://docs.google.com/spreadsheets/d/1GuqpO0wgPjQ9usx6sR3t0Y_HTmAdRqjXkSjs3SBsmTc/edit?usp=sharing_eip&ts=5ed1642f). ## Releasing diff --git a/README.md b/README.md index 0cb4dc5..2855674 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,6 @@ This is a fork of the brilliant [fast-deep-equal](https://github.com/epoberezkin/fast-deep-equal) with some extra handling for React. -![benchmark chart](https://raw.githubusercontent.com/FormidableLabs/react-fast-compare/master/assets/benchmarking.png 'benchmarking chart') - -(Check out the [benchmarking details](#benchmarking-this-library).) - ## Install ```sh @@ -74,51 +70,21 @@ be for you! ## Benchmarking this Library -The absolute values are much less important than the relative differences -between packages. - -Benchmarking source can be found -[here](https://github.com/FormidableLabs/react-fast-compare/blob/master/benchmark/index.js). -Each "operation" consists of running all relevant tests. The React benchmark -uses both the generic tests and the react tests; these runs will be slower -simply because there are more tests in each operation. - -The results below are from a local test on a laptop _(stats last updated 6/2/2020)_: - -### Generic Data - -``` -react-fast-compare x 177,600 ops/sec ±1.73% (92 runs sampled) -fast-deep-equal x 184,211 ops/sec ±0.65% (87 runs sampled) -lodash.isEqual x 39,826 ops/sec ±1.32% (86 runs sampled) -nano-equal x 176,023 ops/sec ±0.89% (92 runs sampled) -shallow-equal-fuzzy x 146,355 ops/sec ±0.64% (89 runs sampled) - fastest: fast-deep-equal -``` - -`react-fast-compare` and `fast-deep-equal` should be the same speed for these -tests; any difference is just noise. `react-fast-compare` won't be faster than -`fast-deep-equal`, because it's based on it. - -### React and Generic Data - -``` -react-fast-compare x 86,392 ops/sec ±0.70% (93 runs sampled) -fast-deep-equal x 85,567 ops/sec ±0.95% (92 runs sampled) -lodash.isEqual x 7,369 ops/sec ±1.78% (84 runs sampled) - fastest: react-fast-compare,fast-deep-equal -``` - -Two of these packages cannot handle comparing React elements, because they -contain circular reference: `nano-equal` and `shallow-equal-fuzzy`. - -### Running Benchmarks +`react-fast-compare` is based on `fast-deep-equal`, and aims to be as fast on +generic data while also handling React elements. The benchmark +([`bench/`](./bench/compare.bench.mjs), Vitest's +[benchmarking](https://vitest.dev/guide/benchmarking)) compares this code with +the last published version and with `fast-deep-equal`, over the same test cases +the tests use: ```sh $ pnpm install -$ pnpm run benchmark +$ pnpm bench ``` +Absolute numbers depend on the machine; compare rows from the same run. CI adds +the results to the job summary of each run. + ## Differences between this library and `fast-deep-equal` `react-fast-compare` is based on `fast-deep-equal`, with some additions: diff --git a/assets/benchmarking.png b/assets/benchmarking.png deleted file mode 100644 index 95373b4218498dea7bb039ace4ac2e77bab823aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59704 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 n>PVN!u!~{5Xc4Z2`A0Zdc=~+?3Qznu+dF zs$znLb<7v)`jN>6wpO->hnZeGG)9USFD>mlzAkLxQOw*(d&qmHXRIY|H79CODJYtz zm&f9gZDoFS9Oo`s#-cd825X`f<%;wlZqX19t{V`o-g>kxi+sVTPefP3mAy7Mb3A+W z(HaYtiGlxz=yK7lfQM+^CfTv}u_) zHfPsxKU{A5RD-dc^IKVE3sNJW zAMMt>A;nfXagDtEGVQ&lcd(Ms2Qo_iN{j`@@Z+T;0rN@H6+va5SNg>}D2vQFE|sic zwAYO+o=3y)@=LpS3qv4vUKH^X7g6)2d z5g8D>tY@bl)ycY&ly4U1mZj|cD$64XZ5N0cO|ySnZudfMxapF#=5FbRvV7&9mh-Gq zLzjex@HLnls~!HmSqF>8<%gR-%6L~1r(mbAcf7!=3aW+7i?n=DHc-Z>@J^A>2qf<; zYDf&t5__2%W0O>G>-t*FLUou^p7nWkq-3OFqF}ojxh^{8o|T^Evd!4KN}6C=^&LI8 z&#zS%_NSuL)-=OqFmN9x>nWNR)jlL!kvM5kbcNPAgVW@@$ZN$MRsskxzOS*CsQUOb z1+{p7ZBh{0zQ&U$N6&U~+8^9PdzErLoI*`Sq}iRK-XwWT$l0BwU{|5c;|Ak9$$C}k zr82uVaz%-oaxq|wPyi|Siwl7*;kco2SMP6aHcCaudAPeg&v_RFuVy=iB&gw>5=_-? z5~63_z`EM)S!7=MwGW@*f<=+J_Qi{`k5Y7fFqGGHoEEdE;lNV7!N9mthhYnoW#;X$ zpn2bm_L$tU1_k!Zb5(_k+DR`{w9Bqg$l;Xd&fMXUrYQF}Q)8r*?|ieWmL|{sf~MmW zkC3*JiZE0qZOAofGflvpEW7n`As*%Og1fb#HyVeZ`95=WsUlD`97PY3eAXo)mAW|H z6wMbhHqUvpmg-)r(t4MzmDx<;xW%XtZb4{o&#o(__)llY^k7%8}kcMUogXn!m znAOY36@A}`g>a3aoo}1aawIQCTAYsR0mL6hWM$ZT~?w*)v+n=C;5+aRIy5I5h+jMPW&~YwFJjt%~4fM(C zNYQe@*M}^4@q}YAKHSD@>&$v>Bv~ghws$;%qN6%>`AGI9)D5exI51v_$R|ln_w}`H z?f;+P(Zk)zM= + cases.some(({ value1, value2 }) => { + try { + fn(value1, value2); + return false; + } catch { + return true; + } + }); + +for (const [group, suites] of Object.entries(GROUPS)) { + const cases = suites.flatMap((suite) => suite.tests); + const candidates = Object.entries(CANDIDATES); + const skipped = candidates.filter(([, fn]) => throws(fn, cases)); + const title = skipped.length + ? `${group} (${skipped.map(([name]) => name).join(', ')} skipped: throws)` + : group; + + test(title, async ({ bench }) => { + await bench.compare( + ...candidates + .filter((candidate) => !skipped.includes(candidate)) + .map(([name, fn]) => + bench(name, () => { + for (const { value1, value2 } of cases) fn(value1, value2); + }) + ) + ); + }); +} diff --git a/bench/summary-reporter.mjs b/bench/summary-reporter.mjs new file mode 100644 index 0000000..41acfe6 --- /dev/null +++ b/bench/summary-reporter.mjs @@ -0,0 +1,60 @@ +// Vitest reporter for `pnpm bench`: in GitHub Actions, appends the benchmark +// results to the job summary as Markdown tables. Elsewhere it does nothing; +// the default reporter already prints the tables. +import fs from 'node:fs'; +import { createRequire } from 'node:module'; + +const BASELINE = 'published'; +const { version } = createRequire(import.meta.url)( + 'react-fast-compare-published/package.json' +); + +const format = (n, digits = 0) => + n.toLocaleString('en-US', { + minimumFractionDigits: digits, + maximumFractionDigits: digits, + }); + +const versus = (task, baseline) => { + if (!baseline || task === baseline) return ''; + const diff = (task.throughput.mean / baseline.throughput.mean - 1) * 100; + return `${diff >= 0 ? '+' : ''}${diff.toFixed(1)}%`; +}; + +const table = (title, { tasks }) => { + const baseline = tasks.find((task) => task.name === BASELINE); + return [ + `#### ${title}`, + '', + `| | ops/s | Mean (µs) | ±RME | Samples | vs. ${BASELINE} |`, + '|---|--:|--:|--:|--:|--:|', + ...tasks.map( + (task) => + `| ${task.name} | ${format(task.throughput.mean)} | ${format(task.latency.mean * 1000, 3)} | ${task.latency.rme.toFixed(2)}% | ${format(task.latency.samplesCount)} | ${versus(task, baseline)} |` + ), + '', + ]; +}; + +export default class SummaryReporter { + sections = []; + + onTestCaseResult(testCase) { + const benchmarks = testCase.benchmarks().filter((b) => b.tasks.length); + for (const benchmark of benchmarks) + this.sections.push(table(testCase.name, benchmark)); + } + + onTestRunEnd() { + const file = process.env.GITHUB_STEP_SUMMARY; + if (!file || !this.sections.length) return; + const report = [ + '### Benchmarks', + '', + `\`${BASELINE}\` is react-fast-compare@${version}. Node ${process.version}; operations per second, higher is better. A report, not a check: CI runners are noisy, so compare locally before drawing conclusions.`, + '', + ...this.sections.flat(), + ].join('\n'); + fs.appendFileSync(file, report + '\n'); + } +} diff --git a/benchmark/index.js b/benchmark/index.js deleted file mode 100644 index d5a411d..0000000 --- a/benchmark/index.js +++ /dev/null @@ -1,115 +0,0 @@ -'use strict'; - -const tests = require('../test/fixtures/index.mjs'); -const Benchmark = require('benchmark'); - -const correctnessTests = []; -const genericSuite = new Benchmark.Suite(); -const advancedSuite = new Benchmark.Suite(); - -const equalPackages = { - 'react-fast-compare': require('../index'), - 'fast-deep-equal': require('fast-deep-equal/es6/react'), - 'lodash.isEqual': require('lodash').isEqual, - 'nano-equal': require('nano-equal'), - 'shallow-equal-fuzzy': require('shallow-equal-fuzzy'), -}; - -const advancedPkgs = new Set([ - 'react-fast-compare', - 'fast-deep-equal', - 'lodash.isEqual', -]); - -for (const equalName in equalPackages) { - const equalFunc = equalPackages[equalName]; - - genericSuite.add(equalName, function () { - for (const testSuite of tests.generic) { - for (const test of testSuite.tests) { - try { - equalFunc(test.value1, test.value2); - } catch { - // swallow errors during benchmarking. they are reported in the test section - } - } - } - }); - - if (advancedPkgs.has(equalName)) { - advancedSuite.add(equalName, function () { - for (const testSuite of tests.all) { - for (const test of testSuite.tests) { - try { - equalFunc(test.value1, test.value2); - } catch { - // swallow errors during benchmarking. they are reported in the test section - } - } - } - }); - - correctnessTests.push(() => console.log(equalName)); - for (const testSuite of tests.all) { - for (const test of testSuite.tests) { - correctnessTests.push(() => { - try { - if (equalFunc(test.value1, test.value2) !== test.equal) { - console.error( - '- different result:', - equalName, - testSuite.description, - test.description - ); - } - } catch (error) { - console.error( - '- error:', - testSuite.description, - test.description, - error.message - ); - } - }); - } - } - } -} - -const chartData = {}; - -console.log('\n--- speed tests: generic usage ---\n'); - -genericSuite - .on('cycle', (event) => console.log(String(event.target))) - .on('complete', function () { - console.log(' fastest: ' + this.filter('fastest').map('name')); - chartData.categories = this.map((test) => test.name); - chartData.genericTestData = this.map((test) => ({ - x: test.name, - y: test.hz, - })); - }) - .run({ async: false }); - -console.log('\n--- speed tests: generic and react ---\n'); - -advancedSuite - .on('cycle', (event) => console.log(String(event.target))) - .on('complete', function () { - console.log(' fastest: ' + this.filter('fastest').map('name')); - chartData.reactAndGenericTestData = this.map((test) => ({ - x: test.name, - y: test.hz, - })); - }) - .run({ async: false }); - -// **Note**: `lodash.isEqual` gets different results for Sets, Maps -// because it **is** correct and `fast-deep-equal` is not. -// See: https://github.com/FormidableLabs/react-fast-compare/issues/50 -console.log('\n--- correctness tests: generic and react ---\n'); - -correctnessTests.forEach((test) => test()); - -console.log(JSON.stringify(chartData, null, 2)); diff --git a/package.json b/package.json index 19412df..bcec8e8 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,6 @@ "typings": "index.d.ts", "scripts": { "check": "pnpm format && pnpm lint && pnpm lint:gha && pnpm types:check && pnpm test && pnpm pack:check", - "benchmark": "node benchmark", "format": "oxfmt --check", "format:fix": "oxfmt", "lint": "oxlint --report-unused-disable-directives-severity=error", @@ -16,7 +15,8 @@ "test": "vitest run", "changeset": "changeset", "pack:check": "node scripts/pack-check.mjs", - "size": "node scripts/size.mjs" + "size": "node scripts/size.mjs", + "bench": "vitest bench --run --project \"node (bench)\" --reporter=default --reporter=./bench/summary-reporter.mjs" }, "repository": { "type": "git", @@ -44,11 +44,8 @@ "@types/react": "^19.3.0", "@vitest/browser-playwright": "^5.0.5", "@vitest/coverage-v8": "^5.0.5", - "benchmark": "^2.1.4", "fast-deep-equal": "3.1.3", "jsdom": "^30.1.3", - "lodash": "^4.17.10", - "nano-equal": "^2.0.2", "oxfmt": "0.75.0", "oxlint": "1.90.0", "playwright": "^1.64.1", @@ -56,7 +53,7 @@ "publint": "0.3.25", "react": "^19.3.1", "react-dom": "^19.3.1", - "shallow-equal-fuzzy": "0.0.2", + "react-fast-compare-published": "npm:react-fast-compare@3.2.2", "terser": "5.51.2", "typescript": "7.0.2", "vitest": "^5.0.5" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c5eb1c..ca02420 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -184,21 +184,12 @@ importers: '@vitest/coverage-v8': specifier: ^5.0.5 version: 5.0.5(@vitest/browser@5.0.5)(vitest@5.0.5) - benchmark: - specifier: ^2.1.4 - version: 2.1.4 fast-deep-equal: specifier: 3.1.3 version: 3.1.3 jsdom: specifier: ^30.1.3 version: 30.1.3 - lodash: - specifier: ^4.17.10 - version: 4.17.21 - nano-equal: - specifier: ^2.0.2 - version: 2.0.2 oxfmt: specifier: 0.75.0 version: 0.75.0 @@ -220,9 +211,9 @@ importers: react-dom: specifier: ^19.3.1 version: 19.3.1(react@19.3.1) - shallow-equal-fuzzy: - specifier: 0.0.2 - version: 0.0.2 + react-fast-compare-published: + specifier: npm:react-fast-compare@3.2.2 + version: react-fast-compare@3.2.2 terser: specifier: 5.51.2 version: 5.51.2 @@ -1026,9 +1017,6 @@ packages: ast-v8-to-istanbul@1.0.7: resolution: {integrity: sha512-kFL68AG6ajd8fg248zwM9GQrUWEp79gsmjum34OEXjs4yHuUMZfYKwOLW9GMmB4oNvVrj+EAGxsP7ye2UR9UlA==} - benchmark@2.1.4: - resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} - bidi-js@1.1.0: resolution: {integrity: sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==} @@ -1292,9 +1280,6 @@ packages: resolution: {integrity: sha512-WkUDrojuJs0xkgGf2udWxa3yGBRxPtxUkB79i6aCZLRgc7PM8fZe9TosfPDcvEpQZbuFASnHYmRLBLUbmLOIIA==} engines: {node: '>= 12.0.0'} - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - lru-cache@11.5.3: resolution: {integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==} engines: {node: 20 || >=22} @@ -1330,9 +1315,6 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nano-equal@2.0.2: - resolution: {integrity: sha512-RtAioZtSSppEWRruYU8oz2AKPJWTW74TpzcqP79n7Kh4nHW+gmrJGcTuELmid9tvGR4Xp2cCoTtYIIDy9iWO4g==} - nanoid@3.3.20: resolution: {integrity: sha512-uKdg2G3GNCKQn9byYOpxbGqrT2fGO5KRt5J/8b3pok8rT6qxGWF6hxMyJiEYtAf+FVyYuD9hRaDqX5uPFYJ4ZQ==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -1404,9 +1386,6 @@ packages: resolution: {integrity: sha512-qcJu88Q2IWqJsDD529JKMdwGm/dvInW4HvQnRwiH9JtihJvzGOscDtHE3x1pBKeUOTysQ8kVmLnJ2kJu7yhcGA==} engines: {node: '>=12'} - platform@1.3.5: - resolution: {integrity: sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==} - playwright-core@1.64.1: resolution: {integrity: sha512-BC4s8y6SEVA6Q1rSxZTto8hI1KUI3xXlHGZgvGqP4IqPdI/a6FX9H29IDNz7vKo9l21b6LfYosScPL6M3xxyDQ==} engines: {node: '>=20'} @@ -1447,6 +1426,9 @@ packages: peerDependencies: react: ^19.3.1 + react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + react@19.3.1: resolution: {integrity: sha512-QNhWdt7nrgVWWQG58QuGsAR3jv3Hbe4mb4vz7w2csnHavciZJgda1CPNaldF6eVxv90ud3jUXpKlHL69gO38yw==} engines: {node: '>=0.10.0'} @@ -1480,10 +1462,6 @@ packages: engines: {node: '>=10'} hasBin: true - shallow-equal-fuzzy@0.0.2: - resolution: {integrity: sha512-HKGvWaQ6fuFhNH2k1krxxmhKYxyPSbPzwCkM94qYVoLKCGCqg0r9bdCoX4A37UJvAfyLje9zHS5F/SsrYgrqgA==} - engines: {node: '>=0.12.0'} - shell-quote@1.12.0: resolution: {integrity: sha512-PcByqNyT/38F2kDNi006HAMRJaULuBzq/FOsw3qdZvX/GA9W/jamDaRskgHjubHiftXK5sIFxLNkvrXUwcof6Q==} engines: {node: '>= 0.4'} @@ -2359,11 +2337,6 @@ snapshots: estree-walker: 3.0.3 js-tokens: 10.0.0 - benchmark@2.1.4: - dependencies: - lodash: 4.17.21 - platform: 1.3.5 - bidi-js@1.1.0: dependencies: require-from-string: 2.0.2 @@ -2584,8 +2557,6 @@ snapshots: lightningcss-win32-arm64-msvc: 1.33.0 lightningcss-win32-x64-msvc: 1.33.0 - lodash@4.17.21: {} - lru-cache@11.5.3: {} magic-string@1.4.5: @@ -2623,8 +2594,6 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 - nano-equal@2.0.2: {} - nanoid@3.3.20: {} node-emoji@2.2.0: @@ -2704,8 +2673,6 @@ snapshots: picomatch@4.0.7: {} - platform@1.3.5: {} - playwright-core@1.64.1: {} playwright@1.64.1: @@ -2736,6 +2703,8 @@ snapshots: react: 19.3.1 scheduler: 0.28.0 + react-fast-compare@3.2.2: {} + react@19.3.1: {} require-directory@2.1.1: {} @@ -2775,8 +2744,6 @@ snapshots: semver@7.8.5: {} - shallow-equal-fuzzy@0.0.2: {} - shell-quote@1.12.0: {} sirv@3.0.2: diff --git a/vitest.config.mts b/vitest.config.mts index 5ab4128..e7a253a 100644 --- a/vitest.config.mts +++ b/vitest.config.mts @@ -61,6 +61,12 @@ export default defineConfig({ }, }, ], + // `pnpm bench`: `bench/*.bench.mjs` run only under `vitest bench`, which + // adds a " (bench)" project for each project above. The script + // picks `node (bench)`. + benchmark: { + include: ['bench/*.bench.mjs'], + }, // `pnpm test --project node --coverage` (CI's Coverage step). v8 coverage // only works in Node and Chromium, so the browser project doesn't run it. coverage: { From b913c820537594cb45b1861b54bad2d79cd430f7 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 12 Nov 2026 09:57:06 -0800 Subject: [PATCH 16/19] [uplift] chore: dep:check + knip audit (#154) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Part of #140 (Phase 2 leftovers). No published change. - **`pnpm dep:check`**: npm-check-updates with a 7-day cooldown (`.ncurc.cjs`), matching pnpm's `minimumReleaseAge`. It reports only and covers the devDependencies plus `packageManager`. Nothing is parked yet. - **CONTRIBUTING → "Updating dependencies"**: a manual routine instead of Renovate or Dependabot version PRs, plus when to pin exact versions (oxc, the tools `pack:check` and `types:check` rely on, and the comparison baselines). - **knip audit**: `pnpm dlx knip` finds no unused devDependencies. `knip.jsonc` lists its four false positives (`.ncurc.cjs`, `test/types/` probes, `attw`, `zizmor`). knip isn't added as a devDependency. - **First run of the routine**: Vitest and its plugins 5.0.5 → 5.1.0, pnpm 12.16.0 → 12.17.0. --- .ncurc.cjs | 6 ++ CONTRIBUTING.md | 36 +++++++ knip.jsonc | 15 +++ package.json | 10 +- pnpm-lock.yaml | 270 +++++++++++++++++++++++++----------------------- 5 files changed, 203 insertions(+), 134 deletions(-) create mode 100644 .ncurc.cjs create mode 100644 knip.jsonc diff --git a/.ncurc.cjs b/.ncurc.cjs new file mode 100644 index 0000000..adc9407 --- /dev/null +++ b/.ncurc.cjs @@ -0,0 +1,6 @@ +// npm-check-updates config for `pnpm dep:check` (see CONTRIBUTING.md). +module.exports = { + // Skip versions published in the last week (matches pnpm's + // `minimumReleaseAge` in `pnpm-workspace.yaml`). + cooldown: 7, +}; diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index dc1b635..1345bc2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -50,6 +50,42 @@ pnpm only installs versions published at least 7 days ago included. For an urgent security fix that's newer than that, add the package to `minimumReleaseAgeExclude` with a comment and a date to remove it. +### Updating dependencies + +We don't use Renovate or Dependabot version-update PRs. Instead, run this +before each release, and when a Dependabot security alert comes in: + +```sh +$ pnpm dep:check +``` + +It runs [npm-check-updates](https://github.com/raineorshine/npm-check-updates) +and lists newer versions of the devDependencies and pnpm (`packageManager`). It +doesn't change any files. Versions published in the last week are left out +(`.ncurc.cjs`). To apply them, run `pnpm exec ncu -u` (or pick packages with +`pnpm exec ncu -u ...`), then `pnpm install` and `pnpm check`. Make the +updates in one PR, and read the release notes of anything that runs in +`pnpm check`. The package has no `dependencies`, so updates don't change what +users install and need no changeset. + +Version ranges: + +- `^` by default. +- Exact versions for tools whose upgrade needs its own PR: oxfmt and oxlint (a + new version can reformat the repo or fail CI), and the tools `pack:check` + and `types:check` rely on to compare with 3.2.2 (TypeScript, terser, publint, + attw). +- Exact versions for the comparison baselines: `fast-deep-equal` (the upstream + version we track) and `react-fast-compare-published` (see + [Benchmarks](#benchmarks)). + +When you add or remove a tool, check that every devDependency is still used +with [knip](https://knip.dev) (`knip.jsonc` lists what it can't see on its own): + +```sh +$ pnpm dlx knip +``` + **TL; DR:** - Everything you normally need to run is aggregated into: ```sh diff --git a/knip.jsonc b/knip.jsonc new file mode 100644 index 0000000..726ec32 --- /dev/null +++ b/knip.jsonc @@ -0,0 +1,15 @@ +// knip config for the dependency audit (`pnpm dlx knip`; see CONTRIBUTING.md). +// knip isn't a devDependency: we run it at the end of each change to tooling. +{ + "$schema": "https://unpkg.com/knip@6/schema.json", + "entry": [ + // npm-check-updates config for `pnpm dep:check`. + ".ncurc.cjs", + // Type probe: `pack:check` compiles these against the packed tarball. + "test/types/*.{cts,mts,ts}", + ], + // `pack:check` runs its `attw` binary through a helper knip can't follow. + "ignoreDependencies": ["@arethetypeswrong/cli"], + // Not a Node tool; `lint:gha` skips it when it isn't installed. + "ignoreBinaries": ["zizmor"], +} diff --git a/package.json b/package.json index bcec8e8..adde800 100644 --- a/package.json +++ b/package.json @@ -14,6 +14,7 @@ "types:check": "node scripts/types-check.mjs", "test": "vitest run", "changeset": "changeset", + "dep:check": "ncu", "pack:check": "node scripts/pack-check.mjs", "size": "node scripts/size.mjs", "bench": "vitest bench --run --project \"node (bench)\" --reporter=default --reporter=./bench/summary-reporter.mjs" @@ -36,16 +37,17 @@ "url": "https://github.com/FormidableLabs/react-fast-compare/issues" }, "homepage": "https://github.com/FormidableLabs/react-fast-compare", - "packageManager": "pnpm@12.16.0", + "packageManager": "pnpm@12.17.0", "devDependencies": { "@arethetypeswrong/cli": "0.18.5", "@changesets/changelog-github": "^1.0.1", "@changesets/cli": "^3.0.3", "@types/react": "^19.3.0", - "@vitest/browser-playwright": "^5.0.5", - "@vitest/coverage-v8": "^5.0.5", + "@vitest/browser-playwright": "^5.1.0", + "@vitest/coverage-v8": "^5.1.0", "fast-deep-equal": "3.1.3", "jsdom": "^30.1.3", + "npm-check-updates": "^23.1.1", "oxfmt": "0.75.0", "oxlint": "1.90.0", "playwright": "^1.64.1", @@ -56,7 +58,7 @@ "react-fast-compare-published": "npm:react-fast-compare@3.2.2", "terser": "5.51.2", "typescript": "7.0.2", - "vitest": "^5.0.5" + "vitest": "^5.1.0" }, "files": [ "index.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca02420..c5d83c1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,153 +7,153 @@ importers: configDependencies: {} packageManagerDependencies: pnpm: - specifier: 12.16.0 - version: 12.16.0 + specifier: 12.17.0 + version: 12.17.0 packages: - '@pnpm/exe.android-arm64@12.16.0': - resolution: {integrity: sha512-Air4kk1RA4C8PGkkIH91eme/ERTV6xEmPfJS+OO1UMMzx7ZDeM44WGfcizGPnQbWiqfJ0l7TSttzYzQ0FvRLIA==} + '@pnpm/exe.android-arm64@12.17.0': + resolution: {integrity: sha512-gwu/F5YyoJp1bIbrIBl7B8JO3rkjkGlKikwQg9s0aVa5xWaBYIqPX+ZJqQ7I4D1YfbdI/Omfze0+6vnYiWHG6A==} cpu: [arm64] os: [android] - '@pnpm/exe.android-x64@12.16.0': - resolution: {integrity: sha512-MHQdX7J3b12gsBbKSV4phbGZaIAYxhIbXRS2E56XgVXpcL9R+HiQ/Aq9PDkJtNVaOaGfrFR9kzGMLF4PXk6jRw==} + '@pnpm/exe.android-x64@12.17.0': + resolution: {integrity: sha512-qUNhCvWyeBrUByNWkqqQ3Koy1gIAQ8UV5HDHXxoo5NUWVTde0Ld2BxweNwWJw8CNKpqEGceCUdjZ506JYpTjJg==} cpu: [x64] os: [android] - '@pnpm/exe.darwin-arm64@12.16.0': - resolution: {integrity: sha512-0kMENoYlVTxiCPWf7fXEF3EtYXUySilIC+UAe5Z7kC8keY8+ul8ddhuHjSU0e85qlKDIJfIxDYACse/Lx8It/Q==} + '@pnpm/exe.darwin-arm64@12.17.0': + resolution: {integrity: sha512-0nkEqRLIbrm7dWl+p2EPpmyNKyM0bbdPEovdtMhHYbhkO+Vls38S+6emkx8kSTAr75BNXYXkCl4RtGinGG4Erg==} cpu: [arm64] os: [darwin] - '@pnpm/exe.darwin-x64@12.16.0': - resolution: {integrity: sha512-jsS6Q5gTjRD4TOyyFazO/3ctRHfigGtLatfV2ZxCGd0/ZD/m/9RIT8P38oyo+r3ARHhgL7YPT8dXmj5UGd9iSA==} + '@pnpm/exe.darwin-x64@12.17.0': + resolution: {integrity: sha512-w89cboNi4KCzmt/dSKrE4ijVNKICKiZsE9TcIWf77Tz+VpoDfuhPSmWPZK+iCHBvlI/9dIN+M3HiPPVsFnAx4Q==} cpu: [x64] os: [darwin] - '@pnpm/exe.freebsd-x64@12.16.0': - resolution: {integrity: sha512-Rs8pV7jAhRnAzKdJWU20ECeRB4KUdV5xChUvmXyaHq+60+UfUhYVJjL0btApxX/AIBscrK/+tjP3w6RTb9RDCA==} + '@pnpm/exe.freebsd-x64@12.17.0': + resolution: {integrity: sha512-DJ0FOaUDXc71icSgiuBFEvqReqoSiS/rmnC6kltoiC3MzPyw3awcGbT/7FnnYzi/ziuoTC7v6vfBh0Vzv7VKOQ==} cpu: [x64] os: [freebsd] - '@pnpm/exe.linux-arm64-musl@12.16.0': - resolution: {integrity: sha512-1p8s61byKqiaDi+TatmMoxFVFPXpLwrHBI4CZBJlH2A58hi3EfqfDgWB5w2IutciGrBQ5DxVFE8VsbITnpqfUQ==} + '@pnpm/exe.linux-arm64-musl@12.17.0': + resolution: {integrity: sha512-w5ZwZ4j8S804DGhMYlLLpc+G3Kkc+5GlDO++LLvO/nDIXBTHRhdxPfQBQU08q31k0JYfp3wXCQk0Y7DnsuVF6w==} cpu: [arm64] os: [linux] libc: [musl] - '@pnpm/exe.linux-arm64@12.16.0': - resolution: {integrity: sha512-6vwpzcLhopnnz/x537ET62PBFh8QxWsE9miRT8lhHXYuq0WVXxT6L6W0BcjZNVEQyp1WggdHq4qt8LXrdk2RFQ==} + '@pnpm/exe.linux-arm64@12.17.0': + resolution: {integrity: sha512-Cj2nIzWTVm6ZuhQHqL9SiJ11scBnEGxJyNg7tYQPzh9fVF5UVRkv+LbyfwdftnAtJerK/7HDpK/55WeQqp8OkA==} cpu: [arm64] os: [linux] libc: [glibc] - '@pnpm/exe.linux-ppc64@12.16.0': - resolution: {integrity: sha512-58n7z+x7M/gWK+lhoRrABp0X2dYvUGhdjKb1S0UCm1I7v1KwltEvAIlWgYSyq9/jOqTp/uCtZE9dU1sP/fqs3Q==} + '@pnpm/exe.linux-ppc64@12.17.0': + resolution: {integrity: sha512-Gb//Wm15fXl+qWcxjNQmwlYDjGiJOnLU/A9uRZYmtkyZie2Yx8AHI6XkUIJioQz99TwVDKQ87ywD5Jtk8zcgyg==} cpu: [ppc64] os: [linux] libc: [glibc] - '@pnpm/exe.linux-riscv64@12.16.0': - resolution: {integrity: sha512-N81hKRql41PisaxO0EJcmBVvGjQ+aY8vgprPhB6DFaCzohuT0EAfsc5icM/NZkdFLLaglYja8zAk3E59ToNUaA==} + '@pnpm/exe.linux-riscv64@12.17.0': + resolution: {integrity: sha512-+kItEcFjdVZEDzODsc7icb8cB+3AouCrEzOCezzxLITRhw86m9t3J/qyPdcFELBjeMnS+IXV8sJaSCQcpSqfgA==} cpu: [riscv64] os: [linux] libc: [glibc] - '@pnpm/exe.linux-s390x@12.16.0': - resolution: {integrity: sha512-8UfyGGA9o8IqdoPtCg9c/t7Ht/ArO+T318Yomlp36WvImnBj3etnO0GKh0CPOp7fG+AvNcspxCXIr5vNjYo84w==} + '@pnpm/exe.linux-s390x@12.17.0': + resolution: {integrity: sha512-jf5ghD2uDeknWQgK/EsCFNwlyL7BYLWfXe687g5UMVFclPLt524CREZ8Yl5hf4u7p3evCIPBN/m5I1QXUmJpHw==} cpu: [s390x] os: [linux] libc: [glibc] - '@pnpm/exe.linux-x64-musl@12.16.0': - resolution: {integrity: sha512-BCp9UPPqS9wyZmfB1CeX8ODpUaY3icHPNQvnlutDUymexM0frPxgd1Qf1iWfC+IhvszevGnVlkUqEITSMowHNw==} + '@pnpm/exe.linux-x64-musl@12.17.0': + resolution: {integrity: sha512-JGxrGSxkDkqRAUD49T9dOnKyJkQ3bWBeHnYH4o4mvj09R9eUzhWFi8oa6WPNyCO0/7/Max2gsSfgXOHj3QW7ug==} cpu: [x64] os: [linux] libc: [musl] - '@pnpm/exe.linux-x64@12.16.0': - resolution: {integrity: sha512-NSZrQRBatoGG4C14DBYyQHnUGQA1fejrwoiKRnqyzFFXPFbydK8avYcLu3evb9Nry8iGIQujRnwysdCNmSFBlg==} + '@pnpm/exe.linux-x64@12.17.0': + resolution: {integrity: sha512-vQAusDzMofc/Ee4KOUYjE6FWeHOlMGQyvhR7W39QSamVeJWS16co/n+bhjdjwjI3UFh8IWOpamvTS+b4lvQUog==} cpu: [x64] os: [linux] libc: [glibc] - '@pnpm/exe.win32-arm64@12.16.0': - resolution: {integrity: sha512-RsPE7hktWUn+oCi5IlnpMGBBMO+Lgf+VUUgiqrBHsdmdpTk3KDOM9TA0xOgK+xwvQdLtvc28JwigR4HmGMNyIQ==} + '@pnpm/exe.win32-arm64@12.17.0': + resolution: {integrity: sha512-qDQh8rmyK5sxlaCSCADcmPrvytJabMCbxtJ0nCitzRo2j3/8BhzLjlOcWF3C6iPGhR5CbIb+btNy+VCVhd06mQ==} cpu: [arm64] os: [win32] - '@pnpm/exe.win32-x64@12.16.0': - resolution: {integrity: sha512-mphDCqBvSu7o8j3DqnVDkpCf0HKaKJjEdlN6ymfpxh4VUYw5SW4zQLGmvjdxUUZZb6nuU/R8bTn2rAdJdYCk5w==} + '@pnpm/exe.win32-x64@12.17.0': + resolution: {integrity: sha512-qCo1OQlE3WrFZIAUK0O5EoupLaQ1fST7zNX8Qd+Tc4ojWgCvYA/ze0uP9hox8mSFC/JPAGRSG5o8gUBSq2rRxw==} cpu: [x64] os: [win32] - pnpm@12.16.0: - resolution: {integrity: sha512-6czJGguNUtopfBaEH57gXz3dYxvXV+8mohFofUo43mU8YURTZJKUQ4xYvnTCumLVPmM6ThU3CMASKW0PPuJ7Ng==} + pnpm@12.17.0: + resolution: {integrity: sha512-uNIj6+wEtYContIG2qcdG8y2oe4dUu+pXMOw23UnFWHfjw2OLEOt05xewIAYr3qKlRCOcJD5Win4hye3pA/VPQ==} engines: {node: '>=18'} hasBin: true snapshots: - '@pnpm/exe.android-arm64@12.16.0': + '@pnpm/exe.android-arm64@12.17.0': optional: true - '@pnpm/exe.android-x64@12.16.0': + '@pnpm/exe.android-x64@12.17.0': optional: true - '@pnpm/exe.darwin-arm64@12.16.0': + '@pnpm/exe.darwin-arm64@12.17.0': optional: true - '@pnpm/exe.darwin-x64@12.16.0': + '@pnpm/exe.darwin-x64@12.17.0': optional: true - '@pnpm/exe.freebsd-x64@12.16.0': + '@pnpm/exe.freebsd-x64@12.17.0': optional: true - '@pnpm/exe.linux-arm64-musl@12.16.0': + '@pnpm/exe.linux-arm64-musl@12.17.0': optional: true - '@pnpm/exe.linux-arm64@12.16.0': + '@pnpm/exe.linux-arm64@12.17.0': optional: true - '@pnpm/exe.linux-ppc64@12.16.0': + '@pnpm/exe.linux-ppc64@12.17.0': optional: true - '@pnpm/exe.linux-riscv64@12.16.0': + '@pnpm/exe.linux-riscv64@12.17.0': optional: true - '@pnpm/exe.linux-s390x@12.16.0': + '@pnpm/exe.linux-s390x@12.17.0': optional: true - '@pnpm/exe.linux-x64-musl@12.16.0': + '@pnpm/exe.linux-x64-musl@12.17.0': optional: true - '@pnpm/exe.linux-x64@12.16.0': + '@pnpm/exe.linux-x64@12.17.0': optional: true - '@pnpm/exe.win32-arm64@12.16.0': + '@pnpm/exe.win32-arm64@12.17.0': optional: true - '@pnpm/exe.win32-x64@12.16.0': + '@pnpm/exe.win32-x64@12.17.0': optional: true - pnpm@12.16.0: + pnpm@12.17.0: optionalDependencies: - '@pnpm/exe.android-arm64': 12.16.0 - '@pnpm/exe.android-x64': 12.16.0 - '@pnpm/exe.darwin-arm64': 12.16.0 - '@pnpm/exe.darwin-x64': 12.16.0 - '@pnpm/exe.freebsd-x64': 12.16.0 - '@pnpm/exe.linux-arm64': 12.16.0 - '@pnpm/exe.linux-arm64-musl': 12.16.0 - '@pnpm/exe.linux-ppc64': 12.16.0 - '@pnpm/exe.linux-riscv64': 12.16.0 - '@pnpm/exe.linux-s390x': 12.16.0 - '@pnpm/exe.linux-x64': 12.16.0 - '@pnpm/exe.linux-x64-musl': 12.16.0 - '@pnpm/exe.win32-arm64': 12.16.0 - '@pnpm/exe.win32-x64': 12.16.0 + '@pnpm/exe.android-arm64': 12.17.0 + '@pnpm/exe.android-x64': 12.17.0 + '@pnpm/exe.darwin-arm64': 12.17.0 + '@pnpm/exe.darwin-x64': 12.17.0 + '@pnpm/exe.freebsd-x64': 12.17.0 + '@pnpm/exe.linux-arm64': 12.17.0 + '@pnpm/exe.linux-arm64-musl': 12.17.0 + '@pnpm/exe.linux-ppc64': 12.17.0 + '@pnpm/exe.linux-riscv64': 12.17.0 + '@pnpm/exe.linux-s390x': 12.17.0 + '@pnpm/exe.linux-x64': 12.17.0 + '@pnpm/exe.linux-x64-musl': 12.17.0 + '@pnpm/exe.win32-arm64': 12.17.0 + '@pnpm/exe.win32-x64': 12.17.0 --- lockfileVersion: '9.0' @@ -179,17 +179,20 @@ importers: specifier: ^19.3.0 version: 19.3.0 '@vitest/browser-playwright': - specifier: ^5.0.5 - version: 5.0.5(playwright@1.64.1)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5) + specifier: ^5.1.0 + version: 5.1.0(playwright@1.64.1)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.1.0) '@vitest/coverage-v8': - specifier: ^5.0.5 - version: 5.0.5(@vitest/browser@5.0.5)(vitest@5.0.5) + specifier: ^5.1.0 + version: 5.1.0(@vitest/browser@5.1.0)(vitest@5.1.0) fast-deep-equal: specifier: 3.1.3 version: 3.1.3 jsdom: specifier: ^30.1.3 version: 30.1.3 + npm-check-updates: + specifier: ^23.1.1 + version: 23.1.1 oxfmt: specifier: 0.75.0 version: 0.75.0 @@ -221,8 +224,8 @@ importers: specifier: 7.0.2 version: 7.0.2 vitest: - specifier: ^5.0.5 - version: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + specifier: ^5.1.0 + version: 5.1.0(@vitest/browser-playwright@5.1.0)(@vitest/coverage-v8@5.1.0)(@vitest/ui@5.1.0)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) packages: @@ -933,36 +936,36 @@ packages: cpu: [x64] os: [win32] - '@vitest/browser-playwright@5.0.5': - resolution: {integrity: sha512-lcdThFUUcMV9mGGV1SUiZXPxfjgW4CssA7o3STxzh8WK0tT2r526kc12tZIBRZfoLMwkhxjLmMXkWXONzdsDQw==} + '@vitest/browser-playwright@5.1.0': + resolution: {integrity: sha512-3PbVvX/KNeUEzUeTTXw5bQDyfJS+WqU/UJ8RNWIojHb0mE6d/IBjuLmt+i7OpJ00tjNWv0O6XBm5ler/tEf3eg==} peerDependencies: playwright: '*' - vitest: 5.0.5 + vitest: 5.1.0 - '@vitest/browser@5.0.5': - resolution: {integrity: sha512-IDMoZX/iZ8rkilw7weaSgN8tJ7iZ9hUv0wYoKXyiyjWjWFwLSWAY707DcVTgxTYOudWC1E3HA9LYn7kVa9a7uQ==} + '@vitest/browser@5.1.0': + resolution: {integrity: sha512-2sjGVAC/Rs8Jwv+xxBgklNG2g1LGyNgcFMBw71AcfBstLz25UGv1+fVvvZ+z8IfSuNg3nipERijnFtoEIdRDEA==} peerDependencies: - vitest: 5.0.5 + vitest: 5.1.0 - '@vitest/coverage-v8@5.0.5': - resolution: {integrity: sha512-4KpkGdIrSqBihx/JyP/e+S+IKB98etg1XDQiLAxksLfcShnwi1VReGeOT9NI43hLHbknosKp/1CCLn9Zgcs8mg==} + '@vitest/coverage-v8@5.1.0': + resolution: {integrity: sha512-OY9aShBQG5KOIw2zCo9fDoCHI9RHliNHJ//nM7m6jGg41Hyke9JOGWmeMlK74xYErsxMoK8mIB3gAeEyFVA7LA==} peerDependencies: - '@vitest/browser': 5.0.5 - vitest: 5.0.5 + '@vitest/browser': 5.1.0 + vitest: 5.1.0 peerDependenciesMeta: '@vitest/browser': optional: true - '@vitest/istanbul-lib-coverage@1.0.2': - resolution: {integrity: sha512-9J/JMwOf9AoJhAywhrn7ScKTL38hsWQP/qPG60OtaAFcQ5OXPwKsxZFlbnuCKmZ61m8/lGgHYnFpdyQZUvG/iA==} + '@vitest/istanbul-lib-coverage@2.1.0': + resolution: {integrity: sha512-WOjuS+xcjSIy7ruYBQ+9BUcV7XZQ0FyVcbWbWxW9TRx/kLGx5SQaeFRIFDJxjNplb6YsT7SpKo2zuXXUo91OIQ==} engines: {node: '>=22'} - '@vitest/istanbul-lib-report@1.0.2': - resolution: {integrity: sha512-gUsfXZJbzPamoIY5TvHFiMMoXESBrUMo+xqaj+rYrWI69+EnvRlYBlP96ZnHPY4vX8kyUpgAnFUCg5wZG/HkDQ==} + '@vitest/istanbul-lib-report@2.1.0': + resolution: {integrity: sha512-+ZFta25nWtGCOBG9/IET8w1RO5Oawsd6H8Uf6AJ9EA/StFuKVtKAEJEJ6uRt84OH+T4YkI0ASmIHAhRA+0KVxw==} engines: {node: '>=22'} - '@vitest/mocker@5.0.5': - resolution: {integrity: sha512-xLL3lkDegJZw+MGoGaCCsFayDZthGgpAtr3Vziyfc4p7xH89K7KRPcRBBh/kEYm0Aqkt5DtTmkYpBtRV/FrHZg==} + '@vitest/mocker@5.1.0': + resolution: {integrity: sha512-5umB9/jlWcqVS6fsrFmv5Gdnpu6wAUio/lEOwAmvB7v+lFo/IW2B9FhAD0p19GCULTgMzLCdUmuCDCnAzWgppQ==} peerDependencies: msw: ^2.4.9 || ^3.0.0 vite: ^6.0.0 || ^7.0.0 || ^8.0.0 @@ -972,19 +975,19 @@ packages: vite: optional: true - '@vitest/pretty-format@5.0.5': - resolution: {integrity: sha512-24sSdIlMA9DVPXnYiB9siwU0bTd887Y9jX3+vabztCSsvHwo7ipvJ/a2L3Rljw8+2rK1f5fCj3h5U9I/Jsqgbw==} + '@vitest/pretty-format@5.1.0': + resolution: {integrity: sha512-IRx5mc30CrFzyMNni6SZKQ1r53kv049Mcvvk0WbWcD6PUz/bFjG4zYv0KosQAeonPpGp5WxqYBMqdSOfJfvVWw==} - '@vitest/spy@5.0.5': - resolution: {integrity: sha512-lwJRExuH417257Q5wv9QYugN9IMJkoxcrKrYxGPQkBzl7wlNpTUxD/5yNX4ESKVUIShKPgkGchYPFMWOOk0wzw==} + '@vitest/spy@5.1.0': + resolution: {integrity: sha512-2DPO5OMHWKrBngC+fCmTQqemNF0gidRhp3lxbBmRhW+M1XJrfgPpqNqWVevXtn2f2ufD5ZaR1B6B641aAlcX5A==} - '@vitest/ui@5.0.5': - resolution: {integrity: sha512-dCoGUOdgmCaSB2g+WQ/spPCBkytAWdNUkFSXY4z+eYp2d8JEOY8v0uDRaJTG9qf/kTlTVZ4CuYMYMz/f1HS/qQ==} + '@vitest/ui@5.1.0': + resolution: {integrity: sha512-00S3x4NRmqIBUiTVWF9/xLaA9EP9KeKv0+1sBO7e2Y4luBISlW+2ttnhlk/zjbTqEvVhJWCCo7MXzu6zNbefqQ==} peerDependencies: - vitest: 5.0.5 + vitest: 5.1.0 - '@vitest/utils@5.0.5': - resolution: {integrity: sha512-/rBu7gzLDQI/SC79Tn98b5DwOgaHU/Gt4I9OVeP3YofzNaYtbImRCOJQmT1S6vOJg9gEIlWC+r3QxKkjuSa1nQ==} + '@vitest/utils@5.1.0': + resolution: {integrity: sha512-V+qgCwkvVw+s1t1S5TaoBHsLi5Sz/YmohCMoOu0mZ8ZQst2bKhRYARAQucWpVg8D0mv0x5MHcWXY5QdOsoiGBQ==} acorn@8.19.0: resolution: {integrity: sha512-oJlA3XiRm7Cyk6qFD2Jn8ak9B7jSy0qy00ADO3+8dpT0LSjFihQYv4C02LFCSYJV3Q37xYwwRy5m+IpIiUzqWw==} @@ -1324,6 +1327,11 @@ packages: resolution: {integrity: sha512-Z3lTE9pLaJF47NyMhd4ww1yFTAP8YhYI8SleJiHzM46Fgpm5cnNzSl9XfzFNqbaz+VlJrIj3fXQ4DeN1Rjm6cw==} engines: {node: '>=18'} + npm-check-updates@23.1.1: + resolution: {integrity: sha512-UzYDvvsQRkmXR59g9SqsQxygYp7AhFpfEcOOGOJaB/P7pF/XlaqIYLK3UjUGfMHH1+aS2nZvJRaIsk2nk0z5ag==} + engines: {node: ^22.22.2 || ^24.15.0 || >=26.0.0, npm: '>=10.0.0'} + hasBin: true + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -1623,20 +1631,20 @@ packages: yaml: optional: true - vitest@5.0.5: - resolution: {integrity: sha512-cPODOMF8YnkiiYtDdHo6n4wWmBrOBBbOIYH2d33M4l3CdNn72h+qMmO6uXffUN6A5AZFXNND/d+krS9mgkXRfg==} + vitest@5.1.0: + resolution: {integrity: sha512-MzmNFnrwa8v8lF1bLxw3UJ4EREwVOVb75VqJZmUDRjJ6EluK/x9th7qTbaeDk41WxE1GxWqmTXcdsfobfH5sOA==} engines: {node: ^22.12.0 || ^24.0.0 || >=26.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@opentelemetry/api': ^1.9.0 '@types/node': ^22.0.0 || >=24.0.0 - '@vitest/browser-playwright': 5.0.5 - '@vitest/browser-preview': 5.0.5 + '@vitest/browser-playwright': 5.1.0 + '@vitest/browser-preview': 5.1.0 '@vitest/browser-webdriverio': ^5.0.0-beta.5 || >=5.0.0 - '@vitest/coverage-istanbul': 5.0.5 - '@vitest/coverage-v8': 5.0.5 - '@vitest/ui': 5.0.5 + '@vitest/coverage-istanbul': 5.1.0 + '@vitest/coverage-v8': 5.1.0 + '@vitest/ui': 5.1.0 happy-dom: '*' jsdom: '*' vite: ^6.4.0 || ^7.0.0 || ^8.0.0 @@ -2230,30 +2238,30 @@ snapshots: '@typescript/typescript-win32-x64@7.0.2': optional: true - '@vitest/browser-playwright@5.0.5(playwright@1.64.1)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5)': + '@vitest/browser-playwright@5.1.0(playwright@1.64.1)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.1.0)': dependencies: - '@vitest/browser': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5) - '@vitest/mocker': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + '@vitest/browser': 5.1.0(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.1.0) + '@vitest/mocker': 5.1.0(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) playwright: 1.64.1 tinyrainbow: 3.2.0 - vitest: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + vitest: 5.1.0(@vitest/browser-playwright@5.1.0)(@vitest/coverage-v8@5.1.0)(@vitest/ui@5.1.0)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) transitivePeerDependencies: - bufferutil - msw - utf-8-validate - vite - '@vitest/browser@5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5)': + '@vitest/browser@5.1.0(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.1.0)': dependencies: '@blazediff/core': 1.10.0 - '@vitest/mocker': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) - '@vitest/ui': 5.0.5(vitest@5.0.5) - '@vitest/utils': 5.0.5 + '@vitest/mocker': 5.1.0(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + '@vitest/ui': 5.1.0(vitest@5.1.0) + '@vitest/utils': 5.1.0 magic-string: 1.4.5 pngjs: 7.0.0 sirv: 3.0.2 tinyrainbow: 3.2.0 - vitest: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + vitest: 5.1.0(@vitest/browser-playwright@5.1.0)(@vitest/coverage-v8@5.1.0)(@vitest/ui@5.1.0)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) ws: 8.22.1 transitivePeerDependencies: - bufferutil @@ -2261,54 +2269,54 @@ snapshots: - utf-8-validate - vite - '@vitest/coverage-v8@5.0.5(@vitest/browser@5.0.5)(vitest@5.0.5)': + '@vitest/coverage-v8@5.1.0(@vitest/browser@5.1.0)(vitest@5.1.0)': dependencies: '@bcoe/v8-coverage': 1.0.2 - '@vitest/istanbul-lib-coverage': 1.0.2 - '@vitest/istanbul-lib-report': 1.0.2 + '@vitest/istanbul-lib-coverage': 2.1.0 + '@vitest/istanbul-lib-report': 2.1.0 ast-v8-to-istanbul: 1.0.7 magicast: 0.5.5 obug: 3.0.0 std-env: 4.3.0 tinyrainbow: 3.2.0 - vitest: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + vitest: 5.1.0(@vitest/browser-playwright@5.1.0)(@vitest/coverage-v8@5.1.0)(@vitest/ui@5.1.0)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) optionalDependencies: - '@vitest/browser': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5) + '@vitest/browser': 5.1.0(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.1.0) - '@vitest/istanbul-lib-coverage@1.0.2': {} + '@vitest/istanbul-lib-coverage@2.1.0': {} - '@vitest/istanbul-lib-report@1.0.2': + '@vitest/istanbul-lib-report@2.1.0': dependencies: - '@vitest/istanbul-lib-coverage': 1.0.2 + '@vitest/istanbul-lib-coverage': 2.1.0 - '@vitest/mocker@5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))': + '@vitest/mocker@5.1.0(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))': dependencies: '@jridgewell/trace-mapping': 0.3.31 - '@vitest/spy': 5.0.5 + '@vitest/spy': 5.1.0 estree-walker: 3.0.3 magic-string: 1.4.5 optionalDependencies: vite: 8.3.5(terser@5.51.2)(yaml@2.9.1) - '@vitest/pretty-format@5.0.5': + '@vitest/pretty-format@5.1.0': dependencies: tinyrainbow: 3.2.0 - '@vitest/spy@5.0.5': {} + '@vitest/spy@5.1.0': {} - '@vitest/ui@5.0.5(vitest@5.0.5)': + '@vitest/ui@5.1.0(vitest@5.1.0)': dependencies: - '@vitest/utils': 5.0.5 + '@vitest/utils': 5.1.0 fflate: 0.8.3 flatted: 3.4.4 pathe: 2.0.3 sirv: 3.0.2 tinyrainbow: 3.2.0 - vitest: 5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + vitest: 5.1.0(@vitest/browser-playwright@5.1.0)(@vitest/coverage-v8@5.1.0)(@vitest/ui@5.1.0)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) - '@vitest/utils@5.0.5': + '@vitest/utils@5.1.0': dependencies: - '@vitest/pretty-format': 5.0.5 + '@vitest/pretty-format': 5.1.0 convert-source-map: 2.0.0 tinyrainbow: 3.2.0 @@ -2603,6 +2611,8 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 + npm-check-updates@23.1.1: {} + object-assign@4.1.1: {} obug@3.0.0: {} @@ -2875,10 +2885,10 @@ snapshots: terser: 5.51.2 yaml: 2.9.1 - vitest@5.0.5(@vitest/browser-playwright@5.0.5)(@vitest/coverage-v8@5.0.5)(@vitest/ui@5.0.5)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)): + vitest@5.1.0(@vitest/browser-playwright@5.1.0)(@vitest/coverage-v8@5.1.0)(@vitest/ui@5.1.0)(jsdom@30.1.3)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)): dependencies: '@types/chai': 5.2.3 - '@vitest/mocker': 5.0.5(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) + '@vitest/mocker': 5.1.0(vite@8.3.5(terser@5.51.2)(yaml@2.9.1)) chai: 6.3.0 es-module-lexer: 2.3.2 expect-type: 1.4.0 @@ -2892,9 +2902,9 @@ snapshots: vite: 8.3.5(terser@5.51.2)(yaml@2.9.1) why-is-node-running: 3.2.1 optionalDependencies: - '@vitest/browser-playwright': 5.0.5(playwright@1.64.1)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.0.5) - '@vitest/coverage-v8': 5.0.5(@vitest/browser@5.0.5)(vitest@5.0.5) - '@vitest/ui': 5.0.5(vitest@5.0.5) + '@vitest/browser-playwright': 5.1.0(playwright@1.64.1)(vite@8.3.5(terser@5.51.2)(yaml@2.9.1))(vitest@5.1.0) + '@vitest/coverage-v8': 5.1.0(@vitest/browser@5.1.0)(vitest@5.1.0) + '@vitest/ui': 5.1.0(vitest@5.1.0) jsdom: 30.1.3 transitivePeerDependencies: - msw From 219a679a4725f39067638be6a18c1b4304a63db4 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 12 Nov 2026 10:17:02 -0800 Subject: [PATCH 17/19] [uplift] chore: AGENTS.md + CLAUDE.md pointer --- AGENTS.md | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ CLAUDE.md | 1 + 2 files changed, 79 insertions(+) create mode 100644 AGENTS.md create mode 100644 CLAUDE.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..d453523 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,78 @@ +# AGENTS.md + +Guidance for AI coding agents (and humans) working in this repo. Keep it short and current: when a convention changes, update this file in the same PR. + +## Current focus: 2026 Uplift + +Tracking issue: https://github.com/FormidableLabs/react-fast-compare/issues/140. Read it before starting uplift work; its **Decision log** is the source of truth for settled choices. Don't re-open a logged decision without saying why. + +- **Branch:** uplift PRs target the integration branch `chore/2026-uplift`, which merges to `master` with a merge commit at the end. Source fixes after the uplift (#139 Temporal, ...) go straight to `master`. +- **The uplift doesn't change what users get.** Same files, same `module.exports = isEqual`, same ES5 code, same `index.d.ts` as 3.2.2. In `index.js`, only formatting and comments may change; `pnpm pack:check` proves it. ESM, an `exports` map and a modern target wait for 4.0.0. +- **Infra first, source last.** Mechanical churn (formatting, lint autofixes) goes in its own PR with no behavior change, and its commit is added to `.git-blame-ignore-revs` after it merges (PRs are squash-merged). +- **Tasks are plain `package.json` scripts.** No task runner. +- **Small, reviewable PRs.** One concern per PR. A PR that changes what users get (code, types, published files, manifest fields other than `scripts`/`devDependencies`) needs a changeset (`pnpm changeset`). Tooling, tests, CI and docs don't, and uplift PRs have none. + +## Working agreements + +- **Don't commit, stage, push, merge, or open PRs** unless explicitly asked. Prepare the changes in the working tree and suggest a commit message; the maintainer does the git work. +- Don't publish to npm or change npm/GitHub settings (trusted publishers, environments, dist-tags, repo secrets). Write the scripts and docs; a maintainer runs them. +- Report outcomes plainly: if a check was skipped or fails, say so with the output. + +## Releasing + +- `release.yml`'s filename and the `npm-publish` environment are bound to npm trusted publishing (OIDC; tokens are disallowed). Renaming either breaks publishing until a maintainer updates the npm package settings. +- Version Packages PRs are opened by `GITHUB_TOKEN`, so GitHub holds their CI runs for approval. After the PR's last update, a maintainer clicks "Approve and run" on the held runs. +- Canaries: `gh workflow run release.yml --ref ` publishes `X.Y.Z-canary-` to `next`; the branch needs a pending changeset. Maintainer-run. + +## Repo map + +- `index.js`: the whole library, CommonJS, **ES5**. `index.d.ts`: the hand-written published declarations. These two files are all that's published. +- `test/*.spec.mjs`: Vitest specs, run in Node and in browsers. `test/fixtures/index.mjs` holds our own cases; `test/fixtures/fast-deep-equal/` is upstream's `spec/` vendored unchanged (don't edit or reformat it). `test/types/`: the type probe, compiled against the packed tarball by `pack:check`. +- `bench/`: Vitest benchmarks (`compare.bench.mjs`) and the CI job-summary reporter. +- `scripts/`: `pack-check.mjs`, `types-check.mjs`, `size.mjs`, `lint-gha.mjs`. +- `pack-snapshot.json`: what `pack:check` compares the packed tarball with (generated from 3.2.2). +- `vitest.config.mts`: `node` and `browser` (Chromium, Firefox, WebKit) projects; an inline plugin wraps the CommonJS files for the browser. + +## Commands + +Use the Node version in `.nvmrc` and pnpm (version from `packageManager`). Never use npm or yarn to install. +pnpm settings (`minimumReleaseAge`, ...) live in `pnpm-workspace.yaml`. `minimumReleaseAge` is 7 days and applies to the lockfile too: if `pnpm install` fails with `ERR_PNPM_MINIMUM_RELEASE_AGE_VIOLATION`, re-resolve the named packages with `pnpm update ...`. Don't add `minimumReleaseAgeExclude` entries except for an urgent security fix (CONTRIBUTING "Setup"). + +```sh +pnpm install +pnpm exec playwright install --only-shell chromium firefox webkit # once, and after Playwright updates +pnpm check # format, lint, lint:gha, types:check, test, pack:check (what CI gates on) +pnpm test # Vitest, all projects; `--project node` or `--project "browser (firefox)"` for one +pnpm test --project node --coverage +pnpm types:check # checkJs on index.js; emitted declarations must match index.d.ts +pnpm pack:check # packed tarball vs. 3.2.2: publint, attw, require/import, snapshot, type probe +pnpm size # raw/min/gz/br size of index.js; `--base ` to compare +pnpm bench # tree vs. last release vs. fast-deep-equal, per fixture group +pnpm lint:fix # oxlint +pnpm format:fix # oxfmt +pnpm lint:gha # zizmor on .github/ (skips if zizmor isn't installed; CI runs it) +pnpm dep:check # list outdated deps (npm-check-updates; config in .ncurc.cjs) +pnpm dlx knip # unused deps audit when tools change (config in knip.jsonc) +``` + +Dependency updates are manual (no update bots): see CONTRIBUTING "Updating dependencies". Version ranges: `^` by default; exact for oxfmt, oxlint, the tools `pack:check`/`types:check` rely on (TypeScript, terser, publint, attw) and the benchmark baselines (`fast-deep-equal`, `react-fast-compare-published`). The package has no `dependencies`. + +GitHub Actions: `actions/*` and `github/*` use major version tags; every other action is pinned to a commit SHA (enforced by `.github/zizmor.yml`) with a `# vX.Y.Z` comment (pinact keeps it current; see CONTRIBUTING "GitHub Actions"). Every workflow sets `permissions: {}` and grants per job; checkouts set `persist-credentials: false`. + +These commands change as the uplift lands. Update this section in the same PR that changes them. + +## Code conventions + +- **`index.js` stays ES5 in 3.x:** `var`, `function`, no arrow functions, spread, `for...of` or other ES2015+ syntax, and no lint autofixes that introduce them. Map/Set iteration is hand-lowered on purpose. Tests, benchmarks and scripts are modern ESM. +- **Keep the `// START:` / `// END:` comment blocks in `index.js`.** They mark which lines are `fast-deep-equal` (and which version), which are our modifications to it, and which are `react-fast-compare`'s own; they're how upstream changes are merged (CONTRIBUTING). Put new code in the right block, and leave upstream lines as close to upstream as possible. +- **Types come from JSDoc** (`checkJs`, `strict`); there's no TypeScript source and no build step. Fix type errors with JSDoc annotations or `/** @type */` casts, never runtime changes. `index.d.ts` is still hand-written in 3.x and must match 3.2.2 byte for byte; `types:check` fails if the JSDoc drifts from it. Add a probe case in `test/types/` for any usage the types must keep supporting. +- Any change to the published output (beyond formatting/comments in `index.js`) fails `pack:check` until `pnpm pack:check --update` regenerates `pack-snapshot.json`. Do that only for an intended change, with a changeset, and call it out in the PR. +- Match the surrounding code's style, naming, and comment density. +- Don't add an `engines` field. `.nvmrc` is the one place the Node version is set. +- Scripts and tooling: prefer async Node APIs (`node:fs/promises`, top-level `await`) over `*Sync` functions unless async can't work or clearly complicates a step; say why in a comment. + +## Keep tuning + +- **Speed is the library's pitch.** If a change touches the comparison code, run `pnpm bench` before and after, and mention differences beyond ~3–5% in the PR (smaller ones are noise; see CONTRIBUTING "Benchmarks"). +- **Size:** `pnpm size` is reported in CI, not gated. Note min+gz growth in the PR. +- **This file:** if an agent gets something wrong because guidance was missing or stale, fix the guidance here. diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..43c994c --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md From cebc179c03526a80084f50ac081fee45086bb338 Mon Sep 17 00:00:00 2001 From: Ryan Roemer Date: Thu, 12 Nov 2026 11:17:39 -0800 Subject: [PATCH 18/19] [uplift] docs: README, CONTRIBUTING and PR template pass (Nearform naming) (#155) Phase 5 docs pass for #140. Docs only, no changeset. - README: Nearform banner (as in victory) instead of the Formidable hero PNG, which is deleted (never published); Nearform maintenance status; fix `fast-deep-equal` version (3.1.3) and LICENSE link; react.dev links; shields.io npm badge; maintenance badge colour fixed; typos. - CONTRIBUTING: TL;DR at the top of Development, pointer to `AGENTS.md`, small cleanups. - PR template: changeset checkbox. Naming: "Nearform" in docs; the repo stays `FormidableLabs/react-fast-compare`. LICENSE keeps its 2018 copyright line. --- .github/pull_request_template.md | 1 + CONTRIBUTING.md | 24 ++++++++++++++---------- README.md | 26 +++++++++++++------------- react-fast-compare-Hero.png | Bin 521933 -> 0 bytes 4 files changed, 28 insertions(+), 23 deletions(-) delete mode 100644 react-fast-compare-Hero.png diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index e69e211..dc0f57d 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -12,6 +12,7 @@ Please include a summary of the change and which issue is fixed. Please also inc ## Checklist: - [ ] All tests are passing +- [ ] Changeset added (`pnpm changeset`) if this changes what users get (code, types, published files) - [ ] Type definitions, if updated, pass `types:check` and `pack:check` - [ ] Benchmark performance (`pnpm bench`, CI job summary) has not significantly decreased - [ ] Bundle size (`pnpm size`, CI job summary) has not been significantly impacted diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1345bc2..3df09ec 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -10,9 +10,9 @@ Before contributing, _please make sure the issue relates directly to this librar We encourage pull requests concerning: - React features not handled in this library -- Integrating updates from `fast-deep-equal` - This, unfortunately, now requires more manual work. Use the comment blocks in `index.js` +- Integrating updates from `fast-deep-equal`: this, unfortunately, now requires more manual work. Use the comment blocks in `index.js` to figure out what to paste and where. -- Integrating tests from `fast-deep-equal` - Copy its `spec/` test files into `test/fixtures/fast-deep-equal/` +- Integrating tests from `fast-deep-equal`: copy its `spec/` test files into `test/fixtures/fast-deep-equal/` and update the version in that directory's README. The `fast-deep-equal` npm package in `devDependencies` is one of the [benchmark](#benchmarks) baselines. - Bugs in this library @@ -27,6 +27,18 @@ Pull requests that should be for [fast-deep-equal](https://github.com/epoberezki ## Development +**TL;DR:** after [setup](#setup), everything CI checks runs with: + +```sh +# Format, lint, types, all tests, then the packed package +$ pnpm run check +# Benchmarks (a report, not a check) +$ pnpm run bench +``` + +The repo's conventions in brief (3.x rules, types, upstream comment blocks, +changesets) are in [`AGENTS.md`](./AGENTS.md), which AI coding agents read too. + ### Setup We develop on the Node.js version in [`.nvmrc`](./.nvmrc) (CI uses it too). With @@ -86,14 +98,6 @@ with [knip](https://knip.dev) (`knip.jsonc` lists what it can't see on its own): $ pnpm dlx knip ``` -**TL; DR:** - Everything you normally need to run is aggregated into: - -```sh -# Format, lint, types, all tests, then the packed package -$ pnpm run check -$ pnpm run bench -``` - ### Testing We test with [Vitest](https://vitest.dev/). One set of specs, `test/*.spec.mjs`, diff --git a/README.md b/README.md index 2855674..9272b50 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![React Fast Compare — Formidable, We build the modern web](https://raw.githubusercontent.com/FormidableLabs/react-fast-compare/master/react-fast-compare-Hero.png)](https://formidable.com/open-source/) +[![React Fast Compare — Nearform](https://oss.nearform.com/api/banner.svg?badge=react-fast-compare&bg=2f8f83)](https://nearform.com/open-source/) [![Downloads][downloads_img]][npm_site] [![GH Actions Status][actions_img]][actions_site] @@ -23,7 +23,7 @@ $ npm install react-fast-compare - ES5 compatible; works in node.js (0.10+) and browsers (IE9+) - deeply compares any value (besides objects with circular references) - handles React-specific circular references, like elements -- checks equality Date and RegExp objects +- checks equality of Date and RegExp objects - should be as fast as [fast-deep-equal](https://github.com/epoberezkin/fast-deep-equal) via a single unified library, and with added guardrails for circular references. - small: under 660 bytes minified+gzipped @@ -59,11 +59,11 @@ class AnotherExpensiveComponent extends React.Component { Deep checks in `React.memo` or a `shouldComponentUpdate` should not be used blindly. First, see if the default -[React.memo](https://reactjs.org/docs/react-api.html#reactmemo) or -[PureComponent](https://reactjs.org/docs/react-api.html#reactpurecomponent) +[React.memo](https://react.dev/reference/react/memo) or +[PureComponent](https://react.dev/reference/react/PureComponent) will work for you. If it won't (if you need deep checks), it's wise to make -sure you've correctly indentified the bottleneck in your application by -[profiling the performance](https://reactjs.org/docs/optimizing-performance.html#profiling-components-with-the-chrome-performance-tab). +sure you've correctly identified the bottleneck in your application by +[profiling the performance](https://react.dev/reference/react/Profiler). After you've determined that you _do_ need deep equality checks and you've identified the minimum number of places to apply them, then this library may be for you! @@ -92,7 +92,7 @@ the results to the job summary of each run. - `react-fast-compare` has `try`/`catch` guardrails for stack overflows from undetected (non-React) circular references. - `react-fast-compare` has a _single_ unified entry point for all uses. No matter what your target application is, `import equal from 'react-fast-compare'` just works. `fast-deep-equal` has multiple entry points for different use cases. -This version of `react-fast-compare` tracks `fast-deep-equal@3.1.1`. +This version of `react-fast-compare` tracks `fast-deep-equal@3.1.3`. ## Bundle Size @@ -105,7 +105,7 @@ as they [do not mangle during minification](https://github.com/pastelsky/package ## License -[MIT](https://github.com/FormidableLabs/react-fast-compare/blob/readme/LICENSE) +[MIT](./LICENSE) ## Contributing @@ -113,11 +113,11 @@ Please see our [contributions guide](./CONTRIBUTING.md). ## Maintenance Status -**Active:** Formidable is actively working on this project, and we expect to continue for work for the foreseeable future. Bug reports, feature requests and pull requests are welcome. +**Active:** Nearform is actively working on this project, and we expect to continue work for the foreseeable future. Bug reports, feature requests and pull requests are welcome. [actions_img]: https://github.com/FormidableLabs/react-fast-compare/actions/workflows/ci.yml/badge.svg -[actions_site]: https://github.com/formidablelabs/react-fast-compare/actions/workflows/ci.yml -[npm_img]: https://badge.fury.io/js/react-fast-compare.svg -[npm_site]: http://badge.fury.io/js/react-fast-compare +[actions_site]: https://github.com/FormidableLabs/react-fast-compare/actions/workflows/ci.yml +[npm_img]: https://img.shields.io/npm/v/react-fast-compare.svg +[npm_site]: https://www.npmjs.com/package/react-fast-compare [downloads_img]: https://img.shields.io/npm/dm/react-fast-compare.svg -[maintenance_img]: https://img.shields.io/badge/maintenance-active-flatgreen.svg +[maintenance_img]: https://img.shields.io/badge/maintenance-active-green.svg diff --git a/react-fast-compare-Hero.png b/react-fast-compare-Hero.png deleted file mode 100644 index a2d2c1540f4253fc96b65c35110869dd6ea434f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 521933 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 S){w6N0000 Date: Thu, 12 Nov 2026 11:29:51 -0800 Subject: [PATCH 19/19] [uplift] chore: point AGENTS.md and CI at master for the final merge --- .github/workflows/ci.yml | 1 - AGENTS.md | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4993130..5db346b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -4,7 +4,6 @@ on: push: branches: - master - - chore/2026-uplift* pull_request: types: [opened, synchronize, reopened] diff --git a/AGENTS.md b/AGENTS.md index d453523..1e61079 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -6,7 +6,7 @@ Guidance for AI coding agents (and humans) working in this repo. Keep it short a Tracking issue: https://github.com/FormidableLabs/react-fast-compare/issues/140. Read it before starting uplift work; its **Decision log** is the source of truth for settled choices. Don't re-open a logged decision without saying why. -- **Branch:** uplift PRs target the integration branch `chore/2026-uplift`, which merges to `master` with a merge commit at the end. Source fixes after the uplift (#139 Temporal, ...) go straight to `master`. +- **Branch:** `master`. The uplift landed from the integration branch `chore/2026-uplift` with a merge commit; PRs now target `master` directly, starting with the source fixes (#139 Temporal, ...). - **The uplift doesn't change what users get.** Same files, same `module.exports = isEqual`, same ES5 code, same `index.d.ts` as 3.2.2. In `index.js`, only formatting and comments may change; `pnpm pack:check` proves it. ESM, an `exports` map and a modern target wait for 4.0.0. - **Infra first, source last.** Mechanical churn (formatting, lint autofixes) goes in its own PR with no behavior change, and its commit is added to `.git-blame-ignore-revs` after it merges (PRs are squash-merged). - **Tasks are plain `package.json` scripts.** No task runner.

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