├── .gitignore
├── .vscode
└── settings.json
├── LICENSE
├── README.md
├── eslint.config.js
├── index.html
├── package.json
├── pnpm-lock.yaml
├── src
├── app.tsx
├── main.css
├── main.tsx
└── use-fetch
│ ├── README.md
│ ├── use-fetch.example.tsx
│ ├── use-fetch.solution.ts
│ ├── use-fetch.test.ts
│ └── use-fetch.ts
├── tsconfig.app.json
├── tsconfig.json
├── tsconfig.node.json
├── vite.config.ts
└── vitest.config.ts
/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | // Disable the default formatter, use eslint instead
3 | "prettier.enable": false,
4 | "editor.formatOnSave": false,
5 |
6 | // Auto fix
7 | "editor.codeActionsOnSave": {
8 | "source.fixAll.eslint": "explicit",
9 | "source.organizeImports": "never"
10 | },
11 |
12 | // Silent the stylistic rules in you IDE, but still auto fix them
13 | "eslint.rules.customizations": [
14 | { "rule": "style/*", "severity": "off", "fixable": true },
15 | { "rule": "format/*", "severity": "off", "fixable": true },
16 | { "rule": "*-indent", "severity": "off", "fixable": true },
17 | { "rule": "*-spacing", "severity": "off", "fixable": true },
18 | { "rule": "*-spaces", "severity": "off", "fixable": true },
19 | { "rule": "*-order", "severity": "off", "fixable": true },
20 | { "rule": "*-dangle", "severity": "off", "fixable": true },
21 | { "rule": "*-newline", "severity": "off", "fixable": true },
22 | { "rule": "*quotes", "severity": "off", "fixable": true },
23 | { "rule": "*semi", "severity": "off", "fixable": true }
24 | ],
25 |
26 | // Enable eslint for all supported languages
27 | "eslint.validate": [
28 | "javascript",
29 | "javascriptreact",
30 | "typescript",
31 | "typescriptreact",
32 | "vue",
33 | "html",
34 | "markdown",
35 | "json",
36 | "jsonc",
37 | "yaml",
38 | "toml",
39 | "xml",
40 | "gql",
41 | "graphql",
42 | "astro",
43 | "css",
44 | "less",
45 | "scss",
46 | "pcss",
47 | "postcss"
48 | ]
49 | }
50 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License Copyright (c) 2024 w3cj
2 |
3 | Permission is hereby granted, free of
4 | charge, to any person obtaining a copy of this software and associated
5 | documentation files (the "Software"), to deal in the Software without
6 | restriction, including without limitation the rights to use, copy, modify, merge,
7 | publish, distribute, sublicense, and/or sell copies of the Software, and to
8 | permit persons to whom the Software is furnished to do so, subject to the
9 | following conditions:
10 |
11 | The above copyright notice and this permission notice
12 | (including the next paragraph) shall be included in all copies or substantial
13 | portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
16 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
18 | EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19 | OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
20 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21 | THE SOFTWARE.
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # use-x
2 |
3 | Practice implementing custom react hooks with full test suites and examples.
4 |
5 | ## Hooks
6 |
7 | - [useFetch](./src/use-fetch)
8 | - Manage the error, loading and data state of `fetch`
9 |
10 | ## Setup
11 |
12 | Install dependencies
13 |
14 | ```sh
15 | pnpm i
16 | ```
17 |
18 | ## Enable tests
19 |
20 | All tests are skipped by default. To enable a test, remove `.skip`
21 |
22 | ```diff
23 | - it.skip("should test the hook", async () => {
24 | + it("should test the hook", async () => {
25 | // codes here
26 | });
27 | ```
28 |
29 | Run all tests
30 |
31 | ```sh
32 | pnpm test
33 | ```
34 |
35 | Run a specific test suite
36 |
37 | ```sh
38 | pnpm test ./src/path/to/test/file/use-hook.test.ts
39 | ```
40 |
--------------------------------------------------------------------------------
/eslint.config.js:
--------------------------------------------------------------------------------
1 | import antfu from "@antfu/eslint-config";
2 |
3 | export default antfu({
4 | type: "app",
5 | react: true,
6 | typescript: true,
7 | formatters: true,
8 | stylistic: {
9 | indent: 2,
10 | semi: true,
11 | quotes: "double",
12 | },
13 | }, {
14 | rules: {
15 | "ts/consistent-type-definitions": ["error", "type"],
16 | "no-console": ["warn"],
17 | "antfu/no-top-level-await": ["off"],
18 | "perfectionist/sort-imports": ["error"],
19 | "unicorn/filename-case": ["error", {
20 | case: "kebabCase",
21 | ignore: ["README.md"],
22 | }],
23 | },
24 | });
25 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
9 |
10 | use-x
11 |
12 |
13 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "use-x",
3 | "type": "module",
4 | "version": "0.1.0",
5 | "license": "MIT",
6 | "scripts": {
7 | "dev": "vite",
8 | "build": "tsc -b && vite build",
9 | "lint": "eslint .",
10 | "lint:fix": "eslint . --fix",
11 | "preview": "vite preview",
12 | "test": "vitest"
13 | },
14 | "dependencies": {
15 | "@picocss/pico": "^2.0.6",
16 | "react": "^18.3.1",
17 | "react-dom": "^18.3.1",
18 | "react-router-dom": "^6.27.0",
19 | "vitest": "^2.1.2"
20 | },
21 | "devDependencies": {
22 | "@antfu/eslint-config": "^3.7.3",
23 | "@eslint-react/eslint-plugin": "^1.14.2",
24 | "@eslint/js": "^9.11.1",
25 | "@testing-library/react": "^16.0.1",
26 | "@types/jsdom": "^21.1.7",
27 | "@types/react": "^18.3.10",
28 | "@types/react-dom": "^18.3.0",
29 | "@vitejs/plugin-react": "^4.3.2",
30 | "eslint": "^9.11.1",
31 | "eslint-plugin-format": "^0.1.2",
32 | "eslint-plugin-react-hooks": "^5.0.0",
33 | "eslint-plugin-react-refresh": "^0.4.12",
34 | "globals": "^15.9.0",
35 | "jsdom": "^25.0.1",
36 | "typescript": "^5.5.3",
37 | "typescript-eslint": "^8.7.0",
38 | "vite": "^5.4.8"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | dependencies:
11 | '@picocss/pico':
12 | specifier: ^2.0.6
13 | version: 2.0.6
14 | react:
15 | specifier: ^18.3.1
16 | version: 18.3.1
17 | react-dom:
18 | specifier: ^18.3.1
19 | version: 18.3.1(react@18.3.1)
20 | react-router-dom:
21 | specifier: ^6.27.0
22 | version: 6.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
23 | vitest:
24 | specifier: ^2.1.2
25 | version: 2.1.3(@types/node@22.7.5)(jsdom@25.0.1)
26 | devDependencies:
27 | '@antfu/eslint-config':
28 | specifier: ^3.7.3
29 | version: 3.7.3(@eslint-react/eslint-plugin@1.15.0(eslint@9.12.0)(typescript@5.6.3))(@typescript-eslint/utils@8.9.0(eslint@9.12.0)(typescript@5.6.3))(@vue/compiler-sfc@3.5.12)(eslint-plugin-format@0.1.2(eslint@9.12.0))(eslint-plugin-react-hooks@5.0.0(eslint@9.12.0))(eslint-plugin-react-refresh@0.4.12(eslint@9.12.0))(eslint@9.12.0)(typescript@5.6.3)(vitest@2.1.3(@types/node@22.7.5)(jsdom@25.0.1))
30 | '@eslint-react/eslint-plugin':
31 | specifier: ^1.14.2
32 | version: 1.15.0(eslint@9.12.0)(typescript@5.6.3)
33 | '@eslint/js':
34 | specifier: ^9.11.1
35 | version: 9.12.0
36 | '@testing-library/react':
37 | specifier: ^16.0.1
38 | version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
39 | '@types/jsdom':
40 | specifier: ^21.1.7
41 | version: 21.1.7
42 | '@types/react':
43 | specifier: ^18.3.10
44 | version: 18.3.11
45 | '@types/react-dom':
46 | specifier: ^18.3.0
47 | version: 18.3.1
48 | '@vitejs/plugin-react':
49 | specifier: ^4.3.2
50 | version: 4.3.2(vite@5.4.9(@types/node@22.7.5))
51 | eslint:
52 | specifier: ^9.11.1
53 | version: 9.12.0
54 | eslint-plugin-format:
55 | specifier: ^0.1.2
56 | version: 0.1.2(eslint@9.12.0)
57 | eslint-plugin-react-hooks:
58 | specifier: ^5.0.0
59 | version: 5.0.0(eslint@9.12.0)
60 | eslint-plugin-react-refresh:
61 | specifier: ^0.4.12
62 | version: 0.4.12(eslint@9.12.0)
63 | globals:
64 | specifier: ^15.9.0
65 | version: 15.11.0
66 | jsdom:
67 | specifier: ^25.0.1
68 | version: 25.0.1
69 | typescript:
70 | specifier: ^5.5.3
71 | version: 5.6.3
72 | typescript-eslint:
73 | specifier: ^8.7.0
74 | version: 8.9.0(eslint@9.12.0)(typescript@5.6.3)
75 | vite:
76 | specifier: ^5.4.8
77 | version: 5.4.9(@types/node@22.7.5)
78 |
79 | packages:
80 |
81 | '@ampproject/remapping@2.3.0':
82 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
83 | engines: {node: '>=6.0.0'}
84 |
85 | '@antfu/eslint-config@3.7.3':
86 | resolution: {integrity: sha512-vzhKtzQT+f/xBV8T5U8SFy3D7uAqL2CEcjsJVqtA7F8tdKvGuC/96uWeEKMHk5lRfijgj+xRvb+c4qQn60YlIA==}
87 | hasBin: true
88 | peerDependencies:
89 | '@eslint-react/eslint-plugin': ^1.5.8
90 | '@prettier/plugin-xml': ^3.4.1
91 | '@unocss/eslint-plugin': '>=0.50.0'
92 | astro-eslint-parser: ^1.0.2
93 | eslint: ^9.10.0
94 | eslint-plugin-astro: ^1.2.0
95 | eslint-plugin-format: '>=0.1.0'
96 | eslint-plugin-react-hooks: ^4.6.0
97 | eslint-plugin-react-refresh: ^0.4.4
98 | eslint-plugin-solid: ^0.14.3
99 | eslint-plugin-svelte: '>=2.35.1'
100 | prettier-plugin-astro: ^0.13.0
101 | prettier-plugin-slidev: ^1.0.5
102 | svelte-eslint-parser: '>=0.37.0'
103 | peerDependenciesMeta:
104 | '@eslint-react/eslint-plugin':
105 | optional: true
106 | '@prettier/plugin-xml':
107 | optional: true
108 | '@unocss/eslint-plugin':
109 | optional: true
110 | astro-eslint-parser:
111 | optional: true
112 | eslint-plugin-astro:
113 | optional: true
114 | eslint-plugin-format:
115 | optional: true
116 | eslint-plugin-react-hooks:
117 | optional: true
118 | eslint-plugin-react-refresh:
119 | optional: true
120 | eslint-plugin-solid:
121 | optional: true
122 | eslint-plugin-svelte:
123 | optional: true
124 | prettier-plugin-astro:
125 | optional: true
126 | prettier-plugin-slidev:
127 | optional: true
128 | svelte-eslint-parser:
129 | optional: true
130 |
131 | '@antfu/install-pkg@0.4.1':
132 | resolution: {integrity: sha512-T7yB5QNG29afhWVkVq7XeIMBa5U/vs9mX69YqayXypPRmYzUmzwnYltplHmPtZ4HPCn+sQKeXW8I47wCbuBOjw==}
133 |
134 | '@antfu/utils@0.7.10':
135 | resolution: {integrity: sha512-+562v9k4aI80m1+VuMHehNJWLOFjBnXn3tdOitzD0il5b7smkSBal4+a3oKiQTbrwMmN/TBUMDvbdoWDehgOww==}
136 |
137 | '@babel/code-frame@7.25.7':
138 | resolution: {integrity: sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g==}
139 | engines: {node: '>=6.9.0'}
140 |
141 | '@babel/compat-data@7.25.8':
142 | resolution: {integrity: sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==}
143 | engines: {node: '>=6.9.0'}
144 |
145 | '@babel/core@7.25.8':
146 | resolution: {integrity: sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==}
147 | engines: {node: '>=6.9.0'}
148 |
149 | '@babel/generator@7.25.7':
150 | resolution: {integrity: sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA==}
151 | engines: {node: '>=6.9.0'}
152 |
153 | '@babel/helper-compilation-targets@7.25.7':
154 | resolution: {integrity: sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A==}
155 | engines: {node: '>=6.9.0'}
156 |
157 | '@babel/helper-module-imports@7.25.7':
158 | resolution: {integrity: sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw==}
159 | engines: {node: '>=6.9.0'}
160 |
161 | '@babel/helper-module-transforms@7.25.7':
162 | resolution: {integrity: sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ==}
163 | engines: {node: '>=6.9.0'}
164 | peerDependencies:
165 | '@babel/core': ^7.0.0
166 |
167 | '@babel/helper-plugin-utils@7.25.7':
168 | resolution: {integrity: sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw==}
169 | engines: {node: '>=6.9.0'}
170 |
171 | '@babel/helper-simple-access@7.25.7':
172 | resolution: {integrity: sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ==}
173 | engines: {node: '>=6.9.0'}
174 |
175 | '@babel/helper-string-parser@7.25.7':
176 | resolution: {integrity: sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g==}
177 | engines: {node: '>=6.9.0'}
178 |
179 | '@babel/helper-validator-identifier@7.25.7':
180 | resolution: {integrity: sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg==}
181 | engines: {node: '>=6.9.0'}
182 |
183 | '@babel/helper-validator-option@7.25.7':
184 | resolution: {integrity: sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ==}
185 | engines: {node: '>=6.9.0'}
186 |
187 | '@babel/helpers@7.25.7':
188 | resolution: {integrity: sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA==}
189 | engines: {node: '>=6.9.0'}
190 |
191 | '@babel/highlight@7.25.7':
192 | resolution: {integrity: sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw==}
193 | engines: {node: '>=6.9.0'}
194 |
195 | '@babel/parser@7.25.8':
196 | resolution: {integrity: sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==}
197 | engines: {node: '>=6.0.0'}
198 | hasBin: true
199 |
200 | '@babel/plugin-transform-react-jsx-self@7.25.7':
201 | resolution: {integrity: sha512-JD9MUnLbPL0WdVK8AWC7F7tTG2OS6u/AKKnsK+NdRhUiVdnzyR1S3kKQCaRLOiaULvUiqK6Z4JQE635VgtCFeg==}
202 | engines: {node: '>=6.9.0'}
203 | peerDependencies:
204 | '@babel/core': ^7.0.0-0
205 |
206 | '@babel/plugin-transform-react-jsx-source@7.25.7':
207 | resolution: {integrity: sha512-S/JXG/KrbIY06iyJPKfxr0qRxnhNOdkNXYBl/rmwgDd72cQLH9tEGkDm/yJPGvcSIUoikzfjMios9i+xT/uv9w==}
208 | engines: {node: '>=6.9.0'}
209 | peerDependencies:
210 | '@babel/core': ^7.0.0-0
211 |
212 | '@babel/runtime@7.25.7':
213 | resolution: {integrity: sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w==}
214 | engines: {node: '>=6.9.0'}
215 |
216 | '@babel/template@7.25.7':
217 | resolution: {integrity: sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA==}
218 | engines: {node: '>=6.9.0'}
219 |
220 | '@babel/traverse@7.25.7':
221 | resolution: {integrity: sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg==}
222 | engines: {node: '>=6.9.0'}
223 |
224 | '@babel/types@7.25.8':
225 | resolution: {integrity: sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==}
226 | engines: {node: '>=6.9.0'}
227 |
228 | '@clack/core@0.3.4':
229 | resolution: {integrity: sha512-H4hxZDXgHtWTwV3RAVenqcC4VbJZNegbBjlPvzOzCouXtS2y3sDvlO3IsbrPNWuLWPPlYVYPghQdSF64683Ldw==}
230 |
231 | '@clack/prompts@0.7.0':
232 | resolution: {integrity: sha512-0MhX9/B4iL6Re04jPrttDm+BsP8y6mS7byuv0BvXgdXhbV5PdlsHt55dvNsuBCPZ7xq1oTAOOuotR9NFbQyMSA==}
233 | bundledDependencies:
234 | - is-unicode-supported
235 |
236 | '@dprint/formatter@0.3.0':
237 | resolution: {integrity: sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==}
238 |
239 | '@dprint/markdown@0.17.8':
240 | resolution: {integrity: sha512-ukHFOg+RpG284aPdIg7iPrCYmMs3Dqy43S1ejybnwlJoFiW02b+6Bbr5cfZKFRYNP3dKGM86BqHEnMzBOyLvvA==}
241 |
242 | '@dprint/toml@0.6.3':
243 | resolution: {integrity: sha512-zQ42I53sb4WVHA+5yoY1t59Zk++Ot02AvUgtNKLzTT8mPyVqVChFcePa3on/xIoKEgH+RoepgPHzqfk9837YFw==}
244 |
245 | '@es-joy/jsdoccomment@0.48.0':
246 | resolution: {integrity: sha512-G6QUWIcC+KvSwXNsJyDTHvqUdNoAVJPPgkc3+Uk4WBKqZvoXhlvazOgm9aL0HwihJLQf0l+tOE2UFzXBqCqgDw==}
247 | engines: {node: '>=16'}
248 |
249 | '@es-joy/jsdoccomment@0.49.0':
250 | resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==}
251 | engines: {node: '>=16'}
252 |
253 | '@esbuild/aix-ppc64@0.21.5':
254 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==}
255 | engines: {node: '>=12'}
256 | cpu: [ppc64]
257 | os: [aix]
258 |
259 | '@esbuild/android-arm64@0.21.5':
260 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==}
261 | engines: {node: '>=12'}
262 | cpu: [arm64]
263 | os: [android]
264 |
265 | '@esbuild/android-arm@0.21.5':
266 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==}
267 | engines: {node: '>=12'}
268 | cpu: [arm]
269 | os: [android]
270 |
271 | '@esbuild/android-x64@0.21.5':
272 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==}
273 | engines: {node: '>=12'}
274 | cpu: [x64]
275 | os: [android]
276 |
277 | '@esbuild/darwin-arm64@0.21.5':
278 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==}
279 | engines: {node: '>=12'}
280 | cpu: [arm64]
281 | os: [darwin]
282 |
283 | '@esbuild/darwin-x64@0.21.5':
284 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==}
285 | engines: {node: '>=12'}
286 | cpu: [x64]
287 | os: [darwin]
288 |
289 | '@esbuild/freebsd-arm64@0.21.5':
290 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==}
291 | engines: {node: '>=12'}
292 | cpu: [arm64]
293 | os: [freebsd]
294 |
295 | '@esbuild/freebsd-x64@0.21.5':
296 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==}
297 | engines: {node: '>=12'}
298 | cpu: [x64]
299 | os: [freebsd]
300 |
301 | '@esbuild/linux-arm64@0.21.5':
302 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==}
303 | engines: {node: '>=12'}
304 | cpu: [arm64]
305 | os: [linux]
306 |
307 | '@esbuild/linux-arm@0.21.5':
308 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==}
309 | engines: {node: '>=12'}
310 | cpu: [arm]
311 | os: [linux]
312 |
313 | '@esbuild/linux-ia32@0.21.5':
314 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==}
315 | engines: {node: '>=12'}
316 | cpu: [ia32]
317 | os: [linux]
318 |
319 | '@esbuild/linux-loong64@0.21.5':
320 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==}
321 | engines: {node: '>=12'}
322 | cpu: [loong64]
323 | os: [linux]
324 |
325 | '@esbuild/linux-mips64el@0.21.5':
326 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==}
327 | engines: {node: '>=12'}
328 | cpu: [mips64el]
329 | os: [linux]
330 |
331 | '@esbuild/linux-ppc64@0.21.5':
332 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==}
333 | engines: {node: '>=12'}
334 | cpu: [ppc64]
335 | os: [linux]
336 |
337 | '@esbuild/linux-riscv64@0.21.5':
338 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==}
339 | engines: {node: '>=12'}
340 | cpu: [riscv64]
341 | os: [linux]
342 |
343 | '@esbuild/linux-s390x@0.21.5':
344 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==}
345 | engines: {node: '>=12'}
346 | cpu: [s390x]
347 | os: [linux]
348 |
349 | '@esbuild/linux-x64@0.21.5':
350 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==}
351 | engines: {node: '>=12'}
352 | cpu: [x64]
353 | os: [linux]
354 |
355 | '@esbuild/netbsd-x64@0.21.5':
356 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==}
357 | engines: {node: '>=12'}
358 | cpu: [x64]
359 | os: [netbsd]
360 |
361 | '@esbuild/openbsd-x64@0.21.5':
362 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==}
363 | engines: {node: '>=12'}
364 | cpu: [x64]
365 | os: [openbsd]
366 |
367 | '@esbuild/sunos-x64@0.21.5':
368 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==}
369 | engines: {node: '>=12'}
370 | cpu: [x64]
371 | os: [sunos]
372 |
373 | '@esbuild/win32-arm64@0.21.5':
374 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==}
375 | engines: {node: '>=12'}
376 | cpu: [arm64]
377 | os: [win32]
378 |
379 | '@esbuild/win32-ia32@0.21.5':
380 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==}
381 | engines: {node: '>=12'}
382 | cpu: [ia32]
383 | os: [win32]
384 |
385 | '@esbuild/win32-x64@0.21.5':
386 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==}
387 | engines: {node: '>=12'}
388 | cpu: [x64]
389 | os: [win32]
390 |
391 | '@eslint-community/eslint-plugin-eslint-comments@4.4.0':
392 | resolution: {integrity: sha512-yljsWl5Qv3IkIRmJ38h3NrHXFCm4EUl55M8doGTF6hvzvFF8kRpextgSrg2dwHev9lzBZyafCr9RelGIyQm6fw==}
393 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
394 | peerDependencies:
395 | eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
396 |
397 | '@eslint-community/eslint-utils@4.4.0':
398 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
399 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
400 | peerDependencies:
401 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
402 |
403 | '@eslint-community/regexpp@4.11.1':
404 | resolution: {integrity: sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q==}
405 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
406 |
407 | '@eslint-react/ast@1.15.0':
408 | resolution: {integrity: sha512-7rOLLfGER82FQJy7pCFNs4j/47RYTEiPDfMFGAu4W7yerJrvU2rRNqjSwwm1Iq0DrrasBV8a3IVtPYQoDOqycg==}
409 |
410 | '@eslint-react/core@1.15.0':
411 | resolution: {integrity: sha512-T7KirkdempegOxQznW1xclZtv5hQRChgbeYqisPRENkNg90w3uY7ia5iPf6FEZntkja/NF00VUnUetIw4rO0og==}
412 |
413 | '@eslint-react/eslint-plugin@1.15.0':
414 | resolution: {integrity: sha512-5cuu7gNBgwQwgDX1YJugL7ujay0NT27g3UN0qtJAON9WLBv/ESq+qLMxddGwPSljV/XGxhwbbys09Jgww/fy8A==}
415 | engines: {bun: '>=1.0.15', node: '>=18.18.0'}
416 | peerDependencies:
417 | eslint: ^8.57.0 || ^9.0.0
418 | typescript: ^4.9.5 || ^5.3.3
419 | peerDependenciesMeta:
420 | typescript:
421 | optional: true
422 |
423 | '@eslint-react/jsx@1.15.0':
424 | resolution: {integrity: sha512-VZy8RWPx+2PUuBKaXPtu2qWnWN9SpkdgY3ohkZoGdoqkEYkYaXjvABNByQLwvk2+Ewqt0K+1f8r7QoQi47pQmw==}
425 |
426 | '@eslint-react/shared@1.15.0':
427 | resolution: {integrity: sha512-LRgcKKhNePEJzuwICe3rgUC5KVd4ZhlKys91gMxmUob3RCiUj4BjfAURJMqzwsPGF32WQeHkipw1hWNGpQNdlw==}
428 |
429 | '@eslint-react/tools@1.15.0':
430 | resolution: {integrity: sha512-zdd2K3EV2tWaCzNH60wD159HuX904kWzv+X87yqzZ0Nf2OBUDJ4a561NoDX3Pn8A3E6hFdu666zpIGdeaej9eg==}
431 |
432 | '@eslint-react/types@1.15.0':
433 | resolution: {integrity: sha512-bajL6xIUxZp36fezn5HEhQpL0eJM923hwfRj6cym2Xl0Jn2YgahSztHorsOpId71MYBgn9ERy9yXItcnrz0rsQ==}
434 |
435 | '@eslint-react/var@1.15.0':
436 | resolution: {integrity: sha512-/QycKnbgZRygM/lhHtUFQrvvrswdOyaXfVxwtIFVEYoPHP9q7NaUn0mrBu4VWkXQC9zPk1nWQeC3rZMUxzretg==}
437 |
438 | '@eslint/compat@1.2.0':
439 | resolution: {integrity: sha512-CkPWddN7J9JPrQedEr2X7AjK9y1jaMJtxZ4A/+jTMFA2+n5BWhcKHW/EbJyARqg2zzQfgtWUtVmG3hrG6+nGpg==}
440 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
441 | peerDependencies:
442 | eslint: ^9.10.0
443 | peerDependenciesMeta:
444 | eslint:
445 | optional: true
446 |
447 | '@eslint/config-array@0.18.0':
448 | resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==}
449 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
450 |
451 | '@eslint/core@0.6.0':
452 | resolution: {integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==}
453 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
454 |
455 | '@eslint/eslintrc@3.1.0':
456 | resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==}
457 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
458 |
459 | '@eslint/js@9.12.0':
460 | resolution: {integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==}
461 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
462 |
463 | '@eslint/markdown@6.2.0':
464 | resolution: {integrity: sha512-ZLWZ6RNy5flf1Nk2DBt0V77MQpQEo8snkjVT75P5J0SJkE/QNoqgy7+dBvNjlyZuj664pU43uDXWg3J8AfF0IQ==}
465 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
466 |
467 | '@eslint/object-schema@2.1.4':
468 | resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==}
469 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
470 |
471 | '@eslint/plugin-kit@0.2.0':
472 | resolution: {integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==}
473 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
474 |
475 | '@humanfs/core@0.19.0':
476 | resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==}
477 | engines: {node: '>=18.18.0'}
478 |
479 | '@humanfs/node@0.16.5':
480 | resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==}
481 | engines: {node: '>=18.18.0'}
482 |
483 | '@humanwhocodes/module-importer@1.0.1':
484 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
485 | engines: {node: '>=12.22'}
486 |
487 | '@humanwhocodes/retry@0.3.1':
488 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
489 | engines: {node: '>=18.18'}
490 |
491 | '@jridgewell/gen-mapping@0.3.5':
492 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==}
493 | engines: {node: '>=6.0.0'}
494 |
495 | '@jridgewell/resolve-uri@3.1.2':
496 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
497 | engines: {node: '>=6.0.0'}
498 |
499 | '@jridgewell/set-array@1.2.1':
500 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
501 | engines: {node: '>=6.0.0'}
502 |
503 | '@jridgewell/sourcemap-codec@1.5.0':
504 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
505 |
506 | '@jridgewell/trace-mapping@0.3.25':
507 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
508 |
509 | '@nodelib/fs.scandir@2.1.5':
510 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
511 | engines: {node: '>= 8'}
512 |
513 | '@nodelib/fs.stat@2.0.5':
514 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
515 | engines: {node: '>= 8'}
516 |
517 | '@nodelib/fs.walk@1.2.8':
518 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
519 | engines: {node: '>= 8'}
520 |
521 | '@picocss/pico@2.0.6':
522 | resolution: {integrity: sha512-/d8qsykowelD6g8k8JYgmCagOIulCPHMEc2NC4u7OjmpQLmtSetLhEbt0j1n3fPNJVcrT84dRp0RfJBn3wJROA==}
523 | engines: {node: '>=18.19.0'}
524 |
525 | '@pkgr/core@0.1.1':
526 | resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==}
527 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0}
528 |
529 | '@remix-run/router@1.20.0':
530 | resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==}
531 | engines: {node: '>=14.0.0'}
532 |
533 | '@rollup/rollup-android-arm-eabi@4.24.0':
534 | resolution: {integrity: sha512-Q6HJd7Y6xdB48x8ZNVDOqsbh2uByBhgK8PiQgPhwkIw/HC/YX5Ghq2mQY5sRMZWHb3VsFkWooUVOZHKr7DmDIA==}
535 | cpu: [arm]
536 | os: [android]
537 |
538 | '@rollup/rollup-android-arm64@4.24.0':
539 | resolution: {integrity: sha512-ijLnS1qFId8xhKjT81uBHuuJp2lU4x2yxa4ctFPtG+MqEE6+C5f/+X/bStmxapgmwLwiL3ih122xv8kVARNAZA==}
540 | cpu: [arm64]
541 | os: [android]
542 |
543 | '@rollup/rollup-darwin-arm64@4.24.0':
544 | resolution: {integrity: sha512-bIv+X9xeSs1XCk6DVvkO+S/z8/2AMt/2lMqdQbMrmVpgFvXlmde9mLcbQpztXm1tajC3raFDqegsH18HQPMYtA==}
545 | cpu: [arm64]
546 | os: [darwin]
547 |
548 | '@rollup/rollup-darwin-x64@4.24.0':
549 | resolution: {integrity: sha512-X6/nOwoFN7RT2svEQWUsW/5C/fYMBe4fnLK9DQk4SX4mgVBiTA9h64kjUYPvGQ0F/9xwJ5U5UfTbl6BEjaQdBQ==}
550 | cpu: [x64]
551 | os: [darwin]
552 |
553 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
554 | resolution: {integrity: sha512-0KXvIJQMOImLCVCz9uvvdPgfyWo93aHHp8ui3FrtOP57svqrF/roSSR5pjqL2hcMp0ljeGlU4q9o/rQaAQ3AYA==}
555 | cpu: [arm]
556 | os: [linux]
557 |
558 | '@rollup/rollup-linux-arm-musleabihf@4.24.0':
559 | resolution: {integrity: sha512-it2BW6kKFVh8xk/BnHfakEeoLPv8STIISekpoF+nBgWM4d55CZKc7T4Dx1pEbTnYm/xEKMgy1MNtYuoA8RFIWw==}
560 | cpu: [arm]
561 | os: [linux]
562 |
563 | '@rollup/rollup-linux-arm64-gnu@4.24.0':
564 | resolution: {integrity: sha512-i0xTLXjqap2eRfulFVlSnM5dEbTVque/3Pi4g2y7cxrs7+a9De42z4XxKLYJ7+OhE3IgxvfQM7vQc43bwTgPwA==}
565 | cpu: [arm64]
566 | os: [linux]
567 |
568 | '@rollup/rollup-linux-arm64-musl@4.24.0':
569 | resolution: {integrity: sha512-9E6MKUJhDuDh604Qco5yP/3qn3y7SLXYuiC0Rpr89aMScS2UAmK1wHP2b7KAa1nSjWJc/f/Lc0Wl1L47qjiyQw==}
570 | cpu: [arm64]
571 | os: [linux]
572 |
573 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
574 | resolution: {integrity: sha512-2XFFPJ2XMEiF5Zi2EBf4h73oR1V/lycirxZxHZNc93SqDN/IWhYYSYj8I9381ikUFXZrz2v7r2tOVk2NBwxrWw==}
575 | cpu: [ppc64]
576 | os: [linux]
577 |
578 | '@rollup/rollup-linux-riscv64-gnu@4.24.0':
579 | resolution: {integrity: sha512-M3Dg4hlwuntUCdzU7KjYqbbd+BLq3JMAOhCKdBE3TcMGMZbKkDdJ5ivNdehOssMCIokNHFOsv7DO4rlEOfyKpg==}
580 | cpu: [riscv64]
581 | os: [linux]
582 |
583 | '@rollup/rollup-linux-s390x-gnu@4.24.0':
584 | resolution: {integrity: sha512-mjBaoo4ocxJppTorZVKWFpy1bfFj9FeCMJqzlMQGjpNPY9JwQi7OuS1axzNIk0nMX6jSgy6ZURDZ2w0QW6D56g==}
585 | cpu: [s390x]
586 | os: [linux]
587 |
588 | '@rollup/rollup-linux-x64-gnu@4.24.0':
589 | resolution: {integrity: sha512-ZXFk7M72R0YYFN5q13niV0B7G8/5dcQ9JDp8keJSfr3GoZeXEoMHP/HlvqROA3OMbMdfr19IjCeNAnPUG93b6A==}
590 | cpu: [x64]
591 | os: [linux]
592 |
593 | '@rollup/rollup-linux-x64-musl@4.24.0':
594 | resolution: {integrity: sha512-w1i+L7kAXZNdYl+vFvzSZy8Y1arS7vMgIy8wusXJzRrPyof5LAb02KGr1PD2EkRcl73kHulIID0M501lN+vobQ==}
595 | cpu: [x64]
596 | os: [linux]
597 |
598 | '@rollup/rollup-win32-arm64-msvc@4.24.0':
599 | resolution: {integrity: sha512-VXBrnPWgBpVDCVY6XF3LEW0pOU51KbaHhccHw6AS6vBWIC60eqsH19DAeeObl+g8nKAz04QFdl/Cefta0xQtUQ==}
600 | cpu: [arm64]
601 | os: [win32]
602 |
603 | '@rollup/rollup-win32-ia32-msvc@4.24.0':
604 | resolution: {integrity: sha512-xrNcGDU0OxVcPTH/8n/ShH4UevZxKIO6HJFK0e15XItZP2UcaiLFd5kiX7hJnqCbSztUF8Qot+JWBC/QXRPYWQ==}
605 | cpu: [ia32]
606 | os: [win32]
607 |
608 | '@rollup/rollup-win32-x64-msvc@4.24.0':
609 | resolution: {integrity: sha512-fbMkAF7fufku0N2dE5TBXcNlg0pt0cJue4xBRE2Qc5Vqikxr4VCgKj/ht6SMdFcOacVA9rqF70APJ8RN/4vMJw==}
610 | cpu: [x64]
611 | os: [win32]
612 |
613 | '@stylistic/eslint-plugin@2.9.0':
614 | resolution: {integrity: sha512-OrDyFAYjBT61122MIY1a3SfEgy3YCMgt2vL4eoPmvTwDBwyQhAXurxNQznlRD/jESNfYWfID8Ej+31LljvF7Xg==}
615 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
616 | peerDependencies:
617 | eslint: '>=8.40.0'
618 |
619 | '@testing-library/dom@10.4.0':
620 | resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
621 | engines: {node: '>=18'}
622 |
623 | '@testing-library/react@16.0.1':
624 | resolution: {integrity: sha512-dSmwJVtJXmku+iocRhWOUFbrERC76TX2Mnf0ATODz8brzAZrMBbzLwQixlBSanZxR6LddK3eiwpSFZgDET1URg==}
625 | engines: {node: '>=18'}
626 | peerDependencies:
627 | '@testing-library/dom': ^10.0.0
628 | '@types/react': ^18.0.0
629 | '@types/react-dom': ^18.0.0
630 | react: ^18.0.0
631 | react-dom: ^18.0.0
632 | peerDependenciesMeta:
633 | '@types/react':
634 | optional: true
635 | '@types/react-dom':
636 | optional: true
637 |
638 | '@types/aria-query@5.0.4':
639 | resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
640 |
641 | '@types/babel__core@7.20.5':
642 | resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==}
643 |
644 | '@types/babel__generator@7.6.8':
645 | resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==}
646 |
647 | '@types/babel__template@7.4.4':
648 | resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==}
649 |
650 | '@types/babel__traverse@7.20.6':
651 | resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==}
652 |
653 | '@types/debug@4.1.12':
654 | resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
655 |
656 | '@types/estree@1.0.6':
657 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
658 |
659 | '@types/jsdom@21.1.7':
660 | resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==}
661 |
662 | '@types/json-schema@7.0.15':
663 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
664 |
665 | '@types/mdast@4.0.4':
666 | resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
667 |
668 | '@types/ms@0.7.34':
669 | resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==}
670 |
671 | '@types/node@22.7.5':
672 | resolution: {integrity: sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ==}
673 |
674 | '@types/normalize-package-data@2.4.4':
675 | resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
676 |
677 | '@types/prop-types@15.7.13':
678 | resolution: {integrity: sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA==}
679 |
680 | '@types/react-dom@18.3.1':
681 | resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==}
682 |
683 | '@types/react@18.3.11':
684 | resolution: {integrity: sha512-r6QZ069rFTjrEYgFdOck1gK7FLVsgJE7tTz0pQBczlBNUhBNk0MQH4UbnFSwjpQLMkLzgqvBBa+qGpLje16eTQ==}
685 |
686 | '@types/tough-cookie@4.0.5':
687 | resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==}
688 |
689 | '@types/unist@3.0.3':
690 | resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
691 |
692 | '@typescript-eslint/eslint-plugin@8.9.0':
693 | resolution: {integrity: sha512-Y1n621OCy4m7/vTXNlCbMVp87zSd7NH0L9cXD8aIpOaNlzeWxIK4+Q19A68gSmTNRZn92UjocVUWDthGxtqHFg==}
694 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
695 | peerDependencies:
696 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
697 | eslint: ^8.57.0 || ^9.0.0
698 | typescript: '*'
699 | peerDependenciesMeta:
700 | typescript:
701 | optional: true
702 |
703 | '@typescript-eslint/parser@8.9.0':
704 | resolution: {integrity: sha512-U+BLn2rqTTHnc4FL3FJjxaXptTxmf9sNftJK62XLz4+GxG3hLHm/SUNaaXP5Y4uTiuYoL5YLy4JBCJe3+t8awQ==}
705 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
706 | peerDependencies:
707 | eslint: ^8.57.0 || ^9.0.0
708 | typescript: '*'
709 | peerDependenciesMeta:
710 | typescript:
711 | optional: true
712 |
713 | '@typescript-eslint/scope-manager@8.9.0':
714 | resolution: {integrity: sha512-bZu9bUud9ym1cabmOYH9S6TnbWRzpklVmwqICeOulTCZ9ue2/pczWzQvt/cGj2r2o1RdKoZbuEMalJJSYw3pHQ==}
715 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
716 |
717 | '@typescript-eslint/type-utils@8.9.0':
718 | resolution: {integrity: sha512-JD+/pCqlKqAk5961vxCluK+clkppHY07IbV3vett97KOV+8C6l+CPEPwpUuiMwgbOz/qrN3Ke4zzjqbT+ls+1Q==}
719 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
720 | peerDependencies:
721 | typescript: '*'
722 | peerDependenciesMeta:
723 | typescript:
724 | optional: true
725 |
726 | '@typescript-eslint/types@8.9.0':
727 | resolution: {integrity: sha512-SjgkvdYyt1FAPhU9c6FiYCXrldwYYlIQLkuc+LfAhCna6ggp96ACncdtlbn8FmnG72tUkXclrDExOpEYf1nfJQ==}
728 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
729 |
730 | '@typescript-eslint/typescript-estree@8.9.0':
731 | resolution: {integrity: sha512-9iJYTgKLDG6+iqegehc5+EqE6sqaee7kb8vWpmHZ86EqwDjmlqNNHeqDVqb9duh+BY6WCNHfIGvuVU3Tf9Db0g==}
732 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
733 | peerDependencies:
734 | typescript: '*'
735 | peerDependenciesMeta:
736 | typescript:
737 | optional: true
738 |
739 | '@typescript-eslint/utils@8.9.0':
740 | resolution: {integrity: sha512-PKgMmaSo/Yg/F7kIZvrgrWa1+Vwn036CdNUvYFEkYbPwOH4i8xvkaRlu148W3vtheWK9ckKRIz7PBP5oUlkrvQ==}
741 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
742 | peerDependencies:
743 | eslint: ^8.57.0 || ^9.0.0
744 |
745 | '@typescript-eslint/visitor-keys@8.9.0':
746 | resolution: {integrity: sha512-Ht4y38ubk4L5/U8xKUBfKNYGmvKvA1CANoxiTRMM+tOLk3lbF3DvzZCxJCRSE+2GdCMSh6zq9VZJc3asc1XuAA==}
747 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
748 |
749 | '@vitejs/plugin-react@4.3.2':
750 | resolution: {integrity: sha512-hieu+o05v4glEBucTcKMK3dlES0OeJlD9YVOAPraVMOInBCwzumaIFiUjr4bHK7NPgnAHgiskUoceKercrN8vg==}
751 | engines: {node: ^14.18.0 || >=16.0.0}
752 | peerDependencies:
753 | vite: ^4.2.0 || ^5.0.0
754 |
755 | '@vitest/eslint-plugin@1.1.7':
756 | resolution: {integrity: sha512-pTWGW3y6lH2ukCuuffpan6kFxG6nIuoesbhMiQxskyQMRcCN5t9SXsKrNHvEw3p8wcCsgJoRqFZVkOTn6TjclA==}
757 | peerDependencies:
758 | '@typescript-eslint/utils': '>= 8.0'
759 | eslint: '>= 8.57.0'
760 | typescript: '>= 5.0.0'
761 | vitest: '*'
762 | peerDependenciesMeta:
763 | typescript:
764 | optional: true
765 | vitest:
766 | optional: true
767 |
768 | '@vitest/expect@2.1.3':
769 | resolution: {integrity: sha512-SNBoPubeCJhZ48agjXruCI57DvxcsivVDdWz+SSsmjTT4QN/DfHk3zB/xKsJqMs26bLZ/pNRLnCf0j679i0uWQ==}
770 |
771 | '@vitest/mocker@2.1.3':
772 | resolution: {integrity: sha512-eSpdY/eJDuOvuTA3ASzCjdithHa+GIF1L4PqtEELl6Qa3XafdMLBpBlZCIUCX2J+Q6sNmjmxtosAG62fK4BlqQ==}
773 | peerDependencies:
774 | '@vitest/spy': 2.1.3
775 | msw: ^2.3.5
776 | vite: ^5.0.0
777 | peerDependenciesMeta:
778 | msw:
779 | optional: true
780 | vite:
781 | optional: true
782 |
783 | '@vitest/pretty-format@2.1.3':
784 | resolution: {integrity: sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ==}
785 |
786 | '@vitest/runner@2.1.3':
787 | resolution: {integrity: sha512-JGzpWqmFJ4fq5ZKHtVO3Xuy1iF2rHGV4d/pdzgkYHm1+gOzNZtqjvyiaDGJytRyMU54qkxpNzCx+PErzJ1/JqQ==}
788 |
789 | '@vitest/snapshot@2.1.3':
790 | resolution: {integrity: sha512-qWC2mWc7VAXmjAkEKxrScWHWFyCQx/cmiZtuGqMi+WwqQJ2iURsVY4ZfAK6dVo6K2smKRU6l3BPwqEBvhnpQGg==}
791 |
792 | '@vitest/spy@2.1.3':
793 | resolution: {integrity: sha512-Nb2UzbcUswzeSP7JksMDaqsI43Sj5+Kry6ry6jQJT4b5gAK+NS9NED6mDb8FlMRCX8m5guaHCDZmqYMMWRy5nQ==}
794 |
795 | '@vitest/utils@2.1.3':
796 | resolution: {integrity: sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA==}
797 |
798 | '@vue/compiler-core@3.5.12':
799 | resolution: {integrity: sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==}
800 |
801 | '@vue/compiler-dom@3.5.12':
802 | resolution: {integrity: sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==}
803 |
804 | '@vue/compiler-sfc@3.5.12':
805 | resolution: {integrity: sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==}
806 |
807 | '@vue/compiler-ssr@3.5.12':
808 | resolution: {integrity: sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==}
809 |
810 | '@vue/shared@3.5.12':
811 | resolution: {integrity: sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==}
812 |
813 | acorn-jsx@5.3.2:
814 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
815 | peerDependencies:
816 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
817 |
818 | acorn@8.12.1:
819 | resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==}
820 | engines: {node: '>=0.4.0'}
821 | hasBin: true
822 |
823 | agent-base@7.1.1:
824 | resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==}
825 | engines: {node: '>= 14'}
826 |
827 | ajv@6.12.6:
828 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
829 |
830 | ansi-regex@5.0.1:
831 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
832 | engines: {node: '>=8'}
833 |
834 | ansi-styles@3.2.1:
835 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==}
836 | engines: {node: '>=4'}
837 |
838 | ansi-styles@4.3.0:
839 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
840 | engines: {node: '>=8'}
841 |
842 | ansi-styles@5.2.0:
843 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
844 | engines: {node: '>=10'}
845 |
846 | are-docs-informative@0.0.2:
847 | resolution: {integrity: sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==}
848 | engines: {node: '>=14'}
849 |
850 | argparse@2.0.1:
851 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
852 |
853 | aria-query@5.3.0:
854 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
855 |
856 | assertion-error@2.0.1:
857 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
858 | engines: {node: '>=12'}
859 |
860 | asynckit@0.4.0:
861 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
862 |
863 | balanced-match@1.0.2:
864 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
865 |
866 | birecord@0.1.1:
867 | resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==}
868 |
869 | boolbase@1.0.0:
870 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==}
871 |
872 | brace-expansion@1.1.11:
873 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
874 |
875 | brace-expansion@2.0.1:
876 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
877 |
878 | braces@3.0.3:
879 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
880 | engines: {node: '>=8'}
881 |
882 | browserslist@4.24.0:
883 | resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==}
884 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
885 | hasBin: true
886 |
887 | builtin-modules@3.3.0:
888 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==}
889 | engines: {node: '>=6'}
890 |
891 | cac@6.7.14:
892 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
893 | engines: {node: '>=8'}
894 |
895 | callsites@3.1.0:
896 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
897 | engines: {node: '>=6'}
898 |
899 | caniuse-lite@1.0.30001668:
900 | resolution: {integrity: sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw==}
901 |
902 | ccount@2.0.1:
903 | resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
904 |
905 | chai@5.1.1:
906 | resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==}
907 | engines: {node: '>=12'}
908 |
909 | chalk@2.4.2:
910 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==}
911 | engines: {node: '>=4'}
912 |
913 | chalk@4.1.2:
914 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
915 | engines: {node: '>=10'}
916 |
917 | character-entities@2.0.2:
918 | resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
919 |
920 | check-error@2.1.1:
921 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
922 | engines: {node: '>= 16'}
923 |
924 | ci-info@4.0.0:
925 | resolution: {integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==}
926 | engines: {node: '>=8'}
927 |
928 | clean-regexp@1.0.0:
929 | resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==}
930 | engines: {node: '>=4'}
931 |
932 | cliui@8.0.1:
933 | resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
934 | engines: {node: '>=12'}
935 |
936 | color-convert@1.9.3:
937 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
938 |
939 | color-convert@2.0.1:
940 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
941 | engines: {node: '>=7.0.0'}
942 |
943 | color-name@1.1.3:
944 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==}
945 |
946 | color-name@1.1.4:
947 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
948 |
949 | combined-stream@1.0.8:
950 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
951 | engines: {node: '>= 0.8'}
952 |
953 | comment-parser@1.4.1:
954 | resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==}
955 | engines: {node: '>= 12.0.0'}
956 |
957 | concat-map@0.0.1:
958 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
959 |
960 | confbox@0.1.8:
961 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
962 |
963 | convert-source-map@2.0.0:
964 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
965 |
966 | core-js-compat@3.38.1:
967 | resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==}
968 |
969 | cross-spawn@7.0.3:
970 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
971 | engines: {node: '>= 8'}
972 |
973 | cssesc@3.0.0:
974 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
975 | engines: {node: '>=4'}
976 | hasBin: true
977 |
978 | cssstyle@4.1.0:
979 | resolution: {integrity: sha512-h66W1URKpBS5YMI/V8PyXvTMFT8SupJ1IzoIV8IeBC/ji8WVmrO8dGlTi+2dh6whmdk6BiKJLD/ZBkhWbcg6nA==}
980 | engines: {node: '>=18'}
981 |
982 | csstype@3.1.3:
983 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
984 |
985 | data-urls@5.0.0:
986 | resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
987 | engines: {node: '>=18'}
988 |
989 | debug@3.2.7:
990 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
991 | peerDependencies:
992 | supports-color: '*'
993 | peerDependenciesMeta:
994 | supports-color:
995 | optional: true
996 |
997 | debug@4.3.7:
998 | resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==}
999 | engines: {node: '>=6.0'}
1000 | peerDependencies:
1001 | supports-color: '*'
1002 | peerDependenciesMeta:
1003 | supports-color:
1004 | optional: true
1005 |
1006 | decimal.js@10.4.3:
1007 | resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==}
1008 |
1009 | decode-named-character-reference@1.0.2:
1010 | resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==}
1011 |
1012 | deep-eql@5.0.2:
1013 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
1014 | engines: {node: '>=6'}
1015 |
1016 | deep-is@0.1.4:
1017 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
1018 |
1019 | delayed-stream@1.0.0:
1020 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
1021 | engines: {node: '>=0.4.0'}
1022 |
1023 | dequal@2.0.3:
1024 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
1025 | engines: {node: '>=6'}
1026 |
1027 | devlop@1.1.0:
1028 | resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
1029 |
1030 | doctrine@3.0.0:
1031 | resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
1032 | engines: {node: '>=6.0.0'}
1033 |
1034 | dom-accessibility-api@0.5.16:
1035 | resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
1036 |
1037 | electron-to-chromium@1.5.38:
1038 | resolution: {integrity: sha512-VbeVexmZ1IFh+5EfrYz1I0HTzHVIlJa112UEWhciPyeOcKJGeTv6N8WnG4wsQB81DGCaVEGhpSb6o6a8WYFXXg==}
1039 |
1040 | emoji-regex@8.0.0:
1041 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
1042 |
1043 | enhanced-resolve@5.17.1:
1044 | resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==}
1045 | engines: {node: '>=10.13.0'}
1046 |
1047 | entities@4.5.0:
1048 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
1049 | engines: {node: '>=0.12'}
1050 |
1051 | error-ex@1.3.2:
1052 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
1053 |
1054 | es-module-lexer@1.5.4:
1055 | resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==}
1056 |
1057 | esbuild@0.21.5:
1058 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==}
1059 | engines: {node: '>=12'}
1060 | hasBin: true
1061 |
1062 | escalade@3.2.0:
1063 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
1064 | engines: {node: '>=6'}
1065 |
1066 | escape-string-regexp@1.0.5:
1067 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
1068 | engines: {node: '>=0.8.0'}
1069 |
1070 | escape-string-regexp@4.0.0:
1071 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
1072 | engines: {node: '>=10'}
1073 |
1074 | escape-string-regexp@5.0.0:
1075 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
1076 | engines: {node: '>=12'}
1077 |
1078 | eslint-compat-utils@0.5.1:
1079 | resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==}
1080 | engines: {node: '>=12'}
1081 | peerDependencies:
1082 | eslint: '>=6.0.0'
1083 |
1084 | eslint-config-flat-gitignore@0.3.0:
1085 | resolution: {integrity: sha512-0Ndxo4qGhcewjTzw52TK06Mc00aDtHNTdeeW2JfONgDcLkRO/n/BteMRzNVpLQYxdCC/dFEilfM9fjjpGIJ9Og==}
1086 | peerDependencies:
1087 | eslint: ^9.5.0
1088 |
1089 | eslint-flat-config-utils@0.4.0:
1090 | resolution: {integrity: sha512-kfd5kQZC+BMO0YwTol6zxjKX1zAsk8JfSAopbKjKqmENTJcew+yBejuvccAg37cvOrN0Mh+DVbeyznuNWEjt4A==}
1091 |
1092 | eslint-formatting-reporter@0.0.0:
1093 | resolution: {integrity: sha512-k9RdyTqxqN/wNYVaTk/ds5B5rA8lgoAmvceYN7bcZMBwU7TuXx5ntewJv81eF3pIL/CiJE+pJZm36llG8yhyyw==}
1094 | peerDependencies:
1095 | eslint: '>=8.40.0'
1096 |
1097 | eslint-import-resolver-node@0.3.9:
1098 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
1099 |
1100 | eslint-merge-processors@0.1.0:
1101 | resolution: {integrity: sha512-IvRXXtEajLeyssvW4wJcZ2etxkR9mUf4zpNwgI+m/Uac9RfXHskuJefkHUcawVzePnd6xp24enp5jfgdHzjRdQ==}
1102 | peerDependencies:
1103 | eslint: '*'
1104 |
1105 | eslint-parser-plain@0.1.0:
1106 | resolution: {integrity: sha512-oOeA6FWU0UJT/Rxc3XF5Cq0nbIZbylm7j8+plqq0CZoE6m4u32OXJrR+9iy4srGMmF6v6pmgvP1zPxSRIGh3sg==}
1107 |
1108 | eslint-plugin-antfu@2.7.0:
1109 | resolution: {integrity: sha512-gZM3jq3ouqaoHmUNszb1Zo2Ux7RckSvkGksjLWz9ipBYGSv1EwwBETN6AdiUXn+RpVHXTbEMPAPlXJazcA6+iA==}
1110 | peerDependencies:
1111 | eslint: '*'
1112 |
1113 | eslint-plugin-command@0.2.6:
1114 | resolution: {integrity: sha512-T0bHZ1oblW1xUHUVoBKZJR2osSNNGkfZuK4iqboNwuNS/M7tdp3pmURaJtTi/XDzitxaQ02lvOdFH0mUd5QLvQ==}
1115 | peerDependencies:
1116 | eslint: '*'
1117 |
1118 | eslint-plugin-es-x@7.8.0:
1119 | resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==}
1120 | engines: {node: ^14.18.0 || >=16.0.0}
1121 | peerDependencies:
1122 | eslint: '>=8'
1123 |
1124 | eslint-plugin-format@0.1.2:
1125 | resolution: {integrity: sha512-ZrcO3aiumgJ6ENAv65IWkPjtW77ML/5mp0YrRK0jdvvaZJb+4kKWbaQTMr/XbJo6CtELRmCApAziEKh7L2NbdQ==}
1126 | peerDependencies:
1127 | eslint: ^8.40.0 || ^9.0.0
1128 |
1129 | eslint-plugin-import-x@4.3.1:
1130 | resolution: {integrity: sha512-5TriWkXulDl486XnYYRgsL+VQoS/7mhN/2ci02iLCuL7gdhbiWxnsuL/NTcaKY9fpMgsMFjWZBtIGW7pb+RX0g==}
1131 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1132 | peerDependencies:
1133 | eslint: ^8.57.0 || ^9.0.0
1134 |
1135 | eslint-plugin-jsdoc@50.4.1:
1136 | resolution: {integrity: sha512-OXIq+JJQPCLAKL473/esioFOwbXyRE5MAQ4HbZjcp3e+K3zdxt2uDpGs3FR+WezUXNStzEtTfgx15T+JFrVwBA==}
1137 | engines: {node: '>=18'}
1138 | peerDependencies:
1139 | eslint: ^7.0.0 || ^8.0.0 || ^9.0.0
1140 |
1141 | eslint-plugin-jsonc@2.16.0:
1142 | resolution: {integrity: sha512-Af/ZL5mgfb8FFNleH6KlO4/VdmDuTqmM+SPnWcdoWywTetv7kq+vQe99UyQb9XO3b0OWLVuTH7H0d/PXYCMdSg==}
1143 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1144 | peerDependencies:
1145 | eslint: '>=6.0.0'
1146 |
1147 | eslint-plugin-n@17.11.1:
1148 | resolution: {integrity: sha512-93IUD82N6tIEgjztVI/l3ElHtC2wTa9boJHrD8iN+NyDxjxz/daZUZKfkedjBZNdg6EqDk4irybUsiPwDqXAEA==}
1149 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1150 | peerDependencies:
1151 | eslint: '>=8.23.0'
1152 |
1153 | eslint-plugin-no-only-tests@3.3.0:
1154 | resolution: {integrity: sha512-brcKcxGnISN2CcVhXJ/kEQlNa0MEfGRtwKtWA16SkqXHKitaKIMrfemJKLKX1YqDU5C/5JY3PvZXd5jEW04e0Q==}
1155 | engines: {node: '>=5.0.0'}
1156 |
1157 | eslint-plugin-perfectionist@3.9.0:
1158 | resolution: {integrity: sha512-qLsV6/94hokK+k77wUeLMEtB3tS/NtC9ke5OZCAaeCyK1VyVv7Ct0il16vkNNw/1IwNo8Fy60PKjQZSBcsVX5A==}
1159 | engines: {node: ^18.0.0 || >=20.0.0}
1160 | peerDependencies:
1161 | astro-eslint-parser: ^1.0.2
1162 | eslint: '>=8.0.0'
1163 | svelte: '>=3.0.0'
1164 | svelte-eslint-parser: ^0.41.1
1165 | vue-eslint-parser: '>=9.0.0'
1166 | peerDependenciesMeta:
1167 | astro-eslint-parser:
1168 | optional: true
1169 | svelte:
1170 | optional: true
1171 | svelte-eslint-parser:
1172 | optional: true
1173 | vue-eslint-parser:
1174 | optional: true
1175 |
1176 | eslint-plugin-react-debug@1.15.0:
1177 | resolution: {integrity: sha512-zD5WOVPwKNnO4897gz2yjZZcvdGIObKEi4QURDammVEc3sCU0evHcAPEknTC1WEd7T8A4Zu7Vt7sDaUz/DALnA==}
1178 | engines: {bun: '>=1.0.15', node: '>=18.18.0'}
1179 | peerDependencies:
1180 | eslint: ^8.57.0 || ^9.0.0
1181 | typescript: ^4.9.5 || ^5.3.3
1182 | peerDependenciesMeta:
1183 | typescript:
1184 | optional: true
1185 |
1186 | eslint-plugin-react-dom@1.15.0:
1187 | resolution: {integrity: sha512-P8IdPfiEpDR8SHZdnYJzfdSkV++0hHzOJQhLW9eACyuGCBuzLj2gglmPR5gH2RG44R+Iq5+hsUVNv7sklThvRg==}
1188 | engines: {bun: '>=1.0.15', node: '>=18.18.0'}
1189 | peerDependencies:
1190 | eslint: ^8.57.0 || ^9.0.0
1191 | typescript: ^4.9.5 || ^5.3.3
1192 | peerDependenciesMeta:
1193 | typescript:
1194 | optional: true
1195 |
1196 | eslint-plugin-react-hooks-extra@1.15.0:
1197 | resolution: {integrity: sha512-guIcax3c4Z/iWyDwZdo5b0qzqpJrhH4svYIfj+wEpfjRdIwpAvL0xM1uqJKdz8Hbgw1D+6dePSau4zmVkuaMqA==}
1198 | engines: {bun: '>=1.0.15', node: '>=18.18.0'}
1199 | peerDependencies:
1200 | eslint: ^8.57.0 || ^9.0.0
1201 | typescript: ^4.9.5 || ^5.3.3
1202 | peerDependenciesMeta:
1203 | typescript:
1204 | optional: true
1205 |
1206 | eslint-plugin-react-hooks@5.0.0:
1207 | resolution: {integrity: sha512-hIOwI+5hYGpJEc4uPRmz2ulCjAGD/N13Lukkh8cLV0i2IRk/bdZDYjgLVHj+U9Z704kLIdIO6iueGvxNur0sgw==}
1208 | engines: {node: '>=10'}
1209 | peerDependencies:
1210 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
1211 |
1212 | eslint-plugin-react-naming-convention@1.15.0:
1213 | resolution: {integrity: sha512-XjbkBFEsaGvhDUKCxDCdJ34dsr/XnQu5a7hq6h2aNpnu05VGCAW6CXf3VuyI/sKfj3Em+aX/9eHdcRi12+dmLg==}
1214 | engines: {bun: '>=1.0.15', node: '>=18.18.0'}
1215 | peerDependencies:
1216 | eslint: ^8.57.0 || ^9.0.0
1217 | typescript: ^4.9.5 || ^5.3.3
1218 | peerDependenciesMeta:
1219 | typescript:
1220 | optional: true
1221 |
1222 | eslint-plugin-react-refresh@0.4.12:
1223 | resolution: {integrity: sha512-9neVjoGv20FwYtCP6CB1dzR1vr57ZDNOXst21wd2xJ/cTlM2xLq0GWVlSNTdMn/4BtP6cHYBMCSp1wFBJ9jBsg==}
1224 | peerDependencies:
1225 | eslint: '>=7'
1226 |
1227 | eslint-plugin-react-web-api@1.15.0:
1228 | resolution: {integrity: sha512-LUwzKumBApdKzUgl+9F5/TyJbYGQIOy450s6kr3rLPrc9tk8GQrBmSQKmWh2g7C1x7DIoMNFXeUuAD1q/1AKnw==}
1229 | engines: {bun: '>=1.0.15', node: '>=18.18.0'}
1230 | peerDependencies:
1231 | eslint: ^8.57.0 || ^9.0.0
1232 | typescript: ^4.9.5 || ^5.3.3
1233 | peerDependenciesMeta:
1234 | typescript:
1235 | optional: true
1236 |
1237 | eslint-plugin-react-x@1.15.0:
1238 | resolution: {integrity: sha512-TIZVElFYVXvybmMBVzHPF2hmsaG7greytHd80efUPopxlr+JGjKba6zA3cJAURn+yzN1x2zPJzss2BkB8/48aQ==}
1239 | engines: {bun: '>=1.0.15', node: '>=18.18.0'}
1240 | peerDependencies:
1241 | eslint: ^8.57.0 || ^9.0.0
1242 | typescript: ^4.9.5 || ^5.3.3
1243 | peerDependenciesMeta:
1244 | typescript:
1245 | optional: true
1246 |
1247 | eslint-plugin-regexp@2.6.0:
1248 | resolution: {integrity: sha512-FCL851+kislsTEQEMioAlpDuK5+E5vs0hi1bF8cFlPlHcEjeRhuAzEsGikXRreE+0j4WhW2uO54MqTjXtYOi3A==}
1249 | engines: {node: ^18 || >=20}
1250 | peerDependencies:
1251 | eslint: '>=8.44.0'
1252 |
1253 | eslint-plugin-toml@0.11.1:
1254 | resolution: {integrity: sha512-Y1WuMSzfZpeMIrmlP1nUh3kT8p96mThIq4NnHrYUhg10IKQgGfBZjAWnrg9fBqguiX4iFps/x/3Hb5TxBisfdw==}
1255 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1256 | peerDependencies:
1257 | eslint: '>=6.0.0'
1258 |
1259 | eslint-plugin-unicorn@55.0.0:
1260 | resolution: {integrity: sha512-n3AKiVpY2/uDcGrS3+QsYDkjPfaOrNrsfQxU9nt5nitd9KuvVXrfAvgCO9DYPSfap+Gqjw9EOrXIsBp5tlHZjA==}
1261 | engines: {node: '>=18.18'}
1262 | peerDependencies:
1263 | eslint: '>=8.56.0'
1264 |
1265 | eslint-plugin-unused-imports@4.1.4:
1266 | resolution: {integrity: sha512-YptD6IzQjDardkl0POxnnRBhU1OEePMV0nd6siHaRBbd+lyh6NAhFEobiznKU7kTsSsDeSD62Pe7kAM1b7dAZQ==}
1267 | peerDependencies:
1268 | '@typescript-eslint/eslint-plugin': ^8.0.0-0 || ^7.0.0 || ^6.0.0 || ^5.0.0
1269 | eslint: ^9.0.0 || ^8.0.0
1270 | peerDependenciesMeta:
1271 | '@typescript-eslint/eslint-plugin':
1272 | optional: true
1273 |
1274 | eslint-plugin-vue@9.29.0:
1275 | resolution: {integrity: sha512-hamyjrBhNH6Li6R1h1VF9KHfshJlKgKEg3ARbGTn72CMNDSMhWbgC7NdkRDEh25AFW+4SDATzyNM+3gWuZii8g==}
1276 | engines: {node: ^14.17.0 || >=16.0.0}
1277 | peerDependencies:
1278 | eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0
1279 |
1280 | eslint-plugin-yml@1.14.0:
1281 | resolution: {integrity: sha512-ESUpgYPOcAYQO9czugcX5OqRvn/ydDVwGCPXY4YjPqc09rHaUVUA6IE6HLQys4rXk/S+qx3EwTd1wHCwam/OWQ==}
1282 | engines: {node: ^14.17.0 || >=16.0.0}
1283 | peerDependencies:
1284 | eslint: '>=6.0.0'
1285 |
1286 | eslint-processor-vue-blocks@0.1.2:
1287 | resolution: {integrity: sha512-PfpJ4uKHnqeL/fXUnzYkOax3aIenlwewXRX8jFinA1a2yCFnLgMuiH3xvCgvHHUlV2xJWQHbCTdiJWGwb3NqpQ==}
1288 | peerDependencies:
1289 | '@vue/compiler-sfc': ^3.3.0
1290 | eslint: ^8.50.0 || ^9.0.0
1291 |
1292 | eslint-scope@7.2.2:
1293 | resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==}
1294 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1295 |
1296 | eslint-scope@8.1.0:
1297 | resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==}
1298 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1299 |
1300 | eslint-visitor-keys@3.4.3:
1301 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
1302 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1303 |
1304 | eslint-visitor-keys@4.1.0:
1305 | resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==}
1306 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1307 |
1308 | eslint@9.12.0:
1309 | resolution: {integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==}
1310 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1311 | hasBin: true
1312 | peerDependencies:
1313 | jiti: '*'
1314 | peerDependenciesMeta:
1315 | jiti:
1316 | optional: true
1317 |
1318 | espree@10.2.0:
1319 | resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==}
1320 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1321 |
1322 | espree@9.6.1:
1323 | resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==}
1324 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1325 |
1326 | esquery@1.6.0:
1327 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
1328 | engines: {node: '>=0.10'}
1329 |
1330 | esrecurse@4.3.0:
1331 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
1332 | engines: {node: '>=4.0'}
1333 |
1334 | estraverse@5.3.0:
1335 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
1336 | engines: {node: '>=4.0'}
1337 |
1338 | estree-walker@2.0.2:
1339 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==}
1340 |
1341 | estree-walker@3.0.3:
1342 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
1343 |
1344 | esutils@2.0.3:
1345 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
1346 | engines: {node: '>=0.10.0'}
1347 |
1348 | fast-deep-equal@3.1.3:
1349 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
1350 |
1351 | fast-diff@1.3.0:
1352 | resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
1353 |
1354 | fast-glob@3.3.2:
1355 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
1356 | engines: {node: '>=8.6.0'}
1357 |
1358 | fast-json-stable-stringify@2.1.0:
1359 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
1360 |
1361 | fast-levenshtein@2.0.6:
1362 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
1363 |
1364 | fastq@1.17.1:
1365 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==}
1366 |
1367 | file-entry-cache@8.0.0:
1368 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
1369 | engines: {node: '>=16.0.0'}
1370 |
1371 | fill-range@7.1.1:
1372 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
1373 | engines: {node: '>=8'}
1374 |
1375 | find-up-simple@1.0.0:
1376 | resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==}
1377 | engines: {node: '>=18'}
1378 |
1379 | find-up@4.1.0:
1380 | resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
1381 | engines: {node: '>=8'}
1382 |
1383 | find-up@5.0.0:
1384 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1385 | engines: {node: '>=10'}
1386 |
1387 | flat-cache@4.0.1:
1388 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
1389 | engines: {node: '>=16'}
1390 |
1391 | flatted@3.3.1:
1392 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==}
1393 |
1394 | form-data@4.0.1:
1395 | resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
1396 | engines: {node: '>= 6'}
1397 |
1398 | fsevents@2.3.3:
1399 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1400 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1401 | os: [darwin]
1402 |
1403 | function-bind@1.1.2:
1404 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1405 |
1406 | gensync@1.0.0-beta.2:
1407 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
1408 | engines: {node: '>=6.9.0'}
1409 |
1410 | get-caller-file@2.0.5:
1411 | resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
1412 | engines: {node: 6.* || 8.* || >= 10.*}
1413 |
1414 | get-tsconfig@4.8.1:
1415 | resolution: {integrity: sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg==}
1416 |
1417 | glob-parent@5.1.2:
1418 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1419 | engines: {node: '>= 6'}
1420 |
1421 | glob-parent@6.0.2:
1422 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1423 | engines: {node: '>=10.13.0'}
1424 |
1425 | globals@11.12.0:
1426 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==}
1427 | engines: {node: '>=4'}
1428 |
1429 | globals@13.24.0:
1430 | resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==}
1431 | engines: {node: '>=8'}
1432 |
1433 | globals@14.0.0:
1434 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
1435 | engines: {node: '>=18'}
1436 |
1437 | globals@15.11.0:
1438 | resolution: {integrity: sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==}
1439 | engines: {node: '>=18'}
1440 |
1441 | graceful-fs@4.2.11:
1442 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
1443 |
1444 | graphemer@1.4.0:
1445 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1446 |
1447 | has-flag@3.0.0:
1448 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==}
1449 | engines: {node: '>=4'}
1450 |
1451 | has-flag@4.0.0:
1452 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1453 | engines: {node: '>=8'}
1454 |
1455 | hasown@2.0.2:
1456 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1457 | engines: {node: '>= 0.4'}
1458 |
1459 | hosted-git-info@2.8.9:
1460 | resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==}
1461 |
1462 | html-encoding-sniffer@4.0.0:
1463 | resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
1464 | engines: {node: '>=18'}
1465 |
1466 | http-proxy-agent@7.0.2:
1467 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
1468 | engines: {node: '>= 14'}
1469 |
1470 | https-proxy-agent@7.0.5:
1471 | resolution: {integrity: sha512-1e4Wqeblerz+tMKPIq2EMGiiWW1dIjZOksyHWSUm1rmuvw/how9hBHZ38lAGj5ID4Ik6EdkOw7NmWPy6LAwalw==}
1472 | engines: {node: '>= 14'}
1473 |
1474 | iconv-lite@0.6.3:
1475 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
1476 | engines: {node: '>=0.10.0'}
1477 |
1478 | ignore@5.3.2:
1479 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
1480 | engines: {node: '>= 4'}
1481 |
1482 | import-fresh@3.3.0:
1483 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1484 | engines: {node: '>=6'}
1485 |
1486 | imurmurhash@0.1.4:
1487 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1488 | engines: {node: '>=0.8.19'}
1489 |
1490 | indent-string@4.0.0:
1491 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
1492 | engines: {node: '>=8'}
1493 |
1494 | is-arrayish@0.2.1:
1495 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
1496 |
1497 | is-builtin-module@3.2.1:
1498 | resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==}
1499 | engines: {node: '>=6'}
1500 |
1501 | is-core-module@2.15.1:
1502 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==}
1503 | engines: {node: '>= 0.4'}
1504 |
1505 | is-extglob@2.1.1:
1506 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1507 | engines: {node: '>=0.10.0'}
1508 |
1509 | is-fullwidth-code-point@3.0.0:
1510 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1511 | engines: {node: '>=8'}
1512 |
1513 | is-glob@4.0.3:
1514 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1515 | engines: {node: '>=0.10.0'}
1516 |
1517 | is-immutable-type@5.0.0:
1518 | resolution: {integrity: sha512-mcvHasqbRBWJznuPqqHRKiJgYAz60sZ0mvO3bN70JbkuK7ksfmgc489aKZYxMEjIbRvyOseaTjaRZLRF/xFeRA==}
1519 | peerDependencies:
1520 | eslint: '*'
1521 | typescript: '>=4.7.4'
1522 |
1523 | is-number@7.0.0:
1524 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1525 | engines: {node: '>=0.12.0'}
1526 |
1527 | is-potential-custom-element-name@1.0.1:
1528 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
1529 |
1530 | isexe@2.0.0:
1531 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1532 |
1533 | js-tokens@4.0.0:
1534 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1535 |
1536 | js-yaml@4.1.0:
1537 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1538 | hasBin: true
1539 |
1540 | jsdoc-type-pratt-parser@4.1.0:
1541 | resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==}
1542 | engines: {node: '>=12.0.0'}
1543 |
1544 | jsdom@25.0.1:
1545 | resolution: {integrity: sha512-8i7LzZj7BF8uplX+ZyOlIz86V6TAsSs+np6m1kpW9u0JWi4z/1t+FzcK1aek+ybTnAC4KhBL4uXCNT0wcUIeCw==}
1546 | engines: {node: '>=18'}
1547 | peerDependencies:
1548 | canvas: ^2.11.2
1549 | peerDependenciesMeta:
1550 | canvas:
1551 | optional: true
1552 |
1553 | jsesc@0.5.0:
1554 | resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==}
1555 | hasBin: true
1556 |
1557 | jsesc@3.0.2:
1558 | resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
1559 | engines: {node: '>=6'}
1560 | hasBin: true
1561 |
1562 | json-buffer@3.0.1:
1563 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1564 |
1565 | json-parse-even-better-errors@2.3.1:
1566 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
1567 |
1568 | json-schema-traverse@0.4.1:
1569 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1570 |
1571 | json-stable-stringify-without-jsonify@1.0.1:
1572 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1573 |
1574 | json5@2.2.3:
1575 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
1576 | engines: {node: '>=6'}
1577 | hasBin: true
1578 |
1579 | jsonc-eslint-parser@2.4.0:
1580 | resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
1581 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
1582 |
1583 | keyv@4.5.4:
1584 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1585 |
1586 | levn@0.4.1:
1587 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1588 | engines: {node: '>= 0.8.0'}
1589 |
1590 | lines-and-columns@1.2.4:
1591 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1592 |
1593 | local-pkg@0.5.0:
1594 | resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==}
1595 | engines: {node: '>=14'}
1596 |
1597 | locate-path@5.0.0:
1598 | resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
1599 | engines: {node: '>=8'}
1600 |
1601 | locate-path@6.0.0:
1602 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1603 | engines: {node: '>=10'}
1604 |
1605 | lodash.merge@4.6.2:
1606 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1607 |
1608 | lodash@4.17.21:
1609 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1610 |
1611 | longest-streak@3.1.0:
1612 | resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
1613 |
1614 | loose-envify@1.4.0:
1615 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1616 | hasBin: true
1617 |
1618 | loupe@3.1.2:
1619 | resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==}
1620 |
1621 | lru-cache@5.1.1:
1622 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
1623 |
1624 | lz-string@1.5.0:
1625 | resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
1626 | hasBin: true
1627 |
1628 | magic-string@0.30.12:
1629 | resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==}
1630 |
1631 | markdown-table@3.0.3:
1632 | resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
1633 |
1634 | mdast-util-find-and-replace@3.0.1:
1635 | resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==}
1636 |
1637 | mdast-util-from-markdown@2.0.1:
1638 | resolution: {integrity: sha512-aJEUyzZ6TzlsX2s5B4Of7lN7EQtAxvtradMMglCQDyaTFgse6CmtmdJ15ElnVRlCg1vpNyVtbem0PWzlNieZsA==}
1639 |
1640 | mdast-util-gfm-autolink-literal@2.0.1:
1641 | resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
1642 |
1643 | mdast-util-gfm-footnote@2.0.0:
1644 | resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==}
1645 |
1646 | mdast-util-gfm-strikethrough@2.0.0:
1647 | resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
1648 |
1649 | mdast-util-gfm-table@2.0.0:
1650 | resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
1651 |
1652 | mdast-util-gfm-task-list-item@2.0.0:
1653 | resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
1654 |
1655 | mdast-util-gfm@3.0.0:
1656 | resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==}
1657 |
1658 | mdast-util-phrasing@4.1.0:
1659 | resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
1660 |
1661 | mdast-util-to-markdown@2.1.0:
1662 | resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==}
1663 |
1664 | mdast-util-to-string@4.0.0:
1665 | resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
1666 |
1667 | merge2@1.4.1:
1668 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1669 | engines: {node: '>= 8'}
1670 |
1671 | micromark-core-commonmark@2.0.1:
1672 | resolution: {integrity: sha512-CUQyKr1e///ZODyD1U3xit6zXwy1a8q2a1S1HKtIlmgvurrEpaw/Y9y6KSIbF8P59cn/NjzHyO+Q2fAyYLQrAA==}
1673 |
1674 | micromark-extension-gfm-autolink-literal@2.1.0:
1675 | resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
1676 |
1677 | micromark-extension-gfm-footnote@2.1.0:
1678 | resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
1679 |
1680 | micromark-extension-gfm-strikethrough@2.1.0:
1681 | resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
1682 |
1683 | micromark-extension-gfm-table@2.1.0:
1684 | resolution: {integrity: sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==}
1685 |
1686 | micromark-extension-gfm-tagfilter@2.0.0:
1687 | resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
1688 |
1689 | micromark-extension-gfm-task-list-item@2.1.0:
1690 | resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
1691 |
1692 | micromark-extension-gfm@3.0.0:
1693 | resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
1694 |
1695 | micromark-factory-destination@2.0.0:
1696 | resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==}
1697 |
1698 | micromark-factory-label@2.0.0:
1699 | resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==}
1700 |
1701 | micromark-factory-space@2.0.0:
1702 | resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==}
1703 |
1704 | micromark-factory-title@2.0.0:
1705 | resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==}
1706 |
1707 | micromark-factory-whitespace@2.0.0:
1708 | resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==}
1709 |
1710 | micromark-util-character@2.1.0:
1711 | resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==}
1712 |
1713 | micromark-util-chunked@2.0.0:
1714 | resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==}
1715 |
1716 | micromark-util-classify-character@2.0.0:
1717 | resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==}
1718 |
1719 | micromark-util-combine-extensions@2.0.0:
1720 | resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==}
1721 |
1722 | micromark-util-decode-numeric-character-reference@2.0.1:
1723 | resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==}
1724 |
1725 | micromark-util-decode-string@2.0.0:
1726 | resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==}
1727 |
1728 | micromark-util-encode@2.0.0:
1729 | resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==}
1730 |
1731 | micromark-util-html-tag-name@2.0.0:
1732 | resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==}
1733 |
1734 | micromark-util-normalize-identifier@2.0.0:
1735 | resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==}
1736 |
1737 | micromark-util-resolve-all@2.0.0:
1738 | resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==}
1739 |
1740 | micromark-util-sanitize-uri@2.0.0:
1741 | resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==}
1742 |
1743 | micromark-util-subtokenize@2.0.1:
1744 | resolution: {integrity: sha512-jZNtiFl/1aY73yS3UGQkutD0UbhTt68qnRpw2Pifmz5wV9h8gOVsN70v+Lq/f1rKaU/W8pxRe8y8Q9FX1AOe1Q==}
1745 |
1746 | micromark-util-symbol@2.0.0:
1747 | resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==}
1748 |
1749 | micromark-util-types@2.0.0:
1750 | resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==}
1751 |
1752 | micromark@4.0.0:
1753 | resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==}
1754 |
1755 | micromatch@4.0.8:
1756 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1757 | engines: {node: '>=8.6'}
1758 |
1759 | mime-db@1.52.0:
1760 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1761 | engines: {node: '>= 0.6'}
1762 |
1763 | mime-types@2.1.35:
1764 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1765 | engines: {node: '>= 0.6'}
1766 |
1767 | min-indent@1.0.1:
1768 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
1769 | engines: {node: '>=4'}
1770 |
1771 | minimatch@10.0.1:
1772 | resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==}
1773 | engines: {node: 20 || >=22}
1774 |
1775 | minimatch@3.1.2:
1776 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1777 |
1778 | minimatch@9.0.5:
1779 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1780 | engines: {node: '>=16 || 14 >=14.17'}
1781 |
1782 | mlly@1.7.2:
1783 | resolution: {integrity: sha512-tN3dvVHYVz4DhSXinXIk7u9syPYaJvio118uomkovAtWBT+RdbP6Lfh/5Lvo519YMmwBafwlh20IPTXIStscpA==}
1784 |
1785 | ms@2.1.3:
1786 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1787 |
1788 | nanoid@3.3.7:
1789 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
1790 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1791 | hasBin: true
1792 |
1793 | natural-compare-lite@1.4.0:
1794 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
1795 |
1796 | natural-compare@1.4.0:
1797 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1798 |
1799 | node-releases@2.0.18:
1800 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==}
1801 |
1802 | normalize-package-data@2.5.0:
1803 | resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==}
1804 |
1805 | nth-check@2.1.1:
1806 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==}
1807 |
1808 | nwsapi@2.2.13:
1809 | resolution: {integrity: sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ==}
1810 |
1811 | optionator@0.9.4:
1812 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1813 | engines: {node: '>= 0.8.0'}
1814 |
1815 | p-limit@2.3.0:
1816 | resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
1817 | engines: {node: '>=6'}
1818 |
1819 | p-limit@3.1.0:
1820 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1821 | engines: {node: '>=10'}
1822 |
1823 | p-locate@4.1.0:
1824 | resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
1825 | engines: {node: '>=8'}
1826 |
1827 | p-locate@5.0.0:
1828 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1829 | engines: {node: '>=10'}
1830 |
1831 | p-try@2.2.0:
1832 | resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
1833 | engines: {node: '>=6'}
1834 |
1835 | package-manager-detector@0.2.2:
1836 | resolution: {integrity: sha512-VgXbyrSNsml4eHWIvxxG/nTL4wgybMTXCV2Un/+yEc3aDKKU6nQBZjbeP3Pl3qm9Qg92X/1ng4ffvCeD/zwHgg==}
1837 |
1838 | parent-module@1.0.1:
1839 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1840 | engines: {node: '>=6'}
1841 |
1842 | parse-gitignore@2.0.0:
1843 | resolution: {integrity: sha512-RmVuCHWsfu0QPNW+mraxh/xjQVw/lhUCUru8Zni3Ctq3AoMhpDTq0OVdKS6iesd6Kqb7viCV3isAL43dciOSog==}
1844 | engines: {node: '>=14'}
1845 |
1846 | parse-imports@2.2.1:
1847 | resolution: {integrity: sha512-OL/zLggRp8mFhKL0rNORUTR4yBYujK/uU+xZL+/0Rgm2QE4nLO9v8PzEweSJEbMGKmDRjJE4R3IMJlL2di4JeQ==}
1848 | engines: {node: '>= 18'}
1849 |
1850 | parse-json@5.2.0:
1851 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
1852 | engines: {node: '>=8'}
1853 |
1854 | parse5@7.2.0:
1855 | resolution: {integrity: sha512-ZkDsAOcxsUMZ4Lz5fVciOehNcJ+Gb8gTzcA4yl3wnc273BAybYWrQ+Ks/OjCjSEpjvQkDSeZbybK9qj2VHHdGA==}
1856 |
1857 | path-exists@4.0.0:
1858 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1859 | engines: {node: '>=8'}
1860 |
1861 | path-key@3.1.1:
1862 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1863 | engines: {node: '>=8'}
1864 |
1865 | path-parse@1.0.7:
1866 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1867 |
1868 | pathe@1.1.2:
1869 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==}
1870 |
1871 | pathval@2.0.0:
1872 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
1873 | engines: {node: '>= 14.16'}
1874 |
1875 | picocolors@1.1.0:
1876 | resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
1877 |
1878 | picomatch@2.3.1:
1879 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1880 | engines: {node: '>=8.6'}
1881 |
1882 | picomatch@4.0.2:
1883 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
1884 | engines: {node: '>=12'}
1885 |
1886 | pkg-types@1.2.1:
1887 | resolution: {integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==}
1888 |
1889 | pluralize@8.0.0:
1890 | resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==}
1891 | engines: {node: '>=4'}
1892 |
1893 | postcss-selector-parser@6.1.2:
1894 | resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==}
1895 | engines: {node: '>=4'}
1896 |
1897 | postcss@8.4.47:
1898 | resolution: {integrity: sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==}
1899 | engines: {node: ^10 || ^12 || >=14}
1900 |
1901 | prelude-ls@1.2.1:
1902 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1903 | engines: {node: '>= 0.8.0'}
1904 |
1905 | prettier-linter-helpers@1.0.0:
1906 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
1907 | engines: {node: '>=6.0.0'}
1908 |
1909 | prettier@3.3.3:
1910 | resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==}
1911 | engines: {node: '>=14'}
1912 | hasBin: true
1913 |
1914 | pretty-format@27.5.1:
1915 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
1916 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1917 |
1918 | punycode@2.3.1:
1919 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1920 | engines: {node: '>=6'}
1921 |
1922 | queue-microtask@1.2.3:
1923 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1924 |
1925 | react-dom@18.3.1:
1926 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
1927 | peerDependencies:
1928 | react: ^18.3.1
1929 |
1930 | react-is@17.0.2:
1931 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
1932 |
1933 | react-refresh@0.14.2:
1934 | resolution: {integrity: sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==}
1935 | engines: {node: '>=0.10.0'}
1936 |
1937 | react-router-dom@6.27.0:
1938 | resolution: {integrity: sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g==}
1939 | engines: {node: '>=14.0.0'}
1940 | peerDependencies:
1941 | react: '>=16.8'
1942 | react-dom: '>=16.8'
1943 |
1944 | react-router@6.27.0:
1945 | resolution: {integrity: sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw==}
1946 | engines: {node: '>=14.0.0'}
1947 | peerDependencies:
1948 | react: '>=16.8'
1949 |
1950 | react@18.3.1:
1951 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
1952 | engines: {node: '>=0.10.0'}
1953 |
1954 | read-pkg-up@7.0.1:
1955 | resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==}
1956 | engines: {node: '>=8'}
1957 |
1958 | read-pkg@5.2.0:
1959 | resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==}
1960 | engines: {node: '>=8'}
1961 |
1962 | refa@0.12.1:
1963 | resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==}
1964 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
1965 |
1966 | regenerator-runtime@0.14.1:
1967 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
1968 |
1969 | regexp-ast-analysis@0.7.1:
1970 | resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==}
1971 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
1972 |
1973 | regexp-tree@0.1.27:
1974 | resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==}
1975 | hasBin: true
1976 |
1977 | regjsparser@0.10.0:
1978 | resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==}
1979 | hasBin: true
1980 |
1981 | require-directory@2.1.1:
1982 | resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
1983 | engines: {node: '>=0.10.0'}
1984 |
1985 | resolve-from@4.0.0:
1986 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1987 | engines: {node: '>=4'}
1988 |
1989 | resolve-pkg-maps@1.0.0:
1990 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==}
1991 |
1992 | resolve@1.22.8:
1993 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==}
1994 | hasBin: true
1995 |
1996 | reusify@1.0.4:
1997 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1998 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1999 |
2000 | rollup@4.24.0:
2001 | resolution: {integrity: sha512-DOmrlGSXNk1DM0ljiQA+i+o0rSLhtii1je5wgk60j49d1jHT5YYttBv1iWOnYSTG+fZZESUOSNiAl89SIet+Cg==}
2002 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
2003 | hasBin: true
2004 |
2005 | rrweb-cssom@0.7.1:
2006 | resolution: {integrity: sha512-TrEMa7JGdVm0UThDJSx7ddw5nVm3UJS9o9CCIZ72B1vSyEZoziDqBYP3XIoi/12lKrJR8rE3jeFHMok2F/Mnsg==}
2007 |
2008 | run-parallel@1.2.0:
2009 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
2010 |
2011 | safer-buffer@2.1.2:
2012 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
2013 |
2014 | saxes@6.0.0:
2015 | resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
2016 | engines: {node: '>=v12.22.7'}
2017 |
2018 | scheduler@0.23.2:
2019 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
2020 |
2021 | scslre@0.3.0:
2022 | resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==}
2023 | engines: {node: ^14.0.0 || >=16.0.0}
2024 |
2025 | semver@5.7.2:
2026 | resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==}
2027 | hasBin: true
2028 |
2029 | semver@6.3.1:
2030 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
2031 | hasBin: true
2032 |
2033 | semver@7.6.3:
2034 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
2035 | engines: {node: '>=10'}
2036 | hasBin: true
2037 |
2038 | shebang-command@2.0.0:
2039 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
2040 | engines: {node: '>=8'}
2041 |
2042 | shebang-regex@3.0.0:
2043 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
2044 | engines: {node: '>=8'}
2045 |
2046 | short-unique-id@5.2.0:
2047 | resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==}
2048 | hasBin: true
2049 |
2050 | siginfo@2.0.0:
2051 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
2052 |
2053 | sisteransi@1.0.5:
2054 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==}
2055 |
2056 | slashes@3.0.12:
2057 | resolution: {integrity: sha512-Q9VME8WyGkc7pJf6QEkj3wE+2CnvZMI+XJhwdTPR8Z/kWQRXi7boAWLDibRPyHRTUTPx5FaU7MsyrjI3yLB4HA==}
2058 |
2059 | source-map-js@1.2.1:
2060 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
2061 | engines: {node: '>=0.10.0'}
2062 |
2063 | spdx-correct@3.2.0:
2064 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
2065 |
2066 | spdx-exceptions@2.5.0:
2067 | resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
2068 |
2069 | spdx-expression-parse@3.0.1:
2070 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
2071 |
2072 | spdx-expression-parse@4.0.0:
2073 | resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==}
2074 |
2075 | spdx-license-ids@3.0.20:
2076 | resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==}
2077 |
2078 | stable-hash@0.0.4:
2079 | resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==}
2080 |
2081 | stackback@0.0.2:
2082 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
2083 |
2084 | std-env@3.7.0:
2085 | resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==}
2086 |
2087 | string-ts@2.2.0:
2088 | resolution: {integrity: sha512-VTP0LLZo4Jp9Gz5IiDVMS9WyLx/3IeYh0PXUn0NdPqusUFNgkHPWiEdbB9TU2Iv3myUskraD5WtYEdHUrQEIlQ==}
2089 |
2090 | string-width@4.2.3:
2091 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
2092 | engines: {node: '>=8'}
2093 |
2094 | strip-ansi@6.0.1:
2095 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
2096 | engines: {node: '>=8'}
2097 |
2098 | strip-indent@3.0.0:
2099 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
2100 | engines: {node: '>=8'}
2101 |
2102 | strip-json-comments@3.1.1:
2103 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
2104 | engines: {node: '>=8'}
2105 |
2106 | supports-color@5.5.0:
2107 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==}
2108 | engines: {node: '>=4'}
2109 |
2110 | supports-color@7.2.0:
2111 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
2112 | engines: {node: '>=8'}
2113 |
2114 | supports-preserve-symlinks-flag@1.0.0:
2115 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
2116 | engines: {node: '>= 0.4'}
2117 |
2118 | symbol-tree@3.2.4:
2119 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
2120 |
2121 | synckit@0.6.2:
2122 | resolution: {integrity: sha512-Vhf+bUa//YSTYKseDiiEuQmhGCoIF3CVBhunm3r/DQnYiGT4JssmnKQc44BIyOZRK2pKjXXAgbhfmbeoC9CJpA==}
2123 | engines: {node: '>=12.20'}
2124 |
2125 | synckit@0.9.2:
2126 | resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==}
2127 | engines: {node: ^14.18.0 || >=16.0.0}
2128 |
2129 | tapable@2.2.1:
2130 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
2131 | engines: {node: '>=6'}
2132 |
2133 | text-table@0.2.0:
2134 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
2135 |
2136 | tinybench@2.9.0:
2137 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
2138 |
2139 | tinyexec@0.3.0:
2140 | resolution: {integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==}
2141 |
2142 | tinypool@1.0.1:
2143 | resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==}
2144 | engines: {node: ^18.0.0 || >=20.0.0}
2145 |
2146 | tinyrainbow@1.2.0:
2147 | resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==}
2148 | engines: {node: '>=14.0.0'}
2149 |
2150 | tinyspy@3.0.2:
2151 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
2152 | engines: {node: '>=14.0.0'}
2153 |
2154 | tldts-core@6.1.51:
2155 | resolution: {integrity: sha512-bu9oCYYWC1iRjx+3UnAjqCsfrWNZV1ghNQf49b3w5xE8J/tNShHTzp5syWJfwGH+pxUgTTLUnzHnfuydW7wmbg==}
2156 |
2157 | tldts@6.1.51:
2158 | resolution: {integrity: sha512-33lfQoL0JsDogIbZ8fgRyvv77GnRtwkNE/MOKocwUgPO1WrSfsq7+vQRKxRQZai5zd+zg97Iv9fpFQSzHyWdLA==}
2159 | hasBin: true
2160 |
2161 | to-fast-properties@2.0.0:
2162 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
2163 | engines: {node: '>=4'}
2164 |
2165 | to-regex-range@5.0.1:
2166 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
2167 | engines: {node: '>=8.0'}
2168 |
2169 | toml-eslint-parser@0.10.0:
2170 | resolution: {integrity: sha512-khrZo4buq4qVmsGzS5yQjKe/WsFvV8fGfOjDQN0q4iy9FjRfPWRgTFrU8u1R2iu/SfWLhY9WnCi4Jhdrcbtg+g==}
2171 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
2172 |
2173 | tough-cookie@5.0.0:
2174 | resolution: {integrity: sha512-FRKsF7cz96xIIeMZ82ehjC3xW2E+O2+v11udrDYewUbszngYhsGa8z6YUMMzO9QJZzzyd0nGGXnML/TReX6W8Q==}
2175 | engines: {node: '>=16'}
2176 |
2177 | tr46@5.0.0:
2178 | resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
2179 | engines: {node: '>=18'}
2180 |
2181 | ts-api-utils@1.3.0:
2182 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==}
2183 | engines: {node: '>=16'}
2184 | peerDependencies:
2185 | typescript: '>=4.2.0'
2186 |
2187 | ts-declaration-location@1.0.4:
2188 | resolution: {integrity: sha512-r4JoxYhKULbZuH81Pjrp9OEG5St7XWk7zXwGkLKhmVcjiBVHTJXV5wK6dEa9JKW5QGSTW6b1lOjxAKp8R1SQhg==}
2189 | peerDependencies:
2190 | typescript: '>=4.0.0'
2191 |
2192 | ts-pattern@5.5.0:
2193 | resolution: {integrity: sha512-jqbIpTsa/KKTJYWgPNsFNbLVpwCgzXfFJ1ukNn4I8hMwyQzHMJnk/BqWzggB0xpkILuKzaO/aMYhS0SkaJyKXg==}
2194 |
2195 | tslib@2.8.0:
2196 | resolution: {integrity: sha512-jWVzBLplnCmoaTr13V9dYbiQ99wvZRd0vNWaDRg+aVYRcjDF3nDksxFDE/+fkXnKhpnUUkmx5pK/v8mCtLVqZA==}
2197 |
2198 | type-check@0.4.0:
2199 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
2200 | engines: {node: '>= 0.8.0'}
2201 |
2202 | type-fest@0.20.2:
2203 | resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
2204 | engines: {node: '>=10'}
2205 |
2206 | type-fest@0.6.0:
2207 | resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==}
2208 | engines: {node: '>=8'}
2209 |
2210 | type-fest@0.8.1:
2211 | resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==}
2212 | engines: {node: '>=8'}
2213 |
2214 | typescript-eslint@8.9.0:
2215 | resolution: {integrity: sha512-AuD/FXGYRQyqyOBCpNLldMlsCGvmDNxptQ3Dp58/NXeB+FqyvTfXmMyba3PYa0Vi9ybnj7G8S/yd/4Cw8y47eA==}
2216 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
2217 | peerDependencies:
2218 | typescript: '*'
2219 | peerDependenciesMeta:
2220 | typescript:
2221 | optional: true
2222 |
2223 | typescript@5.6.3:
2224 | resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==}
2225 | engines: {node: '>=14.17'}
2226 | hasBin: true
2227 |
2228 | ufo@1.5.4:
2229 | resolution: {integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==}
2230 |
2231 | undici-types@6.19.8:
2232 | resolution: {integrity: sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==}
2233 |
2234 | unist-util-is@6.0.0:
2235 | resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
2236 |
2237 | unist-util-stringify-position@4.0.0:
2238 | resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
2239 |
2240 | unist-util-visit-parents@6.0.1:
2241 | resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
2242 |
2243 | unist-util-visit@5.0.0:
2244 | resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
2245 |
2246 | update-browserslist-db@1.1.1:
2247 | resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
2248 | hasBin: true
2249 | peerDependencies:
2250 | browserslist: '>= 4.21.0'
2251 |
2252 | uri-js@4.4.1:
2253 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
2254 |
2255 | util-deprecate@1.0.2:
2256 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
2257 |
2258 | validate-npm-package-license@3.0.4:
2259 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
2260 |
2261 | vite-node@2.1.3:
2262 | resolution: {integrity: sha512-I1JadzO+xYX887S39Do+paRePCKoiDrWRRjp9kkG5he0t7RXNvPAJPCQSJqbGN4uCrFFeS3Kj3sLqY8NMYBEdA==}
2263 | engines: {node: ^18.0.0 || >=20.0.0}
2264 | hasBin: true
2265 |
2266 | vite@5.4.9:
2267 | resolution: {integrity: sha512-20OVpJHh0PAM0oSOELa5GaZNWeDjcAvQjGXy2Uyr+Tp+/D2/Hdz6NLgpJLsarPTA2QJ6v8mX2P1ZfbsSKvdMkg==}
2268 | engines: {node: ^18.0.0 || >=20.0.0}
2269 | hasBin: true
2270 | peerDependencies:
2271 | '@types/node': ^18.0.0 || >=20.0.0
2272 | less: '*'
2273 | lightningcss: ^1.21.0
2274 | sass: '*'
2275 | sass-embedded: '*'
2276 | stylus: '*'
2277 | sugarss: '*'
2278 | terser: ^5.4.0
2279 | peerDependenciesMeta:
2280 | '@types/node':
2281 | optional: true
2282 | less:
2283 | optional: true
2284 | lightningcss:
2285 | optional: true
2286 | sass:
2287 | optional: true
2288 | sass-embedded:
2289 | optional: true
2290 | stylus:
2291 | optional: true
2292 | sugarss:
2293 | optional: true
2294 | terser:
2295 | optional: true
2296 |
2297 | vitest@2.1.3:
2298 | resolution: {integrity: sha512-Zrxbg/WiIvUP2uEzelDNTXmEMJXuzJ1kCpbDvaKByFA9MNeO95V+7r/3ti0qzJzrxdyuUw5VduN7k+D3VmVOSA==}
2299 | engines: {node: ^18.0.0 || >=20.0.0}
2300 | hasBin: true
2301 | peerDependencies:
2302 | '@edge-runtime/vm': '*'
2303 | '@types/node': ^18.0.0 || >=20.0.0
2304 | '@vitest/browser': 2.1.3
2305 | '@vitest/ui': 2.1.3
2306 | happy-dom: '*'
2307 | jsdom: '*'
2308 | peerDependenciesMeta:
2309 | '@edge-runtime/vm':
2310 | optional: true
2311 | '@types/node':
2312 | optional: true
2313 | '@vitest/browser':
2314 | optional: true
2315 | '@vitest/ui':
2316 | optional: true
2317 | happy-dom:
2318 | optional: true
2319 | jsdom:
2320 | optional: true
2321 |
2322 | vue-eslint-parser@9.4.3:
2323 | resolution: {integrity: sha512-2rYRLWlIpaiN8xbPiDyXZXRgLGOtWxERV7ND5fFAv5qo1D2N9Fu9MNajBNc6o13lZ+24DAWCkQCvj4klgmcITg==}
2324 | engines: {node: ^14.17.0 || >=16.0.0}
2325 | peerDependencies:
2326 | eslint: '>=6.0.0'
2327 |
2328 | w3c-xmlserializer@5.0.0:
2329 | resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
2330 | engines: {node: '>=18'}
2331 |
2332 | webidl-conversions@7.0.0:
2333 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
2334 | engines: {node: '>=12'}
2335 |
2336 | whatwg-encoding@3.1.1:
2337 | resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
2338 | engines: {node: '>=18'}
2339 |
2340 | whatwg-mimetype@4.0.0:
2341 | resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
2342 | engines: {node: '>=18'}
2343 |
2344 | whatwg-url@14.0.0:
2345 | resolution: {integrity: sha512-1lfMEm2IEr7RIV+f4lUNPOqfFL+pO+Xw3fJSqmjX9AbXcXcYOkCe1P6+9VBZB6n94af16NfZf+sSk0JCBZC9aw==}
2346 | engines: {node: '>=18'}
2347 |
2348 | which@2.0.2:
2349 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2350 | engines: {node: '>= 8'}
2351 | hasBin: true
2352 |
2353 | why-is-node-running@2.3.0:
2354 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
2355 | engines: {node: '>=8'}
2356 | hasBin: true
2357 |
2358 | word-wrap@1.2.5:
2359 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
2360 | engines: {node: '>=0.10.0'}
2361 |
2362 | wrap-ansi@7.0.0:
2363 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2364 | engines: {node: '>=10'}
2365 |
2366 | ws@8.18.0:
2367 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
2368 | engines: {node: '>=10.0.0'}
2369 | peerDependencies:
2370 | bufferutil: ^4.0.1
2371 | utf-8-validate: '>=5.0.2'
2372 | peerDependenciesMeta:
2373 | bufferutil:
2374 | optional: true
2375 | utf-8-validate:
2376 | optional: true
2377 |
2378 | xml-name-validator@4.0.0:
2379 | resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==}
2380 | engines: {node: '>=12'}
2381 |
2382 | xml-name-validator@5.0.0:
2383 | resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
2384 | engines: {node: '>=18'}
2385 |
2386 | xmlchars@2.2.0:
2387 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
2388 |
2389 | y18n@5.0.8:
2390 | resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
2391 | engines: {node: '>=10'}
2392 |
2393 | yallist@3.1.1:
2394 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
2395 |
2396 | yaml-eslint-parser@1.2.3:
2397 | resolution: {integrity: sha512-4wZWvE398hCP7O8n3nXKu/vdq1HcH01ixYlCREaJL5NUMwQ0g3MaGFUBNSlmBtKmhbtVG/Cm6lyYmSVTEVil8A==}
2398 | engines: {node: ^14.17.0 || >=16.0.0}
2399 |
2400 | yaml@2.6.0:
2401 | resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==}
2402 | engines: {node: '>= 14'}
2403 | hasBin: true
2404 |
2405 | yargs-parser@21.1.1:
2406 | resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
2407 | engines: {node: '>=12'}
2408 |
2409 | yargs@17.7.2:
2410 | resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
2411 | engines: {node: '>=12'}
2412 |
2413 | yocto-queue@0.1.0:
2414 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2415 | engines: {node: '>=10'}
2416 |
2417 | zwitch@2.0.4:
2418 | resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
2419 |
2420 | snapshots:
2421 |
2422 | '@ampproject/remapping@2.3.0':
2423 | dependencies:
2424 | '@jridgewell/gen-mapping': 0.3.5
2425 | '@jridgewell/trace-mapping': 0.3.25
2426 |
2427 | '@antfu/eslint-config@3.7.3(@eslint-react/eslint-plugin@1.15.0(eslint@9.12.0)(typescript@5.6.3))(@typescript-eslint/utils@8.9.0(eslint@9.12.0)(typescript@5.6.3))(@vue/compiler-sfc@3.5.12)(eslint-plugin-format@0.1.2(eslint@9.12.0))(eslint-plugin-react-hooks@5.0.0(eslint@9.12.0))(eslint-plugin-react-refresh@0.4.12(eslint@9.12.0))(eslint@9.12.0)(typescript@5.6.3)(vitest@2.1.3(@types/node@22.7.5)(jsdom@25.0.1))':
2428 | dependencies:
2429 | '@antfu/install-pkg': 0.4.1
2430 | '@clack/prompts': 0.7.0
2431 | '@eslint-community/eslint-plugin-eslint-comments': 4.4.0(eslint@9.12.0)
2432 | '@eslint/markdown': 6.2.0
2433 | '@stylistic/eslint-plugin': 2.9.0(eslint@9.12.0)(typescript@5.6.3)
2434 | '@typescript-eslint/eslint-plugin': 8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)
2435 | '@typescript-eslint/parser': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2436 | '@vitest/eslint-plugin': 1.1.7(@typescript-eslint/utils@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)(vitest@2.1.3(@types/node@22.7.5)(jsdom@25.0.1))
2437 | eslint: 9.12.0
2438 | eslint-config-flat-gitignore: 0.3.0(eslint@9.12.0)
2439 | eslint-flat-config-utils: 0.4.0
2440 | eslint-merge-processors: 0.1.0(eslint@9.12.0)
2441 | eslint-plugin-antfu: 2.7.0(eslint@9.12.0)
2442 | eslint-plugin-command: 0.2.6(eslint@9.12.0)
2443 | eslint-plugin-import-x: 4.3.1(eslint@9.12.0)(typescript@5.6.3)
2444 | eslint-plugin-jsdoc: 50.4.1(eslint@9.12.0)
2445 | eslint-plugin-jsonc: 2.16.0(eslint@9.12.0)
2446 | eslint-plugin-n: 17.11.1(eslint@9.12.0)
2447 | eslint-plugin-no-only-tests: 3.3.0
2448 | eslint-plugin-perfectionist: 3.9.0(eslint@9.12.0)(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.12.0))
2449 | eslint-plugin-regexp: 2.6.0(eslint@9.12.0)
2450 | eslint-plugin-toml: 0.11.1(eslint@9.12.0)
2451 | eslint-plugin-unicorn: 55.0.0(eslint@9.12.0)
2452 | eslint-plugin-unused-imports: 4.1.4(@typescript-eslint/eslint-plugin@8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)
2453 | eslint-plugin-vue: 9.29.0(eslint@9.12.0)
2454 | eslint-plugin-yml: 1.14.0(eslint@9.12.0)
2455 | eslint-processor-vue-blocks: 0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.12.0)
2456 | globals: 15.11.0
2457 | jsonc-eslint-parser: 2.4.0
2458 | local-pkg: 0.5.0
2459 | parse-gitignore: 2.0.0
2460 | picocolors: 1.1.0
2461 | toml-eslint-parser: 0.10.0
2462 | vue-eslint-parser: 9.4.3(eslint@9.12.0)
2463 | yaml-eslint-parser: 1.2.3
2464 | yargs: 17.7.2
2465 | optionalDependencies:
2466 | '@eslint-react/eslint-plugin': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2467 | eslint-plugin-format: 0.1.2(eslint@9.12.0)
2468 | eslint-plugin-react-hooks: 5.0.0(eslint@9.12.0)
2469 | eslint-plugin-react-refresh: 0.4.12(eslint@9.12.0)
2470 | transitivePeerDependencies:
2471 | - '@typescript-eslint/utils'
2472 | - '@vue/compiler-sfc'
2473 | - supports-color
2474 | - svelte
2475 | - typescript
2476 | - vitest
2477 |
2478 | '@antfu/install-pkg@0.4.1':
2479 | dependencies:
2480 | package-manager-detector: 0.2.2
2481 | tinyexec: 0.3.0
2482 |
2483 | '@antfu/utils@0.7.10': {}
2484 |
2485 | '@babel/code-frame@7.25.7':
2486 | dependencies:
2487 | '@babel/highlight': 7.25.7
2488 | picocolors: 1.1.0
2489 |
2490 | '@babel/compat-data@7.25.8': {}
2491 |
2492 | '@babel/core@7.25.8':
2493 | dependencies:
2494 | '@ampproject/remapping': 2.3.0
2495 | '@babel/code-frame': 7.25.7
2496 | '@babel/generator': 7.25.7
2497 | '@babel/helper-compilation-targets': 7.25.7
2498 | '@babel/helper-module-transforms': 7.25.7(@babel/core@7.25.8)
2499 | '@babel/helpers': 7.25.7
2500 | '@babel/parser': 7.25.8
2501 | '@babel/template': 7.25.7
2502 | '@babel/traverse': 7.25.7
2503 | '@babel/types': 7.25.8
2504 | convert-source-map: 2.0.0
2505 | debug: 4.3.7
2506 | gensync: 1.0.0-beta.2
2507 | json5: 2.2.3
2508 | semver: 6.3.1
2509 | transitivePeerDependencies:
2510 | - supports-color
2511 |
2512 | '@babel/generator@7.25.7':
2513 | dependencies:
2514 | '@babel/types': 7.25.8
2515 | '@jridgewell/gen-mapping': 0.3.5
2516 | '@jridgewell/trace-mapping': 0.3.25
2517 | jsesc: 3.0.2
2518 |
2519 | '@babel/helper-compilation-targets@7.25.7':
2520 | dependencies:
2521 | '@babel/compat-data': 7.25.8
2522 | '@babel/helper-validator-option': 7.25.7
2523 | browserslist: 4.24.0
2524 | lru-cache: 5.1.1
2525 | semver: 6.3.1
2526 |
2527 | '@babel/helper-module-imports@7.25.7':
2528 | dependencies:
2529 | '@babel/traverse': 7.25.7
2530 | '@babel/types': 7.25.8
2531 | transitivePeerDependencies:
2532 | - supports-color
2533 |
2534 | '@babel/helper-module-transforms@7.25.7(@babel/core@7.25.8)':
2535 | dependencies:
2536 | '@babel/core': 7.25.8
2537 | '@babel/helper-module-imports': 7.25.7
2538 | '@babel/helper-simple-access': 7.25.7
2539 | '@babel/helper-validator-identifier': 7.25.7
2540 | '@babel/traverse': 7.25.7
2541 | transitivePeerDependencies:
2542 | - supports-color
2543 |
2544 | '@babel/helper-plugin-utils@7.25.7': {}
2545 |
2546 | '@babel/helper-simple-access@7.25.7':
2547 | dependencies:
2548 | '@babel/traverse': 7.25.7
2549 | '@babel/types': 7.25.8
2550 | transitivePeerDependencies:
2551 | - supports-color
2552 |
2553 | '@babel/helper-string-parser@7.25.7': {}
2554 |
2555 | '@babel/helper-validator-identifier@7.25.7': {}
2556 |
2557 | '@babel/helper-validator-option@7.25.7': {}
2558 |
2559 | '@babel/helpers@7.25.7':
2560 | dependencies:
2561 | '@babel/template': 7.25.7
2562 | '@babel/types': 7.25.8
2563 |
2564 | '@babel/highlight@7.25.7':
2565 | dependencies:
2566 | '@babel/helper-validator-identifier': 7.25.7
2567 | chalk: 2.4.2
2568 | js-tokens: 4.0.0
2569 | picocolors: 1.1.0
2570 |
2571 | '@babel/parser@7.25.8':
2572 | dependencies:
2573 | '@babel/types': 7.25.8
2574 |
2575 | '@babel/plugin-transform-react-jsx-self@7.25.7(@babel/core@7.25.8)':
2576 | dependencies:
2577 | '@babel/core': 7.25.8
2578 | '@babel/helper-plugin-utils': 7.25.7
2579 |
2580 | '@babel/plugin-transform-react-jsx-source@7.25.7(@babel/core@7.25.8)':
2581 | dependencies:
2582 | '@babel/core': 7.25.8
2583 | '@babel/helper-plugin-utils': 7.25.7
2584 |
2585 | '@babel/runtime@7.25.7':
2586 | dependencies:
2587 | regenerator-runtime: 0.14.1
2588 |
2589 | '@babel/template@7.25.7':
2590 | dependencies:
2591 | '@babel/code-frame': 7.25.7
2592 | '@babel/parser': 7.25.8
2593 | '@babel/types': 7.25.8
2594 |
2595 | '@babel/traverse@7.25.7':
2596 | dependencies:
2597 | '@babel/code-frame': 7.25.7
2598 | '@babel/generator': 7.25.7
2599 | '@babel/parser': 7.25.8
2600 | '@babel/template': 7.25.7
2601 | '@babel/types': 7.25.8
2602 | debug: 4.3.7
2603 | globals: 11.12.0
2604 | transitivePeerDependencies:
2605 | - supports-color
2606 |
2607 | '@babel/types@7.25.8':
2608 | dependencies:
2609 | '@babel/helper-string-parser': 7.25.7
2610 | '@babel/helper-validator-identifier': 7.25.7
2611 | to-fast-properties: 2.0.0
2612 |
2613 | '@clack/core@0.3.4':
2614 | dependencies:
2615 | picocolors: 1.1.0
2616 | sisteransi: 1.0.5
2617 |
2618 | '@clack/prompts@0.7.0':
2619 | dependencies:
2620 | '@clack/core': 0.3.4
2621 | picocolors: 1.1.0
2622 | sisteransi: 1.0.5
2623 |
2624 | '@dprint/formatter@0.3.0': {}
2625 |
2626 | '@dprint/markdown@0.17.8': {}
2627 |
2628 | '@dprint/toml@0.6.3': {}
2629 |
2630 | '@es-joy/jsdoccomment@0.48.0':
2631 | dependencies:
2632 | comment-parser: 1.4.1
2633 | esquery: 1.6.0
2634 | jsdoc-type-pratt-parser: 4.1.0
2635 |
2636 | '@es-joy/jsdoccomment@0.49.0':
2637 | dependencies:
2638 | comment-parser: 1.4.1
2639 | esquery: 1.6.0
2640 | jsdoc-type-pratt-parser: 4.1.0
2641 |
2642 | '@esbuild/aix-ppc64@0.21.5':
2643 | optional: true
2644 |
2645 | '@esbuild/android-arm64@0.21.5':
2646 | optional: true
2647 |
2648 | '@esbuild/android-arm@0.21.5':
2649 | optional: true
2650 |
2651 | '@esbuild/android-x64@0.21.5':
2652 | optional: true
2653 |
2654 | '@esbuild/darwin-arm64@0.21.5':
2655 | optional: true
2656 |
2657 | '@esbuild/darwin-x64@0.21.5':
2658 | optional: true
2659 |
2660 | '@esbuild/freebsd-arm64@0.21.5':
2661 | optional: true
2662 |
2663 | '@esbuild/freebsd-x64@0.21.5':
2664 | optional: true
2665 |
2666 | '@esbuild/linux-arm64@0.21.5':
2667 | optional: true
2668 |
2669 | '@esbuild/linux-arm@0.21.5':
2670 | optional: true
2671 |
2672 | '@esbuild/linux-ia32@0.21.5':
2673 | optional: true
2674 |
2675 | '@esbuild/linux-loong64@0.21.5':
2676 | optional: true
2677 |
2678 | '@esbuild/linux-mips64el@0.21.5':
2679 | optional: true
2680 |
2681 | '@esbuild/linux-ppc64@0.21.5':
2682 | optional: true
2683 |
2684 | '@esbuild/linux-riscv64@0.21.5':
2685 | optional: true
2686 |
2687 | '@esbuild/linux-s390x@0.21.5':
2688 | optional: true
2689 |
2690 | '@esbuild/linux-x64@0.21.5':
2691 | optional: true
2692 |
2693 | '@esbuild/netbsd-x64@0.21.5':
2694 | optional: true
2695 |
2696 | '@esbuild/openbsd-x64@0.21.5':
2697 | optional: true
2698 |
2699 | '@esbuild/sunos-x64@0.21.5':
2700 | optional: true
2701 |
2702 | '@esbuild/win32-arm64@0.21.5':
2703 | optional: true
2704 |
2705 | '@esbuild/win32-ia32@0.21.5':
2706 | optional: true
2707 |
2708 | '@esbuild/win32-x64@0.21.5':
2709 | optional: true
2710 |
2711 | '@eslint-community/eslint-plugin-eslint-comments@4.4.0(eslint@9.12.0)':
2712 | dependencies:
2713 | escape-string-regexp: 4.0.0
2714 | eslint: 9.12.0
2715 | ignore: 5.3.2
2716 |
2717 | '@eslint-community/eslint-utils@4.4.0(eslint@9.12.0)':
2718 | dependencies:
2719 | eslint: 9.12.0
2720 | eslint-visitor-keys: 3.4.3
2721 |
2722 | '@eslint-community/regexpp@4.11.1': {}
2723 |
2724 | '@eslint-react/ast@1.15.0(eslint@9.12.0)(typescript@5.6.3)':
2725 | dependencies:
2726 | '@eslint-react/tools': 1.15.0
2727 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2728 | '@typescript-eslint/types': 8.9.0
2729 | '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
2730 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2731 | birecord: 0.1.1
2732 | string-ts: 2.2.0
2733 | ts-pattern: 5.5.0
2734 | transitivePeerDependencies:
2735 | - eslint
2736 | - supports-color
2737 | - typescript
2738 |
2739 | '@eslint-react/core@1.15.0(eslint@9.12.0)(typescript@5.6.3)':
2740 | dependencies:
2741 | '@eslint-react/ast': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2742 | '@eslint-react/jsx': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2743 | '@eslint-react/shared': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2744 | '@eslint-react/tools': 1.15.0
2745 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2746 | '@eslint-react/var': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2747 | '@typescript-eslint/scope-manager': 8.9.0
2748 | '@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2749 | '@typescript-eslint/types': 8.9.0
2750 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2751 | birecord: 0.1.1
2752 | short-unique-id: 5.2.0
2753 | ts-pattern: 5.5.0
2754 | transitivePeerDependencies:
2755 | - eslint
2756 | - supports-color
2757 | - typescript
2758 |
2759 | '@eslint-react/eslint-plugin@1.15.0(eslint@9.12.0)(typescript@5.6.3)':
2760 | dependencies:
2761 | '@eslint-react/shared': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2762 | '@eslint-react/tools': 1.15.0
2763 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2764 | '@typescript-eslint/scope-manager': 8.9.0
2765 | '@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2766 | '@typescript-eslint/types': 8.9.0
2767 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2768 | eslint: 9.12.0
2769 | eslint-plugin-react-debug: 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2770 | eslint-plugin-react-dom: 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2771 | eslint-plugin-react-hooks-extra: 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2772 | eslint-plugin-react-naming-convention: 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2773 | eslint-plugin-react-web-api: 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2774 | eslint-plugin-react-x: 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2775 | optionalDependencies:
2776 | typescript: 5.6.3
2777 | transitivePeerDependencies:
2778 | - supports-color
2779 |
2780 | '@eslint-react/jsx@1.15.0(eslint@9.12.0)(typescript@5.6.3)':
2781 | dependencies:
2782 | '@eslint-react/ast': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2783 | '@eslint-react/tools': 1.15.0
2784 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2785 | '@eslint-react/var': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2786 | '@typescript-eslint/scope-manager': 8.9.0
2787 | '@typescript-eslint/types': 8.9.0
2788 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2789 | ts-pattern: 5.5.0
2790 | transitivePeerDependencies:
2791 | - eslint
2792 | - supports-color
2793 | - typescript
2794 |
2795 | '@eslint-react/shared@1.15.0(eslint@9.12.0)(typescript@5.6.3)':
2796 | dependencies:
2797 | '@eslint-react/tools': 1.15.0
2798 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2799 | picomatch: 4.0.2
2800 | transitivePeerDependencies:
2801 | - eslint
2802 | - supports-color
2803 | - typescript
2804 |
2805 | '@eslint-react/tools@1.15.0': {}
2806 |
2807 | '@eslint-react/types@1.15.0(eslint@9.12.0)(typescript@5.6.3)':
2808 | dependencies:
2809 | '@eslint-react/tools': 1.15.0
2810 | '@typescript-eslint/types': 8.9.0
2811 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2812 | transitivePeerDependencies:
2813 | - eslint
2814 | - supports-color
2815 | - typescript
2816 |
2817 | '@eslint-react/var@1.15.0(eslint@9.12.0)(typescript@5.6.3)':
2818 | dependencies:
2819 | '@eslint-react/ast': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2820 | '@eslint-react/tools': 1.15.0
2821 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
2822 | '@typescript-eslint/scope-manager': 8.9.0
2823 | '@typescript-eslint/types': 8.9.0
2824 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2825 | ts-pattern: 5.5.0
2826 | transitivePeerDependencies:
2827 | - eslint
2828 | - supports-color
2829 | - typescript
2830 |
2831 | '@eslint/compat@1.2.0(eslint@9.12.0)':
2832 | optionalDependencies:
2833 | eslint: 9.12.0
2834 |
2835 | '@eslint/config-array@0.18.0':
2836 | dependencies:
2837 | '@eslint/object-schema': 2.1.4
2838 | debug: 4.3.7
2839 | minimatch: 3.1.2
2840 | transitivePeerDependencies:
2841 | - supports-color
2842 |
2843 | '@eslint/core@0.6.0': {}
2844 |
2845 | '@eslint/eslintrc@3.1.0':
2846 | dependencies:
2847 | ajv: 6.12.6
2848 | debug: 4.3.7
2849 | espree: 10.2.0
2850 | globals: 14.0.0
2851 | ignore: 5.3.2
2852 | import-fresh: 3.3.0
2853 | js-yaml: 4.1.0
2854 | minimatch: 3.1.2
2855 | strip-json-comments: 3.1.1
2856 | transitivePeerDependencies:
2857 | - supports-color
2858 |
2859 | '@eslint/js@9.12.0': {}
2860 |
2861 | '@eslint/markdown@6.2.0':
2862 | dependencies:
2863 | '@eslint/plugin-kit': 0.2.0
2864 | mdast-util-from-markdown: 2.0.1
2865 | mdast-util-gfm: 3.0.0
2866 | micromark-extension-gfm: 3.0.0
2867 | transitivePeerDependencies:
2868 | - supports-color
2869 |
2870 | '@eslint/object-schema@2.1.4': {}
2871 |
2872 | '@eslint/plugin-kit@0.2.0':
2873 | dependencies:
2874 | levn: 0.4.1
2875 |
2876 | '@humanfs/core@0.19.0': {}
2877 |
2878 | '@humanfs/node@0.16.5':
2879 | dependencies:
2880 | '@humanfs/core': 0.19.0
2881 | '@humanwhocodes/retry': 0.3.1
2882 |
2883 | '@humanwhocodes/module-importer@1.0.1': {}
2884 |
2885 | '@humanwhocodes/retry@0.3.1': {}
2886 |
2887 | '@jridgewell/gen-mapping@0.3.5':
2888 | dependencies:
2889 | '@jridgewell/set-array': 1.2.1
2890 | '@jridgewell/sourcemap-codec': 1.5.0
2891 | '@jridgewell/trace-mapping': 0.3.25
2892 |
2893 | '@jridgewell/resolve-uri@3.1.2': {}
2894 |
2895 | '@jridgewell/set-array@1.2.1': {}
2896 |
2897 | '@jridgewell/sourcemap-codec@1.5.0': {}
2898 |
2899 | '@jridgewell/trace-mapping@0.3.25':
2900 | dependencies:
2901 | '@jridgewell/resolve-uri': 3.1.2
2902 | '@jridgewell/sourcemap-codec': 1.5.0
2903 |
2904 | '@nodelib/fs.scandir@2.1.5':
2905 | dependencies:
2906 | '@nodelib/fs.stat': 2.0.5
2907 | run-parallel: 1.2.0
2908 |
2909 | '@nodelib/fs.stat@2.0.5': {}
2910 |
2911 | '@nodelib/fs.walk@1.2.8':
2912 | dependencies:
2913 | '@nodelib/fs.scandir': 2.1.5
2914 | fastq: 1.17.1
2915 |
2916 | '@picocss/pico@2.0.6': {}
2917 |
2918 | '@pkgr/core@0.1.1': {}
2919 |
2920 | '@remix-run/router@1.20.0': {}
2921 |
2922 | '@rollup/rollup-android-arm-eabi@4.24.0':
2923 | optional: true
2924 |
2925 | '@rollup/rollup-android-arm64@4.24.0':
2926 | optional: true
2927 |
2928 | '@rollup/rollup-darwin-arm64@4.24.0':
2929 | optional: true
2930 |
2931 | '@rollup/rollup-darwin-x64@4.24.0':
2932 | optional: true
2933 |
2934 | '@rollup/rollup-linux-arm-gnueabihf@4.24.0':
2935 | optional: true
2936 |
2937 | '@rollup/rollup-linux-arm-musleabihf@4.24.0':
2938 | optional: true
2939 |
2940 | '@rollup/rollup-linux-arm64-gnu@4.24.0':
2941 | optional: true
2942 |
2943 | '@rollup/rollup-linux-arm64-musl@4.24.0':
2944 | optional: true
2945 |
2946 | '@rollup/rollup-linux-powerpc64le-gnu@4.24.0':
2947 | optional: true
2948 |
2949 | '@rollup/rollup-linux-riscv64-gnu@4.24.0':
2950 | optional: true
2951 |
2952 | '@rollup/rollup-linux-s390x-gnu@4.24.0':
2953 | optional: true
2954 |
2955 | '@rollup/rollup-linux-x64-gnu@4.24.0':
2956 | optional: true
2957 |
2958 | '@rollup/rollup-linux-x64-musl@4.24.0':
2959 | optional: true
2960 |
2961 | '@rollup/rollup-win32-arm64-msvc@4.24.0':
2962 | optional: true
2963 |
2964 | '@rollup/rollup-win32-ia32-msvc@4.24.0':
2965 | optional: true
2966 |
2967 | '@rollup/rollup-win32-x64-msvc@4.24.0':
2968 | optional: true
2969 |
2970 | '@stylistic/eslint-plugin@2.9.0(eslint@9.12.0)(typescript@5.6.3)':
2971 | dependencies:
2972 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
2973 | eslint: 9.12.0
2974 | eslint-visitor-keys: 4.1.0
2975 | espree: 10.2.0
2976 | estraverse: 5.3.0
2977 | picomatch: 4.0.2
2978 | transitivePeerDependencies:
2979 | - supports-color
2980 | - typescript
2981 |
2982 | '@testing-library/dom@10.4.0':
2983 | dependencies:
2984 | '@babel/code-frame': 7.25.7
2985 | '@babel/runtime': 7.25.7
2986 | '@types/aria-query': 5.0.4
2987 | aria-query: 5.3.0
2988 | chalk: 4.1.2
2989 | dom-accessibility-api: 0.5.16
2990 | lz-string: 1.5.0
2991 | pretty-format: 27.5.1
2992 |
2993 | '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.11)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2994 | dependencies:
2995 | '@babel/runtime': 7.25.7
2996 | '@testing-library/dom': 10.4.0
2997 | react: 18.3.1
2998 | react-dom: 18.3.1(react@18.3.1)
2999 | optionalDependencies:
3000 | '@types/react': 18.3.11
3001 | '@types/react-dom': 18.3.1
3002 |
3003 | '@types/aria-query@5.0.4': {}
3004 |
3005 | '@types/babel__core@7.20.5':
3006 | dependencies:
3007 | '@babel/parser': 7.25.8
3008 | '@babel/types': 7.25.8
3009 | '@types/babel__generator': 7.6.8
3010 | '@types/babel__template': 7.4.4
3011 | '@types/babel__traverse': 7.20.6
3012 |
3013 | '@types/babel__generator@7.6.8':
3014 | dependencies:
3015 | '@babel/types': 7.25.8
3016 |
3017 | '@types/babel__template@7.4.4':
3018 | dependencies:
3019 | '@babel/parser': 7.25.8
3020 | '@babel/types': 7.25.8
3021 |
3022 | '@types/babel__traverse@7.20.6':
3023 | dependencies:
3024 | '@babel/types': 7.25.8
3025 |
3026 | '@types/debug@4.1.12':
3027 | dependencies:
3028 | '@types/ms': 0.7.34
3029 |
3030 | '@types/estree@1.0.6': {}
3031 |
3032 | '@types/jsdom@21.1.7':
3033 | dependencies:
3034 | '@types/node': 22.7.5
3035 | '@types/tough-cookie': 4.0.5
3036 | parse5: 7.2.0
3037 |
3038 | '@types/json-schema@7.0.15': {}
3039 |
3040 | '@types/mdast@4.0.4':
3041 | dependencies:
3042 | '@types/unist': 3.0.3
3043 |
3044 | '@types/ms@0.7.34': {}
3045 |
3046 | '@types/node@22.7.5':
3047 | dependencies:
3048 | undici-types: 6.19.8
3049 |
3050 | '@types/normalize-package-data@2.4.4': {}
3051 |
3052 | '@types/prop-types@15.7.13': {}
3053 |
3054 | '@types/react-dom@18.3.1':
3055 | dependencies:
3056 | '@types/react': 18.3.11
3057 |
3058 | '@types/react@18.3.11':
3059 | dependencies:
3060 | '@types/prop-types': 15.7.13
3061 | csstype: 3.1.3
3062 |
3063 | '@types/tough-cookie@4.0.5': {}
3064 |
3065 | '@types/unist@3.0.3': {}
3066 |
3067 | '@typescript-eslint/eslint-plugin@8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)':
3068 | dependencies:
3069 | '@eslint-community/regexpp': 4.11.1
3070 | '@typescript-eslint/parser': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3071 | '@typescript-eslint/scope-manager': 8.9.0
3072 | '@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3073 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3074 | '@typescript-eslint/visitor-keys': 8.9.0
3075 | eslint: 9.12.0
3076 | graphemer: 1.4.0
3077 | ignore: 5.3.2
3078 | natural-compare: 1.4.0
3079 | ts-api-utils: 1.3.0(typescript@5.6.3)
3080 | optionalDependencies:
3081 | typescript: 5.6.3
3082 | transitivePeerDependencies:
3083 | - supports-color
3084 |
3085 | '@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3)':
3086 | dependencies:
3087 | '@typescript-eslint/scope-manager': 8.9.0
3088 | '@typescript-eslint/types': 8.9.0
3089 | '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
3090 | '@typescript-eslint/visitor-keys': 8.9.0
3091 | debug: 4.3.7
3092 | eslint: 9.12.0
3093 | optionalDependencies:
3094 | typescript: 5.6.3
3095 | transitivePeerDependencies:
3096 | - supports-color
3097 |
3098 | '@typescript-eslint/scope-manager@8.9.0':
3099 | dependencies:
3100 | '@typescript-eslint/types': 8.9.0
3101 | '@typescript-eslint/visitor-keys': 8.9.0
3102 |
3103 | '@typescript-eslint/type-utils@8.9.0(eslint@9.12.0)(typescript@5.6.3)':
3104 | dependencies:
3105 | '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
3106 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3107 | debug: 4.3.7
3108 | ts-api-utils: 1.3.0(typescript@5.6.3)
3109 | optionalDependencies:
3110 | typescript: 5.6.3
3111 | transitivePeerDependencies:
3112 | - eslint
3113 | - supports-color
3114 |
3115 | '@typescript-eslint/types@8.9.0': {}
3116 |
3117 | '@typescript-eslint/typescript-estree@8.9.0(typescript@5.6.3)':
3118 | dependencies:
3119 | '@typescript-eslint/types': 8.9.0
3120 | '@typescript-eslint/visitor-keys': 8.9.0
3121 | debug: 4.3.7
3122 | fast-glob: 3.3.2
3123 | is-glob: 4.0.3
3124 | minimatch: 9.0.5
3125 | semver: 7.6.3
3126 | ts-api-utils: 1.3.0(typescript@5.6.3)
3127 | optionalDependencies:
3128 | typescript: 5.6.3
3129 | transitivePeerDependencies:
3130 | - supports-color
3131 |
3132 | '@typescript-eslint/utils@8.9.0(eslint@9.12.0)(typescript@5.6.3)':
3133 | dependencies:
3134 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
3135 | '@typescript-eslint/scope-manager': 8.9.0
3136 | '@typescript-eslint/types': 8.9.0
3137 | '@typescript-eslint/typescript-estree': 8.9.0(typescript@5.6.3)
3138 | eslint: 9.12.0
3139 | transitivePeerDependencies:
3140 | - supports-color
3141 | - typescript
3142 |
3143 | '@typescript-eslint/visitor-keys@8.9.0':
3144 | dependencies:
3145 | '@typescript-eslint/types': 8.9.0
3146 | eslint-visitor-keys: 3.4.3
3147 |
3148 | '@vitejs/plugin-react@4.3.2(vite@5.4.9(@types/node@22.7.5))':
3149 | dependencies:
3150 | '@babel/core': 7.25.8
3151 | '@babel/plugin-transform-react-jsx-self': 7.25.7(@babel/core@7.25.8)
3152 | '@babel/plugin-transform-react-jsx-source': 7.25.7(@babel/core@7.25.8)
3153 | '@types/babel__core': 7.20.5
3154 | react-refresh: 0.14.2
3155 | vite: 5.4.9(@types/node@22.7.5)
3156 | transitivePeerDependencies:
3157 | - supports-color
3158 |
3159 | '@vitest/eslint-plugin@1.1.7(@typescript-eslint/utils@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)(vitest@2.1.3(@types/node@22.7.5)(jsdom@25.0.1))':
3160 | dependencies:
3161 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3162 | eslint: 9.12.0
3163 | optionalDependencies:
3164 | typescript: 5.6.3
3165 | vitest: 2.1.3(@types/node@22.7.5)(jsdom@25.0.1)
3166 |
3167 | '@vitest/expect@2.1.3':
3168 | dependencies:
3169 | '@vitest/spy': 2.1.3
3170 | '@vitest/utils': 2.1.3
3171 | chai: 5.1.1
3172 | tinyrainbow: 1.2.0
3173 |
3174 | '@vitest/mocker@2.1.3(@vitest/spy@2.1.3)(vite@5.4.9(@types/node@22.7.5))':
3175 | dependencies:
3176 | '@vitest/spy': 2.1.3
3177 | estree-walker: 3.0.3
3178 | magic-string: 0.30.12
3179 | optionalDependencies:
3180 | vite: 5.4.9(@types/node@22.7.5)
3181 |
3182 | '@vitest/pretty-format@2.1.3':
3183 | dependencies:
3184 | tinyrainbow: 1.2.0
3185 |
3186 | '@vitest/runner@2.1.3':
3187 | dependencies:
3188 | '@vitest/utils': 2.1.3
3189 | pathe: 1.1.2
3190 |
3191 | '@vitest/snapshot@2.1.3':
3192 | dependencies:
3193 | '@vitest/pretty-format': 2.1.3
3194 | magic-string: 0.30.12
3195 | pathe: 1.1.2
3196 |
3197 | '@vitest/spy@2.1.3':
3198 | dependencies:
3199 | tinyspy: 3.0.2
3200 |
3201 | '@vitest/utils@2.1.3':
3202 | dependencies:
3203 | '@vitest/pretty-format': 2.1.3
3204 | loupe: 3.1.2
3205 | tinyrainbow: 1.2.0
3206 |
3207 | '@vue/compiler-core@3.5.12':
3208 | dependencies:
3209 | '@babel/parser': 7.25.8
3210 | '@vue/shared': 3.5.12
3211 | entities: 4.5.0
3212 | estree-walker: 2.0.2
3213 | source-map-js: 1.2.1
3214 |
3215 | '@vue/compiler-dom@3.5.12':
3216 | dependencies:
3217 | '@vue/compiler-core': 3.5.12
3218 | '@vue/shared': 3.5.12
3219 |
3220 | '@vue/compiler-sfc@3.5.12':
3221 | dependencies:
3222 | '@babel/parser': 7.25.8
3223 | '@vue/compiler-core': 3.5.12
3224 | '@vue/compiler-dom': 3.5.12
3225 | '@vue/compiler-ssr': 3.5.12
3226 | '@vue/shared': 3.5.12
3227 | estree-walker: 2.0.2
3228 | magic-string: 0.30.12
3229 | postcss: 8.4.47
3230 | source-map-js: 1.2.1
3231 |
3232 | '@vue/compiler-ssr@3.5.12':
3233 | dependencies:
3234 | '@vue/compiler-dom': 3.5.12
3235 | '@vue/shared': 3.5.12
3236 |
3237 | '@vue/shared@3.5.12': {}
3238 |
3239 | acorn-jsx@5.3.2(acorn@8.12.1):
3240 | dependencies:
3241 | acorn: 8.12.1
3242 |
3243 | acorn@8.12.1: {}
3244 |
3245 | agent-base@7.1.1:
3246 | dependencies:
3247 | debug: 4.3.7
3248 | transitivePeerDependencies:
3249 | - supports-color
3250 |
3251 | ajv@6.12.6:
3252 | dependencies:
3253 | fast-deep-equal: 3.1.3
3254 | fast-json-stable-stringify: 2.1.0
3255 | json-schema-traverse: 0.4.1
3256 | uri-js: 4.4.1
3257 |
3258 | ansi-regex@5.0.1: {}
3259 |
3260 | ansi-styles@3.2.1:
3261 | dependencies:
3262 | color-convert: 1.9.3
3263 |
3264 | ansi-styles@4.3.0:
3265 | dependencies:
3266 | color-convert: 2.0.1
3267 |
3268 | ansi-styles@5.2.0: {}
3269 |
3270 | are-docs-informative@0.0.2: {}
3271 |
3272 | argparse@2.0.1: {}
3273 |
3274 | aria-query@5.3.0:
3275 | dependencies:
3276 | dequal: 2.0.3
3277 |
3278 | assertion-error@2.0.1: {}
3279 |
3280 | asynckit@0.4.0: {}
3281 |
3282 | balanced-match@1.0.2: {}
3283 |
3284 | birecord@0.1.1: {}
3285 |
3286 | boolbase@1.0.0: {}
3287 |
3288 | brace-expansion@1.1.11:
3289 | dependencies:
3290 | balanced-match: 1.0.2
3291 | concat-map: 0.0.1
3292 |
3293 | brace-expansion@2.0.1:
3294 | dependencies:
3295 | balanced-match: 1.0.2
3296 |
3297 | braces@3.0.3:
3298 | dependencies:
3299 | fill-range: 7.1.1
3300 |
3301 | browserslist@4.24.0:
3302 | dependencies:
3303 | caniuse-lite: 1.0.30001668
3304 | electron-to-chromium: 1.5.38
3305 | node-releases: 2.0.18
3306 | update-browserslist-db: 1.1.1(browserslist@4.24.0)
3307 |
3308 | builtin-modules@3.3.0: {}
3309 |
3310 | cac@6.7.14: {}
3311 |
3312 | callsites@3.1.0: {}
3313 |
3314 | caniuse-lite@1.0.30001668: {}
3315 |
3316 | ccount@2.0.1: {}
3317 |
3318 | chai@5.1.1:
3319 | dependencies:
3320 | assertion-error: 2.0.1
3321 | check-error: 2.1.1
3322 | deep-eql: 5.0.2
3323 | loupe: 3.1.2
3324 | pathval: 2.0.0
3325 |
3326 | chalk@2.4.2:
3327 | dependencies:
3328 | ansi-styles: 3.2.1
3329 | escape-string-regexp: 1.0.5
3330 | supports-color: 5.5.0
3331 |
3332 | chalk@4.1.2:
3333 | dependencies:
3334 | ansi-styles: 4.3.0
3335 | supports-color: 7.2.0
3336 |
3337 | character-entities@2.0.2: {}
3338 |
3339 | check-error@2.1.1: {}
3340 |
3341 | ci-info@4.0.0: {}
3342 |
3343 | clean-regexp@1.0.0:
3344 | dependencies:
3345 | escape-string-regexp: 1.0.5
3346 |
3347 | cliui@8.0.1:
3348 | dependencies:
3349 | string-width: 4.2.3
3350 | strip-ansi: 6.0.1
3351 | wrap-ansi: 7.0.0
3352 |
3353 | color-convert@1.9.3:
3354 | dependencies:
3355 | color-name: 1.1.3
3356 |
3357 | color-convert@2.0.1:
3358 | dependencies:
3359 | color-name: 1.1.4
3360 |
3361 | color-name@1.1.3: {}
3362 |
3363 | color-name@1.1.4: {}
3364 |
3365 | combined-stream@1.0.8:
3366 | dependencies:
3367 | delayed-stream: 1.0.0
3368 |
3369 | comment-parser@1.4.1: {}
3370 |
3371 | concat-map@0.0.1: {}
3372 |
3373 | confbox@0.1.8: {}
3374 |
3375 | convert-source-map@2.0.0: {}
3376 |
3377 | core-js-compat@3.38.1:
3378 | dependencies:
3379 | browserslist: 4.24.0
3380 |
3381 | cross-spawn@7.0.3:
3382 | dependencies:
3383 | path-key: 3.1.1
3384 | shebang-command: 2.0.0
3385 | which: 2.0.2
3386 |
3387 | cssesc@3.0.0: {}
3388 |
3389 | cssstyle@4.1.0:
3390 | dependencies:
3391 | rrweb-cssom: 0.7.1
3392 |
3393 | csstype@3.1.3: {}
3394 |
3395 | data-urls@5.0.0:
3396 | dependencies:
3397 | whatwg-mimetype: 4.0.0
3398 | whatwg-url: 14.0.0
3399 |
3400 | debug@3.2.7:
3401 | dependencies:
3402 | ms: 2.1.3
3403 |
3404 | debug@4.3.7:
3405 | dependencies:
3406 | ms: 2.1.3
3407 |
3408 | decimal.js@10.4.3: {}
3409 |
3410 | decode-named-character-reference@1.0.2:
3411 | dependencies:
3412 | character-entities: 2.0.2
3413 |
3414 | deep-eql@5.0.2: {}
3415 |
3416 | deep-is@0.1.4: {}
3417 |
3418 | delayed-stream@1.0.0: {}
3419 |
3420 | dequal@2.0.3: {}
3421 |
3422 | devlop@1.1.0:
3423 | dependencies:
3424 | dequal: 2.0.3
3425 |
3426 | doctrine@3.0.0:
3427 | dependencies:
3428 | esutils: 2.0.3
3429 |
3430 | dom-accessibility-api@0.5.16: {}
3431 |
3432 | electron-to-chromium@1.5.38: {}
3433 |
3434 | emoji-regex@8.0.0: {}
3435 |
3436 | enhanced-resolve@5.17.1:
3437 | dependencies:
3438 | graceful-fs: 4.2.11
3439 | tapable: 2.2.1
3440 |
3441 | entities@4.5.0: {}
3442 |
3443 | error-ex@1.3.2:
3444 | dependencies:
3445 | is-arrayish: 0.2.1
3446 |
3447 | es-module-lexer@1.5.4: {}
3448 |
3449 | esbuild@0.21.5:
3450 | optionalDependencies:
3451 | '@esbuild/aix-ppc64': 0.21.5
3452 | '@esbuild/android-arm': 0.21.5
3453 | '@esbuild/android-arm64': 0.21.5
3454 | '@esbuild/android-x64': 0.21.5
3455 | '@esbuild/darwin-arm64': 0.21.5
3456 | '@esbuild/darwin-x64': 0.21.5
3457 | '@esbuild/freebsd-arm64': 0.21.5
3458 | '@esbuild/freebsd-x64': 0.21.5
3459 | '@esbuild/linux-arm': 0.21.5
3460 | '@esbuild/linux-arm64': 0.21.5
3461 | '@esbuild/linux-ia32': 0.21.5
3462 | '@esbuild/linux-loong64': 0.21.5
3463 | '@esbuild/linux-mips64el': 0.21.5
3464 | '@esbuild/linux-ppc64': 0.21.5
3465 | '@esbuild/linux-riscv64': 0.21.5
3466 | '@esbuild/linux-s390x': 0.21.5
3467 | '@esbuild/linux-x64': 0.21.5
3468 | '@esbuild/netbsd-x64': 0.21.5
3469 | '@esbuild/openbsd-x64': 0.21.5
3470 | '@esbuild/sunos-x64': 0.21.5
3471 | '@esbuild/win32-arm64': 0.21.5
3472 | '@esbuild/win32-ia32': 0.21.5
3473 | '@esbuild/win32-x64': 0.21.5
3474 |
3475 | escalade@3.2.0: {}
3476 |
3477 | escape-string-regexp@1.0.5: {}
3478 |
3479 | escape-string-regexp@4.0.0: {}
3480 |
3481 | escape-string-regexp@5.0.0: {}
3482 |
3483 | eslint-compat-utils@0.5.1(eslint@9.12.0):
3484 | dependencies:
3485 | eslint: 9.12.0
3486 | semver: 7.6.3
3487 |
3488 | eslint-config-flat-gitignore@0.3.0(eslint@9.12.0):
3489 | dependencies:
3490 | '@eslint/compat': 1.2.0(eslint@9.12.0)
3491 | eslint: 9.12.0
3492 | find-up-simple: 1.0.0
3493 |
3494 | eslint-flat-config-utils@0.4.0:
3495 | dependencies:
3496 | pathe: 1.1.2
3497 |
3498 | eslint-formatting-reporter@0.0.0(eslint@9.12.0):
3499 | dependencies:
3500 | eslint: 9.12.0
3501 | prettier-linter-helpers: 1.0.0
3502 |
3503 | eslint-import-resolver-node@0.3.9:
3504 | dependencies:
3505 | debug: 3.2.7
3506 | is-core-module: 2.15.1
3507 | resolve: 1.22.8
3508 | transitivePeerDependencies:
3509 | - supports-color
3510 |
3511 | eslint-merge-processors@0.1.0(eslint@9.12.0):
3512 | dependencies:
3513 | eslint: 9.12.0
3514 |
3515 | eslint-parser-plain@0.1.0: {}
3516 |
3517 | eslint-plugin-antfu@2.7.0(eslint@9.12.0):
3518 | dependencies:
3519 | '@antfu/utils': 0.7.10
3520 | eslint: 9.12.0
3521 |
3522 | eslint-plugin-command@0.2.6(eslint@9.12.0):
3523 | dependencies:
3524 | '@es-joy/jsdoccomment': 0.48.0
3525 | eslint: 9.12.0
3526 |
3527 | eslint-plugin-es-x@7.8.0(eslint@9.12.0):
3528 | dependencies:
3529 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
3530 | '@eslint-community/regexpp': 4.11.1
3531 | eslint: 9.12.0
3532 | eslint-compat-utils: 0.5.1(eslint@9.12.0)
3533 |
3534 | eslint-plugin-format@0.1.2(eslint@9.12.0):
3535 | dependencies:
3536 | '@dprint/formatter': 0.3.0
3537 | '@dprint/markdown': 0.17.8
3538 | '@dprint/toml': 0.6.3
3539 | eslint: 9.12.0
3540 | eslint-formatting-reporter: 0.0.0(eslint@9.12.0)
3541 | eslint-parser-plain: 0.1.0
3542 | prettier: 3.3.3
3543 | synckit: 0.9.2
3544 |
3545 | eslint-plugin-import-x@4.3.1(eslint@9.12.0)(typescript@5.6.3):
3546 | dependencies:
3547 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3548 | debug: 4.3.7
3549 | doctrine: 3.0.0
3550 | eslint: 9.12.0
3551 | eslint-import-resolver-node: 0.3.9
3552 | get-tsconfig: 4.8.1
3553 | is-glob: 4.0.3
3554 | minimatch: 9.0.5
3555 | semver: 7.6.3
3556 | stable-hash: 0.0.4
3557 | tslib: 2.8.0
3558 | transitivePeerDependencies:
3559 | - supports-color
3560 | - typescript
3561 |
3562 | eslint-plugin-jsdoc@50.4.1(eslint@9.12.0):
3563 | dependencies:
3564 | '@es-joy/jsdoccomment': 0.49.0
3565 | are-docs-informative: 0.0.2
3566 | comment-parser: 1.4.1
3567 | debug: 4.3.7
3568 | escape-string-regexp: 4.0.0
3569 | eslint: 9.12.0
3570 | espree: 10.2.0
3571 | esquery: 1.6.0
3572 | parse-imports: 2.2.1
3573 | semver: 7.6.3
3574 | spdx-expression-parse: 4.0.0
3575 | synckit: 0.9.2
3576 | transitivePeerDependencies:
3577 | - supports-color
3578 |
3579 | eslint-plugin-jsonc@2.16.0(eslint@9.12.0):
3580 | dependencies:
3581 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
3582 | eslint: 9.12.0
3583 | eslint-compat-utils: 0.5.1(eslint@9.12.0)
3584 | espree: 9.6.1
3585 | graphemer: 1.4.0
3586 | jsonc-eslint-parser: 2.4.0
3587 | natural-compare: 1.4.0
3588 | synckit: 0.6.2
3589 |
3590 | eslint-plugin-n@17.11.1(eslint@9.12.0):
3591 | dependencies:
3592 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
3593 | enhanced-resolve: 5.17.1
3594 | eslint: 9.12.0
3595 | eslint-plugin-es-x: 7.8.0(eslint@9.12.0)
3596 | get-tsconfig: 4.8.1
3597 | globals: 15.11.0
3598 | ignore: 5.3.2
3599 | minimatch: 9.0.5
3600 | semver: 7.6.3
3601 |
3602 | eslint-plugin-no-only-tests@3.3.0: {}
3603 |
3604 | eslint-plugin-perfectionist@3.9.0(eslint@9.12.0)(typescript@5.6.3)(vue-eslint-parser@9.4.3(eslint@9.12.0)):
3605 | dependencies:
3606 | '@typescript-eslint/types': 8.9.0
3607 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3608 | eslint: 9.12.0
3609 | minimatch: 9.0.5
3610 | natural-compare-lite: 1.4.0
3611 | optionalDependencies:
3612 | vue-eslint-parser: 9.4.3(eslint@9.12.0)
3613 | transitivePeerDependencies:
3614 | - supports-color
3615 | - typescript
3616 |
3617 | eslint-plugin-react-debug@1.15.0(eslint@9.12.0)(typescript@5.6.3):
3618 | dependencies:
3619 | '@eslint-react/ast': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3620 | '@eslint-react/core': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3621 | '@eslint-react/jsx': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3622 | '@eslint-react/shared': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3623 | '@eslint-react/tools': 1.15.0
3624 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3625 | '@eslint-react/var': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3626 | '@typescript-eslint/scope-manager': 8.9.0
3627 | '@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3628 | '@typescript-eslint/types': 8.9.0
3629 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3630 | eslint: 9.12.0
3631 | string-ts: 2.2.0
3632 | ts-pattern: 5.5.0
3633 | optionalDependencies:
3634 | typescript: 5.6.3
3635 | transitivePeerDependencies:
3636 | - supports-color
3637 |
3638 | eslint-plugin-react-dom@1.15.0(eslint@9.12.0)(typescript@5.6.3):
3639 | dependencies:
3640 | '@eslint-react/ast': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3641 | '@eslint-react/core': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3642 | '@eslint-react/jsx': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3643 | '@eslint-react/shared': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3644 | '@eslint-react/tools': 1.15.0
3645 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3646 | '@eslint-react/var': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3647 | '@typescript-eslint/scope-manager': 8.9.0
3648 | '@typescript-eslint/types': 8.9.0
3649 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3650 | eslint: 9.12.0
3651 | ts-pattern: 5.5.0
3652 | optionalDependencies:
3653 | typescript: 5.6.3
3654 | transitivePeerDependencies:
3655 | - supports-color
3656 |
3657 | eslint-plugin-react-hooks-extra@1.15.0(eslint@9.12.0)(typescript@5.6.3):
3658 | dependencies:
3659 | '@eslint-react/ast': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3660 | '@eslint-react/core': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3661 | '@eslint-react/jsx': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3662 | '@eslint-react/shared': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3663 | '@eslint-react/tools': 1.15.0
3664 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3665 | '@eslint-react/var': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3666 | '@typescript-eslint/scope-manager': 8.9.0
3667 | '@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3668 | '@typescript-eslint/types': 8.9.0
3669 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3670 | eslint: 9.12.0
3671 | ts-pattern: 5.5.0
3672 | optionalDependencies:
3673 | typescript: 5.6.3
3674 | transitivePeerDependencies:
3675 | - supports-color
3676 |
3677 | eslint-plugin-react-hooks@5.0.0(eslint@9.12.0):
3678 | dependencies:
3679 | eslint: 9.12.0
3680 |
3681 | eslint-plugin-react-naming-convention@1.15.0(eslint@9.12.0)(typescript@5.6.3):
3682 | dependencies:
3683 | '@eslint-react/ast': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3684 | '@eslint-react/core': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3685 | '@eslint-react/jsx': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3686 | '@eslint-react/shared': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3687 | '@eslint-react/tools': 1.15.0
3688 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3689 | '@typescript-eslint/scope-manager': 8.9.0
3690 | '@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3691 | '@typescript-eslint/types': 8.9.0
3692 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3693 | eslint: 9.12.0
3694 | ts-pattern: 5.5.0
3695 | optionalDependencies:
3696 | typescript: 5.6.3
3697 | transitivePeerDependencies:
3698 | - supports-color
3699 |
3700 | eslint-plugin-react-refresh@0.4.12(eslint@9.12.0):
3701 | dependencies:
3702 | eslint: 9.12.0
3703 |
3704 | eslint-plugin-react-web-api@1.15.0(eslint@9.12.0)(typescript@5.6.3):
3705 | dependencies:
3706 | '@eslint-react/ast': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3707 | '@eslint-react/core': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3708 | '@eslint-react/jsx': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3709 | '@eslint-react/shared': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3710 | '@eslint-react/tools': 1.15.0
3711 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3712 | '@eslint-react/var': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3713 | '@typescript-eslint/scope-manager': 8.9.0
3714 | '@typescript-eslint/types': 8.9.0
3715 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3716 | birecord: 0.1.1
3717 | eslint: 9.12.0
3718 | ts-pattern: 5.5.0
3719 | optionalDependencies:
3720 | typescript: 5.6.3
3721 | transitivePeerDependencies:
3722 | - supports-color
3723 |
3724 | eslint-plugin-react-x@1.15.0(eslint@9.12.0)(typescript@5.6.3):
3725 | dependencies:
3726 | '@eslint-react/ast': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3727 | '@eslint-react/core': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3728 | '@eslint-react/jsx': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3729 | '@eslint-react/shared': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3730 | '@eslint-react/tools': 1.15.0
3731 | '@eslint-react/types': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3732 | '@eslint-react/var': 1.15.0(eslint@9.12.0)(typescript@5.6.3)
3733 | '@typescript-eslint/scope-manager': 8.9.0
3734 | '@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3735 | '@typescript-eslint/types': 8.9.0
3736 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
3737 | eslint: 9.12.0
3738 | is-immutable-type: 5.0.0(eslint@9.12.0)(typescript@5.6.3)
3739 | ts-pattern: 5.5.0
3740 | optionalDependencies:
3741 | typescript: 5.6.3
3742 | transitivePeerDependencies:
3743 | - supports-color
3744 |
3745 | eslint-plugin-regexp@2.6.0(eslint@9.12.0):
3746 | dependencies:
3747 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
3748 | '@eslint-community/regexpp': 4.11.1
3749 | comment-parser: 1.4.1
3750 | eslint: 9.12.0
3751 | jsdoc-type-pratt-parser: 4.1.0
3752 | refa: 0.12.1
3753 | regexp-ast-analysis: 0.7.1
3754 | scslre: 0.3.0
3755 |
3756 | eslint-plugin-toml@0.11.1(eslint@9.12.0):
3757 | dependencies:
3758 | debug: 4.3.7
3759 | eslint: 9.12.0
3760 | eslint-compat-utils: 0.5.1(eslint@9.12.0)
3761 | lodash: 4.17.21
3762 | toml-eslint-parser: 0.10.0
3763 | transitivePeerDependencies:
3764 | - supports-color
3765 |
3766 | eslint-plugin-unicorn@55.0.0(eslint@9.12.0):
3767 | dependencies:
3768 | '@babel/helper-validator-identifier': 7.25.7
3769 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
3770 | ci-info: 4.0.0
3771 | clean-regexp: 1.0.0
3772 | core-js-compat: 3.38.1
3773 | eslint: 9.12.0
3774 | esquery: 1.6.0
3775 | globals: 15.11.0
3776 | indent-string: 4.0.0
3777 | is-builtin-module: 3.2.1
3778 | jsesc: 3.0.2
3779 | pluralize: 8.0.0
3780 | read-pkg-up: 7.0.1
3781 | regexp-tree: 0.1.27
3782 | regjsparser: 0.10.0
3783 | semver: 7.6.3
3784 | strip-indent: 3.0.0
3785 |
3786 | eslint-plugin-unused-imports@4.1.4(@typescript-eslint/eslint-plugin@8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0):
3787 | dependencies:
3788 | eslint: 9.12.0
3789 | optionalDependencies:
3790 | '@typescript-eslint/eslint-plugin': 8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)
3791 |
3792 | eslint-plugin-vue@9.29.0(eslint@9.12.0):
3793 | dependencies:
3794 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
3795 | eslint: 9.12.0
3796 | globals: 13.24.0
3797 | natural-compare: 1.4.0
3798 | nth-check: 2.1.1
3799 | postcss-selector-parser: 6.1.2
3800 | semver: 7.6.3
3801 | vue-eslint-parser: 9.4.3(eslint@9.12.0)
3802 | xml-name-validator: 4.0.0
3803 | transitivePeerDependencies:
3804 | - supports-color
3805 |
3806 | eslint-plugin-yml@1.14.0(eslint@9.12.0):
3807 | dependencies:
3808 | debug: 4.3.7
3809 | eslint: 9.12.0
3810 | eslint-compat-utils: 0.5.1(eslint@9.12.0)
3811 | lodash: 4.17.21
3812 | natural-compare: 1.4.0
3813 | yaml-eslint-parser: 1.2.3
3814 | transitivePeerDependencies:
3815 | - supports-color
3816 |
3817 | eslint-processor-vue-blocks@0.1.2(@vue/compiler-sfc@3.5.12)(eslint@9.12.0):
3818 | dependencies:
3819 | '@vue/compiler-sfc': 3.5.12
3820 | eslint: 9.12.0
3821 |
3822 | eslint-scope@7.2.2:
3823 | dependencies:
3824 | esrecurse: 4.3.0
3825 | estraverse: 5.3.0
3826 |
3827 | eslint-scope@8.1.0:
3828 | dependencies:
3829 | esrecurse: 4.3.0
3830 | estraverse: 5.3.0
3831 |
3832 | eslint-visitor-keys@3.4.3: {}
3833 |
3834 | eslint-visitor-keys@4.1.0: {}
3835 |
3836 | eslint@9.12.0:
3837 | dependencies:
3838 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.12.0)
3839 | '@eslint-community/regexpp': 4.11.1
3840 | '@eslint/config-array': 0.18.0
3841 | '@eslint/core': 0.6.0
3842 | '@eslint/eslintrc': 3.1.0
3843 | '@eslint/js': 9.12.0
3844 | '@eslint/plugin-kit': 0.2.0
3845 | '@humanfs/node': 0.16.5
3846 | '@humanwhocodes/module-importer': 1.0.1
3847 | '@humanwhocodes/retry': 0.3.1
3848 | '@types/estree': 1.0.6
3849 | '@types/json-schema': 7.0.15
3850 | ajv: 6.12.6
3851 | chalk: 4.1.2
3852 | cross-spawn: 7.0.3
3853 | debug: 4.3.7
3854 | escape-string-regexp: 4.0.0
3855 | eslint-scope: 8.1.0
3856 | eslint-visitor-keys: 4.1.0
3857 | espree: 10.2.0
3858 | esquery: 1.6.0
3859 | esutils: 2.0.3
3860 | fast-deep-equal: 3.1.3
3861 | file-entry-cache: 8.0.0
3862 | find-up: 5.0.0
3863 | glob-parent: 6.0.2
3864 | ignore: 5.3.2
3865 | imurmurhash: 0.1.4
3866 | is-glob: 4.0.3
3867 | json-stable-stringify-without-jsonify: 1.0.1
3868 | lodash.merge: 4.6.2
3869 | minimatch: 3.1.2
3870 | natural-compare: 1.4.0
3871 | optionator: 0.9.4
3872 | text-table: 0.2.0
3873 | transitivePeerDependencies:
3874 | - supports-color
3875 |
3876 | espree@10.2.0:
3877 | dependencies:
3878 | acorn: 8.12.1
3879 | acorn-jsx: 5.3.2(acorn@8.12.1)
3880 | eslint-visitor-keys: 4.1.0
3881 |
3882 | espree@9.6.1:
3883 | dependencies:
3884 | acorn: 8.12.1
3885 | acorn-jsx: 5.3.2(acorn@8.12.1)
3886 | eslint-visitor-keys: 3.4.3
3887 |
3888 | esquery@1.6.0:
3889 | dependencies:
3890 | estraverse: 5.3.0
3891 |
3892 | esrecurse@4.3.0:
3893 | dependencies:
3894 | estraverse: 5.3.0
3895 |
3896 | estraverse@5.3.0: {}
3897 |
3898 | estree-walker@2.0.2: {}
3899 |
3900 | estree-walker@3.0.3:
3901 | dependencies:
3902 | '@types/estree': 1.0.6
3903 |
3904 | esutils@2.0.3: {}
3905 |
3906 | fast-deep-equal@3.1.3: {}
3907 |
3908 | fast-diff@1.3.0: {}
3909 |
3910 | fast-glob@3.3.2:
3911 | dependencies:
3912 | '@nodelib/fs.stat': 2.0.5
3913 | '@nodelib/fs.walk': 1.2.8
3914 | glob-parent: 5.1.2
3915 | merge2: 1.4.1
3916 | micromatch: 4.0.8
3917 |
3918 | fast-json-stable-stringify@2.1.0: {}
3919 |
3920 | fast-levenshtein@2.0.6: {}
3921 |
3922 | fastq@1.17.1:
3923 | dependencies:
3924 | reusify: 1.0.4
3925 |
3926 | file-entry-cache@8.0.0:
3927 | dependencies:
3928 | flat-cache: 4.0.1
3929 |
3930 | fill-range@7.1.1:
3931 | dependencies:
3932 | to-regex-range: 5.0.1
3933 |
3934 | find-up-simple@1.0.0: {}
3935 |
3936 | find-up@4.1.0:
3937 | dependencies:
3938 | locate-path: 5.0.0
3939 | path-exists: 4.0.0
3940 |
3941 | find-up@5.0.0:
3942 | dependencies:
3943 | locate-path: 6.0.0
3944 | path-exists: 4.0.0
3945 |
3946 | flat-cache@4.0.1:
3947 | dependencies:
3948 | flatted: 3.3.1
3949 | keyv: 4.5.4
3950 |
3951 | flatted@3.3.1: {}
3952 |
3953 | form-data@4.0.1:
3954 | dependencies:
3955 | asynckit: 0.4.0
3956 | combined-stream: 1.0.8
3957 | mime-types: 2.1.35
3958 |
3959 | fsevents@2.3.3:
3960 | optional: true
3961 |
3962 | function-bind@1.1.2: {}
3963 |
3964 | gensync@1.0.0-beta.2: {}
3965 |
3966 | get-caller-file@2.0.5: {}
3967 |
3968 | get-tsconfig@4.8.1:
3969 | dependencies:
3970 | resolve-pkg-maps: 1.0.0
3971 |
3972 | glob-parent@5.1.2:
3973 | dependencies:
3974 | is-glob: 4.0.3
3975 |
3976 | glob-parent@6.0.2:
3977 | dependencies:
3978 | is-glob: 4.0.3
3979 |
3980 | globals@11.12.0: {}
3981 |
3982 | globals@13.24.0:
3983 | dependencies:
3984 | type-fest: 0.20.2
3985 |
3986 | globals@14.0.0: {}
3987 |
3988 | globals@15.11.0: {}
3989 |
3990 | graceful-fs@4.2.11: {}
3991 |
3992 | graphemer@1.4.0: {}
3993 |
3994 | has-flag@3.0.0: {}
3995 |
3996 | has-flag@4.0.0: {}
3997 |
3998 | hasown@2.0.2:
3999 | dependencies:
4000 | function-bind: 1.1.2
4001 |
4002 | hosted-git-info@2.8.9: {}
4003 |
4004 | html-encoding-sniffer@4.0.0:
4005 | dependencies:
4006 | whatwg-encoding: 3.1.1
4007 |
4008 | http-proxy-agent@7.0.2:
4009 | dependencies:
4010 | agent-base: 7.1.1
4011 | debug: 4.3.7
4012 | transitivePeerDependencies:
4013 | - supports-color
4014 |
4015 | https-proxy-agent@7.0.5:
4016 | dependencies:
4017 | agent-base: 7.1.1
4018 | debug: 4.3.7
4019 | transitivePeerDependencies:
4020 | - supports-color
4021 |
4022 | iconv-lite@0.6.3:
4023 | dependencies:
4024 | safer-buffer: 2.1.2
4025 |
4026 | ignore@5.3.2: {}
4027 |
4028 | import-fresh@3.3.0:
4029 | dependencies:
4030 | parent-module: 1.0.1
4031 | resolve-from: 4.0.0
4032 |
4033 | imurmurhash@0.1.4: {}
4034 |
4035 | indent-string@4.0.0: {}
4036 |
4037 | is-arrayish@0.2.1: {}
4038 |
4039 | is-builtin-module@3.2.1:
4040 | dependencies:
4041 | builtin-modules: 3.3.0
4042 |
4043 | is-core-module@2.15.1:
4044 | dependencies:
4045 | hasown: 2.0.2
4046 |
4047 | is-extglob@2.1.1: {}
4048 |
4049 | is-fullwidth-code-point@3.0.0: {}
4050 |
4051 | is-glob@4.0.3:
4052 | dependencies:
4053 | is-extglob: 2.1.1
4054 |
4055 | is-immutable-type@5.0.0(eslint@9.12.0)(typescript@5.6.3):
4056 | dependencies:
4057 | '@typescript-eslint/type-utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
4058 | eslint: 9.12.0
4059 | ts-api-utils: 1.3.0(typescript@5.6.3)
4060 | ts-declaration-location: 1.0.4(typescript@5.6.3)
4061 | typescript: 5.6.3
4062 | transitivePeerDependencies:
4063 | - supports-color
4064 |
4065 | is-number@7.0.0: {}
4066 |
4067 | is-potential-custom-element-name@1.0.1: {}
4068 |
4069 | isexe@2.0.0: {}
4070 |
4071 | js-tokens@4.0.0: {}
4072 |
4073 | js-yaml@4.1.0:
4074 | dependencies:
4075 | argparse: 2.0.1
4076 |
4077 | jsdoc-type-pratt-parser@4.1.0: {}
4078 |
4079 | jsdom@25.0.1:
4080 | dependencies:
4081 | cssstyle: 4.1.0
4082 | data-urls: 5.0.0
4083 | decimal.js: 10.4.3
4084 | form-data: 4.0.1
4085 | html-encoding-sniffer: 4.0.0
4086 | http-proxy-agent: 7.0.2
4087 | https-proxy-agent: 7.0.5
4088 | is-potential-custom-element-name: 1.0.1
4089 | nwsapi: 2.2.13
4090 | parse5: 7.2.0
4091 | rrweb-cssom: 0.7.1
4092 | saxes: 6.0.0
4093 | symbol-tree: 3.2.4
4094 | tough-cookie: 5.0.0
4095 | w3c-xmlserializer: 5.0.0
4096 | webidl-conversions: 7.0.0
4097 | whatwg-encoding: 3.1.1
4098 | whatwg-mimetype: 4.0.0
4099 | whatwg-url: 14.0.0
4100 | ws: 8.18.0
4101 | xml-name-validator: 5.0.0
4102 | transitivePeerDependencies:
4103 | - bufferutil
4104 | - supports-color
4105 | - utf-8-validate
4106 |
4107 | jsesc@0.5.0: {}
4108 |
4109 | jsesc@3.0.2: {}
4110 |
4111 | json-buffer@3.0.1: {}
4112 |
4113 | json-parse-even-better-errors@2.3.1: {}
4114 |
4115 | json-schema-traverse@0.4.1: {}
4116 |
4117 | json-stable-stringify-without-jsonify@1.0.1: {}
4118 |
4119 | json5@2.2.3: {}
4120 |
4121 | jsonc-eslint-parser@2.4.0:
4122 | dependencies:
4123 | acorn: 8.12.1
4124 | eslint-visitor-keys: 3.4.3
4125 | espree: 9.6.1
4126 | semver: 7.6.3
4127 |
4128 | keyv@4.5.4:
4129 | dependencies:
4130 | json-buffer: 3.0.1
4131 |
4132 | levn@0.4.1:
4133 | dependencies:
4134 | prelude-ls: 1.2.1
4135 | type-check: 0.4.0
4136 |
4137 | lines-and-columns@1.2.4: {}
4138 |
4139 | local-pkg@0.5.0:
4140 | dependencies:
4141 | mlly: 1.7.2
4142 | pkg-types: 1.2.1
4143 |
4144 | locate-path@5.0.0:
4145 | dependencies:
4146 | p-locate: 4.1.0
4147 |
4148 | locate-path@6.0.0:
4149 | dependencies:
4150 | p-locate: 5.0.0
4151 |
4152 | lodash.merge@4.6.2: {}
4153 |
4154 | lodash@4.17.21: {}
4155 |
4156 | longest-streak@3.1.0: {}
4157 |
4158 | loose-envify@1.4.0:
4159 | dependencies:
4160 | js-tokens: 4.0.0
4161 |
4162 | loupe@3.1.2: {}
4163 |
4164 | lru-cache@5.1.1:
4165 | dependencies:
4166 | yallist: 3.1.1
4167 |
4168 | lz-string@1.5.0: {}
4169 |
4170 | magic-string@0.30.12:
4171 | dependencies:
4172 | '@jridgewell/sourcemap-codec': 1.5.0
4173 |
4174 | markdown-table@3.0.3: {}
4175 |
4176 | mdast-util-find-and-replace@3.0.1:
4177 | dependencies:
4178 | '@types/mdast': 4.0.4
4179 | escape-string-regexp: 5.0.0
4180 | unist-util-is: 6.0.0
4181 | unist-util-visit-parents: 6.0.1
4182 |
4183 | mdast-util-from-markdown@2.0.1:
4184 | dependencies:
4185 | '@types/mdast': 4.0.4
4186 | '@types/unist': 3.0.3
4187 | decode-named-character-reference: 1.0.2
4188 | devlop: 1.1.0
4189 | mdast-util-to-string: 4.0.0
4190 | micromark: 4.0.0
4191 | micromark-util-decode-numeric-character-reference: 2.0.1
4192 | micromark-util-decode-string: 2.0.0
4193 | micromark-util-normalize-identifier: 2.0.0
4194 | micromark-util-symbol: 2.0.0
4195 | micromark-util-types: 2.0.0
4196 | unist-util-stringify-position: 4.0.0
4197 | transitivePeerDependencies:
4198 | - supports-color
4199 |
4200 | mdast-util-gfm-autolink-literal@2.0.1:
4201 | dependencies:
4202 | '@types/mdast': 4.0.4
4203 | ccount: 2.0.1
4204 | devlop: 1.1.0
4205 | mdast-util-find-and-replace: 3.0.1
4206 | micromark-util-character: 2.1.0
4207 |
4208 | mdast-util-gfm-footnote@2.0.0:
4209 | dependencies:
4210 | '@types/mdast': 4.0.4
4211 | devlop: 1.1.0
4212 | mdast-util-from-markdown: 2.0.1
4213 | mdast-util-to-markdown: 2.1.0
4214 | micromark-util-normalize-identifier: 2.0.0
4215 | transitivePeerDependencies:
4216 | - supports-color
4217 |
4218 | mdast-util-gfm-strikethrough@2.0.0:
4219 | dependencies:
4220 | '@types/mdast': 4.0.4
4221 | mdast-util-from-markdown: 2.0.1
4222 | mdast-util-to-markdown: 2.1.0
4223 | transitivePeerDependencies:
4224 | - supports-color
4225 |
4226 | mdast-util-gfm-table@2.0.0:
4227 | dependencies:
4228 | '@types/mdast': 4.0.4
4229 | devlop: 1.1.0
4230 | markdown-table: 3.0.3
4231 | mdast-util-from-markdown: 2.0.1
4232 | mdast-util-to-markdown: 2.1.0
4233 | transitivePeerDependencies:
4234 | - supports-color
4235 |
4236 | mdast-util-gfm-task-list-item@2.0.0:
4237 | dependencies:
4238 | '@types/mdast': 4.0.4
4239 | devlop: 1.1.0
4240 | mdast-util-from-markdown: 2.0.1
4241 | mdast-util-to-markdown: 2.1.0
4242 | transitivePeerDependencies:
4243 | - supports-color
4244 |
4245 | mdast-util-gfm@3.0.0:
4246 | dependencies:
4247 | mdast-util-from-markdown: 2.0.1
4248 | mdast-util-gfm-autolink-literal: 2.0.1
4249 | mdast-util-gfm-footnote: 2.0.0
4250 | mdast-util-gfm-strikethrough: 2.0.0
4251 | mdast-util-gfm-table: 2.0.0
4252 | mdast-util-gfm-task-list-item: 2.0.0
4253 | mdast-util-to-markdown: 2.1.0
4254 | transitivePeerDependencies:
4255 | - supports-color
4256 |
4257 | mdast-util-phrasing@4.1.0:
4258 | dependencies:
4259 | '@types/mdast': 4.0.4
4260 | unist-util-is: 6.0.0
4261 |
4262 | mdast-util-to-markdown@2.1.0:
4263 | dependencies:
4264 | '@types/mdast': 4.0.4
4265 | '@types/unist': 3.0.3
4266 | longest-streak: 3.1.0
4267 | mdast-util-phrasing: 4.1.0
4268 | mdast-util-to-string: 4.0.0
4269 | micromark-util-decode-string: 2.0.0
4270 | unist-util-visit: 5.0.0
4271 | zwitch: 2.0.4
4272 |
4273 | mdast-util-to-string@4.0.0:
4274 | dependencies:
4275 | '@types/mdast': 4.0.4
4276 |
4277 | merge2@1.4.1: {}
4278 |
4279 | micromark-core-commonmark@2.0.1:
4280 | dependencies:
4281 | decode-named-character-reference: 1.0.2
4282 | devlop: 1.1.0
4283 | micromark-factory-destination: 2.0.0
4284 | micromark-factory-label: 2.0.0
4285 | micromark-factory-space: 2.0.0
4286 | micromark-factory-title: 2.0.0
4287 | micromark-factory-whitespace: 2.0.0
4288 | micromark-util-character: 2.1.0
4289 | micromark-util-chunked: 2.0.0
4290 | micromark-util-classify-character: 2.0.0
4291 | micromark-util-html-tag-name: 2.0.0
4292 | micromark-util-normalize-identifier: 2.0.0
4293 | micromark-util-resolve-all: 2.0.0
4294 | micromark-util-subtokenize: 2.0.1
4295 | micromark-util-symbol: 2.0.0
4296 | micromark-util-types: 2.0.0
4297 |
4298 | micromark-extension-gfm-autolink-literal@2.1.0:
4299 | dependencies:
4300 | micromark-util-character: 2.1.0
4301 | micromark-util-sanitize-uri: 2.0.0
4302 | micromark-util-symbol: 2.0.0
4303 | micromark-util-types: 2.0.0
4304 |
4305 | micromark-extension-gfm-footnote@2.1.0:
4306 | dependencies:
4307 | devlop: 1.1.0
4308 | micromark-core-commonmark: 2.0.1
4309 | micromark-factory-space: 2.0.0
4310 | micromark-util-character: 2.1.0
4311 | micromark-util-normalize-identifier: 2.0.0
4312 | micromark-util-sanitize-uri: 2.0.0
4313 | micromark-util-symbol: 2.0.0
4314 | micromark-util-types: 2.0.0
4315 |
4316 | micromark-extension-gfm-strikethrough@2.1.0:
4317 | dependencies:
4318 | devlop: 1.1.0
4319 | micromark-util-chunked: 2.0.0
4320 | micromark-util-classify-character: 2.0.0
4321 | micromark-util-resolve-all: 2.0.0
4322 | micromark-util-symbol: 2.0.0
4323 | micromark-util-types: 2.0.0
4324 |
4325 | micromark-extension-gfm-table@2.1.0:
4326 | dependencies:
4327 | devlop: 1.1.0
4328 | micromark-factory-space: 2.0.0
4329 | micromark-util-character: 2.1.0
4330 | micromark-util-symbol: 2.0.0
4331 | micromark-util-types: 2.0.0
4332 |
4333 | micromark-extension-gfm-tagfilter@2.0.0:
4334 | dependencies:
4335 | micromark-util-types: 2.0.0
4336 |
4337 | micromark-extension-gfm-task-list-item@2.1.0:
4338 | dependencies:
4339 | devlop: 1.1.0
4340 | micromark-factory-space: 2.0.0
4341 | micromark-util-character: 2.1.0
4342 | micromark-util-symbol: 2.0.0
4343 | micromark-util-types: 2.0.0
4344 |
4345 | micromark-extension-gfm@3.0.0:
4346 | dependencies:
4347 | micromark-extension-gfm-autolink-literal: 2.1.0
4348 | micromark-extension-gfm-footnote: 2.1.0
4349 | micromark-extension-gfm-strikethrough: 2.1.0
4350 | micromark-extension-gfm-table: 2.1.0
4351 | micromark-extension-gfm-tagfilter: 2.0.0
4352 | micromark-extension-gfm-task-list-item: 2.1.0
4353 | micromark-util-combine-extensions: 2.0.0
4354 | micromark-util-types: 2.0.0
4355 |
4356 | micromark-factory-destination@2.0.0:
4357 | dependencies:
4358 | micromark-util-character: 2.1.0
4359 | micromark-util-symbol: 2.0.0
4360 | micromark-util-types: 2.0.0
4361 |
4362 | micromark-factory-label@2.0.0:
4363 | dependencies:
4364 | devlop: 1.1.0
4365 | micromark-util-character: 2.1.0
4366 | micromark-util-symbol: 2.0.0
4367 | micromark-util-types: 2.0.0
4368 |
4369 | micromark-factory-space@2.0.0:
4370 | dependencies:
4371 | micromark-util-character: 2.1.0
4372 | micromark-util-types: 2.0.0
4373 |
4374 | micromark-factory-title@2.0.0:
4375 | dependencies:
4376 | micromark-factory-space: 2.0.0
4377 | micromark-util-character: 2.1.0
4378 | micromark-util-symbol: 2.0.0
4379 | micromark-util-types: 2.0.0
4380 |
4381 | micromark-factory-whitespace@2.0.0:
4382 | dependencies:
4383 | micromark-factory-space: 2.0.0
4384 | micromark-util-character: 2.1.0
4385 | micromark-util-symbol: 2.0.0
4386 | micromark-util-types: 2.0.0
4387 |
4388 | micromark-util-character@2.1.0:
4389 | dependencies:
4390 | micromark-util-symbol: 2.0.0
4391 | micromark-util-types: 2.0.0
4392 |
4393 | micromark-util-chunked@2.0.0:
4394 | dependencies:
4395 | micromark-util-symbol: 2.0.0
4396 |
4397 | micromark-util-classify-character@2.0.0:
4398 | dependencies:
4399 | micromark-util-character: 2.1.0
4400 | micromark-util-symbol: 2.0.0
4401 | micromark-util-types: 2.0.0
4402 |
4403 | micromark-util-combine-extensions@2.0.0:
4404 | dependencies:
4405 | micromark-util-chunked: 2.0.0
4406 | micromark-util-types: 2.0.0
4407 |
4408 | micromark-util-decode-numeric-character-reference@2.0.1:
4409 | dependencies:
4410 | micromark-util-symbol: 2.0.0
4411 |
4412 | micromark-util-decode-string@2.0.0:
4413 | dependencies:
4414 | decode-named-character-reference: 1.0.2
4415 | micromark-util-character: 2.1.0
4416 | micromark-util-decode-numeric-character-reference: 2.0.1
4417 | micromark-util-symbol: 2.0.0
4418 |
4419 | micromark-util-encode@2.0.0: {}
4420 |
4421 | micromark-util-html-tag-name@2.0.0: {}
4422 |
4423 | micromark-util-normalize-identifier@2.0.0:
4424 | dependencies:
4425 | micromark-util-symbol: 2.0.0
4426 |
4427 | micromark-util-resolve-all@2.0.0:
4428 | dependencies:
4429 | micromark-util-types: 2.0.0
4430 |
4431 | micromark-util-sanitize-uri@2.0.0:
4432 | dependencies:
4433 | micromark-util-character: 2.1.0
4434 | micromark-util-encode: 2.0.0
4435 | micromark-util-symbol: 2.0.0
4436 |
4437 | micromark-util-subtokenize@2.0.1:
4438 | dependencies:
4439 | devlop: 1.1.0
4440 | micromark-util-chunked: 2.0.0
4441 | micromark-util-symbol: 2.0.0
4442 | micromark-util-types: 2.0.0
4443 |
4444 | micromark-util-symbol@2.0.0: {}
4445 |
4446 | micromark-util-types@2.0.0: {}
4447 |
4448 | micromark@4.0.0:
4449 | dependencies:
4450 | '@types/debug': 4.1.12
4451 | debug: 4.3.7
4452 | decode-named-character-reference: 1.0.2
4453 | devlop: 1.1.0
4454 | micromark-core-commonmark: 2.0.1
4455 | micromark-factory-space: 2.0.0
4456 | micromark-util-character: 2.1.0
4457 | micromark-util-chunked: 2.0.0
4458 | micromark-util-combine-extensions: 2.0.0
4459 | micromark-util-decode-numeric-character-reference: 2.0.1
4460 | micromark-util-encode: 2.0.0
4461 | micromark-util-normalize-identifier: 2.0.0
4462 | micromark-util-resolve-all: 2.0.0
4463 | micromark-util-sanitize-uri: 2.0.0
4464 | micromark-util-subtokenize: 2.0.1
4465 | micromark-util-symbol: 2.0.0
4466 | micromark-util-types: 2.0.0
4467 | transitivePeerDependencies:
4468 | - supports-color
4469 |
4470 | micromatch@4.0.8:
4471 | dependencies:
4472 | braces: 3.0.3
4473 | picomatch: 2.3.1
4474 |
4475 | mime-db@1.52.0: {}
4476 |
4477 | mime-types@2.1.35:
4478 | dependencies:
4479 | mime-db: 1.52.0
4480 |
4481 | min-indent@1.0.1: {}
4482 |
4483 | minimatch@10.0.1:
4484 | dependencies:
4485 | brace-expansion: 2.0.1
4486 |
4487 | minimatch@3.1.2:
4488 | dependencies:
4489 | brace-expansion: 1.1.11
4490 |
4491 | minimatch@9.0.5:
4492 | dependencies:
4493 | brace-expansion: 2.0.1
4494 |
4495 | mlly@1.7.2:
4496 | dependencies:
4497 | acorn: 8.12.1
4498 | pathe: 1.1.2
4499 | pkg-types: 1.2.1
4500 | ufo: 1.5.4
4501 |
4502 | ms@2.1.3: {}
4503 |
4504 | nanoid@3.3.7: {}
4505 |
4506 | natural-compare-lite@1.4.0: {}
4507 |
4508 | natural-compare@1.4.0: {}
4509 |
4510 | node-releases@2.0.18: {}
4511 |
4512 | normalize-package-data@2.5.0:
4513 | dependencies:
4514 | hosted-git-info: 2.8.9
4515 | resolve: 1.22.8
4516 | semver: 5.7.2
4517 | validate-npm-package-license: 3.0.4
4518 |
4519 | nth-check@2.1.1:
4520 | dependencies:
4521 | boolbase: 1.0.0
4522 |
4523 | nwsapi@2.2.13: {}
4524 |
4525 | optionator@0.9.4:
4526 | dependencies:
4527 | deep-is: 0.1.4
4528 | fast-levenshtein: 2.0.6
4529 | levn: 0.4.1
4530 | prelude-ls: 1.2.1
4531 | type-check: 0.4.0
4532 | word-wrap: 1.2.5
4533 |
4534 | p-limit@2.3.0:
4535 | dependencies:
4536 | p-try: 2.2.0
4537 |
4538 | p-limit@3.1.0:
4539 | dependencies:
4540 | yocto-queue: 0.1.0
4541 |
4542 | p-locate@4.1.0:
4543 | dependencies:
4544 | p-limit: 2.3.0
4545 |
4546 | p-locate@5.0.0:
4547 | dependencies:
4548 | p-limit: 3.1.0
4549 |
4550 | p-try@2.2.0: {}
4551 |
4552 | package-manager-detector@0.2.2: {}
4553 |
4554 | parent-module@1.0.1:
4555 | dependencies:
4556 | callsites: 3.1.0
4557 |
4558 | parse-gitignore@2.0.0: {}
4559 |
4560 | parse-imports@2.2.1:
4561 | dependencies:
4562 | es-module-lexer: 1.5.4
4563 | slashes: 3.0.12
4564 |
4565 | parse-json@5.2.0:
4566 | dependencies:
4567 | '@babel/code-frame': 7.25.7
4568 | error-ex: 1.3.2
4569 | json-parse-even-better-errors: 2.3.1
4570 | lines-and-columns: 1.2.4
4571 |
4572 | parse5@7.2.0:
4573 | dependencies:
4574 | entities: 4.5.0
4575 |
4576 | path-exists@4.0.0: {}
4577 |
4578 | path-key@3.1.1: {}
4579 |
4580 | path-parse@1.0.7: {}
4581 |
4582 | pathe@1.1.2: {}
4583 |
4584 | pathval@2.0.0: {}
4585 |
4586 | picocolors@1.1.0: {}
4587 |
4588 | picomatch@2.3.1: {}
4589 |
4590 | picomatch@4.0.2: {}
4591 |
4592 | pkg-types@1.2.1:
4593 | dependencies:
4594 | confbox: 0.1.8
4595 | mlly: 1.7.2
4596 | pathe: 1.1.2
4597 |
4598 | pluralize@8.0.0: {}
4599 |
4600 | postcss-selector-parser@6.1.2:
4601 | dependencies:
4602 | cssesc: 3.0.0
4603 | util-deprecate: 1.0.2
4604 |
4605 | postcss@8.4.47:
4606 | dependencies:
4607 | nanoid: 3.3.7
4608 | picocolors: 1.1.0
4609 | source-map-js: 1.2.1
4610 |
4611 | prelude-ls@1.2.1: {}
4612 |
4613 | prettier-linter-helpers@1.0.0:
4614 | dependencies:
4615 | fast-diff: 1.3.0
4616 |
4617 | prettier@3.3.3: {}
4618 |
4619 | pretty-format@27.5.1:
4620 | dependencies:
4621 | ansi-regex: 5.0.1
4622 | ansi-styles: 5.2.0
4623 | react-is: 17.0.2
4624 |
4625 | punycode@2.3.1: {}
4626 |
4627 | queue-microtask@1.2.3: {}
4628 |
4629 | react-dom@18.3.1(react@18.3.1):
4630 | dependencies:
4631 | loose-envify: 1.4.0
4632 | react: 18.3.1
4633 | scheduler: 0.23.2
4634 |
4635 | react-is@17.0.2: {}
4636 |
4637 | react-refresh@0.14.2: {}
4638 |
4639 | react-router-dom@6.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1):
4640 | dependencies:
4641 | '@remix-run/router': 1.20.0
4642 | react: 18.3.1
4643 | react-dom: 18.3.1(react@18.3.1)
4644 | react-router: 6.27.0(react@18.3.1)
4645 |
4646 | react-router@6.27.0(react@18.3.1):
4647 | dependencies:
4648 | '@remix-run/router': 1.20.0
4649 | react: 18.3.1
4650 |
4651 | react@18.3.1:
4652 | dependencies:
4653 | loose-envify: 1.4.0
4654 |
4655 | read-pkg-up@7.0.1:
4656 | dependencies:
4657 | find-up: 4.1.0
4658 | read-pkg: 5.2.0
4659 | type-fest: 0.8.1
4660 |
4661 | read-pkg@5.2.0:
4662 | dependencies:
4663 | '@types/normalize-package-data': 2.4.4
4664 | normalize-package-data: 2.5.0
4665 | parse-json: 5.2.0
4666 | type-fest: 0.6.0
4667 |
4668 | refa@0.12.1:
4669 | dependencies:
4670 | '@eslint-community/regexpp': 4.11.1
4671 |
4672 | regenerator-runtime@0.14.1: {}
4673 |
4674 | regexp-ast-analysis@0.7.1:
4675 | dependencies:
4676 | '@eslint-community/regexpp': 4.11.1
4677 | refa: 0.12.1
4678 |
4679 | regexp-tree@0.1.27: {}
4680 |
4681 | regjsparser@0.10.0:
4682 | dependencies:
4683 | jsesc: 0.5.0
4684 |
4685 | require-directory@2.1.1: {}
4686 |
4687 | resolve-from@4.0.0: {}
4688 |
4689 | resolve-pkg-maps@1.0.0: {}
4690 |
4691 | resolve@1.22.8:
4692 | dependencies:
4693 | is-core-module: 2.15.1
4694 | path-parse: 1.0.7
4695 | supports-preserve-symlinks-flag: 1.0.0
4696 |
4697 | reusify@1.0.4: {}
4698 |
4699 | rollup@4.24.0:
4700 | dependencies:
4701 | '@types/estree': 1.0.6
4702 | optionalDependencies:
4703 | '@rollup/rollup-android-arm-eabi': 4.24.0
4704 | '@rollup/rollup-android-arm64': 4.24.0
4705 | '@rollup/rollup-darwin-arm64': 4.24.0
4706 | '@rollup/rollup-darwin-x64': 4.24.0
4707 | '@rollup/rollup-linux-arm-gnueabihf': 4.24.0
4708 | '@rollup/rollup-linux-arm-musleabihf': 4.24.0
4709 | '@rollup/rollup-linux-arm64-gnu': 4.24.0
4710 | '@rollup/rollup-linux-arm64-musl': 4.24.0
4711 | '@rollup/rollup-linux-powerpc64le-gnu': 4.24.0
4712 | '@rollup/rollup-linux-riscv64-gnu': 4.24.0
4713 | '@rollup/rollup-linux-s390x-gnu': 4.24.0
4714 | '@rollup/rollup-linux-x64-gnu': 4.24.0
4715 | '@rollup/rollup-linux-x64-musl': 4.24.0
4716 | '@rollup/rollup-win32-arm64-msvc': 4.24.0
4717 | '@rollup/rollup-win32-ia32-msvc': 4.24.0
4718 | '@rollup/rollup-win32-x64-msvc': 4.24.0
4719 | fsevents: 2.3.3
4720 |
4721 | rrweb-cssom@0.7.1: {}
4722 |
4723 | run-parallel@1.2.0:
4724 | dependencies:
4725 | queue-microtask: 1.2.3
4726 |
4727 | safer-buffer@2.1.2: {}
4728 |
4729 | saxes@6.0.0:
4730 | dependencies:
4731 | xmlchars: 2.2.0
4732 |
4733 | scheduler@0.23.2:
4734 | dependencies:
4735 | loose-envify: 1.4.0
4736 |
4737 | scslre@0.3.0:
4738 | dependencies:
4739 | '@eslint-community/regexpp': 4.11.1
4740 | refa: 0.12.1
4741 | regexp-ast-analysis: 0.7.1
4742 |
4743 | semver@5.7.2: {}
4744 |
4745 | semver@6.3.1: {}
4746 |
4747 | semver@7.6.3: {}
4748 |
4749 | shebang-command@2.0.0:
4750 | dependencies:
4751 | shebang-regex: 3.0.0
4752 |
4753 | shebang-regex@3.0.0: {}
4754 |
4755 | short-unique-id@5.2.0: {}
4756 |
4757 | siginfo@2.0.0: {}
4758 |
4759 | sisteransi@1.0.5: {}
4760 |
4761 | slashes@3.0.12: {}
4762 |
4763 | source-map-js@1.2.1: {}
4764 |
4765 | spdx-correct@3.2.0:
4766 | dependencies:
4767 | spdx-expression-parse: 3.0.1
4768 | spdx-license-ids: 3.0.20
4769 |
4770 | spdx-exceptions@2.5.0: {}
4771 |
4772 | spdx-expression-parse@3.0.1:
4773 | dependencies:
4774 | spdx-exceptions: 2.5.0
4775 | spdx-license-ids: 3.0.20
4776 |
4777 | spdx-expression-parse@4.0.0:
4778 | dependencies:
4779 | spdx-exceptions: 2.5.0
4780 | spdx-license-ids: 3.0.20
4781 |
4782 | spdx-license-ids@3.0.20: {}
4783 |
4784 | stable-hash@0.0.4: {}
4785 |
4786 | stackback@0.0.2: {}
4787 |
4788 | std-env@3.7.0: {}
4789 |
4790 | string-ts@2.2.0: {}
4791 |
4792 | string-width@4.2.3:
4793 | dependencies:
4794 | emoji-regex: 8.0.0
4795 | is-fullwidth-code-point: 3.0.0
4796 | strip-ansi: 6.0.1
4797 |
4798 | strip-ansi@6.0.1:
4799 | dependencies:
4800 | ansi-regex: 5.0.1
4801 |
4802 | strip-indent@3.0.0:
4803 | dependencies:
4804 | min-indent: 1.0.1
4805 |
4806 | strip-json-comments@3.1.1: {}
4807 |
4808 | supports-color@5.5.0:
4809 | dependencies:
4810 | has-flag: 3.0.0
4811 |
4812 | supports-color@7.2.0:
4813 | dependencies:
4814 | has-flag: 4.0.0
4815 |
4816 | supports-preserve-symlinks-flag@1.0.0: {}
4817 |
4818 | symbol-tree@3.2.4: {}
4819 |
4820 | synckit@0.6.2:
4821 | dependencies:
4822 | tslib: 2.8.0
4823 |
4824 | synckit@0.9.2:
4825 | dependencies:
4826 | '@pkgr/core': 0.1.1
4827 | tslib: 2.8.0
4828 |
4829 | tapable@2.2.1: {}
4830 |
4831 | text-table@0.2.0: {}
4832 |
4833 | tinybench@2.9.0: {}
4834 |
4835 | tinyexec@0.3.0: {}
4836 |
4837 | tinypool@1.0.1: {}
4838 |
4839 | tinyrainbow@1.2.0: {}
4840 |
4841 | tinyspy@3.0.2: {}
4842 |
4843 | tldts-core@6.1.51: {}
4844 |
4845 | tldts@6.1.51:
4846 | dependencies:
4847 | tldts-core: 6.1.51
4848 |
4849 | to-fast-properties@2.0.0: {}
4850 |
4851 | to-regex-range@5.0.1:
4852 | dependencies:
4853 | is-number: 7.0.0
4854 |
4855 | toml-eslint-parser@0.10.0:
4856 | dependencies:
4857 | eslint-visitor-keys: 3.4.3
4858 |
4859 | tough-cookie@5.0.0:
4860 | dependencies:
4861 | tldts: 6.1.51
4862 |
4863 | tr46@5.0.0:
4864 | dependencies:
4865 | punycode: 2.3.1
4866 |
4867 | ts-api-utils@1.3.0(typescript@5.6.3):
4868 | dependencies:
4869 | typescript: 5.6.3
4870 |
4871 | ts-declaration-location@1.0.4(typescript@5.6.3):
4872 | dependencies:
4873 | minimatch: 10.0.1
4874 | typescript: 5.6.3
4875 |
4876 | ts-pattern@5.5.0: {}
4877 |
4878 | tslib@2.8.0: {}
4879 |
4880 | type-check@0.4.0:
4881 | dependencies:
4882 | prelude-ls: 1.2.1
4883 |
4884 | type-fest@0.20.2: {}
4885 |
4886 | type-fest@0.6.0: {}
4887 |
4888 | type-fest@0.8.1: {}
4889 |
4890 | typescript-eslint@8.9.0(eslint@9.12.0)(typescript@5.6.3):
4891 | dependencies:
4892 | '@typescript-eslint/eslint-plugin': 8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)
4893 | '@typescript-eslint/parser': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
4894 | '@typescript-eslint/utils': 8.9.0(eslint@9.12.0)(typescript@5.6.3)
4895 | optionalDependencies:
4896 | typescript: 5.6.3
4897 | transitivePeerDependencies:
4898 | - eslint
4899 | - supports-color
4900 |
4901 | typescript@5.6.3: {}
4902 |
4903 | ufo@1.5.4: {}
4904 |
4905 | undici-types@6.19.8: {}
4906 |
4907 | unist-util-is@6.0.0:
4908 | dependencies:
4909 | '@types/unist': 3.0.3
4910 |
4911 | unist-util-stringify-position@4.0.0:
4912 | dependencies:
4913 | '@types/unist': 3.0.3
4914 |
4915 | unist-util-visit-parents@6.0.1:
4916 | dependencies:
4917 | '@types/unist': 3.0.3
4918 | unist-util-is: 6.0.0
4919 |
4920 | unist-util-visit@5.0.0:
4921 | dependencies:
4922 | '@types/unist': 3.0.3
4923 | unist-util-is: 6.0.0
4924 | unist-util-visit-parents: 6.0.1
4925 |
4926 | update-browserslist-db@1.1.1(browserslist@4.24.0):
4927 | dependencies:
4928 | browserslist: 4.24.0
4929 | escalade: 3.2.0
4930 | picocolors: 1.1.0
4931 |
4932 | uri-js@4.4.1:
4933 | dependencies:
4934 | punycode: 2.3.1
4935 |
4936 | util-deprecate@1.0.2: {}
4937 |
4938 | validate-npm-package-license@3.0.4:
4939 | dependencies:
4940 | spdx-correct: 3.2.0
4941 | spdx-expression-parse: 3.0.1
4942 |
4943 | vite-node@2.1.3(@types/node@22.7.5):
4944 | dependencies:
4945 | cac: 6.7.14
4946 | debug: 4.3.7
4947 | pathe: 1.1.2
4948 | vite: 5.4.9(@types/node@22.7.5)
4949 | transitivePeerDependencies:
4950 | - '@types/node'
4951 | - less
4952 | - lightningcss
4953 | - sass
4954 | - sass-embedded
4955 | - stylus
4956 | - sugarss
4957 | - supports-color
4958 | - terser
4959 |
4960 | vite@5.4.9(@types/node@22.7.5):
4961 | dependencies:
4962 | esbuild: 0.21.5
4963 | postcss: 8.4.47
4964 | rollup: 4.24.0
4965 | optionalDependencies:
4966 | '@types/node': 22.7.5
4967 | fsevents: 2.3.3
4968 |
4969 | vitest@2.1.3(@types/node@22.7.5)(jsdom@25.0.1):
4970 | dependencies:
4971 | '@vitest/expect': 2.1.3
4972 | '@vitest/mocker': 2.1.3(@vitest/spy@2.1.3)(vite@5.4.9(@types/node@22.7.5))
4973 | '@vitest/pretty-format': 2.1.3
4974 | '@vitest/runner': 2.1.3
4975 | '@vitest/snapshot': 2.1.3
4976 | '@vitest/spy': 2.1.3
4977 | '@vitest/utils': 2.1.3
4978 | chai: 5.1.1
4979 | debug: 4.3.7
4980 | magic-string: 0.30.12
4981 | pathe: 1.1.2
4982 | std-env: 3.7.0
4983 | tinybench: 2.9.0
4984 | tinyexec: 0.3.0
4985 | tinypool: 1.0.1
4986 | tinyrainbow: 1.2.0
4987 | vite: 5.4.9(@types/node@22.7.5)
4988 | vite-node: 2.1.3(@types/node@22.7.5)
4989 | why-is-node-running: 2.3.0
4990 | optionalDependencies:
4991 | '@types/node': 22.7.5
4992 | jsdom: 25.0.1
4993 | transitivePeerDependencies:
4994 | - less
4995 | - lightningcss
4996 | - msw
4997 | - sass
4998 | - sass-embedded
4999 | - stylus
5000 | - sugarss
5001 | - supports-color
5002 | - terser
5003 |
5004 | vue-eslint-parser@9.4.3(eslint@9.12.0):
5005 | dependencies:
5006 | debug: 4.3.7
5007 | eslint: 9.12.0
5008 | eslint-scope: 7.2.2
5009 | eslint-visitor-keys: 3.4.3
5010 | espree: 9.6.1
5011 | esquery: 1.6.0
5012 | lodash: 4.17.21
5013 | semver: 7.6.3
5014 | transitivePeerDependencies:
5015 | - supports-color
5016 |
5017 | w3c-xmlserializer@5.0.0:
5018 | dependencies:
5019 | xml-name-validator: 5.0.0
5020 |
5021 | webidl-conversions@7.0.0: {}
5022 |
5023 | whatwg-encoding@3.1.1:
5024 | dependencies:
5025 | iconv-lite: 0.6.3
5026 |
5027 | whatwg-mimetype@4.0.0: {}
5028 |
5029 | whatwg-url@14.0.0:
5030 | dependencies:
5031 | tr46: 5.0.0
5032 | webidl-conversions: 7.0.0
5033 |
5034 | which@2.0.2:
5035 | dependencies:
5036 | isexe: 2.0.0
5037 |
5038 | why-is-node-running@2.3.0:
5039 | dependencies:
5040 | siginfo: 2.0.0
5041 | stackback: 0.0.2
5042 |
5043 | word-wrap@1.2.5: {}
5044 |
5045 | wrap-ansi@7.0.0:
5046 | dependencies:
5047 | ansi-styles: 4.3.0
5048 | string-width: 4.2.3
5049 | strip-ansi: 6.0.1
5050 |
5051 | ws@8.18.0: {}
5052 |
5053 | xml-name-validator@4.0.0: {}
5054 |
5055 | xml-name-validator@5.0.0: {}
5056 |
5057 | xmlchars@2.2.0: {}
5058 |
5059 | y18n@5.0.8: {}
5060 |
5061 | yallist@3.1.1: {}
5062 |
5063 | yaml-eslint-parser@1.2.3:
5064 | dependencies:
5065 | eslint-visitor-keys: 3.4.3
5066 | lodash: 4.17.21
5067 | yaml: 2.6.0
5068 |
5069 | yaml@2.6.0: {}
5070 |
5071 | yargs-parser@21.1.1: {}
5072 |
5073 | yargs@17.7.2:
5074 | dependencies:
5075 | cliui: 8.0.1
5076 | escalade: 3.2.0
5077 | get-caller-file: 2.0.5
5078 | require-directory: 2.1.1
5079 | string-width: 4.2.3
5080 | y18n: 5.0.8
5081 | yargs-parser: 21.1.1
5082 |
5083 | yocto-queue@0.1.0: {}
5084 |
5085 | zwitch@2.0.4: {}
5086 |
--------------------------------------------------------------------------------
/src/app.tsx:
--------------------------------------------------------------------------------
1 | import { Link, Route, Routes, useLocation } from "react-router-dom";
2 | import UseFetchExample from "./use-fetch/use-fetch.example";
3 |
4 | const examples = [{
5 | name: "use-fetch",
6 | path: "/use-fetch-example",
7 | component: UseFetchExample,
8 | }];
9 |
10 | function ExampleLinks() {
11 | return (
12 | <>
13 | Examples:
14 |
15 | {examples.map(item => (
16 | -
17 | {item.name}
18 |
19 | ))}
20 |
21 | >
22 | );
23 | }
24 |
25 | export default function App() {
26 | const location = useLocation();
27 | return (
28 |
29 |
30 | {location.pathname !== "/"
31 | ? (
32 | ⬅️ Back to Examples
33 | )
34 | : null}
35 |
36 |
37 | } />
38 | {examples.map(item => (
39 |
40 | ))}
41 | Not Found}
44 | />
45 |
46 |
47 | );
48 | }
49 |
--------------------------------------------------------------------------------
/src/main.css:
--------------------------------------------------------------------------------
1 | .navigation {
2 | margin: 1rem 0;
3 | }
4 |
5 | dt {
6 | font-weight: bold;
7 | }
8 |
--------------------------------------------------------------------------------
/src/main.tsx:
--------------------------------------------------------------------------------
1 | import { createRoot } from "react-dom/client";
2 | import { HashRouter } from "react-router-dom";
3 | import App from "./app.tsx";
4 | import "./main.css";
5 | import "@picocss/pico/css/pico.css";
6 |
7 | createRoot(document.getElementById("root")!).render(
8 |
9 |
10 | ,
11 | );
12 |
--------------------------------------------------------------------------------
/src/use-fetch/README.md:
--------------------------------------------------------------------------------
1 | # useFetch
2 |
3 | Manage the error, loading and data state of `fetch`
4 |
5 | See example use [here](./use-fetch.example.tsx)
6 |
7 | ## Updates Since Video Release
8 |
9 | - New requirement
10 | - Error handling
11 | - If the request fails due to http status (response.ok)
12 | - New test
13 | - "should handle http errors correctly"
14 |
15 |
16 | New code in solution
17 |
18 | ```ts
19 | if (!response.ok) {
20 | throw new Error(response.statusText);
21 | }
22 | ```
23 |
24 |
25 |
26 | ## Requirements
27 |
28 | - [ ] Accepts:
29 | - [ ] a generic type argument
30 | - [ ] returned data is typed as T
31 | - [ ] a url string
32 | - [ ] request options (optional)
33 | - [ ] options to pass to fetch
34 | - [ ] options (optional)
35 | - [ ] immediate - defaults to true
36 | - [ ] Returns:
37 | - [ ] a loading boolean
38 | - [ ] an error that can be a string or null
39 | - [ ] a data property that can be type T or null
40 | - [ ] a load function
41 | - [ ] can be called to fetch or re-fetch the data
42 | - [ ] updateUrl
43 | - [ ] can be called to update the url and re-fetch
44 | - [ ] updateRequestOptions
45 | - [ ] can be called to update the request options and re-fetch
46 | - [ ] updateOptions
47 | - [ ] can be called to update options
48 | - [ ] Behavior:
49 | - [ ] Should fetch on mount if `options.immediate` is true
50 | - [ ] Should set loading when fetching data
51 | - [ ] Error handling
52 | - [ ] If the request fails due to fetch error (e.g. Network Error)
53 | - [ ] If the request fails due to http status (response.ok)
54 | - [ ] If the json parse fails
55 | - [ ] If any error occurs:
56 | - [ ] Set the error message
57 | - [ ] Set data to null
58 | - [ ] Set loading to false
59 | - [ ] Should re-fetch if the url changes
60 | - [ ] Should re-fetch if the request options change
61 | - [ ] Should re-fetch if the options change and immediate is true
62 | - [ ] Should re-fetch if load function is called
63 | - [ ] Should cancel any in progress requests if a new request is made
64 | - [ ] Should only set the data to be the latest request that was made
65 | - [ ] Should cancel any in progress requests if unmounted
66 |
--------------------------------------------------------------------------------
/src/use-fetch/use-fetch.example.tsx:
--------------------------------------------------------------------------------
1 | // Update this import to test your implementation
2 | import useFetch from "./use-fetch.solution";
3 |
4 | export type Pokemon = {
5 | abilities: Ability[];
6 | cries: Cries;
7 | id: number;
8 | name: string;
9 | sprites: Sprites;
10 | stats: Stat[];
11 | weight: number;
12 | height: number;
13 | };
14 |
15 | export type Ability = {
16 | ability: Species;
17 | is_hidden: boolean;
18 | slot: number;
19 | };
20 |
21 | export type Species = {
22 | name: string;
23 | url: string;
24 | };
25 |
26 | export type Cries = {
27 | latest: string;
28 | legacy: string;
29 | };
30 |
31 | export type Sprites = {
32 | back_default: string;
33 | back_female: string;
34 | back_shiny: string;
35 | back_shiny_female: null | string;
36 | front_default: string;
37 | front_female: string;
38 | front_shiny: string;
39 | front_shiny_female: string;
40 | };
41 |
42 | export type Stat = {
43 | base_stat: number;
44 | effort: number;
45 | stat: Species;
46 | };
47 |
48 | const pikachuURL = "https://pokeapi.co/api/v2/pokemon/pikachu";
49 | const charizardURL = "https://pokeapi.co/api/v2/pokemon/charizard";
50 |
51 | export default function UseFetchExample() {
52 | const {
53 | loading,
54 | data,
55 | error,
56 | url,
57 | updateUrl,
58 | } = useFetch(pikachuURL, {
59 | headers: {
60 | accept: "application/json",
61 | },
62 | }, {
63 | immediate: true,
64 | });
65 |
66 | return (
67 | <>
68 |
81 | {loading && }
82 | {error && {error}
}
83 | {data && (
84 |
85 |
86 | #
87 | {data.id}
88 | {" "}
89 | -
90 | {" "}
91 | {data.name}
92 |
93 |
94 |

95 |

96 |
97 |
98 |
99 | - Height
100 | -
101 | {data.height / 10}
102 | {" "}
103 | m
104 |
105 |
106 |
107 | - Weight
108 | -
109 | {data.weight / 10}
110 | {" "}
111 | kg
112 |
113 |
114 |
115 | - Abilities
116 | - {data.abilities.map(ability => ability.ability.name).join(", ")}
117 |
118 |
119 | - Cry
120 |
121 |
122 |
123 |
124 |
125 |
126 | Stat |
127 | Value |
128 |
129 |
130 |
131 | {data.stats.map(stat => (
132 |
133 | {stat.stat.name} |
134 | {stat.base_stat} |
135 |
136 | ))}
137 |
138 |
139 |
140 | )}
141 | >
142 | );
143 | }
144 |
--------------------------------------------------------------------------------
/src/use-fetch/use-fetch.solution.ts:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | ▗▄▄▖ ▗▄▄▄▖▗▖ ▗▖ ▗▄▖ ▗▄▄▖ ▗▄▄▄▖
4 | ▐▌ ▐▌▐▌ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌▐▌
5 | ▐▛▀▚▖▐▛▀▀▘▐▌ ▐▌▐▛▀▜▌▐▛▀▚▖▐▛▀▀▘
6 | ▐▙▄▞▘▐▙▄▄▖▐▙█▟▌▐▌ ▐▌▐▌ ▐▌▐▙▄▄▖
7 |
8 | ▗▄▄▖ ▗▄▖ ▗▖ ▗▖ ▗▖▗▄▄▄▖▗▄▄▄▖ ▗▄▖ ▗▖ ▗▖
9 | ▐▌ ▐▌ ▐▌▐▌ ▐▌ ▐▌ █ █ ▐▌ ▐▌▐▛▚▖▐▌
10 | ▝▀▚▖▐▌ ▐▌▐▌ ▐▌ ▐▌ █ █ ▐▌ ▐▌▐▌ ▝▜▌
11 | ▗▄▄▞▘▝▚▄▞▘▐▙▄▄▖▝▚▄▞▘ █ ▗▄█▄▖▝▚▄▞▘▐▌ ▐▌
12 |
13 | ▗▄▄▖ ▗▄▄▄▖▗▖ ▗▄▖ ▗▖ ▗▖
14 | ▐▌ ▐▌▐▌ ▐▌ ▐▌ ▐▌▐▌ ▐▌
15 | ▐▛▀▚▖▐▛▀▀▘▐▌ ▐▌ ▐▌▐▌ ▐▌
16 | ▐▙▄▞▘▐▙▄▄▖▐▙▄▄▖▝▚▄▞▘▐▙█▟▌
17 |
18 | ▗▄▖ ▗▖ ▗▖▗▖ ▗▖ ▗▖
19 | ▐▌ ▐▌▐▛▚▖▐▌▐▌ ▝▚▞▘
20 | ▐▌ ▐▌▐▌ ▝▜▌▐▌ ▐▌
21 | ▝▚▄▞▘▐▌ ▐▌▐▙▄▄▖▐▌
22 |
23 | ▗▄▄▖ ▗▄▄▖▗▄▄▖ ▗▄▖ ▗▖ ▗▖
24 | ▐▌ ▐▌ ▐▌ ▐▌▐▌ ▐▌▐▌ ▐▌
25 | ▝▀▚▖▐▌ ▐▛▀▚▖▐▌ ▐▌▐▌ ▐▌
26 | ▗▄▄▞▘▝▚▄▄▖▐▌ ▐▌▝▚▄▞▘▐▙▄▄▖▐▙▄▄▖
27 |
28 | ▗▄▄▄▖▗▄▄▄▖ ▗▖ ▗▖▗▄▖ ▗▖ ▗▖
29 | █ ▐▌ ▝▚▞▘▐▌ ▐▌▐▌ ▐▌
30 | █ ▐▛▀▀▘ ▐▌ ▐▌ ▐▌▐▌ ▐▌
31 | ▗▄█▄▖▐▌ ▐▌ ▝▚▄▞▘▝▚▄▞▘
32 |
33 | ▗▖ ▗▖ ▗▄▖ ▗▖ ▗▖▗▄▄▄▖ ▗▄▄▄▖▗▄▖
34 | ▐▌ ▐▌▐▌ ▐▌▐▛▚▖▐▌ █ █ ▐▌ ▐▌
35 | ▐▌ ▐▌▐▛▀▜▌▐▌ ▝▜▌ █ █ ▐▌ ▐▌
36 | ▐▙█▟▌▐▌ ▐▌▐▌ ▐▌ █ █ ▝▚▄▞▘
37 |
38 | ▗▄▄▖ ▗▄▄▄▖▗▖ ▗▖▗▄▄▄▖ ▗▄▖ ▗▖ ▗▄▄▄▖▗▄▄▄▖
39 | ▐▌ ▐▌▐▌ ▐▌ ▐▌▐▌ ▐▌ ▐▌▐▌ █ █
40 | ▐▛▀▚▖▐▛▀▀▘▐▌ ▐▌▐▛▀▀▘▐▛▀▜▌▐▌ █ █
41 | ▐▌ ▐▌▐▙▄▄▖ ▝▚▞▘ ▐▙▄▄▖▐▌ ▐▌▐▙▄▄▖ ▗▄█▄▖ █
42 |
43 | */
44 |
45 | import {
46 | type Dispatch,
47 | type SetStateAction,
48 | useCallback,
49 | useEffect,
50 | useRef,
51 | useState,
52 | } from "react";
53 |
54 | export type UseFetchOptions = {
55 | immediate: boolean;
56 | };
57 |
58 | export type UseFetchReturn = {
59 | loading: boolean;
60 | error: string | null;
61 | data: T | null;
62 | url: string;
63 | load: () => Promise;
64 | updateUrl: Dispatch>;
65 | updateOptions: Dispatch>;
66 | updateRequestOptions: Dispatch>;
67 | };
68 |
69 | export default function useFetchSolution(
70 | initialUrl: string,
71 | initialRequestOptions?: RequestInit,
72 | initialOptions?: UseFetchOptions,
73 | ): UseFetchReturn {
74 | const [loading, setLoading] = useState(false);
75 | const [data, setData] = useState(null);
76 | const [error, setError] = useState(null);
77 | const [url, updateUrl] = useState(initialUrl);
78 | const [requestOptions, updateRequestOptions] = useState(initialRequestOptions);
79 | const [options, updateOptions] = useState(initialOptions || { immediate: true });
80 | const abortController = useRef(new AbortController());
81 |
82 | const load = useCallback(async () => {
83 | abortController.current.abort();
84 | abortController.current = new AbortController();
85 | setData(null);
86 | if (!url) {
87 | setError("Empty URL");
88 | return;
89 | }
90 | else {
91 | setError(null);
92 | }
93 | setLoading(true);
94 | try {
95 | const requestInit = (requestOptions || {});
96 | requestInit.signal = abortController.current.signal;
97 | const currentController = abortController.current;
98 | const response = await fetch(url, requestInit);
99 | if (!response.ok) {
100 | throw new Error(response.statusText);
101 | }
102 | const json = await response.json();
103 | if (currentController.signal.aborted) {
104 | return;
105 | }
106 | setData(json);
107 | }
108 | catch (e) {
109 | const error = e as Error;
110 | if (error.name === "AbortError") {
111 | setError(null);
112 | setData(null);
113 | }
114 | else {
115 | setError(error.message);
116 | }
117 | }
118 | setLoading(false);
119 | }, [url, requestOptions]);
120 |
121 | useEffect(() => {
122 | if (options.immediate) {
123 | load();
124 | }
125 |
126 | return () => {
127 | abortController.current.abort();
128 | };
129 | }, [load, options]);
130 |
131 | return {
132 | url,
133 | loading,
134 | error,
135 | data,
136 | load,
137 | updateUrl,
138 | updateOptions,
139 | updateRequestOptions,
140 | };
141 | }
142 |
--------------------------------------------------------------------------------
/src/use-fetch/use-fetch.test.ts:
--------------------------------------------------------------------------------
1 | // remove .skip from a test to run it
2 |
3 | import type { Mock } from "vitest";
4 | import type { UseFetchOptions, UseFetchReturn } from "./use-fetch";
5 | import { act, renderHook, waitFor } from "@testing-library/react";
6 |
7 | import { beforeEach, describe, expect, it, vi } from "vitest";
8 | import useFetch from "./use-fetch";
9 |
10 | const mocks = {
11 | get fetch(): Mock {
12 | return globalThis.fetch as Mock;
13 | },
14 | set fetch(value) {
15 | globalThis.fetch = value;
16 | },
17 | };
18 |
19 | mocks.fetch = vi.fn();
20 |
21 | describe("useFetch", () => {
22 | const url = "https://example.com/api/data";
23 | const data = { message: "Hello world!" };
24 | type Data = typeof data;
25 |
26 | beforeEach(() => {
27 | mocks.fetch.mockReset();
28 | mocks.fetch.mockResolvedValue({
29 | ok: true,
30 | json: vi.fn().mockResolvedValue(data),
31 | });
32 | });
33 |
34 | describe("initial Fetch", () => {
35 | it.skip("should fetch on mount by default", async () => {
36 | renderHook(() => useFetch(url));
37 | expect(mocks.fetch).toHaveBeenCalled();
38 | });
39 |
40 | it.skip("should set loading when fetching data", async () => {
41 | const { result } = renderHook(() => useFetch(url));
42 |
43 | expect(result.current.loading).toBe(true);
44 | expect(mocks.fetch).toHaveBeenCalled();
45 | await waitFor(() => expect(result.current.loading).toBe(false));
46 | });
47 |
48 | it.skip("should set data after fetch", async () => {
49 | const { result } = renderHook(() => useFetch(url));
50 |
51 | expect(result.current.loading).toBe(true);
52 | expect(mocks.fetch).toHaveBeenCalled();
53 |
54 | await waitFor(() => expect(result.current.loading).toBe(false));
55 | expect(result.current.error).toBeNull();
56 | expect(result.current.data).toEqual(data);
57 | });
58 |
59 | it.skip("should not fetch on mount if immediate false", async () => {
60 | const { result } = renderHook(() => useFetch(url, undefined, {
61 | immediate: false,
62 | }));
63 |
64 | expect(result.current.loading).toBe(false);
65 | expect(mocks.fetch).not.toHaveBeenCalled();
66 | });
67 |
68 | it.skip("should not re-run if new options passed in directly", () => {
69 | const initialProps = {
70 | url,
71 | requestOptions: {},
72 | options: { immediate: true },
73 | };
74 | const { rerender } = renderHook<
75 | UseFetchReturn,
76 | { url: string; requestOptions: RequestInit; options: UseFetchOptions }
77 | >(
78 | ({ url, requestOptions, options }) =>
79 | useFetch(url, requestOptions, options),
80 | {
81 | initialProps,
82 | },
83 | );
84 |
85 | expect(mocks.fetch).toHaveBeenCalled();
86 | // render again, but with a new object / url
87 | rerender({ url: "https://example.com/api/data/updated-url", requestOptions: {}, options: { immediate: true } });
88 | expect(mocks.fetch).toHaveBeenCalledTimes(1);
89 | });
90 |
91 | it.skip("should set error if url empty", async () => {
92 | const { result } = renderHook(() => useFetch(""));
93 |
94 | await act(() => {
95 | expect(result.current.loading).toBe(false);
96 | expect(result.current.error).toBe("Empty URL");
97 | expect(result.current.data).toBeNull();
98 | });
99 | });
100 | });
101 |
102 | describe("error Handling", () => {
103 | it.skip("should handle network errors correctly", async () => {
104 | mocks.fetch.mockRejectedValue(new Error("Network Error"));
105 |
106 | const { result } = renderHook(() => useFetch(url));
107 |
108 | await waitFor(() => expect(result.current.loading).toBe(false));
109 |
110 | expect(result.current.error).toBe("Network Error");
111 | expect(result.current.data).toBeNull();
112 | });
113 |
114 | it.skip("should handle JSON parse errors correctly", async () => {
115 | mocks.fetch.mockResolvedValue({
116 | ok: true,
117 | json: vi.fn().mockRejectedValue(new Error("Invalid JSON")),
118 | });
119 |
120 | const { result } = renderHook(() => useFetch(url));
121 |
122 | await waitFor(() => expect(result.current.loading).toBe(false));
123 |
124 | expect(result.current.error).toBe("Invalid JSON");
125 | expect(result.current.data).toBeNull();
126 | });
127 |
128 | it.skip("should handle http errors correctly", async () => {
129 | mocks.fetch.mockResolvedValue({
130 | ok: false,
131 | statusText: "Not Found",
132 | status: 404,
133 | json: vi.fn().mockRejectedValue(new Error("Invalid JSON")),
134 | });
135 |
136 | const { result } = renderHook(() => useFetch(url));
137 |
138 | await waitFor(() => expect(result.current.loading).toBe(false));
139 |
140 | expect(result.current.error).toBe("Not Found");
141 | expect(result.current.data).toBeNull();
142 | });
143 | });
144 |
145 | describe("update Functions", () => {
146 | it.skip("should re-fetch if url is updated", async () => {
147 | const { result } = renderHook(() => useFetch(url));
148 | await waitFor(() => !result.current.loading);
149 | expect(result.current.data).toEqual(data);
150 | mocks.fetch.mockResolvedValueOnce({
151 | ok: true,
152 | json: vi.fn().mockResolvedValue({ message: "New data!" }),
153 | });
154 | act(() => result.current.updateUrl("https://example.com/api/other-data"));
155 | await waitFor(() => !result.current.loading);
156 | expect(mocks.fetch).toHaveBeenCalled();
157 | expect(result.current.data).toEqual({ message: "New data!" });
158 | });
159 |
160 | it.skip("should re-fetch if request options are updated", async () => {
161 | const { result } = renderHook(() => useFetch(url));
162 | await waitFor(() => !result.current.loading);
163 | expect(result.current.data).toEqual(data);
164 | mocks.fetch.mockResolvedValueOnce({
165 | ok: true,
166 | json: vi.fn().mockResolvedValue({ message: "New data!" }),
167 | });
168 | act(() => result.current.updateRequestOptions({
169 | headers: {
170 | Authorization: "Bearer test-token",
171 | },
172 | }));
173 | await waitFor(() => !result.current.loading);
174 | expect(mocks.fetch).toHaveBeenCalled();
175 | expect(result.current.data).toEqual({ message: "New data!" });
176 | });
177 |
178 | it.skip("should re-fetch if options are updated", async () => {
179 | const { result } = renderHook(() =>
180 | useFetch(url, {}, { immediate: false }),
181 | );
182 | expect(result.current.loading).toEqual(false);
183 | expect(mocks.fetch).not.toHaveBeenCalled();
184 | act(() => result.current.updateOptions({ immediate: true }));
185 | await waitFor(() => !result.current.loading);
186 | expect(mocks.fetch).toHaveBeenCalled();
187 | expect(result.current.data).toEqual(data);
188 | });
189 |
190 | it.skip("should re-fetch if load function is called", async () => {
191 | const { result } = renderHook(() => useFetch(url));
192 | await waitFor(() => !result.current.loading);
193 | expect(result.current.data).toEqual(data);
194 | mocks.fetch.mockResolvedValueOnce({
195 | ok: true,
196 | json: vi.fn().mockResolvedValue({ message: "New data!" }),
197 | });
198 | await act(() => result.current.load());
199 | await waitFor(() => !result.current.loading);
200 | expect(mocks.fetch).toHaveBeenCalled();
201 | expect(result.current.data).toEqual({ message: "New data!" });
202 | });
203 | });
204 |
205 | describe("multiple requests", () => {
206 | it.skip("should clear data and not set error when aborted", async () => {
207 | const abortError = new Error("Request aborted");
208 | abortError.name = "AbortError";
209 | mocks.fetch.mockRejectedValue(abortError);
210 |
211 | const { result } = renderHook(() => useFetch(url));
212 |
213 | expect(mocks.fetch).toHaveBeenCalled();
214 | await waitFor(() => expect(result.current.loading).toBe(false));
215 |
216 | expect(result.current.error).toBeNull();
217 | expect(result.current.data).toEqual(null);
218 | });
219 |
220 | it.skip("should clear existing data if load function is called", async () => {
221 | const { result } = renderHook(() => useFetch(url));
222 | await waitFor(() => !result.current.loading);
223 | expect(result.current.data).toEqual(data);
224 | mocks.fetch.mockResolvedValueOnce({
225 | ok: true,
226 | json: vi.fn().mockReturnValue(new Promise(resolve => setImmediate(() => resolve({ message: "New data 2!" })))),
227 | });
228 | await act(async () => {
229 | result.current.load();
230 | setImmediate(() => {
231 | expect(result.current.data).toBeNull();
232 | });
233 | });
234 | await waitFor(() => expect(result.current.loading).toBe(false));
235 | expect(mocks.fetch).toHaveBeenCalled();
236 | expect(result.current.data).toEqual({ message: "New data 2!" });
237 | });
238 |
239 | it.skip("should clear existing error if load function is called", async () => {
240 | mocks.fetch.mockRejectedValue(new Error("Network Error"));
241 | const { result } = renderHook(() => useFetch(url));
242 | await waitFor(() => !result.current.loading);
243 | expect(result.current.data).toEqual(null);
244 | expect(result.current.error).toEqual("Network Error");
245 | mocks.fetch.mockResolvedValueOnce({
246 | ok: true,
247 | json: vi.fn().mockReturnValue(new Promise(resolve => setImmediate(() => resolve({ message: "New data!" })))),
248 | });
249 | await act(async () => {
250 | result.current.load();
251 | setImmediate(() => {
252 | expect(result.current.error).toBeNull();
253 | });
254 | });
255 | await waitFor(() => expect(result.current.loading).toBe(false));
256 | expect(mocks.fetch).toHaveBeenCalled();
257 | expect(result.current.data).toEqual({ message: "New data!" });
258 | });
259 |
260 | it.skip("should abort previous fetch if load is called while fetching", async () => {
261 | const fetchMocks = {
262 | first: {
263 | url: "http://abort-test.com/first",
264 | data,
265 | },
266 | second: {
267 | url: "http://abort-test.com/second",
268 | data: {
269 | message: "Updated value! You should see this instead...",
270 | },
271 | },
272 | };
273 |
274 | mocks.fetch.mockImplementation((url: string, options: RequestInit) => {
275 | return new Promise((resolve, reject) => {
276 | if (options?.signal) {
277 | options.signal.addEventListener("abort", () => {
278 | const abortError = new Error("Request aborted");
279 | abortError.name = "AbortError";
280 | reject(abortError);
281 | });
282 | }
283 | if (url === fetchMocks.first.url) {
284 | // First will resolve after second...
285 | setTimeout(() => {
286 | resolve({ ok: true, json: vi.fn().mockResolvedValue(fetchMocks.first.data) });
287 | }, 500);
288 | }
289 | else {
290 | resolve({ ok: true, json: vi.fn().mockResolvedValue(fetchMocks.second.data) });
291 | }
292 | });
293 | });
294 |
295 | const { result } = renderHook(() => useFetch(fetchMocks.first.url));
296 |
297 | expect(result.current.loading).toBe(true);
298 |
299 | act(() => {
300 | result.current.updateUrl(fetchMocks.second.url);
301 | });
302 |
303 | // wait long enough to make sure first request had enough time to resolve
304 | await new Promise((resolve) => {
305 | setTimeout(resolve, 500);
306 | });
307 |
308 | await waitFor(() => expect(result.current.loading).toBe(false));
309 |
310 | expect(mocks.fetch).toHaveBeenCalledTimes(2);
311 | expect(result.current.data).toEqual(fetchMocks.second.data);
312 | });
313 | });
314 |
315 | describe("cleanup", () => {
316 | it.skip("should abort a request in progress if unmounted", async () => {
317 | let aborted = false;
318 | const json = vi.fn().mockResolvedValue(data);
319 | mocks.fetch.mockImplementation((_url: string, options: RequestInit) => {
320 | return new Promise((resolve, reject) => {
321 | if (options?.signal) {
322 | options.signal.addEventListener("abort", () => {
323 | const abortError = new Error("Request aborted");
324 | abortError.name = "AbortError";
325 | reject(abortError);
326 | aborted = true;
327 | });
328 | }
329 | setTimeout(() => {
330 | resolve({ ok: true, json });
331 | }, 100);
332 | });
333 | });
334 |
335 | const { result, unmount } = renderHook(() => useFetch(url));
336 |
337 | expect(result.current.loading).toBe(true);
338 | unmount();
339 | expect(aborted).toBe(true);
340 | expect(json).not.toHaveBeenCalled();
341 | });
342 | });
343 | });
344 |
--------------------------------------------------------------------------------
/src/use-fetch/use-fetch.ts:
--------------------------------------------------------------------------------
1 | // This is the file you need to update
2 |
3 | import type { Dispatch, SetStateAction } from "react";
4 |
5 | export type UseFetchOptions = {
6 | immediate: boolean;
7 | };
8 |
9 | export type UseFetchReturn = {
10 | loading: boolean;
11 | error: string | null;
12 | data: T | null;
13 | url: string;
14 | load: () => Promise;
15 | updateUrl: Dispatch>;
16 | updateOptions: Dispatch>;
17 | updateRequestOptions: Dispatch>;
18 | };
19 |
20 | export default function useFetch(
21 | initialUrl: string,
22 | initialRequestOptions?: RequestInit,
23 | initialOptions?: UseFetchOptions,
24 | ): UseFetchReturn {
25 | // your implementation here
26 | return {
27 | url: "",
28 | loading: false,
29 | error: null,
30 | data: null,
31 | load: async () => {},
32 | updateUrl: () => {},
33 | updateOptions: () => {},
34 | updateRequestOptions: () => {},
35 | };
36 | }
37 |
--------------------------------------------------------------------------------
/tsconfig.app.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "jsx": "react-jsx",
5 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
6 | "moduleDetection": "force",
7 | "useDefineForClassFields": true,
8 | "module": "ESNext",
9 |
10 | /* Bundler mode */
11 | "moduleResolution": "bundler",
12 | "allowImportingTsExtensions": true,
13 |
14 | /* Linting */
15 | "strict": true,
16 | "noFallthroughCasesInSwitch": true,
17 | "noUnusedLocals": true,
18 | "noUnusedParameters": true,
19 | "noEmit": true,
20 | "isolatedModules": true,
21 | "skipLibCheck": true
22 | },
23 | "include": ["src"]
24 | }
25 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "references": [
3 | { "path": "./tsconfig.app.json" },
4 | { "path": "./tsconfig.node.json" }
5 | ],
6 | "files": []
7 | }
8 |
--------------------------------------------------------------------------------
/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2022",
4 | "lib": ["ES2023"],
5 | "moduleDetection": "force",
6 | "module": "ESNext",
7 |
8 | /* Bundler mode */
9 | "moduleResolution": "bundler",
10 | "allowImportingTsExtensions": true,
11 |
12 | /* Linting */
13 | "strict": true,
14 | "noFallthroughCasesInSwitch": true,
15 | "noUnusedLocals": true,
16 | "noUnusedParameters": true,
17 | "noEmit": true,
18 | "isolatedModules": true,
19 | "skipLibCheck": true
20 | },
21 | "include": ["vite.config.ts"]
22 | }
23 |
--------------------------------------------------------------------------------
/vite.config.ts:
--------------------------------------------------------------------------------
1 | import react from "@vitejs/plugin-react";
2 | import { defineConfig } from "vite";
3 |
4 | // https://vitejs.dev/config/
5 | export default defineConfig({
6 | plugins: [react()],
7 | });
8 |
--------------------------------------------------------------------------------
/vitest.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from "vitest/config";
2 |
3 | export default defineConfig({
4 | test: {
5 | environment: "jsdom",
6 | },
7 | });
8 |
--------------------------------------------------------------------------------