From f4d7a3a8f65118db47783415485c521c9919d443 Mon Sep 17 00:00:00 2001 From: takurinton Date: Thu, 28 Mar 2024 11:50:14 +0900 Subject: [PATCH] revert preact-iso in local and install preact-iso latest (#198) update preact-iso remove local preact-iso remove preinstall command update lockfile --- bun.lockb | Bin 237035 -> 129758 bytes package.json | 3 +- preact-iso/.editorconfig | 22 - preact-iso/.gitignore | 29 - preact-iso/CHANGELOG.md | 135 -- preact-iso/CODE_OF_CONDUCT.md | 46 - preact-iso/LICENSE | 21 - preact-iso/README.md | 147 -- preact-iso/bun.lockb | Bin 138621 -> 0 bytes preact-iso/jsconfig.json | 10 - preact-iso/package.json | 57 - preact-iso/src/hydrate.d.ts | 3 - preact-iso/src/hydrate.js | 17 - preact-iso/src/index.d.ts | 4 - preact-iso/src/index.js | 7 - preact-iso/src/lazy.d.ts | 5 - preact-iso/src/lazy.js | 43 - preact-iso/src/prerender.d.ts | 15 - preact-iso/src/prerender.js | 48 - preact-iso/src/router.d.ts | 42 - preact-iso/src/router.js | 216 --- preact-iso/test/match.test.js | 107 -- preact-iso/test/router.test.js | 535 ------- preact-iso/yarn.lock | 2578 -------------------------------- 24 files changed, 1 insertion(+), 4089 deletions(-) delete mode 100644 preact-iso/.editorconfig delete mode 100644 preact-iso/.gitignore delete mode 100644 preact-iso/CHANGELOG.md delete mode 100644 preact-iso/CODE_OF_CONDUCT.md delete mode 100644 preact-iso/LICENSE delete mode 100644 preact-iso/README.md delete mode 100755 preact-iso/bun.lockb delete mode 100644 preact-iso/jsconfig.json delete mode 100644 preact-iso/package.json delete mode 100644 preact-iso/src/hydrate.d.ts delete mode 100644 preact-iso/src/hydrate.js delete mode 100644 preact-iso/src/index.d.ts delete mode 100644 preact-iso/src/index.js delete mode 100644 preact-iso/src/lazy.d.ts delete mode 100644 preact-iso/src/lazy.js delete mode 100644 preact-iso/src/prerender.d.ts delete mode 100644 preact-iso/src/prerender.js delete mode 100644 preact-iso/src/router.d.ts delete mode 100644 preact-iso/src/router.js delete mode 100644 preact-iso/test/match.test.js delete mode 100644 preact-iso/test/router.test.js delete mode 100644 preact-iso/yarn.lock diff --git a/bun.lockb b/bun.lockb index 1853e532cb4770aa276db340e516a95f43d760b7..f4512c8c6f63231cd547a110b3449989116f8a5a 100755 GIT binary patch delta 30173 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 literal 237035 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

C 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 diff --git a/package.json b/package.json index 8b8de18..e3d7808 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,6 @@ "type": "module", "scripts": { "dev": "wmr", - "preinstall": "cd ./preact-iso && bun install && cd ..", "build": "NODE_ENV=production wmr build --prerender", "serve": "wmr serve", "lint": "eslint './{public,src}/**/*.{js,jsx,ts,tsx}'", @@ -25,7 +24,7 @@ "hoofd": "1.7.0", "marked": "9.1.2", "preact": "10.18.1", - "preact-iso": "file:./preact-iso" + "preact-iso": "2.5.0" }, "author": "takurinton", "eslintConfig": { diff --git a/preact-iso/.editorconfig b/preact-iso/.editorconfig deleted file mode 100644 index 707c3a6..0000000 --- a/preact-iso/.editorconfig +++ /dev/null @@ -1,22 +0,0 @@ -root = true - -[*] -indent_style = tab -end_of_line = lf -charset = utf-8 -trim_trailing_whitespace = true -insert_final_newline = true - -[{.*rc,*.yml}] -indent_style = space -indent_size = 2 - -[package.json] -insert_final_newline = false - -[*.md] -trim_trailing_whitespace = false - -[test/fixtures/**/*.expected.*] -trim_trailing_whitespace = false -insert_final_newline = false diff --git a/preact-iso/.gitignore b/preact-iso/.gitignore deleted file mode 100644 index 51c10e9..0000000 --- a/preact-iso/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js -.yarn/* -!.yarn/releases -!.yarn/plugins -.pnp.* - -# testing -/coverage - -# production -/dist -/build -/.yalc - -# misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/preact-iso/CHANGELOG.md b/preact-iso/CHANGELOG.md deleted file mode 100644 index 298a798..0000000 --- a/preact-iso/CHANGELOG.md +++ /dev/null @@ -1,135 +0,0 @@ -# preact-iso - -## 2.3.1 - -### Patch Changes - -- [`2465fbb`](https://github.com/preactjs/wmr/commit/2465fbba9e0888d2191d0fbcf613b26e81b4640e) [#895](https://github.com/preactjs/wmr/pull/895) Thanks [@rschristian](https://github.com/rschristian)! - Fix lack of hydration when not returning prerender data - -## 2.3.0 - -### Minor Changes - -- [`22a8a18`](https://github.com/preactjs/wmr/commit/22a8a186fa45b64bb1349ba6998b12498d05d503) [#864](https://github.com/preactjs/wmr/pull/864) Thanks [@JoviDeCroock](https://github.com/JoviDeCroock)! - Add `onRouteChange` prop to the Router to observe synchronous route changes - -### Patch Changes - -- [`5780fc9`](https://github.com/preactjs/wmr/commit/5780fc929fa2bab222e3b3d11be2250aefe19cfe) [#864](https://github.com/preactjs/wmr/pull/864) Thanks [@JoviDeCroock](https://github.com/JoviDeCroock)! - Avoid calling onLoadEnd on every render - -* [`69d291f`](https://github.com/preactjs/wmr/commit/69d291fbf2644b5c774672f4846f30e0e453af57) [#870](https://github.com/preactjs/wmr/pull/870) Thanks [@developit](https://github.com/developit)! - Fix `` accidentally un-rendering incoming routes that happen to resolve to the same component as the outgoing route. - -## 2.2.0 - -### Minor Changes - -- [`9a814a9`](https://github.com/preactjs/wmr/commit/9a814a95e76883254c3e9861170259ddd6d9ac0c) [#832](https://github.com/preactjs/wmr/pull/832) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Add support for partial route matching via `/foo/*` - -* [`439768e`](https://github.com/preactjs/wmr/commit/439768e6ef3e0a69fe872196f2b3f05bd3bbfcb6) [#835](https://github.com/preactjs/wmr/pull/835) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Add support for nested routes matching - -### Patch Changes - -- [`21bbeb9`](https://github.com/preactjs/wmr/commit/21bbeb9a9a58e2c3c59f9db2cec1c651e5bbf5f8) [#831](https://github.com/preactjs/wmr/pull/831) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Fix `preact-iso` intercepting `cmd/ctrl+click` and other native browser behaviors. - -## 2.1.0 - -### Minor Changes - -- [`c963fbe`](https://github.com/preactjs/wmr/commit/c963fbec5cac7d45a65ffa9cd05d937e56fc5aa6) [#586](https://github.com/preactjs/wmr/pull/586) Thanks [@developit](https://github.com/developit)! - Pass route paramters as props when no prop exists with that name. - -* [`095ddde`](https://github.com/preactjs/wmr/commit/095dddefbb5b56d0a897716513977a99f38665bf) [#824](https://github.com/preactjs/wmr/pull/824) Thanks [@developit](https://github.com/developit)! - - Bugfix for Router: "splat" parameters (`/:x*` and `/:y*`) should be passed in the `params` prop instead of directly on props - -## 2.0.3 - -### Patch Changes - -- [`62840d8`](https://github.com/preactjs/wmr/commit/62840d82eddf1bda9447c08750fe6886751edee7) [#665](https://github.com/preactjs/wmr/pull/665) Thanks [@rschristian](https://github.com/rschristian)! - Removing unused imports (and associated console warnings) in preact-iso - -## 2.0.2 - -### Patch Changes - -- [`c1f3f0e`](https://github.com/preactjs/wmr/commit/c1f3f0e42a053811fe894f91a7bd702247e550d5) [#608](https://github.com/preactjs/wmr/pull/608) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Fix `useRoute` missing in main entry exports - -## 2.0.1 - -### Patch Changes - -- [`79c7fd6`](https://github.com/preactjs/wmr/commit/79c7fd6a5cd46904779a630ac42207e9bf918f1c) [#594](https://github.com/preactjs/wmr/pull/594) Thanks [@developit](https://github.com/developit)! - Fixes a race condition in preact-iso `Router` by registering the link click handler immediately. - -## 2.0.0 - -### Major Changes - -- [`8e8690a`](https://github.com/preactjs/wmr/commit/8e8690afee44e6d2bb83201ec3b283a89331995b) [#557](https://github.com/preactjs/wmr/pull/557) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Fix route params being able to overwrite route context. This is a breaking change in that params no need to be pulled off a `params` object instead of accessing it directly - -### Patch Changes - -- [`8a44d75`](https://github.com/preactjs/wmr/commit/8a44d756ccb72d32c36e6ed03d618462dd8a6ba3) [#571](https://github.com/preactjs/wmr/pull/571) Thanks [@developit](https://github.com/developit)! - preact-iso: fix ErrorBoundary pushing invalid callback into commit queue - -* [`6f93a06`](https://github.com/preactjs/wmr/commit/6f93a06bb2065e5fef15eb4f2bfffbd07bcc616d) [#567](https://github.com/preactjs/wmr/pull/567) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Update preact/iso TypeScript types - -- [`c7ca0a4`](https://github.com/preactjs/wmr/commit/c7ca0a436bfe99ff9d8d15dbad6b111cae40f799) [#555](https://github.com/preactjs/wmr/pull/555) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Fix crash when passing dynamic arrays as children. This was caused by missing children normalization. - -## 1.2.0 - -### Minor Changes - -- [`a7e79c9`](https://github.com/preactjs/wmr/commit/a7e79c9759ec87983bceb83819b5c8387299c867) [#530](https://github.com/preactjs/wmr/pull/530) Thanks [@developit](https://github.com/developit)! - `` is now an async boundary (it handles `lazy()` descendants by itself), and supports cancellable + stacked route transitions. - -### Patch Changes - -- [`8d5d1d8`](https://github.com/preactjs/wmr/commit/8d5d1d82d98c7f2e2eaccb92ff6890cf1e2e6139) [#534](https://github.com/preactjs/wmr/pull/534) Thanks [@developit](https://github.com/developit)! - [preact-iso] Support setting a manual URL via `` - -## 1.1.1 - -### Patch Changes - -- [`2d0bb8a`](https://github.com/preactjs/wmr/commit/2d0bb8a64783c32cfdaad05563b6293649059ef9) [#504](https://github.com/preactjs/wmr/pull/504) Thanks [@developit](https://github.com/developit)! - Bugfix: fix route flashing for routes that render fragments - -* [`321dfce`](https://github.com/preactjs/wmr/commit/321dfced389800e661174e1e304fa8ecab593f96) [#496](https://github.com/preactjs/wmr/pull/496) Thanks [@developit](https://github.com/developit)! - [preact-iso] Router: reset page scroll position on forward navigations - -- [`c07c39f`](https://github.com/preactjs/wmr/commit/c07c39fba101e34e673997262f71f80a8488b6d6) [#505](https://github.com/preactjs/wmr/pull/505) Thanks [@developit](https://github.com/developit)! - [preact-iso] Prevent the router from intercepting clicks on anchor links - -* [`764830f`](https://github.com/preactjs/wmr/commit/764830fde981e60f67fbc74f7e5b46dcbc98d573) [#493](https://github.com/preactjs/wmr/pull/493) Thanks [@developit](https://github.com/developit)! - [preact-iso] Prevent the Router from intercepting clicks on links with an "external" target (`target="anything"`). - -## 1.1.0 - -### Minor Changes - -- [`44d5a83`](https://github.com/preactjs/wmr/commit/44d5a835aa08fc4e4497706045ce26ba13108b0a) [#461](https://github.com/preactjs/wmr/pull/461) Thanks [@piotr-cz](https://github.com/piotr-cz)! - Fix Eslint and Prettier suggestions - -* [`f7b5bd7`](https://github.com/preactjs/wmr/commit/f7b5bd77c3d0e599cff43226f903483cefad9539) [#422](https://github.com/preactjs/wmr/pull/422) Thanks [@rschristian](https://github.com/rschristian)! - Adds a new Route component export - -### Patch Changes - -- [`5ff2c55`](https://github.com/preactjs/wmr/commit/5ff2c559feb83ffed514ed67b5d7f3e2389ef5cc) [#459](https://github.com/preactjs/wmr/pull/459) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Add missing Route export - -* [`0833c4a`](https://github.com/preactjs/wmr/commit/0833c4ad25ceffae461d4d8f8643744cc0b7e080) [#408](https://github.com/preactjs/wmr/pull/408) Thanks [@piotr-cz](https://github.com/piotr-cz)! - Add type definitions to router onLoadEnd and onLoadStart - -- [`f320e3e`](https://github.com/preactjs/wmr/commit/f320e3e46cbd66c4d0580c6ec567e335b646ac5c) [#416](https://github.com/preactjs/wmr/pull/416) Thanks [@JoviDeCroock](https://github.com/JoviDeCroock)! - Fix routes with leading/trailing slashes - -* [`3db3696`](https://github.com/preactjs/wmr/commit/3db36964afc1f3158d3b5d377d06ccf32b6efadd) [#421](https://github.com/preactjs/wmr/pull/421) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Add missing types for `onError` prop of `ErrorBoundary` component - -- [`0bbb8cc`](https://github.com/preactjs/wmr/commit/0bbb8ccaafb1182b5a0f42ef6208a40d774c73f1) [#424](https://github.com/preactjs/wmr/pull/424) Thanks [@piotr-cz](https://github.com/piotr-cz)! - Set default value for push to true - -## 1.0.1 - -### Patch Changes - -- [`58f1bff`](https://github.com/preactjs/wmr/commit/58f1bffd108f45c1ac5759f744f484b5d6a8fcca) [#364](https://github.com/preactjs/wmr/pull/364) Thanks [@developit](https://github.com/developit)! - Fixes a bug introduced in 1.0.0 where Router would duplicate DOM when hydrating `lazy()` components. - -* [`ee75298`](https://github.com/preactjs/wmr/commit/ee752988a190ca3ac34c8614b7ac8c8d4d5a5062) [#368](https://github.com/preactjs/wmr/pull/368) Thanks [@piotr-cz](https://github.com/piotr-cz)! - Fix hydrate parent definition - -## 1.0.0 - -### Major Changes - -- [`c681137`](https://github.com/preactjs/wmr/commit/c681137b29ec521dcec050cba58ed24089629f1b) [#359](https://github.com/preactjs/wmr/pull/359) Thanks [@JoviDeCroock](https://github.com/JoviDeCroock)! - Remove deprecated `useLoc` export - -### Minor Changes - -- [`fab59f8`](https://github.com/preactjs/wmr/commit/fab59f88ecf2b6d2085941a4f92ccd3c78684738) [#354](https://github.com/preactjs/wmr/pull/354) Thanks [@JoviDeCroock](https://github.com/JoviDeCroock)! - Support route params and inject them into the rendered route, add the `useRoute` hook so we can retrieve route parameters from anywhere in the subtree. - -### Patch Changes - -- [`438be29`](https://github.com/preactjs/wmr/commit/438be293346c969384a57f3cfa31931f2722ea5a) [#337](https://github.com/preactjs/wmr/pull/337) Thanks [@cristianbote](https://github.com/cristianbote)! - Show the previous route only for the unresolved thrown routes diff --git a/preact-iso/CODE_OF_CONDUCT.md b/preact-iso/CODE_OF_CONDUCT.md deleted file mode 100644 index 9e81e67..0000000 --- a/preact-iso/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,46 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at hello@preactjs.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version] - -[homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/4/ diff --git a/preact-iso/LICENSE b/preact-iso/LICENSE deleted file mode 100644 index ad648ac..0000000 --- a/preact-iso/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2020 The Preact Authors - -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/preact-iso/README.md b/preact-iso/README.md deleted file mode 100644 index 503bbac..0000000 --- a/preact-iso/README.md +++ /dev/null @@ -1,147 +0,0 @@ -# preact-iso - -Isomorphic async tools for Preact. - -- Lazy-load components using `lazy()` and ``, which also enables progressive hydration. -- Generate static HTML for your app using `prerender()`, waiting for `lazy()` components and data dependencies. -- Implement async-aware client and server-side routing using ``, including seamless async transitions. - -### `lazy.js` - -Make a lazily-loaded version of a Component. -`lazy()` takes an async function that resolves to a Component, and returns a wrapper version of that Component. The wrapper component can be rendered right away, even though the component is only loaded the first time it is rendered. - -```js -import { render } from 'preact'; -import { ErrorBoundary, lazy, Router } from 'preact-iso'; - -// Synchronous, not code-splitted: -// import Home from './routes/home.js'; -// import Profile from './routes/profile.js'; - -// Asynchronous, code-splitted: -const Home = lazy(() => import('./routes/home.js')); -const Profile = lazy(() => import('./routes/profile.js')); - -const App = () => ( - - - - - - -); - -render(, document.body); -``` - -### `prerender.js` - -`prerender()` renders a Virtual DOM tree to an HTML string using [preact-render-to-string](https://github.com/preactjs/preact-render-to-string). The difference is that it is asynchronous, and waits for any Promises thrown by components during rendering (Suspense-style) to resolve before returning the HTML. Nested promises also work, and the maximum depth can be controlled using the `maxDepth` option, which defaults to `10`. - -The Promise returned from `prerender()` resolves to an Object with `html` and `links[]` properties. The `html` property contains your pre-rendered static HTML markup, and `links` is an Array of any non-external URL strings found in links on the generated page. - -```js -import { ErrorBoundary, lazy, prerender } from 'preact-iso'; - -// Asynchronous (throws a promise) -const Foo = lazy(() => import('./foo.js')); - -const App = () => ( - - - -); - -const { html, links } = await prerender(, { maxDepth: 10 }); -``` - -### `hydrate.js` - -`hydrate()` is a thin wrapper around Preact's hydrate() method. It performs hydration when the HTML for the current page includes pre-rendered output from `prerender()`. It falls back to plain rendering in any other cases, which is useful if you're not pre-rendering during development. This method also checks to make sure its running in a browser context before attempting any rendering - if not, it does nothing. - -```js -import { hydrate } from 'preact-iso'; - -const App = () => ( -

-

Hello World

-
-); - -hydrate(); -``` - -### `router.js` - -A simple router for Preact with conventional and hooks-based APIs. The `` component is async-aware: when transitioning from one route to another, if the incoming route suspends (throws a Promise), the outgoing route is preserved until the new one becomes ready. - -```js -import { ErrorBoundary, lazy, LocationProvider, Router, useLocation } from 'preact-iso'; - -// Asynchronous (throws a promise) -const Home = lazy(() => import('./routes/home.js')); -const Profile = lazy(() => import('./routes/profile.js')); -const Profiles = lazy(() => import('./routes/profiles.js')); - -const App = () => ( - - - - - - - - - -); -``` - -During prerendering, the generated HTML includes our full `` and `` component output because it waits for the `lazy()`-wrapped `import()` to resolve. - -You can use the `useRoute` hook to get information of the route you are currently on. - -**Progressive Hydration:** When the app is hydrated on the client, the route (`Home` or `Profile` in this case) suspends. This causes hydration for that part of the page to be deferred until the route's `import()` is resolved, at which point that part of the page automatically finishes hydrating. - -**Seamless Routing:** Switch switching between routes on the client, the Router is aware of asynchronous dependencies in routes. Instead of clearing the current route and showing a loading spinner while waiting for the next route (or its data), the router preserves the current route in-place until the incoming route has finished loading, then they are swapped. - -### Nested Routing - -Nested routes are supported by using multiple `Router` components. Partially matched routes end with a wildcard `/*` and the remaining value will be past to continue matching with if there are any further routes. - -```jsx -import { ErrorBoundary, LocationProvider, Router, Route } from 'preact-iso'; - -function ProfileA() { - return

A

; -} - -function ProfileB() { - return

B

; -} - -function Profile() { - return ( -
-

Profile

- - - - - - -
- ); -} - -const App = () => ( - - - - - - - - -); -``` diff --git a/preact-iso/bun.lockb b/preact-iso/bun.lockb deleted file mode 100755 index 2525bb1609ddcf0189009de7aa3f450d405eb51e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 138621 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 Izwkf*1H=gF&;S4c diff --git a/preact-iso/jsconfig.json b/preact-iso/jsconfig.json deleted file mode 100644 index d8885de..0000000 --- a/preact-iso/jsconfig.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "compilerOptions": { - "target": "ESNext", - "module": "NodeNext", - "moduleResolution": "NodeNext", - "noEmit": true, - "allowJs": true, - "checkJs": true - } -} diff --git a/preact-iso/package.json b/preact-iso/package.json deleted file mode 100644 index 188bff2..0000000 --- a/preact-iso/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "preact-iso", - "version": "2.4.0", - "type": "module", - "main": "src/index.js", - "module": "src/index.js", - "types": "src/index.d.ts", - "exports": { - ".": "./src/index.js", - "./router": "./src/router.js", - "./lazy": "./src/lazy.js", - "./prerender": "./src/prerender.js", - "./hydrate": "./src/hydrate.js" - }, - "license": "MIT", - "description": "Isomorphic utilities for Preact", - "author": "The Preact Authors (https://preactjs.com)", - "repository": { - "type": "git", - "url": "git+https://github.com/preactjs/preact-iso.git" - }, - "files": [ - "src", - "LICENSE", - "package.json", - "README.md" - ], - "scripts": { - "test": "node --experimental-vm-modules node_modules/.bin/jest" - }, - "jest": { - "testEnvironment": "jsdom", - "testEnvironmentOptions": { - "customExportConditions": [ - "node", - "node-addons" - ] - } - }, - "peerDependencies": { - "preact": ">=10", - "preact-render-to-string": ">=5" - }, - "peerDependenciesMeta": { - "preact-render-to-string": { - "optional": true - } - }, - "devDependencies": { - "htm": "^3.1.1", - "jest": "^29.7.0", - "jest-environment-jsdom": "^29.7.0", - "jsdom": "^22.1.0", - "preact": "10.15.1", - "preact-render-to-string": "^6.2.2" - } -} \ No newline at end of file diff --git a/preact-iso/src/hydrate.d.ts b/preact-iso/src/hydrate.d.ts deleted file mode 100644 index ace9158..0000000 --- a/preact-iso/src/hydrate.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { ComponentChild } from 'preact'; - -export default function hydrate(jsx: ComponentChild, parent?: Element | Document | ShadowRoot | DocumentFragment): void; diff --git a/preact-iso/src/hydrate.js b/preact-iso/src/hydrate.js deleted file mode 100644 index 68d9375..0000000 --- a/preact-iso/src/hydrate.js +++ /dev/null @@ -1,17 +0,0 @@ -import { render, hydrate as hydrativeRender } from 'preact'; - -let initialized; - -/** @type {typeof render} */ -export default function hydrate(jsx, parent) { - if (typeof window === 'undefined') return; - let isodata = document.querySelector('script[type=isodata]'); - // @ts-ignore-next - parent = parent || (isodata && isodata.parentNode) || document.body; - if (!initialized && isodata) { - hydrativeRender(jsx, parent); - } else { - render(jsx, parent); - } - initialized = true; -} diff --git a/preact-iso/src/index.d.ts b/preact-iso/src/index.d.ts deleted file mode 100644 index 70ba4a2..0000000 --- a/preact-iso/src/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { default as prerender } from './prerender.js'; -export * from './router.js'; -export { default as lazy, ErrorBoundary } from './lazy.js'; -export { default as hydrate } from './hydrate.js'; diff --git a/preact-iso/src/index.js b/preact-iso/src/index.js deleted file mode 100644 index 3bfc751..0000000 --- a/preact-iso/src/index.js +++ /dev/null @@ -1,7 +0,0 @@ -export { Router, LocationProvider, useLocation, Route, useRoute } from './router.js'; -export { default as lazy, ErrorBoundary } from './lazy.js'; -export { default as hydrate } from './hydrate.js'; - -export function prerender(vnode, options) { - return import('./prerender.js').then(m => m.default(vnode, options)); -} diff --git a/preact-iso/src/lazy.d.ts b/preact-iso/src/lazy.d.ts deleted file mode 100644 index 829cdf3..0000000 --- a/preact-iso/src/lazy.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { ComponentChildren, VNode } from 'preact'; - -export default function lazy(load: () => Promise<{ default: T } | T>): T; - -export function ErrorBoundary(props: { children?: ComponentChildren; onError?: (error: Error) => void }): VNode; diff --git a/preact-iso/src/lazy.js b/preact-iso/src/lazy.js deleted file mode 100644 index 9670e8d..0000000 --- a/preact-iso/src/lazy.js +++ /dev/null @@ -1,43 +0,0 @@ -import { h, options } from 'preact'; -import { useState, useRef } from 'preact/hooks'; - -export default function lazy(load) { - let p, c; - return props => { - const [, update] = useState(0); - const r = useRef(c); - if (!p) p = load().then(m => (c = (m && m.default) || m)); - if (c !== undefined) return h(c, props); - if (!r.current) r.current = p.then(() => update(1)); - throw p; - }; -} - -// See https://github.com/preactjs/preact/blob/88680e91ec0d5fc29d38554a3e122b10824636b6/compat/src/suspense.js#L5 -const oldCatchError = options.__e; -options.__e = (err, newVNode, oldVNode) => { - if (err && err.then) { - let v = newVNode; - while ((v = v.__)) { - if (v.__c && v.__c.__c) { - if (newVNode.__e == null) { - newVNode.__e = oldVNode.__e; // ._dom - newVNode.__k = oldVNode.__k; // ._children - } - if (!newVNode.__k) newVNode.__k = []; - return v.__c.__c(err, newVNode); - } - } - } - if (oldCatchError) oldCatchError(err, newVNode, oldVNode); -}; - -export function ErrorBoundary(props) { - this.__c = childDidSuspend; - this.componentDidCatch = props.onError; - return props.children; -} - -function childDidSuspend(err) { - err.then(() => this.forceUpdate()); -} diff --git a/preact-iso/src/prerender.d.ts b/preact-iso/src/prerender.d.ts deleted file mode 100644 index 2475644..0000000 --- a/preact-iso/src/prerender.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { VNode } from "preact"; - -export interface PrerenderOptions { - props?: Record; -} - -export interface PrerenderResult { - html: string; - links?: Set; -} - -export default function prerender( - vnode: VNode, - options?: PrerenderOptions -): Promise; diff --git a/preact-iso/src/prerender.js b/preact-iso/src/prerender.js deleted file mode 100644 index f36318b..0000000 --- a/preact-iso/src/prerender.js +++ /dev/null @@ -1,48 +0,0 @@ -import { h, options, cloneElement } from "preact"; -import { renderToStringAsync } from "preact-render-to-string"; - -let vnodeHook; - -const old = options.vnode; -options.vnode = (vnode) => { - if (old) old(vnode); - if (vnodeHook) vnodeHook(vnode); -}; - -/** - * @param {ReturnType} vnode The root JSX element to render (eg: ``) - * @param {object} [options] - * @param {object} [options.props] Additional props to merge into the root JSX element - */ -export default async function prerender(vnode, options) { - options = options || {}; - - const props = options.props; - - if (typeof vnode === "function") { - vnode = h(vnode, props); - } else if (props) { - vnode = cloneElement(vnode, props); - } - - let links = new Set(); - vnodeHook = ({ type, props }) => { - if ( - type === "a" && - props && - props.href && - (!props.target || props.target === "_self") - ) { - links.add(props.href); - } - }; - - try { - const html = `${await renderToStringAsync( - vnode - )}`; - return { html, links }; - } finally { - vnodeHook = null; - } -} diff --git a/preact-iso/src/router.d.ts b/preact-iso/src/router.d.ts deleted file mode 100644 index 6180823..0000000 --- a/preact-iso/src/router.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { AnyComponent, FunctionComponent, VNode } from 'preact'; - -export const LocationProvider: FunctionComponent; - -export function Router(props: { - onRouteChange?: (url: string) => void; - onLoadEnd?: (url: string) => void; - onLoadStart?: (url: string) => void; - children?: VNode[]; -}): VNode; - -interface LocationHook { - url: string; - path: string; - query: Record; - route: (url: string, replace?: boolean) => void; -} -export const useLocation: () => LocationHook; - -export const useRoute: () => { - path: string; - query: Record; - params: Record; -}; - -interface RoutableProps { - path?: string; - default?: boolean; -} - -export interface RouteProps extends RoutableProps { - component: AnyComponent; -} - -export function Route(props: RouteProps & Partial): VNode; - -declare module 'preact' { - namespace JSX { - interface IntrinsicAttributes extends RoutableProps {} - } - interface Attributes extends RoutableProps {} -} diff --git a/preact-iso/src/router.js b/preact-iso/src/router.js deleted file mode 100644 index 748c0db..0000000 --- a/preact-iso/src/router.js +++ /dev/null @@ -1,216 +0,0 @@ -import { h, createContext, cloneElement, toChildArray } from 'preact'; -import { useContext, useMemo, useReducer, useLayoutEffect, useRef } from 'preact/hooks'; - -let push; -const UPDATE = (state, url) => { - push = undefined; - if (url && url.type === 'click') { - // ignore events the browser takes care of already: - if (url.ctrlKey || url.metaKey || url.altKey || url.shiftKey || url.button !== 0) { - return state; - } - - const link = url.target.closest('a[href]'); - if ( - !link || - link.origin != location.origin || - /^#/.test(link.getAttribute('href')) || - !/^(_?self)?$/i.test(link.target) - ) { - return state; - } - - push = true; - url.preventDefault(); - url = link.href.replace(location.origin, ''); - } else if (typeof url === 'string') { - push = true; - } else if (url && url.url) { - push = !url.replace; - url = url.url; - } else { - url = location.pathname + location.search; - } - - if (push === true) history.pushState(null, '', url); - else if (push === false) history.replaceState(null, '', url); - return url; -}; - -export const exec = (url, route, matches) => { - url = url.split('/').filter(Boolean); - route = (route || '').split('/').filter(Boolean); - for (let i = 0, val, rest; i < Math.max(url.length, route.length); i++) { - let [, m, param, flag] = (route[i] || '').match(/^(:?)(.*?)([+*?]?)$/); - val = url[i]; - // segment match: - if (!m && param == val) continue; - // /foo/* match - if (!m && val && flag == '*') { - matches.rest = '/' + url.slice(i).map(decodeURIComponent).join('/'); - break; - } - // segment mismatch / missing required field: - if (!m || (!val && flag != '?' && flag != '*')) return; - rest = flag == '+' || flag == '*'; - // rest (+/*) match: - if (rest) val = url.slice(i).map(decodeURIComponent).join('/'); - // normal/optional field: - else if (val) val = decodeURIComponent(val); - matches.params[param] = val; - if (!(param in matches)) matches[param] = val; - if (rest) break; - } - return matches; -}; - -export function LocationProvider(props) { - const [url, route] = useReducer(UPDATE, props.url || location.pathname + location.search); - const wasPush = push === true; - - const value = useMemo(() => { - const u = new URL(url, location.origin); - const path = u.pathname.replace(/(.)\/$/g, '$1'); - // @ts-ignore-next - return { - url, - path, - query: Object.fromEntries(u.searchParams), - route: (url, replace) => route({ url, replace }), - wasPush - }; - }, [url]); - - useLayoutEffect(() => { - addEventListener('click', route); - addEventListener('popstate', route); - - return () => { - removeEventListener('click', route); - removeEventListener('popstate', route); - }; - }, []); - - // @ts-ignore - return h(LocationProvider.ctx.Provider, { value }, props.children); -} - -const RESOLVED = Promise.resolve(); -export function Router(props) { - const [c, update] = useReducer(c => c + 1, 0); - - const { url, query, wasPush, path } = useLocation(); - const { rest = path, params = {} } = useContext(RouteContext); - - const isLoading = useRef(false); - const prevRoute = useRef(path); - // Monotonic counter used to check if an un-suspending route is still the current route: - const count = useRef(0); - // The current route: - const cur = useRef(); - // Previous route (if current route is suspended): - const prev = useRef(); - // A not-yet-hydrated DOM root to remove once we commit: - const pendingBase = useRef(); - // has this component ever successfully rendered without suspending: - const hasEverCommitted = useRef(false); - // was the most recent render successful (did not suspend): - const didSuspend = useRef(); - didSuspend.current = false; - - cur.current = useMemo(() => { - // This hack prevents Preact from diffing when we swap `cur` to `prev`: - if (this.__v && this.__v.__k) this.__v.__k.reverse(); - - count.current++; - - prev.current = cur.current; - - let p, d, m; - toChildArray(props.children).some(vnode => { - const matches = exec(rest, vnode.props.path, (m = { path: rest, query, params, rest: '' })); - if (matches) return (p = cloneElement(vnode, m)); - if (vnode.props.default) d = cloneElement(vnode, m); - }); - - return h(RouteContext.Provider, { value: m }, p || d); - }, [url]); - - // Reset previous children - if rendering succeeds synchronously, we shouldn't render the previous children. - const p = prev.current; - prev.current = null; - - // This borrows the _childDidSuspend() solution from compat. - this.__c = e => { - // Mark the current render as having suspended: - didSuspend.current = true; - - // The new route suspended, so keep the previous route around while it loads: - prev.current = p; - - // Fire an event saying we're waiting for the route: - if (props.onLoadStart) props.onLoadStart(url); - isLoading.current = true; - - // Re-render on unsuspend: - let c = count.current; - e.then(() => { - // Ignore this update if it isn't the most recently suspended update: - if (c !== count.current) return; - - // Successful route transition: un-suspend after a tick and stop rendering the old route: - prev.current = null; - RESOLVED.then(update); - }); - }; - - useLayoutEffect(() => { - const currentDom = this.__v && this.__v.__e; - - // Ignore suspended renders (failed commits): - if (didSuspend.current) { - // If we've never committed, mark any hydration DOM for removal on the next commit: - if (!hasEverCommitted.current && !pendingBase.current) { - pendingBase.current = currentDom; - } - return; - } - - // If this is the first ever successful commit and we didn't use the hydration DOM, remove it: - if (!hasEverCommitted.current && pendingBase.current) { - if (pendingBase.current !== currentDom) pendingBase.current.remove(); - pendingBase.current = null; - } - - // Mark the component has having committed: - hasEverCommitted.current = true; - - // The route is loaded and rendered. - if (prevRoute.current !== path) { - if (wasPush) scrollTo(0, 0); - if (props.onLoadEnd && isLoading.current) props.onLoadEnd(url); - if (props.onRouteChange) props.onRouteChange(url); - - isLoading.current = false; - prevRoute.current = path; - } - }, [path, wasPush, c]); - - // Note: curChildren MUST render first in order to set didSuspend & prev. - return [h(RenderRef, { r: cur }), h(RenderRef, { r: prev })]; -} - -// Lazily render a ref's current value: -const RenderRef = ({ r }) => r.current; - -Router.Provider = LocationProvider; - -/** @typedef {{ url: string, path: string, query: object, route, wasPush: boolean }} RouteInfo */ - -LocationProvider.ctx = createContext(/** @type {RouteInfo} */ ({})); -const RouteContext = createContext({}); - -export const Route = props => h(props.component, props); - -export const useLocation = () => useContext(LocationProvider.ctx); -export const useRoute = () => useContext(RouteContext); diff --git a/preact-iso/test/match.test.js b/preact-iso/test/match.test.js deleted file mode 100644 index 1576528..0000000 --- a/preact-iso/test/match.test.js +++ /dev/null @@ -1,107 +0,0 @@ -import { describe, it, expect } from '@jest/globals'; -import { exec } from '../src/router.js'; - -function execPath(path, pattern, opts) { - return exec(path, pattern, { path, query: {}, params: {}, ...(opts || {}) }); -} - -describe('match', () => { - it('Base route', () => { - const accurateResult = execPath('/', '/'); - expect(accurateResult).toEqual({ path: '/', params: {}, query: {} }); - - const inaccurateResult = execPath('/user/1', '/'); - expect(inaccurateResult).toEqual(undefined); - }); - - it('Param route', () => { - const accurateResult = execPath('/user/2', '/user/:id'); - expect(accurateResult).toEqual({ path: '/user/2', params: { id: '2' }, id: '2', query: {} }); - - const inaccurateResult = execPath('/', '/user/:id'); - expect(inaccurateResult).toEqual(undefined); - }); - - it('Param rest segment', () => { - const accurateResult = execPath('/user/foo', '/user/*'); - expect(accurateResult).toEqual({ path: '/user/foo', params: {}, query: {}, rest: '/foo' }); - - const inaccurateResult = execPath('/', '/user/:id/*'); - expect(inaccurateResult).toEqual(undefined); - }); - - it('Param route with rest segment', () => { - const accurateResult = execPath('/user/2/foo', '/user/:id/*'); - expect(accurateResult).toEqual({ path: '/user/2/foo', params: { id: '2' }, id: '2', query: {}, rest: '/foo' }); - - const accurateResult2 = execPath('/user/2/foo/bar/bob', '/user/:id/*'); - expect(accurateResult2).toEqual({ - path: '/user/2/foo/bar/bob', - params: { id: '2' }, - id: '2', - query: {}, - rest: '/foo/bar/bob' - }); - - const inaccurateResult = execPath('/', '/user/:id/*'); - expect(inaccurateResult).toEqual(undefined); - }); - - it('Optional param route', () => { - const accurateResult = execPath('/user', '/user/:id?'); - expect(accurateResult).toEqual({ path: '/user', params: { id: undefined }, id: undefined, query: {} }); - - const inaccurateResult = execPath('/', '/user/:id?'); - expect(inaccurateResult).toEqual(undefined); - }); - - it('Optional rest param route "/:x*"', () => { - const accurateResult = execPath('/user', '/user/:id?'); - expect(accurateResult).toEqual({ path: '/user', params: { id: undefined }, id: undefined, query: {} }); - - const inaccurateResult = execPath('/', '/user/:id?'); - expect(inaccurateResult).toEqual(undefined); - }); - - it('Rest param route "/:x+"', () => { - const matchedResult = execPath('/user/foo', '/user/:id+'); - expect(matchedResult).toEqual({ path: '/user/foo', params: { id: 'foo' }, id: 'foo', query: {} }); - - const matchedResultWithSlash = execPath('/user/foo/bar', '/user/:id+'); - expect(matchedResultWithSlash).toEqual({ - path: '/user/foo/bar', - params: { id: 'foo/bar' }, - id: 'foo/bar', - query: {} - }); - - const emptyResult = execPath('/user', '/user/:id+'); - expect(emptyResult).toEqual(undefined); - - const mismatchedResult = execPath('/', '/user/:id+'); - expect(mismatchedResult).toEqual(undefined); - }); - - it('Handles leading/trailing slashes', () => { - const result = execPath('/about-late/_SEGMENT1_/_SEGMENT2_/', '/about-late/:seg1/:seg2/'); - expect(result).toEqual({ - path: '/about-late/_SEGMENT1_/_SEGMENT2_/', - params: { - seg1: '_SEGMENT1_', - seg2: '_SEGMENT2_' - }, - seg1: '_SEGMENT1_', - seg2: '_SEGMENT2_', - query: {} - }); - }); - - it('should not overwrite existing properties', () => { - const result = execPath('/foo/bar', '/:path/:query', { path: '/custom-path' }); - expect(result).toEqual({ - params: { path: 'foo', query: 'bar' }, - path: '/custom-path', - query: {} - }); - }); -}); diff --git a/preact-iso/test/router.test.js b/preact-iso/test/router.test.js deleted file mode 100644 index e1f4bf5..0000000 --- a/preact-iso/test/router.test.js +++ /dev/null @@ -1,535 +0,0 @@ -import { jest, describe, it, beforeEach, expect } from '@jest/globals'; -import { h, render } from 'preact'; -import { html } from 'htm/preact'; -import { LocationProvider, Router, useLocation, Route, useRoute } from '../src/router.js'; -import lazy, { ErrorBoundary } from '../src/lazy.js'; - -Object.defineProperty(window, 'scrollTo', { value() {} }); - -const sleep = ms => new Promise(r => setTimeout(r, ms)); - -// delayed lazy() -const groggy = (component, ms) => lazy(() => sleep(ms).then(() => component)); - -describe('Router', () => { - let scratch; - beforeEach(() => { - if (scratch) { - render(null, scratch); - scratch.remove(); - } - scratch = document.createElement('scratch'); - document.body.appendChild(scratch); - history.replaceState(null, null, '/'); - }); - - it('should switch between synchronous routes', async () => { - const Home = jest.fn(() => html`

Home

`); - const Profiles = jest.fn(() => html`

Profiles

`); - const Profile = jest.fn(({ params }) => html`

Profile: ${params.id}

`); - const Fallback = jest.fn(() => html`

Fallback

`); - const stack = []; - let loc; - render( - html` - <${LocationProvider}> - <${Router} - onRouteChange=${url => { - stack.push(url); - }} - > - <${Home} path="/" /> - <${Profiles} path="/profiles" /> - <${Profile} path="/profiles/:id" /> - <${Fallback} default /> - - <${() => { - loc = useLocation(); - }} /> - - `, - scratch - ); - - expect(scratch).toHaveProperty('textContent', 'Home'); - expect(Home).toHaveBeenCalledWith({ path: '/', query: {}, params: {}, rest: '' }, expect.anything()); - expect(Profiles).not.toHaveBeenCalled(); - expect(Profile).not.toHaveBeenCalled(); - expect(Fallback).not.toHaveBeenCalled(); - expect(loc).toMatchObject({ - url: '/', - path: '/', - query: {}, - route: expect.any(Function) - }); - - Home.mockReset(); - loc.route('/profiles'); - await sleep(1); - - expect(scratch).toHaveProperty('textContent', 'Profiles'); - expect(Home).not.toHaveBeenCalled(); - expect(Profiles).toHaveBeenCalledWith({ path: '/profiles', query: {}, params: {}, rest: '' }, expect.anything()); - expect(Profile).not.toHaveBeenCalled(); - expect(Fallback).not.toHaveBeenCalled(); - - expect(loc).toMatchObject({ - url: '/profiles', - path: '/profiles', - query: {} - }); - - Profiles.mockReset(); - loc.route('/profiles/bob'); - await sleep(1); - - expect(scratch).toHaveProperty('textContent', 'Profile: bob'); - expect(Home).not.toHaveBeenCalled(); - expect(Profiles).not.toHaveBeenCalled(); - expect(Profile).toHaveBeenCalledWith( - { path: '/profiles/bob', query: {}, params: { id: 'bob' }, id: 'bob', rest: '' }, - expect.anything() - ); - expect(Fallback).not.toHaveBeenCalled(); - - expect(loc).toMatchObject({ - url: '/profiles/bob', - path: '/profiles/bob', - query: {} - }); - - Profile.mockReset(); - loc.route('/other?a=b&c=d'); - await sleep(1); - - expect(scratch).toHaveProperty('textContent', 'Fallback'); - expect(Home).not.toHaveBeenCalled(); - expect(Profiles).not.toHaveBeenCalled(); - expect(Profile).not.toHaveBeenCalled(); - expect(Fallback).toHaveBeenCalledWith( - { default: true, path: '/other', query: { a: 'b', c: 'd' }, params: {}, rest: '' }, - expect.anything() - ); - - expect(loc).toMatchObject({ - url: '/other?a=b&c=d', - path: '/other', - query: { a: 'b', c: 'd' } - }); - expect(stack).toEqual(['/profiles', '/profiles/bob', '/other?a=b&c=d']); - }); - - it('should wait for asynchronous routes', async () => { - const route = name => html` -

${name}

-

hello

- `; - const A = jest.fn(groggy(() => route('A'), 1)); - const B = jest.fn(groggy(() => route('B'), 1)); - const C = jest.fn(groggy(() => html`

C

`, 1)); - let loc; - render( - html` - <${ErrorBoundary}> - <${LocationProvider}> - <${Router}> - <${A} path="/" /> - <${B} path="/b" /> - <${C} path="/c" /> - - <${() => { - loc = useLocation(); - }} /> - - - `, - scratch - ); - - expect(scratch).toHaveProperty('innerHTML', ''); - expect(A).toHaveBeenCalledWith({ path: '/', query: {}, params: {}, rest: '' }, expect.anything()); - - A.mockClear(); - await sleep(10); - - expect(scratch).toHaveProperty('innerHTML', '

A

hello

'); - expect(A).toHaveBeenCalledWith({ path: '/', query: {}, params: {}, rest: '' }, expect.anything()); - - A.mockClear(); - loc.route('/b'); - - expect(scratch).toHaveProperty('innerHTML', '

A

hello

'); - expect(A).not.toHaveBeenCalled(); - - await sleep(1); - - expect(scratch).toHaveProperty('innerHTML', '

A

hello

'); - // We should never re-invoke while loading (that would be a remount of the old route): - //expect(A).not.toHaveBeenCalled(); - //expect(B).toHaveBeenCalledWith({ path: '/b', query: {}, params: {}, rest: '' }, expect.anything()); - - B.mockClear(); - await sleep(10); - - expect(scratch).toHaveProperty('innerHTML', '

B

hello

'); - expect(A).not.toHaveBeenCalled(); - expect(B).toHaveBeenCalledWith({ path: '/b', query: {}, params: {}, rest: '' }, expect.anything()); - - B.mockClear(); - loc.route('/c'); - loc.route('/c?1'); - loc.route('/c'); - - expect(scratch).toHaveProperty('innerHTML', '

B

hello

'); - expect(B).not.toHaveBeenCalled(); - - await sleep(1); - - loc.route('/c'); - loc.route('/c?2'); - loc.route('/c'); - - expect(scratch).toHaveProperty('innerHTML', '

B

hello

'); - // We should never re-invoke
while loading (that would be a remount of the old route): - expect(B).not.toHaveBeenCalled(); - expect(C).toHaveBeenCalledWith({ path: '/c', query: {}, params: {}, rest: '' }, expect.anything()); - - C.mockClear(); - await sleep(10); - - expect(scratch).toHaveProperty('innerHTML', '

C

'); - expect(B).not.toHaveBeenCalled(); - expect(C).toHaveBeenCalledWith({ path: '/c', query: {}, params: {}, rest: '' }, expect.anything()); - - // "instant" routing to already-loaded routes - - C.mockClear(); - B.mockClear(); - loc.route('/b'); - await sleep(1); - - expect(scratch).toHaveProperty('innerHTML', '

B

hello

'); - expect(C).not.toHaveBeenCalled(); - // expect(B).toHaveBeenCalledTimes(1); - expect(B).toHaveBeenCalledWith({ path: '/b', query: {}, params: {}, rest: '' }, expect.anything()); - - B.mockClear(); - loc.route('/'); - await sleep(1); - - expect(scratch).toHaveProperty('innerHTML', '

A

hello

'); - expect(B).not.toHaveBeenCalled(); - // expect(A).toHaveBeenCalledTimes(1); - expect(A).toHaveBeenCalledWith({ path: '/', query: {}, params: {}, rest: '' }, expect.anything()); - }); - - describe('intercepted VS external links', () => { - const shouldIntercept = [null, '', '_self', 'self', '_SELF']; - const shouldNavigate = ['_top', '_parent', '_blank', 'custom', '_BLANK']; - - // prevent actual navigations (not implemented in JSDOM) - const clickHandler = jest.fn(e => e.preventDefault()); - - const Route = jest.fn( - () => html` -
- ` - ); - - let pushState, loc; - - beforeAll(() => { - pushState = jest.spyOn(history, 'pushState'); - addEventListener('click', clickHandler); - }); - - afterAll(() => { - pushState.mockRestore(); - removeEventListener('click', clickHandler); - }); - - beforeEach(async () => { - render( - html` - <${LocationProvider}> - <${Router}> - <${Route} default /> - - <${() => { - loc = useLocation(); - }} /> - - `, - scratch - ); - await sleep(10); - Route.mockClear(); - clickHandler.mockClear(); - pushState.mockClear(); - }); - - const getName = target => (target == null ? 'no target attribute' : `target="${target}"`); - - // these should all be intercepted by the router. - for (const target of shouldIntercept) { - it(`should intercept clicks on links with ${getName(target)}`, async () => { - await sleep(10); - - const sel = target == null ? `a:not([target])` : `a[target="${target}"]`; - const el = scratch.querySelector(sel); - if (!el) throw Error(`Unable to find link: ${sel}`); - const url = el.getAttribute('href'); - el.click(); - await sleep(1); - expect(loc).toMatchObject({ url }); - expect(Route).toHaveBeenCalledTimes(1); - expect(pushState).toHaveBeenCalledWith(null, '', url); - expect(clickHandler).toHaveBeenCalled(); - }); - } - - // these should all navigate. - for (const target of shouldNavigate) { - it(`should allow default browser navigation for links with ${getName(target)}`, async () => { - await sleep(10); - - const sel = target == null ? `a:not([target])` : `a[target="${target}"]`; - const el = scratch.querySelector(sel); - if (!el) throw Error(`Unable to find link: ${sel}`); - el.click(); - await sleep(1); - expect(Route).not.toHaveBeenCalled(); - expect(pushState).not.toHaveBeenCalled(); - expect(clickHandler).toHaveBeenCalled(); - }); - } - }); - - it('should scroll to top when navigating forward', async () => { - const scrollTo = jest.spyOn(window, 'scrollTo'); - - const Route = jest.fn(() => html``); - let loc; - render( - html` - <${LocationProvider}> - <${Router}> - <${Route} default /> - - <${() => { - loc = useLocation(); - }} /> - - `, - scratch - ); - - await sleep(20); - - expect(scrollTo).not.toHaveBeenCalled(); - expect(Route).toHaveBeenCalledTimes(1); - Route.mockClear(); - - loc.route('/programmatic'); - await sleep(10); - expect(loc).toMatchObject({ url: '/programmatic' }); - expect(scrollTo).toHaveBeenCalledWith(0, 0); - expect(scrollTo).toHaveBeenCalledTimes(1); - expect(Route).toHaveBeenCalledTimes(1); - Route.mockClear(); - scrollTo.mockClear(); - - scratch.querySelector('a').click(); - await sleep(10); - expect(loc).toMatchObject({ url: '/link' }); - expect(scrollTo).toHaveBeenCalledWith(0, 0); - expect(scrollTo).toHaveBeenCalledTimes(1); - expect(Route).toHaveBeenCalledTimes(1); - Route.mockClear(); - - await sleep(10); - scrollTo.mockRestore(); - }); - - it('should ignore clicks on anchor links', async () => { - let loc; - const pushState = jest.spyOn(history, 'pushState'); - - const Route = jest.fn( - () => html` - - ` - ); - render( - html` - <${LocationProvider}> - <${Router}> - <${Route} path="/" /> - <${Route} path="/other" /> - <${Route} default /> - - <${() => { - loc = useLocation(); - }} /> - - `, - scratch - ); - - expect(Route).toHaveBeenCalledTimes(1); - Route.mockClear(); - await sleep(20); - - scratch.querySelector('a[href="#foo"]').click(); - await sleep(20); - // NOTE: we don't (currently) propagate in-page anchor navigations into context, to avoid useless renders. - expect(loc).toMatchObject({ url: '/' }); - expect(Route).not.toHaveBeenCalled(); - expect(pushState).not.toHaveBeenCalled(); - expect(location.hash).toEqual('#foo'); - - await sleep(10); - - scratch.querySelector('a[href="/other#bar"]').click(); - await sleep(10); - expect(Route).toHaveBeenCalledTimes(1); - expect(loc).toMatchObject({ url: '/other#bar', path: '/other' }); - expect(pushState).toHaveBeenCalled(); - expect(location.hash).toEqual('#bar'); - - pushState.mockRestore(); - }); - - it('should normalize children', async () => { - let loc; - const pushState = jest.spyOn(history, 'pushState'); - const Route = jest.fn(() => html`foo`); - - const routes = ['/foo', '/bar']; - render( - html` - <${LocationProvider}> - <${Router}> - ${routes.map(route => html`<${Route} path=${route} />`)} - <${Route} default /> - - <${() => { - loc = useLocation(); - }} /> - - `, - scratch - ); - - expect(Route).toHaveBeenCalledTimes(1); - Route.mockClear(); - await sleep(20); - - scratch.querySelector('a[href="/foo#foo"]').click(); - await sleep(20); - expect(Route).toHaveBeenCalledTimes(1); - expect(loc).toMatchObject({ url: '/foo#foo', path: '/foo' }); - expect(pushState).toHaveBeenCalled(); - - pushState.mockRestore(); - }); - - it('should match nested routes', async () => { - let route; - const Inner = () => html` - <${Router}> - <${Route} - path="/bob" - component=${() => { - route = useRoute(); - return null; - }} - /> - - `; - - render( - html` - <${LocationProvider}> - <${Router}> - <${Route} path="/foo/:id/*" component=${Inner} /> - - - - `, - scratch - ); - - scratch.querySelector('a[href="/foo/bar/bob"]').click(); - await sleep(20); - expect(route).toMatchObject({ path: '/bob', params: { id: 'bar' } }); - }); - - it('should append params in nested routes', async () => { - let params; - const Inner = () => html` - <${Router}> - <${Route} - path="/bob" - component=${() => { - params = useRoute().params; - return null; - }} - /> - - `; - - render( - html` - <${LocationProvider}> - <${Router}> - <${Route} path="/foo/:id/*" component=${Inner} /> - - - - `, - scratch - ); - - scratch.querySelector('a[href="/foo/bar/bob"]').click(); - await sleep(20); - expect(params).toMatchObject({ id: 'bar' }); - }); - - it('should replace the current URL', async () => { - const pushState = jest.spyOn(history, 'pushState'); - const replaceState = jest.spyOn(history, 'replaceState'); - let loc; - - render( - html` - <${LocationProvider}> - <${Router}> - <${Route} path="/foo" component=${() => null} /> - - <${() => { - loc = useLocation(); - }} /> - - `, - scratch - ); - - await sleep(20); - loc.route("/foo", true); - expect(pushState).not.toHaveBeenCalled(); - expect(replaceState).toHaveBeenCalledWith(null, "", "/foo"); - - pushState.mockRestore(); - replaceState.mockRestore(); - }); -}); diff --git a/preact-iso/yarn.lock b/preact-iso/yarn.lock deleted file mode 100644 index b286172..0000000 --- a/preact-iso/yarn.lock +++ /dev/null @@ -1,2578 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.22.13": - version "7.22.13" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" - integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== - dependencies: - "@babel/highlight" "^7.22.13" - chalk "^2.4.2" - -"@babel/compat-data@^7.22.9": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.22.20.tgz#8df6e96661209623f1975d66c35ffca66f3306d0" - integrity sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.0.tgz#f8259ae0e52a123eb40f552551e647b506a94d83" - integrity sha512-97z/ju/Jy1rZmDxybphrBuI+jtJjFVoz7Mr9yUQVVVi+DNZE333uFQeMOqcCIy1x3WYBIbWftUSLmbNXNT7qFQ== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-compilation-targets" "^7.22.15" - "@babel/helper-module-transforms" "^7.23.0" - "@babel/helpers" "^7.23.0" - "@babel/parser" "^7.23.0" - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" - "@babel/types" "^7.23.0" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.23.0", "@babel/generator@^7.7.2": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.0.tgz#df5c386e2218be505b34837acbcb874d7a983420" - integrity sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g== - dependencies: - "@babel/types" "^7.23.0" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - -"@babel/helper-compilation-targets@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" - integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== - dependencies: - "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.15" - browserslist "^4.21.9" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-environment-visitor@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz#96159db61d34a29dba454c959f5ae4a649ba9167" - integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA== - -"@babel/helper-function-name@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz#1f9a3cdbd5b2698a670c30d2735f9af95ed52759" - integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw== - dependencies: - "@babel/template" "^7.22.15" - "@babel/types" "^7.23.0" - -"@babel/helper-hoist-variables@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz#c01a007dac05c085914e8fb652b339db50d823bb" - integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-module-imports@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" - integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== - dependencies: - "@babel/types" "^7.22.15" - -"@babel/helper-module-transforms@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz#3ec246457f6c842c0aee62a01f60739906f7047e" - integrity sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw== - dependencies: - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-module-imports" "^7.22.15" - "@babel/helper-simple-access" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.20" - -"@babel/helper-plugin-utils@^7.0.0", "@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.22.5", "@babel/helper-plugin-utils@^7.8.0": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" - integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== - -"@babel/helper-simple-access@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" - integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-split-export-declaration@^7.22.6": - version "7.22.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz#322c61b7310c0997fe4c323955667f18fcefb91c" - integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g== - dependencies: - "@babel/types" "^7.22.5" - -"@babel/helper-string-parser@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" - integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz#c4ae002c61d2879e724581d96665583dbc1dc0e0" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/helper-validator-option@^7.22.15": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" - integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== - -"@babel/helpers@^7.23.0": - version "7.23.1" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.1.tgz#44e981e8ce2b9e99f8f0b703f3326a4636c16d15" - integrity sha512-chNpneuK18yW5Oxsr+t553UZzzAs3aZnFm4bxhebsNTeshrC95yA7l5yl7GBAG+JG1rF0F7zzD2EixK9mWSDoA== - dependencies: - "@babel/template" "^7.22.15" - "@babel/traverse" "^7.23.0" - "@babel/types" "^7.23.0" - -"@babel/highlight@^7.22.13": - version "7.22.20" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.22.20.tgz#4ca92b71d80554b01427815e06f2df965b9c1f54" - integrity sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg== - dependencies: - "@babel/helper-validator-identifier" "^7.22.20" - chalk "^2.4.2" - js-tokens "^4.0.0" - -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15", "@babel/parser@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" - integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== - -"@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-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-class-properties@^7.8.3": - 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-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - -"@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-jsx@^7.7.2": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz#a6b68e84fb76e759fc3b93e901876ffabbe1d918" - integrity sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - 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.8.3": - 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-top-level-await@^7.8.3": - 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-syntax-typescript@^7.7.2": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz#aac8d383b062c5072c647a31ef990c1d0af90272" - integrity sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ== - dependencies: - "@babel/helper-plugin-utils" "^7.22.5" - -"@babel/template@^7.22.15", "@babel/template@^7.3.3": - version "7.22.15" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" - integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/parser" "^7.22.15" - "@babel/types" "^7.22.15" - -"@babel/traverse@^7.23.0": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.0.tgz#18196ddfbcf4ccea324b7f6d3ada00d8c5a99c53" - integrity sha512-t/QaEvyIoIkwzpiZ7aoSKK8kObQYeF7T2v+dazAYCb8SXtp58zEVkWW7zAnju8FNKNdr4ScAOEDmMItbyOmEYw== - dependencies: - "@babel/code-frame" "^7.22.13" - "@babel/generator" "^7.23.0" - "@babel/helper-environment-visitor" "^7.22.20" - "@babel/helper-function-name" "^7.23.0" - "@babel/helper-hoist-variables" "^7.22.5" - "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.23.0" - "@babel/types" "^7.23.0" - debug "^4.1.0" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.3.3": - version "7.23.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.0.tgz#8c1f020c9df0e737e4e247c0619f58c68458aaeb" - integrity sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg== - dependencies: - "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@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== - -"@jest/console@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" - integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - -"@jest/core@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" - integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== - dependencies: - "@jest/console" "^29.7.0" - "@jest/reporters" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - ci-info "^3.2.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^29.7.0" - jest-config "^29.7.0" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-resolve-dependencies "^29.7.0" - jest-runner "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - jest-watcher "^29.7.0" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - -"@jest/environment@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" - integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== - dependencies: - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - -"@jest/expect-utils@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" - integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== - dependencies: - jest-get-type "^29.6.3" - -"@jest/expect@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" - integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== - dependencies: - expect "^29.7.0" - jest-snapshot "^29.7.0" - -"@jest/fake-timers@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" - integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== - dependencies: - "@jest/types" "^29.6.3" - "@sinonjs/fake-timers" "^10.0.2" - "@types/node" "*" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -"@jest/globals@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" - integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/types" "^29.6.3" - jest-mock "^29.7.0" - -"@jest/reporters@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" - integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^6.0.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - jest-worker "^29.7.0" - slash "^3.0.0" - string-length "^4.0.1" - strip-ansi "^6.0.0" - v8-to-istanbul "^9.0.1" - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jest/source-map@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" - integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== - dependencies: - "@jridgewell/trace-mapping" "^0.3.18" - callsites "^3.0.0" - graceful-fs "^4.2.9" - -"@jest/test-result@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" - integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== - dependencies: - "@jest/console" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - -"@jest/test-sequencer@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" - integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== - dependencies: - "@jest/test-result" "^29.7.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - slash "^3.0.0" - -"@jest/transform@^29.7.0": - version "29.7.0" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" - integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== - dependencies: - "@babel/core" "^7.11.6" - "@jest/types" "^29.6.3" - "@jridgewell/trace-mapping" "^0.3.18" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^2.0.0" - fast-json-stable-stringify "^2.1.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - write-file-atomic "^4.0.2" - -"@jest/types@^29.6.3": - version "29.6.3" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" - integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== - dependencies: - "@jest/schemas" "^29.6.3" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - -"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - 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.1" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" - integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== - -"@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/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.18", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.19" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz#f8a3249862f91be48d3127c3cfe992f79b4b8811" - integrity sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@sinonjs/commons@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" - integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== - dependencies: - type-detect "4.0.8" - -"@sinonjs/fake-timers@^10.0.2": - version "10.3.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" - integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== - dependencies: - "@sinonjs/commons" "^3.0.0" - -"@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/babel__core@^7.1.14": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.2.tgz#215db4f4a35d710256579784a548907237728756" - integrity sha512-pNpr1T1xLUc2l3xJKuPtsEky3ybxN3m4fJkknfIpTCTfIZCDW57oAg+EfCgIIp2rvCe0Wn++/FfodDS4YXxBwA== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - -"@types/babel__generator@*": - version "7.6.5" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.5.tgz#281f4764bcbbbc51fdded0f25aa587b4ce14da95" - integrity sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w== - dependencies: - "@babel/types" "^7.0.0" - -"@types/babel__template@*": - version "7.4.2" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.2.tgz#843e9f1f47c957553b0c374481dc4772921d6a6b" - integrity sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.20.2.tgz#4ddf99d95cfdd946ff35d2b65c978d9c9bf2645d" - integrity sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw== - dependencies: - "@babel/types" "^7.20.7" - -"@types/graceful-fs@^4.1.3": - version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.7.tgz#30443a2e64fd51113bc3e2ba0914d47109695e2a" - integrity sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw== - dependencies: - "@types/node" "*" - -"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - -"@types/istanbul-lib-report@*": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#412e0725ef41cde73bfa03e0e833eaff41e0fd63" - integrity sha512-gPQuzaPR5h/djlAv2apEG1HVOyj1IUs7GpfMZixU0/0KXT3pm64ylHuMUI1/Akh+sq/iikxg6Z2j+fcMDXaaTQ== - dependencies: - "@types/istanbul-lib-coverage" "*" - -"@types/istanbul-reports@^3.0.0": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.2.tgz#edc8e421991a3b4df875036d381fc0a5a982f549" - integrity sha512-kv43F9eb3Lhj+lr/Hn6OcLCs/sSM8bt+fIaP11rCYngfV6NVjzWXJ17owQtDQTL9tQ8WSLUrGsSJ6rJz0F1w1A== - dependencies: - "@types/istanbul-lib-report" "*" - -"@types/jsdom@^20.0.0": - version "20.0.1" - resolved "https://registry.yarnpkg.com/@types/jsdom/-/jsdom-20.0.1.tgz#07c14bc19bd2f918c1929541cdaacae894744808" - integrity sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ== - dependencies: - "@types/node" "*" - "@types/tough-cookie" "*" - parse5 "^7.0.0" - -"@types/node@*": - version "20.8.2" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.8.2.tgz#d76fb80d87d0d8abfe334fc6d292e83e5524efc4" - integrity sha512-Vvycsc9FQdwhxE3y3DzeIxuEJbWGDsnrxvMADzTDF/lcdR9/K+AQIeAghTQsHtotg/q0j3WEOYS/jQgSdWue3w== - -"@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - -"@types/tough-cookie@*": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.3.tgz#3d06b6769518450871fbc40770b7586334bdfd90" - integrity sha512-THo502dA5PzG/sfQH+42Lw3fvmYkceefOspdCwpHRul8ik2Jv1K8I5OZz1AT3/rs46kwgMCe9bSBmDLYkkOMGg== - -"@types/yargs-parser@*": - version "21.0.1" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.1.tgz#07773d7160494d56aa882d7531aac7319ea67c3b" - integrity sha512-axdPBuLuEJt0c4yI5OZssC19K2Mq1uKdrfZBzuxLvaztgqUtFYZUNw7lETExPYJR9jdEoIg4mb7RQKRQzOkeGQ== - -"@types/yargs@^17.0.8": - version "17.0.26" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.26.tgz#388e5002a8b284ad7b4599ba89920a6d74d8d79a" - integrity sha512-Y3vDy2X6zw/ZCumcwLpdhM5L7jmyGpmBCTYMHDLqT2IKVMYRRLdv6ZakA+wxhra6Z/3bwhNbNl9bDGXaFU+6rw== - dependencies: - "@types/yargs-parser" "*" - -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== - -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-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.8.1: - version "8.10.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" - integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== - -agent-base@6: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -ansi-escapes@^4.2.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -anymatch@^3.0.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^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" - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -babel-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" - integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== - dependencies: - "@jest/transform" "^29.7.0" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^29.6.3" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - -babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - -babel-plugin-jest-hoist@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" - integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.1.14" - "@types/babel__traverse" "^7.0.6" - -babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@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-top-level-await" "^7.8.3" - -babel-preset-jest@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" - integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== - dependencies: - babel-plugin-jest-hoist "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.9: - version "4.22.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.1.tgz#ba91958d1a59b87dab6fed8dfbcb3da5e2e9c619" - integrity sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ== - dependencies: - caniuse-lite "^1.0.30001541" - electron-to-chromium "^1.4.535" - node-releases "^2.0.13" - update-browserslist-db "^1.0.13" - -bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -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@^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.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - -caniuse-lite@^1.0.30001541: - version "1.0.30001546" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001546.tgz#10fdad03436cfe3cc632d3af7a99a0fb497407f0" - integrity sha512-zvtSJwuQFpewSyRrI3AsftF6rM0X80mZkChIt1spBGEvRglCrjTniXvinc8JKRoqTwXAgvqTImaN9igfSMtUBw== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - -ci-info@^3.2.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.9.0.tgz#4279a62028a7b1f262f3473fc9605f5e218c59b4" - integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== - -cjs-module-lexer@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz#6c370ab19f8a3394e318fe682686ec0ac684d107" - integrity sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ== - -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" - -co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - -collect-v8-coverage@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz#c0b29bcd33bcd0779a1344c2136051e6afd3d9e9" - integrity sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q== - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -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" - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -create-jest@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" - integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-config "^29.7.0" - jest-util "^29.7.0" - prompts "^2.0.1" - -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" - -cssstyle@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-3.0.0.tgz#17ca9c87d26eac764bb8cfd00583cff21ce0277a" - integrity sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg== - dependencies: - rrweb-cssom "^0.6.0" - -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" - -data-urls@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-4.0.0.tgz#333a454eca6f9a5b7b0f1013ff89074c3f522dd4" - integrity sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g== - dependencies: - abab "^2.0.6" - whatwg-mimetype "^3.0.0" - whatwg-url "^12.0.0" - -debug@4, debug@^4.1.0, debug@^4.1.1: - 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" - -decimal.js@^10.4.2, decimal.js@^10.4.3: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - -dedent@^1.0.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" - integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== - -deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -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" - -electron-to-chromium@^1.4.535: - version "1.4.543" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.543.tgz#51116ffc9fba1ee93514d6a40d34676aa6d7d1c4" - integrity sha512-t2ZP4AcGE0iKCCQCBx/K2426crYdxD3YU6l0uK2EO3FZH0pbC4pFz/sZm2ruZsND6hQBTcDWWlo/MLpiOdif5g== - -emittery@^0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -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== - -entities@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" - integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== - -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" - -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-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escodegen@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.1.0.tgz#ba93bbb7a43986d29d6041f99f5262da773e2e17" - integrity sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionalDependencies: - source-map "~0.6.1" - -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== - -estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -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== - -execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - -expect@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" - integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== - dependencies: - "@jest/expect-utils" "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - -fast-json-stable-stringify@^2.1.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== - -fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-up@^4.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" - -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" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@^2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-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-stream@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6" - integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ== - -htm@^3.0.4: - version "3.1.1" - resolved "https://registry.yarnpkg.com/htm/-/htm-3.1.1.tgz#49266582be0dc66ed2235d5ea892307cc0c24b78" - integrity sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ== - -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-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" - -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-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - -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" - -import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -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-core-module@^2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" - integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== - dependencies: - has "^1.0.3" - -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-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - -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-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-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== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.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-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - -istanbul-lib-instrument@^6.0.0: - version "6.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" - integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^7.5.4" - -istanbul-lib-report@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz#908305bac9a5bd175ac6a74489eafd0fc2445a7d" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-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.1.3: - version "3.1.6" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.6.tgz#2544bcab4768154281a2f0870471902704ccaa1a" - integrity sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-changed-files@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" - integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== - dependencies: - execa "^5.0.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - -jest-circus@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" - integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/expect" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^1.0.0" - is-generator-fn "^2.0.0" - jest-each "^29.7.0" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-runtime "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - p-limit "^3.1.0" - pretty-format "^29.7.0" - pure-rand "^6.0.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-cli@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" - integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== - dependencies: - "@jest/core" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - chalk "^4.0.0" - create-jest "^29.7.0" - exit "^0.1.2" - import-local "^3.0.2" - jest-config "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - yargs "^17.3.1" - -jest-config@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" - integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== - dependencies: - "@babel/core" "^7.11.6" - "@jest/test-sequencer" "^29.7.0" - "@jest/types" "^29.6.3" - babel-jest "^29.7.0" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-circus "^29.7.0" - jest-environment-node "^29.7.0" - jest-get-type "^29.6.3" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-runner "^29.7.0" - jest-util "^29.7.0" - jest-validate "^29.7.0" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^29.7.0" - slash "^3.0.0" - strip-json-comments "^3.1.1" - -jest-diff@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" - integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.6.3" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-docblock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" - integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== - dependencies: - detect-newline "^3.0.0" - -jest-each@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" - integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== - dependencies: - "@jest/types" "^29.6.3" - chalk "^4.0.0" - jest-get-type "^29.6.3" - jest-util "^29.7.0" - pretty-format "^29.7.0" - -jest-environment-jsdom@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-29.7.0.tgz#d206fa3551933c3fd519e5dfdb58a0f5139a837f" - integrity sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/jsdom" "^20.0.0" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - jsdom "^20.0.0" - -jest-environment-node@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" - integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-mock "^29.7.0" - jest-util "^29.7.0" - -jest-get-type@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" - integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== - -jest-haste-map@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" - integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== - dependencies: - "@jest/types" "^29.6.3" - "@types/graceful-fs" "^4.1.3" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^29.6.3" - jest-util "^29.7.0" - jest-worker "^29.7.0" - micromatch "^4.0.4" - walker "^1.0.8" - optionalDependencies: - fsevents "^2.3.2" - -jest-leak-detector@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" - integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== - dependencies: - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-matcher-utils@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" - integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== - dependencies: - chalk "^4.0.0" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - pretty-format "^29.7.0" - -jest-message-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" - integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.6.3" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.7.0" - slash "^3.0.0" - stack-utils "^2.0.3" - -jest-mock@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" - integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - jest-util "^29.7.0" - -jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - -jest-regex-util@^29.6.3: - version "29.6.3" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" - integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== - -jest-resolve-dependencies@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" - integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== - dependencies: - jest-regex-util "^29.6.3" - jest-snapshot "^29.7.0" - -jest-resolve@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" - integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== - dependencies: - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-pnp-resolver "^1.2.2" - jest-util "^29.7.0" - jest-validate "^29.7.0" - resolve "^1.20.0" - resolve.exports "^2.0.0" - slash "^3.0.0" - -jest-runner@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" - integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== - dependencies: - "@jest/console" "^29.7.0" - "@jest/environment" "^29.7.0" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.13.1" - graceful-fs "^4.2.9" - jest-docblock "^29.7.0" - jest-environment-node "^29.7.0" - jest-haste-map "^29.7.0" - jest-leak-detector "^29.7.0" - jest-message-util "^29.7.0" - jest-resolve "^29.7.0" - jest-runtime "^29.7.0" - jest-util "^29.7.0" - jest-watcher "^29.7.0" - jest-worker "^29.7.0" - p-limit "^3.1.0" - source-map-support "0.5.13" - -jest-runtime@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" - integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== - dependencies: - "@jest/environment" "^29.7.0" - "@jest/fake-timers" "^29.7.0" - "@jest/globals" "^29.7.0" - "@jest/source-map" "^29.6.3" - "@jest/test-result" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^29.7.0" - jest-message-util "^29.7.0" - jest-mock "^29.7.0" - jest-regex-util "^29.6.3" - jest-resolve "^29.7.0" - jest-snapshot "^29.7.0" - jest-util "^29.7.0" - slash "^3.0.0" - strip-bom "^4.0.0" - -jest-snapshot@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" - integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== - dependencies: - "@babel/core" "^7.11.6" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-jsx" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/types" "^7.3.3" - "@jest/expect-utils" "^29.7.0" - "@jest/transform" "^29.7.0" - "@jest/types" "^29.6.3" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^29.7.0" - graceful-fs "^4.2.9" - jest-diff "^29.7.0" - jest-get-type "^29.6.3" - jest-matcher-utils "^29.7.0" - jest-message-util "^29.7.0" - jest-util "^29.7.0" - natural-compare "^1.4.0" - pretty-format "^29.7.0" - semver "^7.5.3" - -jest-util@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" - integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== - dependencies: - "@jest/types" "^29.6.3" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - -jest-validate@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" - integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== - dependencies: - "@jest/types" "^29.6.3" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^29.6.3" - leven "^3.1.0" - pretty-format "^29.7.0" - -jest-watcher@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" - integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== - dependencies: - "@jest/test-result" "^29.7.0" - "@jest/types" "^29.6.3" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.13.1" - jest-util "^29.7.0" - string-length "^4.0.1" - -jest-worker@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" - integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== - dependencies: - "@types/node" "*" - jest-util "^29.7.0" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jest@29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" - integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== - dependencies: - "@jest/core" "^29.7.0" - "@jest/types" "^29.6.3" - import-local "^3.0.2" - jest-cli "^29.7.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.13.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" - -jsdom@^20.0.0: - version "20.0.3" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db" - integrity sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ== - 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" - -jsdom@^22.1.0: - version "22.1.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-22.1.0.tgz#0fca6d1a37fbeb7f4aac93d1090d782c56b611c8" - integrity sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw== - dependencies: - abab "^2.0.6" - cssstyle "^3.0.0" - data-urls "^4.0.0" - decimal.js "^10.4.3" - domexception "^4.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.4" - parse5 "^7.1.2" - rrweb-cssom "^0.6.0" - 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 "^12.0.1" - ws "^8.13.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== - -json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - -leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - -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== - -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" - -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" - -make-dir@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-4.0.0.tgz#c3c2307a771277cd9638305f915c29ae741b614e" - integrity sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw== - dependencies: - semver "^7.5.3" - -makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - -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== - -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.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: - 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" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimatch@^3.0.4, minimatch@^3.1.1: - 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" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - -node-releases@^2.0.13: - version "2.0.13" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.13.tgz#d5ed1627c23e3461e819b02e57b75e4899b1c81d" - integrity sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ== - -normalize-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -nwsapi@^2.2.2, nwsapi@^2.2.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.7.tgz#738e0707d3128cb750dddcfe90e4610482df0f30" - integrity sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -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.1.0: - 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-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== - -parse-json@^5.2.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.0.0, parse5@^7.1.1, parse5@^7.1.2: - 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" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -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.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pirates@^4.0.4: - version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" - integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== - -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" - -preact-render-to-string@^6.2.2: - version "6.2.2" - resolved "https://registry.yarnpkg.com/preact-render-to-string/-/preact-render-to-string-6.2.2.tgz#eb086b6db5d57468ab2c184896884fb0a818245d" - integrity sha512-YDfXQiVeYZutFR8/DpxLSbW3W6b7GgjBExRBxOOqcjrGq5rA9cziitQdNPMZe4RVMSdfBnf4hYqyeLs/KvtIuA== - dependencies: - pretty-format "^3.8.0" - -preact@10.15.1: - version "10.15.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.15.1.tgz#a1de60c9fc0c79a522d969c65dcaddc5d994eede" - integrity sha512-qs2ansoQEwzNiV5eAcRT1p1EC/dmEzaATVDJNiB3g2sRDWdA7b7MurXdJjB2+/WQktGWZwxvDrnuRFbWuIr64g== - -pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -pretty-format@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-3.8.0.tgz#bfbed56d5e9a776645f4b1ff7aa1a3ac4fa3c385" - integrity sha512-WuxUnVtlWL1OfZFQFuqvnvs6MiAGk9UNsBostyBOB0Is9wb5uRESevA6rnl/rkksXaGX3GzZhPup5d6Vp1nFew== - -prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - -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@^2.1.1, punycode@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -pure-rand@^6.0.0: - version "6.0.4" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" - integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== - -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== - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - -resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - -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.exports@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" - integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== - -resolve@^1.20.0: - version "1.22.6" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" - integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -rrweb-cssom@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz#ed298055b97cbddcdeb278f904857629dec5e0e1" - integrity sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw== - -"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" - -semver@^6.3.0, semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -semver@^7.5.3, semver@^7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.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@^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== - -signal-exit@^3.0.3, signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -source-map-support@0.5.13: - version "0.5.13" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" - integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== - 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== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - -string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - -string-width@^4.1.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" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-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-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -strip-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== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^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-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-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== - -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" - -tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -tough-cookie@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.3.tgz#97b9adb0728b42280aa3d814b6b999b2ff0318bf" - integrity sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw== - 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@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-4.1.1.tgz#281a758dcc82aeb4fe38c7dfe4d11a395aac8469" - integrity sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw== - dependencies: - punycode "^2.3.0" - -type-detect@4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - -type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - -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== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.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" - -v8-to-istanbul@^9.0.1: - version "9.1.3" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz#ea456604101cd18005ac2cae3cdd1aa058a6306b" - integrity sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -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" - -walker@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - -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== - -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@^12.0.0, whatwg-url@^12.0.1: - version "12.0.1" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-12.0.1.tgz#fd7bcc71192e7c3a2a97b9a8d6b094853ed8773c" - integrity sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ== - dependencies: - tr46 "^4.1.1" - webidl-conversions "^7.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" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -write-file-atomic@^4.0.2: - version "4.0.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" - integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== - dependencies: - imurmurhash "^0.1.4" - signal-exit "^3.0.7" - -ws@^8.11.0, ws@^8.13.0: - version "8.14.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" - integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== - -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@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - -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@^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@^17.3.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==