diff --git a/.eslintrc.cjs b/.eslintrc.cjs
new file mode 100644
index 00000000..e6b6b2c6
--- /dev/null
+++ b/.eslintrc.cjs
@@ -0,0 +1,39 @@
+/* eslint-env node */
+module.exports = {
+ root: true,
+ parser: '@typescript-eslint/parser',
+ plugins: ['@typescript-eslint'],
+ extends: [
+ 'eslint:recommended',
+ 'plugin:@typescript-eslint/recommended',
+ 'plugin:import/recommended',
+ 'plugin:import/typescript',
+ 'plugin:react/recommended',
+ 'plugin:react/jsx-runtime',
+ 'plugin:react-hooks/recommended',
+ 'plugin:jsx-a11y/recommended',
+ 'prettier',
+ ],
+ ignorePatterns: ['dist/', 'website/'],
+ settings: {
+ 'import/resolver': {
+ typescript: true,
+ },
+ react: { version: 'detect' },
+ },
+ rules: {
+ 'import/no-unresolved': ['error', { ignore: ['react-tracked'] }],
+ '@typescript-eslint/no-unused-vars': [
+ 'error',
+ {
+ args: 'all',
+ argsIgnorePattern: '^_',
+ caughtErrors: 'all',
+ caughtErrorsIgnorePattern: '^_',
+ destructuredArrayIgnorePattern: '^_',
+ varsIgnorePattern: '^_',
+ ignoreRestSiblings: true,
+ },
+ ],
+ },
+};
diff --git a/.eslintrc.json b/.eslintrc.json
deleted file mode 100644
index d6b42512..00000000
--- a/.eslintrc.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "parser": "@typescript-eslint/parser",
- "plugins": [
- "@typescript-eslint",
- "react-hooks"
- ],
- "extends": [
- "plugin:@typescript-eslint/recommended",
- "airbnb"
- ],
- "env": {
- "browser": true
- },
- "settings": {
- "import/resolver": {
- "node": {
- "extensions": [".js", ".ts", ".tsx"]
- }
- }
- },
- "rules": {
- "react-hooks/rules-of-hooks": "error",
- "react-hooks/exhaustive-deps": ["error", { "additionalHooks": "useIsomorphicLayoutEffect" }],
- "@typescript-eslint/explicit-function-return-type": "off",
- "@typescript-eslint/explicit-module-boundary-types": "off",
- "@typescript-eslint/no-explicit-any": "off",
- "react/jsx-filename-extension": ["error", { "extensions": [".js", ".tsx"] }],
- "react/prop-types": "off",
- "react/jsx-one-expression-per-line": "off",
- "import/extensions": ["error", "never"],
- "import/prefer-default-export": "off",
- "import/no-unresolved": ["error", { "ignore": ["react-tracked"] }],
- "no-param-reassign": "off",
- "no-plusplus": "off",
- "no-bitwise": "off",
- "symbol-description": "off",
- "prefer-object-spread": "off",
- "no-use-before-define": "off",
- "no-unused-vars": "off",
- "no-redeclare": "off",
- "react/function-component-definition": ["error", { "namedComponents": "arrow-function" }]
- },
- "overrides": [{
- "files": ["__tests__/**/*"],
- "env": {
- "jest": true
- },
- "rules": {
- "import/no-extraneous-dependencies": ["error", { "devDependencies": true }]
- }
- }, {
- "files": ["examples/**/*"],
- "rules": {
- "import/no-extraneous-dependencies": "off"
- }
- }]
-}
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 00000000..613163b1
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,4 @@
+/pnpm-lock.yaml
+/dist
+/website/pnpm-lock.yaml
+/website/dist
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6194056e..255e4fb1 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,219 +1,327 @@
# Change Log
## [Unreleased]
+
+### Changed
+
+- Module-first setup #209
+
### Added
+
- breaking: make it compatible with memo and react compiler #202
+
### Removed
+
- `memo` is removed as it is no longer necessary with #202
## [1.7.14] - 2024-03-08
+
### Changed
+
- update use-context-selector v1.4.4
## [1.7.13] - 2024-03-06
+
### Changed
+
- update use-context-selector v1.4.3
## [1.7.12] - 2024-03-02
+
### Changed
+
- update use-context-selector #200
## [1.7.11] - 2023-01-04
+
### Changed
+
- Update proxy-compare v2.4.0 #170
## [1.7.10] - 2022-08-13
+
### Changed
+
- Update proxy-compare
- Update use-context-selector
## [1.7.9] - 2022-04-17
+
### Changed
+
- fix: extra re-renders in dev mode #148
## [1.7.8] - 2022-03-18
+
### Changed
+
- fix: make default context values customizable #143
- Update proxy-compare
## [1.7.7] - 2022-03-09
+
### Changed
+
- fix: improve no provider error #139
## [1.7.6] - 2022-01-12
+
### Changed
+
- feat: Added container name optional args when creating containers (#132)
## [1.7.5] - 2021-11-14
+
### Changed
+
- Update dependencies fixing ESM exports (#125)
- fix: eliminate useLayoutEffect (#118)
## [1.7.4] - 2021-08-13
+
### Changed
+
- Fix package.json properly for ESM (#115)
## [1.7.3] - 2021-07-01
+
### Changed
+
- Fix anonymous functions shown in devtools (#108)
## [1.7.2] - 2021-06-03
+
### Changed
+
- Fix useTracked for legacy mode following #92 (#102)
## [1.7.1] - 2021-05-15
+
### Changed
+
- Update proxy-compare and drop unstable options (#96)
## [1.7.0] - 2021-04-11
+
### Changed
+
- createContainer takes the second argument for opt-in concurrent mode support (#92)
- This is a (technically breaking) behavioral change.
## [1.6.6] - 2021-04-05
+
### Changed
+
- Better SSR detection for Deno (#89)
## [1.6.5] - 2021-01-24
+
### Changed
+
- Update use-context-selector to fix some behaviors
## [1.6.4] - 2021-01-21
+
### Changed
+
- Fix read-only and non-configurable data property error (#81)
## [1.6.3] - 2021-01-17
+
### Changed
+
- Support memo with forwarded ref (#80)
## [1.6.2] - 2021-01-14
+
### Changed
+
- Improve memo typing (#77)
## [1.6.1] - 2020-12-30
+
### Changed
+
- Fix a hypothetical issue of reusing deepChangedCache
## [1.6.0] - 2020-12-26
+
### Added
+
- Export createTrackedSelector, a new building-block function (#71)
## [1.5.1] - 2020-12-19
+
### Changed
+
- Fix a fatal bug in v1.5.0 (#72)
## [1.5.0] - 2020-12-04
+
### Changed
+
- Refactor: typescript, proxy-compare, use-context-selector (#68)
## [1.4.2] - 2020-09-08
+
### Changed
+
- Fix invalid type definitions (#59)
## [1.4.1] - 2020-06-23
+
### Changed
+
- Use `unstable_batchedUpdates` internally (#54)
## [1.4.0] - 2020-05-13
+
### Changed
+
- Export a special memo instead of trackMemo (#47)
- This is a breaking change in API and requires migration
## [1.3.0] - 2020-03-07
+
### Changed
+
- Notify child components in update not in render (#42)
- No updates on props change (breaking change in an undocumented behavior)
- The `update` must be a function (breaking change in an example and a recipe)
## [1.2.0] - 2020-02-29
+
### Changed
+
- Fix anonymous hook names (#39)
- Add debug value to show tracked paths in useTrackedState (#40)
- Unwrap Proxy before wrapping to mitigate possible pitfalls (#41)
## [1.1.1] - 2020-02-26
+
### Changed
+
- Use useIsomorphicLayoutEffect in Provider to eliminate SSR warning
## [1.1.0] - 2020-02-24
+
### Changed
+
- A workaround for React render warning (hopefully temporarily)
## [1.0.6] - 2020-02-11
+
### Changed
+
- Betect SSR beter by checking userAgent
## [1.0.5] - 2020-02-03
+
### Changed
+
- Ignore thrown error/promise in useTrackedState callback (for Suspense)
## [1.0.4] - 2020-02-02
+
### Changed
+
- Improve internal mode for deepProxy behavior
- This doesn't change the default behavior
## [1.0.3] - 2020-02-01
+
### Changed
+
- Fix typing of a readonly tuple in 1.0.2
- Fix typing of useValue in createContainer
## [1.0.2] - 2020-01-19
+
### Changed
+
- Change useValue type to accept a readonly tuple
## [1.0.1] - 2020-01-05
+
### Changed
+
- Possibly reduce bundle size
## [1.0.0] - 2019-12-05
+
### Changed
+
- Fix API and release v1
## [0.11.0] - 2019-10-12
+
### Added
+
- A new API getUntrackedObject as an escape hatch (#24)
## [0.10.0] - 2019-10-08
+
### Added
+
- A new API trackMemo as an escape hatch for React.memo (#22)
## [0.9.0] - 2019-10-05
+
### Changed
+
- Inline useForceUpdate to remove unnecessary deps
## [0.8.0] - 2019-09-05
+
### Changed
+
- Only provide container API (breaking change) (#16)
## [0.7.0] - 2019-07-20
+
### Changed
+
- No useLayoutEffect for invoking listeners (which leads de-opt sync mode)
## [0.6.0] - 2019-07-15
+
### Changed
+
- Prefer createContainer to default context (#5)
## [0.5.0] - 2019-07-13
+
### Changed
+
- Warn if useValue is not statically defined
## [0.4.0] - 2019-06-14
+
### Added
+
- Add createContainer
+
### Changed
+
- Rename to simple provider (breaking change)
## [0.3.0] - 2019-06-13
+
### Changed
+
- Add customContext support
- Fix useDispatch
- Remove unnecessary batchedUpdates
- Split useTrackedState and useTracked
## [0.2.0] - 2019-06-13
+
### Changed
+
- Properly useEffect in TrackedProvider
## [0.1.0] - 2019-06-12
+
### Added
+
- Initial experimental release
diff --git a/README.md b/README.md
index 35847b5b..986e6bdf 100644
--- a/README.md
+++ b/README.md
@@ -71,10 +71,11 @@ There could be various use cases. Here are some typical ones.
```js
import { useState } from 'react';
-const useValue = () => useState({
- count: 0,
- text: 'hello',
-});
+const useValue = () =>
+ useState({
+ count: 0,
+ text: 'hello',
+ });
```
This can be useReducer or any hook that returns a tuple `[state, dispatch]`.
@@ -101,7 +102,9 @@ const Counter = () => {
return (
Count: {state.count}
-
+
);
};
@@ -145,7 +148,9 @@ const Counter = () => {
return (
Count: {state.count}
-
+
);
};
@@ -175,12 +180,14 @@ const useTrackedStore = createTrackedSelector(useStore);
const Counter = () => {
const state = useTrackedStore();
const increment = () => {
- useStore.setState(prev => ({ count: prev.count + 1 }));
+ useStore.setState((prev) => ({ count: prev.count + 1 }));
};
return (
Count: {state.count}
-
+
);
};
@@ -196,6 +203,7 @@ If you see more `console.log` logs than expected,
you may want to try putting `console.log` in useEffect.
If that shows logs as expected, it's an expected behavior.
For more information:
+
- https://github.com/dai-shi/use-context-selector/issues/100
- https://github.com/dai-shi/react-tracked/issues/177
diff --git a/__tests__/e2e/01_minimal.ts b/__tests__/e2e/01_minimal.ts
deleted file mode 100644
index 5c9fc2fa..00000000
--- a/__tests__/e2e/01_minimal.ts
+++ /dev/null
@@ -1,76 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-describe('01_minimal', () => {
- const port = process.env.PORT || '8080';
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div > input');
- await page.click('body > #app > div:nth-child(5) > div > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div > input', '2');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div > input', '3');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/02_typescript.ts b/__tests__/e2e/02_typescript.ts
deleted file mode 100644
index b87c2f5a..00000000
--- a/__tests__/e2e/02_typescript.ts
+++ /dev/null
@@ -1,78 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-describe('02_typescript', () => {
- const port = process.env.PORT || '8080';
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('#app > div:nth-child(5) > div > div > button:nth-child(2)');
- await page.click('#app > div:nth-child(5) > div > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('#app > div:nth-child(5) > div > div > button:nth-child(2)');
- await page.click('#app > div:nth-child(5) > div > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('#app > div:nth-child(5) > div > div > button:nth-child(3)');
- await page.click('#app > div:nth-child(5) > div > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('#app > div:nth-child(5) > div > div > button:nth-child(3)');
- await page.click('#app > div:nth-child(5) > div > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div:nth-child(2) > input');
- await page.click('body > #app > div:nth-child(5) > div:nth-child(2) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(2) > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(2) > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(2) > input', 'c');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(3) > input', 'd');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(3) > input', 'e');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(3) > input', 'f');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(4) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(4) > input', '2');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(4) > input', '3');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/03_usestate.ts b/__tests__/e2e/03_usestate.ts
deleted file mode 100644
index 201236be..00000000
--- a/__tests__/e2e/03_usestate.ts
+++ /dev/null
@@ -1,66 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-describe('03_usestate', () => {
- const port = process.env.PORT || '8080';
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button');
- await page.click('body > #app > div:nth-child(2) > div > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button');
- await page.click('body > #app > div:nth-child(2) > div > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button');
- await page.click('body > #app > div:nth-child(3) > div > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button');
- await page.click('body > #app > div:nth-child(3) > div > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button');
- await page.click('body > #app > div:nth-child(3) > div > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div:nth-child(1) > input');
- await page.click('body > #app > div:nth-child(5) > div:nth-child(1) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(1) > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(1) > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(1) > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(2) > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(2) > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(2) > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(3) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(3) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(3) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/04_selector.ts b/__tests__/e2e/04_selector.ts
deleted file mode 100644
index 0e6d0c26..00000000
--- a/__tests__/e2e/04_selector.ts
+++ /dev/null
@@ -1,62 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-describe('04_selector', () => {
- const port = process.env.PORT || '8080';
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div:nth-child(1) > input');
- await page.click('body > #app > div:nth-child(5) > div:nth-child(1) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(1) > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(1) > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(1) > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(2) > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(2) > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(2) > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(3) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(3) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(3) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/05_container.ts b/__tests__/e2e/05_container.ts
deleted file mode 100644
index c733a4f5..00000000
--- a/__tests__/e2e/05_container.ts
+++ /dev/null
@@ -1,95 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-describe('05_container', () => {
- const port = process.env.PORT || '8080';
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(3) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(5) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(5) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(5) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(6) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(6) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(6) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(6) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(6) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(6) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(6) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(6) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(6) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(6) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(6) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(6) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(6) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(6) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/06_customhook.ts b/__tests__/e2e/06_customhook.ts
deleted file mode 100644
index e098ca36..00000000
--- a/__tests__/e2e/06_customhook.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-describe('06_customhook', () => {
- const port = process.env.PORT || '8080';
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > div:nth-child(1) > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(1) > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(1) > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(1) > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(1) > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(1) > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(1) > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(1) > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/10_untracked.ts b/__tests__/e2e/10_untracked.ts
deleted file mode 100644
index 2dab8275..00000000
--- a/__tests__/e2e/10_untracked.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-describe('10_untracked', () => {
- const port = process.env.PORT || '8080';
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > ul > li:nth-child(2) > input:nth-child(2)');
- await page.click('body > #app > ul > li:nth-child(2) > input:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > ul > li:nth-child(2) > input:nth-child(2)', '2');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > ul > li:nth-child(3) > input:nth-child(2)');
- await page.click('body > #app > ul > li:nth-child(3) > input:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > ul > li:nth-child(3) > input:nth-child(2)', '3');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > ul > li:nth-child(2) > input:nth-child(1)');
- await page.click('body > #app > ul > li:nth-child(2) > input:nth-child(1)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > ul > li:nth-child(3) > input:nth-child(1)');
- await page.click('body > #app > ul > li:nth-child(3) > input:nth-child(1)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > ul > li:nth-child(1) > input:nth-child(1)');
- await page.click('body > #app > ul > li:nth-child(1) > input:nth-child(1)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > ul > li:nth-child(2) > button:nth-child(4)');
- await page.click('body > #app > ul > li:nth-child(2) > button:nth-child(4)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > ul > li:nth-child(3) > button:nth-child(3)');
- await page.click('body > #app > ul > li:nth-child(3) > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > ul > li:nth-child(3) > input:nth-child(1)');
- await page.click('body > #app > ul > li:nth-child(3) > input:nth-child(1)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > ul > li:nth-child(2) > button:nth-child(3)');
- await page.click('body > #app > ul > li:nth-child(2) > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/12_async.ts b/__tests__/e2e/12_async.ts
deleted file mode 100644
index 3daeade9..00000000
--- a/__tests__/e2e/12_async.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-// this test is not very stable because of timer
-describe('12_async', () => {
- const port = process.env.PORT || '8080';
- const sleep = (ms: number) => new Promise((r) => {
- setTimeout(r, ms);
- });
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > div > div:nth-child(3) > button');
- await page.click('body > #app > div > div:nth-child(3) > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await sleep(3000);
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div > div:nth-child(4) > button:nth-child(2)');
- await page.click('body > #app > div > div:nth-child(4) > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div > div > button:nth-child(3)');
- await page.click('body > #app > div > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await sleep(1000);
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/13_saga.ts b/__tests__/e2e/13_saga.ts
deleted file mode 100644
index fccc5083..00000000
--- a/__tests__/e2e/13_saga.ts
+++ /dev/null
@@ -1,37 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-// this test is not very stable because of timer
-describe('13_saga', () => {
- const port = process.env.PORT || '8080';
- const sleep = (ms: number) => new Promise((r) => {
- setTimeout(r, ms);
- });
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > div > div:nth-child(3) > button');
- await page.click('body > #app > div > div:nth-child(3) > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await sleep(3000);
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div > div:nth-child(4) > button:nth-child(2)');
- await page.click('body > #app > div > div:nth-child(4) > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div > div > button:nth-child(3)');
- await page.click('body > #app > div > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await sleep(1000);
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/14_dynamic.ts b/__tests__/e2e/14_dynamic.ts
deleted file mode 100644
index 18668826..00000000
--- a/__tests__/e2e/14_dynamic.ts
+++ /dev/null
@@ -1,59 +0,0 @@
-import puppeteer from 'puppeteer';
-
-jest.setTimeout(15 * 1000);
-
-describe('14_dynamic', () => {
- const port = process.env.PORT || '8080';
-
- it('should work with recorded events', async () => {
- const browser = await puppeteer.launch();
- const page = await browser.newPage();
- await page.goto(`http://localhost:${port}/`);
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > input');
- await page.click('body > #app > div:nth-child(2) > div > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(2) > div > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- await page.click('body > #app > div:nth-child(2) > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(3) > div > input');
- await page.click('body > #app > div:nth-child(3) > div > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(3) > div > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div:nth-child(1) > input');
- await page.click('body > #app > div:nth-child(5) > div:nth-child(1) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(1) > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div > button');
- await page.click('body > #app > div:nth-child(5) > div > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(5) > div:nth-child(1) > input');
- await page.click('body > #app > div:nth-child(5) > div:nth-child(1) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.type('body > #app > div:nth-child(5) > div:nth-child(1) > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await page.waitForSelector('body > #app > div:nth-child(6) > div > button');
- await page.click('body > #app > div:nth-child(6) > div > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
-
- await browser.close();
- });
-});
diff --git a/__tests__/e2e/__snapshots__/09_reactmemo.ts.snap b/__tests__/e2e/__snapshots__/09_reactmemo.ts.snap
deleted file mode 100644
index 8aeeb9c4..00000000
--- a/__tests__/e2e/__snapshots__/09_reactmemo.ts.snap
+++ /dev/null
@@ -1,49 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`09_reactmemo should work with recorded events 1`] = `
-"
-
-
-
-"
-`;
-
-exports[`09_reactmemo should work with recorded events 2`] = `
-"
-
-
-
-"
-`;
-
-exports[`09_reactmemo should work with recorded events 3`] = `
-"
-
-
-
-"
-`;
-
-exports[`09_reactmemo should work with recorded events 4`] = `
-"
-
-
-
-"
-`;
-
-exports[`09_reactmemo should work with recorded events 5`] = `
-"
-
-
-
-"
-`;
-
-exports[`09_reactmemo should work with recorded events 6`] = `
-"
-
-
-
-"
-`;
diff --git a/__tests__/e2e/__snapshots__/15_reactmemoref.ts.snap b/__tests__/e2e/__snapshots__/15_reactmemoref.ts.snap
deleted file mode 100644
index e3ae3f4e..00000000
--- a/__tests__/e2e/__snapshots__/15_reactmemoref.ts.snap
+++ /dev/null
@@ -1,49 +0,0 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
-
-exports[`15_reactmemoref should work with recorded events 1`] = `
-"
-
-
-
-"
-`;
-
-exports[`15_reactmemoref should work with recorded events 2`] = `
-"
-
-
-
-"
-`;
-
-exports[`15_reactmemoref should work with recorded events 3`] = `
-"
-
-
-
-"
-`;
-
-exports[`15_reactmemoref should work with recorded events 4`] = `
-"
-
-
-
-"
-`;
-
-exports[`15_reactmemoref should work with recorded events 5`] = `
-"
-
-
-
-"
-`;
-
-exports[`15_reactmemoref should work with recorded events 6`] = `
-"
-
-
-
-"
-`;
diff --git a/examples/02_typescript/package.json b/examples/01_counter/package.json
similarity index 62%
rename from examples/02_typescript/package.json
rename to examples/01_counter/package.json
index 08e26380..bba01aef 100644
--- a/examples/02_typescript/package.json
+++ b/examples/01_counter/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/01_minimal/public/index.html b/examples/01_counter/public/index.html
similarity index 65%
rename from examples/01_minimal/public/index.html
rename to examples/01_counter/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/01_minimal/public/index.html
+++ b/examples/01_counter/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/01_minimal/src/index.js b/examples/01_counter/src/app.tsx
similarity index 50%
rename from examples/01_minimal/src/index.js
rename to examples/01_counter/src/app.tsx
index 59db45cd..5d27c157 100644
--- a/examples/01_minimal/src/index.js
+++ b/examples/01_counter/src/app.tsx
@@ -1,25 +1,37 @@
-import React, { useReducer, StrictMode } from 'react';
-import { createRoot } from 'react-dom/client';
+import { useReducer, StrictMode } from 'react';
+import type { Reducer } from 'react';
import { createContainer } from 'react-tracked';
-const useValue = ({ reducer, initialState }) => useReducer(reducer, initialState);
-const { Provider, useTracked } = createContainer(useValue);
-
const initialState = {
count: 0,
text: 'hello',
};
-const reducer = (state, action) => {
+type State = typeof initialState;
+
+type Action =
+ | { type: 'increment' }
+ | { type: 'decrement' }
+ | { type: 'setText'; text: string };
+
+const reducer: Reducer = (state, action) => {
switch (action.type) {
- case 'increment': return { ...state, count: state.count + 1 };
- case 'decrement': return { ...state, count: state.count - 1 };
- case 'setText': return { ...state, text: action.text };
- default: throw new Error(`unknown action type: ${action.type}`);
+ case 'increment':
+ return { ...state, count: state.count + 1 };
+ case 'decrement':
+ return { ...state, count: state.count - 1 };
+ case 'setText':
+ return { ...state, text: action.text };
+ default:
+ throw new Error(`unknown action type: ${(action as Action).type}`);
}
};
+const useValue = () => useReducer(reducer, initialState);
+
+const { Provider, useTracked } = createContainer(useValue);
+
let numRendered = 0;
const Counter = () => {
@@ -29,8 +41,12 @@ const Counter = () => {
numRendered: {++numRendered}
Count: {state.count}
-
-
+
+
);
@@ -43,7 +59,12 @@ const TextBox = () => {
numRendered: {++numRendered}
Text: {state.text}
- dispatch({ type: 'setText', text: event.target.value })} />
+
+ dispatch({ type: 'setText', text: event.target.value })
+ }
+ />
);
@@ -51,7 +72,7 @@ const TextBox = () => {
const App = () => (
-
+
Counter
@@ -62,4 +83,4 @@ const App = () => (
);
-createRoot(document.getElementById('app')).render();
+export default App;
diff --git a/examples/01_counter/src/index.tsx b/examples/01_counter/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/01_counter/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/01_minimal/package.json b/examples/01_minimal/package.json
deleted file mode 100644
index 1124f045..00000000
--- a/examples/01_minimal/package.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- "name": "react-tracked-example",
- "version": "0.1.0",
- "private": true,
- "dependencies": {
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
- "react-scripts": "latest"
- },
- "scripts": {
- "start": "react-scripts start",
- "build": "react-scripts build",
- "test": "react-scripts test",
- "eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
-}
diff --git a/examples/02_person/package.json b/examples/02_person/package.json
new file mode 100644
index 00000000..bba01aef
--- /dev/null
+++ b/examples/02_person/package.json
@@ -0,0 +1,21 @@
+{
+ "name": "example",
+ "version": "0.0.0",
+ "private": true,
+ "type": "commonjs",
+ "dependencies": {
+ "@types/react": "latest",
+ "@types/react-dom": "latest",
+ "react": "latest",
+ "react-dom": "latest",
+ "react-scripts": "latest",
+ "react-tracked": "latest",
+ "typescript": "latest"
+ },
+ "scripts": {
+ "start": "react-scripts start",
+ "build": "react-scripts build",
+ "test": "react-scripts test",
+ "eject": "react-scripts eject"
+ }
+}
diff --git a/examples/02_typescript/public/index.html b/examples/02_person/public/index.html
similarity index 65%
rename from examples/02_typescript/public/index.html
rename to examples/02_person/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/02_typescript/public/index.html
+++ b/examples/02_person/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/02_typescript/src/App.tsx b/examples/02_person/src/app.tsx
similarity index 70%
rename from examples/02_typescript/src/App.tsx
rename to examples/02_person/src/app.tsx
index 6cb2edcf..e709ae26 100644
--- a/examples/02_typescript/src/App.tsx
+++ b/examples/02_person/src/app.tsx
@@ -1,9 +1,9 @@
-import React, { StrictMode } from 'react';
+import { StrictMode } from 'react';
import { Provider } from './state';
-import Counter from './Counter';
-import Person from './Person';
+import Counter from './counter';
+import Person from './person';
const App = () => (
diff --git a/examples/02_typescript/src/Counter.tsx b/examples/02_person/src/counter.tsx
similarity index 82%
rename from examples/02_typescript/src/Counter.tsx
rename to examples/02_person/src/counter.tsx
index 74a154dc..80be5631 100644
--- a/examples/02_typescript/src/Counter.tsx
+++ b/examples/02_person/src/counter.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useTracked } from './state';
let numRendered = 0;
@@ -11,8 +9,12 @@ const Counter = () => {
numRendered: {++numRendered}
Count: {state.count}
-
-
+
+
);
diff --git a/examples/02_person/src/index.tsx b/examples/02_person/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/02_person/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/02_typescript/src/Person.tsx b/examples/02_person/src/person.tsx
similarity index 94%
rename from examples/02_typescript/src/Person.tsx
rename to examples/02_person/src/person.tsx
index aaad3bbd..38b0fe67 100644
--- a/examples/02_typescript/src/Person.tsx
+++ b/examples/02_person/src/person.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useTracked } from './state';
let numRendered = 0;
@@ -12,8 +10,12 @@ const Counter = ({ firstName }: { firstName: string }) => {
{firstName}
Count: {state.count}
-
-
+
+
);
diff --git a/examples/02_person/src/state.ts b/examples/02_person/src/state.ts
new file mode 100644
index 00000000..216f99c3
--- /dev/null
+++ b/examples/02_person/src/state.ts
@@ -0,0 +1,69 @@
+import { useReducer } from 'react';
+import type { Reducer } from 'react';
+
+import { createContainer } from 'react-tracked';
+
+const initialState = {
+ count: 0,
+ person: {
+ age: 0,
+ firstName: '',
+ lastName: '',
+ },
+};
+
+type State = typeof initialState;
+
+type Action =
+ | { type: 'increment' }
+ | { type: 'decrement' }
+ | { type: 'setFirstName'; firstName: string }
+ | { type: 'setLastName'; lastName: string }
+ | { type: 'setAge'; age: number };
+
+const reducer: Reducer = (state, action) => {
+ switch (action.type) {
+ case 'increment':
+ return {
+ ...state,
+ count: state.count + 1,
+ };
+ case 'decrement':
+ return {
+ ...state,
+ count: state.count - 1,
+ };
+ case 'setFirstName':
+ return {
+ ...state,
+ person: {
+ ...state.person,
+ firstName: action.firstName,
+ },
+ };
+ case 'setLastName':
+ return {
+ ...state,
+ person: {
+ ...state.person,
+ lastName: action.lastName,
+ },
+ };
+ case 'setAge':
+ return {
+ ...state,
+ person: {
+ ...state.person,
+ age: action.age,
+ },
+ };
+ default:
+ throw new Error('unknown action type');
+ }
+};
+
+const useValue = () => useReducer(reducer, initialState);
+
+export const { Provider, useTracked } = createContainer(useValue, {
+ concurrentMode: true,
+});
diff --git a/examples/02_typescript/src/index.ts b/examples/02_typescript/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/02_typescript/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/02_typescript/src/state.ts b/examples/02_typescript/src/state.ts
deleted file mode 100644
index 855fcf17..00000000
--- a/examples/02_typescript/src/state.ts
+++ /dev/null
@@ -1,61 +0,0 @@
-import { useReducer, Reducer } from 'react';
-
-import { createContainer } from 'react-tracked';
-
-const initialState = {
- count: 0,
- person: {
- age: 0,
- firstName: '',
- lastName: '',
- },
-};
-
-type State = typeof initialState;
-
-type Action =
- | { type: 'increment' }
- | { type: 'decrement' }
- | { type: 'setFirstName'; firstName: string }
- | { type: 'setLastName'; lastName: string }
- | { type: 'setAge'; age: number };
-
-const reducer: Reducer = (state, action) => {
- switch (action.type) {
- case 'increment': return {
- ...state,
- count: state.count + 1,
- };
- case 'decrement': return {
- ...state,
- count: state.count - 1,
- };
- case 'setFirstName': return {
- ...state,
- person: {
- ...state.person,
- firstName: action.firstName,
- },
- };
- case 'setLastName': return {
- ...state,
- person: {
- ...state.person,
- lastName: action.lastName,
- },
- };
- case 'setAge': return {
- ...state,
- person: {
- ...state.person,
- age: action.age,
- },
- };
- default:
- throw new Error('unknown action type');
- }
-};
-
-const useValue = () => useReducer(reducer, initialState);
-
-export const { Provider, useTracked } = createContainer(useValue, { concurrentMode: true });
diff --git a/examples/03_usestate/package.json b/examples/03_usestate/package.json
index 08e26380..bba01aef 100644
--- a/examples/03_usestate/package.json
+++ b/examples/03_usestate/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/03_usestate/public/index.html b/examples/03_usestate/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/03_usestate/public/index.html
+++ b/examples/03_usestate/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/04_selector/src/App.tsx b/examples/03_usestate/src/app.tsx
similarity index 70%
rename from examples/04_selector/src/App.tsx
rename to examples/03_usestate/src/app.tsx
index 6cb2edcf..e709ae26 100644
--- a/examples/04_selector/src/App.tsx
+++ b/examples/03_usestate/src/app.tsx
@@ -1,9 +1,9 @@
-import React, { StrictMode } from 'react';
+import { StrictMode } from 'react';
import { Provider } from './state';
-import Counter from './Counter';
-import Person from './Person';
+import Counter from './counter';
+import Person from './person';
const App = () => (
diff --git a/examples/03_usestate/src/Counter.tsx b/examples/03_usestate/src/counter.tsx
similarity index 81%
rename from examples/03_usestate/src/Counter.tsx
rename to examples/03_usestate/src/counter.tsx
index 71d8bf63..11707e43 100644
--- a/examples/03_usestate/src/Counter.tsx
+++ b/examples/03_usestate/src/counter.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useTracked } from './state';
let numRendered = 0;
@@ -17,7 +15,9 @@ const Counter = () => {
numRendered: {++numRendered}
Count: {state.count}
-
+
);
diff --git a/examples/03_usestate/src/index.ts b/examples/03_usestate/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/03_usestate/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/03_usestate/src/index.tsx b/examples/03_usestate/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/03_usestate/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/03_usestate/src/Person.tsx b/examples/03_usestate/src/person.tsx
similarity index 97%
rename from examples/03_usestate/src/Person.tsx
rename to examples/03_usestate/src/person.tsx
index 86bfd26b..3e1d4e4c 100644
--- a/examples/03_usestate/src/Person.tsx
+++ b/examples/03_usestate/src/person.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useTracked } from './state';
let numRendered = 0;
diff --git a/examples/03_usestate/src/state.ts b/examples/03_usestate/src/state.ts
index deb1fba1..a83b4178 100644
--- a/examples/03_usestate/src/state.ts
+++ b/examples/03_usestate/src/state.ts
@@ -13,4 +13,6 @@ const initialState = {
const useValue = () => useState(initialState);
-export const { Provider, useTracked } = createContainer(useValue, { concurrentMode: true });
+export const { Provider, useTracked } = createContainer(useValue, {
+ concurrentMode: true,
+});
diff --git a/examples/04_selector/package.json b/examples/04_selector/package.json
index 08e26380..bba01aef 100644
--- a/examples/04_selector/package.json
+++ b/examples/04_selector/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/04_selector/public/index.html b/examples/04_selector/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/04_selector/public/index.html
+++ b/examples/04_selector/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/03_usestate/src/App.tsx b/examples/04_selector/src/app.tsx
similarity index 70%
rename from examples/03_usestate/src/App.tsx
rename to examples/04_selector/src/app.tsx
index 6cb2edcf..e709ae26 100644
--- a/examples/03_usestate/src/App.tsx
+++ b/examples/04_selector/src/app.tsx
@@ -1,9 +1,9 @@
-import React, { StrictMode } from 'react';
+import { StrictMode } from 'react';
import { Provider } from './state';
-import Counter from './Counter';
-import Person from './Person';
+import Counter from './counter';
+import Person from './person';
const App = () => (
diff --git a/examples/04_selector/src/Counter.tsx b/examples/04_selector/src/counter.tsx
similarity index 83%
rename from examples/04_selector/src/Counter.tsx
rename to examples/04_selector/src/counter.tsx
index a05b59d8..0f84cfd5 100644
--- a/examples/04_selector/src/Counter.tsx
+++ b/examples/04_selector/src/counter.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useSelector, useDispatch } from './state';
let numRendered = 0;
@@ -12,8 +10,12 @@ const Counter = () => {
numRendered: {++numRendered}
Count: {count}
-
-
+
+
);
diff --git a/examples/04_selector/src/index.ts b/examples/04_selector/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/04_selector/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/04_selector/src/index.tsx b/examples/04_selector/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/04_selector/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/04_selector/src/Person.tsx b/examples/04_selector/src/person.tsx
similarity index 97%
rename from examples/04_selector/src/Person.tsx
rename to examples/04_selector/src/person.tsx
index a140c4fb..0c2f3c2b 100644
--- a/examples/04_selector/src/Person.tsx
+++ b/examples/04_selector/src/person.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useSelector, useDispatch } from './state';
let numRendered = 0;
diff --git a/examples/04_selector/src/state.ts b/examples/04_selector/src/state.ts
index 2522f52f..765230d7 100644
--- a/examples/04_selector/src/state.ts
+++ b/examples/04_selector/src/state.ts
@@ -1,4 +1,5 @@
-import { useReducer, Reducer } from 'react';
+import { useReducer } from 'react';
+import type { Reducer } from 'react';
import { createContainer } from 'react-tracked';
@@ -22,35 +23,40 @@ type Action =
const reducer: Reducer = (state, action) => {
switch (action.type) {
- case 'increment': return {
- ...state,
- count: state.count + 1,
- };
- case 'decrement': return {
- ...state,
- count: state.count - 1,
- };
- case 'setFirstName': return {
- ...state,
- person: {
- ...state.person,
- firstName: action.firstName,
- },
- };
- case 'setLastName': return {
- ...state,
- person: {
- ...state.person,
- lastName: action.lastName,
- },
- };
- case 'setAge': return {
- ...state,
- person: {
- ...state.person,
- age: action.age,
- },
- };
+ case 'increment':
+ return {
+ ...state,
+ count: state.count + 1,
+ };
+ case 'decrement':
+ return {
+ ...state,
+ count: state.count - 1,
+ };
+ case 'setFirstName':
+ return {
+ ...state,
+ person: {
+ ...state.person,
+ firstName: action.firstName,
+ },
+ };
+ case 'setLastName':
+ return {
+ ...state,
+ person: {
+ ...state.person,
+ lastName: action.lastName,
+ },
+ };
+ case 'setAge':
+ return {
+ ...state,
+ person: {
+ ...state.person,
+ age: action.age,
+ },
+ };
default:
throw new Error('unknown action type');
}
diff --git a/examples/05_container/package.json b/examples/05_container/package.json
index 08e26380..bba01aef 100644
--- a/examples/05_container/package.json
+++ b/examples/05_container/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/05_container/public/index.html b/examples/05_container/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/05_container/public/index.html
+++ b/examples/05_container/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/05_container/src/App.tsx b/examples/05_container/src/app.tsx
similarity index 90%
rename from examples/05_container/src/App.tsx
rename to examples/05_container/src/app.tsx
index 93737f92..3a0af49d 100644
--- a/examples/05_container/src/App.tsx
+++ b/examples/05_container/src/app.tsx
@@ -1,9 +1,9 @@
-import React, { StrictMode } from 'react';
+import { StrictMode } from 'react';
import { createContainer } from 'react-tracked';
import { useValue } from './state';
-import Counter from './Counter';
+import Counter from './counter';
const container1 = createContainer(useValue, { concurrentMode: true });
const container2 = createContainer(useValue, { concurrentMode: true });
diff --git a/examples/05_container/src/Counter.tsx b/examples/05_container/src/counter.tsx
similarity index 83%
rename from examples/05_container/src/Counter.tsx
rename to examples/05_container/src/counter.tsx
index 4d337e2c..421ea754 100644
--- a/examples/05_container/src/Counter.tsx
+++ b/examples/05_container/src/counter.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useValue } from './state';
let numRendered = 0;
@@ -11,8 +9,12 @@ const Counter = ({ useTracked }: { useTracked: typeof useValue }) => {
numRendered: {++numRendered}
Count: {state.count}
-
-
+
+
);
diff --git a/examples/05_container/src/index.ts b/examples/05_container/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/05_container/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/05_container/src/index.tsx b/examples/05_container/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/05_container/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/05_container/src/state.ts b/examples/05_container/src/state.ts
index 71cecc35..9f660322 100644
--- a/examples/05_container/src/state.ts
+++ b/examples/05_container/src/state.ts
@@ -1,4 +1,5 @@
-import { useReducer, Reducer } from 'react';
+import { useReducer } from 'react';
+import type { Reducer } from 'react';
const initialState = {
count: 0,
@@ -6,20 +7,20 @@ const initialState = {
type State = typeof initialState;
-type Action =
- | { type: 'increment' }
- | { type: 'decrement' }
+type Action = { type: 'increment' } | { type: 'decrement' };
const reducer: Reducer = (state, action) => {
switch (action.type) {
- case 'increment': return {
- ...state,
- count: state.count + 1,
- };
- case 'decrement': return {
- ...state,
- count: state.count - 1,
- };
+ case 'increment':
+ return {
+ ...state,
+ count: state.count + 1,
+ };
+ case 'decrement':
+ return {
+ ...state,
+ count: state.count - 1,
+ };
default:
throw new Error('unknown action type');
}
diff --git a/examples/06_customhook/package.json b/examples/06_customhook/package.json
index 1124f045..bba01aef 100644
--- a/examples/06_customhook/package.json
+++ b/examples/06_customhook/package.json
@@ -1,23 +1,21 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
+ "@types/react": "latest",
+ "@types/react-dom": "latest",
+ "react": "latest",
+ "react-dom": "latest",
+ "react-scripts": "latest",
"react-tracked": "latest",
- "react-scripts": "latest"
+ "typescript": "latest"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/06_customhook/public/index.html b/examples/06_customhook/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/06_customhook/public/index.html
+++ b/examples/06_customhook/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/06_customhook/src/app.tsx b/examples/06_customhook/src/app.tsx
new file mode 100644
index 00000000..4fa5d0c1
--- /dev/null
+++ b/examples/06_customhook/src/app.tsx
@@ -0,0 +1,47 @@
+import { useEffect, useState, StrictMode } from 'react';
+
+import { createContainer } from 'react-tracked';
+
+const useValue = () => {
+ const [count, setCountOrig] = useState(0);
+ const setCount = (nextCount: number) => {
+ console.log({ nextCount });
+ setCountOrig(nextCount);
+ };
+ useEffect(() => {
+ console.log({ count });
+ });
+ return [count, setCount] as const;
+};
+
+const { Provider, useTracked } = createContainer(useValue, {
+ concurrentMode: true,
+});
+
+const Counter = () => {
+ const [count, setCount] = useTracked();
+ const increment = () => setCount(count + 1);
+ const decrement = () => setCount(count - 1);
+ return (
+
+ Count: {count}
+
+
+
+ );
+};
+
+const App = () => (
+
+
+
+
+
+
+);
+
+export default App;
diff --git a/examples/06_customhook/src/index.tsx b/examples/06_customhook/src/index.tsx
index b47d9438..10774d1c 100644
--- a/examples/06_customhook/src/index.tsx
+++ b/examples/06_customhook/src/index.tsx
@@ -1,46 +1,13 @@
-import React, { useEffect, useState, StrictMode } from 'react';
+import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
-import { createContainer } from 'react-tracked';
-
-const useValue = () => {
- const [count, setCountOrig] = useState(0);
- const setCount = (nextCount: number) => {
- // eslint-disable-next-line no-console
- console.log({ nextCount });
- setCountOrig(nextCount);
- };
- useEffect(() => {
- // eslint-disable-next-line no-console
- console.log({ count });
- });
- return [count, setCount] as const;
-};
-
-const { Provider, useTracked } = createContainer(useValue, { concurrentMode: true });
-
-const Counter = () => {
- const [count, setCount] = useTracked();
- const increment = () => setCount(count + 1);
- const decrement = () => setCount(count - 1);
- return (
-
- Count: {count}
-
-
-
- );
-};
-
-const App = () => (
-
-
-
-
-
-
-);
+import App from './app';
const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/07_todolist/package.json b/examples/07_todolist/package.json
index c017522f..95a0efd0 100644
--- a/examples/07_todolist/package.json
+++ b/examples/07_todolist/package.json
@@ -1,15 +1,16 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
"immer": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -17,11 +18,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/07_todolist/public/index.html b/examples/07_todolist/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/07_todolist/public/index.html
+++ b/examples/07_todolist/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/07_todolist/src/App.tsx b/examples/07_todolist/src/app.tsx
similarity index 82%
rename from examples/07_todolist/src/App.tsx
rename to examples/07_todolist/src/app.tsx
index 6b16c22f..b974c495 100644
--- a/examples/07_todolist/src/App.tsx
+++ b/examples/07_todolist/src/app.tsx
@@ -1,4 +1,4 @@
-import React, { StrictMode } from 'react';
+import { StrictMode } from 'react';
import { Provider } from './state';
diff --git a/examples/07_todolist/src/components/AddTodo.tsx b/examples/07_todolist/src/components/AddTodo.tsx
index 4babc684..ec8b93df 100644
--- a/examples/07_todolist/src/components/AddTodo.tsx
+++ b/examples/07_todolist/src/components/AddTodo.tsx
@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import { useState } from 'react';
import useAddTodo from '../hooks/useAddTodo';
diff --git a/examples/07_todolist/src/components/App.tsx b/examples/07_todolist/src/components/App.tsx
index 371eb515..8da04ef2 100644
--- a/examples/07_todolist/src/components/App.tsx
+++ b/examples/07_todolist/src/components/App.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import Footer from './Footer';
import AddTodo from './AddTodo';
import VisibleTodoList from './VisibleTodoList';
diff --git a/examples/07_todolist/src/components/FilterLink.tsx b/examples/07_todolist/src/components/FilterLink.tsx
index 58a9f7e2..7fecd2f0 100644
--- a/examples/07_todolist/src/components/FilterLink.tsx
+++ b/examples/07_todolist/src/components/FilterLink.tsx
@@ -1,7 +1,7 @@
-import React, { ReactNode } from 'react';
+import type { ReactNode } from 'react';
import useVisibilityFilter from '../hooks/useVisibilityFilter';
-import { VisibilityFilterType } from '../state';
+import type { VisibilityFilterType } from '../state';
type Props = {
filter: VisibilityFilterType;
diff --git a/examples/07_todolist/src/components/Footer.tsx b/examples/07_todolist/src/components/Footer.tsx
index 4b3fe9e6..064dfa2f 100644
--- a/examples/07_todolist/src/components/Footer.tsx
+++ b/examples/07_todolist/src/components/Footer.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import FilterLink from './FilterLink';
const Footer = () => (
diff --git a/examples/07_todolist/src/components/Todo.tsx b/examples/07_todolist/src/components/Todo.tsx
index 52d3c134..3848ea96 100644
--- a/examples/07_todolist/src/components/Todo.tsx
+++ b/examples/07_todolist/src/components/Todo.tsx
@@ -1,7 +1,7 @@
-import React from 'react';
+import type { MouseEvent } from 'react';
type Props = {
- onClick: (e: React.MouseEvent) => void;
+ onClick: (e: MouseEvent) => void;
completed: boolean;
text: string;
};
diff --git a/examples/07_todolist/src/components/VisibleTodoList.tsx b/examples/07_todolist/src/components/VisibleTodoList.tsx
index 69b6f0ff..518a0dcc 100644
--- a/examples/07_todolist/src/components/VisibleTodoList.tsx
+++ b/examples/07_todolist/src/components/VisibleTodoList.tsx
@@ -1,7 +1,3 @@
-/* eslint-disable react/jsx-props-no-spreading */
-
-import React from 'react';
-
import useVisibleTodos from '../hooks/useVisibleTodos';
import useToggleTodo from '../hooks/useToggleTodo';
import Todo from './Todo';
diff --git a/examples/07_todolist/src/hooks/useAddTodo.ts b/examples/07_todolist/src/hooks/useAddTodo.ts
index 848a008c..7b1901ff 100644
--- a/examples/07_todolist/src/hooks/useAddTodo.ts
+++ b/examples/07_todolist/src/hooks/useAddTodo.ts
@@ -7,15 +7,20 @@ let nextTodoId = 0;
const useAddTodo = () => {
const setState = useSetState();
- const addTodo = useCallback((text: string) => {
- setState((s) => produce(s, (draft) => {
- draft.todos.push({
- id: nextTodoId++,
- text,
- completed: false,
- });
- }));
- }, [setState]);
+ const addTodo = useCallback(
+ (text: string) => {
+ setState((s) =>
+ produce(s, (draft) => {
+ draft.todos.push({
+ id: nextTodoId++,
+ text,
+ completed: false,
+ });
+ }),
+ );
+ },
+ [setState],
+ );
return addTodo;
};
diff --git a/examples/07_todolist/src/hooks/useToggleTodo.ts b/examples/07_todolist/src/hooks/useToggleTodo.ts
index 8fc645d0..e115d3a3 100644
--- a/examples/07_todolist/src/hooks/useToggleTodo.ts
+++ b/examples/07_todolist/src/hooks/useToggleTodo.ts
@@ -5,14 +5,19 @@ import { useSetState } from '../state';
const useToggleTodo = () => {
const setState = useSetState();
- const toggleTodo = useCallback((id: number) => {
- setState((s) => produce(s, (draft) => {
- const found = draft.todos.find((todo) => todo.id === id);
- if (found) {
- found.completed = !found.completed;
- }
- }));
- }, [setState]);
+ const toggleTodo = useCallback(
+ (id: number) => {
+ setState((s) =>
+ produce(s, (draft) => {
+ const found = draft.todos.find((todo) => todo.id === id);
+ if (found) {
+ found.completed = !found.completed;
+ }
+ }),
+ );
+ },
+ [setState],
+ );
return toggleTodo;
};
diff --git a/examples/07_todolist/src/hooks/useVisibilityFilter.ts b/examples/07_todolist/src/hooks/useVisibilityFilter.ts
index 53ede5c0..8d292380 100644
--- a/examples/07_todolist/src/hooks/useVisibilityFilter.ts
+++ b/examples/07_todolist/src/hooks/useVisibilityFilter.ts
@@ -1,15 +1,21 @@
import { useCallback } from 'react';
import { produce } from 'immer';
-import { VisibilityFilterType, useTracked } from '../state';
+import { useTracked } from '../state';
+import type { VisibilityFilterType } from '../state';
const useVisibilityFilter = () => {
const [state, setState] = useTracked();
- const setVisibilityFilter = useCallback((filter: VisibilityFilterType) => {
- setState((s) => produce(s, (draft) => {
- draft.visibilityFilter = filter;
- }));
- }, [setState]);
+ const setVisibilityFilter = useCallback(
+ (filter: VisibilityFilterType) => {
+ setState((s) =>
+ produce(s, (draft) => {
+ draft.visibilityFilter = filter;
+ }),
+ );
+ },
+ [setState],
+ );
return [state.visibilityFilter, setVisibilityFilter] as [
VisibilityFilterType,
typeof setVisibilityFilter,
diff --git a/examples/07_todolist/src/hooks/useVisibleTodos.ts b/examples/07_todolist/src/hooks/useVisibleTodos.ts
index 8412cebc..e753c787 100644
--- a/examples/07_todolist/src/hooks/useVisibleTodos.ts
+++ b/examples/07_todolist/src/hooks/useVisibleTodos.ts
@@ -1,4 +1,5 @@
-import { TodoType, VisibilityFilterType, useTrackedState } from '../state';
+import { useTrackedState } from '../state';
+import type { TodoType, VisibilityFilterType } from '../state';
const getVisibleTodos = (todos: TodoType[], filter: VisibilityFilterType) => {
switch (filter) {
diff --git a/examples/07_todolist/src/index.ts b/examples/07_todolist/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/07_todolist/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/07_todolist/src/index.tsx b/examples/07_todolist/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/07_todolist/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/08_comparison/package.json b/examples/08_comparison/package.json
index 08e26380..bba01aef 100644
--- a/examples/08_comparison/package.json
+++ b/examples/08_comparison/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/08_comparison/public/index.html b/examples/08_comparison/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/08_comparison/public/index.html
+++ b/examples/08_comparison/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/08_comparison/src/ContextWithMemo.tsx b/examples/08_comparison/src/ContextWithMemo.tsx
index 0c3ecdca..d843b45f 100644
--- a/examples/08_comparison/src/ContextWithMemo.tsx
+++ b/examples/08_comparison/src/ContextWithMemo.tsx
@@ -1,11 +1,12 @@
-import React, {
+import {
createContext,
+ memo,
useContext,
useReducer,
useRef,
useEffect,
- Reducer,
} from 'react';
+import type { Reducer } from 'react';
const initialState = {
firstName: 'Harry',
@@ -29,60 +30,67 @@ const reducer: Reducer = (state, action) => {
}
};
-const PersonContext = createContext<[State, Dispatch]>([initialState, () => null]);
+const PersonContext = createContext<[State, Dispatch]>([
+ initialState,
+ () => null,
+]);
-const InnerPersonFirstName = React.memo(({ firstName, dispatch }: {
- firstName: string;
- dispatch: Dispatch;
-}) => {
- const renders = useRef(1);
- useEffect(() => {
- renders.current += 1;
- });
- return (
-
- First Name:
- {
- dispatch({ type: 'setFirstName', firstName: event.target.value });
- }}
- />
- (renders:{renders.current})
-
- );
-});
+// eslint-disable-next-line react/display-name
+const InnerPersonFirstName = memo(
+ ({ firstName, dispatch }: { firstName: string; dispatch: Dispatch }) => {
+ const renders = useRef(1);
+ useEffect(() => {
+ renders.current += 1;
+ });
+ return (
+
+ First Name:
+ {
+ dispatch({ type: 'setFirstName', firstName: event.target.value });
+ }}
+ />
+ (renders:{renders.current})
+
+ );
+ },
+);
const PersonFirstName = () => {
const [state, dispatch] = useContext(PersonContext);
- return ;
-};
-
-const InnerPersonFamilyName = React.memo(({ familyName, dispatch }: {
- familyName: string;
- dispatch: Dispatch;
-}) => {
- const renders = useRef(1);
- useEffect(() => {
- renders.current += 1;
- });
return (
-
- Family Name:
- {
- dispatch({ type: 'setFamilyName', familyName: event.target.value });
- }}
- />
- (renders:{renders.current})
-
+
);
-});
+};
+
+// eslint-disable-next-line react/display-name
+const InnerPersonFamilyName = memo(
+ ({ familyName, dispatch }: { familyName: string; dispatch: Dispatch }) => {
+ const renders = useRef(1);
+ useEffect(() => {
+ renders.current += 1;
+ });
+ return (
+
+ Family Name:
+ {
+ dispatch({ type: 'setFamilyName', familyName: event.target.value });
+ }}
+ />
+ (renders:{renders.current})
+
+ );
+ },
+);
const PersonFamilyName = () => {
const [state, dispatch] = useContext(PersonContext);
- return ;
+ return (
+
+ );
};
const ContextWithMemo = () => {
diff --git a/examples/08_comparison/src/ContextWithUseMemo.tsx b/examples/08_comparison/src/ContextWithUseMemo.tsx
index a10daf31..4596411d 100644
--- a/examples/08_comparison/src/ContextWithUseMemo.tsx
+++ b/examples/08_comparison/src/ContextWithUseMemo.tsx
@@ -1,11 +1,5 @@
-import React, {
- createContext,
- useContext,
- useReducer,
- useRef,
- useMemo,
- Reducer,
-} from 'react';
+import { createContext, useContext, useReducer, useRef, useMemo } from 'react';
+import type { Reducer } from 'react';
const initialState = {
firstName: 'Harry',
@@ -29,7 +23,10 @@ const reducer: Reducer = (state, action) => {
}
};
-const PersonContext = createContext<[State, Dispatch]>([initialState, () => null]);
+const PersonContext = createContext<[State, Dispatch]>([
+ initialState,
+ () => null,
+]);
const PersonFirstName = () => {
const [state, dispatch] = useContext(PersonContext);
diff --git a/examples/08_comparison/src/NaiveContext.tsx b/examples/08_comparison/src/NaiveContext.tsx
index 6fb384f9..5bc9d961 100644
--- a/examples/08_comparison/src/NaiveContext.tsx
+++ b/examples/08_comparison/src/NaiveContext.tsx
@@ -1,11 +1,11 @@
-import React, {
+import {
createContext,
useContext,
useReducer,
useRef,
useEffect,
- Reducer,
} from 'react';
+import type { Reducer } from 'react';
const initialState = {
firstName: 'Harry',
@@ -29,7 +29,10 @@ const reducer: Reducer = (state, action) => {
}
};
-const PersonContext = createContext<[State, Dispatch]>([initialState, () => null]);
+const PersonContext = createContext<[State, Dispatch]>([
+ initialState,
+ () => null,
+]);
const PersonFirstName = () => {
const [state, dispatch] = useContext(PersonContext);
diff --git a/examples/08_comparison/src/ReactTracked.tsx b/examples/08_comparison/src/ReactTracked.tsx
index 120f6f0f..00a18ad3 100644
--- a/examples/08_comparison/src/ReactTracked.tsx
+++ b/examples/08_comparison/src/ReactTracked.tsx
@@ -1,9 +1,5 @@
-import React, {
- useReducer,
- useRef,
- useEffect,
- Reducer,
-} from 'react';
+import { useReducer, useRef, useEffect } from 'react';
+import type { Reducer } from 'react';
import { createContainer } from 'react-tracked';
diff --git a/examples/08_comparison/src/SplitContext.tsx b/examples/08_comparison/src/SplitContext.tsx
index 6d44d3f7..4806ee4f 100644
--- a/examples/08_comparison/src/SplitContext.tsx
+++ b/examples/08_comparison/src/SplitContext.tsx
@@ -1,20 +1,20 @@
-import React, {
+import {
createContext,
+ memo,
useContext,
useReducer,
useRef,
useEffect,
useMemo,
- Reducer,
} from 'react';
+import type { Reducer } from 'react';
const initialState1 = {
firstName: 'Harry',
};
type State1 = typeof initialState1;
-type Action1 =
- | { type: 'setFirstName'; firstName: string }
+type Action1 = { type: 'setFirstName'; firstName: string };
type Dispatch1 = (action: Action1) => void;
const reducer1: Reducer = (state, action) => {
@@ -26,15 +26,17 @@ const reducer1: Reducer = (state, action) => {
}
};
-const PersonContext1 = createContext<[State1, Dispatch1]>([initialState1, () => null]);
+const PersonContext1 = createContext<[State1, Dispatch1]>([
+ initialState1,
+ () => null,
+]);
const initialState2 = {
familyName: 'Potter',
};
type State2 = typeof initialState2;
-type Action2 =
- | { type: 'setFamilyName'; familyName: string };
+type Action2 = { type: 'setFamilyName'; familyName: string };
type Dispatch2 = (action: Action2) => void;
const reducer2: Reducer = (state, action) => {
@@ -46,9 +48,13 @@ const reducer2: Reducer = (state, action) => {
}
};
-const PersonContext2 = createContext<[State2, Dispatch2]>([initialState2, () => null]);
+const PersonContext2 = createContext<[State2, Dispatch2]>([
+ initialState2,
+ () => null,
+]);
-const PersonFirstName = React.memo(() => {
+// eslint-disable-next-line react/display-name
+const PersonFirstName = memo(() => {
const [state, dispatch] = useContext(PersonContext1);
const renders = useRef(1);
useEffect(() => {
@@ -68,7 +74,8 @@ const PersonFirstName = React.memo(() => {
);
});
-const PersonFamilyName = React.memo(() => {
+// eslint-disable-next-line react/display-name
+const PersonFamilyName = memo(() => {
const [state, dispatch] = useContext(PersonContext2);
const renders = useRef(1);
useEffect(() => {
@@ -91,8 +98,14 @@ const PersonFamilyName = React.memo(() => {
const SplitContext = () => {
const [state1, dispatch1] = useReducer(reducer1, initialState1);
const [state2, dispatch2] = useReducer(reducer2, initialState2);
- const value1 = useMemo<[State1, Dispatch1]>(() => [state1, dispatch1], [state1, dispatch1]);
- const value2 = useMemo<[State2, Dispatch2]>(() => [state2, dispatch2], [state2, dispatch2]);
+ const value1 = useMemo<[State1, Dispatch1]>(
+ () => [state1, dispatch1],
+ [state1, dispatch1],
+ );
+ const value2 = useMemo<[State2, Dispatch2]>(
+ () => [state2, dispatch2],
+ [state2, dispatch2],
+ );
return (
diff --git a/examples/08_comparison/src/App.tsx b/examples/08_comparison/src/app.tsx
similarity index 93%
rename from examples/08_comparison/src/App.tsx
rename to examples/08_comparison/src/app.tsx
index 5e28a6ba..9c514729 100644
--- a/examples/08_comparison/src/App.tsx
+++ b/examples/08_comparison/src/app.tsx
@@ -1,4 +1,4 @@
-import React, { StrictMode } from 'react';
+import { StrictMode } from 'react';
import NaiveContext from './NaiveContext';
import SplitContext from './SplitContext';
diff --git a/examples/08_comparison/src/index.ts b/examples/08_comparison/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/08_comparison/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/08_comparison/src/index.tsx b/examples/08_comparison/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/08_comparison/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/09_reactmemo/package.json b/examples/09_reactmemo/package.json
index 08e26380..bba01aef 100644
--- a/examples/09_reactmemo/package.json
+++ b/examples/09_reactmemo/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/09_reactmemo/public/index.html b/examples/09_reactmemo/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/09_reactmemo/public/index.html
+++ b/examples/09_reactmemo/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/09_reactmemo/src/TodoItem.tsx b/examples/09_reactmemo/src/TodoItem.tsx
index afafca63..29bbe7ba 100644
--- a/examples/09_reactmemo/src/TodoItem.tsx
+++ b/examples/09_reactmemo/src/TodoItem.tsx
@@ -1,6 +1,7 @@
-import React from 'react';
+import { memo } from 'react';
-import { useDispatch, TodoType } from './store';
+import { useDispatch } from './store';
+import type { TodoType } from './store';
type Props = {
todo: TodoType;
@@ -8,7 +9,8 @@ type Props = {
let numRendered = 0;
-const TodoItem = React.memo(({ todo }: Props) => {
+// eslint-disable-next-line react/display-name
+const TodoItem = memo(({ todo }: Props) => {
const dispatch = useDispatch();
return (
diff --git a/examples/09_reactmemo/src/TodoList.tsx b/examples/09_reactmemo/src/TodoList.tsx
index e1683c8a..1a355bee 100644
--- a/examples/09_reactmemo/src/TodoList.tsx
+++ b/examples/09_reactmemo/src/TodoList.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useTrackedState } from './store';
import TodoItem from './TodoItem';
diff --git a/examples/15_reactmemoref/src/App.tsx b/examples/09_reactmemo/src/app.tsx
similarity index 85%
rename from examples/15_reactmemoref/src/App.tsx
rename to examples/09_reactmemo/src/app.tsx
index 36a94204..70fd75cc 100644
--- a/examples/15_reactmemoref/src/App.tsx
+++ b/examples/09_reactmemo/src/app.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { Provider } from './store';
import TodoList from './TodoList';
diff --git a/examples/09_reactmemo/src/index.ts b/examples/09_reactmemo/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/09_reactmemo/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/09_reactmemo/src/index.tsx b/examples/09_reactmemo/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/09_reactmemo/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/09_reactmemo/src/store.ts b/examples/09_reactmemo/src/store.ts
index f2565507..4debac3f 100644
--- a/examples/09_reactmemo/src/store.ts
+++ b/examples/09_reactmemo/src/store.ts
@@ -1,4 +1,5 @@
-import { useReducer, Reducer } from 'react';
+import { useReducer } from 'react';
+import type { Reducer } from 'react';
import { createContainer } from 'react-tracked';
export type TodoType = {
@@ -45,16 +46,18 @@ const reducer: Reducer = (state, action) => {
case 'CHANGE_TODO':
return {
...state,
- todos: state.todos.map((todo) => (
- todo.id === action.id ? { ...todo, title: action.title } : todo
- )),
+ todos: state.todos.map((todo) =>
+ todo.id === action.id ? { ...todo, title: action.title } : todo,
+ ),
};
case 'TOGGLE_TODO':
return {
...state,
- todos: state.todos.map((todo) => (
- todo.id === action.id ? { ...todo, completed: !todo.completed } : todo
- )),
+ todos: state.todos.map((todo) =>
+ todo.id === action.id
+ ? { ...todo, completed: !todo.completed }
+ : todo,
+ ),
};
default:
return state;
diff --git a/examples/10_untracked/package.json b/examples/10_untracked/package.json
index 08e26380..bba01aef 100644
--- a/examples/10_untracked/package.json
+++ b/examples/10_untracked/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/10_untracked/public/index.html b/examples/10_untracked/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/10_untracked/public/index.html
+++ b/examples/10_untracked/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/10_untracked/src/TodoItem.tsx b/examples/10_untracked/src/TodoItem.tsx
index fdafdf15..cefbdf81 100644
--- a/examples/10_untracked/src/TodoItem.tsx
+++ b/examples/10_untracked/src/TodoItem.tsx
@@ -1,10 +1,8 @@
-import React from 'react';
-
import {
useDispatch,
// useUntrackedDispatch as useDispatch, // for unwrapping proxy
- TodoType,
} from './store';
+import type { TodoType } from './store';
type Props = {
todo: TodoType;
@@ -21,12 +19,20 @@ const TodoItem = ({ todo }: Props) => {
/>
dispatch({ type: 'CHANGE_TODO', id: todo.id, title: e.target.value })}
+ onChange={(e) =>
+ dispatch({ type: 'CHANGE_TODO', id: todo.id, title: e.target.value })
+ }
/>
-
diff --git a/examples/10_untracked/src/TodoList.tsx b/examples/10_untracked/src/TodoList.tsx
index e1683c8a..1a355bee 100644
--- a/examples/10_untracked/src/TodoList.tsx
+++ b/examples/10_untracked/src/TodoList.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useTrackedState } from './store';
import TodoItem from './TodoItem';
diff --git a/examples/09_reactmemo/src/App.tsx b/examples/10_untracked/src/app.tsx
similarity index 85%
rename from examples/09_reactmemo/src/App.tsx
rename to examples/10_untracked/src/app.tsx
index 36a94204..70fd75cc 100644
--- a/examples/09_reactmemo/src/App.tsx
+++ b/examples/10_untracked/src/app.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { Provider } from './store';
import TodoList from './TodoList';
diff --git a/examples/10_untracked/src/index.ts b/examples/10_untracked/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/10_untracked/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/10_untracked/src/index.tsx b/examples/10_untracked/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/10_untracked/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/10_untracked/src/store.ts b/examples/10_untracked/src/store.ts
index c89eba72..e1252f8c 100644
--- a/examples/10_untracked/src/store.ts
+++ b/examples/10_untracked/src/store.ts
@@ -1,4 +1,5 @@
-import { useReducer, useCallback, Reducer } from 'react';
+import { useReducer, useCallback } from 'react';
+import type { Reducer } from 'react';
import { createContainer, getUntrackedObject } from 'react-tracked';
export type TodoType = {
@@ -48,19 +49,23 @@ const reducer: Reducer = (state, action) => {
case 'CHANGE_TODO':
return {
...state,
- todos: state.todos.map((todo) => (
- todo.id === action.id ? {
- ...todo,
- detail: { ...todo.detail, title: action.title },
- } : todo
- )),
+ todos: state.todos.map((todo) =>
+ todo.id === action.id
+ ? {
+ ...todo,
+ detail: { ...todo.detail, title: action.title },
+ }
+ : todo,
+ ),
};
case 'TOGGLE_TODO':
return {
...state,
- todos: state.todos.map((todo) => (
- todo.id === action.id ? { ...todo, completed: !todo.completed } : todo
- )),
+ todos: state.todos.map((todo) =>
+ todo.id === action.id
+ ? { ...todo, completed: !todo.completed }
+ : todo,
+ ),
};
case 'DUPLICATE_TODO':
return {
@@ -84,7 +89,6 @@ const {
useUpdate: useDispatch,
} = createContainer(useValue, { concurrentMode: true });
-// eslint-disable-next-line arrow-parens
const untrackDeep = (obj: T) => {
if (typeof obj !== 'object' || obj === null) return obj;
const untrackedObj = getUntrackedObject(obj);
@@ -105,16 +109,14 @@ const untrackDeep = (obj: T) => {
const useUntrackedDispatch = () => {
const dispatch = useDispatch();
- return useCallback((action: Action) => {
- const untrackedAction = untrackDeep(action);
- // console.log(action, untrackedAction);
- dispatch(untrackedAction);
- }, [dispatch]);
+ return useCallback(
+ (action: Action) => {
+ const untrackedAction = untrackDeep(action);
+ // console.log(action, untrackedAction);
+ dispatch(untrackedAction);
+ },
+ [dispatch],
+ );
};
-export {
- Provider,
- useTrackedState,
- useDispatch,
- useUntrackedDispatch,
-};
+export { Provider, useTrackedState, useDispatch, useUntrackedDispatch };
diff --git a/examples/11_form/package.json b/examples/11_form/package.json
index 08e26380..bba01aef 100644
--- a/examples/11_form/package.json
+++ b/examples/11_form/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/11_form/public/index.html b/examples/11_form/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/11_form/public/index.html
+++ b/examples/11_form/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/11_form/src/App.tsx b/examples/11_form/src/app.tsx
similarity index 59%
rename from examples/11_form/src/App.tsx
rename to examples/11_form/src/app.tsx
index e4737df1..2b0f75a7 100644
--- a/examples/11_form/src/App.tsx
+++ b/examples/11_form/src/app.tsx
@@ -1,12 +1,14 @@
-import React, { StrictMode } from 'react';
+import { StrictMode } from 'react';
-import PersonForm from './PersonForm';
+import PersonForm from './person-form';
const App = () => (
);
diff --git a/examples/11_form/src/form.ts b/examples/11_form/src/form.ts
index 05b6126a..e932eaae 100644
--- a/examples/11_form/src/form.ts
+++ b/examples/11_form/src/form.ts
@@ -1,9 +1,5 @@
-import {
- ChangeEvent,
- useState,
- useCallback,
- useLayoutEffect,
-} from 'react';
+import { useState, useCallback, useLayoutEffect } from 'react';
+import type { ChangeEvent } from 'react';
import { createContainer, getUntrackedObject } from 'react-tracked';
@@ -46,36 +42,40 @@ const useFormField = (
) => {
const state = useTrackedState();
const setState = useSetState();
- const updateValue = useCallback((value: Value) => {
- const err = validate && validate(value);
- setState((prev) => {
- const nextValues = { ...prev.values };
- const nextErrors = { ...prev.errors };
- if (err) {
- delete nextValues[name];
- nextErrors[name] = err;
- } else {
- nextValues[name] = value;
- delete nextErrors[name];
- }
- return { values: nextValues, errors: nextErrors };
- });
- }, [name, validate, setState]);
+ const updateValue = useCallback(
+ (value: Value) => {
+ const err = validate && validate(value);
+ setState((prev) => {
+ const nextValues = { ...prev.values };
+ const nextErrors = { ...prev.errors };
+ if (err) {
+ delete nextValues[name];
+ nextErrors[name] = err;
+ } else {
+ nextValues[name] = value;
+ delete nextErrors[name];
+ }
+ return { values: nextValues, errors: nextErrors };
+ });
+ },
+ [name, validate, setState],
+ );
useLayoutEffect(() => {
updateValue(initialValue || '');
}, [initialValue, updateValue]);
- const onChange = useCallback((
- event: ChangeEvent,
- ) => {
- const { target } = event;
- let value: Value;
- if (target.type === 'checkbox') {
- value = (target as HTMLInputElement).checked;
- } else {
- value = target.value;
- }
- updateValue(value);
- }, [updateValue]);
+ const onChange = useCallback(
+ (event: ChangeEvent) => {
+ const { target } = event;
+ let value: Value;
+ if (target.type === 'checkbox') {
+ value = (target as HTMLInputElement).checked;
+ } else {
+ value = target.value;
+ }
+ updateValue(value);
+ },
+ [updateValue],
+ );
return {
value: String(state.values[name] || initialValue),
checked: Boolean(state.values[name] || initialValue),
@@ -83,9 +83,4 @@ const useFormField = (
};
};
-export {
- FormProvider,
- useFormValues,
- useFormError,
- useFormField,
-};
+export { FormProvider, useFormValues, useFormError, useFormField };
diff --git a/examples/11_form/src/index.ts b/examples/11_form/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/11_form/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/11_form/src/index.tsx b/examples/11_form/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/11_form/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/11_form/src/PersonForm.tsx b/examples/11_form/src/person-form.tsx
similarity index 74%
rename from examples/11_form/src/PersonForm.tsx
rename to examples/11_form/src/person-form.tsx
index b1cf6018..3c3fef2b 100644
--- a/examples/11_form/src/PersonForm.tsx
+++ b/examples/11_form/src/person-form.tsx
@@ -1,6 +1,5 @@
-/* eslint react/jsx-props-no-spreading: off */
-
-import React from 'react';
+import { memo } from 'react';
+import type { FormEvent } from 'react';
import {
FormProvider,
@@ -17,7 +16,8 @@ const validateName = (name: unknown) => {
return null;
};
-const FirstName = React.memo(() => (
+// eslint-disable-next-line react/display-name
+const FirstName = memo(() => (
numRendered: {++numRendered}
@@ -28,7 +28,8 @@ const FirstName = React.memo(() => (
));
-const FamilyName = React.memo(() => (
+// eslint-disable-next-line react/display-name
+const FamilyName = memo(() => (
numRendered: {++numRendered}
@@ -39,7 +40,8 @@ const FamilyName = React.memo(() => (
));
-const Gender = React.memo(() => (
+// eslint-disable-next-line react/display-name
+const Gender = memo(() => (
numRendered: {++numRendered}
@@ -54,7 +56,8 @@ const Gender = React.memo(() => (
));
-const Teenager = React.memo(() => (
+// eslint-disable-next-line react/display-name
+const Teenager = memo(() => (
numRendered: {++numRendered}
@@ -65,17 +68,19 @@ const Teenager = React.memo(() => (
));
-const PersonForm = React.memo(() => {
+// eslint-disable-next-line react/display-name
+const PersonForm = memo(() => {
const formValues = useFormValues();
- const onSubmit = (event: React.FormEvent) => {
+ const onSubmit = (event: FormEvent) => {
event.preventDefault();
- // eslint-disable-next-line no-console
console.log(formValues);
};
return (
- {state.loadingState !== 'idle' ?
{state.loadingState}... :
}
+ {state.loadingState !== 'idle' ? (
+
{state.loadingState}...
+ ) : (
+
+ )}
);
diff --git a/examples/12_async/src/Person.tsx b/examples/12_async/src/person.tsx
similarity index 96%
rename from examples/12_async/src/Person.tsx
rename to examples/12_async/src/person.tsx
index 107f8e21..8191aec8 100644
--- a/examples/12_async/src/Person.tsx
+++ b/examples/12_async/src/person.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useTrackedState, useDispatch } from './store';
type Props = {
diff --git a/examples/12_async/src/store.ts b/examples/12_async/src/store.ts
index b1b7ddfb..17d840de 100644
--- a/examples/12_async/src/store.ts
+++ b/examples/12_async/src/store.ts
@@ -1,5 +1,6 @@
-import { Reducer } from 'react';
-import { useReducerAsync, AsyncActionHandlers } from 'use-reducer-async';
+import type { Reducer } from 'react';
+import { useReducerAsync } from 'use-reducer-async';
+import type { AsyncActionHandlers } from 'use-reducer-async';
import { createContainer } from 'react-tracked';
type State = {
@@ -21,9 +22,7 @@ type InnerAction =
| { type: 'ERROR_FETCH_USER' }
| { type: 'DECREMENT' };
-type OuterAction =
- | { type: 'CLEAR_USER_NAME' }
- | { type: 'INCREMENT' };
+type OuterAction = { type: 'CLEAR_USER_NAME' } | { type: 'INCREMENT' };
type Action = InnerAction | OuterAction;
@@ -70,40 +69,51 @@ const reducer: Reducer
= (state, action) => {
}
};
-type AsyncActionFetch = { type: 'FETCH_USER'; id: number }
+type AsyncActionFetch = { type: 'FETCH_USER'; id: number };
type AsyncActionClear = { type: 'DELAYED_DECREMENT' };
type AsyncAction = AsyncActionFetch | AsyncActionClear;
-const sleep = (ms: number) => new Promise((resolve) => {
- setTimeout(resolve, ms);
-});
+const sleep = (ms: number) =>
+ new Promise((resolve) => {
+ setTimeout(resolve, ms);
+ });
-const asyncActionHandlers: AsyncActionHandlers, AsyncAction> = {
- FETCH_USER: ({ dispatch }) => async (action) => {
- try {
- dispatch({ type: 'START_FETCH_USER' });
- const response = await fetch(`https://reqres.in/api/users/${action.id}?delay=1`);
- dispatch({ type: 'CONTINUE_FETCH_USER' });
- const data = await response.json();
+const asyncActionHandlers: AsyncActionHandlers<
+ Reducer,
+ AsyncAction
+> = {
+ FETCH_USER:
+ ({ dispatch }) =>
+ async (action) => {
+ try {
+ dispatch({ type: 'START_FETCH_USER' });
+ const response = await fetch(
+ `https://reqres.in/api/users/${action.id}?delay=1`,
+ );
+ dispatch({ type: 'CONTINUE_FETCH_USER' });
+ const data = await response.json();
+ await sleep(500);
+ const firstName = data.data.first_name;
+ if (typeof firstName !== 'string') throw new Error();
+ dispatch({ type: 'FINISH_FETCH_USER', firstName });
+ } catch (_e) {
+ dispatch({ type: 'ERROR_FETCH_USER' });
+ }
+ },
+ DELAYED_DECREMENT:
+ ({ dispatch }) =>
+ async () => {
await sleep(500);
- const firstName = data.data.first_name;
- if (typeof firstName !== 'string') throw new Error();
- dispatch({ type: 'FINISH_FETCH_USER', firstName });
- } catch (e) {
- dispatch({ type: 'ERROR_FETCH_USER' });
- }
- },
- DELAYED_DECREMENT: ({ dispatch }) => async () => {
- await sleep(500);
- dispatch({ type: 'DECREMENT' });
- },
+ dispatch({ type: 'DECREMENT' });
+ },
};
-const useValue = () => useReducerAsync<
- Reducer,
- AsyncAction,
- AsyncAction | OuterAction
->(reducer, initialState, asyncActionHandlers);
+const useValue = () =>
+ useReducerAsync<
+ Reducer,
+ AsyncAction,
+ AsyncAction | OuterAction
+ >(reducer, initialState, asyncActionHandlers);
export const {
Provider,
diff --git a/examples/13_saga/package.json b/examples/13_saga/package.json
index cd9f1ff9..05e52f39 100644
--- a/examples/13_saga/package.json
+++ b/examples/13_saga/package.json
@@ -1,28 +1,23 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"redux-saga": "latest",
"typescript": "latest",
- "use-saga-reducer": ">=2.0.0"
+ "use-saga-reducer": "latest"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/13_saga/public/index.html b/examples/13_saga/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/13_saga/public/index.html
+++ b/examples/13_saga/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/12_async/src/App.tsx b/examples/13_saga/src/app.tsx
similarity index 68%
rename from examples/12_async/src/App.tsx
rename to examples/13_saga/src/app.tsx
index 33e61fba..305afd67 100644
--- a/examples/12_async/src/App.tsx
+++ b/examples/13_saga/src/app.tsx
@@ -1,7 +1,5 @@
-import React from 'react';
-
import { Provider } from './store';
-import Main from './Main';
+import Main from './main';
const App = () => (
diff --git a/examples/12_async/src/Counter.tsx b/examples/13_saga/src/counter.tsx
similarity index 55%
rename from examples/12_async/src/Counter.tsx
rename to examples/13_saga/src/counter.tsx
index 1fc97194..63430817 100644
--- a/examples/12_async/src/Counter.tsx
+++ b/examples/13_saga/src/counter.tsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import { memo } from 'react';
import { useTrackedState, useDispatch } from './store';
@@ -9,10 +9,17 @@ const Counter = () => {
Counter
Count: {state.count}
- dispatch({ type: 'INCREMENT' })}>+1
- dispatch({ type: 'DELAYED_DECREMENT' })}>-1 (Delayed)
+ dispatch({ type: 'INCREMENT' })}>
+ +1
+
+ dispatch({ type: 'DELAYED_DECREMENT' })}
+ >
+ -1 (Delayed)
+
);
};
-export default React.memo(Counter);
+export default memo(Counter);
diff --git a/examples/13_saga/src/index.ts b/examples/13_saga/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/13_saga/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/13_saga/src/index.tsx b/examples/13_saga/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/13_saga/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/13_saga/src/Main.tsx b/examples/13_saga/src/main.tsx
similarity index 60%
rename from examples/13_saga/src/Main.tsx
rename to examples/13_saga/src/main.tsx
index fd6d10f1..7f5eb621 100644
--- a/examples/13_saga/src/Main.tsx
+++ b/examples/13_saga/src/main.tsx
@@ -1,8 +1,8 @@
-import React, { useState } from 'react';
+import { useState } from 'react';
import { useTrackedState } from './store';
-import Person from './Person';
-import Counter from './Counter';
+import Person from './person';
+import Counter from './counter';
const Main = () => {
const state = useTrackedState();
@@ -14,7 +14,11 @@ const Main = () => {
User ID:
setId(e.target.value)} />
- {state.loadingState !== 'idle' ?
{state.loadingState}... :
}
+ {state.loadingState !== 'idle' ? (
+
{state.loadingState}...
+ ) : (
+
+ )}
);
diff --git a/examples/13_saga/src/Person.tsx b/examples/13_saga/src/person.tsx
similarity index 96%
rename from examples/13_saga/src/Person.tsx
rename to examples/13_saga/src/person.tsx
index 107f8e21..8191aec8 100644
--- a/examples/13_saga/src/Person.tsx
+++ b/examples/13_saga/src/person.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { useTrackedState, useDispatch } from './store';
type Props = {
diff --git a/examples/13_saga/src/store.ts b/examples/13_saga/src/store.ts
index 31f91a36..96cbb187 100644
--- a/examples/13_saga/src/store.ts
+++ b/examples/13_saga/src/store.ts
@@ -1,4 +1,4 @@
-import { Reducer } from 'react';
+import type { Reducer } from 'react';
import {
call,
put,
@@ -7,6 +7,7 @@ import {
takeEvery,
all,
} from 'redux-saga/effects';
+// eslint-disable-next-line import/no-named-as-default
import useSagaReducer from 'use-saga-reducer';
import { createContainer } from 'react-tracked';
@@ -29,9 +30,7 @@ type InnerAction =
| { type: 'ERROR_FETCH_USER' }
| { type: 'DECREMENT' };
-type OuterAction =
- | { type: 'CLEAR_USER_NAME' }
- | { type: 'INCREMENT' };
+type OuterAction = { type: 'CLEAR_USER_NAME' } | { type: 'INCREMENT' };
const reducer: Reducer = (state, action) => {
switch (action.type) {
@@ -76,21 +75,25 @@ const reducer: Reducer = (state, action) => {
}
};
-type AsyncActionFetch = { type: 'FETCH_USER'; id: number }
+type AsyncActionFetch = { type: 'FETCH_USER'; id: number };
type AsyncActionDecrement = { type: 'DELAYED_DECREMENT' };
type AsyncAction = AsyncActionFetch | AsyncActionDecrement;
function* userFetcher(action: AsyncActionFetch) {
try {
yield put({ type: 'START_FETCH_USER' });
- const response: Response = yield call(() => fetch(`https://reqres.in/api/users/${action.id}?delay=1`));
+ const response: Response = yield call(() =>
+ fetch(`https://reqres.in/api/users/${action.id}?delay=1`),
+ );
yield put({ type: 'CONTINUE_FETCH_USER' });
- const data: { data: Record } = yield call(() => response.json());
+ const data: { data: Record } = yield call(() =>
+ response.json(),
+ );
yield delay(500);
const firstName = data.data.first_name;
if (typeof firstName !== 'string') throw new Error();
yield put({ type: 'FINISH_FETCH_USER', firstName });
- } catch (e) {
+ } catch (_e) {
yield put({ type: 'ERROR_FETCH_USER' });
}
}
@@ -105,21 +108,22 @@ function* userFetchingSaga() {
}
function* delayedDecrementingSaga() {
- yield takeEvery('DELAYED_DECREMENT', delayedDecrementer);
+ yield takeEvery(
+ 'DELAYED_DECREMENT',
+ delayedDecrementer,
+ );
}
function* rootSaga() {
- yield all([
- userFetchingSaga(),
- delayedDecrementingSaga(),
- ]);
+ yield all([userFetchingSaga(), delayedDecrementingSaga()]);
}
-const useValue = () => useSagaReducer(
- rootSaga,
- reducer as Reducer,
- initialState,
-);
+const useValue = () =>
+ useSagaReducer(
+ rootSaga,
+ reducer as Reducer,
+ initialState,
+ );
export const {
Provider,
diff --git a/examples/14_dynamic/package.json b/examples/14_dynamic/package.json
index 08e26380..bba01aef 100644
--- a/examples/14_dynamic/package.json
+++ b/examples/14_dynamic/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/14_dynamic/public/index.html b/examples/14_dynamic/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/14_dynamic/public/index.html
+++ b/examples/14_dynamic/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/14_dynamic/src/Counter.tsx b/examples/14_dynamic/src/Counter.tsx
deleted file mode 100644
index c2565bea..00000000
--- a/examples/14_dynamic/src/Counter.tsx
+++ /dev/null
@@ -1,23 +0,0 @@
-import React, { useState } from 'react';
-
-import { useTracked } from './state';
-
-let numRendered = 0;
-
-const Counter = () => {
- const [index, setIndex] = useState(0);
- const [state, dispatch] = useTracked();
- return (
-
- numRendered: {++numRendered}
-
- Count: {state.count[index]}
- dispatch({ index, type: 'increment' })}>+1
- dispatch({ index, type: 'decrement' })}>-1
- setIndex(Number(e.target.value) || 0)} />
-
-
- );
-};
-
-export default Counter;
diff --git a/examples/14_dynamic/src/App.tsx b/examples/14_dynamic/src/app.tsx
similarity index 70%
rename from examples/14_dynamic/src/App.tsx
rename to examples/14_dynamic/src/app.tsx
index 6cb2edcf..e709ae26 100644
--- a/examples/14_dynamic/src/App.tsx
+++ b/examples/14_dynamic/src/app.tsx
@@ -1,9 +1,9 @@
-import React, { StrictMode } from 'react';
+import { StrictMode } from 'react';
import { Provider } from './state';
-import Counter from './Counter';
-import Person from './Person';
+import Counter from './counter';
+import Person from './person';
const App = () => (
diff --git a/examples/14_dynamic/src/counter.tsx b/examples/14_dynamic/src/counter.tsx
new file mode 100644
index 00000000..99452fb4
--- /dev/null
+++ b/examples/14_dynamic/src/counter.tsx
@@ -0,0 +1,36 @@
+import { useState } from 'react';
+
+import { useTracked } from './state';
+
+let numRendered = 0;
+
+const Counter = () => {
+ const [index, setIndex] = useState(0);
+ const [state, dispatch] = useTracked();
+ return (
+
+ numRendered: {++numRendered}
+
+ Count: {state.count[index]}
+ dispatch({ index, type: 'increment' })}
+ >
+ +1
+
+ dispatch({ index, type: 'decrement' })}
+ >
+ -1
+
+ setIndex(Number(e.target.value) || 0)}
+ />
+
+
+ );
+};
+
+export default Counter;
diff --git a/examples/14_dynamic/src/index.ts b/examples/14_dynamic/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/14_dynamic/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/14_dynamic/src/index.tsx b/examples/14_dynamic/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/14_dynamic/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/14_dynamic/src/Person.tsx b/examples/14_dynamic/src/person.tsx
similarity index 91%
rename from examples/14_dynamic/src/Person.tsx
rename to examples/14_dynamic/src/person.tsx
index 00732755..a69c3190 100644
--- a/examples/14_dynamic/src/Person.tsx
+++ b/examples/14_dynamic/src/person.tsx
@@ -1,4 +1,4 @@
-import React, { useState } from 'react';
+import { useState } from 'react';
import { useTracked } from './state';
@@ -20,7 +20,9 @@ const Person = () => {
dispatch({ firstName, type: 'setFirstName' });
}}
/>
- setMode('last')}>toggle
+ setMode('last')}>
+ toggle
+
)}
{mode === 'last' && (
@@ -33,7 +35,9 @@ const Person = () => {
dispatch({ lastName, type: 'setLastName' });
}}
/>
- setMode('first')}>toggle
+ setMode('first')}>
+ toggle
+
)}
diff --git a/examples/14_dynamic/src/state.ts b/examples/14_dynamic/src/state.ts
index d4c368c4..c475575d 100644
--- a/examples/14_dynamic/src/state.ts
+++ b/examples/14_dynamic/src/state.ts
@@ -1,4 +1,5 @@
-import { useReducer, Reducer } from 'react';
+import { useReducer } from 'react';
+import type { Reducer } from 'react';
import { createContainer } from 'react-tracked';
@@ -22,43 +23,48 @@ type Action =
const reducer: Reducer
= (state, action) => {
switch (action.type) {
- case 'increment': return {
- ...state,
- count: [
- ...state.count.slice(0, action.index),
- (state.count[action.index] as number) + 1,
- ...state.count.slice(action.index + 1),
- ],
- };
- case 'decrement': return {
- ...state,
- count: [
- ...state.count.slice(0, action.index),
- (state.count[action.index] as number) - 1,
- ...state.count.slice(action.index + 1),
- ],
- };
- case 'setFirstName': return {
- ...state,
- person: {
- ...state.person,
- firstName: action.firstName,
- },
- };
- case 'setLastName': return {
- ...state,
- person: {
- ...state.person,
- lastName: action.lastName,
- },
- };
- case 'setAge': return {
- ...state,
- person: {
- ...state.person,
- age: action.age,
- },
- };
+ case 'increment':
+ return {
+ ...state,
+ count: [
+ ...state.count.slice(0, action.index),
+ (state.count[action.index] as number) + 1,
+ ...state.count.slice(action.index + 1),
+ ],
+ };
+ case 'decrement':
+ return {
+ ...state,
+ count: [
+ ...state.count.slice(0, action.index),
+ (state.count[action.index] as number) - 1,
+ ...state.count.slice(action.index + 1),
+ ],
+ };
+ case 'setFirstName':
+ return {
+ ...state,
+ person: {
+ ...state.person,
+ firstName: action.firstName,
+ },
+ };
+ case 'setLastName':
+ return {
+ ...state,
+ person: {
+ ...state.person,
+ lastName: action.lastName,
+ },
+ };
+ case 'setAge':
+ return {
+ ...state,
+ person: {
+ ...state.person,
+ age: action.age,
+ },
+ };
default:
throw new Error('unknown action type');
}
@@ -66,4 +72,6 @@ const reducer: Reducer = (state, action) => {
const useValue = () => useReducer(reducer, initialState);
-export const { Provider, useTracked } = createContainer(useValue, { concurrentMode: true });
+export const { Provider, useTracked } = createContainer(useValue, {
+ concurrentMode: true,
+});
diff --git a/examples/15_reactmemoref/package.json b/examples/15_reactmemoref/package.json
index 08e26380..bba01aef 100644
--- a/examples/15_reactmemoref/package.json
+++ b/examples/15_reactmemoref/package.json
@@ -1,14 +1,15 @@
{
- "name": "react-tracked-example",
- "version": "0.1.0",
+ "name": "example",
+ "version": "0.0.0",
"private": true,
+ "type": "commonjs",
"dependencies": {
"@types/react": "latest",
"@types/react-dom": "latest",
- "react": "18.0.0-rc.2",
- "react-dom": "18.0.0-rc.2",
- "react-tracked": "latest",
+ "react": "latest",
+ "react-dom": "latest",
"react-scripts": "latest",
+ "react-tracked": "latest",
"typescript": "latest"
},
"scripts": {
@@ -16,11 +17,5 @@
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
- },
- "browserslist": [
- ">0.2%",
- "not dead",
- "not ie <= 11",
- "not op_mini all"
- ]
+ }
}
diff --git a/examples/15_reactmemoref/public/index.html b/examples/15_reactmemoref/public/index.html
index 71fee982..ad4c7826 100644
--- a/examples/15_reactmemoref/public/index.html
+++ b/examples/15_reactmemoref/public/index.html
@@ -1,6 +1,6 @@
- react-tracked example
+ example
diff --git a/examples/15_reactmemoref/src/TodoItem.tsx b/examples/15_reactmemoref/src/TodoItem.tsx
index 68b92a4a..edf4cbd9 100644
--- a/examples/15_reactmemoref/src/TodoItem.tsx
+++ b/examples/15_reactmemoref/src/TodoItem.tsx
@@ -1,16 +1,15 @@
-import React, { forwardRef } from 'react';
+import { memo, forwardRef } from 'react';
-import { useDispatch, TodoType } from './store';
+import { useDispatch } from './store';
+import type { TodoType } from './store';
type Props = {
- // FIXME why this complaints?
- // eslint-disable-next-line react/no-unused-prop-types
todo: TodoType;
};
let numRendered = 0;
-const TodoItem = React.memo(
+const TodoItem = memo(
forwardRef(({ todo }, ref) => {
const dispatch = useDispatch();
return (
diff --git a/examples/15_reactmemoref/src/TodoList.tsx b/examples/15_reactmemoref/src/TodoList.tsx
index e931d71d..d3fed1bf 100644
--- a/examples/15_reactmemoref/src/TodoList.tsx
+++ b/examples/15_reactmemoref/src/TodoList.tsx
@@ -1,11 +1,11 @@
-import React from 'react';
+import { useRef } from 'react';
import { useTrackedState } from './store';
import TodoItem from './TodoItem';
const TodoList = () => {
const state = useTrackedState();
- const ref = React.useRef(null);
+ const ref = useRef(null);
const { todos } = state;
return (
diff --git a/examples/10_untracked/src/App.tsx b/examples/15_reactmemoref/src/app.tsx
similarity index 85%
rename from examples/10_untracked/src/App.tsx
rename to examples/15_reactmemoref/src/app.tsx
index 36a94204..70fd75cc 100644
--- a/examples/10_untracked/src/App.tsx
+++ b/examples/15_reactmemoref/src/app.tsx
@@ -1,5 +1,3 @@
-import React from 'react';
-
import { Provider } from './store';
import TodoList from './TodoList';
diff --git a/examples/15_reactmemoref/src/index.ts b/examples/15_reactmemoref/src/index.ts
deleted file mode 100644
index ba847f04..00000000
--- a/examples/15_reactmemoref/src/index.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-import React from 'react';
-import { createRoot } from 'react-dom/client';
-
-import App from './App';
-
-const ele = document.getElementById('app');
-if (!ele) throw new Error('no app');
-createRoot(ele).render(React.createElement(App));
diff --git a/examples/15_reactmemoref/src/index.tsx b/examples/15_reactmemoref/src/index.tsx
new file mode 100644
index 00000000..10774d1c
--- /dev/null
+++ b/examples/15_reactmemoref/src/index.tsx
@@ -0,0 +1,13 @@
+import { StrictMode } from 'react';
+import { createRoot } from 'react-dom/client';
+
+import App from './app';
+
+const ele = document.getElementById('app');
+if (ele) {
+ createRoot(ele).render(
+
+
+ ,
+ );
+}
diff --git a/examples/15_reactmemoref/src/store.ts b/examples/15_reactmemoref/src/store.ts
index f2565507..4debac3f 100644
--- a/examples/15_reactmemoref/src/store.ts
+++ b/examples/15_reactmemoref/src/store.ts
@@ -1,4 +1,5 @@
-import { useReducer, Reducer } from 'react';
+import { useReducer } from 'react';
+import type { Reducer } from 'react';
import { createContainer } from 'react-tracked';
export type TodoType = {
@@ -45,16 +46,18 @@ const reducer: Reducer = (state, action) => {
case 'CHANGE_TODO':
return {
...state,
- todos: state.todos.map((todo) => (
- todo.id === action.id ? { ...todo, title: action.title } : todo
- )),
+ todos: state.todos.map((todo) =>
+ todo.id === action.id ? { ...todo, title: action.title } : todo,
+ ),
};
case 'TOGGLE_TODO':
return {
...state,
- todos: state.todos.map((todo) => (
- todo.id === action.id ? { ...todo, completed: !todo.completed } : todo
- )),
+ todos: state.todos.map((todo) =>
+ todo.id === action.id
+ ? { ...todo, completed: !todo.completed }
+ : todo,
+ ),
};
default:
return state;
diff --git a/examples/tsconfig.json b/examples/tsconfig.json
new file mode 100644
index 00000000..17f64cf3
--- /dev/null
+++ b/examples/tsconfig.json
@@ -0,0 +1,8 @@
+{
+ "extends": "../tsconfig.json",
+ "compilerOptions": {
+ "module": "esnext",
+ "moduleResolution": "bundler"
+ },
+ "exclude": []
+}
diff --git a/jest-puppeteer.config.js b/jest-puppeteer.config.js
deleted file mode 100644
index 0cc4c183..00000000
--- a/jest-puppeteer.config.js
+++ /dev/null
@@ -1,6 +0,0 @@
-module.exports = {
- launch: {
- headless: process.env.HEADLESS === 'false' ? false : 'new',
- slowMo: process.env.SLOWMO ? process.env.SLOWMO : 0,
- },
-};
diff --git a/package.json b/package.json
index b5c31305..61afe3d2 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,7 @@
"publishConfig": {
"tag": "next"
},
+ "type": "module",
"author": "Daishi Kato",
"repository": {
"type": "git",
@@ -12,15 +13,19 @@
},
"homepage": "https://react-tracked.js.org",
"source": "./src/index.ts",
- "main": "./dist/index.umd.js",
- "module": "./dist/index.modern.js",
- "types": "./dist/src/index.d.ts",
+ "main": "./dist/index.js",
+ "types": "./dist/index.d.ts",
"exports": {
"./package.json": "./package.json",
".": {
- "types": "./dist/src/index.d.ts",
- "import": "./dist/index.modern.mjs",
- "default": "./dist/index.umd.js"
+ "require": {
+ "types": "./dist/cjs/index.d.ts",
+ "default": "./dist/cjs/index.js"
+ },
+ "default": {
+ "types": "./dist/index.d.ts",
+ "default": "./dist/index.js"
+ }
}
},
"sideEffects": false,
@@ -28,49 +33,49 @@
"src",
"dist"
],
+ "packageManager": "pnpm@8.15.0",
"scripts": {
- "compile": "microbundle build -f modern,umd --globals react=React --no-compress",
- "postcompile": "cp dist/index.modern.mjs dist/index.modern.js && cp dist/index.modern.mjs.map dist/index.modern.js.map",
- "test": "run-s eslint tsc-test jest prepare-e2e e2e-test:*",
- "eslint": "eslint --ext .js,.ts,.tsx --ignore-path .gitignore --ignore-pattern dist .",
- "jest": "jest --preset ts-jest/presets/js-with-ts --env jsdom __tests__/*.tsx",
- "tsc-test": "tsc --project . --noEmit",
+ "compile": "rm -rf dist && pnpm run '/^compile:.*/'",
+ "compile:esm": "tsc -p tsconfig.esm.json",
+ "compile:cjs": "tsc -p tsconfig.cjs.json && echo '{\"type\":\"commonjs\"}' > dist/cjs/package.json",
+ "test": "pnpm run '/^test:.*/'",
+ "test:format": "prettier -c .",
+ "test:lint": "eslint .",
+ "test:types": "tsc -p . --noEmit",
+ "test:types:examples": "tsc -p examples --noEmit",
+ "test:spec": "vitest run --project=spec",
+ "test:e2e": "run-s prepare-e2e e2e:*",
"prepare-e2e": "test -z $CI || node node_modules/puppeteer/install.mjs",
- "e2e-test:01_minimal": "server-test examples:01_minimal 8080 'jest --preset jest-puppeteer __tests__/e2e/01_minimal.ts'",
- "e2e-test:02_typescript": "server-test examples:02_typescript 8080 'jest --preset jest-puppeteer __tests__/e2e/02_typescript.ts'",
- "e2e-test:03_usestate": "server-test examples:03_usestate 8080 'jest --preset jest-puppeteer __tests__/e2e/03_usestate.ts'",
- "e2e-test:04_selector": "server-test examples:04_selector 8080 'jest --preset jest-puppeteer __tests__/e2e/04_selector.ts'",
- "e2e-test:05_container": "server-test examples:05_container 8080 'jest --preset jest-puppeteer __tests__/e2e/05_container.ts'",
- "e2e-test:06_customhook": "server-test examples:06_customhook 8080 'jest --preset jest-puppeteer __tests__/e2e/06_customhook.ts'",
- "e2e-test:07_todolist": "server-test examples:07_todolist 8080 'jest --preset jest-puppeteer __tests__/e2e/07_todolist.ts'",
- "e2e-test:08_comparison": "server-test examples:08_comparison 8080 'jest --preset jest-puppeteer __tests__/e2e/08_comparison.ts'",
- "e2e-test:09_reactmemo": "server-test examples:09_reactmemo 8080 'jest --preset jest-puppeteer __tests__/e2e/09_reactmemo.ts'",
- "e2e-test:10_untracked": "server-test examples:10_untracked 8080 'jest --preset jest-puppeteer __tests__/e2e/10_untracked.ts'",
- "e2e-test:11_form": "server-test examples:11_form 8080 'jest --preset jest-puppeteer __tests__/e2e/11_form.ts'",
- "e2e-test:12_async": "server-test examples:12_async 8080 'jest --preset jest-puppeteer __tests__/e2e/12_async.ts'",
- "e2e-test:13_saga": "server-test examples:13_saga 8080 'jest --preset jest-puppeteer __tests__/e2e/13_saga.ts'",
- "e2e-test:14_dynamic": "server-test examples:14_dynamic 8080 'jest --preset jest-puppeteer __tests__/e2e/14_dynamic.ts'",
- "e2e-test:15_reactmemoref": "server-test examples:15_reactmemoref 8080 'jest --preset jest-puppeteer __tests__/e2e/15_reactmemoref.ts'",
- "examples:01_minimal": "DIR=01_minimal EXT=js webpack serve",
- "examples:02_typescript": "DIR=02_typescript webpack serve",
- "examples:03_usestate": "DIR=03_usestate webpack serve",
- "examples:04_selector": "DIR=04_selector webpack serve",
- "examples:05_container": "DIR=05_container webpack serve",
- "examples:06_customhook": "DIR=06_customhook EXT=tsx webpack serve",
- "examples:07_todolist": "DIR=07_todolist webpack serve",
- "examples:08_comparison": "DIR=08_comparison webpack serve",
- "examples:09_reactmemo": "DIR=09_reactmemo webpack serve",
- "examples:10_untracked": "DIR=10_untracked webpack serve",
- "examples:11_form": "DIR=11_form webpack serve",
- "examples:12_async": "DIR=12_async webpack serve",
- "examples:13_saga": "DIR=13_saga webpack serve",
- "examples:14_dynamic": "DIR=14_dynamic webpack serve",
- "examples:15_reactmemoref": "DIR=15_reactmemoref webpack serve"
- },
- "jest": {
- "transform": {
- "^.+\\.ts$": "ts-jest"
- }
+ "e2e:01_counter": "server-test examples:01_counter http://localhost:8080 'vitest run --project=e2e 01_counter'",
+ "e2e:02_person": "server-test examples:02_person http://localhost:8080 'vitest run --project=e2e 02_person'",
+ "e2e:03_usestate": "server-test examples:03_usestate http://localhost:8080 'vitest run --project=e2e 03_usestate'",
+ "e2e:04_selector": "server-test examples:04_selector http://localhost:8080 'vitest run --project=e2e 04_selector'",
+ "e2e:05_container": "server-test examples:05_container http://localhost:8080 'vitest run --project=e2e 05_container'",
+ "e2e:06_customhook": "server-test examples:06_customhook http://localhost:8080 'vitest run --project=e2e 06_customhook'",
+ "e2e:07_todolist": "server-test examples:07_todolist http://localhost:8080 'vitest run --project=e2e 07_todolist'",
+ "e2e:08_comparison": "server-test examples:08_comparison http://localhost:8080 'vitest run --project=e2e 08_comparison'",
+ "e2e:09_reactmemo": "server-test examples:09_reactmemo http://localhost:8080 'vitest run --project=e2e 09_reactmemo'",
+ "e2e:10_untracked": "server-test examples:10_untracked http://localhost:8080 'vitest run --project=e2e 10_untracked'",
+ "e2e:11_form": "server-test examples:11_form http://localhost:8080 'vitest run --project=e2e 11_form'",
+ "e2e:12_async": "server-test examples:12_async http://localhost:8080 'vitest run --project=e2e 12_async'",
+ "e2e:13_saga": "server-test examples:13_saga http://localhost:8080 'vitest run --project=e2e 13_saga'",
+ "e2e:14_dynamic": "server-test examples:14_dynamic http://localhost:8080 'vitest run --project=e2e 14_dynamic'",
+ "e2e:15_reactmemoref": "server-test examples:15_reactmemoref http://localhost:8080 'vitest run --project=e2e 15_reactmemoref'",
+ "examples:01_counter": "DIR=01_counter vite",
+ "examples:02_person": "DIR=02_person vite",
+ "examples:03_usestate": "DIR=03_usestate vite",
+ "examples:04_selector": "DIR=04_selector vite",
+ "examples:05_container": "DIR=05_container vite",
+ "examples:06_customhook": "DIR=06_customhook EXT=tsx vite",
+ "examples:07_todolist": "DIR=07_todolist vite",
+ "examples:08_comparison": "DIR=08_comparison vite",
+ "examples:09_reactmemo": "DIR=09_reactmemo vite",
+ "examples:10_untracked": "DIR=10_untracked vite",
+ "examples:11_form": "DIR=11_form vite",
+ "examples:12_async": "DIR=12_async vite",
+ "examples:13_saga": "DIR=13_saga vite",
+ "examples:14_dynamic": "DIR=14_dynamic vite",
+ "examples:15_reactmemoref": "DIR=15_reactmemoref vite"
},
"keywords": [
"react",
@@ -79,58 +84,47 @@
"hooks"
],
"license": "MIT",
+ "prettier": {
+ "singleQuote": true
+ },
"dependencies": {
- "proxy-compare": "2.6.0",
- "use-context-selector": "1.4.4"
+ "proxy-compare": "^3.0.0",
+ "use-context-selector": "^2.0.0-beta.0"
},
"devDependencies": {
- "@testing-library/react": "^14.2.1",
- "@types/jest": "^29.5.12",
- "@types/jest-environment-puppeteer": "^5.0.6",
- "@types/react": "^18.2.61",
- "@types/react-dom": "^18.2.19",
- "@types/scheduler": "^0.16.8",
- "@typescript-eslint/eslint-plugin": "^7.1.0",
- "@typescript-eslint/parser": "^7.1.0",
- "eslint": "^8.57.0",
- "eslint-config-airbnb": "^19.0.4",
+ "@testing-library/jest-dom": "^6.4.2",
+ "@testing-library/react": "^15.0.5",
+ "@testing-library/user-event": "^14.5.2",
+ "@types/node": "^20.12.7",
+ "@types/react": "^18.3.1",
+ "@types/react-dom": "^18.3.0",
+ "@typescript-eslint/eslint-plugin": "^7.7.1",
+ "@typescript-eslint/parser": "^7.7.1",
+ "eslint": "8.57.0",
+ "eslint-config-prettier": "^9.1.0",
+ "eslint-import-resolver-typescript": "^3.6.1",
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-jsx-a11y": "^6.8.0",
- "eslint-plugin-react": "^7.33.2",
- "eslint-plugin-react-hooks": "^4.6.0",
- "html-webpack-plugin": "^5.6.0",
- "immer": "^10.0.3",
- "jest": "^29.7.0",
- "jest-environment-jsdom": "^29.7.0",
- "jest-puppeteer": "^10.0.1",
- "microbundle": "^0.15.1",
+ "eslint-plugin-react": "^7.34.1",
+ "eslint-plugin-react-hooks": "^4.6.2",
+ "happy-dom": "^14.7.1",
+ "immer": "^10.1.1",
"npm-run-all": "^4.1.5",
- "puppeteer": "^22.3.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0",
+ "prettier": "^3.2.5",
+ "puppeteer": "^22.7.1",
+ "react": "^18.3.1",
+ "react-dom": "^18.3.1",
"redux-saga": "^1.3.0",
"start-server-and-test": "^2.0.3",
- "ts-jest": "^29.1.2",
- "ts-loader": "^9.5.1",
- "typescript": "^5.3.3",
+ "ts-expect": "^1.3.0",
+ "typescript": "^5.4.5",
"use-reducer-async": "^2.1.1",
"use-saga-reducer": "^3.0.0",
- "webpack": "^5.90.3",
- "webpack-cli": "^5.1.4",
- "webpack-dev-server": "^5.0.2"
+ "vite": "^5.2.10",
+ "vitest": "^1.5.2"
},
"peerDependencies": {
- "react": ">=16.8.0",
- "react-dom": "*",
- "react-native": "*",
+ "react": ">=18.0.0",
"scheduler": ">=0.19.0"
- },
- "peerDependenciesMeta": {
- "react-dom": {
- "optional": true
- },
- "react-native": {
- "optional": true
- }
}
}
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index b50eb06b..31a39cb1 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -6,7265 +6,2759 @@ settings:
dependencies:
proxy-compare:
- specifier: 2.6.0
- version: 2.6.0
- react-native:
- specifier: '*'
- version: 0.73.5(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(react@18.2.0)
+ specifier: ^3.0.0
+ version: 3.0.0
scheduler:
specifier: '>=0.19.0'
- version: 0.23.0
+ version: 0.23.2
use-context-selector:
- specifier: 1.4.4
- version: 1.4.4(react-dom@18.2.0)(react-native@0.73.5)(react@18.2.0)(scheduler@0.23.0)
+ specifier: ^2.0.0-beta.0
+ version: 2.0.0-beta.0(react@18.3.1)(scheduler@0.23.2)
devDependencies:
+ '@testing-library/jest-dom':
+ specifier: ^6.4.2
+ version: 6.4.2(vitest@1.5.2)
'@testing-library/react':
- specifier: ^14.2.1
- version: 14.2.1(react-dom@18.2.0)(react@18.2.0)
- '@types/jest':
- specifier: ^29.5.12
- version: 29.5.12
- '@types/jest-environment-puppeteer':
- specifier: ^5.0.6
- version: 5.0.6
+ specifier: ^15.0.5
+ version: 15.0.5(react-dom@18.3.1)(react@18.3.1)
+ '@testing-library/user-event':
+ specifier: ^14.5.2
+ version: 14.5.2(@testing-library/dom@10.1.0)
+ '@types/node':
+ specifier: ^20.12.7
+ version: 20.12.7
'@types/react':
- specifier: ^18.2.61
- version: 18.2.61
+ specifier: ^18.3.1
+ version: 18.3.1
'@types/react-dom':
- specifier: ^18.2.19
- version: 18.2.19
- '@types/scheduler':
- specifier: ^0.16.8
- version: 0.16.8
+ specifier: ^18.3.0
+ version: 18.3.0
'@typescript-eslint/eslint-plugin':
- specifier: ^7.1.0
- version: 7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3)
+ specifier: ^7.7.1
+ version: 7.7.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)(typescript@5.4.5)
'@typescript-eslint/parser':
- specifier: ^7.1.0
- version: 7.1.0(eslint@8.57.0)(typescript@5.3.3)
+ specifier: ^7.7.1
+ version: 7.7.1(eslint@8.57.0)(typescript@5.4.5)
eslint:
- specifier: ^8.57.0
+ specifier: 8.57.0
version: 8.57.0
- eslint-config-airbnb:
- specifier: ^19.0.4
- version: 19.0.4(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.33.2)(eslint@8.57.0)
+ eslint-config-prettier:
+ specifier: ^9.1.0
+ version: 9.1.0(eslint@8.57.0)
+ eslint-import-resolver-typescript:
+ specifier: ^3.6.1
+ version: 3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
eslint-plugin-import:
specifier: ^2.29.1
- version: 2.29.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)
+ version: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
eslint-plugin-jsx-a11y:
specifier: ^6.8.0
version: 6.8.0(eslint@8.57.0)
eslint-plugin-react:
- specifier: ^7.33.2
- version: 7.33.2(eslint@8.57.0)
+ specifier: ^7.34.1
+ version: 7.34.1(eslint@8.57.0)
eslint-plugin-react-hooks:
- specifier: ^4.6.0
- version: 4.6.0(eslint@8.57.0)
- html-webpack-plugin:
- specifier: ^5.6.0
- version: 5.6.0(webpack@5.90.3)
+ specifier: ^4.6.2
+ version: 4.6.2(eslint@8.57.0)
+ happy-dom:
+ specifier: ^14.7.1
+ version: 14.7.1
immer:
- specifier: ^10.0.3
- version: 10.0.3
- jest:
- specifier: ^29.7.0
- version: 29.7.0
- jest-environment-jsdom:
- specifier: ^29.7.0
- version: 29.7.0
- jest-puppeteer:
- specifier: ^10.0.1
- version: 10.0.1(puppeteer@22.3.0)(typescript@5.3.3)
- microbundle:
- specifier: ^0.15.1
- version: 0.15.1
+ specifier: ^10.1.1
+ version: 10.1.1
npm-run-all:
specifier: ^4.1.5
version: 4.1.5
+ prettier:
+ specifier: ^3.2.5
+ version: 3.2.5
puppeteer:
- specifier: ^22.3.0
- version: 22.3.0(typescript@5.3.3)
+ specifier: ^22.7.1
+ version: 22.7.1(typescript@5.4.5)
react:
- specifier: ^18.2.0
- version: 18.2.0
+ specifier: ^18.3.1
+ version: 18.3.1
react-dom:
- specifier: ^18.2.0
- version: 18.2.0(react@18.2.0)
+ specifier: ^18.3.1
+ version: 18.3.1(react@18.3.1)
redux-saga:
specifier: ^1.3.0
version: 1.3.0
start-server-and-test:
specifier: ^2.0.3
version: 2.0.3
- ts-jest:
- specifier: ^29.1.2
- version: 29.1.2(@babel/core@7.24.0)(jest@29.7.0)(typescript@5.3.3)
- ts-loader:
- specifier: ^9.5.1
- version: 9.5.1(typescript@5.3.3)(webpack@5.90.3)
+ ts-expect:
+ specifier: ^1.3.0
+ version: 1.3.0
typescript:
- specifier: ^5.3.3
- version: 5.3.3
+ specifier: ^5.4.5
+ version: 5.4.5
use-reducer-async:
specifier: ^2.1.1
- version: 2.1.1(react@18.2.0)
+ version: 2.1.1(react@18.3.1)
use-saga-reducer:
specifier: ^3.0.0
- version: 3.0.0(react@18.2.0)(redux-saga@1.3.0)
- webpack:
- specifier: ^5.90.3
- version: 5.90.3(webpack-cli@5.1.4)
- webpack-cli:
- specifier: ^5.1.4
- version: 5.1.4(webpack-dev-server@5.0.2)(webpack@5.90.3)
- webpack-dev-server:
- specifier: ^5.0.2
- version: 5.0.2(webpack-cli@5.1.4)(webpack@5.90.3)
+ version: 3.0.0(react@18.3.1)(redux-saga@1.3.0)
+ vite:
+ specifier: ^5.2.10
+ version: 5.2.10(@types/node@20.12.7)
+ vitest:
+ specifier: ^1.5.2
+ version: 1.5.2(@types/node@20.12.7)(happy-dom@14.7.1)
packages:
- /@aashutoshrathi/word-wrap@1.2.6:
- resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==}
- engines: {node: '>=0.10.0'}
+ /@adobe/css-tools@4.3.3:
+ resolution: {integrity: sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==}
dev: true
- /@ampproject/remapping@2.3.0:
- resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.24
-
- /@babel/code-frame@7.23.5:
- resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==}
+ /@babel/code-frame@7.24.2:
+ resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/highlight': 7.23.4
- chalk: 2.4.2
+ '@babel/highlight': 7.24.2
+ picocolors: 1.0.0
+ dev: true
- /@babel/compat-data@7.23.5:
- resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==}
+ /@babel/helper-validator-identifier@7.22.20:
+ resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
engines: {node: '>=6.9.0'}
+ dev: true
- /@babel/core@7.24.0:
- resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==}
+ /@babel/highlight@7.24.2:
+ resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.23.5
- '@babel/generator': 7.23.6
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
- '@babel/helpers': 7.24.0
- '@babel/parser': 7.24.0
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.0
- '@babel/types': 7.24.0
- convert-source-map: 2.0.0
- debug: 4.3.4
- gensync: 1.0.0-beta.2
- json5: 2.2.3
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
+ '@babel/helper-validator-identifier': 7.22.20
+ chalk: 2.4.2
+ js-tokens: 4.0.0
+ picocolors: 1.0.0
+ dev: true
- /@babel/generator@7.23.6:
- resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==}
+ /@babel/runtime@7.24.4:
+ resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==}
engines: {node: '>=6.9.0'}
dependencies:
- '@babel/types': 7.24.0
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.24
- jsesc: 2.5.2
+ regenerator-runtime: 0.14.1
+ dev: true
- /@babel/helper-annotate-as-pure@7.22.5:
- resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
+ /@esbuild/aix-ppc64@0.20.2:
+ resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [aix]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15:
- resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
+ /@esbuild/android-arm64@0.20.2:
+ resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-compilation-targets@7.23.6:
- resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/helper-validator-option': 7.23.5
- browserslist: 4.23.0
- lru-cache: 5.1.1
- semver: 6.3.1
+ /@esbuild/android-arm@0.20.2:
+ resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-create-class-features-plugin@7.24.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-member-expression-to-functions': 7.23.0
- '@babel/helper-optimise-call-expression': 7.22.5
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0)
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/helper-split-export-declaration': 7.22.6
- semver: 6.3.1
+ /@esbuild/android-x64@0.20.2:
+ resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0):
- resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-annotate-as-pure': 7.22.5
- regexpu-core: 5.3.2
- semver: 6.3.1
+ /@esbuild/darwin-arm64@0.20.2:
+ resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-plugin-utils': 7.24.0
- debug: 4.3.4
- lodash.debounce: 4.0.8
- resolve: 1.22.8
- transitivePeerDependencies:
- - supports-color
+ /@esbuild/darwin-x64@0.20.2:
+ resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-environment-visitor@7.22.20:
- resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==}
- engines: {node: '>=6.9.0'}
+ /@esbuild/freebsd-arm64@0.20.2:
+ resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-function-name@7.23.0:
- resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/template': 7.24.0
- '@babel/types': 7.24.0
+ /@esbuild/freebsd-x64@0.20.2:
+ resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-hoist-variables@7.22.5:
- resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
+ /@esbuild/linux-arm64@0.20.2:
+ resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-member-expression-to-functions@7.23.0:
- resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
+ /@esbuild/linux-arm@0.20.2:
+ resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-module-imports@7.22.15:
- resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
+ /@esbuild/linux-ia32@0.20.2:
+ resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@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
+ /@esbuild/linux-loong64@0.20.2:
+ resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==}
+ engines: {node: '>=12'}
+ cpu: [loong64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-optimise-call-expression@7.22.5:
- resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
+ /@esbuild/linux-mips64el@0.20.2:
+ resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-plugin-utils@7.24.0:
- resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==}
- engines: {node: '>=6.9.0'}
+ /@esbuild/linux-ppc64@0.20.2:
+ resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0):
- resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-wrap-function': 7.22.20
+ /@esbuild/linux-riscv64@0.20.2:
+ resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-replace-supers@7.22.20(@babel/core@7.24.0):
- resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-member-expression-to-functions': 7.23.0
- '@babel/helper-optimise-call-expression': 7.22.5
+ /@esbuild/linux-s390x@0.20.2:
+ resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-simple-access@7.22.5:
- resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
+ /@esbuild/linux-x64@0.20.2:
+ resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-skip-transparent-expression-wrappers@7.22.5:
- resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
+ /@esbuild/netbsd-x64@0.20.2:
+ resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-split-export-declaration@7.22.6:
- resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/types': 7.24.0
+ /@esbuild/openbsd-x64@0.20.2:
+ resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-string-parser@7.23.4:
- resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==}
- engines: {node: '>=6.9.0'}
+ /@esbuild/sunos-x64@0.20.2:
+ resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-validator-identifier@7.22.20:
- resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==}
- engines: {node: '>=6.9.0'}
+ /@esbuild/win32-arm64@0.20.2:
+ resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-validator-option@7.23.5:
- resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==}
- engines: {node: '>=6.9.0'}
+ /@esbuild/win32-ia32@0.20.2:
+ resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
- /@babel/helper-wrap-function@7.22.20:
- resolution: {integrity: sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==}
- engines: {node: '>=6.9.0'}
+ /@esbuild/win32-x64@0.20.2:
+ resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
+
+ /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
+ resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
- '@babel/helper-function-name': 7.23.0
- '@babel/template': 7.24.0
- '@babel/types': 7.24.0
+ eslint: 8.57.0
+ eslint-visitor-keys: 3.4.3
+ dev: true
- /@babel/helpers@7.24.0:
- resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==}
- engines: {node: '>=6.9.0'}
+ /@eslint-community/regexpp@4.10.0:
+ resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ dev: true
+
+ /@eslint/eslintrc@2.1.4:
+ resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.0
- '@babel/types': 7.24.0
+ ajv: 6.12.6
+ debug: 4.3.4
+ espree: 9.6.1
+ globals: 13.24.0
+ ignore: 5.3.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
+ dev: true
- /@babel/highlight@7.23.4:
- resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-validator-identifier': 7.22.20
- chalk: 2.4.2
- js-tokens: 4.0.0
+ /@eslint/js@8.57.0:
+ resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dev: true
- /@babel/parser@7.24.0:
- resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==}
- engines: {node: '>=6.0.0'}
- hasBin: true
- dependencies:
- '@babel/types': 7.24.0
+ /@hapi/hoek@9.3.0:
+ resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
+ dev: true
- /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
+ /@hapi/topo@5.1.0:
+ resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
+ '@hapi/hoek': 9.3.0
+ dev: true
- /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.13.0
+ /@humanwhocodes/config-array@0.11.14:
+ resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
+ engines: {node: '>=10.10.0'}
dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0)
+ '@humanwhocodes/object-schema': 2.0.3
+ debug: 4.3.4
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+ dev: true
- /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0):
- resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-plugin-utils': 7.24.0
+ /@humanwhocodes/module-importer@1.0.1:
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+ dev: true
- /@babel/plugin-proposal-async-generator-functions@7.20.7(@babel/core@7.24.0):
- resolution: {integrity: sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==}
- engines: {node: '>=6.9.0'}
- deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead.
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0)
- dev: false
+ /@humanwhocodes/object-schema@2.0.3:
+ resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==}
+ dev: true
- /@babel/plugin-proposal-class-properties@7.12.1(@babel/core@7.24.0):
- resolution: {integrity: sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==}
- deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
- peerDependencies:
- '@babel/core': ^7.0.0-0
+ /@jest/schemas@29.6.3:
+ resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
+ '@sinclair/typebox': 0.27.8
dev: true
- /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.0):
- resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==}
- engines: {node: '>=6.9.0'}
- deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
- dev: false
+ /@jridgewell/sourcemap-codec@1.4.15:
+ resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
+ dev: true
- /@babel/plugin-proposal-export-default-from@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-Q23MpLZfSGZL1kU7fWqV262q65svLSCIP5kZ/JCW/rKTCm/FrLjpvEd2kfUYMVeHh4QhV/xzyoRAHWrAZJrE3Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.24.0)
- dev: false
-
- /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.24.0):
- resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==}
- engines: {node: '>=6.9.0'}
- deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead.
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0)
- dev: false
-
- /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.24.0):
- resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==}
- engines: {node: '>=6.9.0'}
- deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead.
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0)
- dev: false
-
- /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.0):
- resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==}
- engines: {node: '>=6.9.0'}
- deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/core': 7.24.0
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0)
- dev: false
-
- /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.24.0):
- resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==}
- engines: {node: '>=6.9.0'}
- deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead.
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0)
- dev: false
-
- /@babel/plugin-proposal-optional-chaining@7.21.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==}
- engines: {node: '>=6.9.0'}
- deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead.
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0)
- dev: false
-
- /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0):
- resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
-
- /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0):
- resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0):
- resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-export-default-from@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-KeENO5ck1IeZ/l2lFZNy+mpobV3D2Zy5C1YFnWm+YuY5mQiAWc4yAp13dqgguwsBsFVLh4LPCEqCa5qW13N+hw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- dev: false
-
- /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-flow@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-jsx@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0):
- resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0):
- resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-typescript@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0):
- resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0):
- resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0)
-
- /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0)
-
- /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.12.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0)
-
- /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0):
- resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-environment-visitor': 7.22.20
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0)
- '@babel/helper-split-export-declaration': 7.22.6
- globals: 11.12.0
-
- /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/template': 7.24.0
-
- /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0)
-
- /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0)
-
- /@babel/plugin-transform-flow-strip-types@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.0)
-
- /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0):
- resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
-
- /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-function-name': 7.23.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0)
-
- /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0)
-
- /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-simple-access': 7.22.5
-
- /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.24.0):
- resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-hoist-variables': 7.22.5
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-validator-identifier': 7.22.20
-
- /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0):
- resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0)
-
- /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0)
-
- /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/core': 7.24.0
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0)
-
- /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0)
-
- /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0)
-
- /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0)
-
- /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0)
-
- /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-react-display-name@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-GnvhtVfA2OAtzdX58FJxU19rhoGeQzyVndw3GgtdECQvQFXPEZIOVULHVZGAYmOgmqjXpVpfocAbSjh99V/Fqw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-react-jsx-development@7.22.5(@babel/core@7.24.0):
- resolution: {integrity: sha512-bDhuzwWMuInwCYeDeMzyi7TaBgRQei6DqxhbyniL7/VG4RSS7HtSL2QbY4eESy1KJqlWt8g3xeEBGPuo+XqC8A==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.0)
- dev: true
-
- /@babel/plugin-transform-react-jsx-self@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- dev: false
-
- /@babel/plugin-transform-react-jsx-source@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- dev: false
-
- /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.0):
- resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
- '@babel/types': 7.24.0
-
- /@babel/plugin-transform-react-pure-annotations@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-qMFdSS+TUhB7Q/3HVPnEdYJDQIk57jkntAwSuz9xfSE4n+3I+vHYCli3HoHawN1Z3RfCz/y1zXA/JXjG6cVImQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-plugin-utils': 7.24.0
- dev: true
-
- /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- regenerator-transform: 0.15.2
-
- /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-runtime@7.24.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-zc0GA5IitLKJrSfXlXmp8KDqLrnGECK7YRfQBmEKg1NmBOQ7e+KuclBEKJgzifQeUYLdNiAw4B4bjyvzWVLiSA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-module-imports': 7.22.15
- '@babel/helper-plugin-utils': 7.24.0
- babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.24.0)
- babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0)
- babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-skip-transparent-expression-wrappers': 7.22.5
-
- /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-typescript@7.23.6(@babel/core@7.24.0):
- resolution: {integrity: sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-annotate-as-pure': 7.22.5
- '@babel/helper-create-class-features-plugin': 7.24.0(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0)
- dev: false
-
- /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0)
- '@babel/helper-plugin-utils': 7.24.0
-
- /@babel/preset-env@7.24.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/core': 7.24.0
- '@babel/helper-compilation-targets': 7.23.6
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.24.0)
- '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0)
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0)
- '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0)
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0)
- '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0)
- '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0)
- '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0)
- '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.24.0)
- '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.24.0)
- '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0)
- '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-object-rest-spread': 7.24.0(@babel/core@7.24.0)
- '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.24.0)
- '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0)
- babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.24.0)
- babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0)
- babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0)
- core-js-compat: 3.36.0
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- /@babel/preset-flow@7.24.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-cum/nSi82cDaSJ21I4PgLTVlj0OXovFk6GRguJYe/IKg6y6JHLTbJhybtX4k35WT9wdeJfEVjycTixMhBHd0Dg==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.0)
-
- /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0):
- resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/types': 7.24.0
- esutils: 2.0.3
-
- /@babel/preset-react@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-tbkHOS9axH6Ysf2OUEqoSZ6T3Fa2SrNH6WTWSPBboxKzdxNc9qOICeLXkNG0ZEwbQ1HY8liwOce4aN/Ceyuq6w==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-react-jsx-development': 7.22.5(@babel/core@7.24.0)
- '@babel/plugin-transform-react-pure-annotations': 7.23.3(@babel/core@7.24.0)
- dev: true
-
- /@babel/preset-typescript@7.23.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-plugin-utils': 7.24.0
- '@babel/helper-validator-option': 7.23.5
- '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.0)
- dev: false
-
- /@babel/register@7.23.7(@babel/core@7.24.0):
- resolution: {integrity: sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==}
- engines: {node: '>=6.9.0'}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- clone-deep: 4.0.1
- find-cache-dir: 2.1.0
- make-dir: 2.1.0
- pirates: 4.0.6
- source-map-support: 0.5.21
- dev: false
-
- /@babel/regjsgen@0.8.0:
- resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==}
-
- /@babel/runtime@7.24.0:
- resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- regenerator-runtime: 0.14.1
-
- /@babel/template@7.24.0:
- resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/parser': 7.24.0
- '@babel/types': 7.24.0
-
- /@babel/traverse@7.24.0:
- resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/generator': 7.23.6
- '@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.24.0
- '@babel/types': 7.24.0
- debug: 4.3.4
- globals: 11.12.0
- transitivePeerDependencies:
- - supports-color
-
- /@babel/types@7.24.0:
- resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==}
- engines: {node: '>=6.9.0'}
- dependencies:
- '@babel/helper-string-parser': 7.23.4
- '@babel/helper-validator-identifier': 7.22.20
- to-fast-properties: 2.0.0
-
- /@bcoe/v8-coverage@0.2.3:
- resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
- dev: true
-
- /@discoveryjs/json-ext@0.5.7:
- resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==}
- engines: {node: '>=10.0.0'}
- dev: true
-
- /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0):
- resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- dependencies:
- eslint: 8.57.0
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /@eslint-community/regexpp@4.10.0:
- resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- dev: true
-
- /@eslint/eslintrc@2.1.4:
- resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.6.1
- globals: 13.24.0
- ignore: 5.3.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@eslint/js@8.57.0:
- resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- dev: true
-
- /@hapi/hoek@9.3.0:
- resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==}
-
- /@hapi/topo@5.1.0:
- resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==}
- dependencies:
- '@hapi/hoek': 9.3.0
-
- /@humanwhocodes/config-array@0.11.14:
- resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==}
- engines: {node: '>=10.10.0'}
- dependencies:
- '@humanwhocodes/object-schema': 2.0.2
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@humanwhocodes/module-importer@1.0.1:
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
- dev: true
-
- /@humanwhocodes/object-schema@2.0.2:
- resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==}
- dev: true
-
- /@isaacs/cliui@8.0.2:
- resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
- engines: {node: '>=12'}
- dependencies:
- string-width: 5.1.2
- string-width-cjs: /string-width@4.2.3
- strip-ansi: 7.1.0
- strip-ansi-cjs: /strip-ansi@6.0.1
- wrap-ansi: 8.1.0
- wrap-ansi-cjs: /wrap-ansi@7.0.0
- dev: true
-
- /@isaacs/ttlcache@1.4.1:
- resolution: {integrity: sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==}
- engines: {node: '>=12'}
- dev: false
-
- /@istanbuljs/load-nyc-config@1.1.0:
- resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==}
- engines: {node: '>=8'}
- dependencies:
- camelcase: 5.3.1
- find-up: 4.1.0
- get-package-type: 0.1.0
- js-yaml: 3.14.1
- resolve-from: 5.0.0
- dev: true
-
- /@istanbuljs/schema@0.1.3:
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
- dev: true
-
- /@jest/console@29.7.0:
- resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.6.3
- '@types/node': 20.11.24
- chalk: 4.1.2
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- slash: 3.0.0
- dev: true
-
- /@jest/core@29.7.0:
- resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
- dependencies:
- '@jest/console': 29.7.0
- '@jest/reporters': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 20.11.24
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- ci-info: 3.9.0
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-changed-files: 29.7.0
- jest-config: 29.7.0(@types/node@20.11.24)
- 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.5
- pretty-format: 29.7.0
- slash: 3.0.0
- strip-ansi: 6.0.1
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
- - ts-node
- dev: true
-
- /@jest/create-cache-key-function@29.7.0:
- resolution: {integrity: sha512-4QqS3LY5PBmTRHj9sAg1HLoPzqAI0uOX6wI/TRqHIcOxlFidy6YEmCQJk6FSZjNLGCeubDMfmkWL+qaLKhSGQA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.6.3
- dev: false
-
- /@jest/environment@27.5.1:
- resolution: {integrity: sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- dependencies:
- '@jest/fake-timers': 27.5.1
- '@jest/types': 27.5.1
- '@types/node': 20.11.24
- jest-mock: 27.5.1
- dev: true
-
- /@jest/environment@29.7.0:
- resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 20.11.24
- jest-mock: 29.7.0
-
- /@jest/expect-utils@29.7.0:
- resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- jest-get-type: 29.6.3
- dev: true
-
- /@jest/expect@29.7.0:
- resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- expect: 29.7.0
- jest-snapshot: 29.7.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@jest/fake-timers@27.5.1:
- resolution: {integrity: sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- dependencies:
- '@jest/types': 27.5.1
- '@sinonjs/fake-timers': 8.1.0
- '@types/node': 20.11.24
- jest-message-util: 27.5.1
- jest-mock: 27.5.1
- jest-util: 27.5.1
- dev: true
-
- /@jest/fake-timers@29.7.0:
- resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.6.3
- '@sinonjs/fake-timers': 10.3.0
- '@types/node': 20.11.24
- jest-message-util: 29.7.0
- jest-mock: 29.7.0
- jest-util: 29.7.0
-
- /@jest/globals@29.7.0:
- resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/expect': 29.7.0
- '@jest/types': 29.6.3
- jest-mock: 29.7.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@jest/reporters@29.7.0:
- resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
- 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.24
- '@types/node': 20.11.24
- chalk: 4.1.2
- collect-v8-coverage: 1.0.2
- exit: 0.1.2
- glob: 7.2.3
- graceful-fs: 4.2.11
- istanbul-lib-coverage: 3.2.2
- istanbul-lib-instrument: 6.0.2
- istanbul-lib-report: 3.0.1
- istanbul-lib-source-maps: 4.0.1
- istanbul-reports: 3.1.7
- jest-message-util: 29.7.0
- jest-util: 29.7.0
- jest-worker: 29.7.0
- slash: 3.0.0
- string-length: 4.0.2
- strip-ansi: 6.0.1
- v8-to-istanbul: 9.2.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@jest/schemas@29.6.3:
- resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@sinclair/typebox': 0.27.8
-
- /@jest/source-map@29.6.3:
- resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jridgewell/trace-mapping': 0.3.24
- callsites: 3.1.0
- graceful-fs: 4.2.11
- dev: true
-
- /@jest/test-result@29.7.0:
- resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/console': 29.7.0
- '@jest/types': 29.6.3
- '@types/istanbul-lib-coverage': 2.0.6
- collect-v8-coverage: 1.0.2
- dev: true
-
- /@jest/test-sequencer@29.7.0:
- resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/test-result': 29.7.0
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- slash: 3.0.0
- dev: true
-
- /@jest/transform@29.7.0:
- resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@babel/core': 7.24.0
- '@jest/types': 29.6.3
- '@jridgewell/trace-mapping': 0.3.24
- babel-plugin-istanbul: 6.1.1
- chalk: 4.1.2
- convert-source-map: 2.0.0
- fast-json-stable-stringify: 2.1.0
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-regex-util: 29.6.3
- jest-util: 29.7.0
- micromatch: 4.0.5
- pirates: 4.0.6
- slash: 3.0.0
- write-file-atomic: 4.0.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@jest/types@26.6.2:
- resolution: {integrity: sha512-fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==}
- engines: {node: '>= 10.14.2'}
- dependencies:
- '@types/istanbul-lib-coverage': 2.0.6
- '@types/istanbul-reports': 3.0.4
- '@types/node': 20.11.24
- '@types/yargs': 15.0.19
- chalk: 4.1.2
- dev: false
-
- /@jest/types@27.5.1:
- resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- dependencies:
- '@types/istanbul-lib-coverage': 2.0.6
- '@types/istanbul-reports': 3.0.4
- '@types/node': 20.11.24
- '@types/yargs': 16.0.9
- chalk: 4.1.2
- dev: true
-
- /@jest/types@29.6.3:
- resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/schemas': 29.6.3
- '@types/istanbul-lib-coverage': 2.0.6
- '@types/istanbul-reports': 3.0.4
- '@types/node': 20.11.24
- '@types/yargs': 17.0.32
- chalk: 4.1.2
-
- /@jridgewell/gen-mapping@0.3.5:
- resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
- engines: {node: '>=6.0.0'}
- dependencies:
- '@jridgewell/set-array': 1.2.1
- '@jridgewell/sourcemap-codec': 1.4.15
- '@jridgewell/trace-mapping': 0.3.24
-
- /@jridgewell/resolve-uri@3.1.2:
- resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
- engines: {node: '>=6.0.0'}
-
- /@jridgewell/set-array@1.2.1:
- resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
- engines: {node: '>=6.0.0'}
-
- /@jridgewell/source-map@0.3.5:
- resolution: {integrity: sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==}
- dependencies:
- '@jridgewell/gen-mapping': 0.3.5
- '@jridgewell/trace-mapping': 0.3.24
-
- /@jridgewell/sourcemap-codec@1.4.15:
- resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==}
-
- /@jridgewell/trace-mapping@0.3.24:
- resolution: {integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==}
- dependencies:
- '@jridgewell/resolve-uri': 3.1.2
- '@jridgewell/sourcemap-codec': 1.4.15
-
- /@leichtgewicht/ip-codec@2.0.4:
- resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==}
- dev: true
-
- /@nodelib/fs.scandir@2.1.5:
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
- dev: true
-
- /@nodelib/fs.stat@2.0.5:
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
- dev: true
-
- /@nodelib/fs.walk@1.2.8:
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
- dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.17.1
- dev: true
-
- /@pkgjs/parseargs@0.11.0:
- resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
- engines: {node: '>=14'}
- requiresBuild: true
- dev: true
- optional: true
-
- /@puppeteer/browsers@2.1.0:
- resolution: {integrity: sha512-xloWvocjvryHdUjDam/ZuGMh7zn4Sn3ZAaV4Ah2e2EwEt90N3XphZlSsU3n0VDc1F7kggCjMuH0UuxfPQ5mD9w==}
- engines: {node: '>=18'}
- hasBin: true
- dependencies:
- debug: 4.3.4
- extract-zip: 2.0.1
- progress: 2.0.3
- proxy-agent: 6.4.0
- semver: 7.6.0
- tar-fs: 3.0.5
- unbzip2-stream: 1.4.3
- yargs: 17.7.2
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@react-native-community/cli-clean@12.3.6:
- resolution: {integrity: sha512-gUU29ep8xM0BbnZjwz9MyID74KKwutq9x5iv4BCr2im6nly4UMf1B1D+V225wR7VcDGzbgWjaezsJShLLhC5ig==}
- dependencies:
- '@react-native-community/cli-tools': 12.3.6
- chalk: 4.1.2
- execa: 5.1.1
- transitivePeerDependencies:
- - encoding
- dev: false
-
- /@react-native-community/cli-config@12.3.6:
- resolution: {integrity: sha512-JGWSYQ9EAK6m2v0abXwFLEfsqJ1zkhzZ4CV261QZF9MoUNB6h57a274h1MLQR9mG6Tsh38wBUuNfEPUvS1vYew==}
- dependencies:
- '@react-native-community/cli-tools': 12.3.6
- chalk: 4.1.2
- cosmiconfig: 5.2.1
- deepmerge: 4.3.1
- glob: 7.2.3
- joi: 17.12.2
- transitivePeerDependencies:
- - encoding
- dev: false
-
- /@react-native-community/cli-debugger-ui@12.3.6:
- resolution: {integrity: sha512-SjUKKsx5FmcK9G6Pb6UBFT0s9JexVStK5WInmANw75Hm7YokVvHEgtprQDz2Uvy5znX5g2ujzrkIU//T15KQzA==}
- dependencies:
- serve-static: 1.15.0
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@react-native-community/cli-doctor@12.3.6:
- resolution: {integrity: sha512-fvBDv2lTthfw4WOQKkdTop2PlE9GtfrlNnpjB818MhcdEnPjfQw5YaTUcnNEGsvGomdCs1MVRMgYXXwPSN6OvQ==}
- dependencies:
- '@react-native-community/cli-config': 12.3.6
- '@react-native-community/cli-platform-android': 12.3.6
- '@react-native-community/cli-platform-ios': 12.3.6
- '@react-native-community/cli-tools': 12.3.6
- chalk: 4.1.2
- command-exists: 1.2.9
- deepmerge: 4.3.1
- envinfo: 7.11.1
- execa: 5.1.1
- hermes-profile-transformer: 0.0.6
- node-stream-zip: 1.15.0
- ora: 5.4.1
- semver: 7.6.0
- strip-ansi: 5.2.0
- wcwidth: 1.0.1
- yaml: 2.4.0
- transitivePeerDependencies:
- - encoding
- dev: false
-
- /@react-native-community/cli-hermes@12.3.6:
- resolution: {integrity: sha512-sNGwfOCl8OAIjWCkwuLpP8NZbuO0dhDI/2W7NeOGDzIBsf4/c4MptTrULWtGIH9okVPLSPX0NnRyGQ+mSwWyuQ==}
- dependencies:
- '@react-native-community/cli-platform-android': 12.3.6
- '@react-native-community/cli-tools': 12.3.6
- chalk: 4.1.2
- hermes-profile-transformer: 0.0.6
- transitivePeerDependencies:
- - encoding
- dev: false
-
- /@react-native-community/cli-platform-android@12.3.6:
- resolution: {integrity: sha512-DeDDAB8lHpuGIAPXeeD9Qu2+/wDTFPo99c8uSW49L0hkmZJixzvvvffbGQAYk32H0TmaI7rzvzH+qzu7z3891g==}
- dependencies:
- '@react-native-community/cli-tools': 12.3.6
- chalk: 4.1.2
- execa: 5.1.1
- fast-xml-parser: 4.3.5
- glob: 7.2.3
- logkitty: 0.7.1
- transitivePeerDependencies:
- - encoding
- dev: false
-
- /@react-native-community/cli-platform-ios@12.3.6:
- resolution: {integrity: sha512-3eZ0jMCkKUO58wzPWlvAPRqezVKm9EPZyaPyHbRPWU8qw7JqkvnRlWIaYDGpjCJgVW4k2hKsEursLtYKb188tg==}
- dependencies:
- '@react-native-community/cli-tools': 12.3.6
- chalk: 4.1.2
- execa: 5.1.1
- fast-xml-parser: 4.3.5
- glob: 7.2.3
- ora: 5.4.1
- transitivePeerDependencies:
- - encoding
- dev: false
-
- /@react-native-community/cli-plugin-metro@12.3.6:
- resolution: {integrity: sha512-3jxSBQt4fkS+KtHCPSyB5auIT+KKIrPCv9Dk14FbvOaEh9erUWEm/5PZWmtboW1z7CYeNbFMeXm9fM2xwtVOpg==}
- dev: false
-
- /@react-native-community/cli-server-api@12.3.6:
- resolution: {integrity: sha512-80NIMzo8b2W+PL0Jd7NjiJW9mgaT8Y8wsIT/lh6mAvYH7mK0ecDJUYUTAAv79Tbo1iCGPAr3T295DlVtS8s4yQ==}
- dependencies:
- '@react-native-community/cli-debugger-ui': 12.3.6
- '@react-native-community/cli-tools': 12.3.6
- compression: 1.7.4
- connect: 3.7.0
- errorhandler: 1.5.1
- nocache: 3.0.4
- pretty-format: 26.6.2
- serve-static: 1.15.0
- ws: 7.5.9
- transitivePeerDependencies:
- - bufferutil
- - encoding
- - supports-color
- - utf-8-validate
- dev: false
-
- /@react-native-community/cli-tools@12.3.6:
- resolution: {integrity: sha512-FPEvZn19UTMMXUp/piwKZSh8cMEfO8G3KDtOwo53O347GTcwNrKjgZGtLSPELBX2gr+YlzEft3CoRv2Qmo83fQ==}
- dependencies:
- appdirsjs: 1.2.7
- chalk: 4.1.2
- find-up: 5.0.0
- mime: 2.6.0
- node-fetch: 2.7.0
- open: 6.4.0
- ora: 5.4.1
- semver: 7.6.0
- shell-quote: 1.8.1
- sudo-prompt: 9.2.1
- transitivePeerDependencies:
- - encoding
- dev: false
-
- /@react-native-community/cli-types@12.3.6:
- resolution: {integrity: sha512-xPqTgcUtZowQ8WKOkI9TLGBwH2bGggOC4d2FFaIRST3gTcjrEeGRNeR5aXCzJFIgItIft8sd7p2oKEdy90+01Q==}
- dependencies:
- joi: 17.12.2
- dev: false
-
- /@react-native-community/cli@12.3.6:
- resolution: {integrity: sha512-647OSi6xBb8FbwFqX9zsJxOzu685AWtrOUWHfOkbKD+5LOpGORw+GQo0F9rWZnB68rLQyfKUZWJeaD00pGv5fw==}
- engines: {node: '>=18'}
- hasBin: true
- dependencies:
- '@react-native-community/cli-clean': 12.3.6
- '@react-native-community/cli-config': 12.3.6
- '@react-native-community/cli-debugger-ui': 12.3.6
- '@react-native-community/cli-doctor': 12.3.6
- '@react-native-community/cli-hermes': 12.3.6
- '@react-native-community/cli-plugin-metro': 12.3.6
- '@react-native-community/cli-server-api': 12.3.6
- '@react-native-community/cli-tools': 12.3.6
- '@react-native-community/cli-types': 12.3.6
- chalk: 4.1.2
- commander: 9.5.0
- deepmerge: 4.3.1
- execa: 5.1.1
- find-up: 4.1.0
- fs-extra: 8.1.0
- graceful-fs: 4.2.11
- prompts: 2.4.2
- semver: 7.6.0
- transitivePeerDependencies:
- - bufferutil
- - encoding
- - supports-color
- - utf-8-validate
- dev: false
-
- /@react-native/assets-registry@0.73.1:
- resolution: {integrity: sha512-2FgAbU7uKM5SbbW9QptPPZx8N9Ke2L7bsHb+EhAanZjFZunA9PaYtyjUQ1s7HD+zDVqOQIvjkpXSv7Kejd2tqg==}
- engines: {node: '>=18'}
- dev: false
-
- /@react-native/babel-plugin-codegen@0.73.4(@babel/preset-env@7.24.0):
- resolution: {integrity: sha512-XzRd8MJGo4Zc5KsphDHBYJzS1ryOHg8I2gOZDAUCGcwLFhdyGu1zBNDJYH2GFyDrInn9TzAbRIf3d4O+eltXQQ==}
- engines: {node: '>=18'}
- dependencies:
- '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.0)
- transitivePeerDependencies:
- - '@babel/preset-env'
- - supports-color
- dev: false
-
- /@react-native/babel-preset@0.73.21(@babel/core@7.24.0)(@babel/preset-env@7.24.0):
- resolution: {integrity: sha512-WlFttNnySKQMeujN09fRmrdWqh46QyJluM5jdtDNrkl/2Hx6N4XeDUGhABvConeK95OidVO7sFFf7sNebVXogA==}
- engines: {node: '>=18'}
- peerDependencies:
- '@babel/core': '*'
- dependencies:
- '@babel/core': 7.24.0
- '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.24.0)
- '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.0)
- '@babel/plugin-proposal-export-default-from': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.0)
- '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.24.0)
- '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.0)
- '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.24.0)
- '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.0)
- '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-export-default-from': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0)
- '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0)
- '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-react-display-name': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-react-jsx-self': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-react-jsx-source': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-runtime': 7.24.0(@babel/core@7.24.0)
- '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-typescript': 7.23.6(@babel/core@7.24.0)
- '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.24.0)
- '@babel/template': 7.24.0
- '@react-native/babel-plugin-codegen': 0.73.4(@babel/preset-env@7.24.0)
- babel-plugin-transform-flow-enums: 0.0.2(@babel/core@7.24.0)
- react-refresh: 0.14.0
- transitivePeerDependencies:
- - '@babel/preset-env'
- - supports-color
- dev: false
-
- /@react-native/codegen@0.73.3(@babel/preset-env@7.24.0):
- resolution: {integrity: sha512-sxslCAAb8kM06vGy9Jyh4TtvjhcP36k/rvj2QE2Jdhdm61KvfafCATSIsOfc0QvnduWFcpXUPvAVyYwuv7PYDg==}
- engines: {node: '>=18'}
- peerDependencies:
- '@babel/preset-env': ^7.1.6
- dependencies:
- '@babel/parser': 7.24.0
- '@babel/preset-env': 7.24.0(@babel/core@7.24.0)
- flow-parser: 0.206.0
- glob: 7.2.3
- invariant: 2.2.4
- jscodeshift: 0.14.0(@babel/preset-env@7.24.0)
- mkdirp: 0.5.6
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /@react-native/community-cli-plugin@0.73.17(@babel/core@7.24.0)(@babel/preset-env@7.24.0):
- resolution: {integrity: sha512-F3PXZkcHg+1ARIr6FRQCQiB7ZAA+MQXGmq051metRscoLvgYJwj7dgC8pvgy0kexzUkHu5BNKrZeySzUft3xuQ==}
- engines: {node: '>=18'}
- dependencies:
- '@react-native-community/cli-server-api': 12.3.6
- '@react-native-community/cli-tools': 12.3.6
- '@react-native/dev-middleware': 0.73.8
- '@react-native/metro-babel-transformer': 0.73.15(@babel/core@7.24.0)(@babel/preset-env@7.24.0)
- chalk: 4.1.2
- execa: 5.1.1
- metro: 0.80.6
- metro-config: 0.80.6
- metro-core: 0.80.6
- node-fetch: 2.7.0
- readline: 1.3.0
- transitivePeerDependencies:
- - '@babel/core'
- - '@babel/preset-env'
- - bufferutil
- - encoding
- - supports-color
- - utf-8-validate
- dev: false
-
- /@react-native/debugger-frontend@0.73.3:
- resolution: {integrity: sha512-RgEKnWuoo54dh7gQhV7kvzKhXZEhpF9LlMdZolyhGxHsBqZ2gXdibfDlfcARFFifPIiaZ3lXuOVVa4ei+uPgTw==}
- engines: {node: '>=18'}
- dev: false
-
- /@react-native/dev-middleware@0.73.8:
- resolution: {integrity: sha512-oph4NamCIxkMfUL/fYtSsE+JbGOnrlawfQ0kKtDQ5xbOjPKotKoXqrs1eGwozNKv7FfQ393stk1by9a6DyASSg==}
- engines: {node: '>=18'}
- dependencies:
- '@isaacs/ttlcache': 1.4.1
- '@react-native/debugger-frontend': 0.73.3
- chrome-launcher: 0.15.2
- chromium-edge-launcher: 1.0.0
- connect: 3.7.0
- debug: 2.6.9
- node-fetch: 2.7.0
- open: 7.4.2
- serve-static: 1.15.0
- temp-dir: 2.0.0
- ws: 6.2.2
- transitivePeerDependencies:
- - bufferutil
- - encoding
- - supports-color
- - utf-8-validate
- dev: false
-
- /@react-native/gradle-plugin@0.73.4:
- resolution: {integrity: sha512-PMDnbsZa+tD55Ug+W8CfqXiGoGneSSyrBZCMb5JfiB3AFST3Uj5e6lw8SgI/B6SKZF7lG0BhZ6YHZsRZ5MlXmg==}
- engines: {node: '>=18'}
- dev: false
-
- /@react-native/js-polyfills@0.73.1:
- resolution: {integrity: sha512-ewMwGcumrilnF87H4jjrnvGZEaPFCAC4ebraEK+CurDDmwST/bIicI4hrOAv+0Z0F7DEK4O4H7r8q9vH7IbN4g==}
- engines: {node: '>=18'}
- dev: false
-
- /@react-native/metro-babel-transformer@0.73.15(@babel/core@7.24.0)(@babel/preset-env@7.24.0):
- resolution: {integrity: sha512-LlkSGaXCz+xdxc9819plmpsl4P4gZndoFtpjN3GMBIu6f7TBV0GVbyJAU4GE8fuAWPVSVL5ArOcdkWKSbI1klw==}
- engines: {node: '>=18'}
- peerDependencies:
- '@babel/core': '*'
- dependencies:
- '@babel/core': 7.24.0
- '@react-native/babel-preset': 0.73.21(@babel/core@7.24.0)(@babel/preset-env@7.24.0)
- hermes-parser: 0.15.0
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - '@babel/preset-env'
- - supports-color
- dev: false
-
- /@react-native/normalize-colors@0.73.2:
- resolution: {integrity: sha512-bRBcb2T+I88aG74LMVHaKms2p/T8aQd8+BZ7LuuzXlRfog1bMWWn/C5i0HVuvW4RPtXQYgIlGiXVDy9Ir1So/w==}
- dev: false
-
- /@react-native/virtualized-lists@0.73.4(react-native@0.73.5):
- resolution: {integrity: sha512-HpmLg1FrEiDtrtAbXiwCgXFYyloK/dOIPIuWW3fsqukwJEWAiTzm1nXGJ7xPU5XTHiWZ4sKup5Ebaj8z7iyWog==}
- engines: {node: '>=18'}
- peerDependencies:
- react-native: '*'
- dependencies:
- invariant: 2.2.4
- nullthrows: 1.1.1
- react-native: 0.73.5(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(react@18.2.0)
- dev: false
-
- /@redux-saga/core@1.3.0:
- resolution: {integrity: sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==}
- dependencies:
- '@babel/runtime': 7.24.0
- '@redux-saga/deferred': 1.2.1
- '@redux-saga/delay-p': 1.2.1
- '@redux-saga/is': 1.1.3
- '@redux-saga/symbols': 1.1.3
- '@redux-saga/types': 1.2.1
- typescript-tuple: 2.2.1
- dev: true
-
- /@redux-saga/deferred@1.2.1:
- resolution: {integrity: sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==}
- dev: true
-
- /@redux-saga/delay-p@1.2.1:
- resolution: {integrity: sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==}
- dependencies:
- '@redux-saga/symbols': 1.1.3
- dev: true
-
- /@redux-saga/is@1.1.3:
- resolution: {integrity: sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==}
- dependencies:
- '@redux-saga/symbols': 1.1.3
- '@redux-saga/types': 1.2.1
- dev: true
-
- /@redux-saga/symbols@1.1.3:
- resolution: {integrity: sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==}
- dev: true
-
- /@redux-saga/types@1.2.1:
- resolution: {integrity: sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==}
- dev: true
-
- /@rollup/plugin-alias@3.1.9(rollup@2.79.1):
- resolution: {integrity: sha512-QI5fsEvm9bDzt32k39wpOwZhVzRcL5ydcffUHMyLVaVaLeC70I8TJZ17F1z1eMoLu4E/UOcH9BWVkKpIKdrfiw==}
- engines: {node: '>=8.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
- dependencies:
- rollup: 2.79.1
- slash: 3.0.0
- dev: true
-
- /@rollup/plugin-babel@5.3.1(@babel/core@7.24.0)(rollup@2.79.1):
- resolution: {integrity: sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==}
- engines: {node: '>= 10.0.0'}
- peerDependencies:
- '@babel/core': ^7.0.0
- '@types/babel__core': ^7.1.9
- rollup: ^1.20.0||^2.0.0
- peerDependenciesMeta:
- '@types/babel__core':
- optional: true
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-module-imports': 7.22.15
- '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
- rollup: 2.79.1
- dev: true
-
- /@rollup/plugin-commonjs@17.1.0(rollup@2.79.1):
- resolution: {integrity: sha512-PoMdXCw0ZyvjpCMT5aV4nkL0QywxP29sODQsSGeDpr/oI49Qq9tRtAsb/LbYbDzFlOydVEqHmmZWFtXJEAX9ew==}
- engines: {node: '>= 8.0.0'}
- peerDependencies:
- rollup: ^2.30.0
- dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
- commondir: 1.0.1
- estree-walker: 2.0.2
- glob: 7.2.3
- is-reference: 1.2.1
- magic-string: 0.25.9
- resolve: 1.22.8
- rollup: 2.79.1
- dev: true
-
- /@rollup/plugin-json@4.1.0(rollup@2.79.1):
- resolution: {integrity: sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==}
- peerDependencies:
- rollup: ^1.20.0 || ^2.0.0
- dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
- rollup: 2.79.1
- dev: true
-
- /@rollup/plugin-node-resolve@11.2.1(rollup@2.79.1):
- resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==}
- engines: {node: '>= 10.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
- dependencies:
- '@rollup/pluginutils': 3.1.0(rollup@2.79.1)
- '@types/resolve': 1.17.1
- builtin-modules: 3.3.0
- deepmerge: 4.3.1
- is-module: 1.0.0
- resolve: 1.22.8
- rollup: 2.79.1
- dev: true
-
- /@rollup/pluginutils@3.1.0(rollup@2.79.1):
- resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==}
- engines: {node: '>= 8.0.0'}
- peerDependencies:
- rollup: ^1.20.0||^2.0.0
- dependencies:
- '@types/estree': 0.0.39
- estree-walker: 1.0.1
- picomatch: 2.3.1
- rollup: 2.79.1
- dev: true
-
- /@rollup/pluginutils@4.2.1:
- resolution: {integrity: sha512-iKnFXr7NkdZAIHiIWE+BX5ULi/ucVFYWD6TbAV+rZctiRTY2PL6tsIKhoIOaoskiWAkgu+VsbXgUVDNLHf+InQ==}
- engines: {node: '>= 8.0.0'}
- dependencies:
- estree-walker: 2.0.2
- picomatch: 2.3.1
- dev: true
-
- /@sideway/address@4.1.5:
- resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
- dependencies:
- '@hapi/hoek': 9.3.0
-
- /@sideway/formula@3.0.1:
- resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
-
- /@sideway/pinpoint@2.0.0:
- resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
-
- /@sinclair/typebox@0.27.8:
- resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
-
- /@sinonjs/commons@1.8.6:
- resolution: {integrity: sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==}
- dependencies:
- type-detect: 4.0.8
- dev: true
-
- /@sinonjs/commons@3.0.1:
- resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==}
- dependencies:
- type-detect: 4.0.8
-
- /@sinonjs/fake-timers@10.3.0:
- resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==}
- dependencies:
- '@sinonjs/commons': 3.0.1
-
- /@sinonjs/fake-timers@8.1.0:
- resolution: {integrity: sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==}
- dependencies:
- '@sinonjs/commons': 1.8.6
- dev: true
-
- /@surma/rollup-plugin-off-main-thread@2.2.3:
- resolution: {integrity: sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==}
- dependencies:
- ejs: 3.1.9
- json5: 2.2.3
- magic-string: 0.25.9
- string.prototype.matchall: 4.0.10
- dev: true
-
- /@testing-library/dom@9.3.4:
- resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==}
- engines: {node: '>=14'}
- dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/runtime': 7.24.0
- '@types/aria-query': 5.0.4
- aria-query: 5.1.3
- chalk: 4.1.2
- dom-accessibility-api: 0.5.16
- lz-string: 1.5.0
- pretty-format: 27.5.1
- dev: true
-
- /@testing-library/react@14.2.1(react-dom@18.2.0)(react@18.2.0):
- resolution: {integrity: sha512-sGdjws32ai5TLerhvzThYFbpnF9XtL65Cjf+gB0Dhr29BGqK+mAeN7SURSdu+eqgET4ANcWoC7FQpkaiGvBr+A==}
- engines: {node: '>=14'}
- peerDependencies:
- react: ^18.0.0
- react-dom: ^18.0.0
- dependencies:
- '@babel/runtime': 7.24.0
- '@testing-library/dom': 9.3.4
- '@types/react-dom': 18.2.19
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- dev: true
-
- /@tootallnate/once@2.0.0:
- resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==}
- engines: {node: '>= 10'}
- dev: true
-
- /@tootallnate/quickjs-emscripten@0.23.0:
- resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
- dev: true
-
- /@trysound/sax@0.2.0:
- resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==}
- engines: {node: '>=10.13.0'}
- dev: true
-
- /@types/aria-query@5.0.4:
- resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
- dev: true
-
- /@types/babel__core@7.20.5:
- resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
- dependencies:
- '@babel/parser': 7.24.0
- '@babel/types': 7.24.0
- '@types/babel__generator': 7.6.8
- '@types/babel__template': 7.4.4
- '@types/babel__traverse': 7.20.5
- dev: true
-
- /@types/babel__generator@7.6.8:
- resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@types/babel__template@7.4.4:
- resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
- dependencies:
- '@babel/parser': 7.24.0
- '@babel/types': 7.24.0
- dev: true
-
- /@types/babel__traverse@7.20.5:
- resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==}
- dependencies:
- '@babel/types': 7.24.0
- dev: true
-
- /@types/body-parser@1.19.5:
- resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
- dependencies:
- '@types/connect': 3.4.38
- '@types/node': 20.11.24
- dev: true
-
- /@types/bonjour@3.5.13:
- resolution: {integrity: sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==}
- dependencies:
- '@types/node': 20.11.24
- dev: true
-
- /@types/connect-history-api-fallback@1.5.4:
- resolution: {integrity: sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==}
- dependencies:
- '@types/express-serve-static-core': 4.17.43
- '@types/node': 20.11.24
- dev: true
-
- /@types/connect@3.4.38:
- resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
- dependencies:
- '@types/node': 20.11.24
- dev: true
-
- /@types/eslint-scope@3.7.7:
- resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==}
- dependencies:
- '@types/eslint': 8.56.5
- '@types/estree': 1.0.5
- dev: true
-
- /@types/eslint@8.56.5:
- resolution: {integrity: sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==}
- dependencies:
- '@types/estree': 1.0.5
- '@types/json-schema': 7.0.15
- dev: true
-
- /@types/estree@0.0.39:
- resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==}
- dev: true
-
- /@types/estree@1.0.5:
- resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
- dev: true
-
- /@types/express-serve-static-core@4.17.43:
- resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==}
- dependencies:
- '@types/node': 20.11.24
- '@types/qs': 6.9.12
- '@types/range-parser': 1.2.7
- '@types/send': 0.17.4
- dev: true
-
- /@types/express@4.17.21:
- resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==}
- dependencies:
- '@types/body-parser': 1.19.5
- '@types/express-serve-static-core': 4.17.43
- '@types/qs': 6.9.12
- '@types/serve-static': 1.15.5
- dev: true
-
- /@types/graceful-fs@4.1.9:
- resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==}
- dependencies:
- '@types/node': 20.11.24
- dev: true
-
- /@types/html-minifier-terser@6.1.0:
- resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==}
- dev: true
-
- /@types/http-errors@2.0.4:
- resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==}
- dev: true
-
- /@types/http-proxy@1.17.14:
- resolution: {integrity: sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==}
- dependencies:
- '@types/node': 20.11.24
- dev: true
-
- /@types/istanbul-lib-coverage@2.0.6:
- resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==}
-
- /@types/istanbul-lib-report@3.0.3:
- resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==}
- dependencies:
- '@types/istanbul-lib-coverage': 2.0.6
-
- /@types/istanbul-reports@3.0.4:
- resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==}
- dependencies:
- '@types/istanbul-lib-report': 3.0.3
-
- /@types/jest-environment-puppeteer@5.0.6:
- resolution: {integrity: sha512-MAi9ey7sIRl0ddWsN3jaQQwC41eBfYghE6TKnJNbEXKxw1X6nF6TBCZA+DbQ+KDOb9e2BjUtiWWMZbgjhlTneg==}
- dependencies:
- '@jest/types': 27.5.1
- '@types/puppeteer': 5.4.7
- jest-environment-node: 27.5.1
- dev: true
-
- /@types/jest@29.5.12:
- resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==}
- dependencies:
- expect: 29.7.0
- pretty-format: 29.7.0
- dev: true
-
- /@types/jsdom@20.0.1:
- resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==}
- dependencies:
- '@types/node': 20.11.24
- '@types/tough-cookie': 4.0.5
- parse5: 7.1.2
- dev: true
-
- /@types/json-schema@7.0.15:
- resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
- dev: true
-
- /@types/json5@0.0.29:
- resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
- dev: true
-
- /@types/mime@1.3.5:
- resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==}
- dev: true
-
- /@types/mime@3.0.4:
- resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==}
- dev: true
-
- /@types/node-forge@1.3.11:
- resolution: {integrity: sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==}
- dependencies:
- '@types/node': 20.11.24
- dev: true
-
- /@types/node@20.11.24:
- resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==}
- dependencies:
- undici-types: 5.26.5
-
- /@types/parse-json@4.0.2:
- resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==}
- dev: true
-
- /@types/prop-types@15.7.11:
- resolution: {integrity: sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==}
- dev: true
-
- /@types/puppeteer@5.4.7:
- resolution: {integrity: sha512-JdGWZZYL0vKapXF4oQTC5hLVNfOgdPrqeZ1BiQnGk5cB7HeE91EWUiTdVSdQPobRN8rIcdffjiOgCYJ/S8QrnQ==}
- dependencies:
- '@types/node': 20.11.24
- dev: true
-
- /@types/qs@6.9.12:
- resolution: {integrity: sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==}
- dev: true
-
- /@types/range-parser@1.2.7:
- resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==}
- dev: true
-
- /@types/react-dom@18.2.19:
- resolution: {integrity: sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==}
- dependencies:
- '@types/react': 18.2.61
- dev: true
-
- /@types/react@18.2.61:
- resolution: {integrity: sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA==}
- dependencies:
- '@types/prop-types': 15.7.11
- '@types/scheduler': 0.16.8
- csstype: 3.1.3
- dev: true
-
- /@types/resolve@1.17.1:
- resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==}
- dependencies:
- '@types/node': 20.11.24
- dev: true
-
- /@types/retry@0.12.2:
- resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==}
- dev: true
-
- /@types/scheduler@0.16.8:
- resolution: {integrity: sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==}
- dev: true
-
- /@types/semver@7.5.8:
- resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
- dev: true
-
- /@types/send@0.17.4:
- resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
- dependencies:
- '@types/mime': 1.3.5
- '@types/node': 20.11.24
- dev: true
-
- /@types/serve-index@1.9.4:
- resolution: {integrity: sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==}
- dependencies:
- '@types/express': 4.17.21
- dev: true
-
- /@types/serve-static@1.15.5:
- resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==}
- dependencies:
- '@types/http-errors': 2.0.4
- '@types/mime': 3.0.4
- '@types/node': 20.11.24
- dev: true
-
- /@types/sockjs@0.3.36:
- resolution: {integrity: sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==}
- dependencies:
- '@types/node': 20.11.24
- dev: true
-
- /@types/stack-utils@2.0.3:
- resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==}
-
- /@types/tough-cookie@4.0.5:
- resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
- dev: true
-
- /@types/ws@8.5.10:
- resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
- dependencies:
- '@types/node': 20.11.24
- dev: true
-
- /@types/yargs-parser@21.0.3:
- resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==}
-
- /@types/yargs@15.0.19:
- resolution: {integrity: sha512-2XUaGVmyQjgyAZldf0D0c14vvo/yv0MhQBSTJcejMMaitsn3nxCB6TmH4G0ZQf+uxROOa9mpanoSm8h6SG/1ZA==}
- dependencies:
- '@types/yargs-parser': 21.0.3
- dev: false
-
- /@types/yargs@16.0.9:
- resolution: {integrity: sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==}
- dependencies:
- '@types/yargs-parser': 21.0.3
- dev: true
-
- /@types/yargs@17.0.32:
- resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==}
- dependencies:
- '@types/yargs-parser': 21.0.3
-
- /@types/yauzl@2.10.3:
- resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
- requiresBuild: true
- dependencies:
- '@types/node': 20.11.24
- dev: true
- optional: true
-
- /@typescript-eslint/eslint-plugin@7.1.0(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)(typescript@5.3.3):
- resolution: {integrity: sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^7.0.0
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@eslint-community/regexpp': 4.10.0
- '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/scope-manager': 7.1.0
- '@typescript-eslint/type-utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 7.1.0
- debug: 4.3.4
- eslint: 8.57.0
- graphemer: 1.4.0
- ignore: 5.3.1
- natural-compare: 1.4.0
- semver: 7.6.0
- ts-api-utils: 1.2.1(typescript@5.3.3)
- typescript: 5.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/parser@7.1.0(eslint@8.57.0)(typescript@5.3.3):
- resolution: {integrity: sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/scope-manager': 7.1.0
- '@typescript-eslint/types': 7.1.0
- '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3)
- '@typescript-eslint/visitor-keys': 7.1.0
- debug: 4.3.4
- eslint: 8.57.0
- typescript: 5.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/scope-manager@7.1.0:
- resolution: {integrity: sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A==}
- engines: {node: ^16.0.0 || >=18.0.0}
- dependencies:
- '@typescript-eslint/types': 7.1.0
- '@typescript-eslint/visitor-keys': 7.1.0
- dev: true
-
- /@typescript-eslint/type-utils@7.1.0(eslint@8.57.0)(typescript@5.3.3):
- resolution: {integrity: sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^8.56.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3)
- '@typescript-eslint/utils': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
- debug: 4.3.4
- eslint: 8.57.0
- ts-api-utils: 1.2.1(typescript@5.3.3)
- typescript: 5.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/types@7.1.0:
- resolution: {integrity: sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA==}
- engines: {node: ^16.0.0 || >=18.0.0}
- dev: true
-
- /@typescript-eslint/typescript-estree@7.1.0(typescript@5.3.3):
- resolution: {integrity: sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- '@typescript-eslint/types': 7.1.0
- '@typescript-eslint/visitor-keys': 7.1.0
- debug: 4.3.4
- globby: 11.1.0
- is-glob: 4.0.3
- minimatch: 9.0.3
- semver: 7.6.0
- ts-api-utils: 1.2.1(typescript@5.3.3)
- typescript: 5.3.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /@typescript-eslint/utils@7.1.0(eslint@8.57.0)(typescript@5.3.3):
- resolution: {integrity: sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw==}
- engines: {node: ^16.0.0 || >=18.0.0}
- peerDependencies:
- eslint: ^8.56.0
- dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@types/json-schema': 7.0.15
- '@types/semver': 7.5.8
- '@typescript-eslint/scope-manager': 7.1.0
- '@typescript-eslint/types': 7.1.0
- '@typescript-eslint/typescript-estree': 7.1.0(typescript@5.3.3)
- eslint: 8.57.0
- semver: 7.6.0
- transitivePeerDependencies:
- - supports-color
- - typescript
- dev: true
-
- /@typescript-eslint/visitor-keys@7.1.0:
- resolution: {integrity: sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA==}
- engines: {node: ^16.0.0 || >=18.0.0}
- dependencies:
- '@typescript-eslint/types': 7.1.0
- eslint-visitor-keys: 3.4.3
- dev: true
-
- /@ungap/structured-clone@1.2.0:
- resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
- dev: true
-
- /@webassemblyjs/ast@1.11.6:
- resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==}
- dependencies:
- '@webassemblyjs/helper-numbers': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- dev: true
-
- /@webassemblyjs/floating-point-hex-parser@1.11.6:
- resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==}
- dev: true
-
- /@webassemblyjs/helper-api-error@1.11.6:
- resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==}
- dev: true
-
- /@webassemblyjs/helper-buffer@1.11.6:
- resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==}
- dev: true
-
- /@webassemblyjs/helper-numbers@1.11.6:
- resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==}
- dependencies:
- '@webassemblyjs/floating-point-hex-parser': 1.11.6
- '@webassemblyjs/helper-api-error': 1.11.6
- '@xtuc/long': 4.2.2
- dev: true
-
- /@webassemblyjs/helper-wasm-bytecode@1.11.6:
- resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==}
- dev: true
-
- /@webassemblyjs/helper-wasm-section@1.11.6:
- resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-buffer': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/wasm-gen': 1.11.6
- dev: true
-
- /@webassemblyjs/ieee754@1.11.6:
- resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==}
- dependencies:
- '@xtuc/ieee754': 1.2.0
- dev: true
-
- /@webassemblyjs/leb128@1.11.6:
- resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==}
- dependencies:
- '@xtuc/long': 4.2.2
- dev: true
-
- /@webassemblyjs/utf8@1.11.6:
- resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==}
- dev: true
-
- /@webassemblyjs/wasm-edit@1.11.6:
- resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-buffer': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/helper-wasm-section': 1.11.6
- '@webassemblyjs/wasm-gen': 1.11.6
- '@webassemblyjs/wasm-opt': 1.11.6
- '@webassemblyjs/wasm-parser': 1.11.6
- '@webassemblyjs/wast-printer': 1.11.6
- dev: true
-
- /@webassemblyjs/wasm-gen@1.11.6:
- resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/ieee754': 1.11.6
- '@webassemblyjs/leb128': 1.11.6
- '@webassemblyjs/utf8': 1.11.6
- dev: true
-
- /@webassemblyjs/wasm-opt@1.11.6:
- resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-buffer': 1.11.6
- '@webassemblyjs/wasm-gen': 1.11.6
- '@webassemblyjs/wasm-parser': 1.11.6
- dev: true
-
- /@webassemblyjs/wasm-parser@1.11.6:
- resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/helper-api-error': 1.11.6
- '@webassemblyjs/helper-wasm-bytecode': 1.11.6
- '@webassemblyjs/ieee754': 1.11.6
- '@webassemblyjs/leb128': 1.11.6
- '@webassemblyjs/utf8': 1.11.6
- dev: true
-
- /@webassemblyjs/wast-printer@1.11.6:
- resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==}
- dependencies:
- '@webassemblyjs/ast': 1.11.6
- '@xtuc/long': 4.2.2
- dev: true
-
- /@webpack-cli/configtest@2.1.1(webpack-cli@5.1.4)(webpack@5.90.3):
- resolution: {integrity: sha512-wy0mglZpDSiSS0XHrVR+BAdId2+yxPSoJW8fsna3ZpYSlufjvxnP4YbKTCBZnNIcGN4r6ZPXV55X4mYExOfLmw==}
- engines: {node: '>=14.15.0'}
- peerDependencies:
- webpack: 5.x.x
- webpack-cli: 5.x.x
- dependencies:
- webpack: 5.90.3(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-dev-server@5.0.2)(webpack@5.90.3)
- dev: true
-
- /@webpack-cli/info@2.0.2(webpack-cli@5.1.4)(webpack@5.90.3):
- resolution: {integrity: sha512-zLHQdI/Qs1UyT5UBdWNqsARasIA+AaF8t+4u2aS2nEpBQh2mWIVb8qAklq0eUENnC5mOItrIB4LiS9xMtph18A==}
- engines: {node: '>=14.15.0'}
- peerDependencies:
- webpack: 5.x.x
- webpack-cli: 5.x.x
- dependencies:
- webpack: 5.90.3(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-dev-server@5.0.2)(webpack@5.90.3)
- dev: true
-
- /@webpack-cli/serve@2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.0.2)(webpack@5.90.3):
- resolution: {integrity: sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ==}
- engines: {node: '>=14.15.0'}
- peerDependencies:
- webpack: 5.x.x
- webpack-cli: 5.x.x
- webpack-dev-server: '*'
- peerDependenciesMeta:
- webpack-dev-server:
- optional: true
- dependencies:
- webpack: 5.90.3(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-dev-server@5.0.2)(webpack@5.90.3)
- webpack-dev-server: 5.0.2(webpack-cli@5.1.4)(webpack@5.90.3)
- dev: true
-
- /@xtuc/ieee754@1.2.0:
- resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==}
- dev: true
-
- /@xtuc/long@4.2.2:
- resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==}
- dev: true
-
- /abab@2.0.6:
- resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==}
- deprecated: Use your platform's native atob() and btoa() methods instead
- dev: true
-
- /abort-controller@3.0.0:
- resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==}
- engines: {node: '>=6.5'}
- dependencies:
- event-target-shim: 5.0.1
- dev: false
-
- /accepts@1.3.8:
- resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==}
- engines: {node: '>= 0.6'}
- dependencies:
- mime-types: 2.1.35
- negotiator: 0.6.3
-
- /acorn-globals@7.0.1:
- resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==}
- dependencies:
- acorn: 8.11.3
- acorn-walk: 8.3.2
- dev: true
-
- /acorn-import-assertions@1.9.0(acorn@8.11.3):
- resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==}
- peerDependencies:
- acorn: ^8
- dependencies:
- acorn: 8.11.3
- dev: true
-
- /acorn-jsx@5.3.2(acorn@8.11.3):
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
- dependencies:
- acorn: 8.11.3
- dev: true
-
- /acorn-walk@8.3.2:
- resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
- engines: {node: '>=0.4.0'}
- dev: true
-
- /acorn@8.11.3:
- resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
- engines: {node: '>=0.4.0'}
- hasBin: true
-
- /agent-base@6.0.2:
- resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==}
- engines: {node: '>= 6.0.0'}
- dependencies:
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /agent-base@7.1.0:
- resolution: {integrity: sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==}
- engines: {node: '>= 14'}
- dependencies:
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /ajv-formats@2.1.1(ajv@8.12.0):
- resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
- peerDependencies:
- ajv: ^8.0.0
- peerDependenciesMeta:
- ajv:
- optional: true
- dependencies:
- ajv: 8.12.0
- dev: true
-
- /ajv-keywords@3.5.2(ajv@6.12.6):
- resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==}
- peerDependencies:
- ajv: ^6.9.1
- dependencies:
- ajv: 6.12.6
- dev: true
-
- /ajv-keywords@5.1.0(ajv@8.12.0):
- resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==}
- peerDependencies:
- ajv: ^8.8.2
- dependencies:
- ajv: 8.12.0
- fast-deep-equal: 3.1.3
- dev: true
-
- /ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
- dev: true
-
- /ajv@8.12.0:
- resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==}
- dependencies:
- fast-deep-equal: 3.1.3
- json-schema-traverse: 1.0.0
- require-from-string: 2.0.2
- uri-js: 4.4.1
- dev: true
-
- /anser@1.4.10:
- resolution: {integrity: sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==}
- dev: false
-
- /ansi-escapes@4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.21.3
- dev: true
-
- /ansi-fragments@0.2.1:
- resolution: {integrity: sha512-DykbNHxuXQwUDRv5ibc2b0x7uw7wmwOGLBUd5RmaQ5z8Lhx19vwvKV+FAsM5rEA6dEcHxX+/Ad5s9eF2k2bB+w==}
- dependencies:
- colorette: 1.4.0
- slice-ansi: 2.1.0
- strip-ansi: 5.2.0
- dev: false
-
- /ansi-html-community@0.0.8:
- resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==}
- engines: {'0': node >= 0.8.0}
- hasBin: true
- dev: true
-
- /ansi-regex@2.1.1:
- resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /ansi-regex@4.1.1:
- resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==}
- engines: {node: '>=6'}
- dev: false
-
- /ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
-
- /ansi-regex@6.0.1:
- resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==}
- engines: {node: '>=12'}
- dev: true
-
- /ansi-styles@2.2.1:
- resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /ansi-styles@3.2.1:
- resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
- engines: {node: '>=4'}
- dependencies:
- color-convert: 1.9.3
-
- /ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
- dependencies:
- color-convert: 2.0.1
-
- /ansi-styles@5.2.0:
- resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
- engines: {node: '>=10'}
-
- /ansi-styles@6.2.1:
- resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
- engines: {node: '>=12'}
- dev: true
-
- /anymatch@3.1.3:
- resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==}
- engines: {node: '>= 8'}
- dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
-
- /appdirsjs@1.2.7:
- resolution: {integrity: sha512-Quji6+8kLBC3NnBeo14nPDq0+2jUs5s3/xEye+udFHumHhRk4M7aAMXp/PBJqkKYGuuyR9M/6Dq7d2AViiGmhw==}
- dev: false
-
- /arg@5.0.2:
- resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
- dev: true
-
- /argparse@1.0.10:
- resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
- dependencies:
- sprintf-js: 1.0.3
-
- /argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
- dev: true
-
- /aria-query@5.1.3:
- resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==}
- dependencies:
- deep-equal: 2.2.3
- dev: true
-
- /aria-query@5.3.0:
- resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
- dependencies:
- dequal: 2.0.3
- dev: true
-
- /array-buffer-byte-length@1.0.1:
- resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- is-array-buffer: 3.0.4
- dev: true
-
- /array-flatten@1.1.1:
- resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==}
- dev: true
-
- /array-includes@3.1.7:
- resolution: {integrity: sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.22.5
- get-intrinsic: 1.2.4
- is-string: 1.0.7
- dev: true
-
- /array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
- dev: true
-
- /array.prototype.filter@1.0.3:
- resolution: {integrity: sha512-VizNcj/RGJiUyQBgzwxzE5oHdeuXY5hSbbmKMlphj1cy1Vl7Pn2asCGbSrru6hSQjmCzqTBPVWAF/whmEOVHbw==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.22.5
- es-array-method-boxes-properly: 1.0.0
- is-string: 1.0.7
- dev: true
-
- /array.prototype.findlastindex@1.2.4:
- resolution: {integrity: sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.22.5
- es-errors: 1.3.0
- es-shim-unscopables: 1.0.2
- dev: true
-
- /array.prototype.flat@1.3.2:
- resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.22.5
- es-shim-unscopables: 1.0.2
- dev: true
-
- /array.prototype.flatmap@1.3.2:
- resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.22.5
- es-shim-unscopables: 1.0.2
- dev: true
-
- /array.prototype.tosorted@1.1.3:
- resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.22.5
- es-errors: 1.3.0
- es-shim-unscopables: 1.0.2
- dev: true
-
- /arraybuffer.prototype.slice@1.0.3:
- resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
- engines: {node: '>= 0.4'}
- dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.22.5
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
- is-array-buffer: 3.0.4
- is-shared-array-buffer: 1.0.3
- dev: true
-
- /asap@2.0.6:
- resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
- dev: false
-
- /ast-types-flow@0.0.8:
- resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
- dev: true
-
- /ast-types@0.13.4:
- resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
- engines: {node: '>=4'}
- dependencies:
- tslib: 2.6.2
- dev: true
-
- /ast-types@0.15.2:
- resolution: {integrity: sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==}
- engines: {node: '>=4'}
- dependencies:
- tslib: 2.6.2
- dev: false
-
- /astral-regex@1.0.0:
- resolution: {integrity: sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==}
- engines: {node: '>=4'}
- dev: false
-
- /async-limiter@1.0.1:
- resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==}
- dev: false
-
- /async@3.2.5:
- resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==}
- dev: true
-
- /asynciterator.prototype@1.0.0:
- resolution: {integrity: sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==}
- dependencies:
- has-symbols: 1.0.3
- dev: true
-
- /asynckit@0.4.0:
- resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
- dev: true
-
- /asyncro@3.0.0:
- resolution: {integrity: sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==}
- dev: true
-
- /autoprefixer@10.4.18(postcss@8.4.35):
- resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==}
- engines: {node: ^10 || ^12 || >=14}
- hasBin: true
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- browserslist: 4.23.0
- caniuse-lite: 1.0.30001591
- fraction.js: 4.3.7
- normalize-range: 0.1.2
- picocolors: 1.0.0
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /available-typed-arrays@1.0.7:
- resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- possible-typed-array-names: 1.0.0
- dev: true
-
- /axe-core@4.7.0:
- resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
- engines: {node: '>=4'}
- dev: true
-
- /axios@1.6.7(debug@4.3.4):
- resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==}
- dependencies:
- follow-redirects: 1.15.5(debug@4.3.4)
- form-data: 4.0.0
- proxy-from-env: 1.1.0
- transitivePeerDependencies:
- - debug
- dev: true
-
- /axobject-query@3.2.1:
- resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
- dependencies:
- dequal: 2.0.3
- dev: true
-
- /b4a@1.6.6:
- resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
- dev: true
-
- /babel-core@7.0.0-bridge.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- dev: false
-
- /babel-jest@29.7.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@babel/core': ^7.8.0
- dependencies:
- '@babel/core': 7.24.0
- '@jest/transform': 29.7.0
- '@types/babel__core': 7.20.5
- babel-plugin-istanbul: 6.1.1
- babel-preset-jest: 29.6.3(@babel/core@7.24.0)
- chalk: 4.1.2
- graceful-fs: 4.2.11
- slash: 3.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /babel-plugin-istanbul@6.1.1:
- resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==}
- engines: {node: '>=8'}
- dependencies:
- '@babel/helper-plugin-utils': 7.24.0
- '@istanbuljs/load-nyc-config': 1.1.0
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-instrument: 5.2.1
- test-exclude: 6.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /babel-plugin-jest-hoist@29.6.3:
- resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@babel/template': 7.24.0
- '@babel/types': 7.24.0
- '@types/babel__core': 7.20.5
- '@types/babel__traverse': 7.20.5
- dev: true
-
- /babel-plugin-macros@3.1.0:
- resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==}
- engines: {node: '>=10', npm: '>=6'}
- dependencies:
- '@babel/runtime': 7.24.0
- cosmiconfig: 7.1.0
- resolve: 1.22.8
- dev: true
-
- /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.24.0):
- resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/compat-data': 7.23.5
- '@babel/core': 7.24.0
- '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0)
- semver: 6.3.1
- transitivePeerDependencies:
- - supports-color
-
- /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0)
- core-js-compat: 3.36.0
- transitivePeerDependencies:
- - supports-color
-
- /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0):
- resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==}
- peerDependencies:
- '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0)
- transitivePeerDependencies:
- - supports-color
-
- /babel-plugin-transform-async-to-promises@0.8.18:
- resolution: {integrity: sha512-WpOrF76nUHijnNn10eBGOHZmXQC8JYRME9rOLxStOga7Av2VO53ehVFvVNImMksVtQuL2/7ZNxEgxnx7oo/3Hw==}
- dev: true
-
- /babel-plugin-transform-flow-enums@0.0.2(@babel/core@7.24.0):
- resolution: {integrity: sha512-g4aaCrDDOsWjbm0PUUeVnkcVd6AKJsVc/MbnPhEotEpkeJQP6b8nzewohQi7+QS8UyPehOhGWn0nOwjvWpmMvQ==}
- dependencies:
- '@babel/plugin-syntax-flow': 7.23.3(@babel/core@7.24.0)
- transitivePeerDependencies:
- - '@babel/core'
- dev: false
-
- /babel-plugin-transform-replace-expressions@0.2.0(@babel/core@7.24.0):
- resolution: {integrity: sha512-Eh1rRd9hWEYgkgoA3D0kGp7xJ/wgVshgsqmq60iC4HVWD+Lux+fNHSHBa2v1Hsv+dHflShC71qKhiH40OiPtDA==}
- peerDependencies:
- '@babel/core': ^7.0.0-0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/parser': 7.24.0
- dev: true
-
- /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.0):
- resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0)
- '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0)
- '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0)
- '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0)
- '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0)
- dev: true
-
- /babel-preset-jest@29.6.3(@babel/core@7.24.0):
- resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@babel/core': ^7.0.0
- dependencies:
- '@babel/core': 7.24.0
- babel-plugin-jest-hoist: 29.6.3
- babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.0)
- dev: true
-
- /balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
-
- /bare-events@2.2.1:
- resolution: {integrity: sha512-9GYPpsPFvrWBkelIhOhTWtkeZxVxZOdb3VnFTCzlOo3OjvmTvzLoZFUT8kNFACx0vJej6QPney1Cf9BvzCNE/A==}
- requiresBuild: true
- dev: true
- optional: true
-
- /bare-fs@2.2.1:
- resolution: {integrity: sha512-+CjmZANQDFZWy4PGbVdmALIwmt33aJg8qTkVjClU6X4WmZkTPBDxRHiBn7fpqEWEfF3AC2io++erpViAIQbSjg==}
- requiresBuild: true
- dependencies:
- bare-events: 2.2.1
- bare-os: 2.2.0
- bare-path: 2.1.0
- streamx: 2.16.1
- dev: true
- optional: true
-
- /bare-os@2.2.0:
- resolution: {integrity: sha512-hD0rOPfYWOMpVirTACt4/nK8mC55La12K5fY1ij8HAdfQakD62M+H4o4tpfKzVGLgRDTuk3vjA4GqGXXCeFbag==}
- requiresBuild: true
- dev: true
- optional: true
-
- /bare-path@2.1.0:
- resolution: {integrity: sha512-DIIg7ts8bdRKwJRJrUMy/PICEaQZaPGZ26lsSx9MJSwIhSrcdHn7/C8W+XmnG/rKi6BaRcz+JO00CjZteybDtw==}
- requiresBuild: true
- dependencies:
- bare-os: 2.2.0
- dev: true
- optional: true
-
- /base64-js@1.5.1:
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
-
- /basic-ftp@5.0.5:
- resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
- engines: {node: '>=10.0.0'}
- dev: true
-
- /batch@0.6.1:
- resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
- dev: true
-
- /binary-extensions@2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
- engines: {node: '>=8'}
- dev: true
-
- /bl@4.1.0:
- resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
- dependencies:
- buffer: 5.7.1
- inherits: 2.0.4
- readable-stream: 3.6.2
- dev: false
-
- /bluebird@3.7.2:
- resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
- dev: true
-
- /body-parser@1.20.2:
- resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
- dependencies:
- bytes: 3.1.2
- content-type: 1.0.5
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- http-errors: 2.0.0
- iconv-lite: 0.4.24
- on-finished: 2.4.1
- qs: 6.11.0
- raw-body: 2.5.2
- type-is: 1.6.18
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /bonjour-service@1.2.1:
- resolution: {integrity: sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==}
- dependencies:
- fast-deep-equal: 3.1.3
- multicast-dns: 7.2.5
- dev: true
-
- /boolbase@1.0.0:
- resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
- dev: true
-
- /brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
- dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
-
- /brace-expansion@2.0.1:
- resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
- dependencies:
- balanced-match: 1.0.2
- dev: true
-
- /braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
- dependencies:
- fill-range: 7.0.1
-
- /brotli-size@4.0.0:
- resolution: {integrity: sha512-uA9fOtlTRC0iqKfzff1W34DXUA3GyVqbUaeo3Rw3d4gd1eavKVCETXrn3NzO74W+UVkG3UHu8WxUi+XvKI/huA==}
- engines: {node: '>= 10.16.0'}
- dependencies:
- duplexer: 0.1.1
- dev: true
-
- /browserslist@4.23.0:
- resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==}
- engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
- hasBin: true
- dependencies:
- caniuse-lite: 1.0.30001591
- electron-to-chromium: 1.4.690
- node-releases: 2.0.14
- update-browserslist-db: 1.0.13(browserslist@4.23.0)
-
- /bs-logger@0.2.6:
- resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==}
- engines: {node: '>= 6'}
- dependencies:
- fast-json-stable-stringify: 2.1.0
- dev: true
-
- /bser@2.1.1:
- resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==}
- dependencies:
- node-int64: 0.4.0
-
- /buffer-crc32@0.2.13:
- resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
- dev: true
-
- /buffer-from@1.1.2:
- resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==}
-
- /buffer@5.7.1:
- resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
- dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
-
- /builtin-modules@3.3.0:
- resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
- engines: {node: '>=6'}
- dev: true
-
- /bundle-name@4.1.0:
- resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==}
- engines: {node: '>=18'}
- dependencies:
- run-applescript: 7.0.0
- dev: true
-
- /bytes@3.0.0:
- resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==}
- engines: {node: '>= 0.8'}
-
- /bytes@3.1.2:
- resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
- engines: {node: '>= 0.8'}
- dev: true
-
- /call-bind@1.0.7:
- resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-define-property: 1.0.0
- es-errors: 1.3.0
- function-bind: 1.1.2
- get-intrinsic: 1.2.4
- set-function-length: 1.2.1
- dev: true
-
- /caller-callsite@2.0.0:
- resolution: {integrity: sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==}
- engines: {node: '>=4'}
- dependencies:
- callsites: 2.0.0
- dev: false
-
- /caller-path@2.0.0:
- resolution: {integrity: sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==}
- engines: {node: '>=4'}
- dependencies:
- caller-callsite: 2.0.0
- dev: false
-
- /callsites@2.0.0:
- resolution: {integrity: sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==}
- engines: {node: '>=4'}
- dev: false
-
- /callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
- dev: true
-
- /camel-case@4.1.2:
- resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
- dependencies:
- pascal-case: 3.1.2
- tslib: 2.6.2
- dev: true
-
- /camelcase@5.3.1:
- resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==}
- engines: {node: '>=6'}
-
- /camelcase@6.3.0:
- resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
- engines: {node: '>=10'}
-
- /caniuse-api@3.0.0:
- resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==}
- dependencies:
- browserslist: 4.23.0
- caniuse-lite: 1.0.30001591
- lodash.memoize: 4.1.2
- lodash.uniq: 4.5.0
- dev: true
-
- /caniuse-lite@1.0.30001591:
- resolution: {integrity: sha512-PCzRMei/vXjJyL5mJtzNiUCKP59dm8Apqc3PH8gJkMnMXZGox93RbE76jHsmLwmIo6/3nsYIpJtx0O7u5PqFuQ==}
-
- /chalk@1.1.3:
- resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==}
- engines: {node: '>=0.10.0'}
- dependencies:
- ansi-styles: 2.2.1
- escape-string-regexp: 1.0.5
- has-ansi: 2.0.0
- strip-ansi: 3.0.1
- supports-color: 2.0.0
- dev: true
-
- /chalk@2.4.2:
- resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
- engines: {node: '>=4'}
- dependencies:
- ansi-styles: 3.2.1
- escape-string-regexp: 1.0.5
- supports-color: 5.5.0
-
- /chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
- dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
-
- /char-regex@1.0.2:
- resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==}
- engines: {node: '>=10'}
- dev: true
-
- /check-more-types@2.24.0:
- resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==}
- engines: {node: '>= 0.8.0'}
- dev: true
-
- /chokidar@3.6.0:
- resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==}
- engines: {node: '>= 8.10.0'}
- dependencies:
- anymatch: 3.1.3
- braces: 3.0.2
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.3
- dev: true
-
- /chrome-launcher@0.15.2:
- resolution: {integrity: sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==}
- engines: {node: '>=12.13.0'}
- hasBin: true
- dependencies:
- '@types/node': 20.11.24
- escape-string-regexp: 4.0.0
- is-wsl: 2.2.0
- lighthouse-logger: 1.4.2
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /chrome-trace-event@1.0.3:
- resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==}
- engines: {node: '>=6.0'}
- dev: true
-
- /chromium-bidi@0.5.10(devtools-protocol@0.0.1249869):
- resolution: {integrity: sha512-4hsPE1VaLLM/sgNK/SlLbI24Ra7ZOuWAjA3rhw1lVCZ8ZiUgccS6cL5L/iqo4hjRcl5vwgYJ8xTtbXdulA9b6Q==}
- peerDependencies:
- devtools-protocol: '*'
- dependencies:
- devtools-protocol: 0.0.1249869
- mitt: 3.0.1
- urlpattern-polyfill: 10.0.0
- dev: true
-
- /chromium-edge-launcher@1.0.0:
- resolution: {integrity: sha512-pgtgjNKZ7i5U++1g1PWv75umkHvhVTDOQIZ+sjeUX9483S7Y6MUvO0lrd7ShGlQlFHMN4SwKTCq/X8hWrbv2KA==}
- dependencies:
- '@types/node': 20.11.24
- escape-string-regexp: 4.0.0
- is-wsl: 2.2.0
- lighthouse-logger: 1.4.2
- mkdirp: 1.0.4
- rimraf: 3.0.2
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /ci-info@2.0.0:
- resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==}
- dev: false
-
- /ci-info@3.9.0:
- resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
- engines: {node: '>=8'}
-
- /cjs-module-lexer@1.2.3:
- resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==}
- dev: true
-
- /clean-css@5.3.3:
- resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
- engines: {node: '>= 10.0'}
- dependencies:
- source-map: 0.6.1
- dev: true
-
- /cli-cursor@3.1.0:
- resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
- engines: {node: '>=8'}
- dependencies:
- restore-cursor: 3.1.0
- dev: false
-
- /cli-spinners@2.9.2:
- resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==}
- engines: {node: '>=6'}
- dev: false
-
- /cliui@6.0.0:
- resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==}
- dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 6.2.0
- dev: false
-
- /cliui@8.0.1:
- resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
- engines: {node: '>=12'}
- dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 7.0.0
-
- /clone-deep@4.0.1:
- resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==}
- engines: {node: '>=6'}
- dependencies:
- is-plain-object: 2.0.4
- kind-of: 6.0.3
- shallow-clone: 3.0.1
-
- /clone@1.0.4:
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
- engines: {node: '>=0.8'}
- dev: false
-
- /co@4.6.0:
- resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==}
- engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'}
- dev: true
-
- /collect-v8-coverage@1.0.2:
- resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==}
- dev: true
-
- /color-convert@1.9.3:
- resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
- dependencies:
- color-name: 1.1.3
-
- /color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
- dependencies:
- color-name: 1.1.4
-
- /color-name@1.1.3:
- resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
-
- /color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
-
- /colord@2.9.3:
- resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==}
- dev: true
-
- /colorette@1.4.0:
- resolution: {integrity: sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==}
- dev: false
-
- /colorette@2.0.20:
- resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==}
- dev: true
-
- /combined-stream@1.0.8:
- resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
- engines: {node: '>= 0.8'}
- dependencies:
- delayed-stream: 1.0.0
- dev: true
-
- /command-exists@1.2.9:
- resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==}
- dev: false
-
- /commander@10.0.1:
- resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==}
- engines: {node: '>=14'}
- dev: true
-
- /commander@2.20.3:
- resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
-
- /commander@5.1.0:
- resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==}
- engines: {node: '>= 6'}
- dev: true
-
- /commander@7.2.0:
- resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
- engines: {node: '>= 10'}
- dev: true
-
- /commander@8.3.0:
- resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
- engines: {node: '>= 12'}
- dev: true
-
- /commander@9.5.0:
- resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==}
- engines: {node: ^12.20.0 || >=14}
- dev: false
-
- /commondir@1.0.1:
- resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
-
- /compressible@2.0.18:
- resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
- engines: {node: '>= 0.6'}
- dependencies:
- mime-db: 1.52.0
-
- /compression@1.7.4:
- resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- accepts: 1.3.8
- bytes: 3.0.0
- compressible: 2.0.18
- debug: 2.6.9
- on-headers: 1.0.2
- safe-buffer: 5.1.2
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
-
- /concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
-
- /concat-with-sourcemaps@1.1.0:
- resolution: {integrity: sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==}
- dependencies:
- source-map: 0.6.1
- dev: true
-
- /confusing-browser-globals@1.0.11:
- resolution: {integrity: sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==}
- dev: true
-
- /connect-history-api-fallback@2.0.0:
- resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==}
- engines: {node: '>=0.8'}
- dev: true
-
- /connect@3.7.0:
- resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==}
- engines: {node: '>= 0.10.0'}
- dependencies:
- debug: 2.6.9
- finalhandler: 1.1.2
- parseurl: 1.3.3
- utils-merge: 1.0.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /content-disposition@0.5.4:
- resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==}
- engines: {node: '>= 0.6'}
- dependencies:
- safe-buffer: 5.2.1
- dev: true
-
- /content-type@1.0.5:
- resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /convert-source-map@2.0.0:
- resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
-
- /cookie-signature@1.0.6:
- resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==}
- dev: true
-
- /cookie@0.5.0:
- resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /core-js-compat@3.36.0:
- resolution: {integrity: sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==}
- dependencies:
- browserslist: 4.23.0
-
- /core-util-is@1.0.3:
- resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
-
- /cosmiconfig@5.2.1:
- resolution: {integrity: sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==}
- engines: {node: '>=4'}
- dependencies:
- import-fresh: 2.0.0
- is-directory: 0.3.1
- js-yaml: 3.14.1
- parse-json: 4.0.0
- dev: false
-
- /cosmiconfig@7.1.0:
- resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==}
- engines: {node: '>=10'}
- dependencies:
- '@types/parse-json': 4.0.2
- import-fresh: 3.3.0
- parse-json: 5.2.0
- path-type: 4.0.0
- yaml: 1.10.2
- dev: true
-
- /cosmiconfig@8.3.6(typescript@5.3.3):
- resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==}
- engines: {node: '>=14'}
- peerDependencies:
- typescript: '>=4.9.5'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- parse-json: 5.2.0
- path-type: 4.0.0
- typescript: 5.3.3
- dev: true
-
- /cosmiconfig@9.0.0(typescript@5.3.3):
- resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
- engines: {node: '>=14'}
- peerDependencies:
- typescript: '>=4.9.5'
- peerDependenciesMeta:
- typescript:
- optional: true
- dependencies:
- env-paths: 2.2.1
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- parse-json: 5.2.0
- typescript: 5.3.3
- dev: true
-
- /create-jest@29.7.0:
- resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- dependencies:
- '@jest/types': 29.6.3
- chalk: 4.1.2
- exit: 0.1.2
- graceful-fs: 4.2.11
- jest-config: 29.7.0(@types/node@20.11.24)
- jest-util: 29.7.0
- prompts: 2.4.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
- dev: true
-
- /cross-fetch@4.0.0:
- resolution: {integrity: sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==}
- dependencies:
- node-fetch: 2.7.0
- transitivePeerDependencies:
- - encoding
- dev: true
-
- /cross-spawn@6.0.5:
- resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
- engines: {node: '>=4.8'}
- dependencies:
- nice-try: 1.0.5
- path-key: 2.0.1
- semver: 5.7.2
- shebang-command: 1.2.0
- which: 1.3.1
- dev: true
-
- /cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ /@nodelib/fs.scandir@2.1.5:
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
engines: {node: '>= 8'}
dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
-
- /css-declaration-sorter@6.4.1(postcss@8.4.35):
- resolution: {integrity: sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==}
- engines: {node: ^10 || ^12 || >=14}
- peerDependencies:
- postcss: ^8.0.9
- dependencies:
- postcss: 8.4.35
- dev: true
-
- /css-select@4.3.0:
- resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
- dependencies:
- boolbase: 1.0.0
- css-what: 6.1.0
- domhandler: 4.3.1
- domutils: 2.8.0
- nth-check: 2.1.1
- dev: true
-
- /css-tree@1.1.3:
- resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
- engines: {node: '>=8.0.0'}
- dependencies:
- mdn-data: 2.0.14
- source-map: 0.6.1
- dev: true
-
- /css-what@6.1.0:
- resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==}
- engines: {node: '>= 6'}
- dev: true
-
- /cssesc@3.0.0:
- resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
- engines: {node: '>=4'}
- hasBin: true
- dev: true
-
- /cssnano-preset-default@5.2.14(postcss@8.4.35):
- resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- css-declaration-sorter: 6.4.1(postcss@8.4.35)
- cssnano-utils: 3.1.0(postcss@8.4.35)
- postcss: 8.4.35
- postcss-calc: 8.2.4(postcss@8.4.35)
- postcss-colormin: 5.3.1(postcss@8.4.35)
- postcss-convert-values: 5.1.3(postcss@8.4.35)
- postcss-discard-comments: 5.1.2(postcss@8.4.35)
- postcss-discard-duplicates: 5.1.0(postcss@8.4.35)
- postcss-discard-empty: 5.1.1(postcss@8.4.35)
- postcss-discard-overridden: 5.1.0(postcss@8.4.35)
- postcss-merge-longhand: 5.1.7(postcss@8.4.35)
- postcss-merge-rules: 5.1.4(postcss@8.4.35)
- postcss-minify-font-values: 5.1.0(postcss@8.4.35)
- postcss-minify-gradients: 5.1.1(postcss@8.4.35)
- postcss-minify-params: 5.1.4(postcss@8.4.35)
- postcss-minify-selectors: 5.2.1(postcss@8.4.35)
- postcss-normalize-charset: 5.1.0(postcss@8.4.35)
- postcss-normalize-display-values: 5.1.0(postcss@8.4.35)
- postcss-normalize-positions: 5.1.1(postcss@8.4.35)
- postcss-normalize-repeat-style: 5.1.1(postcss@8.4.35)
- postcss-normalize-string: 5.1.0(postcss@8.4.35)
- postcss-normalize-timing-functions: 5.1.0(postcss@8.4.35)
- postcss-normalize-unicode: 5.1.1(postcss@8.4.35)
- postcss-normalize-url: 5.1.0(postcss@8.4.35)
- postcss-normalize-whitespace: 5.1.1(postcss@8.4.35)
- postcss-ordered-values: 5.1.3(postcss@8.4.35)
- postcss-reduce-initial: 5.1.2(postcss@8.4.35)
- postcss-reduce-transforms: 5.1.0(postcss@8.4.35)
- postcss-svgo: 5.1.0(postcss@8.4.35)
- postcss-unique-selectors: 5.1.1(postcss@8.4.35)
- dev: true
-
- /cssnano-utils@3.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- dev: true
-
- /cssnano@5.1.15(postcss@8.4.35):
- resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- cssnano-preset-default: 5.2.14(postcss@8.4.35)
- lilconfig: 2.1.0
- postcss: 8.4.35
- yaml: 1.10.2
- dev: true
-
- /csso@4.2.0:
- resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
- engines: {node: '>=8.0.0'}
- dependencies:
- css-tree: 1.1.3
- dev: true
-
- /cssom@0.3.8:
- resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==}
- dev: true
-
- /cssom@0.5.0:
- resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==}
- dev: true
-
- /cssstyle@2.3.0:
- resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==}
- engines: {node: '>=8'}
- dependencies:
- cssom: 0.3.8
- dev: true
-
- /csstype@3.1.3:
- resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
- dev: true
-
- /cwd@0.10.0:
- resolution: {integrity: sha512-YGZxdTTL9lmLkCUTpg4j0zQ7IhRB5ZmqNBbGCl3Tg6MP/d5/6sY7L5mmTjzbc6JKgVZYiqTQTNhPFsbXNGlRaA==}
- engines: {node: '>=0.8'}
- dependencies:
- find-pkg: 0.1.2
- fs-exists-sync: 0.1.0
- dev: true
-
- /damerau-levenshtein@1.0.8:
- resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
- dev: true
-
- /data-uri-to-buffer@6.0.2:
- resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
- engines: {node: '>= 14'}
- dev: true
-
- /data-urls@3.0.2:
- resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==}
- engines: {node: '>=12'}
- dependencies:
- abab: 2.0.6
- whatwg-mimetype: 3.0.0
- whatwg-url: 11.0.0
- dev: true
-
- /dayjs@1.11.10:
- resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==}
- dev: false
-
- /debug@2.6.9:
- resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.0.0
-
- /debug@3.2.7:
- resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.3
- dev: true
-
- /debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
- peerDependencies:
- supports-color: '*'
- peerDependenciesMeta:
- supports-color:
- optional: true
- dependencies:
- ms: 2.1.2
-
- /decamelize@1.2.0:
- resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /decimal.js@10.4.3:
- resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
dev: true
- /dedent@1.5.1:
- resolution: {integrity: sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==}
- peerDependencies:
- babel-plugin-macros: ^3.1.0
- peerDependenciesMeta:
- babel-plugin-macros:
- optional: true
+ /@nodelib/fs.stat@2.0.5:
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
dev: true
- /deep-equal@2.2.3:
- resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==}
- engines: {node: '>= 0.4'}
+ /@nodelib/fs.walk@1.2.8:
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
dependencies:
- array-buffer-byte-length: 1.0.1
- call-bind: 1.0.7
- es-get-iterator: 1.1.3
- get-intrinsic: 1.2.4
- is-arguments: 1.1.1
- is-array-buffer: 3.0.4
- is-date-object: 1.0.5
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- isarray: 2.0.5
- object-is: 1.1.6
- object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
- side-channel: 1.0.6
- which-boxed-primitive: 1.0.2
- which-collection: 1.0.1
- which-typed-array: 1.1.14
- dev: true
-
- /deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
- dev: true
-
- /deepmerge@4.3.1:
- resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==}
- engines: {node: '>=0.10.0'}
-
- /default-browser-id@5.0.0:
- resolution: {integrity: sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==}
- engines: {node: '>=18'}
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.17.1
dev: true
- /default-browser@5.2.1:
- resolution: {integrity: sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==}
+ /@puppeteer/browsers@2.2.3:
+ resolution: {integrity: sha512-bJ0UBsk0ESOs6RFcLXOt99a3yTDcOKlzfjad+rhFwdaG1Lu/Wzq58GHYCDTlZ9z6mldf4g+NTb+TXEfe0PpnsQ==}
engines: {node: '>=18'}
+ hasBin: true
dependencies:
- bundle-name: 4.1.0
- default-browser-id: 5.0.0
- dev: true
-
- /default-gateway@6.0.3:
- resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==}
- engines: {node: '>= 10'}
- dependencies:
- execa: 5.1.1
- dev: true
-
- /defaults@1.0.4:
- resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==}
- dependencies:
- clone: 1.0.4
- dev: false
-
- /define-data-property@1.1.4:
- resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
- engines: {node: '>= 0.4'}
- dependencies:
- es-define-property: 1.0.0
- es-errors: 1.3.0
- gopd: 1.0.1
- dev: true
-
- /define-lazy-prop@2.0.0:
- resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==}
- engines: {node: '>=8'}
- dev: true
-
- /define-lazy-prop@3.0.0:
- resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==}
- engines: {node: '>=12'}
- dev: true
-
- /define-properties@1.2.1:
- resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
- engines: {node: '>= 0.4'}
- dependencies:
- define-data-property: 1.1.4
- has-property-descriptors: 1.0.2
- object-keys: 1.1.1
- dev: true
-
- /degenerator@5.0.1:
- resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
- engines: {node: '>= 14'}
- dependencies:
- ast-types: 0.13.4
- escodegen: 2.1.0
- esprima: 4.0.1
- dev: true
-
- /delayed-stream@1.0.0:
- resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
- engines: {node: '>=0.4.0'}
- dev: true
-
- /denodeify@1.2.1:
- resolution: {integrity: sha512-KNTihKNmQENUZeKu5fzfpzRqR5S2VMp4gl9RFHiWzj9DfvYQPMJ6XHKNaQxaGCXwPk6y9yme3aUoaiAe+KX+vg==}
- dev: false
-
- /depd@1.1.2:
- resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==}
- engines: {node: '>= 0.6'}
+ debug: 4.3.4
+ extract-zip: 2.0.1
+ progress: 2.0.3
+ proxy-agent: 6.4.0
+ semver: 7.6.0
+ tar-fs: 3.0.5
+ unbzip2-stream: 1.4.3
+ yargs: 17.7.2
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /depd@2.0.0:
- resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
- engines: {node: '>= 0.8'}
-
- /deprecated-react-native-prop-types@5.0.0:
- resolution: {integrity: sha512-cIK8KYiiGVOFsKdPMmm1L3tA/Gl+JopXL6F5+C7x39MyPsQYnP57Im/D6bNUzcborD7fcMwiwZqcBdBXXZucYQ==}
- engines: {node: '>=18'}
+ /@redux-saga/core@1.3.0:
+ resolution: {integrity: sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==}
dependencies:
- '@react-native/normalize-colors': 0.73.2
- invariant: 2.2.4
- prop-types: 15.8.1
- dev: false
-
- /dequal@2.0.3:
- resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
- engines: {node: '>=6'}
- dev: true
-
- /destroy@1.2.0:
- resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
- engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
-
- /detect-newline@3.1.0:
- resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==}
- engines: {node: '>=8'}
- dev: true
-
- /detect-node@2.1.0:
- resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==}
- dev: true
-
- /devtools-protocol@0.0.1249869:
- resolution: {integrity: sha512-Ctp4hInA0BEavlUoRy9mhGq0i+JSo/AwVyX2EFgZmV1kYB+Zq+EMBAn52QWu6FbRr10hRb6pBl420upbp4++vg==}
- dev: true
-
- /diff-sequences@29.6.3:
- resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ '@babel/runtime': 7.24.4
+ '@redux-saga/deferred': 1.2.1
+ '@redux-saga/delay-p': 1.2.1
+ '@redux-saga/is': 1.1.3
+ '@redux-saga/symbols': 1.1.3
+ '@redux-saga/types': 1.2.1
+ typescript-tuple: 2.2.1
dev: true
- /dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
- dependencies:
- path-type: 4.0.0
+ /@redux-saga/deferred@1.2.1:
+ resolution: {integrity: sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==}
dev: true
- /dns-packet@5.6.1:
- resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==}
- engines: {node: '>=6'}
+ /@redux-saga/delay-p@1.2.1:
+ resolution: {integrity: sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==}
dependencies:
- '@leichtgewicht/ip-codec': 2.0.4
+ '@redux-saga/symbols': 1.1.3
dev: true
- /doctrine@2.1.0:
- resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
- engines: {node: '>=0.10.0'}
+ /@redux-saga/is@1.1.3:
+ resolution: {integrity: sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==}
dependencies:
- esutils: 2.0.3
+ '@redux-saga/symbols': 1.1.3
+ '@redux-saga/types': 1.2.1
dev: true
- /doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
- dependencies:
- esutils: 2.0.3
+ /@redux-saga/symbols@1.1.3:
+ resolution: {integrity: sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==}
dev: true
- /dom-accessibility-api@0.5.16:
- resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
+ /@redux-saga/types@1.2.1:
+ resolution: {integrity: sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==}
dev: true
- /dom-converter@0.2.0:
- resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==}
- dependencies:
- utila: 0.4.0
+ /@rollup/rollup-android-arm-eabi@4.17.1:
+ resolution: {integrity: sha512-P6Wg856Ou/DLpR+O0ZLneNmrv7QpqBg+hK4wE05ijbC/t349BRfMfx+UFj5Ha3fCFopIa6iSZlpdaB4agkWp2Q==}
+ cpu: [arm]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /dom-serializer@1.4.1:
- resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==}
- dependencies:
- domelementtype: 2.3.0
- domhandler: 4.3.1
- entities: 2.2.0
+ /@rollup/rollup-android-arm64@4.17.1:
+ resolution: {integrity: sha512-piwZDjuW2WiHr05djVdUkrG5JbjnGbtx8BXQchYCMfib/nhjzWoiScelZ+s5IJI7lecrwSxHCzW026MWBL+oJQ==}
+ cpu: [arm64]
+ os: [android]
+ requiresBuild: true
dev: true
+ optional: true
- /domelementtype@2.3.0:
- resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
+ /@rollup/rollup-darwin-arm64@4.17.1:
+ resolution: {integrity: sha512-LsZXXIsN5Q460cKDT4Y+bzoPDhBmO5DTr7wP80d+2EnYlxSgkwdPfE3hbE+Fk8dtya+8092N9srjBTJ0di8RIA==}
+ cpu: [arm64]
+ os: [darwin]
+ requiresBuild: true
dev: true
+ optional: true
- /domexception@4.0.0:
- resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==}
- engines: {node: '>=12'}
- deprecated: Use your platform's native DOMException instead
- dependencies:
- webidl-conversions: 7.0.0
+ /@rollup/rollup-darwin-x64@4.17.1:
+ resolution: {integrity: sha512-S7TYNQpWXB9APkxu/SLmYHezWwCoZRA9QLgrDeml+SR2A1LLPD2DBUdUlvmCF7FUpRMKvbeeWky+iizQj65Etw==}
+ cpu: [x64]
+ os: [darwin]
+ requiresBuild: true
dev: true
+ optional: true
- /domhandler@4.3.1:
- resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
- engines: {node: '>= 4'}
- dependencies:
- domelementtype: 2.3.0
+ /@rollup/rollup-linux-arm-gnueabihf@4.17.1:
+ resolution: {integrity: sha512-Lq2JR5a5jsA5um2ZoLiXXEaOagnVyCpCW7xvlcqHC7y46tLwTEgUSTM3a2TfmmTMmdqv+jknUioWXlmxYxE9Yw==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /domutils@2.8.0:
- resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
- dependencies:
- dom-serializer: 1.4.1
- domelementtype: 2.3.0
- domhandler: 4.3.1
+ /@rollup/rollup-linux-arm-musleabihf@4.17.1:
+ resolution: {integrity: sha512-9BfzwyPNV0IizQoR+5HTNBGkh1KXE8BqU0DBkqMngmyFW7BfuIZyMjQ0s6igJEiPSBvT3ZcnIFohZ19OqjhDPg==}
+ cpu: [arm]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /dot-case@3.0.4:
- resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
- dependencies:
- no-case: 3.0.4
- tslib: 2.6.2
+ /@rollup/rollup-linux-arm64-gnu@4.17.1:
+ resolution: {integrity: sha512-e2uWaoxo/rtzA52OifrTSXTvJhAXb0XeRkz4CdHBK2KtxrFmuU/uNd544Ogkpu938BzEfvmWs8NZ8Axhw33FDw==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /duplexer@0.1.1:
- resolution: {integrity: sha512-sxNZ+ljy+RA1maXoUReeqBBpBC6RLKmg5ewzV+x+mSETmWNoKdZN6vcQjpFROemza23hGFskJtFNoUWUaQ+R4Q==}
+ /@rollup/rollup-linux-arm64-musl@4.17.1:
+ resolution: {integrity: sha512-ekggix/Bc/d/60H1Mi4YeYb/7dbal1kEDZ6sIFVAE8pUSx7PiWeEh+NWbL7bGu0X68BBIkgF3ibRJe1oFTksQQ==}
+ cpu: [arm64]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /duplexer@0.1.2:
- resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
+ /@rollup/rollup-linux-powerpc64le-gnu@4.17.1:
+ resolution: {integrity: sha512-UGV0dUo/xCv4pkr/C8KY7XLFwBNnvladt8q+VmdKrw/3RUd3rD0TptwjisvE2TTnnlENtuY4/PZuoOYRiGp8Gw==}
+ cpu: [ppc64]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /eastasianwidth@0.2.0:
- resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+ /@rollup/rollup-linux-riscv64-gnu@4.17.1:
+ resolution: {integrity: sha512-gEYmYYHaehdvX46mwXrU49vD6Euf1Bxhq9pPb82cbUU9UT2NV+RSckQ5tKWOnNXZixKsy8/cPGtiUWqzPuAcXQ==}
+ cpu: [riscv64]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /ee-first@1.1.1:
- resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
-
- /ejs@3.1.9:
- resolution: {integrity: sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==}
- engines: {node: '>=0.10.0'}
- hasBin: true
- dependencies:
- jake: 10.8.7
+ /@rollup/rollup-linux-s390x-gnu@4.17.1:
+ resolution: {integrity: sha512-xeae5pMAxHFp6yX5vajInG2toST5lsCTrckSRUFwNgzYqnUjNBcQyqk1bXUxX5yhjWFl2Mnz3F8vQjl+2FRIcw==}
+ cpu: [s390x]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /electron-to-chromium@1.4.690:
- resolution: {integrity: sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==}
-
- /emittery@0.13.1:
- resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==}
- engines: {node: '>=12'}
+ /@rollup/rollup-linux-x64-gnu@4.17.1:
+ resolution: {integrity: sha512-AsdnINQoDWfKpBzCPqQWxSPdAWzSgnYbrJYtn6W0H2E9It5bZss99PiLA8CgmDRfvKygt20UpZ3xkhFlIfX9zQ==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
dev: true
+ optional: true
- /emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ /@rollup/rollup-linux-x64-musl@4.17.1:
+ resolution: {integrity: sha512-KoB4fyKXTR+wYENkIG3fFF+5G6N4GFvzYx8Jax8BR4vmddtuqSb5oQmYu2Uu067vT/Fod7gxeQYKupm8gAcMSQ==}
+ cpu: [x64]
+ os: [linux]
+ requiresBuild: true
+ dev: true
+ optional: true
- /emoji-regex@9.2.2:
- resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+ /@rollup/rollup-win32-arm64-msvc@4.17.1:
+ resolution: {integrity: sha512-J0d3NVNf7wBL9t4blCNat+d0PYqAx8wOoY+/9Q5cujnafbX7BmtYk3XvzkqLmFECaWvXGLuHmKj/wrILUinmQg==}
+ cpu: [arm64]
+ os: [win32]
+ requiresBuild: true
dev: true
+ optional: true
- /encodeurl@1.0.2:
- resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==}
- engines: {node: '>= 0.8'}
+ /@rollup/rollup-win32-ia32-msvc@4.17.1:
+ resolution: {integrity: sha512-xjgkWUwlq7IbgJSIxvl516FJ2iuC/7ttjsAxSPpC9kkI5iQQFHKyEN5BjbhvJ/IXIZ3yIBcW5QDlWAyrA+TFag==}
+ cpu: [ia32]
+ os: [win32]
+ requiresBuild: true
+ dev: true
+ optional: true
- /end-of-stream@1.4.4:
- resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
- dependencies:
- once: 1.4.0
+ /@rollup/rollup-win32-x64-msvc@4.17.1:
+ resolution: {integrity: sha512-0QbCkfk6cnnVKWqqlC0cUrrUMDMfu5ffvYMTUHf+qMN2uAb3MKP31LPcwiMXBNsvoFGs/kYdFOsuLmvppCopXA==}
+ cpu: [x64]
+ os: [win32]
+ requiresBuild: true
dev: true
+ optional: true
- /enhanced-resolve@5.15.1:
- resolution: {integrity: sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==}
- engines: {node: '>=10.13.0'}
+ /@sideway/address@4.1.5:
+ resolution: {integrity: sha512-IqO/DUQHUkPeixNQ8n0JA6102hT9CmaljNTPmQ1u8MEhBo/R4Q8eKLN/vGZxuebwOroDB4cbpjheD4+/sKFK4Q==}
dependencies:
- graceful-fs: 4.2.11
- tapable: 2.2.1
+ '@hapi/hoek': 9.3.0
dev: true
- /entities@2.2.0:
- resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
+ /@sideway/formula@3.0.1:
+ resolution: {integrity: sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==}
dev: true
- /entities@4.5.0:
- resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
- engines: {node: '>=0.12'}
+ /@sideway/pinpoint@2.0.0:
+ resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==}
dev: true
- /env-paths@2.2.1:
- resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
- engines: {node: '>=6'}
+ /@sinclair/typebox@0.27.8:
+ resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==}
dev: true
- /envinfo@7.11.1:
- resolution: {integrity: sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==}
- engines: {node: '>=4'}
- hasBin: true
-
- /error-ex@1.3.2:
- resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ /@testing-library/dom@10.1.0:
+ resolution: {integrity: sha512-wdsYKy5zupPyLCW2Je5DLHSxSfbIp6h80WoHOQc+RPtmPGA52O9x5MJEkv92Sjonpq+poOAtUKhh1kBGAXBrNA==}
+ engines: {node: '>=18'}
dependencies:
- is-arrayish: 0.2.1
+ '@babel/code-frame': 7.24.2
+ '@babel/runtime': 7.24.4
+ '@types/aria-query': 5.0.4
+ aria-query: 5.3.0
+ chalk: 4.1.2
+ dom-accessibility-api: 0.5.16
+ lz-string: 1.5.0
+ pretty-format: 27.5.1
+ dev: true
- /error-stack-parser@2.1.4:
- resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==}
+ /@testing-library/jest-dom@6.4.2(vitest@1.5.2):
+ resolution: {integrity: sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==}
+ engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
+ peerDependencies:
+ '@jest/globals': '>= 28'
+ '@types/bun': latest
+ '@types/jest': '>= 28'
+ jest: '>= 28'
+ vitest: '>= 0.32'
+ peerDependenciesMeta:
+ '@jest/globals':
+ optional: true
+ '@types/bun':
+ optional: true
+ '@types/jest':
+ optional: true
+ jest:
+ optional: true
+ vitest:
+ optional: true
dependencies:
- stackframe: 1.3.4
- dev: false
+ '@adobe/css-tools': 4.3.3
+ '@babel/runtime': 7.24.4
+ aria-query: 5.3.0
+ chalk: 3.0.0
+ css.escape: 1.5.1
+ dom-accessibility-api: 0.6.3
+ lodash: 4.17.21
+ redent: 3.0.0
+ vitest: 1.5.2(@types/node@20.12.7)(happy-dom@14.7.1)
+ dev: true
- /errorhandler@1.5.1:
- resolution: {integrity: sha512-rcOwbfvP1WTViVoUjcfZicVzjhjTuhSMntHh6mW3IrEiyE6mJyXvsToJUJGlGlw/2xU9P5whlWNGlIDVeCiT4A==}
- engines: {node: '>= 0.8'}
+ /@testing-library/react@15.0.5(react-dom@18.3.1)(react@18.3.1):
+ resolution: {integrity: sha512-ttodVWYA2i2w4hRa6krKrmS1vKxAEkwDz34y+CwbcrbZUxFzUYN3a5xZyFKo+K6LBseCRCUkwcjATpaNn/UsIA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ react: ^18.0.0
+ react-dom: ^18.0.0
dependencies:
- accepts: 1.3.8
- escape-html: 1.0.3
- dev: false
+ '@babel/runtime': 7.24.4
+ '@testing-library/dom': 10.1.0
+ '@types/react-dom': 18.3.0
+ react: 18.3.1
+ react-dom: 18.3.1(react@18.3.1)
+ dev: true
- /es-abstract@1.22.5:
- resolution: {integrity: sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==}
- engines: {node: '>= 0.4'}
+ /@testing-library/user-event@14.5.2(@testing-library/dom@10.1.0):
+ resolution: {integrity: sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==}
+ engines: {node: '>=12', npm: '>=6'}
+ peerDependencies:
+ '@testing-library/dom': '>=7.21.4'
dependencies:
- array-buffer-byte-length: 1.0.1
- arraybuffer.prototype.slice: 1.0.3
- available-typed-arrays: 1.0.7
- call-bind: 1.0.7
- es-define-property: 1.0.0
- es-errors: 1.3.0
- es-set-tostringtag: 2.0.3
- es-to-primitive: 1.2.1
- function.prototype.name: 1.1.6
- get-intrinsic: 1.2.4
- get-symbol-description: 1.0.2
- globalthis: 1.0.3
- gopd: 1.0.1
- has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- hasown: 2.0.1
- internal-slot: 1.0.7
- is-array-buffer: 3.0.4
- is-callable: 1.2.7
- is-negative-zero: 2.0.3
- is-regex: 1.1.4
- is-shared-array-buffer: 1.0.3
- is-string: 1.0.7
- is-typed-array: 1.1.13
- is-weakref: 1.0.2
- object-inspect: 1.13.1
- object-keys: 1.1.1
- object.assign: 4.1.5
- regexp.prototype.flags: 1.5.2
- safe-array-concat: 1.1.0
- safe-regex-test: 1.0.3
- string.prototype.trim: 1.2.8
- string.prototype.trimend: 1.0.7
- string.prototype.trimstart: 1.0.7
- typed-array-buffer: 1.0.2
- typed-array-byte-length: 1.0.1
- typed-array-byte-offset: 1.0.2
- typed-array-length: 1.0.5
- unbox-primitive: 1.0.2
- which-typed-array: 1.1.14
+ '@testing-library/dom': 10.1.0
dev: true
- /es-array-method-boxes-properly@1.0.0:
- resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==}
+ /@tootallnate/quickjs-emscripten@0.23.0:
+ resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==}
dev: true
- /es-define-property@1.0.0:
- resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- get-intrinsic: 1.2.4
+ /@types/aria-query@5.0.4:
+ resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
dev: true
- /es-errors@1.3.0:
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
- engines: {node: '>= 0.4'}
+ /@types/estree@1.0.5:
+ resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==}
dev: true
- /es-get-iterator@1.1.3:
- resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==}
- dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- is-arguments: 1.1.1
- is-map: 2.0.2
- is-set: 2.0.2
- is-string: 1.0.7
- isarray: 2.0.5
- stop-iteration-iterator: 1.0.0
+ /@types/json-schema@7.0.15:
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
dev: true
- /es-iterator-helpers@1.0.17:
- resolution: {integrity: sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- asynciterator.prototype: 1.0.0
- call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.22.5
- es-errors: 1.3.0
- es-set-tostringtag: 2.0.3
- function-bind: 1.1.2
- get-intrinsic: 1.2.4
- globalthis: 1.0.3
- has-property-descriptors: 1.0.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- internal-slot: 1.0.7
- iterator.prototype: 1.1.2
- safe-array-concat: 1.1.0
+ /@types/json5@0.0.29:
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
dev: true
- /es-module-lexer@1.4.1:
- resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==}
+ /@types/node@20.12.7:
+ resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==}
+ dependencies:
+ undici-types: 5.26.5
dev: true
- /es-set-tostringtag@2.0.3:
- resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- get-intrinsic: 1.2.4
- has-tostringtag: 1.0.2
- hasown: 2.0.1
+ /@types/prop-types@15.7.12:
+ resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==}
dev: true
- /es-shim-unscopables@1.0.2:
- resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
+ /@types/react-dom@18.3.0:
+ resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==}
dependencies:
- hasown: 2.0.1
+ '@types/react': 18.3.1
dev: true
- /es-to-primitive@1.2.1:
- resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
- engines: {node: '>= 0.4'}
+ /@types/react@18.3.1:
+ resolution: {integrity: sha512-V0kuGBX3+prX+DQ/7r2qsv1NsdfnCLnTgnRJ1pYnxykBhGMz+qj+box5lq7XsO5mtZsBqpjwwTu/7wszPfMBcw==}
dependencies:
- is-callable: 1.2.7
- is-date-object: 1.0.5
- is-symbol: 1.0.4
+ '@types/prop-types': 15.7.12
+ csstype: 3.1.3
dev: true
- /escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
- engines: {node: '>=6'}
-
- /escape-html@1.0.3:
- resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
-
- /escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
-
- /escape-string-regexp@2.0.0:
- resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==}
- engines: {node: '>=8'}
-
- /escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
+ /@types/semver@7.5.8:
+ resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==}
+ dev: true
- /escodegen@2.1.0:
- resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
- engines: {node: '>=6.0'}
- hasBin: true
+ /@types/yauzl@2.10.3:
+ resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
+ requiresBuild: true
dependencies:
- esprima: 4.0.1
- estraverse: 5.3.0
- esutils: 2.0.3
- optionalDependencies:
- source-map: 0.6.1
+ '@types/node': 20.12.7
dev: true
+ optional: true
- /eslint-config-airbnb-base@15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0):
- resolution: {integrity: sha512-xaX3z4ZZIcFLvh2oUNvcX5oEofXda7giYmuplVxoOg5A7EXJMrUyqRgR+mhDhPK8LZ4PttFOBvCYDbX3sUoUig==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ /@typescript-eslint/eslint-plugin@7.7.1(@typescript-eslint/parser@7.7.1)(eslint@8.57.0)(typescript@5.4.5):
+ resolution: {integrity: sha512-KwfdWXJBOviaBVhxO3p5TJiLpNuh2iyXyjmWN0f1nU87pwyvfS0EmjC6ukQVYVFJd/K1+0NWGPDXiyEyQorn0Q==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- eslint: ^7.32.0 || ^8.2.0
- eslint-plugin-import: ^2.25.2
+ '@typescript-eslint/parser': ^7.0.0
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
dependencies:
- confusing-browser-globals: 1.0.11
+ '@eslint-community/regexpp': 4.10.0
+ '@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/scope-manager': 7.7.1
+ '@typescript-eslint/type-utils': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/utils': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
+ '@typescript-eslint/visitor-keys': 7.7.1
+ debug: 4.3.4
eslint: 8.57.0
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)
- object.assign: 4.1.5
- object.entries: 1.1.7
- semver: 6.3.1
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ natural-compare: 1.4.0
+ semver: 7.6.0
+ ts-api-utils: 1.3.0(typescript@5.4.5)
+ typescript: 5.4.5
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /eslint-config-airbnb@19.0.4(eslint-plugin-import@2.29.1)(eslint-plugin-jsx-a11y@6.8.0)(eslint-plugin-react-hooks@4.6.0)(eslint-plugin-react@7.33.2)(eslint@8.57.0):
- resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==}
- engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@typescript-eslint/parser@7.7.1(eslint@8.57.0)(typescript@5.4.5):
+ resolution: {integrity: sha512-vmPzBOOtz48F6JAGVS/kZYk4EkXao6iGrD838sp1w3NQQC0W8ry/q641KU4PrG7AKNAf56NOcR8GOpH8l9FPCw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- eslint: ^7.32.0 || ^8.2.0
- eslint-plugin-import: ^2.25.3
- eslint-plugin-jsx-a11y: ^6.5.1
- eslint-plugin-react: ^7.28.0
- eslint-plugin-react-hooks: ^4.3.0
+ eslint: ^8.56.0
+ typescript: '*'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
dependencies:
+ '@typescript-eslint/scope-manager': 7.7.1
+ '@typescript-eslint/types': 7.7.1
+ '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
+ '@typescript-eslint/visitor-keys': 7.7.1
+ debug: 4.3.4
eslint: 8.57.0
- eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1)(eslint@8.57.0)
- eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0)
- eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0)
- eslint-plugin-react: 7.33.2(eslint@8.57.0)
- eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0)
- object.assign: 4.1.5
- object.entries: 1.1.7
+ typescript: 5.4.5
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /eslint-import-resolver-node@0.3.9:
- resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+ /@typescript-eslint/scope-manager@7.7.1:
+ resolution: {integrity: sha512-PytBif2SF+9SpEUKynYn5g1RHFddJUcyynGpztX3l/ik7KmZEv19WCMhUBkHXPU9es/VWGD3/zg3wg90+Dh2rA==}
+ engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
- debug: 3.2.7
- is-core-module: 2.13.1
- resolve: 1.22.8
- transitivePeerDependencies:
- - supports-color
+ '@typescript-eslint/types': 7.7.1
+ '@typescript-eslint/visitor-keys': 7.7.1
dev: true
- /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0):
- resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
- engines: {node: '>=4'}
+ /@typescript-eslint/type-utils@7.7.1(eslint@8.57.0)(typescript@5.4.5):
+ resolution: {integrity: sha512-ZksJLW3WF7o75zaBPScdW1Gbkwhd/lyeXGf1kQCxJaOeITscoSl0MjynVvCzuV5boUz/3fOI06Lz8La55mu29Q==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: '*'
- eslint-import-resolver-node: '*'
- eslint-import-resolver-typescript: '*'
- eslint-import-resolver-webpack: '*'
+ eslint: ^8.56.0
+ typescript: '*'
peerDependenciesMeta:
- '@typescript-eslint/parser':
- optional: true
- eslint:
- optional: true
- eslint-import-resolver-node:
- optional: true
- eslint-import-resolver-typescript:
- optional: true
- eslint-import-resolver-webpack:
+ typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
- debug: 3.2.7
+ '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
+ '@typescript-eslint/utils': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
+ debug: 4.3.4
eslint: 8.57.0
- eslint-import-resolver-node: 0.3.9
+ ts-api-utils: 1.3.0(typescript@5.4.5)
+ typescript: 5.4.5
transitivePeerDependencies:
- supports-color
dev: true
- /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.1.0)(eslint@8.57.0):
- resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
- engines: {node: '>=4'}
+ /@typescript-eslint/types@7.7.1:
+ resolution: {integrity: sha512-AmPmnGW1ZLTpWa+/2omPrPfR7BcbUU4oha5VIbSbS1a1Tv966bklvLNXxp3mrbc+P2j4MNOTfDffNsk4o0c6/w==}
+ engines: {node: ^18.18.0 || >=20.0.0}
+ dev: true
+
+ /@typescript-eslint/typescript-estree@7.7.1(typescript@5.4.5):
+ resolution: {integrity: sha512-CXe0JHCXru8Fa36dteXqmH2YxngKJjkQLjxzoj6LYwzZ7qZvgsLSc+eqItCrqIop8Vl2UKoAi0StVWu97FQZIQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- '@typescript-eslint/parser': '*'
- eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ typescript: '*'
peerDependenciesMeta:
- '@typescript-eslint/parser':
+ typescript:
optional: true
dependencies:
- '@typescript-eslint/parser': 7.1.0(eslint@8.57.0)(typescript@5.3.3)
- array-includes: 3.1.7
- array.prototype.findlastindex: 1.2.4
- array.prototype.flat: 1.3.2
- array.prototype.flatmap: 1.3.2
- debug: 3.2.7
- doctrine: 2.1.0
- eslint: 8.57.0
- eslint-import-resolver-node: 0.3.9
- eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.1.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0)
- hasown: 2.0.1
- is-core-module: 2.13.1
+ '@typescript-eslint/types': 7.7.1
+ '@typescript-eslint/visitor-keys': 7.7.1
+ debug: 4.3.4
+ globby: 11.1.0
is-glob: 4.0.3
- minimatch: 3.1.2
- object.fromentries: 2.0.7
- object.groupby: 1.0.2
- object.values: 1.1.7
- semver: 6.3.1
- tsconfig-paths: 3.15.0
+ minimatch: 9.0.4
+ semver: 7.6.0
+ ts-api-utils: 1.3.0(typescript@5.4.5)
+ typescript: 5.4.5
transitivePeerDependencies:
- - eslint-import-resolver-typescript
- - eslint-import-resolver-webpack
- supports-color
dev: true
- /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0):
- resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
- engines: {node: '>=4.0'}
+ /@typescript-eslint/utils@7.7.1(eslint@8.57.0)(typescript@5.4.5):
+ resolution: {integrity: sha512-QUvBxPEaBXf41ZBbaidKICgVL8Hin0p6prQDu6bbetWo39BKbWJxRsErOzMNT1rXvTll+J7ChrbmMCXM9rsvOQ==}
+ engines: {node: ^18.18.0 || >=20.0.0}
peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ eslint: ^8.56.0
dependencies:
- '@babel/runtime': 7.24.0
- aria-query: 5.3.0
- array-includes: 3.1.7
- array.prototype.flatmap: 1.3.2
- ast-types-flow: 0.0.8
- axe-core: 4.7.0
- axobject-query: 3.2.1
- damerau-levenshtein: 1.0.8
- emoji-regex: 9.2.2
- es-iterator-helpers: 1.0.17
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
+ '@types/json-schema': 7.0.15
+ '@types/semver': 7.5.8
+ '@typescript-eslint/scope-manager': 7.7.1
+ '@typescript-eslint/types': 7.7.1
+ '@typescript-eslint/typescript-estree': 7.7.1(typescript@5.4.5)
eslint: 8.57.0
- hasown: 2.0.1
- jsx-ast-utils: 3.3.5
- language-tags: 1.0.9
- minimatch: 3.1.2
- object.entries: 1.1.7
- object.fromentries: 2.0.7
+ semver: 7.6.0
+ transitivePeerDependencies:
+ - supports-color
+ - typescript
dev: true
- /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0):
- resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==}
- engines: {node: '>=10'}
- peerDependencies:
- eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
+ /@typescript-eslint/visitor-keys@7.7.1:
+ resolution: {integrity: sha512-gBL3Eq25uADw1LQ9kVpf3hRM+DWzs0uZknHYK3hq4jcTPqVCClHGDnB6UUUV2SFeBeA4KWHWbbLqmbGcZ4FYbw==}
+ engines: {node: ^18.18.0 || >=20.0.0}
dependencies:
- eslint: 8.57.0
+ '@typescript-eslint/types': 7.7.1
+ eslint-visitor-keys: 3.4.3
dev: true
- /eslint-plugin-react@7.33.2(eslint@8.57.0):
- resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==}
- engines: {node: '>=4'}
- peerDependencies:
- eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
+ /@ungap/structured-clone@1.2.0:
+ resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==}
+ dev: true
+
+ /@vitest/expect@1.5.2:
+ resolution: {integrity: sha512-rf7MTD1WCoDlN3FfYJ9Llfp0PbdtOMZ3FIF0AVkDnKbp3oiMW1c8AmvRZBcqbAhDUAvF52e9zx4WQM1r3oraVA==}
dependencies:
- array-includes: 3.1.7
- array.prototype.flatmap: 1.3.2
- array.prototype.tosorted: 1.1.3
- doctrine: 2.1.0
- es-iterator-helpers: 1.0.17
- eslint: 8.57.0
- estraverse: 5.3.0
- jsx-ast-utils: 3.3.5
- minimatch: 3.1.2
- object.entries: 1.1.7
- object.fromentries: 2.0.7
- object.hasown: 1.1.3
- object.values: 1.1.7
- prop-types: 15.8.1
- resolve: 2.0.0-next.5
- semver: 6.3.1
- string.prototype.matchall: 4.0.10
+ '@vitest/spy': 1.5.2
+ '@vitest/utils': 1.5.2
+ chai: 4.4.1
dev: true
- /eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
+ /@vitest/runner@1.5.2:
+ resolution: {integrity: sha512-7IJ7sJhMZrqx7HIEpv3WrMYcq8ZNz9L6alo81Y6f8hV5mIE6yVZsFoivLZmr0D777klm1ReqonE9LyChdcmw6g==}
dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
+ '@vitest/utils': 1.5.2
+ p-limit: 5.0.0
+ pathe: 1.1.2
dev: true
- /eslint-scope@7.2.2:
- resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@vitest/snapshot@1.5.2:
+ resolution: {integrity: sha512-CTEp/lTYos8fuCc9+Z55Ga5NVPKUgExritjF5VY7heRFUfheoAqBneUlvXSUJHUZPjnPmyZA96yLRJDP1QATFQ==}
dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
+ magic-string: 0.30.10
+ pathe: 1.1.2
+ pretty-format: 29.7.0
dev: true
- /eslint-visitor-keys@3.4.3:
- resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@vitest/spy@1.5.2:
+ resolution: {integrity: sha512-xCcPvI8JpCtgikT9nLpHPL1/81AYqZy1GCy4+MCHBE7xi8jgsYkULpW5hrx5PGLgOQjUpb6fd15lqcriJ40tfQ==}
+ dependencies:
+ tinyspy: 2.2.1
dev: true
- /eslint@8.57.0:
- resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /@vitest/utils@1.5.2:
+ resolution: {integrity: sha512-sWOmyofuXLJ85VvXNsroZur7mOJGiQeM0JN3/0D1uU8U9bGFM69X1iqHaRXl6R8BwaLY6yPCogP257zxTzkUdA==}
+ dependencies:
+ diff-sequences: 29.6.3
+ estree-walker: 3.0.3
+ loupe: 2.3.7
+ pretty-format: 29.7.0
+ dev: true
+
+ /acorn-jsx@5.3.2(acorn@8.11.3):
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ dependencies:
+ acorn: 8.11.3
+ dev: true
+
+ /acorn-walk@8.3.2:
+ resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==}
+ engines: {node: '>=0.4.0'}
+ dev: true
+
+ /acorn@8.11.3:
+ resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==}
+ engines: {node: '>=0.4.0'}
hasBin: true
+ dev: true
+
+ /agent-base@7.1.1:
+ resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
+ engines: {node: '>= 14'}
dependencies:
- '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
- '@eslint-community/regexpp': 4.10.0
- '@eslint/eslintrc': 2.1.4
- '@eslint/js': 8.57.0
- '@humanwhocodes/config-array': 0.11.14
- '@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- '@ungap/structured-clone': 1.2.0
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.3
debug: 4.3.4
- doctrine: 3.0.0
- escape-string-regexp: 4.0.0
- eslint-scope: 7.2.2
- eslint-visitor-keys: 3.4.3
- espree: 9.6.1
- esquery: 1.5.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
- find-up: 5.0.0
- glob-parent: 6.0.2
- globals: 13.24.0
- graphemer: 1.4.0
- ignore: 5.3.1
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-yaml: 4.1.0
- json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.3
- strip-ansi: 6.0.1
- text-table: 0.2.0
transitivePeerDependencies:
- supports-color
dev: true
- /espree@9.6.1:
- resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ /ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
dependencies:
- acorn: 8.11.3
- acorn-jsx: 5.3.2(acorn@8.11.3)
- eslint-visitor-keys: 3.4.3
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
dev: true
- /esprima@4.0.1:
- resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ /ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+ dev: true
+
+ /ansi-styles@3.2.1:
+ resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
engines: {node: '>=4'}
- hasBin: true
+ dependencies:
+ color-convert: 1.9.3
+ dev: true
- /esquery@1.5.0:
- resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
- engines: {node: '>=0.10'}
+ /ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+ dependencies:
+ color-convert: 2.0.1
+ dev: true
+
+ /ansi-styles@5.2.0:
+ resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
+ engines: {node: '>=10'}
+ dev: true
+
+ /arg@5.0.2:
+ resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==}
+ dev: true
+
+ /argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ dev: true
+
+ /aria-query@5.3.0:
+ resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
dependencies:
- estraverse: 5.3.0
+ dequal: 2.0.3
dev: true
- /esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
+ /array-buffer-byte-length@1.0.1:
+ resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==}
+ engines: {node: '>= 0.4'}
dependencies:
- estraverse: 5.3.0
+ call-bind: 1.0.7
+ is-array-buffer: 3.0.4
dev: true
- /estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
- engines: {node: '>=4.0'}
+ /array-includes@3.1.8:
+ resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
+ get-intrinsic: 1.2.4
+ is-string: 1.0.7
dev: true
- /estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
+ /array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
dev: true
- /estree-walker@0.6.1:
- resolution: {integrity: sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==}
+ /array.prototype.findlast@1.2.5:
+ resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-shim-unscopables: 1.0.2
dev: true
- /estree-walker@1.0.1:
- resolution: {integrity: sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==}
+ /array.prototype.findlastindex@1.2.5:
+ resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-shim-unscopables: 1.0.2
dev: true
- /estree-walker@2.0.2:
- resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
+ /array.prototype.flat@1.3.2:
+ resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-shim-unscopables: 1.0.2
dev: true
- /esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
+ /array.prototype.flatmap@1.3.2:
+ resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-shim-unscopables: 1.0.2
+ dev: true
- /etag@1.8.1:
- resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
- engines: {node: '>= 0.6'}
+ /array.prototype.toreversed@1.1.2:
+ resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==}
+ dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-shim-unscopables: 1.0.2
+ dev: true
- /event-stream@3.3.4:
- resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==}
+ /array.prototype.tosorted@1.1.3:
+ resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==}
dependencies:
- duplexer: 0.1.2
- from: 0.1.7
- map-stream: 0.1.0
- pause-stream: 0.0.11
- split: 0.3.3
- stream-combiner: 0.0.4
- through: 2.3.8
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-shim-unscopables: 1.0.2
dev: true
- /event-target-shim@5.0.1:
- resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
- engines: {node: '>=6'}
- dev: false
+ /arraybuffer.prototype.slice@1.0.3:
+ resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ array-buffer-byte-length: 1.0.1
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ is-array-buffer: 3.0.4
+ is-shared-array-buffer: 1.0.3
+ dev: true
- /eventemitter3@4.0.7:
- resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
+ /assertion-error@1.1.0:
+ resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
dev: true
- /events@3.3.0:
- resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
- engines: {node: '>=0.8.x'}
+ /ast-types-flow@0.0.8:
+ resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
dev: true
- /execa@5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
- engines: {node: '>=10'}
+ /ast-types@0.13.4:
+ resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==}
+ engines: {node: '>=4'}
dependencies:
- cross-spawn: 7.0.3
- get-stream: 6.0.1
- human-signals: 2.1.0
- is-stream: 2.0.1
- merge-stream: 2.0.0
- npm-run-path: 4.0.1
- onetime: 5.1.2
- signal-exit: 3.0.7
- strip-final-newline: 2.0.0
+ tslib: 2.6.2
+ dev: true
- /exit@0.1.2:
- resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==}
- engines: {node: '>= 0.8.0'}
+ /asynckit@0.4.0:
+ resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
dev: true
- /expand-tilde@1.2.2:
- resolution: {integrity: sha512-rtmc+cjLZqnu9dSYosX9EWmSJhTwpACgJQTfj4hgg2JjOD/6SIQalZrt4a3aQeh++oNxkazcaxrhPUj6+g5G/Q==}
- engines: {node: '>=0.10.0'}
+ /available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- os-homedir: 1.0.2
+ possible-typed-array-names: 1.0.0
dev: true
- /expect-puppeteer@10.0.0:
- resolution: {integrity: sha512-E7sE6nVdEbrnpDOBMmcLgyqLJKt876AlBg1A+gsu5R8cWx+SLafreOgJAgzXg5Qko7Tk0cW5oZdRbHQLU738dg==}
- engines: {node: '>=16'}
+ /axe-core@4.7.0:
+ resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==}
+ engines: {node: '>=4'}
dev: true
- /expect@29.7.0:
- resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /axios@1.6.8(debug@4.3.4):
+ resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==}
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
+ follow-redirects: 1.15.6(debug@4.3.4)
+ form-data: 4.0.0
+ proxy-from-env: 1.1.0
+ transitivePeerDependencies:
+ - debug
dev: true
- /express@4.18.3:
- resolution: {integrity: sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==}
- engines: {node: '>= 0.10.0'}
+ /axobject-query@3.2.1:
+ resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==}
dependencies:
- accepts: 1.3.8
- array-flatten: 1.1.1
- body-parser: 1.20.2
- content-disposition: 0.5.4
- content-type: 1.0.5
- cookie: 0.5.0
- cookie-signature: 1.0.6
- debug: 2.6.9
- depd: 2.0.0
- encodeurl: 1.0.2
- escape-html: 1.0.3
- etag: 1.8.1
- finalhandler: 1.2.0
- fresh: 0.5.2
- http-errors: 2.0.0
- merge-descriptors: 1.0.1
- methods: 1.1.2
- on-finished: 2.4.1
- parseurl: 1.3.3
- path-to-regexp: 0.1.7
- proxy-addr: 2.0.7
- qs: 6.11.0
- range-parser: 1.2.1
- safe-buffer: 5.2.1
- send: 0.18.0
- serve-static: 1.15.0
- setprototypeof: 1.2.0
- statuses: 2.0.1
- type-is: 1.6.18
- utils-merge: 1.0.1
- vary: 1.1.2
- transitivePeerDependencies:
- - supports-color
+ dequal: 2.0.3
dev: true
- /extract-zip@2.0.1:
- resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
- engines: {node: '>= 10.17.0'}
- hasBin: true
- dependencies:
- debug: 4.3.4
- get-stream: 5.2.0
- yauzl: 2.10.0
- optionalDependencies:
- '@types/yauzl': 2.10.3
- transitivePeerDependencies:
- - supports-color
+ /b4a@1.6.6:
+ resolution: {integrity: sha512-5Tk1HLk6b6ctmjIkAcU/Ujv/1WqiDl0F0JdRCR80VsOcUlHcu7pWeWRlOqQLHfDEsVx9YH/aif5AG4ehoCtTmg==}
dev: true
- /fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ /balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
dev: true
- /fast-fifo@1.3.2:
- resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
+ /bare-events@2.2.2:
+ resolution: {integrity: sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==}
+ requiresBuild: true
dev: true
+ optional: true
- /fast-glob@3.3.2:
- resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
- engines: {node: '>=8.6.0'}
+ /bare-fs@2.3.0:
+ resolution: {integrity: sha512-TNFqa1B4N99pds2a5NYHR15o0ZpdNKbAeKTE/+G6ED/UeOavv8RY3dr/Fu99HW3zU3pXpo2kDNO8Sjsm2esfOw==}
+ requiresBuild: true
dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.5
+ bare-events: 2.2.2
+ bare-path: 2.1.2
+ bare-stream: 1.0.0
dev: true
+ optional: true
- /fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ /bare-os@2.3.0:
+ resolution: {integrity: sha512-oPb8oMM1xZbhRQBngTgpcQ5gXw6kjOaRsSWsIeNyRxGed2w/ARyP7ScBYpWR1qfX2E5rS3gBw6OWcSQo+s+kUg==}
+ requiresBuild: true
dev: true
+ optional: true
- /fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ /bare-path@2.1.2:
+ resolution: {integrity: sha512-o7KSt4prEphWUHa3QUwCxUI00R86VdjiuxmJK0iNVDHYPGo+HsDaVCnqCmPbf/MiW1ok8F4p3m8RTHlWk8K2ig==}
+ requiresBuild: true
+ dependencies:
+ bare-os: 2.3.0
dev: true
+ optional: true
- /fast-xml-parser@4.3.5:
- resolution: {integrity: sha512-sWvP1Pl8H03B8oFJpFR3HE31HUfwtX7Rlf9BNsvdpujD4n7WMhfmu8h9wOV2u+c1k0ZilTADhPqypzx2J690ZQ==}
- hasBin: true
+ /bare-stream@1.0.0:
+ resolution: {integrity: sha512-KhNUoDL40iP4gFaLSsoGE479t0jHijfYdIcxRn/XtezA2BaUD0NRf/JGRpsMq6dMNM+SrCrB0YSSo/5wBY4rOQ==}
+ requiresBuild: true
dependencies:
- strnum: 1.0.5
- dev: false
+ streamx: 2.16.1
+ dev: true
+ optional: true
- /fastest-levenshtein@1.0.16:
- resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==}
- engines: {node: '>= 4.9.1'}
+ /base64-js@1.5.1:
+ resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
dev: true
- /fastq@1.17.1:
- resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
- dependencies:
- reusify: 1.0.4
+ /basic-ftp@5.0.5:
+ resolution: {integrity: sha512-4Bcg1P8xhUuqcii/S0Z9wiHIrQVPMermM1any+MX5GeGD7faD3/msQUDGLol9wOcz4/jbg/WJnGqoJF6LiBdtg==}
+ engines: {node: '>=10.0.0'}
dev: true
- /faye-websocket@0.11.4:
- resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==}
- engines: {node: '>=0.8.0'}
- dependencies:
- websocket-driver: 0.7.4
+ /bluebird@3.7.2:
+ resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==}
dev: true
- /fb-watchman@2.0.2:
- resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==}
+ /brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
dependencies:
- bser: 2.1.1
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
+ dev: true
- /fd-slicer@1.1.0:
- resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
+ /brace-expansion@2.0.1:
+ resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
dependencies:
- pend: 1.2.0
+ balanced-match: 1.0.2
dev: true
- /figures@1.7.0:
- resolution: {integrity: sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==}
- engines: {node: '>=0.10.0'}
+ /braces@3.0.2:
+ resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
+ engines: {node: '>=8'}
dependencies:
- escape-string-regexp: 1.0.5
- object-assign: 4.1.1
+ fill-range: 7.0.1
dev: true
- /file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
- dependencies:
- flat-cache: 3.2.0
+ /buffer-crc32@0.2.13:
+ resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==}
dev: true
- /filelist@1.0.4:
- resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==}
+ /buffer@5.7.1:
+ resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
dependencies:
- minimatch: 5.1.6
+ base64-js: 1.5.1
+ ieee754: 1.2.1
dev: true
- /filesize@6.4.0:
- resolution: {integrity: sha512-mjFIpOHC4jbfcTfoh4rkWpI31mF7viw9ikj/JyLoKzqlwG/YsefKfvYlYhdYdg/9mtK2z1AzgN/0LvVQ3zdlSQ==}
- engines: {node: '>= 0.4.0'}
+ /cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
dev: true
- /fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
+ /call-bind@1.0.7:
+ resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
+ engines: {node: '>= 0.4'}
dependencies:
- to-regex-range: 5.0.1
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ set-function-length: 1.2.2
+ dev: true
- /finalhandler@1.1.2:
- resolution: {integrity: sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==}
- engines: {node: '>= 0.8'}
- dependencies:
- debug: 2.6.9
- encodeurl: 1.0.2
- escape-html: 1.0.3
- on-finished: 2.3.0
- parseurl: 1.3.3
- statuses: 1.5.0
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
- dev: false
+ /callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+ dev: true
- /finalhandler@1.2.0:
- resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==}
- engines: {node: '>= 0.8'}
+ /chai@4.4.1:
+ resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==}
+ engines: {node: '>=4'}
dependencies:
- debug: 2.6.9
- encodeurl: 1.0.2
- escape-html: 1.0.3
- on-finished: 2.4.1
- parseurl: 1.3.3
- statuses: 2.0.1
- unpipe: 1.0.0
- transitivePeerDependencies:
- - supports-color
+ assertion-error: 1.1.0
+ check-error: 1.0.3
+ deep-eql: 4.1.3
+ get-func-name: 2.0.2
+ loupe: 2.3.7
+ pathval: 1.1.1
+ type-detect: 4.0.8
dev: true
- /find-cache-dir@2.1.0:
- resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==}
- engines: {node: '>=6'}
+ /chalk@2.4.2:
+ resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
+ engines: {node: '>=4'}
dependencies:
- commondir: 1.0.1
- make-dir: 2.1.0
- pkg-dir: 3.0.0
- dev: false
+ ansi-styles: 3.2.1
+ escape-string-regexp: 1.0.5
+ supports-color: 5.5.0
+ dev: true
- /find-cache-dir@3.3.2:
- resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==}
+ /chalk@3.0.0:
+ resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
engines: {node: '>=8'}
dependencies:
- commondir: 1.0.1
- make-dir: 3.1.0
- pkg-dir: 4.2.0
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
dev: true
- /find-file-up@0.1.3:
- resolution: {integrity: sha512-mBxmNbVyjg1LQIIpgO8hN+ybWBgDQK8qjht+EbrTCGmmPV/sc7RF1i9stPTD6bpvXZywBdrwRYxhSdJv867L6A==}
- engines: {node: '>=0.10.0'}
+ /chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
dependencies:
- fs-exists-sync: 0.1.0
- resolve-dir: 0.1.1
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
dev: true
- /find-pkg@0.1.2:
- resolution: {integrity: sha512-0rnQWcFwZr7eO0513HahrWafsc3CTFioEB7DRiEYCUM/70QXSY8f3mCST17HXLcPvEhzH/Ty/Bxd72ZZsr/yvw==}
- engines: {node: '>=0.10.0'}
+ /check-error@1.0.3:
+ resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==}
dependencies:
- find-file-up: 0.1.3
+ get-func-name: 2.0.2
dev: true
- /find-process@1.4.7:
- resolution: {integrity: sha512-/U4CYp1214Xrp3u3Fqr9yNynUrr5Le4y0SsJh2lMDDSbpwYSz3M2SMWQC+wqcx79cN8PQtHQIL8KnuY9M66fdg==}
- hasBin: true
- dependencies:
- chalk: 4.1.2
- commander: 5.1.0
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
+ /check-more-types@2.24.0:
+ resolution: {integrity: sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==}
+ engines: {node: '>= 0.8.0'}
dev: true
- /find-up@3.0.0:
- resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==}
- engines: {node: '>=6'}
+ /chromium-bidi@0.5.19(devtools-protocol@0.0.1273771):
+ resolution: {integrity: sha512-UA6zL77b7RYCjJkZBsZ0wlvCTD+jTjllZ8f6wdO4buevXgTZYjV+XLB9CiEa2OuuTGGTLnI7eN9I60YxuALGQg==}
+ peerDependencies:
+ devtools-protocol: '*'
dependencies:
- locate-path: 3.0.0
- dev: false
+ devtools-protocol: 0.0.1273771
+ mitt: 3.0.1
+ urlpattern-polyfill: 10.0.0
+ zod: 3.22.4
+ dev: true
- /find-up@4.1.0:
- resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
- engines: {node: '>=8'}
+ /cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
dependencies:
- locate-path: 5.0.0
- path-exists: 4.0.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
+ dev: true
- /find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
+ /color-convert@1.9.3:
+ resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
+ color-name: 1.1.3
+ dev: true
- /flat-cache@3.2.0:
- resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ /color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
dependencies:
- flatted: 3.3.1
- keyv: 4.5.4
- rimraf: 3.0.2
+ color-name: 1.1.4
dev: true
- /flat@5.0.2:
- resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==}
- hasBin: true
+ /color-name@1.1.3:
+ resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
dev: true
- /flatted@3.3.1:
- resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
+ /color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
dev: true
- /flow-enums-runtime@0.0.6:
- resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==}
- dev: false
+ /combined-stream@1.0.8:
+ resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
+ engines: {node: '>= 0.8'}
+ dependencies:
+ delayed-stream: 1.0.0
+ dev: true
- /flow-parser@0.206.0:
- resolution: {integrity: sha512-HVzoK3r6Vsg+lKvlIZzaWNBVai+FXTX1wdYhz/wVlH13tb/gOdLXmlTqy6odmTBhT5UoWUbq0k8263Qhr9d88w==}
- engines: {node: '>=0.4.0'}
- dev: false
+ /concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ dev: true
- /follow-redirects@1.15.5(debug@4.3.4):
- resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==}
- engines: {node: '>=4.0'}
+ /confbox@0.1.7:
+ resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==}
+ dev: true
+
+ /cosmiconfig@9.0.0(typescript@5.4.5):
+ resolution: {integrity: sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==}
+ engines: {node: '>=14'}
peerDependencies:
- debug: '*'
+ typescript: '>=4.9.5'
peerDependenciesMeta:
- debug:
+ typescript:
optional: true
dependencies:
- debug: 4.3.4
- dev: true
-
- /for-each@0.3.3:
- resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
- dependencies:
- is-callable: 1.2.7
+ env-paths: 2.2.1
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ parse-json: 5.2.0
+ typescript: 5.4.5
dev: true
- /foreground-child@3.1.1:
- resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==}
- engines: {node: '>=14'}
+ /cross-spawn@6.0.5:
+ resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==}
+ engines: {node: '>=4.8'}
dependencies:
- cross-spawn: 7.0.3
- signal-exit: 4.1.0
+ nice-try: 1.0.5
+ path-key: 2.0.1
+ semver: 5.7.2
+ shebang-command: 1.2.0
+ which: 1.3.1
dev: true
- /form-data@4.0.0:
- resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
- engines: {node: '>= 6'}
+ /cross-spawn@7.0.3:
+ resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
+ engines: {node: '>= 8'}
dependencies:
- asynckit: 0.4.0
- combined-stream: 1.0.8
- mime-types: 2.1.35
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
dev: true
- /forwarded@0.2.0:
- resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
- engines: {node: '>= 0.6'}
+ /css.escape@1.5.1:
+ resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
dev: true
- /fraction.js@4.3.7:
- resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
+ /csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
dev: true
- /fresh@0.5.2:
- resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
- engines: {node: '>= 0.6'}
-
- /from@0.1.7:
- resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
+ /damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
dev: true
- /fs-exists-sync@0.1.0:
- resolution: {integrity: sha512-cR/vflFyPZtrN6b38ZyWxpWdhlXrzZEBawlpBQMq7033xVY7/kg0GDMBK5jg8lDYQckdJ5x/YC88lM3C7VMsLg==}
- engines: {node: '>=0.10.0'}
+ /data-uri-to-buffer@6.0.2:
+ resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==}
+ engines: {node: '>= 14'}
dev: true
- /fs-extra@10.1.0:
- resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==}
- engines: {node: '>=12'}
+ /data-view-buffer@1.0.1:
+ resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==}
+ engines: {node: '>= 0.4'}
dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.1
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
dev: true
- /fs-extra@11.2.0:
- resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
- engines: {node: '>=14.14'}
+ /data-view-byte-length@1.0.1:
+ resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- graceful-fs: 4.2.11
- jsonfile: 6.1.0
- universalify: 2.0.1
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
dev: true
- /fs-extra@8.1.0:
- resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
- engines: {node: '>=6 <7 || >=8'}
- dependencies:
- graceful-fs: 4.2.11
- jsonfile: 4.0.0
- universalify: 0.1.2
- dev: false
-
- /fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
-
- /fsevents@2.3.3:
- resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
- requiresBuild: true
- optional: true
-
- /function-bind@1.1.2:
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
-
- /function.prototype.name@1.1.6:
- resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ /data-view-byte-offset@1.0.0:
+ resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
- define-properties: 1.2.1
- es-abstract: 1.22.5
- functions-have-names: 1.2.3
+ es-errors: 1.3.0
+ is-data-view: 1.0.1
dev: true
- /functions-have-names@1.2.3:
- resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+ /debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ dependencies:
+ ms: 2.1.3
dev: true
- /generic-names@4.0.0:
- resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==}
+ /debug@4.3.4:
+ resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
dependencies:
- loader-utils: 3.2.1
+ ms: 2.1.2
dev: true
- /gensync@1.0.0-beta.2:
- resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
- engines: {node: '>=6.9.0'}
-
- /get-caller-file@2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
-
- /get-intrinsic@1.2.4:
- resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
- engines: {node: '>= 0.4'}
+ /deep-eql@4.1.3:
+ resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==}
+ engines: {node: '>=6'}
dependencies:
- es-errors: 1.3.0
- function-bind: 1.1.2
- has-proto: 1.0.3
- has-symbols: 1.0.3
- hasown: 2.0.1
+ type-detect: 4.0.8
dev: true
- /get-package-type@0.1.0:
- resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==}
- engines: {node: '>=8.0.0'}
+ /deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
dev: true
- /get-stream@5.2.0:
- resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
- engines: {node: '>=8'}
+ /define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
dependencies:
- pump: 3.0.0
+ es-define-property: 1.0.0
+ es-errors: 1.3.0
+ gopd: 1.0.1
dev: true
- /get-stream@6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
-
- /get-symbol-description@1.0.2:
- resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ /define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'}
dependencies:
- call-bind: 1.0.7
- es-errors: 1.3.0
- get-intrinsic: 1.2.4
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
dev: true
- /get-uri@6.0.3:
- resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==}
+ /degenerator@5.0.1:
+ resolution: {integrity: sha512-TllpMR/t0M5sqCXfj85i4XaAzxmS5tVA16dqvdkMwGmzI+dXLXnw3J+3Vdv7VKw+ThlTMboK6i9rnZ6Nntj5CQ==}
engines: {node: '>= 14'}
dependencies:
- basic-ftp: 5.0.5
- data-uri-to-buffer: 6.0.2
- debug: 4.3.4
- fs-extra: 11.2.0
- transitivePeerDependencies:
- - supports-color
+ ast-types: 0.13.4
+ escodegen: 2.1.0
+ esprima: 4.0.1
dev: true
- /glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
- dependencies:
- is-glob: 4.0.3
+ /delayed-stream@1.0.0:
+ resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
+ engines: {node: '>=0.4.0'}
dev: true
- /glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
- dependencies:
- is-glob: 4.0.3
+ /dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
dev: true
- /glob-to-regexp@0.4.1:
- resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==}
+ /devtools-protocol@0.0.1273771:
+ resolution: {integrity: sha512-QDbb27xcTVReQQW/GHJsdQqGKwYBE7re7gxehj467kKP2DKuYBUj6i2k5LRiAC66J1yZG/9gsxooz/s9pcm0Og==}
dev: true
- /glob@10.3.10:
- resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==}
- engines: {node: '>=16 || 14 >=14.17'}
- hasBin: true
- dependencies:
- foreground-child: 3.1.1
- jackspeak: 2.3.6
- minimatch: 9.0.3
- minipass: 7.0.4
- path-scurry: 1.10.1
+ /diff-sequences@29.6.3:
+ resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==}
+ engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
dev: true
- /glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- dependencies:
- fs.realpath: 1.0.0
- inflight: 1.0.6
- inherits: 2.0.4
- minimatch: 3.1.2
- once: 1.4.0
- path-is-absolute: 1.0.1
-
- /global-modules@0.2.3:
- resolution: {integrity: sha512-JeXuCbvYzYXcwE6acL9V2bAOeSIGl4dD+iwLY9iUx2VBJJ80R18HCn+JCwHM9Oegdfya3lEkGCdaRkSyc10hDA==}
- engines: {node: '>=0.10.0'}
+ /dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
dependencies:
- global-prefix: 0.1.5
- is-windows: 0.2.0
+ path-type: 4.0.0
dev: true
- /global-prefix@0.1.5:
- resolution: {integrity: sha512-gOPiyxcD9dJGCEArAhF4Hd0BAqvAe/JzERP7tYumE4yIkmIedPUVXcJFWbV3/p/ovIIvKjkrTk+f1UVkq7vvbw==}
+ /doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
engines: {node: '>=0.10.0'}
dependencies:
- homedir-polyfill: 1.0.3
- ini: 1.3.8
- is-windows: 0.2.0
- which: 1.3.1
- dev: true
-
- /globals@11.12.0:
- resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
- engines: {node: '>=4'}
-
- /globals@13.24.0:
- resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
- engines: {node: '>=8'}
- dependencies:
- type-fest: 0.20.2
+ esutils: 2.0.3
dev: true
- /globalthis@1.0.3:
- resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
- engines: {node: '>= 0.4'}
+ /doctrine@3.0.0:
+ resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
+ engines: {node: '>=6.0.0'}
dependencies:
- define-properties: 1.2.1
+ esutils: 2.0.3
dev: true
- /globalyzer@0.1.0:
- resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==}
+ /dom-accessibility-api@0.5.16:
+ resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
dev: true
- /globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
- dependencies:
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.3.2
- ignore: 5.3.1
- merge2: 1.4.1
- slash: 3.0.0
+ /dom-accessibility-api@0.6.3:
+ resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
dev: true
- /globrex@0.1.2:
- resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==}
+ /duplexer@0.1.2:
+ resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
dev: true
- /gopd@1.0.1:
- resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
- dependencies:
- get-intrinsic: 1.2.4
+ /emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
dev: true
- /graceful-fs@4.2.11:
- resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
-
- /graphemer@1.4.0:
- resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+ /emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
dev: true
- /gzip-size@3.0.0:
- resolution: {integrity: sha512-6s8trQiK+OMzSaCSVXX+iqIcLV9tC+E73jrJrJTyS4h/AJhlxHvzFKqM1YLDJWRGgHX8uLkBeXkA0njNj39L4w==}
- engines: {node: '>=0.12.0'}
+ /end-of-stream@1.4.4:
+ resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
dependencies:
- duplexer: 0.1.2
+ once: 1.4.0
dev: true
- /gzip-size@6.0.0:
- resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==}
- engines: {node: '>=10'}
+ /enhanced-resolve@5.16.0:
+ resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==}
+ engines: {node: '>=10.13.0'}
dependencies:
- duplexer: 0.1.2
+ graceful-fs: 4.2.11
+ tapable: 2.2.1
dev: true
- /handle-thing@2.0.1:
- resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==}
+ /entities@4.5.0:
+ resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
+ engines: {node: '>=0.12'}
dev: true
- /has-ansi@2.0.0:
- resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- ansi-regex: 2.1.1
+ /env-paths@2.2.1:
+ resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
+ engines: {node: '>=6'}
dev: true
- /has-bigints@1.0.2:
- resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
+ /error-ex@1.3.2:
+ resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
+ dependencies:
+ is-arrayish: 0.2.1
dev: true
- /has-flag@3.0.0:
- resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
- engines: {node: '>=4'}
-
- /has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
-
- /has-property-descriptors@1.0.2:
- resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+ /es-abstract@1.23.3:
+ resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==}
+ engines: {node: '>= 0.4'}
dependencies:
+ array-buffer-byte-length: 1.0.1
+ arraybuffer.prototype.slice: 1.0.3
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.7
+ data-view-buffer: 1.0.1
+ data-view-byte-length: 1.0.1
+ data-view-byte-offset: 1.0.0
es-define-property: 1.0.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
+ es-set-tostringtag: 2.0.3
+ es-to-primitive: 1.2.1
+ function.prototype.name: 1.1.6
+ get-intrinsic: 1.2.4
+ get-symbol-description: 1.0.2
+ globalthis: 1.0.3
+ gopd: 1.0.1
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
+ internal-slot: 1.0.7
+ is-array-buffer: 3.0.4
+ is-callable: 1.2.7
+ is-data-view: 1.0.1
+ is-negative-zero: 2.0.3
+ is-regex: 1.1.4
+ is-shared-array-buffer: 1.0.3
+ is-string: 1.0.7
+ is-typed-array: 1.1.13
+ is-weakref: 1.0.2
+ object-inspect: 1.13.1
+ object-keys: 1.1.1
+ object.assign: 4.1.5
+ regexp.prototype.flags: 1.5.2
+ safe-array-concat: 1.1.2
+ safe-regex-test: 1.0.3
+ string.prototype.trim: 1.2.9
+ string.prototype.trimend: 1.0.8
+ string.prototype.trimstart: 1.0.8
+ typed-array-buffer: 1.0.2
+ typed-array-byte-length: 1.0.1
+ typed-array-byte-offset: 1.0.2
+ typed-array-length: 1.0.6
+ unbox-primitive: 1.0.2
+ which-typed-array: 1.1.15
dev: true
- /has-proto@1.0.3:
- resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ /es-define-property@1.0.0:
+ resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
engines: {node: '>= 0.4'}
+ dependencies:
+ get-intrinsic: 1.2.4
dev: true
- /has-symbols@1.0.3:
- resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ /es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
engines: {node: '>= 0.4'}
dev: true
- /has-tostringtag@1.0.2:
- resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ /es-iterator-helpers@1.0.19:
+ resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==}
engines: {node: '>= 0.4'}
dependencies:
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.0.3
+ function-bind: 1.1.2
+ get-intrinsic: 1.2.4
+ globalthis: 1.0.3
+ has-property-descriptors: 1.0.2
+ has-proto: 1.0.3
has-symbols: 1.0.3
+ internal-slot: 1.0.7
+ iterator.prototype: 1.1.2
+ safe-array-concat: 1.1.2
dev: true
- /hasown@2.0.1:
- resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==}
+ /es-object-atoms@1.0.0:
+ resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
engines: {node: '>= 0.4'}
dependencies:
- function-bind: 1.1.2
-
- /he@1.2.0:
- resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==}
- hasBin: true
+ es-errors: 1.3.0
dev: true
- /hermes-estree@0.15.0:
- resolution: {integrity: sha512-lLYvAd+6BnOqWdnNbP/Q8xfl8LOGw4wVjfrNd9Gt8eoFzhNBRVD95n4l2ksfMVOoxuVyegs85g83KS9QOsxbVQ==}
- dev: false
-
- /hermes-estree@0.19.1:
- resolution: {integrity: sha512-daLGV3Q2MKk8w4evNMKwS8zBE/rcpA800nu1Q5kM08IKijoSnPe9Uo1iIxzPKRkn95IxxsgBMPeYHt3VG4ej2g==}
- dev: false
-
- /hermes-parser@0.15.0:
- resolution: {integrity: sha512-Q1uks5rjZlE9RjMMjSUCkGrEIPI5pKJILeCtK1VmTj7U4pf3wVPoo+cxfu+s4cBAPy2JzikIIdCZgBoR6x7U1Q==}
- dependencies:
- hermes-estree: 0.15.0
- dev: false
-
- /hermes-parser@0.19.1:
- resolution: {integrity: sha512-Vp+bXzxYJWrpEuJ/vXxUsLnt0+y4q9zyi4zUlkLqD8FKv4LjIfOvP69R/9Lty3dCyKh0E2BU7Eypqr63/rKT/A==}
- dependencies:
- hermes-estree: 0.19.1
- dev: false
-
- /hermes-profile-transformer@0.0.6:
- resolution: {integrity: sha512-cnN7bQUm65UWOy6cbGcCcZ3rpwW8Q/j4OP5aWRhEry4Z2t2aR1cjrbp0BS+KiBN0smvP1caBgAuxutvyvJILzQ==}
- engines: {node: '>=8'}
- dependencies:
- source-map: 0.7.4
- dev: false
-
- /homedir-polyfill@1.0.3:
- resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==}
- engines: {node: '>=0.10.0'}
+ /es-set-tostringtag@2.0.3:
+ resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- parse-passwd: 1.0.0
- dev: true
-
- /hosted-git-info@2.8.9:
- resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
+ get-intrinsic: 1.2.4
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
dev: true
- /hpack.js@2.1.6:
- resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==}
+ /es-shim-unscopables@1.0.2:
+ resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
dependencies:
- inherits: 2.0.4
- obuf: 1.1.2
- readable-stream: 2.3.8
- wbuf: 1.7.3
+ hasown: 2.0.2
dev: true
- /html-encoding-sniffer@3.0.0:
- resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==}
- engines: {node: '>=12'}
+ /es-to-primitive@1.2.1:
+ resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==}
+ engines: {node: '>= 0.4'}
dependencies:
- whatwg-encoding: 2.0.0
- dev: true
-
- /html-entities@2.4.0:
- resolution: {integrity: sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==}
- dev: true
-
- /html-escaper@2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+ is-callable: 1.2.7
+ is-date-object: 1.0.5
+ is-symbol: 1.0.4
dev: true
- /html-minifier-terser@6.1.0:
- resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==}
+ /esbuild@0.20.2:
+ resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==}
engines: {node: '>=12'}
hasBin: true
- dependencies:
- camel-case: 4.1.2
- clean-css: 5.3.3
- commander: 8.3.0
- he: 1.2.0
- param-case: 3.0.4
- relateurl: 0.2.7
- terser: 5.28.1
- dev: true
-
- /html-webpack-plugin@5.6.0(webpack@5.90.3):
- resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==}
- engines: {node: '>=10.13.0'}
- peerDependencies:
- '@rspack/core': 0.x || 1.x
- webpack: ^5.20.0
- peerDependenciesMeta:
- '@rspack/core':
- optional: true
- webpack:
- optional: true
- dependencies:
- '@types/html-minifier-terser': 6.1.0
- html-minifier-terser: 6.1.0
- lodash: 4.17.21
- pretty-error: 4.0.0
- tapable: 2.2.1
- webpack: 5.90.3(webpack-cli@5.1.4)
+ requiresBuild: true
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.20.2
+ '@esbuild/android-arm': 0.20.2
+ '@esbuild/android-arm64': 0.20.2
+ '@esbuild/android-x64': 0.20.2
+ '@esbuild/darwin-arm64': 0.20.2
+ '@esbuild/darwin-x64': 0.20.2
+ '@esbuild/freebsd-arm64': 0.20.2
+ '@esbuild/freebsd-x64': 0.20.2
+ '@esbuild/linux-arm': 0.20.2
+ '@esbuild/linux-arm64': 0.20.2
+ '@esbuild/linux-ia32': 0.20.2
+ '@esbuild/linux-loong64': 0.20.2
+ '@esbuild/linux-mips64el': 0.20.2
+ '@esbuild/linux-ppc64': 0.20.2
+ '@esbuild/linux-riscv64': 0.20.2
+ '@esbuild/linux-s390x': 0.20.2
+ '@esbuild/linux-x64': 0.20.2
+ '@esbuild/netbsd-x64': 0.20.2
+ '@esbuild/openbsd-x64': 0.20.2
+ '@esbuild/sunos-x64': 0.20.2
+ '@esbuild/win32-arm64': 0.20.2
+ '@esbuild/win32-ia32': 0.20.2
+ '@esbuild/win32-x64': 0.20.2
dev: true
- /htmlparser2@6.1.0:
- resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
- dependencies:
- domelementtype: 2.3.0
- domhandler: 4.3.1
- domutils: 2.8.0
- entities: 2.2.0
+ /escalade@3.1.2:
+ resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ engines: {node: '>=6'}
dev: true
- /http-deceiver@1.2.7:
- resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==}
+ /escape-string-regexp@1.0.5:
+ resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
+ engines: {node: '>=0.8.0'}
dev: true
- /http-errors@1.6.3:
- resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==}
- engines: {node: '>= 0.6'}
- dependencies:
- depd: 1.1.2
- inherits: 2.0.3
- setprototypeof: 1.1.0
- statuses: 1.5.0
+ /escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
dev: true
- /http-errors@2.0.0:
- resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
- engines: {node: '>= 0.8'}
+ /escodegen@2.1.0:
+ resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==}
+ engines: {node: '>=6.0'}
+ hasBin: true
dependencies:
- depd: 2.0.0
- inherits: 2.0.4
- setprototypeof: 1.2.0
- statuses: 2.0.1
- toidentifier: 1.0.1
-
- /http-parser-js@0.5.8:
- resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==}
+ esprima: 4.0.1
+ estraverse: 5.3.0
+ esutils: 2.0.3
+ optionalDependencies:
+ source-map: 0.6.1
dev: true
- /http-proxy-agent@5.0.0:
- resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==}
- engines: {node: '>= 6'}
+ /eslint-config-prettier@9.1.0(eslint@8.57.0):
+ resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==}
+ hasBin: true
+ peerDependencies:
+ eslint: '>=7.0.0'
dependencies:
- '@tootallnate/once': 2.0.0
- agent-base: 6.0.2
- debug: 4.3.4
- transitivePeerDependencies:
- - supports-color
+ eslint: 8.57.0
dev: true
- /http-proxy-agent@7.0.2:
- resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
- engines: {node: '>= 14'}
+ /eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
dependencies:
- agent-base: 7.1.0
- debug: 4.3.4
+ debug: 3.2.7
+ is-core-module: 2.13.1
+ resolve: 1.22.8
transitivePeerDependencies:
- supports-color
dev: true
- /http-proxy-middleware@2.0.6(@types/express@4.17.21):
- resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==}
- engines: {node: '>=12.0.0'}
+ /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==}
+ engines: {node: ^14.18.0 || >=16.0.0}
peerDependencies:
- '@types/express': ^4.17.13
- peerDependenciesMeta:
- '@types/express':
- optional: true
+ eslint: '*'
+ eslint-plugin-import: '*'
dependencies:
- '@types/express': 4.17.21
- '@types/http-proxy': 1.17.14
- http-proxy: 1.18.1
+ debug: 4.3.4
+ enhanced-resolve: 5.16.0
+ eslint: 8.57.0
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ fast-glob: 3.3.2
+ get-tsconfig: 4.7.3
+ is-core-module: 2.13.1
is-glob: 4.0.3
- is-plain-obj: 3.0.0
- micromatch: 4.0.5
- transitivePeerDependencies:
- - debug
- dev: true
-
- /http-proxy@1.18.1:
- resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==}
- engines: {node: '>=8.0.0'}
- dependencies:
- eventemitter3: 4.0.7
- follow-redirects: 1.15.5(debug@4.3.4)
- requires-port: 1.0.0
transitivePeerDependencies:
- - debug
+ - '@typescript-eslint/parser'
+ - eslint-import-resolver-node
+ - eslint-import-resolver-webpack
+ - supports-color
dev: true
- /https-proxy-agent@5.0.1:
- resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
- engines: {node: '>= 6'}
+ /eslint-module-utils@2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
dependencies:
- agent-base: 6.0.2
- debug: 4.3.4
+ '@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
+ debug: 3.2.7
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.7.1)(eslint-plugin-import@2.29.1)(eslint@8.57.0)
transitivePeerDependencies:
- supports-color
dev: true
- /https-proxy-agent@7.0.4:
- resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
- engines: {node: '>= 14'}
+ /eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0):
+ resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
dependencies:
- agent-base: 7.1.0
- debug: 4.3.4
+ '@typescript-eslint/parser': 7.7.1(eslint@8.57.0)(typescript@5.4.5)
+ array-includes: 3.1.8
+ array.prototype.findlastindex: 1.2.5
+ array.prototype.flat: 1.3.2
+ array.prototype.flatmap: 1.3.2
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 8.57.0
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.7.1)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0)
+ hasown: 2.0.2
+ is-core-module: 2.13.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ object.groupby: 1.0.3
+ object.values: 1.2.0
+ semver: 6.3.1
+ tsconfig-paths: 3.15.0
transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
- supports-color
dev: true
- /human-signals@2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
-
- /iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
+ /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0):
+ resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
- safer-buffer: 2.1.2
+ '@babel/runtime': 7.24.4
+ aria-query: 5.3.0
+ array-includes: 3.1.8
+ array.prototype.flatmap: 1.3.2
+ ast-types-flow: 0.0.8
+ axe-core: 4.7.0
+ axobject-query: 3.2.1
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ es-iterator-helpers: 1.0.19
+ eslint: 8.57.0
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.9
+ minimatch: 3.1.2
+ object.entries: 1.1.8
+ object.fromentries: 2.0.8
dev: true
- /iconv-lite@0.6.3:
- resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
- engines: {node: '>=0.10.0'}
+ /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0):
+ resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0
dependencies:
- safer-buffer: 2.1.2
- dev: true
-
- /icss-replace-symbols@1.1.0:
- resolution: {integrity: sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==}
+ eslint: 8.57.0
dev: true
- /icss-utils@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==}
- engines: {node: ^10 || ^12 || >= 14}
+ /eslint-plugin-react@7.34.1(eslint@8.57.0):
+ resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==}
+ engines: {node: '>=4'}
peerDependencies:
- postcss: ^8.1.0
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
dependencies:
- postcss: 8.4.35
+ array-includes: 3.1.8
+ array.prototype.findlast: 1.2.5
+ array.prototype.flatmap: 1.3.2
+ array.prototype.toreversed: 1.1.2
+ array.prototype.tosorted: 1.1.3
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.0.19
+ eslint: 8.57.0
+ estraverse: 5.3.0
+ jsx-ast-utils: 3.3.5
+ minimatch: 3.1.2
+ object.entries: 1.1.8
+ object.fromentries: 2.0.8
+ object.hasown: 1.1.4
+ object.values: 1.2.0
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.5
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.11
dev: true
- /ieee754@1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ /eslint-scope@7.2.2:
+ resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
+ dev: true
- /ignore@5.3.1:
- resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
- engines: {node: '>= 4'}
+ /eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
- /image-size@1.1.1:
- resolution: {integrity: sha512-541xKlUw6jr/6gGuk92F+mYM5zaFAc5ahphvkqvNe2bQ6gVBkd6bfrmVJ2t4KDAfikAYZyIqTnktX3i6/aQDrQ==}
- engines: {node: '>=16.x'}
+ /eslint@8.57.0:
+ resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
- queue: 6.0.2
- dev: false
-
- /immer@10.0.3:
- resolution: {integrity: sha512-pwupu3eWfouuaowscykeckFmVTpqbzW+rXFCX8rQLkZzM9ftBmU/++Ra+o+L27mz03zJTlyV4UUr+fdKNffo4A==}
+ '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0)
+ '@eslint-community/regexpp': 4.10.0
+ '@eslint/eslintrc': 2.1.4
+ '@eslint/js': 8.57.0
+ '@humanwhocodes/config-array': 0.11.14
+ '@humanwhocodes/module-importer': 1.0.1
+ '@nodelib/fs.walk': 1.2.8
+ '@ungap/structured-clone': 1.2.0
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.3
+ debug: 4.3.4
+ doctrine: 3.0.0
+ escape-string-regexp: 4.0.0
+ eslint-scope: 7.2.2
+ eslint-visitor-keys: 3.4.3
+ espree: 9.6.1
+ esquery: 1.5.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 6.0.1
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ globals: 13.24.0
+ graphemer: 1.4.0
+ ignore: 5.3.1
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ is-path-inside: 3.0.3
+ js-yaml: 4.1.0
+ json-stable-stringify-without-jsonify: 1.0.1
+ levn: 0.4.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.4
+ strip-ansi: 6.0.1
+ text-table: 0.2.0
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /import-cwd@3.0.0:
- resolution: {integrity: sha512-4pnzH16plW+hgvRECbDWpQl3cqtvSofHWh44met7ESfZ8UZOWWddm8hEyDTqREJ9RbYHY8gi8DqmaelApoOGMg==}
- engines: {node: '>=8'}
+ /espree@9.6.1:
+ resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
- import-from: 3.0.0
+ acorn: 8.11.3
+ acorn-jsx: 5.3.2(acorn@8.11.3)
+ eslint-visitor-keys: 3.4.3
dev: true
- /import-fresh@2.0.0:
- resolution: {integrity: sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==}
+ /esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
engines: {node: '>=4'}
- dependencies:
- caller-path: 2.0.0
- resolve-from: 3.0.0
- dev: false
+ hasBin: true
+ dev: true
- /import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ /esquery@1.5.0:
+ resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==}
+ engines: {node: '>=0.10'}
dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
+ estraverse: 5.3.0
dev: true
- /import-from@3.0.0:
- resolution: {integrity: sha512-CiuXOFFSzkU5x/CR0+z7T91Iht4CXgfCxVOFRhh2Zyhg5wOpWvvDLQUsWl+gcN+QscYBjez8hDCt85O7RLDttQ==}
- engines: {node: '>=8'}
+ /esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
dependencies:
- resolve-from: 5.0.0
+ estraverse: 5.3.0
dev: true
- /import-local@3.1.0:
- resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==}
- engines: {node: '>=8'}
- hasBin: true
+ /estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+ dev: true
+
+ /estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
dependencies:
- pkg-dir: 4.2.0
- resolve-cwd: 3.0.0
+ '@types/estree': 1.0.5
dev: true
- /imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
+ /esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+ dev: true
- /inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
+ /event-stream@3.3.4:
+ resolution: {integrity: sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==}
dependencies:
- once: 1.4.0
- wrappy: 1.0.2
-
- /inherits@2.0.3:
- resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==}
+ duplexer: 0.1.2
+ from: 0.1.7
+ map-stream: 0.1.0
+ pause-stream: 0.0.11
+ split: 0.3.3
+ stream-combiner: 0.0.4
+ through: 2.3.8
dev: true
- /inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ /execa@5.1.1:
+ resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
+ engines: {node: '>=10'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 6.0.1
+ human-signals: 2.1.0
+ is-stream: 2.0.1
+ merge-stream: 2.0.0
+ npm-run-path: 4.0.1
+ onetime: 5.1.2
+ signal-exit: 3.0.7
+ strip-final-newline: 2.0.0
+ dev: true
- /ini@1.3.8:
- resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
+ /execa@8.0.1:
+ resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==}
+ engines: {node: '>=16.17'}
+ dependencies:
+ cross-spawn: 7.0.3
+ get-stream: 8.0.1
+ human-signals: 5.0.0
+ is-stream: 3.0.0
+ merge-stream: 2.0.0
+ npm-run-path: 5.3.0
+ onetime: 6.0.0
+ signal-exit: 4.1.0
+ strip-final-newline: 3.0.0
dev: true
- /internal-slot@1.0.7:
- resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
- engines: {node: '>= 0.4'}
+ /extract-zip@2.0.1:
+ resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==}
+ engines: {node: '>= 10.17.0'}
+ hasBin: true
dependencies:
- es-errors: 1.3.0
- hasown: 2.0.1
- side-channel: 1.0.6
+ debug: 4.3.4
+ get-stream: 5.2.0
+ yauzl: 2.10.0
+ optionalDependencies:
+ '@types/yauzl': 2.10.3
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /interpret@3.1.1:
- resolution: {integrity: sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==}
- engines: {node: '>=10.13.0'}
+ /fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
dev: true
- /invariant@2.2.4:
- resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==}
- dependencies:
- loose-envify: 1.4.0
- dev: false
+ /fast-fifo@1.3.2:
+ resolution: {integrity: sha512-/d9sfos4yxzpwkDkuN7k2SqFKtYNmCTzgfEpz82x34IM9/zc8KGxQoXg1liNC/izpRM/MBdt44Nmx41ZWqk+FQ==}
+ dev: true
- /ip-address@9.0.5:
- resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
- engines: {node: '>= 12'}
+ /fast-glob@3.3.2:
+ resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
+ engines: {node: '>=8.6.0'}
dependencies:
- jsbn: 1.1.0
- sprintf-js: 1.1.3
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.5
dev: true
- /ipaddr.js@1.9.1:
- resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
- engines: {node: '>= 0.10'}
+ /fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
dev: true
- /ipaddr.js@2.1.0:
- resolution: {integrity: sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==}
- engines: {node: '>= 10'}
+ /fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
dev: true
- /is-arguments@1.1.1:
- resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==}
- engines: {node: '>= 0.4'}
+ /fastq@1.17.1:
+ resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
+ reusify: 1.0.4
dev: true
- /is-array-buffer@3.0.4:
- resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
- engines: {node: '>= 0.4'}
+ /fd-slicer@1.1.0:
+ resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==}
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
+ pend: 1.2.0
dev: true
- /is-arrayish@0.2.1:
- resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
-
- /is-async-function@2.0.0:
- resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
- engines: {node: '>= 0.4'}
+ /file-entry-cache@6.0.1:
+ resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
+ engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
- has-tostringtag: 1.0.2
+ flat-cache: 3.2.0
dev: true
- /is-bigint@1.0.4:
- resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
+ /fill-range@7.0.1:
+ resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
+ engines: {node: '>=8'}
dependencies:
- has-bigints: 1.0.2
+ to-regex-range: 5.0.1
dev: true
- /is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
+ /find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
dependencies:
- binary-extensions: 2.2.0
+ locate-path: 6.0.0
+ path-exists: 4.0.0
dev: true
- /is-boolean-object@1.1.2:
- resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
- engines: {node: '>= 0.4'}
+ /flat-cache@3.2.0:
+ resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==}
+ engines: {node: ^10.12.0 || >=12.0.0}
dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
+ flatted: 3.3.1
+ keyv: 4.5.4
+ rimraf: 3.0.2
dev: true
- /is-callable@1.2.7:
- resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
- engines: {node: '>= 0.4'}
+ /flatted@3.3.1:
+ resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
dev: true
- /is-core-module@2.13.1:
- resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
+ /follow-redirects@1.15.6(debug@4.3.4):
+ resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ debug: '*'
+ peerDependenciesMeta:
+ debug:
+ optional: true
dependencies:
- hasown: 2.0.1
+ debug: 4.3.4
+ dev: true
- /is-date-object@1.0.5:
- resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
- engines: {node: '>= 0.4'}
+ /for-each@0.3.3:
+ resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
dependencies:
- has-tostringtag: 1.0.2
+ is-callable: 1.2.7
dev: true
- /is-directory@0.3.1:
- resolution: {integrity: sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /is-docker@2.2.1:
- resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
- engines: {node: '>=8'}
- hasBin: true
-
- /is-docker@3.0.0:
- resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- hasBin: true
+ /form-data@4.0.0:
+ resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==}
+ engines: {node: '>= 6'}
+ dependencies:
+ asynckit: 0.4.0
+ combined-stream: 1.0.8
+ mime-types: 2.1.35
dev: true
- /is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
+ /from@0.1.7:
+ resolution: {integrity: sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==}
dev: true
- /is-finalizationregistry@1.0.2:
- resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
+ /fs-extra@11.2.0:
+ resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==}
+ engines: {node: '>=14.14'}
dependencies:
- call-bind: 1.0.7
+ graceful-fs: 4.2.11
+ jsonfile: 6.1.0
+ universalify: 2.0.1
dev: true
- /is-fullwidth-code-point@2.0.0:
- resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==}
- engines: {node: '>=4'}
- dev: false
-
- /is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
-
- /is-generator-fn@2.1.0:
- resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==}
- engines: {node: '>=6'}
+ /fs.realpath@1.0.0:
+ resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
dev: true
- /is-generator-function@1.0.10:
- resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
- engines: {node: '>= 0.4'}
- dependencies:
- has-tostringtag: 1.0.2
+ /fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+ requiresBuild: true
dev: true
+ optional: true
- /is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- is-extglob: 2.1.1
+ /function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
dev: true
- /is-inside-container@1.0.0:
- resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==}
- engines: {node: '>=14.16'}
- hasBin: true
+ /function.prototype.name@1.1.6:
+ resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
+ engines: {node: '>= 0.4'}
dependencies:
- is-docker: 3.0.0
- dev: true
-
- /is-interactive@1.0.0:
- resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
- engines: {node: '>=8'}
- dev: false
-
- /is-map@2.0.2:
- resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
+ call-bind: 1.0.7
+ define-properties: 1.2.1
+ es-abstract: 1.23.3
+ functions-have-names: 1.2.3
dev: true
- /is-module@1.0.0:
- resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==}
+ /functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
dev: true
- /is-negative-zero@2.0.3:
- resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
- engines: {node: '>= 0.4'}
+ /get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
dev: true
- /is-network-error@1.0.1:
- resolution: {integrity: sha512-OwQXkwBJeESyhFw+OumbJVD58BFBJJI5OM5S1+eyrDKlgDZPX2XNT5gXS56GSD3NPbbwUuMlR1Q71SRp5SobuQ==}
- engines: {node: '>=16'}
+ /get-func-name@2.0.2:
+ resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
dev: true
- /is-number-object@1.0.7:
- resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ /get-intrinsic@1.2.4:
+ resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
engines: {node: '>= 0.4'}
dependencies:
- has-tostringtag: 1.0.2
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ has-proto: 1.0.3
+ has-symbols: 1.0.3
+ hasown: 2.0.2
dev: true
- /is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
-
- /is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ /get-stream@5.2.0:
+ resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==}
engines: {node: '>=8'}
+ dependencies:
+ pump: 3.0.0
dev: true
- /is-plain-obj@3.0.0:
- resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==}
+ /get-stream@6.0.1:
+ resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
engines: {node: '>=10'}
dev: true
- /is-plain-object@2.0.4:
- resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==}
- engines: {node: '>=0.10.0'}
+ /get-stream@8.0.1:
+ resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==}
+ engines: {node: '>=16'}
+ dev: true
+
+ /get-symbol-description@1.0.2:
+ resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==}
+ engines: {node: '>= 0.4'}
dependencies:
- isobject: 3.0.1
+ call-bind: 1.0.7
+ es-errors: 1.3.0
+ get-intrinsic: 1.2.4
+ dev: true
- /is-potential-custom-element-name@1.0.1:
- resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
+ /get-tsconfig@4.7.3:
+ resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==}
+ dependencies:
+ resolve-pkg-maps: 1.0.0
dev: true
- /is-reference@1.2.1:
- resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==}
+ /get-uri@6.0.3:
+ resolution: {integrity: sha512-BzUrJBS9EcUb4cFol8r4W3v1cPsSyajLSthNkz5BxbpDcHN5tIrM10E2eNvfnvBn3DaT3DUgx0OpsBKkaOpanw==}
+ engines: {node: '>= 14'}
dependencies:
- '@types/estree': 1.0.5
+ basic-ftp: 5.0.5
+ data-uri-to-buffer: 6.0.2
+ debug: 4.3.4
+ fs-extra: 11.2.0
+ transitivePeerDependencies:
+ - supports-color
dev: true
- /is-regex@1.1.4:
- resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
- engines: {node: '>= 0.4'}
+ /glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
dependencies:
- call-bind: 1.0.7
- has-tostringtag: 1.0.2
+ is-glob: 4.0.3
dev: true
- /is-set@2.0.2:
- resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==}
+ /glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+ dependencies:
+ is-glob: 4.0.3
dev: true
- /is-shared-array-buffer@1.0.3:
- resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
- engines: {node: '>= 0.4'}
+ /glob@7.2.3:
+ resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
dependencies:
- call-bind: 1.0.7
+ fs.realpath: 1.0.0
+ inflight: 1.0.6
+ inherits: 2.0.4
+ minimatch: 3.1.2
+ once: 1.4.0
+ path-is-absolute: 1.0.1
dev: true
- /is-stream@2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ /globals@13.24.0:
+ resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
engines: {node: '>=8'}
-
- /is-string@1.0.7:
- resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
- engines: {node: '>= 0.4'}
dependencies:
- has-tostringtag: 1.0.2
+ type-fest: 0.20.2
dev: true
- /is-symbol@1.0.4:
- resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ /globalthis@1.0.3:
+ resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==}
engines: {node: '>= 0.4'}
dependencies:
- has-symbols: 1.0.3
+ define-properties: 1.2.1
dev: true
- /is-typed-array@1.1.13:
- resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
- engines: {node: '>= 0.4'}
+ /globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
dependencies:
- which-typed-array: 1.1.14
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.2
+ ignore: 5.3.1
+ merge2: 1.4.1
+ slash: 3.0.0
dev: true
- /is-unicode-supported@0.1.0:
- resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
- engines: {node: '>=10'}
- dev: false
+ /gopd@1.0.1:
+ resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
+ dependencies:
+ get-intrinsic: 1.2.4
+ dev: true
- /is-weakmap@2.0.1:
- resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==}
+ /graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
dev: true
- /is-weakref@1.0.2:
- resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
- dependencies:
- call-bind: 1.0.7
+ /graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
dev: true
- /is-weakset@2.0.2:
- resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==}
+ /happy-dom@14.7.1:
+ resolution: {integrity: sha512-v60Q0evZ4clvMcrAh5/F8EdxDdfHdFrtffz/CNe10jKD+nFweZVxM91tW+UyY2L4AtpgIaXdZ7TQmiO1pfcwbg==}
+ engines: {node: '>=16.0.0'}
dependencies:
- call-bind: 1.0.7
- get-intrinsic: 1.2.4
+ entities: 4.5.0
+ webidl-conversions: 7.0.0
+ whatwg-mimetype: 3.0.0
dev: true
- /is-windows@0.2.0:
- resolution: {integrity: sha512-n67eJYmXbniZB7RF4I/FTjK1s6RPOCTxhYrVYLRaCt3lF0mpWZPKr3T2LSZAqyjQsxR2qMmGYXXzK0YWwcPM1Q==}
- engines: {node: '>=0.10.0'}
+ /has-bigints@1.0.2:
+ resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==}
dev: true
- /is-wsl@1.1.0:
- resolution: {integrity: sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==}
+ /has-flag@3.0.0:
+ resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
engines: {node: '>=4'}
- dev: false
+ dev: true
- /is-wsl@2.2.0:
- resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
+ /has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
engines: {node: '>=8'}
- dependencies:
- is-docker: 2.2.1
+ dev: true
- /is-wsl@3.1.0:
- resolution: {integrity: sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==}
- engines: {node: '>=16'}
+ /has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
dependencies:
- is-inside-container: 1.0.0
+ es-define-property: 1.0.0
dev: true
- /isarray@1.0.0:
- resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==}
+ /has-proto@1.0.3:
+ resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
+ engines: {node: '>= 0.4'}
+ dev: true
- /isarray@2.0.5:
- resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ /has-symbols@1.0.3:
+ resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
+ engines: {node: '>= 0.4'}
dev: true
- /isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ /has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-symbols: 1.0.3
+ dev: true
- /isobject@3.0.1:
- resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
- engines: {node: '>=0.10.0'}
+ /hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ function-bind: 1.1.2
+ dev: true
- /istanbul-lib-coverage@3.2.2:
- resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
- engines: {node: '>=8'}
+ /hosted-git-info@2.8.9:
+ resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
dev: true
- /istanbul-lib-instrument@5.2.1:
- resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==}
- engines: {node: '>=8'}
+ /http-proxy-agent@7.0.2:
+ resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
+ engines: {node: '>= 14'}
dependencies:
- '@babel/core': 7.24.0
- '@babel/parser': 7.24.0
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.2
- semver: 6.3.1
+ agent-base: 7.1.1
+ debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: true
- /istanbul-lib-instrument@6.0.2:
- resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==}
- engines: {node: '>=10'}
+ /https-proxy-agent@7.0.4:
+ resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==}
+ engines: {node: '>= 14'}
dependencies:
- '@babel/core': 7.24.0
- '@babel/parser': 7.24.0
- '@istanbuljs/schema': 0.1.3
- istanbul-lib-coverage: 3.2.2
- semver: 7.6.0
+ agent-base: 7.1.1
+ debug: 4.3.4
transitivePeerDependencies:
- supports-color
dev: true
- /istanbul-lib-report@3.0.1:
- resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
- engines: {node: '>=10'}
- dependencies:
- istanbul-lib-coverage: 3.2.2
- make-dir: 4.0.0
- supports-color: 7.2.0
+ /human-signals@2.1.0:
+ resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
+ engines: {node: '>=10.17.0'}
dev: true
- /istanbul-lib-source-maps@4.0.1:
- resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==}
- engines: {node: '>=10'}
- dependencies:
- debug: 4.3.4
- istanbul-lib-coverage: 3.2.2
- source-map: 0.6.1
- transitivePeerDependencies:
- - supports-color
+ /human-signals@5.0.0:
+ resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==}
+ engines: {node: '>=16.17.0'}
dev: true
- /istanbul-reports@3.1.7:
- resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
- engines: {node: '>=8'}
- dependencies:
- html-escaper: 2.0.2
- istanbul-lib-report: 3.0.1
+ /ieee754@1.2.1:
+ resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
dev: true
- /iterator.prototype@1.1.2:
- resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
- dependencies:
- define-properties: 1.2.1
- get-intrinsic: 1.2.4
- has-symbols: 1.0.3
- reflect.getprototypeof: 1.0.5
- set-function-name: 2.0.2
+ /ignore@5.3.1:
+ resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==}
+ engines: {node: '>= 4'}
dev: true
- /jackspeak@2.3.6:
- resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==}
- engines: {node: '>=14'}
- dependencies:
- '@isaacs/cliui': 8.0.2
- optionalDependencies:
- '@pkgjs/parseargs': 0.11.0
+ /immer@10.1.1:
+ resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==}
dev: true
- /jake@10.8.7:
- resolution: {integrity: sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==}
- engines: {node: '>=10'}
- hasBin: true
+ /import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
dependencies:
- async: 3.2.5
- chalk: 4.1.2
- filelist: 1.0.4
- minimatch: 3.1.2
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
dev: true
- /jest-changed-files@29.7.0:
- resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- execa: 5.1.1
- jest-util: 29.7.0
- p-limit: 3.1.0
+ /imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
dev: true
- /jest-circus@29.7.0:
- resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/environment': 29.7.0
- '@jest/expect': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 20.11.24
- chalk: 4.1.2
- co: 4.6.0
- dedent: 1.5.1
- is-generator-fn: 2.1.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.4
- slash: 3.0.0
- stack-utils: 2.0.6
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
+ /indent-string@4.0.0:
+ resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
+ engines: {node: '>=8'}
dev: true
- /jest-cli@29.7.0:
- resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
+ /inflight@1.0.6:
+ resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
dependencies:
- '@jest/core': 29.7.0
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- chalk: 4.1.2
- create-jest: 29.7.0
- exit: 0.1.2
- import-local: 3.1.0
- jest-config: 29.7.0(@types/node@20.11.24)
- jest-util: 29.7.0
- jest-validate: 29.7.0
- yargs: 17.7.2
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
+ once: 1.4.0
+ wrappy: 1.0.2
dev: true
- /jest-config@29.7.0(@types/node@20.11.24):
- resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- '@types/node': '*'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- '@types/node':
- optional: true
- ts-node:
- optional: true
- dependencies:
- '@babel/core': 7.24.0
- '@jest/test-sequencer': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 20.11.24
- babel-jest: 29.7.0(@babel/core@7.24.0)
- chalk: 4.1.2
- ci-info: 3.9.0
- deepmerge: 4.3.1
- glob: 7.2.3
- graceful-fs: 4.2.11
- 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.5
- parse-json: 5.2.0
- pretty-format: 29.7.0
- slash: 3.0.0
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - babel-plugin-macros
- - supports-color
+ /inherits@2.0.4:
+ resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
dev: true
- /jest-dev-server@10.0.0:
- resolution: {integrity: sha512-FtyBBDxrAIfTX3hyKSOwj5KU6Z7fFLew5pQYOFpwyf+qpPpULL8aYxtsFkbkAwcs+Mb7qhcNbVLeiWsLOd7CKw==}
- engines: {node: '>=16'}
+ /internal-slot@1.0.7:
+ resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==}
+ engines: {node: '>= 0.4'}
dependencies:
- chalk: 4.1.2
- cwd: 0.10.0
- find-process: 1.4.7
- prompts: 2.4.2
- spawnd: 10.0.0
- tree-kill: 1.2.2
- wait-on: 7.2.0(debug@4.3.4)
- transitivePeerDependencies:
- - debug
- - supports-color
+ es-errors: 1.3.0
+ hasown: 2.0.2
+ side-channel: 1.0.6
dev: true
- /jest-diff@29.7.0:
- resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /ip-address@9.0.5:
+ resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==}
+ engines: {node: '>= 12'}
dependencies:
- chalk: 4.1.2
- diff-sequences: 29.6.3
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
+ jsbn: 1.1.0
+ sprintf-js: 1.1.3
dev: true
- /jest-docblock@29.7.0:
- resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-array-buffer@3.0.4:
+ resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
+ engines: {node: '>= 0.4'}
dependencies:
- detect-newline: 3.1.0
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
dev: true
- /jest-each@29.7.0:
- resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-arrayish@0.2.1:
+ resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
+ dev: true
+
+ /is-async-function@2.0.0:
+ resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@jest/types': 29.6.3
- chalk: 4.1.2
- jest-get-type: 29.6.3
- jest-util: 29.7.0
- pretty-format: 29.7.0
+ has-tostringtag: 1.0.2
dev: true
- /jest-environment-jsdom@29.7.0:
- resolution: {integrity: sha512-k9iQbsf9OyOfdzWH8HDmrRT0gSIcX+FLNW7IQq94tFX0gynPwqDTW0Ho6iMVNjGz/nb+l/vW3dWM2bbLLpkbXA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- peerDependencies:
- canvas: ^2.5.0
- peerDependenciesMeta:
- canvas:
- optional: true
+ /is-bigint@1.0.4:
+ resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==}
dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/jsdom': 20.0.1
- '@types/node': 20.11.24
- jest-mock: 29.7.0
- jest-util: 29.7.0
- jsdom: 20.0.3
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
+ has-bigints: 1.0.2
dev: true
- /jest-environment-node@27.5.1:
- resolution: {integrity: sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ /is-boolean-object@1.1.2:
+ resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@jest/environment': 27.5.1
- '@jest/fake-timers': 27.5.1
- '@jest/types': 27.5.1
- '@types/node': 20.11.24
- jest-mock: 27.5.1
- jest-util: 27.5.1
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
dev: true
- /jest-environment-node@29.7.0:
- resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+ dev: true
+
+ /is-core-module@2.13.1:
+ resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==}
dependencies:
- '@jest/environment': 29.7.0
- '@jest/fake-timers': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 20.11.24
- jest-mock: 29.7.0
- jest-util: 29.7.0
+ hasown: 2.0.2
+ dev: true
- /jest-environment-puppeteer@10.0.1(typescript@5.3.3):
- resolution: {integrity: sha512-FxMzVRyqieQqSy5CPWiwdK5t9dkRHid5eoRTVa8RtYeXLlpW6lU0dAmxEfPkdnDVCiPUhC2APeKOXq0J72bgag==}
- engines: {node: '>=16'}
+ /is-data-view@1.0.1:
+ resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==}
+ engines: {node: '>= 0.4'}
dependencies:
- chalk: 4.1.2
- cosmiconfig: 8.3.6(typescript@5.3.3)
- deepmerge: 4.3.1
- jest-dev-server: 10.0.0
- jest-environment-node: 29.7.0
- transitivePeerDependencies:
- - debug
- - supports-color
- - typescript
+ is-typed-array: 1.1.13
dev: true
- /jest-get-type@29.6.3:
- resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-date-object@1.0.5:
+ resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
+ engines: {node: '>= 0.4'}
+ dependencies:
+ has-tostringtag: 1.0.2
+ dev: true
- /jest-haste-map@29.7.0:
- resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.6.3
- '@types/graceful-fs': 4.1.9
- '@types/node': 20.11.24
- anymatch: 3.1.3
- fb-watchman: 2.0.2
- graceful-fs: 4.2.11
- jest-regex-util: 29.6.3
- jest-util: 29.7.0
- jest-worker: 29.7.0
- micromatch: 4.0.5
- walker: 1.0.8
- optionalDependencies:
- fsevents: 2.3.3
+ /is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
dev: true
- /jest-leak-detector@29.7.0:
- resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-finalizationregistry@1.0.2:
+ resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==}
dependencies:
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
+ call-bind: 1.0.7
dev: true
- /jest-matcher-utils@29.7.0:
- resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- chalk: 4.1.2
- jest-diff: 29.7.0
- jest-get-type: 29.6.3
- pretty-format: 29.7.0
+ /is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
dev: true
- /jest-message-util@27.5.1:
- resolution: {integrity: sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ /is-generator-function@1.0.10:
+ resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@babel/code-frame': 7.23.5
- '@jest/types': 27.5.1
- '@types/stack-utils': 2.0.3
- chalk: 4.1.2
- graceful-fs: 4.2.11
- micromatch: 4.0.5
- pretty-format: 27.5.1
- slash: 3.0.0
- stack-utils: 2.0.6
+ has-tostringtag: 1.0.2
dev: true
- /jest-message-util@29.7.0:
- resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
dependencies:
- '@babel/code-frame': 7.23.5
- '@jest/types': 29.6.3
- '@types/stack-utils': 2.0.3
- chalk: 4.1.2
- graceful-fs: 4.2.11
- micromatch: 4.0.5
- pretty-format: 29.7.0
- slash: 3.0.0
- stack-utils: 2.0.6
+ is-extglob: 2.1.1
+ dev: true
- /jest-mock@27.5.1:
- resolution: {integrity: sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
- dependencies:
- '@jest/types': 27.5.1
- '@types/node': 20.11.24
+ /is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
dev: true
- /jest-mock@29.7.0:
- resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/types': 29.6.3
- '@types/node': 20.11.24
- jest-util: 29.7.0
+ /is-negative-zero@2.0.3:
+ resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
+ dev: true
- /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0):
- resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==}
- engines: {node: '>=6'}
- peerDependencies:
- jest-resolve: '*'
- peerDependenciesMeta:
- jest-resolve:
- optional: true
+ /is-number-object@1.0.7:
+ resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- jest-resolve: 29.7.0
+ has-tostringtag: 1.0.2
dev: true
- /jest-puppeteer@10.0.1(puppeteer@22.3.0)(typescript@5.3.3):
- resolution: {integrity: sha512-FzC35XbqeuQEt1smXh1EOqhJaRkWqJkyWDMfGkcZ8C59QHXeJ7F/iOmiNqYi6l/OsycUuOPCk+IkjfGfS9YbrQ==}
- engines: {node: '>=16'}
- peerDependencies:
- puppeteer: '>=19'
- dependencies:
- expect-puppeteer: 10.0.0
- jest-environment-puppeteer: 10.0.1(typescript@5.3.3)
- puppeteer: 22.3.0(typescript@5.3.3)
- transitivePeerDependencies:
- - debug
- - supports-color
- - typescript
+ /is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
dev: true
- /jest-regex-util@29.6.3:
- resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-path-inside@3.0.3:
+ resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
+ engines: {node: '>=8'}
dev: true
- /jest-resolve-dependencies@29.7.0:
- resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-regex@1.1.4:
+ resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
+ engines: {node: '>= 0.4'}
dependencies:
- jest-regex-util: 29.6.3
- jest-snapshot: 29.7.0
- transitivePeerDependencies:
- - supports-color
+ call-bind: 1.0.7
+ has-tostringtag: 1.0.2
dev: true
- /jest-resolve@29.7.0:
- resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- chalk: 4.1.2
- graceful-fs: 4.2.11
- jest-haste-map: 29.7.0
- jest-pnp-resolver: 1.2.3(jest-resolve@29.7.0)
- jest-util: 29.7.0
- jest-validate: 29.7.0
- resolve: 1.22.8
- resolve.exports: 2.0.2
- slash: 3.0.0
+ /is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
dev: true
- /jest-runner@29.7.0:
- resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-shared-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==}
+ engines: {node: '>= 0.4'}
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': 20.11.24
- chalk: 4.1.2
- emittery: 0.13.1
- graceful-fs: 4.2.11
- 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
- transitivePeerDependencies:
- - supports-color
+ call-bind: 1.0.7
dev: true
- /jest-runtime@29.7.0:
- resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- 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': 20.11.24
- chalk: 4.1.2
- cjs-module-lexer: 1.2.3
- collect-v8-coverage: 1.0.2
- glob: 7.2.3
- graceful-fs: 4.2.11
- 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
- transitivePeerDependencies:
- - supports-color
+ /is-stream@2.0.1:
+ resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
+ engines: {node: '>=8'}
dev: true
- /jest-snapshot@29.7.0:
- resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@babel/core': 7.24.0
- '@babel/generator': 7.23.6
- '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.24.0)
- '@babel/types': 7.24.0
- '@jest/expect-utils': 29.7.0
- '@jest/transform': 29.7.0
- '@jest/types': 29.6.3
- babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.0)
- chalk: 4.1.2
- expect: 29.7.0
- graceful-fs: 4.2.11
- 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.6.0
- transitivePeerDependencies:
- - supports-color
+ /is-stream@3.0.0:
+ resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
dev: true
- /jest-util@27.5.1:
- resolution: {integrity: sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==}
- engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
+ /is-string@1.0.7:
+ resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@jest/types': 27.5.1
- '@types/node': 20.11.24
- chalk: 4.1.2
- ci-info: 3.9.0
- graceful-fs: 4.2.11
- picomatch: 2.3.1
+ has-tostringtag: 1.0.2
dev: true
- /jest-util@29.7.0:
- resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-symbol@1.0.4:
+ resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@jest/types': 29.6.3
- '@types/node': 20.11.24
- chalk: 4.1.2
- ci-info: 3.9.0
- graceful-fs: 4.2.11
- picomatch: 2.3.1
+ has-symbols: 1.0.3
+ dev: true
- /jest-validate@29.7.0:
- resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
+ /is-typed-array@1.1.13:
+ resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@jest/types': 29.6.3
- camelcase: 6.3.0
- chalk: 4.1.2
- jest-get-type: 29.6.3
- leven: 3.1.0
- pretty-format: 29.7.0
+ which-typed-array: 1.1.15
+ dev: true
- /jest-watcher@29.7.0:
- resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@jest/test-result': 29.7.0
- '@jest/types': 29.6.3
- '@types/node': 20.11.24
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- emittery: 0.13.1
- jest-util: 29.7.0
- string-length: 4.0.2
+ /is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
dev: true
- /jest-worker@26.6.2:
- resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==}
- engines: {node: '>= 10.13.0'}
+ /is-weakref@1.0.2:
+ resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==}
dependencies:
- '@types/node': 20.11.24
- merge-stream: 2.0.0
- supports-color: 7.2.0
+ call-bind: 1.0.7
dev: true
- /jest-worker@27.5.1:
- resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==}
- engines: {node: '>= 10.13.0'}
+ /is-weakset@2.0.3:
+ resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- '@types/node': 20.11.24
- merge-stream: 2.0.0
- supports-color: 8.1.1
+ call-bind: 1.0.7
+ get-intrinsic: 1.2.4
dev: true
- /jest-worker@29.7.0:
- resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- dependencies:
- '@types/node': 20.11.24
- jest-util: 29.7.0
- merge-stream: 2.0.0
- supports-color: 8.1.1
+ /isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+ dev: true
- /jest@29.7.0:
- resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==}
- engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0}
- hasBin: true
- peerDependencies:
- node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0
- peerDependenciesMeta:
- node-notifier:
- optional: true
+ /isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ dev: true
+
+ /iterator.prototype@1.1.2:
+ resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==}
dependencies:
- '@jest/core': 29.7.0
- '@jest/types': 29.6.3
- import-local: 3.1.0
- jest-cli: 29.7.0
- transitivePeerDependencies:
- - '@types/node'
- - babel-plugin-macros
- - supports-color
- - ts-node
+ define-properties: 1.2.1
+ get-intrinsic: 1.2.4
+ has-symbols: 1.0.3
+ reflect.getprototypeof: 1.0.6
+ set-function-name: 2.0.2
dev: true
- /joi@17.12.2:
- resolution: {integrity: sha512-RonXAIzCiHLc8ss3Ibuz45u28GOsWE1UpfDXLbN/9NKbL4tCJf8TWYVKsoYuuh+sAUt7fsSNpA+r2+TBA6Wjmw==}
+ /joi@17.13.0:
+ resolution: {integrity: sha512-9qcrTyoBmFZRNHeVP4edKqIUEgFzq7MHvTNSDuHSqkpOPtiBkgNgcmTSqmiw1kw9tdKaiddvIDv/eCJDxmqWCA==}
dependencies:
'@hapi/hoek': 9.3.0
'@hapi/topo': 5.1.0
'@sideway/address': 4.1.5
'@sideway/formula': 3.0.1
'@sideway/pinpoint': 2.0.0
+ dev: true
/js-tokens@4.0.0:
resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
- /js-yaml@3.14.1:
- resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
- hasBin: true
- dependencies:
- argparse: 1.0.10
- esprima: 4.0.1
+ /js-tokens@9.0.0:
+ resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
+ dev: true
/js-yaml@4.1.0:
resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
@@ -7277,100 +2771,13 @@ packages:
resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==}
dev: true
- /jsc-android@250231.0.0:
- resolution: {integrity: sha512-rS46PvsjYmdmuz1OAWXY/1kCYG7pnf1TBqeTiOJr1iDz7s5DLxxC9n/ZMknLDxzYzNVfI7R95MH10emSSG1Wuw==}
- dev: false
-
- /jsc-safe-url@0.2.4:
- resolution: {integrity: sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==}
- dev: false
-
- /jscodeshift@0.14.0(@babel/preset-env@7.24.0):
- resolution: {integrity: sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==}
- hasBin: true
- peerDependencies:
- '@babel/preset-env': ^7.1.6
- dependencies:
- '@babel/core': 7.24.0
- '@babel/parser': 7.24.0
- '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.0)
- '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.24.0)
- '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.24.0)
- '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0)
- '@babel/preset-env': 7.24.0(@babel/core@7.24.0)
- '@babel/preset-flow': 7.24.0(@babel/core@7.24.0)
- '@babel/preset-typescript': 7.23.3(@babel/core@7.24.0)
- '@babel/register': 7.23.7(@babel/core@7.24.0)
- babel-core: 7.0.0-bridge.0(@babel/core@7.24.0)
- chalk: 4.1.2
- flow-parser: 0.206.0
- graceful-fs: 4.2.11
- micromatch: 4.0.5
- neo-async: 2.6.2
- node-dir: 0.1.17
- recast: 0.21.5
- temp: 0.8.4
- write-file-atomic: 2.4.3
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /jsdom@20.0.3:
- resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==}
- engines: {node: '>=14'}
- peerDependencies:
- canvas: ^2.5.0
- peerDependenciesMeta:
- canvas:
- optional: true
- dependencies:
- abab: 2.0.6
- acorn: 8.11.3
- acorn-globals: 7.0.1
- cssom: 0.5.0
- cssstyle: 2.3.0
- data-urls: 3.0.2
- decimal.js: 10.4.3
- domexception: 4.0.0
- escodegen: 2.1.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.7
- parse5: 7.1.2
- saxes: 6.0.0
- symbol-tree: 3.2.4
- tough-cookie: 4.1.3
- 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.16.0
- xml-name-validator: 4.0.0
- transitivePeerDependencies:
- - bufferutil
- - supports-color
- - utf-8-validate
- dev: true
-
- /jsesc@0.5.0:
- resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
- hasBin: true
-
- /jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
- hasBin: true
-
/json-buffer@3.0.1:
resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
dev: true
/json-parse-better-errors@1.0.2:
resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==}
+ dev: true
/json-parse-even-better-errors@2.3.1:
resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
@@ -7380,10 +2787,6 @@ packages:
resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
dev: true
- /json-schema-traverse@1.0.0:
- resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
- dev: true
-
/json-stable-stringify-without-jsonify@1.0.1:
resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
dev: true
@@ -7395,17 +2798,6 @@ packages:
minimist: 1.2.8
dev: true
- /json5@2.2.3:
- resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
- engines: {node: '>=6'}
- hasBin: true
-
- /jsonfile@4.0.0:
- resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
- optionalDependencies:
- graceful-fs: 4.2.11
- dev: false
-
/jsonfile@6.1.0:
resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==}
dependencies:
@@ -7418,10 +2810,10 @@ packages:
resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
engines: {node: '>=4.0'}
dependencies:
- array-includes: 3.1.7
+ array-includes: 3.1.8
array.prototype.flat: 1.3.2
object.assign: 4.1.5
- object.values: 1.1.7
+ object.values: 1.2.0
dev: true
/keyv@4.5.4:
@@ -7430,19 +2822,6 @@ packages:
json-buffer: 3.0.1
dev: true
- /kind-of@6.0.3:
- resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
- engines: {node: '>=0.10.0'}
-
- /kleur@3.0.3:
- resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==}
- engines: {node: '>=6'}
-
- /kleur@4.1.5:
- resolution: {integrity: sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==}
- engines: {node: '>=6'}
- dev: true
-
/language-subtag-registry@0.3.22:
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
dev: true
@@ -7454,22 +2833,11 @@ packages:
language-subtag-registry: 0.3.22
dev: true
- /launch-editor@2.6.1:
- resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==}
- dependencies:
- picocolors: 1.0.0
- shell-quote: 1.8.1
- dev: true
-
/lazy-ass@1.6.0:
resolution: {integrity: sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==}
engines: {node: '> 0.8'}
dev: true
- /leven@3.1.0:
- resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==}
- engines: {node: '>=6'}
-
/levn@0.4.1:
resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
engines: {node: '>= 0.8.0'}
@@ -7478,20 +2846,6 @@ packages:
type-check: 0.4.0
dev: true
- /lighthouse-logger@1.4.2:
- resolution: {integrity: sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==}
- dependencies:
- debug: 2.6.9
- marky: 1.2.5
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /lilconfig@2.1.0:
- resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==}
- engines: {node: '>=10'}
- dev: true
-
/lines-and-columns@1.2.4:
resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
dev: true
@@ -7506,107 +2860,47 @@ packages:
strip-bom: 3.0.0
dev: true
- /loader-runner@4.3.0:
- resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
- engines: {node: '>=6.11.5'}
- dev: true
-
- /loader-utils@3.2.1:
- resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==}
- engines: {node: '>= 12.13.0'}
- dev: true
-
- /locate-path@3.0.0:
- resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==}
- engines: {node: '>=6'}
- dependencies:
- p-locate: 3.0.0
- path-exists: 3.0.0
- dev: false
-
- /locate-path@5.0.0:
- resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
- engines: {node: '>=8'}
+ /local-pkg@0.5.0:
+ resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
+ engines: {node: '>=14'}
dependencies:
- p-locate: 4.1.0
+ mlly: 1.6.1
+ pkg-types: 1.1.0
+ dev: true
/locate-path@6.0.0:
resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
engines: {node: '>=10'}
dependencies:
p-locate: 5.0.0
-
- /lodash.camelcase@4.3.0:
- resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
- dev: true
-
- /lodash.debounce@4.0.8:
- resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
-
- /lodash.memoize@4.1.2:
- resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==}
dev: true
/lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
dev: true
- /lodash.throttle@4.1.1:
- resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==}
- dev: false
-
- /lodash.uniq@4.5.0:
- resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==}
- dev: true
-
/lodash@4.17.21:
resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
dev: true
- /log-symbols@4.1.0:
- resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
- engines: {node: '>=10'}
- dependencies:
- chalk: 4.1.2
- is-unicode-supported: 0.1.0
- dev: false
-
- /logkitty@0.7.1:
- resolution: {integrity: sha512-/3ER20CTTbahrCrpYfPn7Xavv9diBROZpoXGVZDWMw4b/X4uuUwAC0ki85tgsdMRONURyIJbcOvS94QsUBYPbQ==}
- hasBin: true
- dependencies:
- ansi-fragments: 0.2.1
- dayjs: 1.11.10
- yargs: 15.4.1
- dev: false
-
/loose-envify@1.4.0:
resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
hasBin: true
dependencies:
js-tokens: 4.0.0
- /lower-case@2.0.2:
- resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
+ /loupe@2.3.7:
+ resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==}
dependencies:
- tslib: 2.6.2
- dev: true
-
- /lru-cache@10.2.0:
- resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==}
- engines: {node: 14 || >=16.14}
+ get-func-name: 2.0.2
dev: true
- /lru-cache@5.1.1:
- resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- dependencies:
- yallist: 3.1.1
-
/lru-cache@6.0.0:
resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
engines: {node: '>=10'}
dependencies:
yallist: 4.0.0
+ dev: true
/lru-cache@7.18.3:
resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==}
@@ -7618,416 +2912,73 @@ packages:
hasBin: true
dev: true
- /magic-string@0.25.9:
- resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==}
- dependencies:
- sourcemap-codec: 1.4.8
- dev: true
-
- /make-dir@2.1.0:
- resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==}
- engines: {node: '>=6'}
- dependencies:
- pify: 4.0.1
- semver: 5.7.2
- dev: false
-
- /make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
- dependencies:
- semver: 6.3.1
- dev: true
-
- /make-dir@4.0.0:
- resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
- engines: {node: '>=10'}
+ /magic-string@0.30.10:
+ resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==}
dependencies:
- semver: 7.6.0
- dev: true
-
- /make-error@1.3.6:
- resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
+ '@jridgewell/sourcemap-codec': 1.4.15
dev: true
- /makeerror@1.0.12:
- resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==}
- dependencies:
- tmpl: 1.0.5
-
/map-stream@0.1.0:
resolution: {integrity: sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==}
dev: true
- /marky@1.2.5:
- resolution: {integrity: sha512-q9JtQJKjpsVxCRVgQ+WapguSbKC3SQ5HEzFGPAJMStgh3QjCawp00UKv3MTTAArTmGmmPUvllHZoNbZ3gs0I+Q==}
- dev: false
-
- /maxmin@2.1.0:
- resolution: {integrity: sha512-NWlApBjW9az9qRPaeg7CX4sQBWwytqz32bIEo1PW9pRW+kBP9KLRfJO3UC+TV31EcQZEUq7eMzikC7zt3zPJcw==}
- engines: {node: '>=0.12'}
- dependencies:
- chalk: 1.1.3
- figures: 1.7.0
- gzip-size: 3.0.0
- pretty-bytes: 3.0.1
- dev: true
-
- /mdn-data@2.0.14:
- resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
- dev: true
-
- /media-typer@0.3.0:
- resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /memfs@4.7.7:
- resolution: {integrity: sha512-x9qc6k88J/VVwnfTkJV8pRRswJ2156Rc4w5rciRqKceFDZ0y1MqsNL9pkg5sE0GOcDzZYbonreALhaHzg1siFw==}
- engines: {node: '>= 4.0.0'}
- dependencies:
- tslib: 2.6.2
- dev: true
-
- /memoize-one@5.2.1:
- resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==}
- dev: false
-
/memorystream@0.3.1:
resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==}
engines: {node: '>= 0.10.0'}
dev: true
- /merge-descriptors@1.0.1:
- resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==}
- dev: true
-
/merge-stream@2.0.0:
resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ dev: true
/merge2@1.4.1:
resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
engines: {node: '>= 8'}
dev: true
- /methods@1.1.2:
- resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
- engines: {node: '>= 0.6'}
- dev: true
-
- /metro-babel-transformer@0.80.6:
- resolution: {integrity: sha512-ssuoVC4OzqaOt3LpwfUbDfBlFGRu9v1Yf2JJnKPz0ROYHNjSBws4aUesqQQ/Ea8DbiH7TK4j4cJmm+XjdHmgqA==}
- engines: {node: '>=18'}
- dependencies:
- '@babel/core': 7.24.0
- hermes-parser: 0.19.1
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /metro-cache-key@0.80.6:
- resolution: {integrity: sha512-DFmjQacC8m/S3HpELklLMWkPGP/fZPX3BSgjd0xQvwIvWyFwk8Nn/lfp/uWdEVDtDSIr64/anXU5uWohGwlWXw==}
- engines: {node: '>=18'}
- dev: false
-
- /metro-cache@0.80.6:
- resolution: {integrity: sha512-NP81pHSPkzs+iNlpVkJqijrpcd6lfuDAunYH9/Rn8oLNz0yLfkl8lt+xOdUU4IkFt3oVcTBEFCnzAzv4B8YhyA==}
- engines: {node: '>=18'}
- dependencies:
- metro-core: 0.80.6
- rimraf: 3.0.2
- dev: false
-
- /metro-config@0.80.6:
- resolution: {integrity: sha512-vHYYvJpRTWYbmvqlR7i04xQpZCHJ6yfZ/xIcPdz2ssbdJGGJbiT1Aar9wr8RAhsccSxdJgfE5B1DB8Mo+DnhIg==}
- engines: {node: '>=18'}
- dependencies:
- connect: 3.7.0
- cosmiconfig: 5.2.1
- jest-validate: 29.7.0
- metro: 0.80.6
- metro-cache: 0.80.6
- metro-core: 0.80.6
- metro-runtime: 0.80.6
- transitivePeerDependencies:
- - bufferutil
- - encoding
- - supports-color
- - utf-8-validate
- dev: false
-
- /metro-core@0.80.6:
- resolution: {integrity: sha512-fn4rryTUAwzFJWj7VIPDH4CcW/q7MV4oGobqR6NsuxZoIGYrVpK7pBasumu5YbCqifuErMs5s23BhmrDNeZURw==}
- engines: {node: '>=18'}
- dependencies:
- lodash.throttle: 4.1.1
- metro-resolver: 0.80.6
- dev: false
-
- /metro-file-map@0.80.6:
- resolution: {integrity: sha512-S3CUqvpXpc+q3q+hCEWvFKhVqgq0VmXdZQDF6u7ue86E2elq1XLnfLOt9JSpwyhpMQRyysjSCnd/Yh6GZMNHoQ==}
- engines: {node: '>=18'}
- dependencies:
- anymatch: 3.1.3
- debug: 2.6.9
- fb-watchman: 2.0.2
- graceful-fs: 4.2.11
- invariant: 2.2.4
- jest-worker: 29.7.0
- micromatch: 4.0.5
- node-abort-controller: 3.1.1
- nullthrows: 1.1.1
- walker: 1.0.8
- optionalDependencies:
- fsevents: 2.3.3
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /metro-minify-terser@0.80.6:
- resolution: {integrity: sha512-83eZaH2+B+jP92KuodPqXknzwmiboKAuZY4doRfTEEXAG57pNVNN6cqSRJlwDnmaTBKRffxoncBXbYqHQgulgg==}
- engines: {node: '>=18'}
- dependencies:
- terser: 5.28.1
- dev: false
-
- /metro-resolver@0.80.6:
- resolution: {integrity: sha512-R7trfglG4zY4X9XyM9cvuffAhQ9W1reWoahr1jdEWa6rOI8PyM0qXjcsb8l+fsOQhdSiVlkKcYAmkyrs1S/zrA==}
- engines: {node: '>=18'}
- dev: false
-
- /metro-runtime@0.80.6:
- resolution: {integrity: sha512-21GQVd0pp2nACoK0C2PL8mBsEhIFUFFntYrWRlYNHtPQoqDzddrPEIgkyaABGXGued+dZoBlFQl+LASlmmfkvw==}
- engines: {node: '>=18'}
- dependencies:
- '@babel/runtime': 7.24.0
- dev: false
-
- /metro-source-map@0.80.6:
- resolution: {integrity: sha512-lqDuSLctWy9Qccu4Zl0YB1PzItpsqcKGb1nK0aDY+lzJ26X65OCib2VzHlj+xj7e4PiIKOfsvDCczCBz4cnxdg==}
- engines: {node: '>=18'}
- dependencies:
- '@babel/traverse': 7.24.0
- '@babel/types': 7.24.0
- invariant: 2.2.4
- metro-symbolicate: 0.80.6
- nullthrows: 1.1.1
- ob1: 0.80.6
- source-map: 0.5.7
- vlq: 1.0.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /metro-symbolicate@0.80.6:
- resolution: {integrity: sha512-SGwKeBi+lK7NmM5+EcW6DyRRa9HmGSvH0LJtlT4XoRMbpxzsLYs0qUEA+olD96pOIP+ta7I8S30nQr2ttqgO8A==}
- engines: {node: '>=18'}
- hasBin: true
- dependencies:
- invariant: 2.2.4
- metro-source-map: 0.80.6
- nullthrows: 1.1.1
- source-map: 0.5.7
- through2: 2.0.5
- vlq: 1.0.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /metro-transform-plugins@0.80.6:
- resolution: {integrity: sha512-e04tdTC5Fy1vOQrTTXb5biao0t7nR/h+b1IaBTlM5UaHaAJZr658uVOoZhkRxKjbhF2mIwJ/8DdorD2CA15BCg==}
- engines: {node: '>=18'}
- dependencies:
- '@babel/core': 7.24.0
- '@babel/generator': 7.23.6
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.0
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - supports-color
- dev: false
-
- /metro-transform-worker@0.80.6:
- resolution: {integrity: sha512-jV+VgCLiCj5jQadW/h09qJaqDreL6XcBRY52STCoz2xWn6WWLLMB5nXzQtvFNPmnIOps+Xu8+d5hiPcBNOhYmA==}
- engines: {node: '>=18'}
- dependencies:
- '@babel/core': 7.24.0
- '@babel/generator': 7.23.6
- '@babel/parser': 7.24.0
- '@babel/types': 7.24.0
- metro: 0.80.6
- metro-babel-transformer: 0.80.6
- metro-cache: 0.80.6
- metro-cache-key: 0.80.6
- metro-minify-terser: 0.80.6
- metro-source-map: 0.80.6
- metro-transform-plugins: 0.80.6
- nullthrows: 1.1.1
- transitivePeerDependencies:
- - bufferutil
- - encoding
- - supports-color
- - utf-8-validate
- dev: false
-
- /metro@0.80.6:
- resolution: {integrity: sha512-f6Nhnht9TxVRP6zdBq9J2jNdeDBxRmJFnjxhQS1GeCpokBvI6fTXq+wHTLz5jZA+75fwbkPSzBxBJzQa6xi0AQ==}
- engines: {node: '>=18'}
- hasBin: true
- dependencies:
- '@babel/code-frame': 7.23.5
- '@babel/core': 7.24.0
- '@babel/generator': 7.23.6
- '@babel/parser': 7.24.0
- '@babel/template': 7.24.0
- '@babel/traverse': 7.24.0
- '@babel/types': 7.24.0
- accepts: 1.3.8
- chalk: 4.1.2
- ci-info: 2.0.0
- connect: 3.7.0
- debug: 2.6.9
- denodeify: 1.2.1
- error-stack-parser: 2.1.4
- graceful-fs: 4.2.11
- hermes-parser: 0.19.1
- image-size: 1.1.1
- invariant: 2.2.4
- jest-worker: 29.7.0
- jsc-safe-url: 0.2.4
- lodash.throttle: 4.1.1
- metro-babel-transformer: 0.80.6
- metro-cache: 0.80.6
- metro-cache-key: 0.80.6
- metro-config: 0.80.6
- metro-core: 0.80.6
- metro-file-map: 0.80.6
- metro-resolver: 0.80.6
- metro-runtime: 0.80.6
- metro-source-map: 0.80.6
- metro-symbolicate: 0.80.6
- metro-transform-plugins: 0.80.6
- metro-transform-worker: 0.80.6
- mime-types: 2.1.35
- node-fetch: 2.7.0
- nullthrows: 1.1.1
- rimraf: 3.0.2
- serialize-error: 2.1.0
- source-map: 0.5.7
- strip-ansi: 6.0.1
- throat: 5.0.0
- ws: 7.5.9
- yargs: 17.7.2
- transitivePeerDependencies:
- - bufferutil
- - encoding
- - supports-color
- - utf-8-validate
- dev: false
-
- /microbundle@0.15.1:
- resolution: {integrity: sha512-aAF+nwFbkSIJGfrJk+HyzmJOq3KFaimH6OIFBU6J2DPjQeg1jXIYlIyEv81Gyisb9moUkudn+wj7zLNYMOv75Q==}
- hasBin: true
- dependencies:
- '@babel/core': 7.24.0
- '@babel/plugin-proposal-class-properties': 7.12.1(@babel/core@7.24.0)
- '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0)
- '@babel/plugin-syntax-jsx': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-flow-strip-types': 7.23.3(@babel/core@7.24.0)
- '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.0)
- '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.24.0)
- '@babel/preset-env': 7.24.0(@babel/core@7.24.0)
- '@babel/preset-flow': 7.24.0(@babel/core@7.24.0)
- '@babel/preset-react': 7.23.3(@babel/core@7.24.0)
- '@rollup/plugin-alias': 3.1.9(rollup@2.79.1)
- '@rollup/plugin-babel': 5.3.1(@babel/core@7.24.0)(rollup@2.79.1)
- '@rollup/plugin-commonjs': 17.1.0(rollup@2.79.1)
- '@rollup/plugin-json': 4.1.0(rollup@2.79.1)
- '@rollup/plugin-node-resolve': 11.2.1(rollup@2.79.1)
- '@surma/rollup-plugin-off-main-thread': 2.2.3
- asyncro: 3.0.0
- autoprefixer: 10.4.18(postcss@8.4.35)
- babel-plugin-macros: 3.1.0
- babel-plugin-transform-async-to-promises: 0.8.18
- babel-plugin-transform-replace-expressions: 0.2.0(@babel/core@7.24.0)
- brotli-size: 4.0.0
- builtin-modules: 3.3.0
- camelcase: 6.3.0
- escape-string-regexp: 4.0.0
- filesize: 6.4.0
- gzip-size: 6.0.0
- kleur: 4.1.5
- lodash.merge: 4.6.2
- postcss: 8.4.35
- pretty-bytes: 5.6.0
- rollup: 2.79.1
- rollup-plugin-bundle-size: 1.0.3
- rollup-plugin-postcss: 4.0.2(postcss@8.4.35)
- rollup-plugin-terser: 7.0.2(rollup@2.79.1)
- rollup-plugin-typescript2: 0.32.1(rollup@2.79.1)(typescript@4.9.5)
- rollup-plugin-visualizer: 5.12.0(rollup@2.79.1)
- sade: 1.8.1
- terser: 5.28.1
- tiny-glob: 0.2.9
- tslib: 2.6.2
- typescript: 4.9.5
- transitivePeerDependencies:
- - '@types/babel__core'
- - supports-color
- - ts-node
- dev: true
-
/micromatch@4.0.5:
resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==}
engines: {node: '>=8.6'}
dependencies:
braces: 3.0.2
picomatch: 2.3.1
+ dev: true
/mime-db@1.52.0:
resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
engines: {node: '>= 0.6'}
+ dev: true
/mime-types@2.1.35:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'}
dependencies:
mime-db: 1.52.0
-
- /mime@1.6.0:
- resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
- engines: {node: '>=4'}
- hasBin: true
-
- /mime@2.6.0:
- resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==}
- engines: {node: '>=4.0.0'}
- hasBin: true
- dev: false
+ dev: true
/mimic-fn@2.1.0:
resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
engines: {node: '>=6'}
+ dev: true
+
+ /mimic-fn@4.0.0:
+ resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==}
+ engines: {node: '>=12'}
+ dev: true
- /minimalistic-assert@1.0.1:
- resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==}
+ /min-indent@1.0.1:
+ resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
+ engines: {node: '>=4'}
dev: true
/minimatch@3.1.2:
resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
dependencies:
brace-expansion: 1.1.11
-
- /minimatch@5.1.6:
- resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==}
- engines: {node: '>=10'}
- dependencies:
- brace-expansion: 2.0.1
dev: true
- /minimatch@9.0.3:
- resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==}
+ /minimatch@9.0.4:
+ resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==}
engines: {node: '>=16 || 14 >=14.17'}
dependencies:
brace-expansion: 2.0.1
@@ -8035,49 +2986,27 @@ packages:
/minimist@1.2.8:
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
-
- /minipass@7.0.4:
- resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==}
- engines: {node: '>=16 || 14 >=14.17'}
dev: true
/mitt@3.0.1:
resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==}
dev: true
- /mkdirp@0.5.6:
- resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
- hasBin: true
+ /mlly@1.6.1:
+ resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==}
dependencies:
- minimist: 1.2.8
- dev: false
-
- /mkdirp@1.0.4:
- resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
- engines: {node: '>=10'}
- hasBin: true
- dev: false
-
- /mri@1.2.0:
- resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
- engines: {node: '>=4'}
+ acorn: 8.11.3
+ pathe: 1.1.2
+ pkg-types: 1.1.0
+ ufo: 1.5.3
dev: true
- /ms@2.0.0:
- resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==}
-
/ms@2.1.2:
resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ dev: true
/ms@2.1.3:
resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
-
- /multicast-dns@7.2.5:
- resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==}
- hasBin: true
- dependencies:
- dns-packet: 5.6.1
- thunky: 1.1.0
dev: true
/nanoid@3.3.7:
@@ -8090,13 +3019,6 @@ packages:
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
dev: true
- /negotiator@0.6.3:
- resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
- engines: {node: '>= 0.6'}
-
- /neo-async@2.6.2:
- resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==}
-
/netmask@2.0.2:
resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==}
engines: {node: '>= 0.4.0'}
@@ -8106,56 +3028,6 @@ packages:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
dev: true
- /no-case@3.0.4:
- resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
- dependencies:
- lower-case: 2.0.2
- tslib: 2.6.2
- dev: true
-
- /nocache@3.0.4:
- resolution: {integrity: sha512-WDD0bdg9mbq6F4mRxEYcPWwfA1vxd0mrvKOyxI7Xj/atfRHVeutzuWByG//jfm4uPzp0y4Kj051EORCBSQMycw==}
- engines: {node: '>=12.0.0'}
- dev: false
-
- /node-abort-controller@3.1.1:
- resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==}
- dev: false
-
- /node-dir@0.1.17:
- resolution: {integrity: sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==}
- engines: {node: '>= 0.10.5'}
- dependencies:
- minimatch: 3.1.2
- dev: false
-
- /node-fetch@2.7.0:
- resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
- dependencies:
- whatwg-url: 5.0.0
-
- /node-forge@1.3.1:
- resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==}
- engines: {node: '>= 6.13.0'}
- dev: true
-
- /node-int64@0.4.0:
- resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==}
-
- /node-releases@2.0.14:
- resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==}
-
- /node-stream-zip@1.15.0:
- resolution: {integrity: sha512-LN4fydt9TqhZhThkZIVQnF9cwjU3qmUH9h78Mx/K7d3VvfRqqwthLwJEUOEL0QPZ0XQmNN7be5Ggit5+4dq3Bw==}
- engines: {node: '>=0.12.0'}
- dev: false
-
/normalize-package-data@2.5.0:
resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
dependencies:
@@ -8165,20 +3037,6 @@ packages:
validate-npm-package-license: 3.0.4
dev: true
- /normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
-
- /normalize-range@0.1.2:
- resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /normalize-url@6.1.0:
- resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==}
- engines: {node: '>=10'}
- dev: true
-
/npm-run-all@4.1.5:
resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==}
engines: {node: '>= 4'}
@@ -8192,55 +3050,32 @@ packages:
pidtree: 0.3.1
read-pkg: 3.0.0
shell-quote: 1.8.1
- string.prototype.padend: 3.1.5
- dev: true
-
- /npm-run-path@4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
- dependencies:
- path-key: 3.1.1
-
- /nth-check@2.1.1:
- resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
- dependencies:
- boolbase: 1.0.0
- dev: true
-
- /nullthrows@1.1.1:
- resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==}
- dev: false
-
- /number-is-nan@1.0.1:
- resolution: {integrity: sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==}
- engines: {node: '>=0.10.0'}
+ string.prototype.padend: 3.1.6
dev: true
- /nwsapi@2.2.7:
- resolution: {integrity: sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==}
+ /npm-run-path@4.0.1:
+ resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
+ engines: {node: '>=8'}
+ dependencies:
+ path-key: 3.1.1
dev: true
- /ob1@0.80.6:
- resolution: {integrity: sha512-nlLGZPMQ/kbmkdIb5yvVzep1jKUII2x6ehNsHpgy71jpnJMW7V+KsB3AjYI2Ajb7UqMAMNjlssg6FUodrEMYzg==}
- engines: {node: '>=18'}
- dev: false
+ /npm-run-path@5.3.0:
+ resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ dependencies:
+ path-key: 4.0.0
+ dev: true
/object-assign@4.1.1:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'}
+ dev: true
/object-inspect@1.13.1:
resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==}
dev: true
- /object-is@1.1.6:
- resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==}
- engines: {node: '>= 0.4'}
- dependencies:
- call-bind: 1.0.7
- define-properties: 1.2.1
- dev: true
-
/object-keys@1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'}
@@ -8256,224 +3091,117 @@ packages:
object-keys: 1.1.1
dev: true
- /object.entries@1.1.7:
- resolution: {integrity: sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==}
+ /object.entries@1.1.8:
+ resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
+ es-object-atoms: 1.0.0
dev: true
- /object.fromentries@2.0.7:
- resolution: {integrity: sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==}
+ /object.fromentries@2.0.8:
+ resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
dev: true
- /object.groupby@1.0.2:
- resolution: {integrity: sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==}
+ /object.groupby@1.0.3:
+ resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
+ engines: {node: '>= 0.4'}
dependencies:
- array.prototype.filter: 1.0.3
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
- es-errors: 1.3.0
+ es-abstract: 1.23.3
dev: true
- /object.hasown@1.1.3:
- resolution: {integrity: sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==}
+ /object.hasown@1.1.4:
+ resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==}
+ engines: {node: '>= 0.4'}
dependencies:
define-properties: 1.2.1
- es-abstract: 1.22.5
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
dev: true
- /object.values@1.1.7:
- resolution: {integrity: sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==}
+ /object.values@1.2.0:
+ resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
+ es-object-atoms: 1.0.0
dev: true
- /obuf@1.1.2:
- resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
- dev: true
-
- /on-finished@2.3.0:
- resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
- engines: {node: '>= 0.8'}
- dependencies:
- ee-first: 1.1.1
- dev: false
-
- /on-finished@2.4.1:
- resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
- engines: {node: '>= 0.8'}
- dependencies:
- ee-first: 1.1.1
-
- /on-headers@1.0.2:
- resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==}
- engines: {node: '>= 0.8'}
-
/once@1.4.0:
resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
dependencies:
wrappy: 1.0.2
+ dev: true
/onetime@5.1.2:
resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
engines: {node: '>=6'}
dependencies:
mimic-fn: 2.1.0
-
- /open@10.0.4:
- resolution: {integrity: sha512-oujJ/FFr7ra6/7gJuQ4ZJJ8Gf2VHM0J3J/W7IvH++zaqEzacWVxzK++NiVY5NLHTTj7u/jNH5H3Ei9biL31Lng==}
- engines: {node: '>=18'}
- dependencies:
- default-browser: 5.2.1
- define-lazy-prop: 3.0.0
- is-inside-container: 1.0.0
- is-wsl: 3.1.0
dev: true
- /open@6.4.0:
- resolution: {integrity: sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==}
- engines: {node: '>=8'}
- dependencies:
- is-wsl: 1.1.0
- dev: false
-
- /open@7.4.2:
- resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==}
- engines: {node: '>=8'}
- dependencies:
- is-docker: 2.2.1
- is-wsl: 2.2.0
- dev: false
-
- /open@8.4.2:
- resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==}
+ /onetime@6.0.0:
+ resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==}
engines: {node: '>=12'}
dependencies:
- define-lazy-prop: 2.0.0
- is-docker: 2.2.1
- is-wsl: 2.2.0
+ mimic-fn: 4.0.0
dev: true
- /optionator@0.9.3:
- resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==}
+ /optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
engines: {node: '>= 0.8.0'}
dependencies:
- '@aashutoshrathi/word-wrap': 1.2.6
deep-is: 0.1.4
fast-levenshtein: 2.0.6
levn: 0.4.1
prelude-ls: 1.2.1
type-check: 0.4.0
+ word-wrap: 1.2.5
dev: true
- /ora@5.4.1:
- resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
- engines: {node: '>=10'}
- dependencies:
- bl: 4.1.0
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-spinners: 2.9.2
- is-interactive: 1.0.0
- is-unicode-supported: 0.1.0
- log-symbols: 4.1.0
- strip-ansi: 6.0.1
- wcwidth: 1.0.1
- dev: false
-
- /os-homedir@1.0.2:
- resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /p-finally@1.0.0:
- resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==}
- engines: {node: '>=4'}
- dev: true
-
- /p-limit@2.3.0:
- resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
- engines: {node: '>=6'}
- dependencies:
- p-try: 2.2.0
-
/p-limit@3.1.0:
resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
engines: {node: '>=10'}
dependencies:
yocto-queue: 0.1.0
+ dev: true
- /p-locate@3.0.0:
- resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==}
- engines: {node: '>=6'}
- dependencies:
- p-limit: 2.3.0
- dev: false
-
- /p-locate@4.1.0:
- resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
- engines: {node: '>=8'}
+ /p-limit@5.0.0:
+ resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==}
+ engines: {node: '>=18'}
dependencies:
- p-limit: 2.3.0
+ yocto-queue: 1.0.0
+ dev: true
/p-locate@5.0.0:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
dependencies:
p-limit: 3.1.0
-
- /p-queue@6.6.2:
- resolution: {integrity: sha512-RwFpb72c/BhQLEXIZ5K2e+AhgNVmIejGlTgiB9MzZ0e93GRvqZ7uSi0dvRF7/XIXDeNkra2fNHBxTyPDGySpjQ==}
- engines: {node: '>=8'}
- dependencies:
- eventemitter3: 4.0.7
- p-timeout: 3.2.0
- dev: true
-
- /p-retry@6.2.0:
- resolution: {integrity: sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==}
- engines: {node: '>=16.17'}
- dependencies:
- '@types/retry': 0.12.2
- is-network-error: 1.0.1
- retry: 0.13.1
- dev: true
-
- /p-timeout@3.2.0:
- resolution: {integrity: sha512-rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==}
- engines: {node: '>=8'}
- dependencies:
- p-finally: 1.0.0
dev: true
- /p-try@2.2.0:
- resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
- engines: {node: '>=6'}
-
/pac-proxy-agent@7.0.1:
resolution: {integrity: sha512-ASV8yU4LLKBAjqIPMbrgtaKIvxQri/yh2OpI+S6hVa9JRkUI3Y3NPFbfngDtY7oFtSMD3w31Xns89mDa3Feo5A==}
engines: {node: '>= 14'}
dependencies:
'@tootallnate/quickjs-emscripten': 0.23.0
- agent-base: 7.1.0
+ agent-base: 7.1.1
debug: 4.3.4
get-uri: 6.0.3
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.4
pac-resolver: 7.0.1
- socks-proxy-agent: 8.0.2
+ socks-proxy-agent: 8.0.3
transitivePeerDependencies:
- supports-color
dev: true
@@ -8486,13 +3214,6 @@ packages:
netmask: 2.0.2
dev: true
- /param-case@3.0.4:
- resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
- dependencies:
- dot-case: 3.0.4
- tslib: 2.6.2
- dev: true
-
/parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@@ -8506,51 +3227,27 @@ packages:
dependencies:
error-ex: 1.3.2
json-parse-better-errors: 1.0.2
+ dev: true
/parse-json@5.2.0:
resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
engines: {node: '>=8'}
dependencies:
- '@babel/code-frame': 7.23.5
+ '@babel/code-frame': 7.24.2
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
dev: true
- /parse-passwd@1.0.0:
- resolution: {integrity: sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /parse5@7.1.2:
- resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==}
- dependencies:
- entities: 4.5.0
- dev: true
-
- /parseurl@1.3.3:
- resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
- engines: {node: '>= 0.8'}
-
- /pascal-case@3.1.2:
- resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
- dependencies:
- no-case: 3.0.4
- tslib: 2.6.2
- dev: true
-
- /path-exists@3.0.0:
- resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==}
- engines: {node: '>=4'}
- dev: false
-
/path-exists@4.0.0:
resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
engines: {node: '>=8'}
+ dev: true
/path-is-absolute@1.0.1:
resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
engines: {node: '>=0.10.0'}
+ dev: true
/path-key@2.0.1:
resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==}
@@ -8560,20 +3257,15 @@ packages:
/path-key@3.1.1:
resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
engines: {node: '>=8'}
+ dev: true
- /path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
-
- /path-scurry@1.10.1:
- resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==}
- engines: {node: '>=16 || 14 >=14.17'}
- dependencies:
- lru-cache: 10.2.0
- minipass: 7.0.4
+ /path-key@4.0.0:
+ resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==}
+ engines: {node: '>=12'}
dev: true
- /path-to-regexp@0.1.7:
- resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==}
+ /path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
dev: true
/path-type@3.0.0:
@@ -8588,442 +3280,64 @@ packages:
engines: {node: '>=8'}
dev: true
- /pause-stream@0.0.11:
- resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
- dependencies:
- through: 2.3.8
- dev: true
-
- /pend@1.2.0:
- resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
- dev: true
-
- /picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
-
- /picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
-
- /pidtree@0.3.1:
- resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==}
- engines: {node: '>=0.10'}
- hasBin: true
- dev: true
-
- /pify@3.0.0:
- resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
- engines: {node: '>=4'}
- dev: true
-
- /pify@4.0.1:
- resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
- engines: {node: '>=6'}
- dev: false
-
- /pify@5.0.0:
- resolution: {integrity: sha512-eW/gHNMlxdSP6dmG6uJip6FXN0EQBwm2clYYd8Wul42Cwu/DK8HEftzsapcNdYe2MfLiIwZqsDk2RDEsTE79hA==}
- engines: {node: '>=10'}
- dev: true
-
- /pirates@4.0.6:
- resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
- engines: {node: '>= 6'}
-
- /pkg-dir@3.0.0:
- resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==}
- engines: {node: '>=6'}
- dependencies:
- find-up: 3.0.0
- dev: false
-
- /pkg-dir@4.2.0:
- resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==}
- engines: {node: '>=8'}
- dependencies:
- find-up: 4.1.0
- dev: true
-
- /possible-typed-array-names@1.0.0:
- resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
- engines: {node: '>= 0.4'}
- dev: true
-
- /postcss-calc@8.2.4(postcss@8.4.35):
- resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==}
- peerDependencies:
- postcss: ^8.2.2
- dependencies:
- postcss: 8.4.35
- postcss-selector-parser: 6.0.15
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-colormin@5.3.1(postcss@8.4.35):
- resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- browserslist: 4.23.0
- caniuse-api: 3.0.0
- colord: 2.9.3
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-convert-values@5.1.3(postcss@8.4.35):
- resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- browserslist: 4.23.0
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-discard-comments@5.1.2(postcss@8.4.35):
- resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- dev: true
-
- /postcss-discard-duplicates@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- dev: true
-
- /postcss-discard-empty@5.1.1(postcss@8.4.35):
- resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- dev: true
-
- /postcss-discard-overridden@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- dev: true
-
- /postcss-load-config@3.1.4(postcss@8.4.35):
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
- dependencies:
- lilconfig: 2.1.0
- postcss: 8.4.35
- yaml: 1.10.2
- dev: true
-
- /postcss-merge-longhand@5.1.7(postcss@8.4.35):
- resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- stylehacks: 5.1.1(postcss@8.4.35)
- dev: true
-
- /postcss-merge-rules@5.1.4(postcss@8.4.35):
- resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- browserslist: 4.23.0
- caniuse-api: 3.0.0
- cssnano-utils: 3.1.0(postcss@8.4.35)
- postcss: 8.4.35
- postcss-selector-parser: 6.0.15
- dev: true
-
- /postcss-minify-font-values@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-minify-gradients@5.1.1(postcss@8.4.35):
- resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- colord: 2.9.3
- cssnano-utils: 3.1.0(postcss@8.4.35)
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-minify-params@5.1.4(postcss@8.4.35):
- resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- browserslist: 4.23.0
- cssnano-utils: 3.1.0(postcss@8.4.35)
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-minify-selectors@5.2.1(postcss@8.4.35):
- resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-selector-parser: 6.0.15
- dev: true
-
- /postcss-modules-extract-imports@3.0.0(postcss@8.4.35):
- resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- postcss: 8.4.35
- dev: true
-
- /postcss-modules-local-by-default@4.0.4(postcss@8.4.35):
- resolution: {integrity: sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- icss-utils: 5.1.0(postcss@8.4.35)
- postcss: 8.4.35
- postcss-selector-parser: 6.0.15
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-modules-scope@3.1.1(postcss@8.4.35):
- resolution: {integrity: sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- postcss: 8.4.35
- postcss-selector-parser: 6.0.15
- dev: true
-
- /postcss-modules-values@4.0.0(postcss@8.4.35):
- resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==}
- engines: {node: ^10 || ^12 || >= 14}
- peerDependencies:
- postcss: ^8.1.0
- dependencies:
- icss-utils: 5.1.0(postcss@8.4.35)
- postcss: 8.4.35
- dev: true
-
- /postcss-modules@4.3.1(postcss@8.4.35):
- resolution: {integrity: sha512-ItUhSUxBBdNamkT3KzIZwYNNRFKmkJrofvC2nWab3CPKhYBQ1f27XXh1PAPE27Psx58jeelPsxWB/+og+KEH0Q==}
- peerDependencies:
- postcss: ^8.0.0
- dependencies:
- generic-names: 4.0.0
- icss-replace-symbols: 1.1.0
- lodash.camelcase: 4.3.0
- postcss: 8.4.35
- postcss-modules-extract-imports: 3.0.0(postcss@8.4.35)
- postcss-modules-local-by-default: 4.0.4(postcss@8.4.35)
- postcss-modules-scope: 3.1.1(postcss@8.4.35)
- postcss-modules-values: 4.0.0(postcss@8.4.35)
- string-hash: 1.1.3
- dev: true
-
- /postcss-normalize-charset@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- dev: true
-
- /postcss-normalize-display-values@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-normalize-positions@5.1.1(postcss@8.4.35):
- resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-normalize-repeat-style@5.1.1(postcss@8.4.35):
- resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-normalize-string@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- dev: true
-
- /postcss-normalize-timing-functions@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
+ /pathe@1.1.2:
+ resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
dev: true
- /postcss-normalize-unicode@5.1.1(postcss@8.4.35):
- resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- browserslist: 4.23.0
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
+ /pathval@1.1.1:
+ resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
dev: true
- /postcss-normalize-url@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
+ /pause-stream@0.0.11:
+ resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==}
dependencies:
- normalize-url: 6.1.0
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
+ through: 2.3.8
dev: true
- /postcss-normalize-whitespace@5.1.1(postcss@8.4.35):
- resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
+ /pend@1.2.0:
+ resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==}
dev: true
- /postcss-ordered-values@5.1.3(postcss@8.4.35):
- resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- cssnano-utils: 3.1.0(postcss@8.4.35)
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
+ /picocolors@1.0.0:
+ resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
dev: true
- /postcss-reduce-initial@5.1.2(postcss@8.4.35):
- resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- browserslist: 4.23.0
- caniuse-api: 3.0.0
- postcss: 8.4.35
+ /picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
dev: true
- /postcss-reduce-transforms@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
+ /pidtree@0.3.1:
+ resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==}
+ engines: {node: '>=0.10'}
+ hasBin: true
dev: true
- /postcss-selector-parser@6.0.15:
- resolution: {integrity: sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==}
+ /pify@3.0.0:
+ resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==}
engines: {node: '>=4'}
- dependencies:
- cssesc: 3.0.0
- util-deprecate: 1.0.2
- dev: true
-
- /postcss-svgo@5.1.0(postcss@8.4.35):
- resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
- dependencies:
- postcss: 8.4.35
- postcss-value-parser: 4.2.0
- svgo: 2.8.0
dev: true
- /postcss-unique-selectors@5.1.1(postcss@8.4.35):
- resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
+ /pkg-types@1.1.0:
+ resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==}
dependencies:
- postcss: 8.4.35
- postcss-selector-parser: 6.0.15
+ confbox: 0.1.7
+ mlly: 1.6.1
+ pathe: 1.1.2
dev: true
- /postcss-value-parser@4.2.0:
- resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==}
+ /possible-typed-array-names@1.0.0:
+ resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
+ engines: {node: '>= 0.4'}
dev: true
- /postcss@8.4.35:
- resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==}
+ /postcss@8.4.38:
+ resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==}
engines: {node: ^10 || ^12 || >=14}
dependencies:
nanoid: 3.3.7
picocolors: 1.0.0
- source-map-js: 1.0.2
+ source-map-js: 1.2.0
dev: true
/prelude-ls@1.2.1:
@@ -9031,35 +3345,12 @@ packages:
engines: {node: '>= 0.8.0'}
dev: true
- /pretty-bytes@3.0.1:
- resolution: {integrity: sha512-eb7ZAeUTgfh294cElcu51w+OTRp/6ItW758LjwJSK72LDevcuJn0P4eD71PLMDGPwwatXmAmYHTkzvpKlJE3ow==}
- engines: {node: '>=0.10.0'}
- dependencies:
- number-is-nan: 1.0.1
- dev: true
-
- /pretty-bytes@5.6.0:
- resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
- engines: {node: '>=6'}
- dev: true
-
- /pretty-error@4.0.0:
- resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
- dependencies:
- lodash: 4.17.21
- renderkid: 3.0.0
+ /prettier@3.2.5:
+ resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==}
+ engines: {node: '>=14'}
+ hasBin: true
dev: true
- /pretty-format@26.6.2:
- resolution: {integrity: sha512-7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==}
- engines: {node: '>= 10'}
- dependencies:
- '@jest/types': 26.6.2
- ansi-regex: 5.0.1
- ansi-styles: 4.3.0
- react-is: 17.0.2
- dev: false
-
/pretty-format@27.5.1:
resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
@@ -9075,67 +3366,40 @@ packages:
dependencies:
'@jest/schemas': 29.6.3
ansi-styles: 5.2.0
- react-is: 18.2.0
-
- /process-nextick-args@2.0.1:
- resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==}
+ react-is: 18.3.1
+ dev: true
/progress@2.0.3:
resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==}
engines: {node: '>=0.4.0'}
dev: true
- /promise.series@0.2.0:
- resolution: {integrity: sha512-VWQJyU2bcDTgZw8kpfBpB/ejZASlCrzwz5f2hjb/zlujOEB4oeiAhHygAWq8ubsX2GVkD4kCU5V2dwOTaCY5EQ==}
- engines: {node: '>=0.12'}
- dev: true
-
- /promise@8.3.0:
- resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==}
- dependencies:
- asap: 2.0.6
- dev: false
-
- /prompts@2.4.2:
- resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==}
- engines: {node: '>= 6'}
- dependencies:
- kleur: 3.0.3
- sisteransi: 1.0.5
-
/prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
dependencies:
loose-envify: 1.4.0
object-assign: 4.1.1
react-is: 16.13.1
-
- /proxy-addr@2.0.7:
- resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
- engines: {node: '>= 0.10'}
- dependencies:
- forwarded: 0.2.0
- ipaddr.js: 1.9.1
dev: true
/proxy-agent@6.4.0:
resolution: {integrity: sha512-u0piLU+nCOHMgGjRbimiXmA9kM/L9EHh3zL81xCdp7m+Y2pHIsnmbdDoEDoAz5geaonNR6q6+yOPQs6n4T6sBQ==}
engines: {node: '>= 14'}
dependencies:
- agent-base: 7.1.0
+ agent-base: 7.1.1
debug: 4.3.4
http-proxy-agent: 7.0.2
https-proxy-agent: 7.0.4
lru-cache: 7.18.3
pac-proxy-agent: 7.0.1
proxy-from-env: 1.1.0
- socks-proxy-agent: 8.0.2
+ socks-proxy-agent: 8.0.3
transitivePeerDependencies:
- supports-color
dev: true
- /proxy-compare@2.6.0:
- resolution: {integrity: sha512-8xuCeM3l8yqdmbPoYeLbrAXCBWu19XEYc5/F28f5qOaoAIMyfmBUkl5axiK+x9olUvRlcekvnm98AP9RDngOIw==}
+ /proxy-compare@3.0.0:
+ resolution: {integrity: sha512-y44MCkgtZUCT9tZGuE278fB7PWVf7fRYy0vbRXAts2o5F0EfC4fIQrvQQGBJo1WJbFcVLXzApOscyJuZqHQc1w==}
dev: false
/proxy-from-env@1.1.0:
@@ -9150,10 +3414,6 @@ packages:
event-stream: 3.3.4
dev: true
- /psl@1.9.0:
- resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==}
- dev: true
-
/pump@3.0.0:
resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==}
dependencies:
@@ -9166,190 +3426,70 @@ packages:
engines: {node: '>=6'}
dev: true
- /puppeteer-core@22.3.0:
- resolution: {integrity: sha512-Ho5Vdpdro05ZyCx/l5Hkc5vHiibKTaY37fIAD9NF9Gi/vDxkVTeX40U/mFnEmeoxyuYALvWCJfi7JTT82R6Tuw==}
+ /puppeteer-core@22.7.1:
+ resolution: {integrity: sha512-jD7T7yN7PWGuJmNT0TAEboA26s0VVnvbgCxqgQIF+eNQW2u71ENaV2JwzSJiCHO+e72H4Ue6AgKD9USQ8xAcOQ==}
engines: {node: '>=18'}
dependencies:
- '@puppeteer/browsers': 2.1.0
- chromium-bidi: 0.5.10(devtools-protocol@0.0.1249869)
- cross-fetch: 4.0.0
+ '@puppeteer/browsers': 2.2.3
+ chromium-bidi: 0.5.19(devtools-protocol@0.0.1273771)
debug: 4.3.4
- devtools-protocol: 0.0.1249869
+ devtools-protocol: 0.0.1273771
ws: 8.16.0
transitivePeerDependencies:
- bufferutil
- - encoding
- supports-color
- utf-8-validate
dev: true
- /puppeteer@22.3.0(typescript@5.3.3):
- resolution: {integrity: sha512-GC+tyjzYKjaNjhlDAuqRgDM+IOsqOG75Da4L28G4eULNLLxKDt+79x2OOSQ47HheJBgGq7ATSExNE6gayxP6cg==}
+ /puppeteer@22.7.1(typescript@5.4.5):
+ resolution: {integrity: sha512-JBCBCwQ9+dyPp5haqeecgv0N0vgWFx44woUeKJaPeJT8CU3RXrd8F/tqJQbuAmcWlbMhYJSlTJkIFrwVAs6BNA==}
engines: {node: '>=18'}
hasBin: true
requiresBuild: true
dependencies:
- '@puppeteer/browsers': 2.1.0
- cosmiconfig: 9.0.0(typescript@5.3.3)
- puppeteer-core: 22.3.0
+ '@puppeteer/browsers': 2.2.3
+ cosmiconfig: 9.0.0(typescript@5.4.5)
+ devtools-protocol: 0.0.1273771
+ puppeteer-core: 22.7.1
transitivePeerDependencies:
- bufferutil
- - encoding
- supports-color
- typescript
- utf-8-validate
dev: true
- /pure-rand@6.0.4:
- resolution: {integrity: sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==}
- dev: true
-
- /qs@6.11.0:
- resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==}
- engines: {node: '>=0.6'}
- dependencies:
- side-channel: 1.0.6
- dev: true
-
- /querystringify@2.2.0:
- resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==}
- dev: true
-
/queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
dev: true
/queue-tick@1.0.1:
resolution: {integrity: sha512-kJt5qhMxoszgU/62PLP1CJytzd2NKetjSRnyuj31fDd3Rlcz3fzlFdFLD1SItunPwyqEOkca6GbV612BWfaBag==}
- requiresBuild: true
dev: true
- /queue@6.0.2:
- resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==}
- dependencies:
- inherits: 2.0.4
- dev: false
-
- /randombytes@2.1.0:
- resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==}
- dependencies:
- safe-buffer: 5.2.1
- dev: true
-
- /range-parser@1.2.1:
- resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==}
- engines: {node: '>= 0.6'}
-
- /raw-body@2.5.2:
- resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==}
- engines: {node: '>= 0.8'}
- dependencies:
- bytes: 3.1.2
- http-errors: 2.0.0
- iconv-lite: 0.4.24
- unpipe: 1.0.0
- dev: true
-
- /react-devtools-core@4.28.5:
- resolution: {integrity: sha512-cq/o30z9W2Wb4rzBefjv5fBalHU0rJGZCHAkf/RHSBWSSYwh8PlQTqqOJmgIIbBtpj27T6FIPXeomIjZtCNVqA==}
- dependencies:
- shell-quote: 1.8.1
- ws: 7.5.9
- transitivePeerDependencies:
- - bufferutil
- - utf-8-validate
- dev: false
-
- /react-dom@18.2.0(react@18.2.0):
- resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==}
+ /react-dom@18.3.1(react@18.3.1):
+ resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
peerDependencies:
- react: ^18.2.0
+ react: ^18.3.1
dependencies:
loose-envify: 1.4.0
- react: 18.2.0
- scheduler: 0.23.0
+ react: 18.3.1
+ scheduler: 0.23.2
+ dev: true
/react-is@16.13.1:
resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+ dev: true
/react-is@17.0.2:
resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
+ dev: true
- /react-is@18.2.0:
- resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==}
-
- /react-native@0.73.5(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(react@18.2.0):
- resolution: {integrity: sha512-iHgDArmF4CrhL0qTj+Rn+CBN5pZWUL9lUGl8ub+V9Hwu/vnzQQh8rTMVSwVd2sV6N76KjpE5a4TfIAHkpIHhKg==}
- engines: {node: '>=18'}
- hasBin: true
- peerDependencies:
- react: 18.2.0
- dependencies:
- '@jest/create-cache-key-function': 29.7.0
- '@react-native-community/cli': 12.3.6
- '@react-native-community/cli-platform-android': 12.3.6
- '@react-native-community/cli-platform-ios': 12.3.6
- '@react-native/assets-registry': 0.73.1
- '@react-native/codegen': 0.73.3(@babel/preset-env@7.24.0)
- '@react-native/community-cli-plugin': 0.73.17(@babel/core@7.24.0)(@babel/preset-env@7.24.0)
- '@react-native/gradle-plugin': 0.73.4
- '@react-native/js-polyfills': 0.73.1
- '@react-native/normalize-colors': 0.73.2
- '@react-native/virtualized-lists': 0.73.4(react-native@0.73.5)
- abort-controller: 3.0.0
- anser: 1.4.10
- ansi-regex: 5.0.1
- base64-js: 1.5.1
- chalk: 4.1.2
- deprecated-react-native-prop-types: 5.0.0
- event-target-shim: 5.0.1
- flow-enums-runtime: 0.0.6
- invariant: 2.2.4
- jest-environment-node: 29.7.0
- jsc-android: 250231.0.0
- memoize-one: 5.2.1
- metro-runtime: 0.80.6
- metro-source-map: 0.80.6
- mkdirp: 0.5.6
- nullthrows: 1.1.1
- pretty-format: 26.6.2
- promise: 8.3.0
- react: 18.2.0
- react-devtools-core: 4.28.5
- react-refresh: 0.14.0
- react-shallow-renderer: 16.15.0(react@18.2.0)
- regenerator-runtime: 0.13.11
- scheduler: 0.24.0-canary-efb381bbf-20230505
- stacktrace-parser: 0.1.10
- whatwg-fetch: 3.6.20
- ws: 6.2.2
- yargs: 17.7.2
- transitivePeerDependencies:
- - '@babel/core'
- - '@babel/preset-env'
- - bufferutil
- - encoding
- - supports-color
- - utf-8-validate
- dev: false
-
- /react-refresh@0.14.0:
- resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /react-shallow-renderer@16.15.0(react@18.2.0):
- resolution: {integrity: sha512-oScf2FqQ9LFVQgA73vr86xl2NaOIX73rh+YFqcOp68CWj56tSfgtGKrEbyhCj0rSijyG9M1CYprTh39fBi5hzA==}
- peerDependencies:
- react: ^16.0.0 || ^17.0.0 || ^18.0.0
- dependencies:
- object-assign: 4.1.1
- react: 18.2.0
- react-is: 18.2.0
- dev: false
+ /react-is@18.3.1:
+ resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
+ dev: true
- /react@18.2.0:
- resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==}
+ /react@18.3.1:
+ resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
engines: {node: '>=0.10.0'}
dependencies:
loose-envify: 1.4.0
@@ -9363,51 +3503,12 @@ packages:
path-type: 3.0.0
dev: true
- /readable-stream@2.3.8:
- resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==}
- dependencies:
- core-util-is: 1.0.3
- inherits: 2.0.4
- isarray: 1.0.0
- process-nextick-args: 2.0.1
- safe-buffer: 5.1.2
- string_decoder: 1.1.1
- util-deprecate: 1.0.2
-
- /readable-stream@3.6.2:
- resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==}
- engines: {node: '>= 6'}
- dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
-
- /readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
- dependencies:
- picomatch: 2.3.1
- dev: true
-
- /readline@1.3.0:
- resolution: {integrity: sha512-k2d6ACCkiNYz222Fs/iNze30rRJ1iIicW7JuX/7/cozvih6YCkFZH+J6mAFDVgv0dRBaAyr4jDqC95R2y4IADg==}
- dev: false
-
- /recast@0.21.5:
- resolution: {integrity: sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==}
- engines: {node: '>= 4'}
- dependencies:
- ast-types: 0.15.2
- esprima: 4.0.1
- source-map: 0.6.1
- tslib: 2.6.2
- dev: false
-
- /rechoir@0.8.0:
- resolution: {integrity: sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==}
- engines: {node: '>= 10.13.0'}
+ /redent@3.0.0:
+ resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
+ engines: {node: '>=8'}
dependencies:
- resolve: 1.22.8
+ indent-string: 4.0.0
+ strip-indent: 3.0.0
dev: true
/redux-saga@1.3.0:
@@ -9416,39 +3517,22 @@ packages:
'@redux-saga/core': 1.3.0
dev: true
- /reflect.getprototypeof@1.0.5:
- resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==}
+ /reflect.getprototypeof@1.0.6:
+ resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
+ es-abstract: 1.23.3
es-errors: 1.3.0
get-intrinsic: 1.2.4
globalthis: 1.0.3
which-builtin-type: 1.1.3
dev: true
- /regenerate-unicode-properties@10.1.1:
- resolution: {integrity: sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==}
- engines: {node: '>=4'}
- dependencies:
- regenerate: 1.4.2
-
- /regenerate@1.4.2:
- resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==}
-
- /regenerator-runtime@0.13.11:
- resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==}
- dev: false
-
/regenerator-runtime@0.14.1:
resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
-
- /regenerator-transform@0.15.2:
- resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==}
- dependencies:
- '@babel/runtime': 7.24.0
+ dev: true
/regexp.prototype.flags@1.5.2:
resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
@@ -9460,88 +3544,18 @@ packages:
set-function-name: 2.0.2
dev: true
- /regexpu-core@5.3.2:
- resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==}
- engines: {node: '>=4'}
- dependencies:
- '@babel/regjsgen': 0.8.0
- regenerate: 1.4.2
- regenerate-unicode-properties: 10.1.1
- regjsparser: 0.9.1
- unicode-match-property-ecmascript: 2.0.0
- unicode-match-property-value-ecmascript: 2.1.0
-
- /regjsparser@0.9.1:
- resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==}
- hasBin: true
- dependencies:
- jsesc: 0.5.0
-
- /relateurl@0.2.7:
- resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
- engines: {node: '>= 0.10'}
- dev: true
-
- /renderkid@3.0.0:
- resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
- dependencies:
- css-select: 4.3.0
- dom-converter: 0.2.0
- htmlparser2: 6.1.0
- lodash: 4.17.21
- strip-ansi: 6.0.1
- dev: true
-
/require-directory@2.1.1:
resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
engines: {node: '>=0.10.0'}
-
- /require-from-string@2.0.2:
- resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
- engines: {node: '>=0.10.0'}
- dev: true
-
- /require-main-filename@2.0.0:
- resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==}
- dev: false
-
- /requires-port@1.0.0:
- resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==}
- dev: true
-
- /resolve-cwd@3.0.0:
- resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==}
- engines: {node: '>=8'}
- dependencies:
- resolve-from: 5.0.0
- dev: true
-
- /resolve-dir@0.1.1:
- resolution: {integrity: sha512-QxMPqI6le2u0dCLyiGzgy92kjkkL6zO0XyvHzjdTNH3zM6e5Hz3BwG6+aEyNgiQ5Xz6PwTwgQEj3U50dByPKIA==}
- engines: {node: '>=0.10.0'}
- dependencies:
- expand-tilde: 1.2.2
- global-modules: 0.2.3
dev: true
- /resolve-from@3.0.0:
- resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==}
- engines: {node: '>=4'}
- dev: false
-
/resolve-from@4.0.0:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'}
dev: true
- /resolve-from@5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
- dev: true
-
- /resolve.exports@2.0.2:
- resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==}
- engines: {node: '>=10'}
+ /resolve-pkg-maps@1.0.0:
+ resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
dev: true
/resolve@1.22.8:
@@ -9551,6 +3565,7 @@ packages:
is-core-module: 2.13.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
+ dev: true
/resolve@2.0.0-next.5:
resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
@@ -9561,140 +3576,44 @@ packages:
supports-preserve-symlinks-flag: 1.0.0
dev: true
- /restore-cursor@3.1.0:
- resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
- engines: {node: '>=8'}
- dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
- dev: false
-
- /retry@0.13.1:
- resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
- engines: {node: '>= 4'}
- dev: true
-
/reusify@1.0.4:
resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
dev: true
- /rimraf@2.6.3:
- resolution: {integrity: sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==}
- hasBin: true
- dependencies:
- glob: 7.2.3
- dev: false
-
/rimraf@3.0.2:
resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
hasBin: true
dependencies:
glob: 7.2.3
-
- /rimraf@5.0.5:
- resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==}
- engines: {node: '>=14'}
- hasBin: true
- dependencies:
- glob: 10.3.10
- dev: true
-
- /rollup-plugin-bundle-size@1.0.3:
- resolution: {integrity: sha512-aWj0Pvzq90fqbI5vN1IvUrlf4utOqy+AERYxwWjegH1G8PzheMnrRIgQ5tkwKVtQMDP0bHZEACW/zLDF+XgfXQ==}
- dependencies:
- chalk: 1.1.3
- maxmin: 2.1.0
- dev: true
-
- /rollup-plugin-postcss@4.0.2(postcss@8.4.35):
- resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==}
- engines: {node: '>=10'}
- peerDependencies:
- postcss: 8.x
- dependencies:
- chalk: 4.1.2
- concat-with-sourcemaps: 1.1.0
- cssnano: 5.1.15(postcss@8.4.35)
- import-cwd: 3.0.0
- p-queue: 6.6.2
- pify: 5.0.0
- postcss: 8.4.35
- postcss-load-config: 3.1.4(postcss@8.4.35)
- postcss-modules: 4.3.1(postcss@8.4.35)
- promise.series: 0.2.0
- resolve: 1.22.8
- rollup-pluginutils: 2.8.2
- safe-identifier: 0.4.2
- style-inject: 0.3.0
- transitivePeerDependencies:
- - ts-node
- dev: true
-
- /rollup-plugin-terser@7.0.2(rollup@2.79.1):
- resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==}
- deprecated: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser
- peerDependencies:
- rollup: ^2.0.0
- dependencies:
- '@babel/code-frame': 7.23.5
- jest-worker: 26.6.2
- rollup: 2.79.1
- serialize-javascript: 4.0.0
- terser: 5.28.1
dev: true
- /rollup-plugin-typescript2@0.32.1(rollup@2.79.1)(typescript@4.9.5):
- resolution: {integrity: sha512-RanO8bp1WbeMv0bVlgcbsFNCn+Y3rX7wF97SQLDxf0fMLsg0B/QFF005t4AsGUcDgF3aKJHoqt4JF2xVaABeKw==}
- peerDependencies:
- rollup: '>=1.26.3'
- typescript: '>=2.4.0'
- dependencies:
- '@rollup/pluginutils': 4.2.1
- find-cache-dir: 3.3.2
- fs-extra: 10.1.0
- resolve: 1.22.8
- rollup: 2.79.1
- tslib: 2.6.2
- typescript: 4.9.5
- dev: true
-
- /rollup-plugin-visualizer@5.12.0(rollup@2.79.1):
- resolution: {integrity: sha512-8/NU9jXcHRs7Nnj07PF2o4gjxmm9lXIrZ8r175bT9dK8qoLlvKTwRMArRCMgpMGlq8CTLugRvEmyMeMXIU2pNQ==}
- engines: {node: '>=14'}
+ /rollup@4.17.1:
+ resolution: {integrity: sha512-0gG94inrUtg25sB2V/pApwiv1lUb0bQ25FPNuzO89Baa+B+c0ccaaBKM5zkZV/12pUUdH+lWCSm9wmHqyocuVQ==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
hasBin: true
- peerDependencies:
- rollup: 2.x || 3.x || 4.x
- peerDependenciesMeta:
- rollup:
- optional: true
- dependencies:
- open: 8.4.2
- picomatch: 2.3.1
- rollup: 2.79.1
- source-map: 0.7.4
- yargs: 17.7.2
- dev: true
-
- /rollup-pluginutils@2.8.2:
- resolution: {integrity: sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==}
dependencies:
- estree-walker: 0.6.1
- dev: true
-
- /rollup@2.79.1:
- resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
- engines: {node: '>=10.0.0'}
- hasBin: true
+ '@types/estree': 1.0.5
optionalDependencies:
+ '@rollup/rollup-android-arm-eabi': 4.17.1
+ '@rollup/rollup-android-arm64': 4.17.1
+ '@rollup/rollup-darwin-arm64': 4.17.1
+ '@rollup/rollup-darwin-x64': 4.17.1
+ '@rollup/rollup-linux-arm-gnueabihf': 4.17.1
+ '@rollup/rollup-linux-arm-musleabihf': 4.17.1
+ '@rollup/rollup-linux-arm64-gnu': 4.17.1
+ '@rollup/rollup-linux-arm64-musl': 4.17.1
+ '@rollup/rollup-linux-powerpc64le-gnu': 4.17.1
+ '@rollup/rollup-linux-riscv64-gnu': 4.17.1
+ '@rollup/rollup-linux-s390x-gnu': 4.17.1
+ '@rollup/rollup-linux-x64-gnu': 4.17.1
+ '@rollup/rollup-linux-x64-musl': 4.17.1
+ '@rollup/rollup-win32-arm64-msvc': 4.17.1
+ '@rollup/rollup-win32-ia32-msvc': 4.17.1
+ '@rollup/rollup-win32-x64-msvc': 4.17.1
fsevents: 2.3.3
dev: true
- /run-applescript@7.0.0:
- resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
- engines: {node: '>=18'}
- dev: true
-
/run-parallel@1.2.0:
resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
dependencies:
@@ -9707,31 +3626,14 @@ packages:
tslib: 2.6.2
dev: true
- /sade@1.8.1:
- resolution: {integrity: sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==}
- engines: {node: '>=6'}
- dependencies:
- mri: 1.2.0
- dev: true
-
- /safe-array-concat@1.1.0:
- resolution: {integrity: sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==}
+ /safe-array-concat@1.1.2:
+ resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==}
engines: {node: '>=0.4'}
dependencies:
call-bind: 1.0.7
get-intrinsic: 1.2.4
has-symbols: 1.0.3
- isarray: 2.0.5
- dev: true
-
- /safe-buffer@5.1.2:
- resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==}
-
- /safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
-
- /safe-identifier@0.4.2:
- resolution: {integrity: sha512-6pNbSMW6OhAi9j+N8V+U715yBQsaWJ7eyEUaOrawX+isg5ZxhUlV1NipNtgaKHmFGiABwt+ZF04Ii+3Xjkg+8w==}
+ isarray: 2.0.5
dev: true
/safe-regex-test@1.0.3:
@@ -9743,66 +3645,20 @@ packages:
is-regex: 1.1.4
dev: true
- /safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
- dev: true
-
- /saxes@6.0.0:
- resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
- engines: {node: '>=v12.22.7'}
- dependencies:
- xmlchars: 2.2.0
- dev: true
-
- /scheduler@0.23.0:
- resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
- dependencies:
- loose-envify: 1.4.0
-
- /scheduler@0.24.0-canary-efb381bbf-20230505:
- resolution: {integrity: sha512-ABvovCDe/k9IluqSh4/ISoq8tIJnW8euVAWYt5j/bg6dRnqwQwiGO1F/V4AyK96NGF/FB04FhOUDuWj8IKfABA==}
+ /scheduler@0.23.2:
+ resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
dependencies:
loose-envify: 1.4.0
- dev: false
-
- /schema-utils@3.3.0:
- resolution: {integrity: sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==}
- engines: {node: '>= 10.13.0'}
- dependencies:
- '@types/json-schema': 7.0.15
- ajv: 6.12.6
- ajv-keywords: 3.5.2(ajv@6.12.6)
- dev: true
-
- /schema-utils@4.2.0:
- resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==}
- engines: {node: '>= 12.13.0'}
- dependencies:
- '@types/json-schema': 7.0.15
- ajv: 8.12.0
- ajv-formats: 2.1.1(ajv@8.12.0)
- ajv-keywords: 5.1.0(ajv@8.12.0)
- dev: true
-
- /select-hose@2.0.0:
- resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==}
- dev: true
-
- /selfsigned@2.4.1:
- resolution: {integrity: sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==}
- engines: {node: '>=10'}
- dependencies:
- '@types/node-forge': 1.3.11
- node-forge: 1.3.1
- dev: true
/semver@5.7.2:
resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
hasBin: true
+ dev: true
/semver@6.3.1:
resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
hasBin: true
+ dev: true
/semver@7.6.0:
resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==}
@@ -9810,76 +3666,10 @@ packages:
hasBin: true
dependencies:
lru-cache: 6.0.0
-
- /send@0.18.0:
- resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- debug: 2.6.9
- depd: 2.0.0
- destroy: 1.2.0
- encodeurl: 1.0.2
- escape-html: 1.0.3
- etag: 1.8.1
- fresh: 0.5.2
- http-errors: 2.0.0
- mime: 1.6.0
- ms: 2.1.3
- on-finished: 2.4.1
- range-parser: 1.2.1
- statuses: 2.0.1
- transitivePeerDependencies:
- - supports-color
-
- /serialize-error@2.1.0:
- resolution: {integrity: sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==}
- engines: {node: '>=0.10.0'}
- dev: false
-
- /serialize-javascript@4.0.0:
- resolution: {integrity: sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==}
- dependencies:
- randombytes: 2.1.0
- dev: true
-
- /serialize-javascript@6.0.2:
- resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==}
- dependencies:
- randombytes: 2.1.0
- dev: true
-
- /serve-index@1.9.1:
- resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- accepts: 1.3.8
- batch: 0.6.1
- debug: 2.6.9
- escape-html: 1.0.3
- http-errors: 1.6.3
- mime-types: 2.1.35
- parseurl: 1.3.3
- transitivePeerDependencies:
- - supports-color
dev: true
- /serve-static@1.15.0:
- resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==}
- engines: {node: '>= 0.8.0'}
- dependencies:
- encodeurl: 1.0.2
- escape-html: 1.0.3
- parseurl: 1.3.3
- send: 0.18.0
- transitivePeerDependencies:
- - supports-color
-
- /set-blocking@2.0.0:
- resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==}
- dev: false
-
- /set-function-length@1.2.1:
- resolution: {integrity: sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==}
+ /set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
engines: {node: '>= 0.4'}
dependencies:
define-data-property: 1.1.4
@@ -9900,19 +3690,6 @@ packages:
has-property-descriptors: 1.0.2
dev: true
- /setprototypeof@1.1.0:
- resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
- dev: true
-
- /setprototypeof@1.2.0:
- resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
-
- /shallow-clone@3.0.1:
- resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==}
- engines: {node: '>=8'}
- dependencies:
- kind-of: 6.0.3
-
/shebang-command@1.2.0:
resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==}
engines: {node: '>=0.10.0'}
@@ -9925,6 +3702,7 @@ packages:
engines: {node: '>=8'}
dependencies:
shebang-regex: 3.0.0
+ dev: true
/shebang-regex@1.0.0:
resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==}
@@ -9934,9 +3712,11 @@ packages:
/shebang-regex@3.0.0:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
+ dev: true
/shell-quote@1.8.1:
resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==}
+ dev: true
/side-channel@1.0.6:
resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==}
@@ -9948,105 +3728,59 @@ packages:
object-inspect: 1.13.1
dev: true
+ /siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+ dev: true
+
/signal-exit@3.0.7:
resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ dev: true
/signal-exit@4.1.0:
resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
engines: {node: '>=14'}
dev: true
- /sisteransi@1.0.5:
- resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
-
/slash@3.0.0:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'}
-
- /slice-ansi@2.1.0:
- resolution: {integrity: sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==}
- engines: {node: '>=6'}
- dependencies:
- ansi-styles: 3.2.1
- astral-regex: 1.0.0
- is-fullwidth-code-point: 2.0.0
- dev: false
+ dev: true
/smart-buffer@4.2.0:
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
dev: true
- /sockjs@0.3.24:
- resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
- dependencies:
- faye-websocket: 0.11.4
- uuid: 8.3.2
- websocket-driver: 0.7.4
- dev: true
-
- /socks-proxy-agent@8.0.2:
- resolution: {integrity: sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==}
+ /socks-proxy-agent@8.0.3:
+ resolution: {integrity: sha512-VNegTZKhuGq5vSD6XNKlbqWhyt/40CgoEw8XxD6dhnm8Jq9IEa3nIa4HwnM8XOqU0CdB0BwWVXusqiFXfHB3+A==}
engines: {node: '>= 14'}
dependencies:
- agent-base: 7.1.0
+ agent-base: 7.1.1
debug: 4.3.4
- socks: 2.8.1
+ socks: 2.8.3
transitivePeerDependencies:
- supports-color
dev: true
- /socks@2.8.1:
- resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==}
+ /socks@2.8.3:
+ resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==}
engines: {node: '>= 10.0.0', npm: '>= 3.0.0'}
dependencies:
ip-address: 9.0.5
smart-buffer: 4.2.0
dev: true
- /source-map-js@1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
+ /source-map-js@1.2.0:
+ resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==}
engines: {node: '>=0.10.0'}
dev: true
- /source-map-support@0.5.13:
- resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==}
- dependencies:
- buffer-from: 1.1.2
- source-map: 0.6.1
- dev: true
-
- /source-map-support@0.5.21:
- resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
- dependencies:
- buffer-from: 1.1.2
- source-map: 0.6.1
-
- /source-map@0.5.7:
- resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==}
- engines: {node: '>=0.10.0'}
- dev: false
-
/source-map@0.6.1:
resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==}
engines: {node: '>=0.10.0'}
-
- /source-map@0.7.4:
- resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==}
- engines: {node: '>= 8'}
-
- /sourcemap-codec@1.4.8:
- resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==}
- deprecated: Please use @jridgewell/sourcemap-codec instead
- dev: true
-
- /spawnd@10.0.0:
- resolution: {integrity: sha512-6GKcakMTryb5b1SWCvdubCDHEsR2k+5VZUD5G19umZRarkvj1RyCGyizcqhjewI7cqZo8fTVD8HpnDZbVOLMtg==}
- engines: {node: '>=16'}
- dependencies:
- signal-exit: 4.1.0
- tree-kill: 1.2.2
+ requiresBuild: true
dev: true
+ optional: true
/spdx-correct@3.2.0:
resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
@@ -10070,67 +3804,20 @@ packages:
resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==}
dev: true
- /spdy-transport@3.0.0:
- resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==}
- dependencies:
- debug: 4.3.4
- detect-node: 2.1.0
- hpack.js: 2.1.6
- obuf: 1.1.2
- readable-stream: 3.6.2
- wbuf: 1.7.3
- transitivePeerDependencies:
- - supports-color
- dev: true
-
- /spdy@4.0.2:
- resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
- engines: {node: '>=6.0.0'}
- dependencies:
- debug: 4.3.4
- handle-thing: 2.0.1
- http-deceiver: 1.2.7
- select-hose: 2.0.0
- spdy-transport: 3.0.0
- transitivePeerDependencies:
- - supports-color
- dev: true
-
/split@0.3.3:
resolution: {integrity: sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==}
dependencies:
through: 2.3.8
dev: true
- /sprintf-js@1.0.3:
- resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
-
/sprintf-js@1.1.3:
resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==}
dev: true
- /stable@0.1.8:
- resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==}
- deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility'
+ /stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
dev: true
- /stack-utils@2.0.6:
- resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==}
- engines: {node: '>=10'}
- dependencies:
- escape-string-regexp: 2.0.0
-
- /stackframe@1.3.4:
- resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
- dev: false
-
- /stacktrace-parser@0.1.10:
- resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==}
- engines: {node: '>=6'}
- dependencies:
- type-fest: 0.7.1
- dev: false
-
/start-server-and-test@2.0.3:
resolution: {integrity: sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==}
engines: {node: '>=16'}
@@ -10148,19 +3835,8 @@ packages:
- supports-color
dev: true
- /statuses@1.5.0:
- resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
- engines: {node: '>= 0.6'}
-
- /statuses@2.0.1:
- resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
- engines: {node: '>= 0.8'}
-
- /stop-iteration-iterator@1.0.0:
- resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==}
- engines: {node: '>= 0.4'}
- dependencies:
- internal-slot: 1.0.7
+ /std-env@3.7.0:
+ resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
dev: true
/stream-combiner@0.0.4:
@@ -10175,19 +3851,7 @@ packages:
fast-fifo: 1.3.2
queue-tick: 1.0.1
optionalDependencies:
- bare-events: 2.2.1
- dev: true
-
- /string-hash@1.1.3:
- resolution: {integrity: sha512-kJUvRUFK49aub+a7T1nNE66EJbZBMnBgoC1UbCZ5n6bsZKBRga4KgBRTMn/pFkeCZSYtNeSyMxPDM0AXWELk2A==}
- dev: true
-
- /string-length@4.0.2:
- resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==}
- engines: {node: '>=10'}
- dependencies:
- char-regex: 1.0.2
- strip-ansi: 6.0.1
+ bare-events: 2.2.2
dev: true
/string-width@4.2.3:
@@ -10197,23 +3861,19 @@ packages:
emoji-regex: 8.0.0
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
-
- /string-width@5.1.2:
- resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
- engines: {node: '>=12'}
- dependencies:
- eastasianwidth: 0.2.0
- emoji-regex: 9.2.2
- strip-ansi: 7.1.0
dev: true
- /string.prototype.matchall@4.0.10:
- resolution: {integrity: sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==}
+ /string.prototype.matchall@4.0.11:
+ resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==}
+ engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
+ es-abstract: 1.23.3
+ es-errors: 1.3.0
+ es-object-atoms: 1.0.0
get-intrinsic: 1.2.4
+ gopd: 1.0.1
has-symbols: 1.0.3
internal-slot: 1.0.7
regexp.prototype.flags: 1.5.2
@@ -10221,75 +3881,48 @@ packages:
side-channel: 1.0.6
dev: true
- /string.prototype.padend@3.1.5:
- resolution: {integrity: sha512-DOB27b/2UTTD+4myKUFh+/fXWcu/UDyASIXfg+7VzoCNNGOfWvoyU/x5pvVHr++ztyt/oSYI1BcWBBG/hmlNjA==}
+ /string.prototype.padend@3.1.6:
+ resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
dev: true
- /string.prototype.trim@1.2.8:
- resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==}
+ /string.prototype.trim@1.2.9:
+ resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
+ es-abstract: 1.23.3
+ es-object-atoms: 1.0.0
dev: true
- /string.prototype.trimend@1.0.7:
- resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==}
+ /string.prototype.trimend@1.0.8:
+ resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==}
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
+ es-object-atoms: 1.0.0
dev: true
- /string.prototype.trimstart@1.0.7:
- resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==}
+ /string.prototype.trimstart@1.0.8:
+ resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
- es-abstract: 1.22.5
- dev: true
-
- /string_decoder@1.1.1:
- resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==}
- dependencies:
- safe-buffer: 5.1.2
-
- /string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
- dependencies:
- safe-buffer: 5.2.1
-
- /strip-ansi@3.0.1:
- resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==}
- engines: {node: '>=0.10.0'}
- dependencies:
- ansi-regex: 2.1.1
+ es-object-atoms: 1.0.0
dev: true
- /strip-ansi@5.2.0:
- resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==}
- engines: {node: '>=6'}
- dependencies:
- ansi-regex: 4.1.1
- dev: false
-
/strip-ansi@6.0.1:
resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
engines: {node: '>=8'}
dependencies:
ansi-regex: 5.0.1
-
- /strip-ansi@7.1.0:
- resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
- engines: {node: '>=12'}
- dependencies:
- ansi-regex: 6.0.1
dev: true
/strip-bom@3.0.0:
@@ -10297,46 +3930,32 @@ packages:
engines: {node: '>=4'}
dev: true
- /strip-bom@4.0.0:
- resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==}
- engines: {node: '>=8'}
- dev: true
-
/strip-final-newline@2.0.0:
resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
engines: {node: '>=6'}
-
- /strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
dev: true
- /strnum@1.0.5:
- resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==}
- dev: false
-
- /style-inject@0.3.0:
- resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==}
+ /strip-final-newline@3.0.0:
+ resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==}
+ engines: {node: '>=12'}
dev: true
- /stylehacks@5.1.1(postcss@8.4.35):
- resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==}
- engines: {node: ^10 || ^12 || >=14.0}
- peerDependencies:
- postcss: ^8.2.15
+ /strip-indent@3.0.0:
+ resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
+ engines: {node: '>=8'}
dependencies:
- browserslist: 4.23.0
- postcss: 8.4.35
- postcss-selector-parser: 6.0.15
+ min-indent: 1.0.1
dev: true
- /sudo-prompt@9.2.1:
- resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==}
- dev: false
+ /strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+ dev: true
- /supports-color@2.0.0:
- resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==}
- engines: {node: '>=0.8.0'}
+ /strip-literal@2.1.0:
+ resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==}
+ dependencies:
+ js-tokens: 9.0.0
dev: true
/supports-color@5.5.0:
@@ -10344,39 +3963,18 @@ packages:
engines: {node: '>=4'}
dependencies:
has-flag: 3.0.0
+ dev: true
/supports-color@7.2.0:
resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
engines: {node: '>=8'}
dependencies:
has-flag: 4.0.0
-
- /supports-color@8.1.1:
- resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==}
- engines: {node: '>=10'}
- dependencies:
- has-flag: 4.0.0
+ dev: true
/supports-preserve-symlinks-flag@1.0.0:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'}
-
- /svgo@2.8.0:
- resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==}
- engines: {node: '>=10.13.0'}
- hasBin: true
- dependencies:
- '@trysound/sax': 0.2.0
- commander: 7.2.0
- css-select: 4.3.0
- css-tree: 1.1.3
- csso: 4.2.0
- picocolors: 1.0.0
- stable: 0.1.8
- dev: true
-
- /symbol-tree@3.2.4:
- resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
dev: true
/tapable@2.2.1:
@@ -10390,8 +3988,8 @@ packages:
pump: 3.0.0
tar-stream: 3.1.7
optionalDependencies:
- bare-fs: 2.2.1
- bare-path: 2.1.0
+ bare-fs: 2.3.0
+ bare-path: 2.1.2
dev: true
/tar-stream@3.1.7:
@@ -10402,190 +4000,46 @@ packages:
streamx: 2.16.1
dev: true
- /temp-dir@2.0.0:
- resolution: {integrity: sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==}
- engines: {node: '>=8'}
- dev: false
-
- /temp@0.8.4:
- resolution: {integrity: sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==}
- engines: {node: '>=6.0.0'}
- dependencies:
- rimraf: 2.6.3
- dev: false
-
- /terser-webpack-plugin@5.3.10(webpack@5.90.3):
- resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==}
- engines: {node: '>= 10.13.0'}
- peerDependencies:
- '@swc/core': '*'
- esbuild: '*'
- uglify-js: '*'
- webpack: ^5.1.0
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- esbuild:
- optional: true
- uglify-js:
- optional: true
- dependencies:
- '@jridgewell/trace-mapping': 0.3.24
- jest-worker: 27.5.1
- schema-utils: 3.3.0
- serialize-javascript: 6.0.2
- terser: 5.28.1
- webpack: 5.90.3(webpack-cli@5.1.4)
- dev: true
-
- /terser@5.28.1:
- resolution: {integrity: sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==}
- engines: {node: '>=10'}
- hasBin: true
- dependencies:
- '@jridgewell/source-map': 0.3.5
- acorn: 8.11.3
- commander: 2.20.3
- source-map-support: 0.5.21
-
- /test-exclude@6.0.0:
- resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
- engines: {node: '>=8'}
- dependencies:
- '@istanbuljs/schema': 0.1.3
- glob: 7.2.3
- minimatch: 3.1.2
- dev: true
-
/text-table@0.2.0:
resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
dev: true
- /throat@5.0.0:
- resolution: {integrity: sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==}
- dev: false
-
- /through2@2.0.5:
- resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==}
- dependencies:
- readable-stream: 2.3.8
- xtend: 4.0.2
- dev: false
-
/through@2.3.8:
resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
dev: true
- /thunky@1.1.0:
- resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==}
- dev: true
-
- /tiny-glob@0.2.9:
- resolution: {integrity: sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==}
- dependencies:
- globalyzer: 0.1.0
- globrex: 0.1.2
- dev: true
-
- /tmpl@1.0.5:
- resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==}
-
- /to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
-
- /to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
- dependencies:
- is-number: 7.0.0
-
- /toidentifier@1.0.1:
- resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
- engines: {node: '>=0.6'}
-
- /tough-cookie@4.1.3:
- resolution: {integrity: sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==}
- engines: {node: '>=6'}
- dependencies:
- psl: 1.9.0
- punycode: 2.3.1
- universalify: 0.2.0
- url-parse: 1.5.10
- dev: true
-
- /tr46@0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
-
- /tr46@3.0.0:
- resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==}
- engines: {node: '>=12'}
- dependencies:
- punycode: 2.3.1
+ /tinybench@2.8.0:
+ resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==}
dev: true
- /tree-kill@1.2.2:
- resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
- hasBin: true
+ /tinypool@0.8.4:
+ resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==}
+ engines: {node: '>=14.0.0'}
dev: true
- /ts-api-utils@1.2.1(typescript@5.3.3):
- resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==}
- engines: {node: '>=16'}
- peerDependencies:
- typescript: '>=4.2.0'
- dependencies:
- typescript: 5.3.3
+ /tinyspy@2.2.1:
+ resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==}
+ engines: {node: '>=14.0.0'}
dev: true
- /ts-jest@29.1.2(@babel/core@7.24.0)(jest@29.7.0)(typescript@5.3.3):
- resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==}
- engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0}
- hasBin: true
- peerDependencies:
- '@babel/core': '>=7.0.0-beta.0 <8'
- '@jest/types': ^29.0.0
- babel-jest: ^29.0.0
- esbuild: '*'
- jest: ^29.0.0
- typescript: '>=4.3 <6'
- peerDependenciesMeta:
- '@babel/core':
- optional: true
- '@jest/types':
- optional: true
- babel-jest:
- optional: true
- esbuild:
- optional: true
+ /to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
dependencies:
- '@babel/core': 7.24.0
- bs-logger: 0.2.6
- fast-json-stable-stringify: 2.1.0
- jest: 29.7.0
- jest-util: 29.7.0
- json5: 2.2.3
- lodash.memoize: 4.1.2
- make-error: 1.3.6
- semver: 7.6.0
- typescript: 5.3.3
- yargs-parser: 21.1.1
+ is-number: 7.0.0
dev: true
- /ts-loader@9.5.1(typescript@5.3.3)(webpack@5.90.3):
- resolution: {integrity: sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==}
- engines: {node: '>=12.0.0'}
+ /ts-api-utils@1.3.0(typescript@5.4.5):
+ resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
+ engines: {node: '>=16'}
peerDependencies:
- typescript: '*'
- webpack: ^5.0.0
+ typescript: '>=4.2.0'
dependencies:
- chalk: 4.1.2
- enhanced-resolve: 5.15.1
- micromatch: 4.0.5
- semver: 7.6.0
- source-map: 0.7.4
- typescript: 5.3.3
- webpack: 5.90.3(webpack-cli@5.1.4)
+ typescript: 5.4.5
+ dev: true
+
+ /ts-expect@1.3.0:
+ resolution: {integrity: sha512-e4g0EJtAjk64xgnFPD6kTBUtpnMVzDrMb12N1YZV0VvSlhnVT3SGxiYTLdGy8Q5cYHOIC/FAHmZ10eGrAguicQ==}
dev: true
/tsconfig-paths@3.15.0:
@@ -10599,6 +4053,7 @@ packages:
/tslib@2.6.2:
resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==}
+ dev: true
/type-check@0.4.0:
resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
@@ -10610,30 +4065,13 @@ packages:
/type-detect@4.0.8:
resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
engines: {node: '>=4'}
+ dev: true
/type-fest@0.20.2:
resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
engines: {node: '>=10'}
dev: true
- /type-fest@0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
- dev: true
-
- /type-fest@0.7.1:
- resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==}
- engines: {node: '>=8'}
- dev: false
-
- /type-is@1.6.18:
- resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==}
- engines: {node: '>= 0.6'}
- dependencies:
- media-typer: 0.3.0
- mime-types: 2.1.35
- dev: true
-
/typed-array-buffer@1.0.2:
resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==}
engines: {node: '>= 0.4'}
@@ -10666,8 +4104,8 @@ packages:
is-typed-array: 1.1.13
dev: true
- /typed-array-length@1.0.5:
- resolution: {integrity: sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==}
+ /typed-array-length@1.0.6:
+ resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==}
engines: {node: '>= 0.4'}
dependencies:
call-bind: 1.0.7
@@ -10694,16 +4132,14 @@ packages:
typescript-compare: 0.0.2
dev: true
- /typescript@4.9.5:
- resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==}
- engines: {node: '>=4.2.0'}
+ /typescript@5.4.5:
+ resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
+ engines: {node: '>=14.17'}
hasBin: true
dev: true
- /typescript@5.3.3:
- resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==}
- engines: {node: '>=14.17'}
- hasBin: true
+ /ufo@1.5.3:
+ resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==}
dev: true
/unbox-primitive@1.0.2:
@@ -10724,34 +4160,6 @@ packages:
/undici-types@5.26.5:
resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==}
-
- /unicode-canonical-property-names-ecmascript@2.0.0:
- resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
- engines: {node: '>=4'}
-
- /unicode-match-property-ecmascript@2.0.0:
- resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==}
- engines: {node: '>=4'}
- dependencies:
- unicode-canonical-property-names-ecmascript: 2.0.0
- unicode-property-aliases-ecmascript: 2.1.0
-
- /unicode-match-property-value-ecmascript@2.1.0:
- resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==}
- engines: {node: '>=4'}
-
- /unicode-property-aliases-ecmascript@2.1.0:
- resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
- engines: {node: '>=4'}
-
- /universalify@0.1.2:
- resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
- engines: {node: '>= 4.0.0'}
- dev: false
-
- /universalify@0.2.0:
- resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==}
- engines: {node: '>= 4.0.0'}
dev: true
/universalify@2.0.1:
@@ -10759,99 +4167,44 @@ packages:
engines: {node: '>= 10.0.0'}
dev: true
- /unpipe@1.0.0:
- resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
- engines: {node: '>= 0.8'}
-
- /update-browserslist-db@1.0.13(browserslist@4.23.0):
- resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==}
- hasBin: true
- peerDependencies:
- browserslist: '>= 4.21.0'
- dependencies:
- browserslist: 4.23.0
- escalade: 3.1.2
- picocolors: 1.0.0
-
/uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
dependencies:
punycode: 2.3.1
dev: true
- /url-parse@1.5.10:
- resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==}
- dependencies:
- querystringify: 2.2.0
- requires-port: 1.0.0
- dev: true
-
/urlpattern-polyfill@10.0.0:
resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==}
dev: true
- /use-context-selector@1.4.4(react-dom@18.2.0)(react-native@0.73.5)(react@18.2.0)(scheduler@0.23.0):
- resolution: {integrity: sha512-pS790zwGxxe59GoBha3QYOwk8AFGp4DN6DOtH+eoqVmgBBRXVx4IlPDhJmmMiNQAgUaLlP+58aqRC3A4rdaSjg==}
+ /use-context-selector@2.0.0-beta.0(react@18.3.1)(scheduler@0.23.2):
+ resolution: {integrity: sha512-AODu0x/FzGXTWnVDD/zTSP6JQ3n5LWQm8PKJzrmzX9vQuXuw83Chf1pBYzq9TkCy2Hi1L1b8W02fBBbftKQrIA==}
peerDependencies:
- react: '>=16.8.0'
- react-dom: '*'
- react-native: '*'
+ react: '>=18.0.0'
scheduler: '>=0.19.0'
- peerDependenciesMeta:
- react-dom:
- optional: true
- react-native:
- optional: true
dependencies:
- react: 18.2.0
- react-dom: 18.2.0(react@18.2.0)
- react-native: 0.73.5(@babel/core@7.24.0)(@babel/preset-env@7.24.0)(react@18.2.0)
- scheduler: 0.23.0
+ react: 18.3.1
+ scheduler: 0.23.2
dev: false
- /use-reducer-async@2.1.1(react@18.2.0):
+ /use-reducer-async@2.1.1(react@18.3.1):
resolution: {integrity: sha512-oPSFzOIEPgMenQkMHzqeRgsQLSpcyGkspAnyTWP4l1tKlt31wMVMz6wWj6g/jea/Ms7lRvBz4AL+Okt83Tntig==}
peerDependencies:
react: '>=16.8.0'
dependencies:
- react: 18.2.0
+ react: 18.3.1
dev: true
- /use-saga-reducer@3.0.0(react@18.2.0)(redux-saga@1.3.0):
+ /use-saga-reducer@3.0.0(react@18.3.1)(redux-saga@1.3.0):
resolution: {integrity: sha512-uVrFbNmV/ZzCsll18oK8MWk8iDrmnGKcHGNfQ+6ARN7AIxnqjIOeEFEMO1X/kRvuFY5QxtlFO1bfVpSUNfTRPQ==}
peerDependencies:
react: '>=16.9.0'
redux-saga: ^1.0.5
dependencies:
- react: 18.2.0
+ react: 18.3.1
redux-saga: 1.3.0
dev: true
- /util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
-
- /utila@0.4.0:
- resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==}
- dev: true
-
- /utils-merge@1.0.1:
- resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==}
- engines: {node: '>= 0.4.0'}
-
- /uuid@8.3.2:
- resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==}
- hasBin: true
- dev: true
-
- /v8-to-istanbul@9.2.0:
- resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==}
- engines: {node: '>=10.12.0'}
- dependencies:
- '@jridgewell/trace-mapping': 0.3.24
- '@types/istanbul-lib-coverage': 2.0.6
- convert-source-map: 2.0.0
- dev: true
-
/validate-npm-package-license@3.0.4:
resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
dependencies:
@@ -10859,270 +4212,144 @@ packages:
spdx-expression-parse: 3.0.1
dev: true
- /vary@1.1.2:
- resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
- engines: {node: '>= 0.8'}
-
- /vlq@1.0.1:
- resolution: {integrity: sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==}
- dev: false
-
- /w3c-xmlserializer@4.0.0:
- resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==}
- engines: {node: '>=14'}
- dependencies:
- xml-name-validator: 4.0.0
- dev: true
-
- /wait-on@7.2.0(debug@4.3.4):
- resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
- engines: {node: '>=12.0.0'}
+ /vite-node@1.5.2(@types/node@20.12.7):
+ resolution: {integrity: sha512-Y8p91kz9zU+bWtF7HGt6DVw2JbhyuB2RlZix3FPYAYmUyZ3n7iTp8eSyLyY6sxtPegvxQtmlTMhfPhUfCUF93A==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
dependencies:
- axios: 1.6.7(debug@4.3.4)
- joi: 17.12.2
- lodash: 4.17.21
- minimist: 1.2.8
- rxjs: 7.8.1
+ cac: 6.7.14
+ debug: 4.3.4
+ pathe: 1.1.2
+ picocolors: 1.0.0
+ vite: 5.2.10(@types/node@20.12.7)
transitivePeerDependencies:
- - debug
- dev: true
-
- /walker@1.0.8:
- resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==}
- dependencies:
- makeerror: 1.0.12
-
- /watchpack@2.4.0:
- resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==}
- engines: {node: '>=10.13.0'}
- dependencies:
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
- dev: true
-
- /wbuf@1.7.3:
- resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==}
- dependencies:
- minimalistic-assert: 1.0.1
- dev: true
-
- /wcwidth@1.0.1:
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
- dependencies:
- defaults: 1.0.4
- dev: false
-
- /webidl-conversions@3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
-
- /webidl-conversions@7.0.0:
- resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
- engines: {node: '>=12'}
+ - '@types/node'
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
dev: true
- /webpack-cli@5.1.4(webpack-dev-server@5.0.2)(webpack@5.90.3):
- resolution: {integrity: sha512-pIDJHIEI9LR0yxHXQ+Qh95k2EvXpWzZ5l+d+jIo+RdSm9MiHfzazIxwwni/p7+x4eJZuvG1AJwgC4TNQ7NRgsg==}
- engines: {node: '>=14.15.0'}
+ /vite@5.2.10(@types/node@20.12.7):
+ resolution: {integrity: sha512-PAzgUZbP7msvQvqdSD+ErD5qGnSFiGOoWmV5yAKUEI0kdhjbH6nMWVyZQC/hSc4aXwc0oJ9aEdIiF9Oje0JFCw==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
- '@webpack-cli/generators': '*'
- webpack: 5.x.x
- webpack-bundle-analyzer: '*'
- webpack-dev-server: '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ less: '*'
+ lightningcss: ^1.21.0
+ sass: '*'
+ stylus: '*'
+ sugarss: '*'
+ terser: ^5.4.0
peerDependenciesMeta:
- '@webpack-cli/generators':
+ '@types/node':
optional: true
- webpack-bundle-analyzer:
+ less:
optional: true
- webpack-dev-server:
+ lightningcss:
optional: true
- dependencies:
- '@discoveryjs/json-ext': 0.5.7
- '@webpack-cli/configtest': 2.1.1(webpack-cli@5.1.4)(webpack@5.90.3)
- '@webpack-cli/info': 2.0.2(webpack-cli@5.1.4)(webpack@5.90.3)
- '@webpack-cli/serve': 2.0.5(webpack-cli@5.1.4)(webpack-dev-server@5.0.2)(webpack@5.90.3)
- colorette: 2.0.20
- commander: 10.0.1
- cross-spawn: 7.0.3
- envinfo: 7.11.1
- fastest-levenshtein: 1.0.16
- import-local: 3.1.0
- interpret: 3.1.1
- rechoir: 0.8.0
- webpack: 5.90.3(webpack-cli@5.1.4)
- webpack-dev-server: 5.0.2(webpack-cli@5.1.4)(webpack@5.90.3)
- webpack-merge: 5.10.0
- dev: true
-
- /webpack-dev-middleware@7.0.0(webpack@5.90.3):
- resolution: {integrity: sha512-tZ5hqsWwww/8DislmrzXE3x+4f+v10H1z57mA2dWFrILb4i3xX+dPhTkcdR0DLyQztrhF2AUmO5nN085UYjd/Q==}
- engines: {node: '>= 18.12.0'}
- peerDependencies:
- webpack: ^5.0.0
- peerDependenciesMeta:
- webpack:
+ sass:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
optional: true
dependencies:
- colorette: 2.0.20
- memfs: 4.7.7
- mime-types: 2.1.35
- range-parser: 1.2.1
- schema-utils: 4.2.0
- webpack: 5.90.3(webpack-cli@5.1.4)
+ '@types/node': 20.12.7
+ esbuild: 0.20.2
+ postcss: 8.4.38
+ rollup: 4.17.1
+ optionalDependencies:
+ fsevents: 2.3.3
dev: true
- /webpack-dev-server@5.0.2(webpack-cli@5.1.4)(webpack@5.90.3):
- resolution: {integrity: sha512-IVj3qsQhiLJR82zVg3QdPtngMD05CYP/Am+9NG5QSl+XwUR/UPtFwllRBKrMwM9ttzFsC6Zj3DMgniPyn/Z0hQ==}
- engines: {node: '>= 18.12.0'}
+ /vitest@1.5.2(@types/node@20.12.7)(happy-dom@14.7.1):
+ resolution: {integrity: sha512-l9gwIkq16ug3xY7BxHwcBQovLZG75zZL0PlsiYQbf76Rz6QGs54416UWMtC0jXeihvHvcHrf2ROEjkQRVpoZYw==}
+ engines: {node: ^18.0.0 || >=20.0.0}
hasBin: true
peerDependencies:
- webpack: ^5.0.0
- webpack-cli: '*'
+ '@edge-runtime/vm': '*'
+ '@types/node': ^18.0.0 || >=20.0.0
+ '@vitest/browser': 1.5.2
+ '@vitest/ui': 1.5.2
+ happy-dom: '*'
+ jsdom: '*'
peerDependenciesMeta:
- webpack:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
optional: true
- webpack-cli:
+ jsdom:
optional: true
dependencies:
- '@types/bonjour': 3.5.13
- '@types/connect-history-api-fallback': 1.5.4
- '@types/express': 4.17.21
- '@types/serve-index': 1.9.4
- '@types/serve-static': 1.15.5
- '@types/sockjs': 0.3.36
- '@types/ws': 8.5.10
- ansi-html-community: 0.0.8
- bonjour-service: 1.2.1
- chokidar: 3.6.0
- colorette: 2.0.20
- compression: 1.7.4
- connect-history-api-fallback: 2.0.0
- default-gateway: 6.0.3
- express: 4.18.3
- graceful-fs: 4.2.11
- html-entities: 2.4.0
- http-proxy-middleware: 2.0.6(@types/express@4.17.21)
- ipaddr.js: 2.1.0
- launch-editor: 2.6.1
- open: 10.0.4
- p-retry: 6.2.0
- rimraf: 5.0.5
- schema-utils: 4.2.0
- selfsigned: 2.4.1
- serve-index: 1.9.1
- sockjs: 0.3.24
- spdy: 4.0.2
- webpack: 5.90.3(webpack-cli@5.1.4)
- webpack-cli: 5.1.4(webpack-dev-server@5.0.2)(webpack@5.90.3)
- webpack-dev-middleware: 7.0.0(webpack@5.90.3)
- ws: 8.16.0
+ '@types/node': 20.12.7
+ '@vitest/expect': 1.5.2
+ '@vitest/runner': 1.5.2
+ '@vitest/snapshot': 1.5.2
+ '@vitest/spy': 1.5.2
+ '@vitest/utils': 1.5.2
+ acorn-walk: 8.3.2
+ chai: 4.4.1
+ debug: 4.3.4
+ execa: 8.0.1
+ happy-dom: 14.7.1
+ local-pkg: 0.5.0
+ magic-string: 0.30.10
+ pathe: 1.1.2
+ picocolors: 1.0.0
+ std-env: 3.7.0
+ strip-literal: 2.1.0
+ tinybench: 2.8.0
+ tinypool: 0.8.4
+ vite: 5.2.10(@types/node@20.12.7)
+ vite-node: 1.5.2(@types/node@20.12.7)
+ why-is-node-running: 2.2.2
transitivePeerDependencies:
- - bufferutil
- - debug
+ - less
+ - lightningcss
+ - sass
+ - stylus
+ - sugarss
- supports-color
- - utf-8-validate
- dev: true
-
- /webpack-merge@5.10.0:
- resolution: {integrity: sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==}
- engines: {node: '>=10.0.0'}
- dependencies:
- clone-deep: 4.0.1
- flat: 5.0.2
- wildcard: 2.0.1
+ - terser
dev: true
- /webpack-sources@3.2.3:
- resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
- engines: {node: '>=10.13.0'}
- dev: true
-
- /webpack@5.90.3(webpack-cli@5.1.4):
- resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==}
- engines: {node: '>=10.13.0'}
+ /wait-on@7.2.0(debug@4.3.4):
+ resolution: {integrity: sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==}
+ engines: {node: '>=12.0.0'}
hasBin: true
- peerDependencies:
- webpack-cli: '*'
- peerDependenciesMeta:
- webpack-cli:
- optional: true
dependencies:
- '@types/eslint-scope': 3.7.7
- '@types/estree': 1.0.5
- '@webassemblyjs/ast': 1.11.6
- '@webassemblyjs/wasm-edit': 1.11.6
- '@webassemblyjs/wasm-parser': 1.11.6
- acorn: 8.11.3
- acorn-import-assertions: 1.9.0(acorn@8.11.3)
- browserslist: 4.23.0
- chrome-trace-event: 1.0.3
- enhanced-resolve: 5.15.1
- es-module-lexer: 1.4.1
- eslint-scope: 5.1.1
- events: 3.3.0
- glob-to-regexp: 0.4.1
- graceful-fs: 4.2.11
- json-parse-even-better-errors: 2.3.1
- loader-runner: 4.3.0
- mime-types: 2.1.35
- neo-async: 2.6.2
- schema-utils: 3.3.0
- tapable: 2.2.1
- terser-webpack-plugin: 5.3.10(webpack@5.90.3)
- watchpack: 2.4.0
- webpack-cli: 5.1.4(webpack-dev-server@5.0.2)(webpack@5.90.3)
- webpack-sources: 3.2.3
+ axios: 1.6.8(debug@4.3.4)
+ joi: 17.13.0
+ lodash: 4.17.21
+ minimist: 1.2.8
+ rxjs: 7.8.1
transitivePeerDependencies:
- - '@swc/core'
- - esbuild
- - uglify-js
- dev: true
-
- /websocket-driver@0.7.4:
- resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==}
- engines: {node: '>=0.8.0'}
- dependencies:
- http-parser-js: 0.5.8
- safe-buffer: 5.2.1
- websocket-extensions: 0.1.4
- dev: true
-
- /websocket-extensions@0.1.4:
- resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==}
- engines: {node: '>=0.8.0'}
+ - debug
dev: true
- /whatwg-encoding@2.0.0:
- resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==}
+ /webidl-conversions@7.0.0:
+ resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
engines: {node: '>=12'}
- dependencies:
- iconv-lite: 0.6.3
dev: true
- /whatwg-fetch@3.6.20:
- resolution: {integrity: sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==}
- dev: false
-
/whatwg-mimetype@3.0.0:
resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==}
engines: {node: '>=12'}
dev: true
- /whatwg-url@11.0.0:
- resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==}
- engines: {node: '>=12'}
- dependencies:
- tr46: 3.0.0
- webidl-conversions: 7.0.0
- dev: true
-
- /whatwg-url@5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
- dependencies:
- tr46: 0.0.3
- webidl-conversions: 3.0.1
-
/which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}
dependencies:
@@ -11147,25 +4374,22 @@ packages:
is-weakref: 1.0.2
isarray: 2.0.5
which-boxed-primitive: 1.0.2
- which-collection: 1.0.1
- which-typed-array: 1.1.14
+ which-collection: 1.0.2
+ which-typed-array: 1.1.15
dev: true
- /which-collection@1.0.1:
- resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==}
+ /which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
dependencies:
- is-map: 2.0.2
- is-set: 2.0.2
- is-weakmap: 2.0.1
- is-weakset: 2.0.2
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-weakmap: 2.0.2
+ is-weakset: 2.0.3
dev: true
- /which-module@2.0.1:
- resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==}
- dev: false
-
- /which-typed-array@1.1.14:
- resolution: {integrity: sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==}
+ /which-typed-array@1.1.15:
+ resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==}
engines: {node: '>= 0.4'}
dependencies:
available-typed-arrays: 1.0.7
@@ -11188,19 +4412,21 @@ packages:
hasBin: true
dependencies:
isexe: 2.0.0
-
- /wildcard@2.0.1:
- resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==}
dev: true
- /wrap-ansi@6.2.0:
- resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ /why-is-node-running@2.2.2:
+ resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
engines: {node: '>=8'}
+ hasBin: true
dependencies:
- ansi-styles: 4.3.0
- string-width: 4.2.3
- strip-ansi: 6.0.1
- dev: false
+ siginfo: 2.0.0
+ stackback: 0.0.2
+ dev: true
+
+ /word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+ dev: true
/wrap-ansi@7.0.0:
resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
@@ -11209,62 +4435,12 @@ packages:
ansi-styles: 4.3.0
string-width: 4.2.3
strip-ansi: 6.0.1
-
- /wrap-ansi@8.1.0:
- resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
- engines: {node: '>=12'}
- dependencies:
- ansi-styles: 6.2.1
- string-width: 5.1.2
- strip-ansi: 7.1.0
dev: true
/wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
-
- /write-file-atomic@2.4.3:
- resolution: {integrity: sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==}
- dependencies:
- graceful-fs: 4.2.11
- imurmurhash: 0.1.4
- signal-exit: 3.0.7
- dev: false
-
- /write-file-atomic@4.0.2:
- resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==}
- engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
- dependencies:
- imurmurhash: 0.1.4
- signal-exit: 3.0.7
dev: true
- /ws@6.2.2:
- resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
- dependencies:
- async-limiter: 1.0.1
- dev: false
-
- /ws@7.5.9:
- resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==}
- engines: {node: '>=8.3.0'}
- peerDependencies:
- bufferutil: ^4.0.1
- utf-8-validate: ^5.0.2
- peerDependenciesMeta:
- bufferutil:
- optional: true
- utf-8-validate:
- optional: true
- dev: false
-
/ws@8.16.0:
resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==}
engines: {node: '>=10.0.0'}
@@ -11278,73 +4454,19 @@ packages:
optional: true
dev: true
- /xml-name-validator@4.0.0:
- resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
- engines: {node: '>=12'}
- dev: true
-
- /xmlchars@2.2.0:
- resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
- dev: true
-
- /xtend@4.0.2:
- resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==}
- engines: {node: '>=0.4'}
- dev: false
-
- /y18n@4.0.3:
- resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==}
- dev: false
-
/y18n@5.0.8:
resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
engines: {node: '>=10'}
-
- /yallist@3.1.1:
- resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+ dev: true
/yallist@4.0.0:
resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
-
- /yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
dev: true
- /yaml@2.4.0:
- resolution: {integrity: sha512-j9iR8g+/t0lArF4V6NE/QCfT+CO7iLqrXAHZbJdo+LfjqP1vR8Fg5bSiaq6Q2lOD1AUEVrEVIgABvBFYojJVYQ==}
- engines: {node: '>= 14'}
- hasBin: true
- dev: false
-
- /yargs-parser@18.1.3:
- resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==}
- engines: {node: '>=6'}
- dependencies:
- camelcase: 5.3.1
- decamelize: 1.2.0
- dev: false
-
/yargs-parser@21.1.1:
resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
engines: {node: '>=12'}
-
- /yargs@15.4.1:
- resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==}
- engines: {node: '>=8'}
- dependencies:
- cliui: 6.0.0
- decamelize: 1.2.0
- find-up: 4.1.0
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- require-main-filename: 2.0.0
- set-blocking: 2.0.0
- string-width: 4.2.3
- which-module: 2.0.1
- y18n: 4.0.3
- yargs-parser: 18.1.3
- dev: false
+ dev: true
/yargs@17.7.2:
resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
@@ -11357,6 +4479,7 @@ packages:
string-width: 4.2.3
y18n: 5.0.8
yargs-parser: 21.1.1
+ dev: true
/yauzl@2.10.0:
resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==}
@@ -11368,3 +4491,13 @@ packages:
/yocto-queue@0.1.0:
resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
engines: {node: '>=10'}
+ dev: true
+
+ /yocto-queue@1.0.0:
+ resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==}
+ engines: {node: '>=12.20'}
+ dev: true
+
+ /zod@3.22.4:
+ resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==}
+ dev: true
diff --git a/src/createContainer.ts b/src/createContainer.ts
index 87401c38..46982df6 100644
--- a/src/createContainer.ts
+++ b/src/createContainer.ts
@@ -1,25 +1,22 @@
-/* eslint react/destructuring-assignment: off */
-
import {
- ComponentType,
- Context as ContextOrig,
- ReactNode,
createContext as createContextOrig,
createElement,
useCallback,
useContext as useContextOrig,
useDebugValue,
} from 'react';
+import type { ComponentType, Context as ContextOrig, ReactNode } from 'react';
import {
- Context,
createContext,
useContextSelector,
useContextUpdate,
} from 'use-context-selector';
+import type { Context } from 'use-context-selector';
-import { createTrackedSelector } from './createTrackedSelector';
+import { createTrackedSelector } from './createTrackedSelector.js';
+// eslint-disable-next-line @typescript-eslint/no-explicit-any
type AnyFunction = (...args: any[]) => any;
type Options = {
defaultState?: State;
@@ -27,11 +24,11 @@ type Options = {
stateContextName?: string;
updateContextName?: string;
concurrentMode?: boolean;
-}
+};
/**
* [Deprecated] Please use object option
*/
-type DeprecatedOption = boolean
+type DeprecatedOption = boolean;
export const createContainer = (
useValue: (props: Props) => readonly [State, Update],
@@ -39,7 +36,9 @@ export const createContainer = (
) => {
if (typeof options === 'boolean') {
// eslint-disable-next-line no-console
- console.warn('boolean option is deprecated, please specify { concurrentMode: true }');
+ console.warn(
+ 'boolean option is deprecated, please specify { concurrentMode: true }',
+ );
options = { concurrentMode: options };
}
const {
@@ -48,7 +47,9 @@ export const createContainer = (
concurrentMode,
} = options || {};
const StateContext = createContext(options?.defaultState);
- const UpdateContext = createContextOrig(options?.defaultUpdate);
+ const UpdateContext = createContextOrig(
+ options?.defaultUpdate,
+ );
StateContext.displayName = stateContextName;
UpdateContext.displayName = updateContextName;
@@ -57,19 +58,18 @@ export const createContainer = (
return createElement(
UpdateContext.Provider,
{ value: update },
- createElement(StateContext.Provider as ComponentType<{
- value: State;
- }>, { value: state }, props.children),
+ createElement(
+ StateContext.Provider as ComponentType<{
+ value: State;
+ }>,
+ { value: state },
+ props.children,
+ ),
);
};
- const useSelector = (
- selector: (state: State) => Selected,
- ) => {
- if (
- typeof process === 'object'
- && process.env.NODE_ENV !== 'production'
- ) {
+ const useSelector = (selector: (state: State) => Selected) => {
+ if (typeof process === 'object' && process.env.NODE_ENV !== 'production') {
const selectorOrig = selector;
selector = (state: State) => {
if (state === undefined) {
@@ -78,7 +78,10 @@ export const createContainer = (
return selectorOrig(state);
};
}
- const selected = useContextSelector(StateContext as Context, selector);
+ const selected = useContextSelector(
+ StateContext as Context,
+ selector,
+ );
useDebugValue(selected);
return selected;
};
@@ -87,39 +90,45 @@ export const createContainer = (
const useUpdate = concurrentMode
? () => {
- if (
- typeof process === 'object'
- && process.env.NODE_ENV !== 'production'
- && useContextOrig(UpdateContext) === undefined
- ) {
- throw new Error('Please use ');
- }
- const contextUpdate = useContextUpdate(StateContext as Context);
- const update = useContextOrig(UpdateContext as ContextOrig);
- return useCallback((...args: Parameters) => {
- let result: ReturnType | undefined;
- contextUpdate(() => {
- result = update(...args);
- });
- return result as ReturnType;
- }, [contextUpdate, update]);
- }
- // not concurrentMode
- : () => {
- if (
- typeof process === 'object'
- && process.env.NODE_ENV !== 'production'
- && useContextOrig(UpdateContext) === undefined
- ) {
- throw new Error('Please use ');
+ if (
+ typeof process === 'object' &&
+ process.env.NODE_ENV !== 'production' &&
+ useContextOrig(UpdateContext) === undefined
+ ) {
+ throw new Error('Please use ');
+ }
+ const contextUpdate = useContextUpdate(
+ StateContext as Context,
+ );
+ const update = useContextOrig(UpdateContext as ContextOrig);
+ return useCallback(
+ (...args: Parameters) => {
+ let result: ReturnType | undefined;
+ contextUpdate(() => {
+ result = update(...args);
+ });
+ return result as ReturnType;
+ },
+ [contextUpdate, update],
+ );
}
- return useContextOrig(UpdateContext as ContextOrig);
- };
+ : // not concurrentMode
+ () => {
+ if (
+ typeof process === 'object' &&
+ process.env.NODE_ENV !== 'production' &&
+ useContextOrig(UpdateContext) === undefined
+ ) {
+ throw new Error('Please use ');
+ }
+ return useContextOrig(UpdateContext as ContextOrig);
+ };
- const useTracked = () => [useTrackedState(), useUpdate()] as [
- ReturnType,
- ReturnType,
- ];
+ const useTracked = () =>
+ [useTrackedState(), useUpdate()] as [
+ ReturnType,
+ ReturnType,
+ ];
return {
Provider,
diff --git a/src/createTrackedSelector.ts b/src/createTrackedSelector.ts
index c0de0668..fe0ec28f 100644
--- a/src/createTrackedSelector.ts
+++ b/src/createTrackedSelector.ts
@@ -1,13 +1,7 @@
-import {
- useCallback,
- useEffect,
- useMemo,
- useReducer,
- useRef,
-} from 'react';
+import { useCallback, useEffect, useMemo, useReducer, useRef } from 'react';
import { createProxy, isChanged } from 'proxy-compare';
-import { useAffectedDebugValue } from './utils';
+import { useAffectedDebugValue } from './utils.js';
export const createTrackedSelector = (
useSelector: (selector: (state: State) => Selected) => Selected,
@@ -19,34 +13,30 @@ export const createTrackedSelector = (
const prevState = useRef();
const lastState = useRef();
useEffect(() => {
- if (prevState.current !== lastState.current
- && isChanged(
- prevState.current,
- lastState.current,
- affected,
- new WeakMap(),
- )) {
+ if (
+ prevState.current !== lastState.current &&
+ isChanged(prevState.current, lastState.current, affected, new WeakMap())
+ ) {
prevState.current = lastState.current;
forceUpdate();
}
});
- const selector = useCallback((nextState: State) => {
- lastState.current = nextState;
- if (prevState.current
- && prevState.current !== nextState
- && !isChanged(
- prevState.current,
- nextState,
- affected,
- new WeakMap(),
- )
- ) {
- // not changed
- return prevState.current;
- }
- prevState.current = nextState;
- return nextState;
- }, [affected]);
+ const selector = useCallback(
+ (nextState: State) => {
+ lastState.current = nextState;
+ if (
+ prevState.current &&
+ prevState.current !== nextState &&
+ !isChanged(prevState.current, nextState, affected, new WeakMap())
+ ) {
+ // not changed
+ return prevState.current;
+ }
+ prevState.current = nextState;
+ return nextState;
+ },
+ [affected],
+ );
const state = useSelector(selector);
if (typeof process === 'object' && process.env.NODE_ENV !== 'production') {
// eslint-disable-next-line react-hooks/rules-of-hooks
diff --git a/src/index.ts b/src/index.ts
index 97ae345e..b15447ca 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1,3 +1,3 @@
-export { createContainer } from './createContainer';
-export { createTrackedSelector } from './createTrackedSelector';
+export { createContainer } from './createContainer.js';
+export { createTrackedSelector } from './createTrackedSelector.js';
export { getUntracked as getUntrackedObject } from 'proxy-compare';
diff --git a/__tests__/01_basic_spec.tsx b/tests/01_basic.spec.tsx
similarity index 85%
rename from __tests__/01_basic_spec.tsx
rename to tests/01_basic.spec.tsx
index c567e3d9..a0981394 100644
--- a/__tests__/01_basic_spec.tsx
+++ b/tests/01_basic.spec.tsx
@@ -1,8 +1,7 @@
-import React, { useReducer, StrictMode } from 'react';
-
+import { afterEach, describe, expect, it } from 'vitest';
import { render, fireEvent, cleanup } from '@testing-library/react';
-
-import { createContainer } from '../src/index';
+import { useReducer, StrictMode } from 'react';
+import { createContainer } from 'react-tracked';
describe('basic spec', () => {
afterEach(cleanup);
@@ -27,7 +26,9 @@ describe('basic spec', () => {
return (
{state.count1}
- dispatch({ type: 'increment' })}>+1
+ dispatch({ type: 'increment' })}>
+ +1
+
);
};
diff --git a/__tests__/__snapshots__/01_basic_spec.tsx.snap b/tests/__snapshots__/01_basic.spec.tsx.snap
similarity index 74%
rename from __tests__/__snapshots__/01_basic_spec.tsx.snap
rename to tests/__snapshots__/01_basic.spec.tsx.snap
index 3efe856e..d3c86432 100644
--- a/__tests__/__snapshots__/01_basic_spec.tsx.snap
+++ b/tests/__snapshots__/01_basic.spec.tsx.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`basic spec create a component 1`] = `
+exports[`basic spec > create a component 1`] = `
@@ -25,7 +25,7 @@ exports[`basic spec create a component 1`] = `
`;
-exports[`basic spec create a component 2`] = `
+exports[`basic spec > create a component 2`] = `
diff --git a/tests/e2e/01_counter.ts b/tests/e2e/01_counter.ts
new file mode 100644
index 00000000..e00abc94
--- /dev/null
+++ b/tests/e2e/01_counter.ts
@@ -0,0 +1,156 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+describe('01_minimal', () => {
+ const port = process.env.PORT || '8080';
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div:nth-child(5) > div > input');
+ await page.click('body > #app > div:nth-child(5) > div > input');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type('body > #app > div:nth-child(5) > div > input', '1');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type('body > #app > div:nth-child(5) > div > input', '2');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type('body > #app > div:nth-child(5) > div > input', '3');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/tests/e2e/02_person.ts b/tests/e2e/02_person.ts
new file mode 100644
index 00000000..cb193406
--- /dev/null
+++ b/tests/e2e/02_person.ts
@@ -0,0 +1,177 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+describe('02_typescript', () => {
+ const port = process.env.PORT || '8080';
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ '#app > div:nth-child(5) > div > div > button:nth-child(2)',
+ );
+ await page.click(
+ '#app > div:nth-child(5) > div > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ '#app > div:nth-child(5) > div > div > button:nth-child(2)',
+ );
+ await page.click(
+ '#app > div:nth-child(5) > div > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ '#app > div:nth-child(5) > div > div > button:nth-child(3)',
+ );
+ await page.click(
+ '#app > div:nth-child(5) > div > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ '#app > div:nth-child(5) > div > div > button:nth-child(3)',
+ );
+ await page.click(
+ '#app > div:nth-child(5) > div > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ 'a',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ 'b',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ 'c',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(3) > input',
+ 'd',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(3) > input',
+ 'e',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(3) > input',
+ 'f',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(4) > input',
+ '1',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(4) > input',
+ '2',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(4) > input',
+ '3',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/tests/e2e/03_usestate.ts b/tests/e2e/03_usestate.ts
new file mode 100644
index 00000000..45f18f86
--- /dev/null
+++ b/tests/e2e/03_usestate.ts
@@ -0,0 +1,127 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+describe('03_usestate', () => {
+ const port = process.env.PORT || '8080';
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector('body > #app > div:nth-child(2) > div > button');
+ await page.click('body > #app > div:nth-child(2) > div > button');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div:nth-child(2) > div > button');
+ await page.click('body > #app > div:nth-child(2) > div > button');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div:nth-child(3) > div > button');
+ await page.click('body > #app > div:nth-child(3) > div > button');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div:nth-child(3) > div > button');
+ await page.click('body > #app > div:nth-child(3) > div > button');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div:nth-child(3) > div > button');
+ await page.click('body > #app > div:nth-child(3) > div > button');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ 'a',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ 'a',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ 'a',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ 'b',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ 'b',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ 'b',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(3) > input',
+ '1',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(3) > input',
+ '1',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(3) > input',
+ '1',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/tests/e2e/04_selector.ts b/tests/e2e/04_selector.ts
new file mode 100644
index 00000000..f9f9a940
--- /dev/null
+++ b/tests/e2e/04_selector.ts
@@ -0,0 +1,137 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+describe('04_selector', () => {
+ const port = process.env.PORT || '8080';
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ 'a',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ 'a',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ 'a',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ 'b',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ 'b',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(2) > input',
+ 'b',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(3) > input',
+ '1',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(3) > input',
+ '1',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(3) > input',
+ '1',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/tests/e2e/05_container.ts b/tests/e2e/05_container.ts
new file mode 100644
index 00000000..d944b06b
--- /dev/null
+++ b/tests/e2e/05_container.ts
@@ -0,0 +1,215 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+describe('05_container', () => {
+ const port = process.env.PORT || '8080';
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(3) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(5) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(5) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(5) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(5) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(5) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(5) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(6) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/tests/e2e/06_customhook.ts b/tests/e2e/06_customhook.ts
new file mode 100644
index 00000000..d96d0ea7
--- /dev/null
+++ b/tests/e2e/06_customhook.ts
@@ -0,0 +1,79 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+describe('06_customhook', () => {
+ const port = process.env.PORT || '8080';
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(1) > button:nth-child(2)',
+ );
+ await page.click('body > #app > div:nth-child(1) > button:nth-child(2)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(1) > button:nth-child(2)',
+ );
+ await page.click('body > #app > div:nth-child(1) > button:nth-child(2)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(1) > button:nth-child(3)',
+ );
+ await page.click('body > #app > div:nth-child(1) > button:nth-child(3)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(1) > button:nth-child(3)',
+ );
+ await page.click('body > #app > div:nth-child(1) > button:nth-child(3)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > button:nth-child(2)',
+ );
+ await page.click('body > #app > div:nth-child(2) > button:nth-child(2)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > button:nth-child(2)',
+ );
+ await page.click('body > #app > div:nth-child(2) > button:nth-child(2)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > button:nth-child(3)',
+ );
+ await page.click('body > #app > div:nth-child(2) > button:nth-child(3)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > button:nth-child(3)',
+ );
+ await page.click('body > #app > div:nth-child(2) > button:nth-child(3)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/__tests__/e2e/07_todolist.ts b/tests/e2e/07_todolist.ts
similarity index 56%
rename from __tests__/e2e/07_todolist.ts
rename to tests/e2e/07_todolist.ts
index 014b3b01..21b2adcb 100644
--- a/__tests__/e2e/07_todolist.ts
+++ b/tests/e2e/07_todolist.ts
@@ -1,117 +1,173 @@
+import { describe, expect, it } from 'vitest';
import puppeteer from 'puppeteer';
-jest.setTimeout(15 * 1000);
-
describe('07_todolist', () => {
const port = process.env.PORT || '8080';
it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(`http://localhost:${port}/`);
await page.waitForSelector('#app > div > div > form > input');
await page.click('#app > div > div > form > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > div > div > form > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > div > div > form > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > div > div > form > input', 'a');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('#app > div > div > form > button');
await page.click('#app > div > div > form > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('#app > div > div > form > input');
await page.click('#app > div > div > form > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > div > div > form > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > div > div > form > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > div > div > form > input', 'b');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('#app > div > div > form > button');
await page.click('#app > div > div > form > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('#app > div > div > form > input');
await page.click('#app > div > div > form > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > div > div > form > input', 'c');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > div > div > form > input', 'c');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > div > div > form > input', 'c');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('#app > div > div > form > button');
await page.click('#app > div > div > form > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(3)');
await page.click('body > #app > div > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(4)');
await page.click('body > #app > div > div > button:nth-child(4)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(2)');
await page.click('body > #app > div > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > ul > li:nth-child(2)');
await page.click('body > #app > div > ul > li:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(3)');
await page.click('body > #app > div > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(4)');
await page.click('body > #app > div > div > button:nth-child(4)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(2)');
await page.click('body > #app > div > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > ul > li:nth-child(3)');
await page.click('body > #app > div > ul > li:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(3)');
await page.click('body > #app > div > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(4)');
await page.click('body > #app > div > div > button:nth-child(4)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > ul > li:nth-child(1)');
await page.click('body > #app > div > ul > li:nth-child(1)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(2)');
await page.click('body > #app > div > div > button:nth-child(2)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > div > div > button:nth-child(3)');
await page.click('body > #app > div > div > button:nth-child(3)');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await browser.close();
});
diff --git a/__tests__/e2e/08_comparison.ts b/tests/e2e/08_comparison.ts
similarity index 50%
rename from __tests__/e2e/08_comparison.ts
rename to tests/e2e/08_comparison.ts
index 0cfc5610..6614b690 100644
--- a/__tests__/e2e/08_comparison.ts
+++ b/tests/e2e/08_comparison.ts
@@ -1,48 +1,70 @@
+import { describe, expect, it } from 'vitest';
import puppeteer from 'puppeteer';
-jest.setTimeout(15 * 1000);
-
describe('08_comparison', () => {
const port = process.env.PORT || '8080';
it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(`http://localhost:${port}/`);
await page.waitForSelector('body > #app > div:nth-child(2) > input');
await page.click('body > #app > div:nth-child(2) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(2) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(3) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(5) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(6) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(8) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(9) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(11) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(12) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(14) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('body > #app > div:nth-child(15) > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await browser.close();
});
diff --git a/__tests__/e2e/09_reactmemo.ts b/tests/e2e/09_reactmemo.ts
similarity index 64%
rename from __tests__/e2e/09_reactmemo.ts
rename to tests/e2e/09_reactmemo.ts
index 13477f4e..ab26d5ed 100644
--- a/__tests__/e2e/09_reactmemo.ts
+++ b/tests/e2e/09_reactmemo.ts
@@ -1,38 +1,50 @@
+import { describe, expect, it } from 'vitest';
import puppeteer from 'puppeteer';
-jest.setTimeout(15 * 1000);
-
describe('09_reactmemo', () => {
const port = process.env.PORT || '8080';
it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(`http://localhost:${port}/`);
await page.waitForSelector('body > #app > ul > li:nth-child(1) > input');
await page.click('body > #app > ul > li:nth-child(1) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(2) > input');
await page.click('body > #app > ul > li:nth-child(2) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(3) > input');
await page.click('body > #app > ul > li:nth-child(3) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(1) > input');
await page.click('body > #app > ul > li:nth-child(1) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(2) > input');
await page.click('body > #app > ul > li:nth-child(2) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(3) > input');
await page.click('body > #app > ul > li:nth-child(3) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await browser.close();
});
diff --git a/tests/e2e/10_untracked.ts b/tests/e2e/10_untracked.ts
new file mode 100644
index 00000000..982f5a0c
--- /dev/null
+++ b/tests/e2e/10_untracked.ts
@@ -0,0 +1,109 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+describe('10_untracked', () => {
+ const port = process.env.PORT || '8080';
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector(
+ 'body > #app > ul > li:nth-child(2) > input:nth-child(2)',
+ );
+ await page.click('body > #app > ul > li:nth-child(2) > input:nth-child(2)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > ul > li:nth-child(2) > input:nth-child(2)',
+ '2',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > ul > li:nth-child(3) > input:nth-child(2)',
+ );
+ await page.click('body > #app > ul > li:nth-child(3) > input:nth-child(2)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > ul > li:nth-child(3) > input:nth-child(2)',
+ '3',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > ul > li:nth-child(2) > input:nth-child(1)',
+ );
+ await page.click('body > #app > ul > li:nth-child(2) > input:nth-child(1)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > ul > li:nth-child(3) > input:nth-child(1)',
+ );
+ await page.click('body > #app > ul > li:nth-child(3) > input:nth-child(1)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > ul > li:nth-child(1) > input:nth-child(1)',
+ );
+ await page.click('body > #app > ul > li:nth-child(1) > input:nth-child(1)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > ul > li:nth-child(2) > button:nth-child(4)',
+ );
+ await page.click(
+ 'body > #app > ul > li:nth-child(2) > button:nth-child(4)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > ul > li:nth-child(3) > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > ul > li:nth-child(3) > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > ul > li:nth-child(3) > input:nth-child(1)',
+ );
+ await page.click('body > #app > ul > li:nth-child(3) > input:nth-child(1)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > ul > li:nth-child(2) > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > ul > li:nth-child(2) > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/__tests__/e2e/11_form.ts b/tests/e2e/11_form.ts
similarity index 54%
rename from __tests__/e2e/11_form.ts
rename to tests/e2e/11_form.ts
index fddb4f6f..134e0de6 100644
--- a/__tests__/e2e/11_form.ts
+++ b/tests/e2e/11_form.ts
@@ -1,51 +1,73 @@
+import { describe, expect, it } from 'vitest';
import puppeteer from 'puppeteer';
-jest.setTimeout(15 * 1000);
-
describe('11_form', () => {
const port = process.env.PORT || '8080';
it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(`http://localhost:${port}/`);
await page.waitForSelector('#app > form > div:nth-child(3) > div > input');
await page.click('#app > form > div:nth-child(3) > div > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > form > div:nth-child(3) > div > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > form > div:nth-child(3) > div > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > form > div:nth-child(3) > div > input', '1');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > form > div:nth-child(5) > div > input', '2');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > form > div:nth-child(5) > div > input', '2');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.type('#app > form > div:nth-child(5) > div > input', '2');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('#app > form > div > div > select');
await page.click('#app > form > div > div > select');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.select('#app > form > div > div > select', 'male');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('#app > form > div:nth-child(9) > div > input');
await page.click('#app > form > div:nth-child(9) > div > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > form > button');
await page.click('body > #app > form > button');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await browser.close();
});
diff --git a/tests/e2e/12_async.ts b/tests/e2e/12_async.ts
new file mode 100644
index 00000000..baae0358
--- /dev/null
+++ b/tests/e2e/12_async.ts
@@ -0,0 +1,52 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+// this test is not very stable because of timer
+describe('12_async', () => {
+ const port = process.env.PORT || '8080';
+ const sleep = (ms: number) =>
+ new Promise((r) => {
+ setTimeout(r, ms);
+ });
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector('body > #app > div > div:nth-child(3) > button');
+ await page.click('body > #app > div > div:nth-child(3) > button');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await sleep(3000);
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div > div:nth-child(4) > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div > div:nth-child(4) > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div > div > button:nth-child(3)');
+ await page.click('body > #app > div > div > button:nth-child(3)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await sleep(1000);
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/tests/e2e/13_saga.ts b/tests/e2e/13_saga.ts
new file mode 100644
index 00000000..5536265a
--- /dev/null
+++ b/tests/e2e/13_saga.ts
@@ -0,0 +1,52 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+// this test is not very stable because of timer
+describe('13_saga', () => {
+ const port = process.env.PORT || '8080';
+ const sleep = (ms: number) =>
+ new Promise((r) => {
+ setTimeout(r, ms);
+ });
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector('body > #app > div > div:nth-child(3) > button');
+ await page.click('body > #app > div > div:nth-child(3) > button');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await sleep(3000);
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div > div:nth-child(4) > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div > div:nth-child(4) > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div > div > button:nth-child(3)');
+ await page.click('body > #app > div > div > button:nth-child(3)');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await sleep(1000);
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/tests/e2e/14_dynamic.ts b/tests/e2e/14_dynamic.ts
new file mode 100644
index 00000000..07cac6cc
--- /dev/null
+++ b/tests/e2e/14_dynamic.ts
@@ -0,0 +1,105 @@
+import { describe, expect, it } from 'vitest';
+import puppeteer from 'puppeteer';
+
+describe('14_dynamic', () => {
+ const port = process.env.PORT || '8080';
+
+ it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
+ const browser = await puppeteer.launch();
+ const page = await browser.newPage();
+ await page.goto(`http://localhost:${port}/`);
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(2)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div:nth-child(2) > div > input');
+ await page.click('body > #app > div:nth-child(2) > div > input');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type('body > #app > div:nth-child(2) > div > input', '1');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(2) > div > button:nth-child(3)',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div:nth-child(3) > div > input');
+ await page.click('body > #app > div:nth-child(3) > div > input');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type('body > #app > div:nth-child(3) > div > input', '1');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ 'a',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div:nth-child(5) > div > button');
+ await page.click('body > #app > div:nth-child(5) > div > button');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ );
+ await page.click(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.type(
+ 'body > #app > div:nth-child(5) > div:nth-child(1) > input',
+ 'b',
+ );
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await page.waitForSelector('body > #app > div:nth-child(6) > div > button');
+ await page.click('body > #app > div:nth-child(6) > div > button');
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
+
+ await browser.close();
+ });
+});
diff --git a/__tests__/e2e/15_reactmemoref.ts b/tests/e2e/15_reactmemoref.ts
similarity index 64%
rename from __tests__/e2e/15_reactmemoref.ts
rename to tests/e2e/15_reactmemoref.ts
index 929141ed..68850b69 100644
--- a/__tests__/e2e/15_reactmemoref.ts
+++ b/tests/e2e/15_reactmemoref.ts
@@ -1,38 +1,50 @@
+import { describe, expect, it } from 'vitest';
import puppeteer from 'puppeteer';
-jest.setTimeout(15 * 1000);
-
describe('15_reactmemoref', () => {
const port = process.env.PORT || '8080';
it('should work with recorded events', async () => {
+ // eslint-disable-next-line import/no-named-as-default-member
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(`http://localhost:${port}/`);
await page.waitForSelector('body > #app > ul > li:nth-child(1) > input');
await page.click('body > #app > ul > li:nth-child(1) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(2) > input');
await page.click('body > #app > ul > li:nth-child(2) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(3) > input');
await page.click('body > #app > ul > li:nth-child(3) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(1) > input');
await page.click('body > #app > ul > li:nth-child(1) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(2) > input');
await page.click('body > #app > ul > li:nth-child(2) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await page.waitForSelector('body > #app > ul > li:nth-child(3) > input');
await page.click('body > #app > ul > li:nth-child(3) > input');
- expect(await page.evaluate(() => document.body.innerHTML)).toMatchSnapshot();
+ expect(
+ await page.evaluate(() => document.body.innerHTML),
+ ).toMatchSnapshot();
await browser.close();
});
diff --git a/__tests__/e2e/__snapshots__/01_minimal.ts.snap b/tests/e2e/__snapshots__/01_counter.ts.snap
similarity index 87%
rename from __tests__/e2e/__snapshots__/01_minimal.ts.snap
rename to tests/e2e/__snapshots__/01_counter.ts.snap
index ab005ea9..ae585683 100644
--- a/__tests__/e2e/__snapshots__/01_minimal.ts.snap
+++ b/tests/e2e/__snapshots__/01_counter.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`01_minimal should work with recorded events 1`] = `
+exports[`01_minimal > should work with recorded events 1`] = `
"
Counter
numRendered: 26
Count: 1+1-1
numRendered: 28
Count: 1+1-1
TextBox
@@ -8,7 +8,7 @@ exports[`01_minimal should work with recorded events 1`] = `
"
`;
-exports[`01_minimal should work with recorded events 2`] = `
+exports[`01_minimal > should work with recorded events 2`] = `
"
Counter
numRendered: 34
Count: 2+1-1
numRendered: 36
Count: 2+1-1
TextBox
@@ -16,7 +16,7 @@ exports[`01_minimal should work with recorded events 2`] = `
"
`;
-exports[`01_minimal should work with recorded events 3`] = `
+exports[`01_minimal > should work with recorded events 3`] = `
"
Counter
numRendered: 42
Count: 3+1-1
numRendered: 44
Count: 3+1-1
TextBox
@@ -24,7 +24,7 @@ exports[`01_minimal should work with recorded events 3`] = `
"
`;
-exports[`01_minimal should work with recorded events 4`] = `
+exports[`01_minimal > should work with recorded events 4`] = `
"
Counter
numRendered: 50
Count: 2+1-1
numRendered: 52
Count: 2+1-1
TextBox
@@ -32,7 +32,7 @@ exports[`01_minimal should work with recorded events 4`] = `
"
`;
-exports[`01_minimal should work with recorded events 5`] = `
+exports[`01_minimal > should work with recorded events 5`] = `
"
Counter
numRendered: 58
Count: 1+1-1
numRendered: 60
Count: 1+1-1
TextBox
@@ -40,7 +40,7 @@ exports[`01_minimal should work with recorded events 5`] = `
"
`;
-exports[`01_minimal should work with recorded events 6`] = `
+exports[`01_minimal > should work with recorded events 6`] = `
"
Counter
numRendered: 66
Count: 0+1-1
numRendered: 68
Count: 0+1-1
TextBox
@@ -48,7 +48,7 @@ exports[`01_minimal should work with recorded events 6`] = `
"
`;
-exports[`01_minimal should work with recorded events 7`] = `
+exports[`01_minimal > should work with recorded events 7`] = `
"
Counter
numRendered: 74
Count: -1+1-1
numRendered: 76
Count: -1+1-1
TextBox
@@ -56,7 +56,7 @@ exports[`01_minimal should work with recorded events 7`] = `
"
`;
-exports[`01_minimal should work with recorded events 8`] = `
+exports[`01_minimal > should work with recorded events 8`] = `
"
Counter
numRendered: 82
Count: -2+1-1
numRendered: 84
Count: -2+1-1
TextBox
@@ -64,7 +64,7 @@ exports[`01_minimal should work with recorded events 8`] = `
"
`;
-exports[`01_minimal should work with recorded events 9`] = `
+exports[`01_minimal > should work with recorded events 9`] = `
"
Counter
numRendered: 90
Count: -3+1-1
numRendered: 92
Count: -3+1-1
TextBox
@@ -72,7 +72,7 @@ exports[`01_minimal should work with recorded events 9`] = `
"
`;
-exports[`01_minimal should work with recorded events 10`] = `
+exports[`01_minimal > should work with recorded events 10`] = `
"
Counter
numRendered: 98
Count: -2+1-1
numRendered: 100
Count: -2+1-1
TextBox
@@ -80,7 +80,7 @@ exports[`01_minimal should work with recorded events 10`] = `
"
`;
-exports[`01_minimal should work with recorded events 11`] = `
+exports[`01_minimal > should work with recorded events 11`] = `
"
Counter
numRendered: 106
Count: -1+1-1
numRendered: 108
Count: -1+1-1
TextBox
@@ -88,7 +88,7 @@ exports[`01_minimal should work with recorded events 11`] = `
"
`;
-exports[`01_minimal should work with recorded events 12`] = `
+exports[`01_minimal > should work with recorded events 12`] = `
"
Counter
numRendered: 114
Count: 0+1-1
numRendered: 116
Count: 0+1-1
TextBox
@@ -96,7 +96,7 @@ exports[`01_minimal should work with recorded events 12`] = `
"
`;
-exports[`01_minimal should work with recorded events 13`] = `
+exports[`01_minimal > should work with recorded events 13`] = `
"
Counter
numRendered: 114
Count: 0+1-1
numRendered: 116
Count: 0+1-1
TextBox
@@ -104,7 +104,7 @@ exports[`01_minimal should work with recorded events 13`] = `
"
`;
-exports[`01_minimal should work with recorded events 14`] = `
+exports[`01_minimal > should work with recorded events 14`] = `
"
Counter
numRendered: 114
Count: 0+1-1
numRendered: 116
Count: 0+1-1
TextBox
@@ -112,7 +112,7 @@ exports[`01_minimal should work with recorded events 14`] = `
"
`;
-exports[`01_minimal should work with recorded events 15`] = `
+exports[`01_minimal > should work with recorded events 15`] = `
"
Counter
numRendered: 114
Count: 0+1-1
numRendered: 116
Count: 0+1-1
TextBox
@@ -120,7 +120,7 @@ exports[`01_minimal should work with recorded events 15`] = `
"
`;
-exports[`01_minimal should work with recorded events 16`] = `
+exports[`01_minimal > should work with recorded events 16`] = `
"
Counter
numRendered: 114
Count: 0+1-1
numRendered: 116
Count: 0+1-1
TextBox
diff --git a/__tests__/e2e/__snapshots__/02_typescript.ts.snap b/tests/e2e/__snapshots__/02_person.ts.snap
similarity index 92%
rename from __tests__/e2e/__snapshots__/02_typescript.ts.snap
rename to tests/e2e/__snapshots__/02_person.ts.snap
index 8f4c043b..e11f07a1 100644
--- a/__tests__/e2e/__snapshots__/02_typescript.ts.snap
+++ b/tests/e2e/__snapshots__/02_person.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`02_typescript should work with recorded events 1`] = `
+exports[`02_typescript > should work with recorded events 1`] = `
"
Counter
numRendered: 18
Count: 1+1-1
numRendered: 20
Count: 1+1-1
Person
@@ -8,7 +8,7 @@ exports[`02_typescript should work with recorded events 1`] = `
"
`;
-exports[`02_typescript should work with recorded events 2`] = `
+exports[`02_typescript > should work with recorded events 2`] = `
"
Counter
numRendered: 26
Count: 2+1-1
numRendered: 28
Count: 2+1-1
Person
@@ -16,7 +16,7 @@ exports[`02_typescript should work with recorded events 2`] = `
"
`;
-exports[`02_typescript should work with recorded events 3`] = `
+exports[`02_typescript > should work with recorded events 3`] = `
"
Counter
numRendered: 34
Count: 1+1-1
numRendered: 36
Count: 1+1-1
Person
@@ -24,7 +24,7 @@ exports[`02_typescript should work with recorded events 3`] = `
"
`;
-exports[`02_typescript should work with recorded events 4`] = `
+exports[`02_typescript > should work with recorded events 4`] = `
"
Counter
numRendered: 42
Count: 0+1-1
numRendered: 44
Count: 0+1-1
Person
@@ -32,7 +32,7 @@ exports[`02_typescript should work with recorded events 4`] = `
"
`;
-exports[`02_typescript should work with recorded events 5`] = `
+exports[`02_typescript > should work with recorded events 5`] = `
"
Counter
numRendered: 50
Count: 1+1-1
numRendered: 52
Count: 1+1-1
Person
@@ -40,7 +40,7 @@ exports[`02_typescript should work with recorded events 5`] = `
"
`;
-exports[`02_typescript should work with recorded events 6`] = `
+exports[`02_typescript > should work with recorded events 6`] = `
"
Counter
numRendered: 58
Count: 2+1-1
numRendered: 60
Count: 2+1-1
Person
@@ -48,7 +48,7 @@ exports[`02_typescript should work with recorded events 6`] = `
"
`;
-exports[`02_typescript should work with recorded events 7`] = `
+exports[`02_typescript > should work with recorded events 7`] = `
"
Counter
numRendered: 66
Count: 1+1-1
numRendered: 68
Count: 1+1-1
Person
@@ -56,7 +56,7 @@ exports[`02_typescript should work with recorded events 7`] = `
"
`;
-exports[`02_typescript should work with recorded events 8`] = `
+exports[`02_typescript > should work with recorded events 8`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -64,7 +64,7 @@ exports[`02_typescript should work with recorded events 8`] = `
"
`;
-exports[`02_typescript should work with recorded events 9`] = `
+exports[`02_typescript > should work with recorded events 9`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -72,7 +72,7 @@ exports[`02_typescript should work with recorded events 9`] = `
"
`;
-exports[`02_typescript should work with recorded events 10`] = `
+exports[`02_typescript > should work with recorded events 10`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -80,7 +80,7 @@ exports[`02_typescript should work with recorded events 10`] = `
"
`;
-exports[`02_typescript should work with recorded events 11`] = `
+exports[`02_typescript > should work with recorded events 11`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -88,7 +88,7 @@ exports[`02_typescript should work with recorded events 11`] = `
"
`;
-exports[`02_typescript should work with recorded events 12`] = `
+exports[`02_typescript > should work with recorded events 12`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -96,7 +96,7 @@ exports[`02_typescript should work with recorded events 12`] = `
"
`;
-exports[`02_typescript should work with recorded events 13`] = `
+exports[`02_typescript > should work with recorded events 13`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -104,7 +104,7 @@ exports[`02_typescript should work with recorded events 13`] = `
"
`;
-exports[`02_typescript should work with recorded events 14`] = `
+exports[`02_typescript > should work with recorded events 14`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -112,7 +112,7 @@ exports[`02_typescript should work with recorded events 14`] = `
"
`;
-exports[`02_typescript should work with recorded events 15`] = `
+exports[`02_typescript > should work with recorded events 15`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -120,7 +120,7 @@ exports[`02_typescript should work with recorded events 15`] = `
"
`;
-exports[`02_typescript should work with recorded events 16`] = `
+exports[`02_typescript > should work with recorded events 16`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -128,7 +128,7 @@ exports[`02_typescript should work with recorded events 16`] = `
"
`;
-exports[`02_typescript should work with recorded events 17`] = `
+exports[`02_typescript > should work with recorded events 17`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
@@ -136,7 +136,7 @@ exports[`02_typescript should work with recorded events 17`] = `
"
`;
-exports[`02_typescript should work with recorded events 18`] = `
+exports[`02_typescript > should work with recorded events 18`] = `
"
Counter
numRendered: 74
Count: 0+1-1
numRendered: 76
Count: 0+1-1
Person
diff --git a/__tests__/e2e/__snapshots__/03_usestate.ts.snap b/tests/e2e/__snapshots__/03_usestate.ts.snap
similarity index 88%
rename from __tests__/e2e/__snapshots__/03_usestate.ts.snap
rename to tests/e2e/__snapshots__/03_usestate.ts.snap
index c6c12398..26fe44bb 100644
--- a/__tests__/e2e/__snapshots__/03_usestate.ts.snap
+++ b/tests/e2e/__snapshots__/03_usestate.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`03_usestate should work with recorded events 1`] = `
+exports[`03_usestate > should work with recorded events 1`] = `
"
Counter
numRendered: 18
Count: 1+1
numRendered: 20
Count: 1+1
Person
@@ -8,7 +8,7 @@ exports[`03_usestate should work with recorded events 1`] = `
"
`;
-exports[`03_usestate should work with recorded events 2`] = `
+exports[`03_usestate > should work with recorded events 2`] = `
"
Counter
numRendered: 26
Count: 2+1
numRendered: 28
Count: 2+1
Person
@@ -16,7 +16,7 @@ exports[`03_usestate should work with recorded events 2`] = `
"
`;
-exports[`03_usestate should work with recorded events 3`] = `
+exports[`03_usestate > should work with recorded events 3`] = `
"
Counter
numRendered: 34
Count: 3+1
numRendered: 36
Count: 3+1
Person
@@ -24,7 +24,7 @@ exports[`03_usestate should work with recorded events 3`] = `
"
`;
-exports[`03_usestate should work with recorded events 4`] = `
+exports[`03_usestate > should work with recorded events 4`] = `
"
Counter
numRendered: 42
Count: 4+1
numRendered: 44
Count: 4+1
Person
@@ -32,7 +32,7 @@ exports[`03_usestate should work with recorded events 4`] = `
"
`;
-exports[`03_usestate should work with recorded events 5`] = `
+exports[`03_usestate > should work with recorded events 5`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -40,7 +40,7 @@ exports[`03_usestate should work with recorded events 5`] = `
"
`;
-exports[`03_usestate should work with recorded events 6`] = `
+exports[`03_usestate > should work with recorded events 6`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -48,7 +48,7 @@ exports[`03_usestate should work with recorded events 6`] = `
"
`;
-exports[`03_usestate should work with recorded events 7`] = `
+exports[`03_usestate > should work with recorded events 7`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -56,7 +56,7 @@ exports[`03_usestate should work with recorded events 7`] = `
"
`;
-exports[`03_usestate should work with recorded events 8`] = `
+exports[`03_usestate > should work with recorded events 8`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -64,7 +64,7 @@ exports[`03_usestate should work with recorded events 8`] = `
"
`;
-exports[`03_usestate should work with recorded events 9`] = `
+exports[`03_usestate > should work with recorded events 9`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -72,7 +72,7 @@ exports[`03_usestate should work with recorded events 9`] = `
"
`;
-exports[`03_usestate should work with recorded events 10`] = `
+exports[`03_usestate > should work with recorded events 10`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -80,7 +80,7 @@ exports[`03_usestate should work with recorded events 10`] = `
"
`;
-exports[`03_usestate should work with recorded events 11`] = `
+exports[`03_usestate > should work with recorded events 11`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -88,7 +88,7 @@ exports[`03_usestate should work with recorded events 11`] = `
"
`;
-exports[`03_usestate should work with recorded events 12`] = `
+exports[`03_usestate > should work with recorded events 12`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -96,7 +96,7 @@ exports[`03_usestate should work with recorded events 12`] = `
"
`;
-exports[`03_usestate should work with recorded events 13`] = `
+exports[`03_usestate > should work with recorded events 13`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -104,7 +104,7 @@ exports[`03_usestate should work with recorded events 13`] = `
"
`;
-exports[`03_usestate should work with recorded events 14`] = `
+exports[`03_usestate > should work with recorded events 14`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
@@ -112,7 +112,7 @@ exports[`03_usestate should work with recorded events 14`] = `
"
`;
-exports[`03_usestate should work with recorded events 15`] = `
+exports[`03_usestate > should work with recorded events 15`] = `
"
Counter
numRendered: 50
Count: 5+1
numRendered: 52
Count: 5+1
Person
diff --git a/__tests__/e2e/__snapshots__/04_selector.ts.snap b/tests/e2e/__snapshots__/04_selector.ts.snap
similarity index 89%
rename from __tests__/e2e/__snapshots__/04_selector.ts.snap
rename to tests/e2e/__snapshots__/04_selector.ts.snap
index 0ab021c4..e49ec5d9 100644
--- a/__tests__/e2e/__snapshots__/04_selector.ts.snap
+++ b/tests/e2e/__snapshots__/04_selector.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`04_selector should work with recorded events 1`] = `
+exports[`04_selector > should work with recorded events 1`] = `
"
Counter
numRendered: 14
Count: 1+1-1
numRendered: 16
Count: 1+1-1
Person
@@ -8,7 +8,7 @@ exports[`04_selector should work with recorded events 1`] = `
"
`;
-exports[`04_selector should work with recorded events 2`] = `
+exports[`04_selector > should work with recorded events 2`] = `
"
Counter
numRendered: 22
Count: 0+1-1
numRendered: 24
Count: 0+1-1
Person
@@ -16,7 +16,7 @@ exports[`04_selector should work with recorded events 2`] = `
"
`;
-exports[`04_selector should work with recorded events 3`] = `
+exports[`04_selector > should work with recorded events 3`] = `
"
Counter
numRendered: 30
Count: 1+1-1
numRendered: 32
Count: 1+1-1
Person
@@ -24,7 +24,7 @@ exports[`04_selector should work with recorded events 3`] = `
"
`;
-exports[`04_selector should work with recorded events 4`] = `
+exports[`04_selector > should work with recorded events 4`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -32,7 +32,7 @@ exports[`04_selector should work with recorded events 4`] = `
"
`;
-exports[`04_selector should work with recorded events 5`] = `
+exports[`04_selector > should work with recorded events 5`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -40,7 +40,7 @@ exports[`04_selector should work with recorded events 5`] = `
"
`;
-exports[`04_selector should work with recorded events 6`] = `
+exports[`04_selector > should work with recorded events 6`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -48,7 +48,7 @@ exports[`04_selector should work with recorded events 6`] = `
"
`;
-exports[`04_selector should work with recorded events 7`] = `
+exports[`04_selector > should work with recorded events 7`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -56,7 +56,7 @@ exports[`04_selector should work with recorded events 7`] = `
"
`;
-exports[`04_selector should work with recorded events 8`] = `
+exports[`04_selector > should work with recorded events 8`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -64,7 +64,7 @@ exports[`04_selector should work with recorded events 8`] = `
"
`;
-exports[`04_selector should work with recorded events 9`] = `
+exports[`04_selector > should work with recorded events 9`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -72,7 +72,7 @@ exports[`04_selector should work with recorded events 9`] = `
"
`;
-exports[`04_selector should work with recorded events 10`] = `
+exports[`04_selector > should work with recorded events 10`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -80,7 +80,7 @@ exports[`04_selector should work with recorded events 10`] = `
"
`;
-exports[`04_selector should work with recorded events 11`] = `
+exports[`04_selector > should work with recorded events 11`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -88,7 +88,7 @@ exports[`04_selector should work with recorded events 11`] = `
"
`;
-exports[`04_selector should work with recorded events 12`] = `
+exports[`04_selector > should work with recorded events 12`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -96,7 +96,7 @@ exports[`04_selector should work with recorded events 12`] = `
"
`;
-exports[`04_selector should work with recorded events 13`] = `
+exports[`04_selector > should work with recorded events 13`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
@@ -104,7 +104,7 @@ exports[`04_selector should work with recorded events 13`] = `
"
`;
-exports[`04_selector should work with recorded events 14`] = `
+exports[`04_selector > should work with recorded events 14`] = `
"
Counter
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Person
diff --git a/__tests__/e2e/__snapshots__/05_container.ts.snap b/tests/e2e/__snapshots__/05_container.ts.snap
similarity index 89%
rename from __tests__/e2e/__snapshots__/05_container.ts.snap
rename to tests/e2e/__snapshots__/05_container.ts.snap
index 9e1d1e55..0b378b78 100644
--- a/__tests__/e2e/__snapshots__/05_container.ts.snap
+++ b/tests/e2e/__snapshots__/05_container.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`05_container should work with recorded events 1`] = `
+exports[`05_container > should work with recorded events 1`] = `
"
First container
numRendered: 30
Count: 1+1-1
numRendered: 32
Count: 1+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -8,7 +8,7 @@ exports[`05_container should work with recorded events 1`] = `
"
`;
-exports[`05_container should work with recorded events 2`] = `
+exports[`05_container > should work with recorded events 2`] = `
"
First container
numRendered: 38
Count: 0+1-1
numRendered: 40
Count: 0+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -16,7 +16,7 @@ exports[`05_container should work with recorded events 2`] = `
"
`;
-exports[`05_container should work with recorded events 3`] = `
+exports[`05_container > should work with recorded events 3`] = `
"
First container
numRendered: 46
Count: -1+1-1
numRendered: 48
Count: -1+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -24,7 +24,7 @@ exports[`05_container should work with recorded events 3`] = `
"
`;
-exports[`05_container should work with recorded events 4`] = `
+exports[`05_container > should work with recorded events 4`] = `
"
First container
numRendered: 54
Count: 0+1-1
numRendered: 56
Count: 0+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -32,7 +32,7 @@ exports[`05_container should work with recorded events 4`] = `
"
`;
-exports[`05_container should work with recorded events 5`] = `
+exports[`05_container > should work with recorded events 5`] = `
"
First container
numRendered: 62
Count: 1+1-1
numRendered: 64
Count: 1+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -40,7 +40,7 @@ exports[`05_container should work with recorded events 5`] = `
"
`;
-exports[`05_container should work with recorded events 6`] = `
+exports[`05_container > should work with recorded events 6`] = `
"
First container
numRendered: 70
Count: 2+1-1
numRendered: 72
Count: 2+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -48,7 +48,7 @@ exports[`05_container should work with recorded events 6`] = `
"
`;
-exports[`05_container should work with recorded events 7`] = `
+exports[`05_container > should work with recorded events 7`] = `
"
First container
numRendered: 78
Count: 1+1-1
numRendered: 80
Count: 1+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -56,7 +56,7 @@ exports[`05_container should work with recorded events 7`] = `
"
`;
-exports[`05_container should work with recorded events 8`] = `
+exports[`05_container > should work with recorded events 8`] = `
"
First container
numRendered: 86
Count: 0+1-1
numRendered: 88
Count: 0+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -64,7 +64,7 @@ exports[`05_container should work with recorded events 8`] = `
"
`;
-exports[`05_container should work with recorded events 9`] = `
+exports[`05_container > should work with recorded events 9`] = `
"
First container
numRendered: 94
Count: -1+1-1
numRendered: 96
Count: -1+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -72,7 +72,7 @@ exports[`05_container should work with recorded events 9`] = `
"
`;
-exports[`05_container should work with recorded events 10`] = `
+exports[`05_container > should work with recorded events 10`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 6
Count: 0+1-1
numRendered: 8
Count: 0+1-1
@@ -80,7 +80,7 @@ exports[`05_container should work with recorded events 10`] = `
"
`;
-exports[`05_container should work with recorded events 11`] = `
+exports[`05_container > should work with recorded events 11`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 110
Count: 1+1-1
numRendered: 112
Count: 1+1-1
@@ -88,7 +88,7 @@ exports[`05_container should work with recorded events 11`] = `
"
`;
-exports[`05_container should work with recorded events 12`] = `
+exports[`05_container > should work with recorded events 12`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 118
Count: 0+1-1
numRendered: 120
Count: 0+1-1
@@ -96,7 +96,7 @@ exports[`05_container should work with recorded events 12`] = `
"
`;
-exports[`05_container should work with recorded events 13`] = `
+exports[`05_container > should work with recorded events 13`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 126
Count: -1+1-1
numRendered: 128
Count: -1+1-1
@@ -104,7 +104,7 @@ exports[`05_container should work with recorded events 13`] = `
"
`;
-exports[`05_container should work with recorded events 14`] = `
+exports[`05_container > should work with recorded events 14`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 134
Count: 0+1-1
numRendered: 136
Count: 0+1-1
@@ -112,7 +112,7 @@ exports[`05_container should work with recorded events 14`] = `
"
`;
-exports[`05_container should work with recorded events 15`] = `
+exports[`05_container > should work with recorded events 15`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 142
Count: 1+1-1
numRendered: 144
Count: 1+1-1
@@ -120,7 +120,7 @@ exports[`05_container should work with recorded events 15`] = `
"
`;
-exports[`05_container should work with recorded events 16`] = `
+exports[`05_container > should work with recorded events 16`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 150
Count: 2+1-1
numRendered: 152
Count: 2+1-1
@@ -128,7 +128,7 @@ exports[`05_container should work with recorded events 16`] = `
"
`;
-exports[`05_container should work with recorded events 17`] = `
+exports[`05_container > should work with recorded events 17`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 158
Count: 1+1-1
numRendered: 160
Count: 1+1-1
@@ -136,7 +136,7 @@ exports[`05_container should work with recorded events 17`] = `
"
`;
-exports[`05_container should work with recorded events 18`] = `
+exports[`05_container > should work with recorded events 18`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 166
Count: 0+1-1
numRendered: 168
Count: 0+1-1
@@ -144,7 +144,7 @@ exports[`05_container should work with recorded events 18`] = `
"
`;
-exports[`05_container should work with recorded events 19`] = `
+exports[`05_container > should work with recorded events 19`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 174
Count: -1+1-1
numRendered: 176
Count: -1+1-1
@@ -152,7 +152,7 @@ exports[`05_container should work with recorded events 19`] = `
"
`;
-exports[`05_container should work with recorded events 20`] = `
+exports[`05_container > should work with recorded events 20`] = `
"
First container
numRendered: 102
Count: -2+1-1
numRendered: 104
Count: -2+1-1
Second container
numRendered: 182
Count: -2+1-1
numRendered: 184
Count: -2+1-1
diff --git a/__tests__/e2e/__snapshots__/06_customhook.ts.snap b/tests/e2e/__snapshots__/06_customhook.ts.snap
similarity index 75%
rename from __tests__/e2e/__snapshots__/06_customhook.ts.snap
rename to tests/e2e/__snapshots__/06_customhook.ts.snap
index 780bce2f..cf2a213f 100644
--- a/__tests__/e2e/__snapshots__/06_customhook.ts.snap
+++ b/tests/e2e/__snapshots__/06_customhook.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`06_customhook should work with recorded events 1`] = `
+exports[`06_customhook > should work with recorded events 1`] = `
"
@@ -8,7 +8,7 @@ exports[`06_customhook should work with recorded events 1`] = `
"
`;
-exports[`06_customhook should work with recorded events 2`] = `
+exports[`06_customhook > should work with recorded events 2`] = `
"
@@ -16,7 +16,7 @@ exports[`06_customhook should work with recorded events 2`] = `
"
`;
-exports[`06_customhook should work with recorded events 3`] = `
+exports[`06_customhook > should work with recorded events 3`] = `
"
@@ -24,7 +24,7 @@ exports[`06_customhook should work with recorded events 3`] = `
"
`;
-exports[`06_customhook should work with recorded events 4`] = `
+exports[`06_customhook > should work with recorded events 4`] = `
"
@@ -32,7 +32,7 @@ exports[`06_customhook should work with recorded events 4`] = `
"
`;
-exports[`06_customhook should work with recorded events 5`] = `
+exports[`06_customhook > should work with recorded events 5`] = `
"
@@ -40,7 +40,7 @@ exports[`06_customhook should work with recorded events 5`] = `
"
`;
-exports[`06_customhook should work with recorded events 6`] = `
+exports[`06_customhook > should work with recorded events 6`] = `
"
@@ -48,7 +48,7 @@ exports[`06_customhook should work with recorded events 6`] = `
"
`;
-exports[`06_customhook should work with recorded events 7`] = `
+exports[`06_customhook > should work with recorded events 7`] = `
"
@@ -56,7 +56,7 @@ exports[`06_customhook should work with recorded events 7`] = `
"
`;
-exports[`06_customhook should work with recorded events 8`] = `
+exports[`06_customhook > should work with recorded events 8`] = `
"
diff --git a/__tests__/e2e/__snapshots__/07_todolist.ts.snap b/tests/e2e/__snapshots__/07_todolist.ts.snap
similarity index 88%
rename from __tests__/e2e/__snapshots__/07_todolist.ts.snap
rename to tests/e2e/__snapshots__/07_todolist.ts.snap
index ee495ba7..2f3f81fa 100644
--- a/__tests__/e2e/__snapshots__/07_todolist.ts.snap
+++ b/tests/e2e/__snapshots__/07_todolist.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`07_todolist should work with recorded events 1`] = `
+exports[`07_todolist > should work with recorded events 1`] = `
"
@@ -8,7 +8,7 @@ exports[`07_todolist should work with recorded events 1`] = `
"
`;
-exports[`07_todolist should work with recorded events 2`] = `
+exports[`07_todolist > should work with recorded events 2`] = `
"
@@ -16,7 +16,7 @@ exports[`07_todolist should work with recorded events 2`] = `
"
`;
-exports[`07_todolist should work with recorded events 3`] = `
+exports[`07_todolist > should work with recorded events 3`] = `
"
@@ -24,7 +24,7 @@ exports[`07_todolist should work with recorded events 3`] = `
"
`;
-exports[`07_todolist should work with recorded events 4`] = `
+exports[`07_todolist > should work with recorded events 4`] = `
"
@@ -32,7 +32,7 @@ exports[`07_todolist should work with recorded events 4`] = `
"
`;
-exports[`07_todolist should work with recorded events 5`] = `
+exports[`07_todolist > should work with recorded events 5`] = `
"
@@ -40,7 +40,7 @@ exports[`07_todolist should work with recorded events 5`] = `
"
`;
-exports[`07_todolist should work with recorded events 6`] = `
+exports[`07_todolist > should work with recorded events 6`] = `
"
@@ -48,7 +48,7 @@ exports[`07_todolist should work with recorded events 6`] = `
"
`;
-exports[`07_todolist should work with recorded events 7`] = `
+exports[`07_todolist > should work with recorded events 7`] = `
"
@@ -56,7 +56,7 @@ exports[`07_todolist should work with recorded events 7`] = `
"
`;
-exports[`07_todolist should work with recorded events 8`] = `
+exports[`07_todolist > should work with recorded events 8`] = `
"
@@ -64,7 +64,7 @@ exports[`07_todolist should work with recorded events 8`] = `
"
`;
-exports[`07_todolist should work with recorded events 9`] = `
+exports[`07_todolist > should work with recorded events 9`] = `
"
@@ -72,7 +72,7 @@ exports[`07_todolist should work with recorded events 9`] = `
"
`;
-exports[`07_todolist should work with recorded events 10`] = `
+exports[`07_todolist > should work with recorded events 10`] = `
"
@@ -80,7 +80,7 @@ exports[`07_todolist should work with recorded events 10`] = `
"
`;
-exports[`07_todolist should work with recorded events 11`] = `
+exports[`07_todolist > should work with recorded events 11`] = `
"
@@ -88,7 +88,7 @@ exports[`07_todolist should work with recorded events 11`] = `
"
`;
-exports[`07_todolist should work with recorded events 12`] = `
+exports[`07_todolist > should work with recorded events 12`] = `
"
@@ -96,7 +96,7 @@ exports[`07_todolist should work with recorded events 12`] = `
"
`;
-exports[`07_todolist should work with recorded events 13`] = `
+exports[`07_todolist > should work with recorded events 13`] = `
"
@@ -104,7 +104,7 @@ exports[`07_todolist should work with recorded events 13`] = `
"
`;
-exports[`07_todolist should work with recorded events 14`] = `
+exports[`07_todolist > should work with recorded events 14`] = `
"
@@ -112,7 +112,7 @@ exports[`07_todolist should work with recorded events 14`] = `
"
`;
-exports[`07_todolist should work with recorded events 15`] = `
+exports[`07_todolist > should work with recorded events 15`] = `
"
@@ -120,7 +120,7 @@ exports[`07_todolist should work with recorded events 15`] = `
"
`;
-exports[`07_todolist should work with recorded events 16`] = `
+exports[`07_todolist > should work with recorded events 16`] = `
"
@@ -128,7 +128,7 @@ exports[`07_todolist should work with recorded events 16`] = `
"
`;
-exports[`07_todolist should work with recorded events 17`] = `
+exports[`07_todolist > should work with recorded events 17`] = `
"
@@ -136,7 +136,7 @@ exports[`07_todolist should work with recorded events 17`] = `
"
`;
-exports[`07_todolist should work with recorded events 18`] = `
+exports[`07_todolist > should work with recorded events 18`] = `
"
@@ -144,7 +144,7 @@ exports[`07_todolist should work with recorded events 18`] = `
"
`;
-exports[`07_todolist should work with recorded events 19`] = `
+exports[`07_todolist > should work with recorded events 19`] = `
"
@@ -152,7 +152,7 @@ exports[`07_todolist should work with recorded events 19`] = `
"
`;
-exports[`07_todolist should work with recorded events 20`] = `
+exports[`07_todolist > should work with recorded events 20`] = `
"
@@ -160,7 +160,7 @@ exports[`07_todolist should work with recorded events 20`] = `
"
`;
-exports[`07_todolist should work with recorded events 21`] = `
+exports[`07_todolist > should work with recorded events 21`] = `
"
@@ -168,7 +168,7 @@ exports[`07_todolist should work with recorded events 21`] = `
"
`;
-exports[`07_todolist should work with recorded events 22`] = `
+exports[`07_todolist > should work with recorded events 22`] = `
"
@@ -176,7 +176,7 @@ exports[`07_todolist should work with recorded events 22`] = `
"
`;
-exports[`07_todolist should work with recorded events 23`] = `
+exports[`07_todolist > should work with recorded events 23`] = `
"
@@ -184,7 +184,7 @@ exports[`07_todolist should work with recorded events 23`] = `
"
`;
-exports[`07_todolist should work with recorded events 24`] = `
+exports[`07_todolist > should work with recorded events 24`] = `
"
@@ -192,7 +192,7 @@ exports[`07_todolist should work with recorded events 24`] = `
"
`;
-exports[`07_todolist should work with recorded events 25`] = `
+exports[`07_todolist > should work with recorded events 25`] = `
"
@@ -200,7 +200,7 @@ exports[`07_todolist should work with recorded events 25`] = `
"
`;
-exports[`07_todolist should work with recorded events 26`] = `
+exports[`07_todolist > should work with recorded events 26`] = `
"
@@ -208,7 +208,7 @@ exports[`07_todolist should work with recorded events 26`] = `
"
`;
-exports[`07_todolist should work with recorded events 27`] = `
+exports[`07_todolist > should work with recorded events 27`] = `
"
@@ -216,7 +216,7 @@ exports[`07_todolist should work with recorded events 27`] = `
"
`;
-exports[`07_todolist should work with recorded events 28`] = `
+exports[`07_todolist > should work with recorded events 28`] = `
"
diff --git a/__tests__/e2e/__snapshots__/08_comparison.ts.snap b/tests/e2e/__snapshots__/08_comparison.ts.snap
similarity index 90%
rename from __tests__/e2e/__snapshots__/08_comparison.ts.snap
rename to tests/e2e/__snapshots__/08_comparison.ts.snap
index 6ab68aeb..ccb3f1c4 100644
--- a/__tests__/e2e/__snapshots__/08_comparison.ts.snap
+++ b/tests/e2e/__snapshots__/08_comparison.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`08_comparison should work with recorded events 1`] = `
+exports[`08_comparison > should work with recorded events 1`] = `
"
@@ -8,7 +8,7 @@ exports[`08_comparison should work with recorded events 1`] = `
"
`;
-exports[`08_comparison should work with recorded events 2`] = `
+exports[`08_comparison > should work with recorded events 2`] = `
"
@@ -16,7 +16,7 @@ exports[`08_comparison should work with recorded events 2`] = `
"
`;
-exports[`08_comparison should work with recorded events 3`] = `
+exports[`08_comparison > should work with recorded events 3`] = `
"
@@ -24,7 +24,7 @@ exports[`08_comparison should work with recorded events 3`] = `
"
`;
-exports[`08_comparison should work with recorded events 4`] = `
+exports[`08_comparison > should work with recorded events 4`] = `
"
@@ -32,7 +32,7 @@ exports[`08_comparison should work with recorded events 4`] = `
"
`;
-exports[`08_comparison should work with recorded events 5`] = `
+exports[`08_comparison > should work with recorded events 5`] = `
"
@@ -40,7 +40,7 @@ exports[`08_comparison should work with recorded events 5`] = `
"
`;
-exports[`08_comparison should work with recorded events 6`] = `
+exports[`08_comparison > should work with recorded events 6`] = `
"
@@ -48,7 +48,7 @@ exports[`08_comparison should work with recorded events 6`] = `
"
`;
-exports[`08_comparison should work with recorded events 7`] = `
+exports[`08_comparison > should work with recorded events 7`] = `
"
@@ -56,7 +56,7 @@ exports[`08_comparison should work with recorded events 7`] = `
"
`;
-exports[`08_comparison should work with recorded events 8`] = `
+exports[`08_comparison > should work with recorded events 8`] = `
"
@@ -64,7 +64,7 @@ exports[`08_comparison should work with recorded events 8`] = `
"
`;
-exports[`08_comparison should work with recorded events 9`] = `
+exports[`08_comparison > should work with recorded events 9`] = `
"
@@ -72,7 +72,7 @@ exports[`08_comparison should work with recorded events 9`] = `
"
`;
-exports[`08_comparison should work with recorded events 10`] = `
+exports[`08_comparison > should work with recorded events 10`] = `
"
@@ -80,7 +80,7 @@ exports[`08_comparison should work with recorded events 10`] = `
"
`;
-exports[`08_comparison should work with recorded events 11`] = `
+exports[`08_comparison > should work with recorded events 11`] = `
"
diff --git a/tests/e2e/__snapshots__/09_reactmemo.ts.snap b/tests/e2e/__snapshots__/09_reactmemo.ts.snap
new file mode 100644
index 00000000..ceeb9bbd
--- /dev/null
+++ b/tests/e2e/__snapshots__/09_reactmemo.ts.snap
@@ -0,0 +1,49 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`09_reactmemo > should work with recorded events 1`] = `
+"
+
+
+
+"
+`;
+
+exports[`09_reactmemo > should work with recorded events 2`] = `
+"
+
+
+
+"
+`;
+
+exports[`09_reactmemo > should work with recorded events 3`] = `
+"
+
+
+
+"
+`;
+
+exports[`09_reactmemo > should work with recorded events 4`] = `
+"
+
+
+
+"
+`;
+
+exports[`09_reactmemo > should work with recorded events 5`] = `
+"
+
+
+
+"
+`;
+
+exports[`09_reactmemo > should work with recorded events 6`] = `
+"
+
+
+
+"
+`;
diff --git a/__tests__/e2e/__snapshots__/10_untracked.ts.snap b/tests/e2e/__snapshots__/10_untracked.ts.snap
similarity index 86%
rename from __tests__/e2e/__snapshots__/10_untracked.ts.snap
rename to tests/e2e/__snapshots__/10_untracked.ts.snap
index 69f7151f..0e5073aa 100644
--- a/__tests__/e2e/__snapshots__/10_untracked.ts.snap
+++ b/tests/e2e/__snapshots__/10_untracked.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`10_untracked should work with recorded events 1`] = `
+exports[`10_untracked > should work with recorded events 1`] = `
"
@@ -8,7 +8,7 @@ exports[`10_untracked should work with recorded events 1`] = `
"
`;
-exports[`10_untracked should work with recorded events 2`] = `
+exports[`10_untracked > should work with recorded events 2`] = `
"
@@ -16,7 +16,7 @@ exports[`10_untracked should work with recorded events 2`] = `
"
`;
-exports[`10_untracked should work with recorded events 3`] = `
+exports[`10_untracked > should work with recorded events 3`] = `
"
@@ -24,7 +24,7 @@ exports[`10_untracked should work with recorded events 3`] = `
"
`;
-exports[`10_untracked should work with recorded events 4`] = `
+exports[`10_untracked > should work with recorded events 4`] = `
"
@@ -32,7 +32,7 @@ exports[`10_untracked should work with recorded events 4`] = `
"
`;
-exports[`10_untracked should work with recorded events 5`] = `
+exports[`10_untracked > should work with recorded events 5`] = `
"
@@ -40,7 +40,7 @@ exports[`10_untracked should work with recorded events 5`] = `
"
`;
-exports[`10_untracked should work with recorded events 6`] = `
+exports[`10_untracked > should work with recorded events 6`] = `
"
@@ -48,7 +48,7 @@ exports[`10_untracked should work with recorded events 6`] = `
"
`;
-exports[`10_untracked should work with recorded events 7`] = `
+exports[`10_untracked > should work with recorded events 7`] = `
"
@@ -56,7 +56,7 @@ exports[`10_untracked should work with recorded events 7`] = `
"
`;
-exports[`10_untracked should work with recorded events 8`] = `
+exports[`10_untracked > should work with recorded events 8`] = `
"
@@ -64,7 +64,7 @@ exports[`10_untracked should work with recorded events 8`] = `
"
`;
-exports[`10_untracked should work with recorded events 9`] = `
+exports[`10_untracked > should work with recorded events 9`] = `
"
@@ -72,7 +72,7 @@ exports[`10_untracked should work with recorded events 9`] = `
"
`;
-exports[`10_untracked should work with recorded events 10`] = `
+exports[`10_untracked > should work with recorded events 10`] = `
"
@@ -80,7 +80,7 @@ exports[`10_untracked should work with recorded events 10`] = `
"
`;
-exports[`10_untracked should work with recorded events 11`] = `
+exports[`10_untracked > should work with recorded events 11`] = `
"
diff --git a/__tests__/e2e/__snapshots__/11_form.ts.snap b/tests/e2e/__snapshots__/11_form.ts.snap
similarity index 90%
rename from __tests__/e2e/__snapshots__/11_form.ts.snap
rename to tests/e2e/__snapshots__/11_form.ts.snap
index 783581b8..aabe61b9 100644
--- a/__tests__/e2e/__snapshots__/11_form.ts.snap
+++ b/tests/e2e/__snapshots__/11_form.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`11_form should work with recorded events 1`] = `
+exports[`11_form > should work with recorded events 1`] = `
"
@@ -8,7 +8,7 @@ exports[`11_form should work with recorded events 1`] = `
"
`;
-exports[`11_form should work with recorded events 2`] = `
+exports[`11_form > should work with recorded events 2`] = `
"
@@ -16,7 +16,7 @@ exports[`11_form should work with recorded events 2`] = `
"
`;
-exports[`11_form should work with recorded events 3`] = `
+exports[`11_form > should work with recorded events 3`] = `
"
@@ -24,7 +24,7 @@ exports[`11_form should work with recorded events 3`] = `
"
`;
-exports[`11_form should work with recorded events 4`] = `
+exports[`11_form > should work with recorded events 4`] = `
"
@@ -32,7 +32,7 @@ exports[`11_form should work with recorded events 4`] = `
"
`;
-exports[`11_form should work with recorded events 5`] = `
+exports[`11_form > should work with recorded events 5`] = `
"
@@ -40,7 +40,7 @@ exports[`11_form should work with recorded events 5`] = `
"
`;
-exports[`11_form should work with recorded events 6`] = `
+exports[`11_form > should work with recorded events 6`] = `
"
@@ -48,7 +48,7 @@ exports[`11_form should work with recorded events 6`] = `
"
`;
-exports[`11_form should work with recorded events 7`] = `
+exports[`11_form > should work with recorded events 7`] = `
"
@@ -56,7 +56,7 @@ exports[`11_form should work with recorded events 7`] = `
"
`;
-exports[`11_form should work with recorded events 8`] = `
+exports[`11_form > should work with recorded events 8`] = `
"
@@ -64,7 +64,7 @@ exports[`11_form should work with recorded events 8`] = `
"
`;
-exports[`11_form should work with recorded events 9`] = `
+exports[`11_form > should work with recorded events 9`] = `
"
@@ -72,7 +72,7 @@ exports[`11_form should work with recorded events 9`] = `
"
`;
-exports[`11_form should work with recorded events 10`] = `
+exports[`11_form > should work with recorded events 10`] = `
"
@@ -80,7 +80,7 @@ exports[`11_form should work with recorded events 10`] = `
"
`;
-exports[`11_form should work with recorded events 11`] = `
+exports[`11_form > should work with recorded events 11`] = `
"
diff --git a/__tests__/e2e/__snapshots__/12_async.ts.snap b/tests/e2e/__snapshots__/12_async.ts.snap
similarity index 80%
rename from __tests__/e2e/__snapshots__/12_async.ts.snap
rename to tests/e2e/__snapshots__/12_async.ts.snap
index d098a1a5..12b47e1a 100644
--- a/__tests__/e2e/__snapshots__/12_async.ts.snap
+++ b/tests/e2e/__snapshots__/12_async.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`12_async should work with recorded events 1`] = `
+exports[`12_async > should work with recorded events 1`] = `
"
@@ -8,7 +8,7 @@ exports[`12_async should work with recorded events 1`] = `
"
`;
-exports[`12_async should work with recorded events 2`] = `
+exports[`12_async > should work with recorded events 2`] = `
"
Person
User ID:
First Name: EmmaFetch UserClear
Counter
Count: 0+1-1 (Delayed)
@@ -16,7 +16,7 @@ exports[`12_async should work with recorded events 2`] = `
"
`;
-exports[`12_async should work with recorded events 3`] = `
+exports[`12_async > should work with recorded events 3`] = `
"
Person
User ID:
First Name: EmmaFetch UserClear
Counter
Count: 1+1-1 (Delayed)
@@ -24,7 +24,7 @@ exports[`12_async should work with recorded events 3`] = `
"
`;
-exports[`12_async should work with recorded events 4`] = `
+exports[`12_async > should work with recorded events 4`] = `
"
Person
User ID:
First Name: EmmaFetch UserClear
Counter
Count: 1+1-1 (Delayed)
@@ -32,7 +32,7 @@ exports[`12_async should work with recorded events 4`] = `
"
`;
-exports[`12_async should work with recorded events 5`] = `
+exports[`12_async > should work with recorded events 5`] = `
"
Person
User ID:
First Name: EmmaFetch UserClear
Counter
Count: 0+1-1 (Delayed)
diff --git a/__tests__/e2e/__snapshots__/13_saga.ts.snap b/tests/e2e/__snapshots__/13_saga.ts.snap
similarity index 80%
rename from __tests__/e2e/__snapshots__/13_saga.ts.snap
rename to tests/e2e/__snapshots__/13_saga.ts.snap
index d7b7a97a..50f62cc9 100644
--- a/__tests__/e2e/__snapshots__/13_saga.ts.snap
+++ b/tests/e2e/__snapshots__/13_saga.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`13_saga should work with recorded events 1`] = `
+exports[`13_saga > should work with recorded events 1`] = `
"
@@ -8,7 +8,7 @@ exports[`13_saga should work with recorded events 1`] = `
"
`;
-exports[`13_saga should work with recorded events 2`] = `
+exports[`13_saga > should work with recorded events 2`] = `
"
Person
User ID:
First Name: EmmaFetch UserClear
Counter
Count: 0+1-1 (Delayed)
@@ -16,7 +16,7 @@ exports[`13_saga should work with recorded events 2`] = `
"
`;
-exports[`13_saga should work with recorded events 3`] = `
+exports[`13_saga > should work with recorded events 3`] = `
"
Person
User ID:
First Name: EmmaFetch UserClear
Counter
Count: 1+1-1 (Delayed)
@@ -24,7 +24,7 @@ exports[`13_saga should work with recorded events 3`] = `
"
`;
-exports[`13_saga should work with recorded events 4`] = `
+exports[`13_saga > should work with recorded events 4`] = `
"
Person
User ID:
First Name: EmmaFetch UserClear
Counter
Count: 1+1-1 (Delayed)
@@ -32,7 +32,7 @@ exports[`13_saga should work with recorded events 4`] = `
"
`;
-exports[`13_saga should work with recorded events 5`] = `
+exports[`13_saga > should work with recorded events 5`] = `
"
Person
User ID:
First Name: EmmaFetch UserClear
Counter
Count: 0+1-1 (Delayed)
diff --git a/__tests__/e2e/__snapshots__/14_dynamic.ts.snap b/tests/e2e/__snapshots__/14_dynamic.ts.snap
similarity index 90%
rename from __tests__/e2e/__snapshots__/14_dynamic.ts.snap
rename to tests/e2e/__snapshots__/14_dynamic.ts.snap
index acb0004b..8473ae3e 100644
--- a/__tests__/e2e/__snapshots__/14_dynamic.ts.snap
+++ b/tests/e2e/__snapshots__/14_dynamic.ts.snap
@@ -1,6 +1,6 @@
-// Jest Snapshot v1, https://goo.gl/fbAQLP
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
-exports[`14_dynamic should work with recorded events 1`] = `
+exports[`14_dynamic > should work with recorded events 1`] = `
"
@@ -8,7 +8,7 @@ exports[`14_dynamic should work with recorded events 1`] = `
"
`;
-exports[`14_dynamic should work with recorded events 2`] = `
+exports[`14_dynamic > should work with recorded events 2`] = `
"
@@ -16,7 +16,7 @@ exports[`14_dynamic should work with recorded events 2`] = `
"
`;
-exports[`14_dynamic should work with recorded events 3`] = `
+exports[`14_dynamic > should work with recorded events 3`] = `
"
@@ -24,7 +24,7 @@ exports[`14_dynamic should work with recorded events 3`] = `
"
`;
-exports[`14_dynamic should work with recorded events 4`] = `
+exports[`14_dynamic > should work with recorded events 4`] = `
"
@@ -32,7 +32,7 @@ exports[`14_dynamic should work with recorded events 4`] = `
"
`;
-exports[`14_dynamic should work with recorded events 5`] = `
+exports[`14_dynamic > should work with recorded events 5`] = `
"
@@ -40,7 +40,7 @@ exports[`14_dynamic should work with recorded events 5`] = `
"
`;
-exports[`14_dynamic should work with recorded events 6`] = `
+exports[`14_dynamic > should work with recorded events 6`] = `
"
@@ -48,7 +48,7 @@ exports[`14_dynamic should work with recorded events 6`] = `
"
`;
-exports[`14_dynamic should work with recorded events 7`] = `
+exports[`14_dynamic > should work with recorded events 7`] = `
"
@@ -56,7 +56,7 @@ exports[`14_dynamic should work with recorded events 7`] = `
"
`;
-exports[`14_dynamic should work with recorded events 8`] = `
+exports[`14_dynamic > should work with recorded events 8`] = `
"
@@ -64,7 +64,7 @@ exports[`14_dynamic should work with recorded events 8`] = `
"
`;
-exports[`14_dynamic should work with recorded events 9`] = `
+exports[`14_dynamic > should work with recorded events 9`] = `
"
@@ -72,7 +72,7 @@ exports[`14_dynamic should work with recorded events 9`] = `
"
`;
-exports[`14_dynamic should work with recorded events 10`] = `
+exports[`14_dynamic > should work with recorded events 10`] = `
"
@@ -80,7 +80,7 @@ exports[`14_dynamic should work with recorded events 10`] = `
"
`;
-exports[`14_dynamic should work with recorded events 11`] = `
+exports[`14_dynamic > should work with recorded events 11`] = `
"
@@ -88,7 +88,7 @@ exports[`14_dynamic should work with recorded events 11`] = `
"
`;
-exports[`14_dynamic should work with recorded events 12`] = `
+exports[`14_dynamic > should work with recorded events 12`] = `
"
diff --git a/tests/e2e/__snapshots__/15_reactmemoref.ts.snap b/tests/e2e/__snapshots__/15_reactmemoref.ts.snap
new file mode 100644
index 00000000..698f9458
--- /dev/null
+++ b/tests/e2e/__snapshots__/15_reactmemoref.ts.snap
@@ -0,0 +1,49 @@
+// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
+
+exports[`15_reactmemoref > should work with recorded events 1`] = `
+"
+
+
+
+"
+`;
+
+exports[`15_reactmemoref > should work with recorded events 2`] = `
+"
+
+
+
+"
+`;
+
+exports[`15_reactmemoref > should work with recorded events 3`] = `
+"
+
+
+
+"
+`;
+
+exports[`15_reactmemoref > should work with recorded events 4`] = `
+"
+
+
+
+"
+`;
+
+exports[`15_reactmemoref > should work with recorded events 5`] = `
+"
+
+
+
+"
+`;
+
+exports[`15_reactmemoref > should work with recorded events 6`] = `
+"
+
+
+
+"
+`;
diff --git a/tests/vitest-setup.js b/tests/vitest-setup.js
new file mode 100644
index 00000000..bb02c60c
--- /dev/null
+++ b/tests/vitest-setup.js
@@ -0,0 +1 @@
+import '@testing-library/jest-dom/vitest';
diff --git a/tsconfig.cjs.json b/tsconfig.cjs.json
new file mode 100644
index 00000000..cfb5bb00
--- /dev/null
+++ b/tsconfig.cjs.json
@@ -0,0 +1,10 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "module": "commonjs",
+ "verbatimModuleSyntax": false,
+ "declaration": true,
+ "outDir": "./dist/cjs"
+ },
+ "include": ["src"]
+}
diff --git a/tsconfig.esm.json b/tsconfig.esm.json
new file mode 100644
index 00000000..f9ef3ba3
--- /dev/null
+++ b/tsconfig.esm.json
@@ -0,0 +1,8 @@
+{
+ "extends": "./tsconfig.json",
+ "compilerOptions": {
+ "declaration": true,
+ "outDir": "./dist"
+ },
+ "include": ["src"]
+}
diff --git a/tsconfig.json b/tsconfig.json
index 81747ffd..f53340da 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,20 +1,20 @@
{
"compilerOptions": {
"strict": true,
- "target": "esnext",
+ "target": "es2018",
"downlevelIteration": true,
"esModuleInterop": true,
- "module": "es2015",
- "moduleResolution": "node",
+ "module": "nodenext",
+ "skipLibCheck": true,
"allowJs": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
+ "verbatimModuleSyntax": true,
"noUncheckedIndexedAccess": true,
"exactOptionalPropertyTypes": true,
- "jsx": "react",
+ "jsx": "react-jsx",
"baseUrl": ".",
"paths": {
- "react-tracked": ["./src"]
+ "react-tracked": ["./src/index.js"]
}
- }
+ },
+ "exclude": ["dist", "examples"]
}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 00000000..cd2345a1
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,65 @@
+///
+
+import { resolve } from 'node:path';
+import { readFileSync } from 'node:fs';
+import { defineConfig } from 'vite';
+import type { Plugin } from 'vite';
+
+const { DIR, PORT = '8080' } = process.env;
+
+export default defineConfig(({ mode }) => {
+ if (mode === 'test') {
+ return {
+ resolve: { alias: { 'react-tracked': resolve('src') } },
+ test: {
+ environment: 'happy-dom',
+ setupFiles: ['./tests/vitest-setup.js'],
+ },
+ };
+ }
+ if (!DIR) {
+ throw new Error('DIR environment variable is required');
+ }
+ return {
+ root: resolve('examples', DIR),
+ server: { port: Number(PORT) },
+ resolve: { alias: { 'react-tracked': resolve('src') } },
+ plugins: [indexHtml(resolve('examples', DIR, 'public', 'index.html'))],
+ };
+});
+
+function indexHtml(file: string): Plugin {
+ const html = readFileSync(file, 'utf8');
+ return {
+ name: 'index-html-plugin',
+ configureServer(server) {
+ return () => {
+ server.middlewares.use((req, res) => {
+ server
+ .transformIndexHtml(req.url || '', html)
+ .then((content) => {
+ res.statusCode = 200;
+ res.setHeader('content-type', 'text/html; charset=utf-8');
+ res.end(content);
+ })
+ .catch((err) => {
+ console.error('Error transforming index.html', err);
+ res.statusCode = 500;
+ res.end('Internal Server Error');
+ });
+ });
+ };
+ },
+ config() {
+ return { optimizeDeps: { entries: ['src/index'] } };
+ },
+ transformIndexHtml() {
+ return [
+ {
+ tag: 'script',
+ attrs: { type: 'module', src: '/src/index' },
+ },
+ ];
+ },
+ };
+}
diff --git a/vitest.workspace.ts b/vitest.workspace.ts
new file mode 100644
index 00000000..f688851e
--- /dev/null
+++ b/vitest.workspace.ts
@@ -0,0 +1,20 @@
+import { resolve } from 'node:path';
+import { defineWorkspace } from 'vitest/config';
+
+export default defineWorkspace([
+ {
+ resolve: { alias: { 'react-tracked': resolve('src') } },
+ test: {
+ name: 'spec',
+ environment: 'happy-dom',
+ setupFiles: ['./tests/vitest-setup.js'],
+ },
+ },
+ {
+ test: {
+ name: 'e2e',
+ include: ['./tests/e2e/*.ts'],
+ testTimeout: 15 * 1000,
+ },
+ },
+]);
diff --git a/webpack.config.js b/webpack.config.js
deleted file mode 100644
index 3bb8b416..00000000
--- a/webpack.config.js
+++ /dev/null
@@ -1,41 +0,0 @@
-// eslint-disable-next-line @typescript-eslint/no-var-requires
-const HtmlWebpackPlugin = require('html-webpack-plugin');
-
-const { DIR, EXT = 'ts' } = process.env;
-
-module.exports = {
- mode: 'development',
- devtool: 'cheap-module-source-map',
- entry: `./examples/${DIR}/src/index.${EXT}`,
- output: {
- publicPath: '/',
- },
- plugins: [
- new HtmlWebpackPlugin({
- template: `./examples/${DIR}/public/index.html`,
- }),
- ],
- module: {
- rules: [{
- test: /\.[jt]sx?$/,
- exclude: /node_modules/,
- loader: 'ts-loader',
- options: {
- transpileOnly: true,
- },
- }],
- },
- resolve: {
- extensions: ['.js', '.jsx', '.ts', '.tsx'],
- alias: {
- 'react-tracked': `${__dirname}/src`,
- },
- },
- devServer: {
- port: process.env.PORT || '8080',
- static: {
- directory: `./examples/${DIR}/public`,
- },
- historyApiFallback: true,
- },
-};
diff --git a/website/custom_modules/docusaurus-remark-plugin-ts2js/src/index.js b/website/custom_modules/docusaurus-remark-plugin-ts2js/src/index.js
index 4199be76..f69407ef 100644
--- a/website/custom_modules/docusaurus-remark-plugin-ts2js/src/index.js
+++ b/website/custom_modules/docusaurus-remark-plugin-ts2js/src/index.js
@@ -18,12 +18,13 @@ const stripTypes = (origCode) => {
return code.replace(/\r/g, '').replace(/\n\/\/--EMPTYLINE--\n/g, '\n\n');
};
-const format = (code) => prettier.format(code, {
- parser: 'typescript',
- plugins: [parserTypescript, prettierPluginEstree],
- singleQuote: true,
- trailingComma: 'all',
-});
+const format = (code) =>
+ prettier.format(code, {
+ parser: 'typescript',
+ plugins: [parserTypescript, prettierPluginEstree],
+ singleQuote: true,
+ trailingComma: 'all',
+ });
const uniqueId = 'UsedByRemarkPluginTs2Js'; // should this be configurable? maybe unnecessary.
@@ -39,9 +40,10 @@ const matchNode = (node) => node.type === 'code' && node.meta === 'ts2js';
const transformNode = (node) => {
const jscode = format(stripTypes(node.value));
const tscode = format(node.value);
- return [{
- type: 'jsx',
- value: ` {
]}
>
`,
- }, {
- type: node.type,
- lang: 'javascript',
- value: jscode,
- }, {
- type: 'jsx',
- value: `
+ },
+ {
+ type: node.type,
+ lang: 'javascript',
+ value: jscode,
+ },
+ {
+ type: 'jsx',
+ value: `
`,
- }, {
- type: node.type,
- lang: 'typescript',
- value: tscode,
- }, {
- type: 'jsx',
- value: `
+ },
+ {
+ type: node.type,
+ lang: 'typescript',
+ value: tscode,
+ },
+ {
+ type: 'jsx',
+ value: `
`,
- }];
+ },
+ ];
};
module.exports = () => {
diff --git a/website/docs/api.md b/website/docs/api.md
index 0c65cdb6..aab10242 100644
--- a/website/docs/api.md
+++ b/website/docs/api.md
@@ -52,7 +52,7 @@ type Options = {
stateContextName?: string;
updateContextName?: string;
concurrentMode?: boolean;
-}
+};
```
- `defaultState` and `defaultUpdate` are to specify context default values in case you want something without Provider.
@@ -83,11 +83,7 @@ Typically, it's close to the root component,
but it can be (sometimes desirably) lower in the component tree.
```javascript
-const App = (props) => (
-
- ...
-
-);
+const App = (props) => ...;
```
### useTracked
diff --git a/website/docs/quick-start.md b/website/docs/quick-start.md
index 415a9652..eef5f9a1 100644
--- a/website/docs/quick-start.md
+++ b/website/docs/quick-start.md
@@ -166,10 +166,8 @@ const initialState = {
const useMyState = () => useState(initialState);
-export const {
- Provider: SharedStateProvider,
- useTracked: useSharedState,
-} = createContainer(useMyState);
+export const { Provider: SharedStateProvider, useTracked: useSharedState } =
+ createContainer(useMyState);
```
That's it. Check the running app and see it works as before.
diff --git a/website/docs/recipes.md b/website/docs/recipes.md
index 91bb0098..e5bf31d9 100644
--- a/website/docs/recipes.md
+++ b/website/docs/recipes.md
@@ -151,7 +151,8 @@ you can sync a container state with a state from props.
```javascript
const useValue = ({ propState }) => {
const [state, setState] = useState(propState);
- useEffect(() => { // or useLayoutEffect
+ useEffect(() => {
+ // or useLayoutEffect
setState(propState);
}, [propState]);
return [state, setState];
@@ -163,11 +164,7 @@ const {
// ...
} = createContainer(useValue);
-const App = ({ propState }) => (
-
- ...
-
-);
+const App = ({ propState }) => ...;
```
Note that `propState` has to be updated immutably.
@@ -223,24 +220,25 @@ const useValue = () => {
const [count, setCount] = useState(0);
const increment = useCallback(() => setCount((c) => c + 1), []);
const decrement = useCallback(() => setCount((c) => c - 1), []);
- const state = useMemo(() => ({
- count,
- increment,
- decrement,
- }), [count, increment, decrement]);
- return [state, () => { throw new Error('use functions in the state') }];
+ const state = useMemo(
+ () => ({
+ count,
+ increment,
+ decrement,
+ }),
+ [count, increment, decrement],
+ );
+ return [
+ state,
+ () => {
+ throw new Error('use functions in the state');
+ },
+ ];
};
-const {
- Provider,
- useTrackedState,
-} = createContainer(useValue);
+const { Provider, useTrackedState } = createContainer(useValue);
-const App = () => (
-
- ...
-
-);
+const App = () => ...;
```
Note: With custom update functions, you don't get the benefit
@@ -257,7 +255,7 @@ Selector interface is useful to share selection logic.
You can create a selector hook with state usage tracking very easily.
```javascript
-const useSelectorWithTracking = selector => selector(useTrackedState());
+const useSelectorWithTracking = (selector) => selector(useTrackedState());
```
Note: This is different from `useSelector` which has no tracking support
@@ -271,12 +269,15 @@ Here's a custom hook to return a tuple `[value, setValue]` selected by a name.
```javascript
const useTrackedByName = (name) => {
const [state, setState] = useTracked();
- const update = useCallback((newVal) => {
- setState(oldVal => ({
- ...oldVal,
- [name]: typeof newVal === 'function' ? newVal(oldVal[name]) : newVal,
- }));
- }, [setState, name]);
+ const update = useCallback(
+ (newVal) => {
+ setState((oldVal) => ({
+ ...oldVal,
+ [name]: typeof newVal === 'function' ? newVal(oldVal[name]) : newVal,
+ }));
+ },
+ [setState, name],
+ );
return [state[name], update];
};
```
@@ -291,9 +292,12 @@ import produce from 'immer';
const useTrackedWithImmer = () => {
const [state, setState] = useTracked();
- const update = useCallback((updater) => {
- setState(oldVal => produce(oldVal, updater));
- }, [setState]);
+ const update = useCallback(
+ (updater) => {
+ setState((oldVal) => produce(oldVal, updater));
+ },
+ [setState],
+ );
return [state, update];
};
```
@@ -333,8 +337,11 @@ const untrackDeep = (obj) => {
const useSafeDispatch = () => {
const dispatch = useDispatch();
- return useCallback((action) => {
- dispatch(untrackDeep(action));
- }, [dispatch]);
+ return useCallback(
+ (action) => {
+ dispatch(untrackDeep(action));
+ },
+ [dispatch],
+ );
};
```
diff --git a/website/docs/tutorial-01.md b/website/docs/tutorial-01.md
index 678424ce..bdeec490 100644
--- a/website/docs/tutorial-01.md
+++ b/website/docs/tutorial-01.md
@@ -133,7 +133,7 @@ export const useFlasher = () => {
if (!ref.current) return;
ref.current.setAttribute(
'style',
- 'box-shadow: 0 0 2px 1px red; transition: box-shadow 100ms ease-out;'
+ 'box-shadow: 0 0 2px 1px red; transition: box-shadow 100ms ease-out;',
);
setTimeout(() => {
if (!ref.current) return;
diff --git a/website/docs/tutorial-02.md b/website/docs/tutorial-02.md
index 28c016ba..d6d0fba5 100644
--- a/website/docs/tutorial-02.md
+++ b/website/docs/tutorial-02.md
@@ -70,13 +70,15 @@ const reducer = (state: State, action: Action): State => {
case 'DELETE_TODO':
return {
...state,
- todos: state.todos.filter(todo => todo.id !== action.id),
+ todos: state.todos.filter((todo) => todo.id !== action.id),
};
case 'TOGGLE_TODO':
return {
...state,
- todos: state.todos.map(todo =>
- todo.id === action.id ? { ...todo, completed: !todo.completed } : todo
+ todos: state.todos.map((todo) =>
+ todo.id === action.id
+ ? { ...todo, completed: !todo.completed }
+ : todo,
),
};
case 'SET_QUERY':
@@ -239,7 +241,7 @@ export const useFlasher = () => {
if (!ref.current) return;
ref.current.setAttribute(
'style',
- 'box-shadow: 0 0 2px 1px red; transition: box-shadow 100ms ease-out;'
+ 'box-shadow: 0 0 2px 1px red; transition: box-shadow 100ms ease-out;',
);
setTimeout(() => {
if (!ref.current) return;
diff --git a/website/docs/tutorial-03.md b/website/docs/tutorial-03.md
index 9a3b3dc4..7366af86 100644
--- a/website/docs/tutorial-03.md
+++ b/website/docs/tutorial-03.md
@@ -55,9 +55,11 @@ const initialState: State = {
const useValue = () => useState(initialState);
-const { Provider, useTrackedState, useUpdate: useSetState } = createContainer(
- useValue
-);
+const {
+ Provider,
+ useTrackedState,
+ useUpdate: useSetState,
+} = createContainer(useValue);
const useSetDraft = () => {
const setState = useSetState();
@@ -65,7 +67,7 @@ const useSetDraft = () => {
(draftUpdater: (draft: Draft) => void) => {
setState(produce(draftUpdater));
},
- [setState]
+ [setState],
);
};
@@ -101,12 +103,12 @@ let nextId = 100;
export const useAddTodo = () => {
const setDraft = useSetDraft();
return useCallback(
- title => {
- setDraft(draft => {
+ (title) => {
+ setDraft((draft) => {
draft.todos.push({ id: nextId++, title });
});
},
- [setDraft]
+ [setDraft],
);
};
```
@@ -124,12 +126,12 @@ export const useDeleteTodo = () => {
const setDraft = useSetDraft();
return useCallback(
(id: number) => {
- setDraft(draft => {
- const index = draft.todos.findIndex(todo => todo.id === id);
+ setDraft((draft) => {
+ const index = draft.todos.findIndex((todo) => todo.id === id);
if (index >= 0) draft.todos.splice(index, 1);
});
},
- [setDraft]
+ [setDraft],
);
};
```
@@ -147,12 +149,12 @@ export const useToggleTodo = () => {
const setDraft = useSetDraft();
return useCallback(
(id: number) => {
- setDraft(draft => {
- const todo = draft.todos.find(todo => todo.id === id);
+ setDraft((draft) => {
+ const todo = draft.todos.find((todo) => todo.id === id);
if (todo) todo.completed = !todo.completed;
});
},
- [setDraft]
+ [setDraft],
);
};
```
@@ -172,11 +174,11 @@ export const useQuery = () => {
const setDraft = useSetDraft();
const setQuery = useCallback(
(query: string) => {
- setDraft(draft => {
+ setDraft((draft) => {
draft.query = query;
});
},
- [setDraft]
+ [setDraft],
);
return { getQuery, setQuery };
};
@@ -328,7 +330,7 @@ export const useFlasher = () => {
if (ref.current) {
ref.current.setAttribute(
'style',
- 'box-shadow: 0 0 2px 1px red; transition: box-shadow 100ms ease-out;'
+ 'box-shadow: 0 0 2px 1px red; transition: box-shadow 100ms ease-out;',
);
}
const timeOutId = setTimeout(() => {
diff --git a/website/docs/tutorial-04.md b/website/docs/tutorial-04.md
index f9316ac0..8974e814 100644
--- a/website/docs/tutorial-04.md
+++ b/website/docs/tutorial-04.md
@@ -87,7 +87,7 @@ const reducer: Reducer = (state, action) => {
const { [action.id]: _removed, ...rest } = state.todoMap;
return {
...state,
- todoIds: state.todoIds.filter(id => id !== action.id),
+ todoIds: state.todoIds.filter((id) => id !== action.id),
todoMap: rest,
pending: false,
};
@@ -118,67 +118,73 @@ const asyncActionHandlers: AsyncActionHandlers<
Reducer,
AsyncAction
> = {
- CREATE_TODO: ({ dispatch }) => async action => {
- try {
- dispatch({ type: 'STARTED' });
- const response = await fetch(`https://reqres.in/api/todos?delay=1`, {
- method: 'POST',
- headers: {
- 'Content-Type': 'application/json',
- },
- body: JSON.stringify({ title: action.title }),
- });
- const data = await response.json();
- if (typeof data.id !== 'string') throw new Error('no id');
- if (typeof data.title !== 'string') throw new Error('no title');
- dispatch({ type: 'TODO_CREATED', todo: data });
- } catch (error) {
- dispatch({ type: 'FAILED', error });
- }
- },
- TOGGLE_TODO: ({ dispatch, getState }) => async action => {
- try {
- dispatch({ type: 'STARTED' });
- const todo = getState().todoMap[action.id];
- const body = {
- ...todo,
- completed: !todo.completed,
- };
- const response = await fetch(
- `https://reqres.in/api/todos/${action.id}?delay=1`,
- {
- method: 'PUT',
+ CREATE_TODO:
+ ({ dispatch }) =>
+ async (action) => {
+ try {
+ dispatch({ type: 'STARTED' });
+ const response = await fetch(`https://reqres.in/api/todos?delay=1`, {
+ method: 'POST',
headers: {
'Content-Type': 'application/json',
},
- body: JSON.stringify(body),
- }
- );
- const data = await response.json();
- if (typeof data.title !== 'string') throw new Error('no title');
- dispatch({ type: 'TODO_UPDATED', todo: { ...data, id: action.id } });
- } catch (error) {
- dispatch({ type: 'FAILED', error });
- }
- },
- DELETE_TODO: ({ dispatch } )=> async action => {
- try {
- dispatch({ type: 'STARTED' });
- await fetch(`https://reqres.in/api/todos/${action.id}?delay=1`, {
- method: 'DELETE',
- });
- dispatch({ type: 'TODO_DELETED', id: action.id });
- } catch (error) {
- dispatch({ type: 'FAILED', error });
- }
- },
+ body: JSON.stringify({ title: action.title }),
+ });
+ const data = await response.json();
+ if (typeof data.id !== 'string') throw new Error('no id');
+ if (typeof data.title !== 'string') throw new Error('no title');
+ dispatch({ type: 'TODO_CREATED', todo: data });
+ } catch (error) {
+ dispatch({ type: 'FAILED', error });
+ }
+ },
+ TOGGLE_TODO:
+ ({ dispatch, getState }) =>
+ async (action) => {
+ try {
+ dispatch({ type: 'STARTED' });
+ const todo = getState().todoMap[action.id];
+ const body = {
+ ...todo,
+ completed: !todo.completed,
+ };
+ const response = await fetch(
+ `https://reqres.in/api/todos/${action.id}?delay=1`,
+ {
+ method: 'PUT',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ body: JSON.stringify(body),
+ },
+ );
+ const data = await response.json();
+ if (typeof data.title !== 'string') throw new Error('no title');
+ dispatch({ type: 'TODO_UPDATED', todo: { ...data, id: action.id } });
+ } catch (error) {
+ dispatch({ type: 'FAILED', error });
+ }
+ },
+ DELETE_TODO:
+ ({ dispatch }) =>
+ async (action) => {
+ try {
+ dispatch({ type: 'STARTED' });
+ await fetch(`https://reqres.in/api/todos/${action.id}?delay=1`, {
+ method: 'DELETE',
+ });
+ dispatch({ type: 'TODO_DELETED', id: action.id });
+ } catch (error) {
+ dispatch({ type: 'FAILED', error });
+ }
+ },
};
const useValue = () =>
useReducerAsync, AsyncAction>(
reducer,
initialState,
- asyncActionHandlers
+ asyncActionHandlers,
);
export const {
diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js
index 182de343..4d04b2f5 100644
--- a/website/docusaurus.config.js
+++ b/website/docusaurus.config.js
@@ -2,16 +2,15 @@
module.exports = {
title: 'React Tracked',
- tagline: 'State usage tracking with Proxies. Optimize re-renders for useState/useReducer, React Redux, Zustand and others.',
+ tagline:
+ 'State usage tracking with Proxies. Optimize re-renders for useState/useReducer, React Redux, Zustand and others.',
organizationName: 'dai-shi',
projectName: 'react-tracked',
baseUrl: '/',
url: 'https://react-tracked.js.org',
favicon: 'img/favicon.ico',
trailingSlash: true,
- themes: [
- '@docusaurus/theme-live-codeblock',
- ],
+ themes: ['@docusaurus/theme-live-codeblock'],
plugins: [],
presets: [
[
diff --git a/website/sidebars.js b/website/sidebars.js
index 545a366a..9b4ada09 100644
--- a/website/sidebars.js
+++ b/website/sidebars.js
@@ -1,27 +1,14 @@
module.exports = {
docs: {
- 'Getting Started': [
- 'introduction',
- 'quick-start',
- 'comparison',
- ],
+ 'Getting Started': ['introduction', 'quick-start', 'comparison'],
'Tutorial with createContainer': [
'tutorial-01',
'tutorial-02',
'tutorial-03',
'tutorial-04',
],
- 'Tutorial with react-redux': [
- 'tutorial-redux-01',
- ],
- 'Tutorial with zustand': [
- 'tutorial-zustand-01',
- ],
- Reference: [
- 'api',
- 'recipes',
- 'debugging',
- 'caveats',
- ],
+ 'Tutorial with react-redux': ['tutorial-redux-01'],
+ 'Tutorial with zustand': ['tutorial-zustand-01'],
+ Reference: ['api', 'recipes', 'debugging', 'caveats'],
},
};
diff --git a/website/src/pages/index.js b/website/src/pages/index.js
index 00c331ab..fff48ecd 100644
--- a/website/src/pages/index.js
+++ b/website/src/pages/index.js
@@ -11,15 +11,13 @@ const Home = () => {
const { siteConfig = {} } = useDocusaurusContext();
return (
-
-
+
{
/>
{siteConfig.title}
{siteConfig.tagline}
-
-
- Getting Started
-
+ Getting Started