({
61 | todos: [],
62 | filters: { status: 'all' },
63 | })
64 |
65 | // 2. Set up the provider
66 | function App() {
67 | return (
68 |
69 |
70 |
71 |
72 | )
73 | }
74 |
75 | // 3. Use selectors in your components
76 | function TodoList() {
77 | // Only re-renders when todos change!
78 | const todos = useContextSelector(TodoContext, (state) => state.todos)
79 | const setState = useContextSetState(TodoContext)
80 |
81 | return (
82 |
101 | )
102 | }
103 |
104 | function FilterPanel() {
105 | // Only re-renders when filters change!
106 | const filters = useContextSelector(TodoContext, (state) => state.filters)
107 | const setState = useContextSetState(TodoContext)
108 |
109 | return (
110 |
125 | )
126 | }
127 | ```
128 |
129 | ## Key Features
130 |
131 | - 🎯 Selective Re-rendering: Components only re-render when their selected data changes
132 | - 💡 Type-safe: Full TypeScript support
133 | - 🪶 Lightweight: < 1kb gzipped (no dependencies!)
134 | - 🔍 Debug Mode: Optional debugging to track state updates
135 |
136 | ## Debug Mode
137 |
138 | This enables logging to the console when the state changes. You enable debug option per selector. Debugging is only enabled in development mode.
139 |
140 | ```tsx
141 | const filters = useContextSelector(TodoContext, (state) => state.filters, {
142 | debug: {
143 | enabled: true,
144 | name: 'Filters',
145 | },
146 | })
147 | ```
148 |
149 | If enabled, `name` is required. This is used to identify the selector in the console.
150 |
151 | ## Custom compare function
152 |
153 | You can pass a custom compare function to control when re-renders happen. This is useful for complex comparisons or performance optimization. The default compare function is [Object.is](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).
154 |
155 | ```tsx
156 | // Only re-render if the number of completed todos changes
157 | const completedCount = useContextSelector(
158 | TodoContext,
159 | (state) => state.todos.filter((t) => t.completed).length,
160 | {
161 | compare: (prev, next) => prev === next,
162 | }
163 | )
164 |
165 | // Or for array comparison
166 | const todos = useContextSelector(TodoContext, (state) => state.todos, {
167 | compare: (prev, next) => prev.length === next.length, // Only re-render on length changes
168 | })
169 | ```
170 |
171 | Returning true from the compare function will not cause a re-render. It's like saying "this is the same data, so don't re-render".
172 |
173 | Usually, you don't need this. But it's useful when working with complex shapes of data.
174 |
175 | ## Requirements
176 |
177 | - React 18 or later
178 |
179 | ## License
180 |
181 | MIT © [Tiger Abrodi](https://github.com/tigerabrodi)
182 |
--------------------------------------------------------------------------------
/eslint.config.js:
--------------------------------------------------------------------------------
1 | import js from '@eslint/js'
2 | import react from 'eslint-plugin-react'
3 | import reactHooks from 'eslint-plugin-react-hooks'
4 | import globals from 'globals'
5 | import tseslint from 'typescript-eslint'
6 |
7 | export default tseslint.config(
8 | { ignores: ['dist'] },
9 | {
10 | settings: {
11 | react: {
12 | version: '18.0',
13 | },
14 | },
15 | extends: [
16 | js.configs.recommended,
17 | ...tseslint.configs.recommendedTypeChecked,
18 | ],
19 | files: ['**/*.{ts,tsx}'],
20 | languageOptions: {
21 | ecmaVersion: 2020,
22 | globals: globals.browser,
23 | parserOptions: {
24 | project: ['./tsconfig.json'],
25 | tsconfigRootDir: import.meta.dirname,
26 | },
27 | },
28 | plugins: {
29 | 'react-hooks': reactHooks,
30 | react,
31 | },
32 | rules: {
33 | ...reactHooks.configs.recommended.rules,
34 | 'no-await-in-loop': 'error',
35 | '@typescript-eslint/array-type': ['error', { default: 'generic' }],
36 | '@typescript-eslint/naming-convention': [
37 | 'error',
38 | {
39 | selector: 'variable',
40 | types: ['boolean'],
41 | format: ['PascalCase'],
42 | prefix: ['is', 'should', 'has', 'are', 'can', 'was'],
43 | },
44 | ],
45 | ...react.configs.recommended.rules,
46 | ...react.configs['jsx-runtime'].rules,
47 | },
48 | }
49 | )
50 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@tigerabrodioss/react-context-selector",
3 | "version": "1.0.4",
4 | "description": "A React library for efficient context updates with selectors",
5 | "author": "Tiger Abrodi",
6 | "license": "MIT",
7 | "type": "module",
8 | "main": "./dist/index.cjs",
9 | "module": "./dist/index.js",
10 | "types": "./dist/index.d.ts",
11 | "files": [
12 | "dist"
13 | ],
14 | "sideEffects": false,
15 | "repository": {
16 | "type": "git",
17 | "url": "https://github.com/tigerabrodi/react-context-selector"
18 | },
19 | "exports": {
20 | ".": {
21 | "types": "./dist/index.d.ts",
22 | "import": "./dist/index.js",
23 | "require": "./dist/index.cjs"
24 | }
25 | },
26 | "scripts": {
27 | "test": "vitest",
28 | "build": "tsup",
29 | "lint": "eslint .",
30 | "format": "prettier --write ."
31 | },
32 | "keywords": [
33 | "react",
34 | "context",
35 | "selector",
36 | "hooks"
37 | ],
38 | "packageManager": "pnpm@9.1.4",
39 | "peerDependencies": {
40 | "react": "^18.0.0 || ^19.0.0"
41 | },
42 | "devDependencies": {
43 | "@eslint/js": "^9.18.0",
44 | "@testing-library/jest-dom": "^6.6.3",
45 | "@testing-library/react": "^16.2.0",
46 | "@types/node": "^22.10.10",
47 | "@types/react": "^18.3.1",
48 | "@typescript-eslint/eslint-plugin": "^8.21.0",
49 | "@typescript-eslint/parser": "^8.21.0",
50 | "eslint-plugin-react": "^7.37.4",
51 | "eslint-plugin-react-hooks": "^5.1.0",
52 | "globals": "^15.14.0",
53 | "gzip-size-cli": "^5.1.0",
54 | "jsdom": "^26.0.0",
55 | "prettier": "^3.4.2",
56 | "react": "^18.3.1",
57 | "react-dom": "^18.3.1",
58 | "tslib": "^2.8.1",
59 | "tsup": "^8.3.5",
60 | "typescript": "^5.7.3",
61 | "typescript-eslint": "^8.21.0",
62 | "vitest": "^3.0.4"
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/pnpm-lock.yaml:
--------------------------------------------------------------------------------
1 | lockfileVersion: '9.0'
2 |
3 | settings:
4 | autoInstallPeers: true
5 | excludeLinksFromLockfile: false
6 |
7 | importers:
8 |
9 | .:
10 | devDependencies:
11 | '@eslint/js':
12 | specifier: ^9.18.0
13 | version: 9.18.0
14 | '@testing-library/jest-dom':
15 | specifier: ^6.6.3
16 | version: 6.6.3
17 | '@testing-library/react':
18 | specifier: ^16.2.0
19 | version: 16.2.0(@testing-library/dom@10.4.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)
20 | '@types/node':
21 | specifier: ^22.10.10
22 | version: 22.10.10
23 | '@types/react':
24 | specifier: ^18.3.1
25 | version: 18.3.18
26 | '@typescript-eslint/eslint-plugin':
27 | specifier: ^8.21.0
28 | version: 8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.18.0)(typescript@5.7.3))(eslint@9.18.0)(typescript@5.7.3)
29 | '@typescript-eslint/parser':
30 | specifier: ^8.21.0
31 | version: 8.21.0(eslint@9.18.0)(typescript@5.7.3)
32 | eslint-plugin-react:
33 | specifier: ^7.37.4
34 | version: 7.37.4(eslint@9.18.0)
35 | eslint-plugin-react-hooks:
36 | specifier: ^5.1.0
37 | version: 5.1.0(eslint@9.18.0)
38 | globals:
39 | specifier: ^15.14.0
40 | version: 15.14.0
41 | gzip-size-cli:
42 | specifier: ^5.1.0
43 | version: 5.1.0
44 | jsdom:
45 | specifier: ^26.0.0
46 | version: 26.0.0
47 | prettier:
48 | specifier: ^3.4.2
49 | version: 3.4.2
50 | react:
51 | specifier: ^18.3.1
52 | version: 18.3.1
53 | react-dom:
54 | specifier: ^18.3.1
55 | version: 18.3.1(react@18.3.1)
56 | tslib:
57 | specifier: ^2.8.1
58 | version: 2.8.1
59 | tsup:
60 | specifier: ^8.3.5
61 | version: 8.3.5(postcss@8.5.1)(typescript@5.7.3)
62 | typescript:
63 | specifier: ^5.7.3
64 | version: 5.7.3
65 | typescript-eslint:
66 | specifier: ^8.21.0
67 | version: 8.21.0(eslint@9.18.0)(typescript@5.7.3)
68 | vitest:
69 | specifier: ^3.0.4
70 | version: 3.0.4(@types/node@22.10.10)(jsdom@26.0.0)
71 |
72 | packages:
73 |
74 | '@adobe/css-tools@4.4.1':
75 | resolution: {integrity: sha512-12WGKBQzjUAI4ayyF4IAtfw2QR/IDoqk6jTddXDhtYTJF9ASmoE1zst7cVtP0aL/F1jUJL5r+JxKXKEgHNbEUQ==}
76 |
77 | '@asamuzakjp/css-color@2.8.3':
78 | resolution: {integrity: sha512-GIc76d9UI1hCvOATjZPyHFmE5qhRccp3/zGfMPapK3jBi+yocEzp6BBB0UnfRYP9NP4FANqUZYb0hnfs3TM3hw==}
79 |
80 | '@babel/code-frame@7.26.2':
81 | resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
82 | engines: {node: '>=6.9.0'}
83 |
84 | '@babel/helper-validator-identifier@7.25.9':
85 | resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
86 | engines: {node: '>=6.9.0'}
87 |
88 | '@babel/runtime@7.26.0':
89 | resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==}
90 | engines: {node: '>=6.9.0'}
91 |
92 | '@csstools/color-helpers@5.0.1':
93 | resolution: {integrity: sha512-MKtmkA0BX87PKaO1NFRTFH+UnkgnmySQOvNxJubsadusqPEC2aJ9MOQiMceZJJ6oitUl/i0L6u0M1IrmAOmgBA==}
94 | engines: {node: '>=18'}
95 |
96 | '@csstools/css-calc@2.1.1':
97 | resolution: {integrity: sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==}
98 | engines: {node: '>=18'}
99 | peerDependencies:
100 | '@csstools/css-parser-algorithms': ^3.0.4
101 | '@csstools/css-tokenizer': ^3.0.3
102 |
103 | '@csstools/css-color-parser@3.0.7':
104 | resolution: {integrity: sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==}
105 | engines: {node: '>=18'}
106 | peerDependencies:
107 | '@csstools/css-parser-algorithms': ^3.0.4
108 | '@csstools/css-tokenizer': ^3.0.3
109 |
110 | '@csstools/css-parser-algorithms@3.0.4':
111 | resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==}
112 | engines: {node: '>=18'}
113 | peerDependencies:
114 | '@csstools/css-tokenizer': ^3.0.3
115 |
116 | '@csstools/css-tokenizer@3.0.3':
117 | resolution: {integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==}
118 | engines: {node: '>=18'}
119 |
120 | '@esbuild/aix-ppc64@0.24.2':
121 | resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==}
122 | engines: {node: '>=18'}
123 | cpu: [ppc64]
124 | os: [aix]
125 |
126 | '@esbuild/android-arm64@0.24.2':
127 | resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==}
128 | engines: {node: '>=18'}
129 | cpu: [arm64]
130 | os: [android]
131 |
132 | '@esbuild/android-arm@0.24.2':
133 | resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==}
134 | engines: {node: '>=18'}
135 | cpu: [arm]
136 | os: [android]
137 |
138 | '@esbuild/android-x64@0.24.2':
139 | resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==}
140 | engines: {node: '>=18'}
141 | cpu: [x64]
142 | os: [android]
143 |
144 | '@esbuild/darwin-arm64@0.24.2':
145 | resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==}
146 | engines: {node: '>=18'}
147 | cpu: [arm64]
148 | os: [darwin]
149 |
150 | '@esbuild/darwin-x64@0.24.2':
151 | resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==}
152 | engines: {node: '>=18'}
153 | cpu: [x64]
154 | os: [darwin]
155 |
156 | '@esbuild/freebsd-arm64@0.24.2':
157 | resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==}
158 | engines: {node: '>=18'}
159 | cpu: [arm64]
160 | os: [freebsd]
161 |
162 | '@esbuild/freebsd-x64@0.24.2':
163 | resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==}
164 | engines: {node: '>=18'}
165 | cpu: [x64]
166 | os: [freebsd]
167 |
168 | '@esbuild/linux-arm64@0.24.2':
169 | resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==}
170 | engines: {node: '>=18'}
171 | cpu: [arm64]
172 | os: [linux]
173 |
174 | '@esbuild/linux-arm@0.24.2':
175 | resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==}
176 | engines: {node: '>=18'}
177 | cpu: [arm]
178 | os: [linux]
179 |
180 | '@esbuild/linux-ia32@0.24.2':
181 | resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==}
182 | engines: {node: '>=18'}
183 | cpu: [ia32]
184 | os: [linux]
185 |
186 | '@esbuild/linux-loong64@0.24.2':
187 | resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==}
188 | engines: {node: '>=18'}
189 | cpu: [loong64]
190 | os: [linux]
191 |
192 | '@esbuild/linux-mips64el@0.24.2':
193 | resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==}
194 | engines: {node: '>=18'}
195 | cpu: [mips64el]
196 | os: [linux]
197 |
198 | '@esbuild/linux-ppc64@0.24.2':
199 | resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==}
200 | engines: {node: '>=18'}
201 | cpu: [ppc64]
202 | os: [linux]
203 |
204 | '@esbuild/linux-riscv64@0.24.2':
205 | resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==}
206 | engines: {node: '>=18'}
207 | cpu: [riscv64]
208 | os: [linux]
209 |
210 | '@esbuild/linux-s390x@0.24.2':
211 | resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==}
212 | engines: {node: '>=18'}
213 | cpu: [s390x]
214 | os: [linux]
215 |
216 | '@esbuild/linux-x64@0.24.2':
217 | resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==}
218 | engines: {node: '>=18'}
219 | cpu: [x64]
220 | os: [linux]
221 |
222 | '@esbuild/netbsd-arm64@0.24.2':
223 | resolution: {integrity: sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==}
224 | engines: {node: '>=18'}
225 | cpu: [arm64]
226 | os: [netbsd]
227 |
228 | '@esbuild/netbsd-x64@0.24.2':
229 | resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==}
230 | engines: {node: '>=18'}
231 | cpu: [x64]
232 | os: [netbsd]
233 |
234 | '@esbuild/openbsd-arm64@0.24.2':
235 | resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==}
236 | engines: {node: '>=18'}
237 | cpu: [arm64]
238 | os: [openbsd]
239 |
240 | '@esbuild/openbsd-x64@0.24.2':
241 | resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==}
242 | engines: {node: '>=18'}
243 | cpu: [x64]
244 | os: [openbsd]
245 |
246 | '@esbuild/sunos-x64@0.24.2':
247 | resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==}
248 | engines: {node: '>=18'}
249 | cpu: [x64]
250 | os: [sunos]
251 |
252 | '@esbuild/win32-arm64@0.24.2':
253 | resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==}
254 | engines: {node: '>=18'}
255 | cpu: [arm64]
256 | os: [win32]
257 |
258 | '@esbuild/win32-ia32@0.24.2':
259 | resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==}
260 | engines: {node: '>=18'}
261 | cpu: [ia32]
262 | os: [win32]
263 |
264 | '@esbuild/win32-x64@0.24.2':
265 | resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==}
266 | engines: {node: '>=18'}
267 | cpu: [x64]
268 | os: [win32]
269 |
270 | '@eslint-community/eslint-utils@4.4.1':
271 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==}
272 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
273 | peerDependencies:
274 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
275 |
276 | '@eslint-community/regexpp@4.12.1':
277 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
278 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
279 |
280 | '@eslint/config-array@0.19.1':
281 | resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==}
282 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
283 |
284 | '@eslint/core@0.10.0':
285 | resolution: {integrity: sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==}
286 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
287 |
288 | '@eslint/eslintrc@3.2.0':
289 | resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==}
290 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
291 |
292 | '@eslint/js@9.18.0':
293 | resolution: {integrity: sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==}
294 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
295 |
296 | '@eslint/object-schema@2.1.5':
297 | resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==}
298 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
299 |
300 | '@eslint/plugin-kit@0.2.5':
301 | resolution: {integrity: sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==}
302 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
303 |
304 | '@humanfs/core@0.19.1':
305 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
306 | engines: {node: '>=18.18.0'}
307 |
308 | '@humanfs/node@0.16.6':
309 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
310 | engines: {node: '>=18.18.0'}
311 |
312 | '@humanwhocodes/module-importer@1.0.1':
313 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
314 | engines: {node: '>=12.22'}
315 |
316 | '@humanwhocodes/retry@0.3.1':
317 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
318 | engines: {node: '>=18.18'}
319 |
320 | '@humanwhocodes/retry@0.4.1':
321 | resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==}
322 | engines: {node: '>=18.18'}
323 |
324 | '@isaacs/cliui@8.0.2':
325 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
326 | engines: {node: '>=12'}
327 |
328 | '@jridgewell/gen-mapping@0.3.8':
329 | resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==}
330 | engines: {node: '>=6.0.0'}
331 |
332 | '@jridgewell/resolve-uri@3.1.2':
333 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==}
334 | engines: {node: '>=6.0.0'}
335 |
336 | '@jridgewell/set-array@1.2.1':
337 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==}
338 | engines: {node: '>=6.0.0'}
339 |
340 | '@jridgewell/sourcemap-codec@1.5.0':
341 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==}
342 |
343 | '@jridgewell/trace-mapping@0.3.25':
344 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==}
345 |
346 | '@nodelib/fs.scandir@2.1.5':
347 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
348 | engines: {node: '>= 8'}
349 |
350 | '@nodelib/fs.stat@2.0.5':
351 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
352 | engines: {node: '>= 8'}
353 |
354 | '@nodelib/fs.walk@1.2.8':
355 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
356 | engines: {node: '>= 8'}
357 |
358 | '@pkgjs/parseargs@0.11.0':
359 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
360 | engines: {node: '>=14'}
361 |
362 | '@rollup/rollup-android-arm-eabi@4.32.0':
363 | resolution: {integrity: sha512-G2fUQQANtBPsNwiVFg4zKiPQyjVKZCUdQUol53R8E71J7AsheRMV/Yv/nB8giOcOVqP7//eB5xPqieBYZe9bGg==}
364 | cpu: [arm]
365 | os: [android]
366 |
367 | '@rollup/rollup-android-arm64@4.32.0':
368 | resolution: {integrity: sha512-qhFwQ+ljoymC+j5lXRv8DlaJYY/+8vyvYmVx074zrLsu5ZGWYsJNLjPPVJJjhZQpyAKUGPydOq9hRLLNvh1s3A==}
369 | cpu: [arm64]
370 | os: [android]
371 |
372 | '@rollup/rollup-darwin-arm64@4.32.0':
373 | resolution: {integrity: sha512-44n/X3lAlWsEY6vF8CzgCx+LQaoqWGN7TzUfbJDiTIOjJm4+L2Yq+r5a8ytQRGyPqgJDs3Rgyo8eVL7n9iW6AQ==}
374 | cpu: [arm64]
375 | os: [darwin]
376 |
377 | '@rollup/rollup-darwin-x64@4.32.0':
378 | resolution: {integrity: sha512-F9ct0+ZX5Np6+ZDztxiGCIvlCaW87HBdHcozUfsHnj1WCUTBUubAoanhHUfnUHZABlElyRikI0mgcw/qdEm2VQ==}
379 | cpu: [x64]
380 | os: [darwin]
381 |
382 | '@rollup/rollup-freebsd-arm64@4.32.0':
383 | resolution: {integrity: sha512-JpsGxLBB2EFXBsTLHfkZDsXSpSmKD3VxXCgBQtlPcuAqB8TlqtLcbeMhxXQkCDv1avgwNjF8uEIbq5p+Cee0PA==}
384 | cpu: [arm64]
385 | os: [freebsd]
386 |
387 | '@rollup/rollup-freebsd-x64@4.32.0':
388 | resolution: {integrity: sha512-wegiyBT6rawdpvnD9lmbOpx5Sph+yVZKHbhnSP9MqUEDX08G4UzMU+D87jrazGE7lRSyTRs6NEYHtzfkJ3FjjQ==}
389 | cpu: [x64]
390 | os: [freebsd]
391 |
392 | '@rollup/rollup-linux-arm-gnueabihf@4.32.0':
393 | resolution: {integrity: sha512-3pA7xecItbgOs1A5H58dDvOUEboG5UfpTq3WzAdF54acBbUM+olDJAPkgj1GRJ4ZqE12DZ9/hNS2QZk166v92A==}
394 | cpu: [arm]
395 | os: [linux]
396 |
397 | '@rollup/rollup-linux-arm-musleabihf@4.32.0':
398 | resolution: {integrity: sha512-Y7XUZEVISGyge51QbYyYAEHwpGgmRrAxQXO3siyYo2kmaj72USSG8LtlQQgAtlGfxYiOwu+2BdbPjzEpcOpRmQ==}
399 | cpu: [arm]
400 | os: [linux]
401 |
402 | '@rollup/rollup-linux-arm64-gnu@4.32.0':
403 | resolution: {integrity: sha512-r7/OTF5MqeBrZo5omPXcTnjvv1GsrdH8a8RerARvDFiDwFpDVDnJyByYM/nX+mvks8XXsgPUxkwe/ltaX2VH7w==}
404 | cpu: [arm64]
405 | os: [linux]
406 |
407 | '@rollup/rollup-linux-arm64-musl@4.32.0':
408 | resolution: {integrity: sha512-HJbifC9vex9NqnlodV2BHVFNuzKL5OnsV2dvTw6e1dpZKkNjPG6WUq+nhEYV6Hv2Bv++BXkwcyoGlXnPrjAKXw==}
409 | cpu: [arm64]
410 | os: [linux]
411 |
412 | '@rollup/rollup-linux-loongarch64-gnu@4.32.0':
413 | resolution: {integrity: sha512-VAEzZTD63YglFlWwRj3taofmkV1V3xhebDXffon7msNz4b14xKsz7utO6F8F4cqt8K/ktTl9rm88yryvDpsfOw==}
414 | cpu: [loong64]
415 | os: [linux]
416 |
417 | '@rollup/rollup-linux-powerpc64le-gnu@4.32.0':
418 | resolution: {integrity: sha512-Sts5DST1jXAc9YH/iik1C9QRsLcCoOScf3dfbY5i4kH9RJpKxiTBXqm7qU5O6zTXBTEZry69bGszr3SMgYmMcQ==}
419 | cpu: [ppc64]
420 | os: [linux]
421 |
422 | '@rollup/rollup-linux-riscv64-gnu@4.32.0':
423 | resolution: {integrity: sha512-qhlXeV9AqxIyY9/R1h1hBD6eMvQCO34ZmdYvry/K+/MBs6d1nRFLm6BOiITLVI+nFAAB9kUB6sdJRKyVHXnqZw==}
424 | cpu: [riscv64]
425 | os: [linux]
426 |
427 | '@rollup/rollup-linux-s390x-gnu@4.32.0':
428 | resolution: {integrity: sha512-8ZGN7ExnV0qjXa155Rsfi6H8M4iBBwNLBM9lcVS+4NcSzOFaNqmt7djlox8pN1lWrRPMRRQ8NeDlozIGx3Omsw==}
429 | cpu: [s390x]
430 | os: [linux]
431 |
432 | '@rollup/rollup-linux-x64-gnu@4.32.0':
433 | resolution: {integrity: sha512-VDzNHtLLI5s7xd/VubyS10mq6TxvZBp+4NRWoW+Hi3tgV05RtVm4qK99+dClwTN1McA6PHwob6DEJ6PlXbY83A==}
434 | cpu: [x64]
435 | os: [linux]
436 |
437 | '@rollup/rollup-linux-x64-musl@4.32.0':
438 | resolution: {integrity: sha512-qcb9qYDlkxz9DxJo7SDhWxTWV1gFuwznjbTiov289pASxlfGbaOD54mgbs9+z94VwrXtKTu+2RqwlSTbiOqxGg==}
439 | cpu: [x64]
440 | os: [linux]
441 |
442 | '@rollup/rollup-win32-arm64-msvc@4.32.0':
443 | resolution: {integrity: sha512-pFDdotFDMXW2AXVbfdUEfidPAk/OtwE/Hd4eYMTNVVaCQ6Yl8et0meDaKNL63L44Haxv4UExpv9ydSf3aSayDg==}
444 | cpu: [arm64]
445 | os: [win32]
446 |
447 | '@rollup/rollup-win32-ia32-msvc@4.32.0':
448 | resolution: {integrity: sha512-/TG7WfrCAjeRNDvI4+0AAMoHxea/USWhAzf9PVDFHbcqrQ7hMMKp4jZIy4VEjk72AAfN5k4TiSMRXRKf/0akSw==}
449 | cpu: [ia32]
450 | os: [win32]
451 |
452 | '@rollup/rollup-win32-x64-msvc@4.32.0':
453 | resolution: {integrity: sha512-5hqO5S3PTEO2E5VjCePxv40gIgyS2KvO7E7/vvC/NbIW4SIRamkMr1hqj+5Y67fbBWv/bQLB6KelBQmXlyCjWA==}
454 | cpu: [x64]
455 | os: [win32]
456 |
457 | '@testing-library/dom@10.4.0':
458 | resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==}
459 | engines: {node: '>=18'}
460 |
461 | '@testing-library/jest-dom@6.6.3':
462 | resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==}
463 | engines: {node: '>=14', npm: '>=6', yarn: '>=1'}
464 |
465 | '@testing-library/react@16.2.0':
466 | resolution: {integrity: sha512-2cSskAvA1QNtKc8Y9VJQRv0tm3hLVgxRGDB+KYhIaPQJ1I+RHbhIXcM+zClKXzMes/wshsMVzf4B9vS4IZpqDQ==}
467 | engines: {node: '>=18'}
468 | peerDependencies:
469 | '@testing-library/dom': ^10.0.0
470 | '@types/react': ^18.0.0 || ^19.0.0
471 | '@types/react-dom': ^18.0.0 || ^19.0.0
472 | react: ^18.0.0 || ^19.0.0
473 | react-dom: ^18.0.0 || ^19.0.0
474 | peerDependenciesMeta:
475 | '@types/react':
476 | optional: true
477 | '@types/react-dom':
478 | optional: true
479 |
480 | '@types/aria-query@5.0.4':
481 | resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==}
482 |
483 | '@types/estree@1.0.6':
484 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==}
485 |
486 | '@types/json-schema@7.0.15':
487 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
488 |
489 | '@types/minimist@1.2.5':
490 | resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==}
491 |
492 | '@types/node@22.10.10':
493 | resolution: {integrity: sha512-X47y/mPNzxviAGY5TcYPtYL8JsY3kAq2n8fMmKoRCxq/c4v4pyGNCzM2R6+M5/umG4ZfHuT+sgqDYqWc9rJ6ww==}
494 |
495 | '@types/normalize-package-data@2.4.4':
496 | resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==}
497 |
498 | '@types/prop-types@15.7.14':
499 | resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==}
500 |
501 | '@types/react@18.3.18':
502 | resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==}
503 |
504 | '@typescript-eslint/eslint-plugin@8.21.0':
505 | resolution: {integrity: sha512-eTH+UOR4I7WbdQnG4Z48ebIA6Bgi7WO8HvFEneeYBxG8qCOYgTOFPSg6ek9ITIDvGjDQzWHcoWHCDO2biByNzA==}
506 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
507 | peerDependencies:
508 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0
509 | eslint: ^8.57.0 || ^9.0.0
510 | typescript: '>=4.8.4 <5.8.0'
511 |
512 | '@typescript-eslint/parser@8.21.0':
513 | resolution: {integrity: sha512-Wy+/sdEH9kI3w9civgACwabHbKl+qIOu0uFZ9IMKzX3Jpv9og0ZBJrZExGrPpFAY7rWsXuxs5e7CPPP17A4eYA==}
514 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
515 | peerDependencies:
516 | eslint: ^8.57.0 || ^9.0.0
517 | typescript: '>=4.8.4 <5.8.0'
518 |
519 | '@typescript-eslint/scope-manager@8.21.0':
520 | resolution: {integrity: sha512-G3IBKz0/0IPfdeGRMbp+4rbjfSSdnGkXsM/pFZA8zM9t9klXDnB/YnKOBQ0GoPmoROa4bCq2NeHgJa5ydsQ4mA==}
521 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
522 |
523 | '@typescript-eslint/type-utils@8.21.0':
524 | resolution: {integrity: sha512-95OsL6J2BtzoBxHicoXHxgk3z+9P3BEcQTpBKriqiYzLKnM2DeSqs+sndMKdamU8FosiadQFT3D+BSL9EKnAJQ==}
525 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
526 | peerDependencies:
527 | eslint: ^8.57.0 || ^9.0.0
528 | typescript: '>=4.8.4 <5.8.0'
529 |
530 | '@typescript-eslint/types@8.21.0':
531 | resolution: {integrity: sha512-PAL6LUuQwotLW2a8VsySDBwYMm129vFm4tMVlylzdoTybTHaAi0oBp7Ac6LhSrHHOdLM3efH+nAR6hAWoMF89A==}
532 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
533 |
534 | '@typescript-eslint/typescript-estree@8.21.0':
535 | resolution: {integrity: sha512-x+aeKh/AjAArSauz0GiQZsjT8ciadNMHdkUSwBB9Z6PrKc/4knM4g3UfHml6oDJmKC88a6//cdxnO/+P2LkMcg==}
536 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
537 | peerDependencies:
538 | typescript: '>=4.8.4 <5.8.0'
539 |
540 | '@typescript-eslint/utils@8.21.0':
541 | resolution: {integrity: sha512-xcXBfcq0Kaxgj7dwejMbFyq7IOHgpNMtVuDveK7w3ZGwG9owKzhALVwKpTF2yrZmEwl9SWdetf3fxNzJQaVuxw==}
542 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
543 | peerDependencies:
544 | eslint: ^8.57.0 || ^9.0.0
545 | typescript: '>=4.8.4 <5.8.0'
546 |
547 | '@typescript-eslint/visitor-keys@8.21.0':
548 | resolution: {integrity: sha512-BkLMNpdV6prozk8LlyK/SOoWLmUFi+ZD+pcqti9ILCbVvHGk1ui1g4jJOc2WDLaeExz2qWwojxlPce5PljcT3w==}
549 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
550 |
551 | '@vitest/expect@3.0.4':
552 | resolution: {integrity: sha512-Nm5kJmYw6P2BxhJPkO3eKKhGYKRsnqJqf+r0yOGRKpEP+bSCBDsjXgiu1/5QFrnPMEgzfC38ZEjvCFgaNBC0Eg==}
553 |
554 | '@vitest/mocker@3.0.4':
555 | resolution: {integrity: sha512-gEef35vKafJlfQbnyOXZ0Gcr9IBUsMTyTLXsEQwuyYAerpHqvXhzdBnDFuHLpFqth3F7b6BaFr4qV/Cs1ULx5A==}
556 | peerDependencies:
557 | msw: ^2.4.9
558 | vite: ^5.0.0 || ^6.0.0
559 | peerDependenciesMeta:
560 | msw:
561 | optional: true
562 | vite:
563 | optional: true
564 |
565 | '@vitest/pretty-format@3.0.4':
566 | resolution: {integrity: sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==}
567 |
568 | '@vitest/runner@3.0.4':
569 | resolution: {integrity: sha512-dKHzTQ7n9sExAcWH/0sh1elVgwc7OJ2lMOBrAm73J7AH6Pf9T12Zh3lNE1TETZaqrWFXtLlx3NVrLRb5hCK+iw==}
570 |
571 | '@vitest/snapshot@3.0.4':
572 | resolution: {integrity: sha512-+p5knMLwIk7lTQkM3NonZ9zBewzVp9EVkVpvNta0/PlFWpiqLaRcF4+33L1it3uRUCh0BGLOaXPPGEjNKfWb4w==}
573 |
574 | '@vitest/spy@3.0.4':
575 | resolution: {integrity: sha512-sXIMF0oauYyUy2hN49VFTYodzEAu744MmGcPR3ZBsPM20G+1/cSW/n1U+3Yu/zHxX2bIDe1oJASOkml+osTU6Q==}
576 |
577 | '@vitest/utils@3.0.4':
578 | resolution: {integrity: sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==}
579 |
580 | acorn-jsx@5.3.2:
581 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
582 | peerDependencies:
583 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
584 |
585 | acorn@8.14.0:
586 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==}
587 | engines: {node: '>=0.4.0'}
588 | hasBin: true
589 |
590 | agent-base@7.1.3:
591 | resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==}
592 | engines: {node: '>= 14'}
593 |
594 | ajv@6.12.6:
595 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
596 |
597 | ansi-regex@5.0.1:
598 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
599 | engines: {node: '>=8'}
600 |
601 | ansi-regex@6.1.0:
602 | resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
603 | engines: {node: '>=12'}
604 |
605 | ansi-styles@4.3.0:
606 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
607 | engines: {node: '>=8'}
608 |
609 | ansi-styles@5.2.0:
610 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==}
611 | engines: {node: '>=10'}
612 |
613 | ansi-styles@6.2.1:
614 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
615 | engines: {node: '>=12'}
616 |
617 | any-promise@1.3.0:
618 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
619 |
620 | argparse@2.0.1:
621 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
622 |
623 | aria-query@5.3.0:
624 | resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==}
625 |
626 | array-buffer-byte-length@1.0.2:
627 | resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
628 | engines: {node: '>= 0.4'}
629 |
630 | array-includes@3.1.8:
631 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==}
632 | engines: {node: '>= 0.4'}
633 |
634 | array.prototype.findlast@1.2.5:
635 | resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
636 | engines: {node: '>= 0.4'}
637 |
638 | array.prototype.flat@1.3.3:
639 | resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
640 | engines: {node: '>= 0.4'}
641 |
642 | array.prototype.flatmap@1.3.3:
643 | resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
644 | engines: {node: '>= 0.4'}
645 |
646 | array.prototype.tosorted@1.1.4:
647 | resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
648 | engines: {node: '>= 0.4'}
649 |
650 | arraybuffer.prototype.slice@1.0.4:
651 | resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
652 | engines: {node: '>= 0.4'}
653 |
654 | arrify@1.0.1:
655 | resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==}
656 | engines: {node: '>=0.10.0'}
657 |
658 | assertion-error@2.0.1:
659 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
660 | engines: {node: '>=12'}
661 |
662 | async-function@1.0.0:
663 | resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
664 | engines: {node: '>= 0.4'}
665 |
666 | asynckit@0.4.0:
667 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==}
668 |
669 | available-typed-arrays@1.0.7:
670 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
671 | engines: {node: '>= 0.4'}
672 |
673 | balanced-match@1.0.2:
674 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
675 |
676 | brace-expansion@1.1.11:
677 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
678 |
679 | brace-expansion@2.0.1:
680 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==}
681 |
682 | braces@3.0.3:
683 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
684 | engines: {node: '>=8'}
685 |
686 | bundle-require@5.1.0:
687 | resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==}
688 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
689 | peerDependencies:
690 | esbuild: '>=0.18'
691 |
692 | cac@6.7.14:
693 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
694 | engines: {node: '>=8'}
695 |
696 | call-bind-apply-helpers@1.0.1:
697 | resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==}
698 | engines: {node: '>= 0.4'}
699 |
700 | call-bind@1.0.8:
701 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
702 | engines: {node: '>= 0.4'}
703 |
704 | call-bound@1.0.3:
705 | resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==}
706 | engines: {node: '>= 0.4'}
707 |
708 | callsites@3.1.0:
709 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
710 | engines: {node: '>=6'}
711 |
712 | camelcase-keys@7.0.2:
713 | resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==}
714 | engines: {node: '>=12'}
715 |
716 | camelcase@6.3.0:
717 | resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
718 | engines: {node: '>=10'}
719 |
720 | chai@5.1.2:
721 | resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==}
722 | engines: {node: '>=12'}
723 |
724 | chalk@3.0.0:
725 | resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==}
726 | engines: {node: '>=8'}
727 |
728 | chalk@4.1.2:
729 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
730 | engines: {node: '>=10'}
731 |
732 | check-error@2.1.1:
733 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
734 | engines: {node: '>= 16'}
735 |
736 | chokidar@4.0.3:
737 | resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
738 | engines: {node: '>= 14.16.0'}
739 |
740 | color-convert@2.0.1:
741 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
742 | engines: {node: '>=7.0.0'}
743 |
744 | color-name@1.1.4:
745 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
746 |
747 | combined-stream@1.0.8:
748 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
749 | engines: {node: '>= 0.8'}
750 |
751 | commander@4.1.1:
752 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
753 | engines: {node: '>= 6'}
754 |
755 | concat-map@0.0.1:
756 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
757 |
758 | consola@3.4.0:
759 | resolution: {integrity: sha512-EiPU8G6dQG0GFHNR8ljnZFki/8a+cQwEQ+7wpxdChl02Q8HXlwEZWD5lqAF8vC2sEC3Tehr8hy7vErz88LHyUA==}
760 | engines: {node: ^14.18.0 || >=16.10.0}
761 |
762 | cross-spawn@7.0.6:
763 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
764 | engines: {node: '>= 8'}
765 |
766 | css.escape@1.5.1:
767 | resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==}
768 |
769 | cssstyle@4.2.1:
770 | resolution: {integrity: sha512-9+vem03dMXG7gDmZ62uqmRiMRNtinIZ9ZyuF6BdxzfOD+FdN5hretzynkn0ReS2DO2GSw76RWHs0UmJPI2zUjw==}
771 | engines: {node: '>=18'}
772 |
773 | csstype@3.1.3:
774 | resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
775 |
776 | data-urls@5.0.0:
777 | resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==}
778 | engines: {node: '>=18'}
779 |
780 | data-view-buffer@1.0.2:
781 | resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
782 | engines: {node: '>= 0.4'}
783 |
784 | data-view-byte-length@1.0.2:
785 | resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
786 | engines: {node: '>= 0.4'}
787 |
788 | data-view-byte-offset@1.0.1:
789 | resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
790 | engines: {node: '>= 0.4'}
791 |
792 | debug@4.4.0:
793 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==}
794 | engines: {node: '>=6.0'}
795 | peerDependencies:
796 | supports-color: '*'
797 | peerDependenciesMeta:
798 | supports-color:
799 | optional: true
800 |
801 | decamelize-keys@1.1.1:
802 | resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==}
803 | engines: {node: '>=0.10.0'}
804 |
805 | decamelize@1.2.0:
806 | resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==}
807 | engines: {node: '>=0.10.0'}
808 |
809 | decamelize@5.0.1:
810 | resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==}
811 | engines: {node: '>=10'}
812 |
813 | decimal.js@10.5.0:
814 | resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==}
815 |
816 | deep-eql@5.0.2:
817 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
818 | engines: {node: '>=6'}
819 |
820 | deep-is@0.1.4:
821 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
822 |
823 | define-data-property@1.1.4:
824 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
825 | engines: {node: '>= 0.4'}
826 |
827 | define-properties@1.2.1:
828 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
829 | engines: {node: '>= 0.4'}
830 |
831 | delayed-stream@1.0.0:
832 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
833 | engines: {node: '>=0.4.0'}
834 |
835 | dequal@2.0.3:
836 | resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
837 | engines: {node: '>=6'}
838 |
839 | doctrine@2.1.0:
840 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
841 | engines: {node: '>=0.10.0'}
842 |
843 | dom-accessibility-api@0.5.16:
844 | resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==}
845 |
846 | dom-accessibility-api@0.6.3:
847 | resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==}
848 |
849 | dunder-proto@1.0.1:
850 | resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
851 | engines: {node: '>= 0.4'}
852 |
853 | duplexer@0.1.2:
854 | resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==}
855 |
856 | eastasianwidth@0.2.0:
857 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
858 |
859 | emoji-regex@8.0.0:
860 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
861 |
862 | emoji-regex@9.2.2:
863 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
864 |
865 | entities@4.5.0:
866 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==}
867 | engines: {node: '>=0.12'}
868 |
869 | error-ex@1.3.2:
870 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==}
871 |
872 | es-abstract@1.23.9:
873 | resolution: {integrity: sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==}
874 | engines: {node: '>= 0.4'}
875 |
876 | es-define-property@1.0.1:
877 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
878 | engines: {node: '>= 0.4'}
879 |
880 | es-errors@1.3.0:
881 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
882 | engines: {node: '>= 0.4'}
883 |
884 | es-iterator-helpers@1.2.1:
885 | resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==}
886 | engines: {node: '>= 0.4'}
887 |
888 | es-module-lexer@1.6.0:
889 | resolution: {integrity: sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==}
890 |
891 | es-object-atoms@1.1.1:
892 | resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
893 | engines: {node: '>= 0.4'}
894 |
895 | es-set-tostringtag@2.1.0:
896 | resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
897 | engines: {node: '>= 0.4'}
898 |
899 | es-shim-unscopables@1.0.2:
900 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==}
901 |
902 | es-to-primitive@1.3.0:
903 | resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
904 | engines: {node: '>= 0.4'}
905 |
906 | esbuild@0.24.2:
907 | resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==}
908 | engines: {node: '>=18'}
909 | hasBin: true
910 |
911 | escape-string-regexp@4.0.0:
912 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
913 | engines: {node: '>=10'}
914 |
915 | eslint-plugin-react-hooks@5.1.0:
916 | resolution: {integrity: sha512-mpJRtPgHN2tNAvZ35AMfqeB3Xqeo273QxrHJsbBEPWODRM4r0yB6jfoROqKEYrOn27UtRPpcpHc2UqyBSuUNTw==}
917 | engines: {node: '>=10'}
918 | peerDependencies:
919 | eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
920 |
921 | eslint-plugin-react@7.37.4:
922 | resolution: {integrity: sha512-BGP0jRmfYyvOyvMoRX/uoUeW+GqNj9y16bPQzqAHf3AYII/tDs+jMN0dBVkl88/OZwNGwrVFxE7riHsXVfy/LQ==}
923 | engines: {node: '>=4'}
924 | peerDependencies:
925 | eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
926 |
927 | eslint-scope@8.2.0:
928 | resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==}
929 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
930 |
931 | eslint-visitor-keys@3.4.3:
932 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
933 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
934 |
935 | eslint-visitor-keys@4.2.0:
936 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==}
937 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
938 |
939 | eslint@9.18.0:
940 | resolution: {integrity: sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==}
941 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
942 | hasBin: true
943 | peerDependencies:
944 | jiti: '*'
945 | peerDependenciesMeta:
946 | jiti:
947 | optional: true
948 |
949 | espree@10.3.0:
950 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
951 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
952 |
953 | esquery@1.6.0:
954 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
955 | engines: {node: '>=0.10'}
956 |
957 | esrecurse@4.3.0:
958 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
959 | engines: {node: '>=4.0'}
960 |
961 | estraverse@5.3.0:
962 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
963 | engines: {node: '>=4.0'}
964 |
965 | estree-walker@3.0.3:
966 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
967 |
968 | esutils@2.0.3:
969 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
970 | engines: {node: '>=0.10.0'}
971 |
972 | expect-type@1.1.0:
973 | resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==}
974 | engines: {node: '>=12.0.0'}
975 |
976 | fast-deep-equal@3.1.3:
977 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
978 |
979 | fast-glob@3.3.3:
980 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
981 | engines: {node: '>=8.6.0'}
982 |
983 | fast-json-stable-stringify@2.1.0:
984 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
985 |
986 | fast-levenshtein@2.0.6:
987 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
988 |
989 | fastq@1.18.0:
990 | resolution: {integrity: sha512-QKHXPW0hD8g4UET03SdOdunzSouc9N4AuHdsX8XNcTsuz+yYFILVNIX4l9yHABMhiEI9Db0JTTIpu0wB+Y1QQw==}
991 |
992 | fdir@6.4.3:
993 | resolution: {integrity: sha512-PMXmW2y1hDDfTSRc9gaXIuCCRpuoz3Kaz8cUelp3smouvfT632ozg2vrT6lJsHKKOF59YLbOGfAWGUcKEfRMQw==}
994 | peerDependencies:
995 | picomatch: ^3 || ^4
996 | peerDependenciesMeta:
997 | picomatch:
998 | optional: true
999 |
1000 | file-entry-cache@8.0.0:
1001 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
1002 | engines: {node: '>=16.0.0'}
1003 |
1004 | fill-range@7.1.1:
1005 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
1006 | engines: {node: '>=8'}
1007 |
1008 | find-up@5.0.0:
1009 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
1010 | engines: {node: '>=10'}
1011 |
1012 | flat-cache@4.0.1:
1013 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
1014 | engines: {node: '>=16'}
1015 |
1016 | flatted@3.3.2:
1017 | resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==}
1018 |
1019 | for-each@0.3.3:
1020 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==}
1021 |
1022 | foreground-child@3.3.0:
1023 | resolution: {integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==}
1024 | engines: {node: '>=14'}
1025 |
1026 | form-data@4.0.1:
1027 | resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==}
1028 | engines: {node: '>= 6'}
1029 |
1030 | fsevents@2.3.3:
1031 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
1032 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
1033 | os: [darwin]
1034 |
1035 | function-bind@1.1.2:
1036 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
1037 |
1038 | function.prototype.name@1.1.8:
1039 | resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
1040 | engines: {node: '>= 0.4'}
1041 |
1042 | functions-have-names@1.2.3:
1043 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
1044 |
1045 | get-intrinsic@1.2.7:
1046 | resolution: {integrity: sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==}
1047 | engines: {node: '>= 0.4'}
1048 |
1049 | get-proto@1.0.1:
1050 | resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
1051 | engines: {node: '>= 0.4'}
1052 |
1053 | get-stdin@9.0.0:
1054 | resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==}
1055 | engines: {node: '>=12'}
1056 |
1057 | get-symbol-description@1.1.0:
1058 | resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
1059 | engines: {node: '>= 0.4'}
1060 |
1061 | glob-parent@5.1.2:
1062 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
1063 | engines: {node: '>= 6'}
1064 |
1065 | glob-parent@6.0.2:
1066 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
1067 | engines: {node: '>=10.13.0'}
1068 |
1069 | glob@10.4.5:
1070 | resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
1071 | hasBin: true
1072 |
1073 | globals@14.0.0:
1074 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
1075 | engines: {node: '>=18'}
1076 |
1077 | globals@15.14.0:
1078 | resolution: {integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==}
1079 | engines: {node: '>=18'}
1080 |
1081 | globalthis@1.0.4:
1082 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
1083 | engines: {node: '>= 0.4'}
1084 |
1085 | gopd@1.2.0:
1086 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
1087 | engines: {node: '>= 0.4'}
1088 |
1089 | graphemer@1.4.0:
1090 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
1091 |
1092 | gzip-size-cli@5.1.0:
1093 | resolution: {integrity: sha512-XBC1Ia0IWm0/cbiU33fPfNL6uFCq7IjngRkFCelullMBcEna9Re4DNPfpsRgREDpOR5FGNupBfdb377uI5o7iQ==}
1094 | engines: {node: '>=12'}
1095 | hasBin: true
1096 |
1097 | gzip-size@7.0.0:
1098 | resolution: {integrity: sha512-O1Ld7Dr+nqPnmGpdhzLmMTQ4vAsD+rHwMm1NLUmoUFFymBOMKxCCrtDxqdBRYXdeEPEi3SyoR4TizJLQrnKBNA==}
1099 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1100 |
1101 | hard-rejection@2.1.0:
1102 | resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==}
1103 | engines: {node: '>=6'}
1104 |
1105 | has-bigints@1.1.0:
1106 | resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
1107 | engines: {node: '>= 0.4'}
1108 |
1109 | has-flag@4.0.0:
1110 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
1111 | engines: {node: '>=8'}
1112 |
1113 | has-property-descriptors@1.0.2:
1114 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
1115 |
1116 | has-proto@1.2.0:
1117 | resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
1118 | engines: {node: '>= 0.4'}
1119 |
1120 | has-symbols@1.1.0:
1121 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
1122 | engines: {node: '>= 0.4'}
1123 |
1124 | has-tostringtag@1.0.2:
1125 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
1126 | engines: {node: '>= 0.4'}
1127 |
1128 | hasown@2.0.2:
1129 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
1130 | engines: {node: '>= 0.4'}
1131 |
1132 | hosted-git-info@4.1.0:
1133 | resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==}
1134 | engines: {node: '>=10'}
1135 |
1136 | html-encoding-sniffer@4.0.0:
1137 | resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==}
1138 | engines: {node: '>=18'}
1139 |
1140 | http-proxy-agent@7.0.2:
1141 | resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==}
1142 | engines: {node: '>= 14'}
1143 |
1144 | https-proxy-agent@7.0.6:
1145 | resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==}
1146 | engines: {node: '>= 14'}
1147 |
1148 | iconv-lite@0.6.3:
1149 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
1150 | engines: {node: '>=0.10.0'}
1151 |
1152 | ignore@5.3.2:
1153 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
1154 | engines: {node: '>= 4'}
1155 |
1156 | import-fresh@3.3.0:
1157 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
1158 | engines: {node: '>=6'}
1159 |
1160 | imurmurhash@0.1.4:
1161 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
1162 | engines: {node: '>=0.8.19'}
1163 |
1164 | indent-string@4.0.0:
1165 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
1166 | engines: {node: '>=8'}
1167 |
1168 | indent-string@5.0.0:
1169 | resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==}
1170 | engines: {node: '>=12'}
1171 |
1172 | internal-slot@1.1.0:
1173 | resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
1174 | engines: {node: '>= 0.4'}
1175 |
1176 | is-array-buffer@3.0.5:
1177 | resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
1178 | engines: {node: '>= 0.4'}
1179 |
1180 | is-arrayish@0.2.1:
1181 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==}
1182 |
1183 | is-async-function@2.1.1:
1184 | resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
1185 | engines: {node: '>= 0.4'}
1186 |
1187 | is-bigint@1.1.0:
1188 | resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
1189 | engines: {node: '>= 0.4'}
1190 |
1191 | is-boolean-object@1.2.1:
1192 | resolution: {integrity: sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==}
1193 | engines: {node: '>= 0.4'}
1194 |
1195 | is-callable@1.2.7:
1196 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
1197 | engines: {node: '>= 0.4'}
1198 |
1199 | is-core-module@2.16.1:
1200 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
1201 | engines: {node: '>= 0.4'}
1202 |
1203 | is-data-view@1.0.2:
1204 | resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
1205 | engines: {node: '>= 0.4'}
1206 |
1207 | is-date-object@1.1.0:
1208 | resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
1209 | engines: {node: '>= 0.4'}
1210 |
1211 | is-extglob@2.1.1:
1212 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
1213 | engines: {node: '>=0.10.0'}
1214 |
1215 | is-finalizationregistry@1.1.1:
1216 | resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
1217 | engines: {node: '>= 0.4'}
1218 |
1219 | is-fullwidth-code-point@3.0.0:
1220 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
1221 | engines: {node: '>=8'}
1222 |
1223 | is-generator-function@1.1.0:
1224 | resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
1225 | engines: {node: '>= 0.4'}
1226 |
1227 | is-glob@4.0.3:
1228 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
1229 | engines: {node: '>=0.10.0'}
1230 |
1231 | is-map@2.0.3:
1232 | resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
1233 | engines: {node: '>= 0.4'}
1234 |
1235 | is-number-object@1.1.1:
1236 | resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
1237 | engines: {node: '>= 0.4'}
1238 |
1239 | is-number@7.0.0:
1240 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
1241 | engines: {node: '>=0.12.0'}
1242 |
1243 | is-plain-obj@1.1.0:
1244 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==}
1245 | engines: {node: '>=0.10.0'}
1246 |
1247 | is-potential-custom-element-name@1.0.1:
1248 | resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
1249 |
1250 | is-regex@1.2.1:
1251 | resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
1252 | engines: {node: '>= 0.4'}
1253 |
1254 | is-set@2.0.3:
1255 | resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
1256 | engines: {node: '>= 0.4'}
1257 |
1258 | is-shared-array-buffer@1.0.4:
1259 | resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
1260 | engines: {node: '>= 0.4'}
1261 |
1262 | is-string@1.1.1:
1263 | resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
1264 | engines: {node: '>= 0.4'}
1265 |
1266 | is-symbol@1.1.1:
1267 | resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
1268 | engines: {node: '>= 0.4'}
1269 |
1270 | is-typed-array@1.1.15:
1271 | resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
1272 | engines: {node: '>= 0.4'}
1273 |
1274 | is-weakmap@2.0.2:
1275 | resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
1276 | engines: {node: '>= 0.4'}
1277 |
1278 | is-weakref@1.1.0:
1279 | resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==}
1280 | engines: {node: '>= 0.4'}
1281 |
1282 | is-weakset@2.0.4:
1283 | resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
1284 | engines: {node: '>= 0.4'}
1285 |
1286 | isarray@2.0.5:
1287 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
1288 |
1289 | isexe@2.0.0:
1290 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
1291 |
1292 | iterator.prototype@1.1.5:
1293 | resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
1294 | engines: {node: '>= 0.4'}
1295 |
1296 | jackspeak@3.4.3:
1297 | resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
1298 |
1299 | joycon@3.1.1:
1300 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
1301 | engines: {node: '>=10'}
1302 |
1303 | js-tokens@4.0.0:
1304 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
1305 |
1306 | js-yaml@4.1.0:
1307 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
1308 | hasBin: true
1309 |
1310 | jsdom@26.0.0:
1311 | resolution: {integrity: sha512-BZYDGVAIriBWTpIxYzrXjv3E/4u8+/pSG5bQdIYCbNCGOvsPkDQfTVLAIXAf9ETdCpduCVTkDe2NNZ8NIwUVzw==}
1312 | engines: {node: '>=18'}
1313 | peerDependencies:
1314 | canvas: ^3.0.0
1315 | peerDependenciesMeta:
1316 | canvas:
1317 | optional: true
1318 |
1319 | json-buffer@3.0.1:
1320 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
1321 |
1322 | json-parse-even-better-errors@2.3.1:
1323 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==}
1324 |
1325 | json-schema-traverse@0.4.1:
1326 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
1327 |
1328 | json-stable-stringify-without-jsonify@1.0.1:
1329 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
1330 |
1331 | jsx-ast-utils@3.3.5:
1332 | resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
1333 | engines: {node: '>=4.0'}
1334 |
1335 | keyv@4.5.4:
1336 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
1337 |
1338 | kind-of@6.0.3:
1339 | resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
1340 | engines: {node: '>=0.10.0'}
1341 |
1342 | levn@0.4.1:
1343 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
1344 | engines: {node: '>= 0.8.0'}
1345 |
1346 | lilconfig@3.1.3:
1347 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
1348 | engines: {node: '>=14'}
1349 |
1350 | lines-and-columns@1.2.4:
1351 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
1352 |
1353 | load-tsconfig@0.2.5:
1354 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==}
1355 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1356 |
1357 | locate-path@6.0.0:
1358 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
1359 | engines: {node: '>=10'}
1360 |
1361 | lodash.merge@4.6.2:
1362 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
1363 |
1364 | lodash.sortby@4.7.0:
1365 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
1366 |
1367 | lodash@4.17.21:
1368 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
1369 |
1370 | loose-envify@1.4.0:
1371 | resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
1372 | hasBin: true
1373 |
1374 | loupe@3.1.2:
1375 | resolution: {integrity: sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg==}
1376 |
1377 | lru-cache@10.4.3:
1378 | resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
1379 |
1380 | lru-cache@6.0.0:
1381 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
1382 | engines: {node: '>=10'}
1383 |
1384 | lz-string@1.5.0:
1385 | resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==}
1386 | hasBin: true
1387 |
1388 | magic-string@0.30.17:
1389 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
1390 |
1391 | map-obj@1.0.1:
1392 | resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
1393 | engines: {node: '>=0.10.0'}
1394 |
1395 | map-obj@4.3.0:
1396 | resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==}
1397 | engines: {node: '>=8'}
1398 |
1399 | math-intrinsics@1.1.0:
1400 | resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
1401 | engines: {node: '>= 0.4'}
1402 |
1403 | meow@10.1.5:
1404 | resolution: {integrity: sha512-/d+PQ4GKmGvM9Bee/DPa8z3mXs/pkvJE2KEThngVNOqtmljC6K7NMPxtc2JeZYTmpWb9k/TmxjeL18ez3h7vCw==}
1405 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
1406 |
1407 | merge2@1.4.1:
1408 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
1409 | engines: {node: '>= 8'}
1410 |
1411 | micromatch@4.0.8:
1412 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
1413 | engines: {node: '>=8.6'}
1414 |
1415 | mime-db@1.52.0:
1416 | resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==}
1417 | engines: {node: '>= 0.6'}
1418 |
1419 | mime-types@2.1.35:
1420 | resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
1421 | engines: {node: '>= 0.6'}
1422 |
1423 | min-indent@1.0.1:
1424 | resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==}
1425 | engines: {node: '>=4'}
1426 |
1427 | minimatch@3.1.2:
1428 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
1429 |
1430 | minimatch@9.0.5:
1431 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
1432 | engines: {node: '>=16 || 14 >=14.17'}
1433 |
1434 | minimist-options@4.1.0:
1435 | resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==}
1436 | engines: {node: '>= 6'}
1437 |
1438 | minipass@7.1.2:
1439 | resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
1440 | engines: {node: '>=16 || 14 >=14.17'}
1441 |
1442 | ms@2.1.3:
1443 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
1444 |
1445 | mz@2.7.0:
1446 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
1447 |
1448 | nanoid@3.3.8:
1449 | resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==}
1450 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
1451 | hasBin: true
1452 |
1453 | natural-compare@1.4.0:
1454 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
1455 |
1456 | normalize-package-data@3.0.3:
1457 | resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==}
1458 | engines: {node: '>=10'}
1459 |
1460 | nwsapi@2.2.16:
1461 | resolution: {integrity: sha512-F1I/bimDpj3ncaNDhfyMWuFqmQDBwDB0Fogc2qpL3BWvkQteFD/8BzWuIRl83rq0DXfm8SGt/HFhLXZyljTXcQ==}
1462 |
1463 | object-assign@4.1.1:
1464 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
1465 | engines: {node: '>=0.10.0'}
1466 |
1467 | object-inspect@1.13.3:
1468 | resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==}
1469 | engines: {node: '>= 0.4'}
1470 |
1471 | object-keys@1.1.1:
1472 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
1473 | engines: {node: '>= 0.4'}
1474 |
1475 | object.assign@4.1.7:
1476 | resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
1477 | engines: {node: '>= 0.4'}
1478 |
1479 | object.entries@1.1.8:
1480 | resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==}
1481 | engines: {node: '>= 0.4'}
1482 |
1483 | object.fromentries@2.0.8:
1484 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
1485 | engines: {node: '>= 0.4'}
1486 |
1487 | object.values@1.2.1:
1488 | resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
1489 | engines: {node: '>= 0.4'}
1490 |
1491 | optionator@0.9.4:
1492 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
1493 | engines: {node: '>= 0.8.0'}
1494 |
1495 | own-keys@1.0.1:
1496 | resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
1497 | engines: {node: '>= 0.4'}
1498 |
1499 | p-limit@3.1.0:
1500 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
1501 | engines: {node: '>=10'}
1502 |
1503 | p-locate@5.0.0:
1504 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
1505 | engines: {node: '>=10'}
1506 |
1507 | package-json-from-dist@1.0.1:
1508 | resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
1509 |
1510 | parent-module@1.0.1:
1511 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
1512 | engines: {node: '>=6'}
1513 |
1514 | parse-json@5.2.0:
1515 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==}
1516 | engines: {node: '>=8'}
1517 |
1518 | parse5@7.2.1:
1519 | resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==}
1520 |
1521 | path-exists@4.0.0:
1522 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
1523 | engines: {node: '>=8'}
1524 |
1525 | path-key@3.1.1:
1526 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
1527 | engines: {node: '>=8'}
1528 |
1529 | path-parse@1.0.7:
1530 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
1531 |
1532 | path-scurry@1.11.1:
1533 | resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
1534 | engines: {node: '>=16 || 14 >=14.18'}
1535 |
1536 | pathe@2.0.2:
1537 | resolution: {integrity: sha512-15Ztpk+nov8DR524R4BF7uEuzESgzUEAV4Ah7CUMNGXdE5ELuvxElxGXndBl32vMSsWa1jpNf22Z+Er3sKwq+w==}
1538 |
1539 | pathval@2.0.0:
1540 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==}
1541 | engines: {node: '>= 14.16'}
1542 |
1543 | picocolors@1.1.1:
1544 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
1545 |
1546 | picomatch@2.3.1:
1547 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
1548 | engines: {node: '>=8.6'}
1549 |
1550 | picomatch@4.0.2:
1551 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==}
1552 | engines: {node: '>=12'}
1553 |
1554 | pirates@4.0.6:
1555 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==}
1556 | engines: {node: '>= 6'}
1557 |
1558 | possible-typed-array-names@1.0.0:
1559 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==}
1560 | engines: {node: '>= 0.4'}
1561 |
1562 | postcss-load-config@6.0.1:
1563 | resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
1564 | engines: {node: '>= 18'}
1565 | peerDependencies:
1566 | jiti: '>=1.21.0'
1567 | postcss: '>=8.0.9'
1568 | tsx: ^4.8.1
1569 | yaml: ^2.4.2
1570 | peerDependenciesMeta:
1571 | jiti:
1572 | optional: true
1573 | postcss:
1574 | optional: true
1575 | tsx:
1576 | optional: true
1577 | yaml:
1578 | optional: true
1579 |
1580 | postcss@8.5.1:
1581 | resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==}
1582 | engines: {node: ^10 || ^12 || >=14}
1583 |
1584 | prelude-ls@1.2.1:
1585 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
1586 | engines: {node: '>= 0.8.0'}
1587 |
1588 | prettier@3.4.2:
1589 | resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==}
1590 | engines: {node: '>=14'}
1591 | hasBin: true
1592 |
1593 | pretty-bytes@5.6.0:
1594 | resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==}
1595 | engines: {node: '>=6'}
1596 |
1597 | pretty-format@27.5.1:
1598 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==}
1599 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0}
1600 |
1601 | prop-types@15.8.1:
1602 | resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
1603 |
1604 | punycode@2.3.1:
1605 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==}
1606 | engines: {node: '>=6'}
1607 |
1608 | queue-microtask@1.2.3:
1609 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
1610 |
1611 | quick-lru@5.1.1:
1612 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==}
1613 | engines: {node: '>=10'}
1614 |
1615 | react-dom@18.3.1:
1616 | resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==}
1617 | peerDependencies:
1618 | react: ^18.3.1
1619 |
1620 | react-is@16.13.1:
1621 | resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
1622 |
1623 | react-is@17.0.2:
1624 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==}
1625 |
1626 | react@18.3.1:
1627 | resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==}
1628 | engines: {node: '>=0.10.0'}
1629 |
1630 | read-pkg-up@8.0.0:
1631 | resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==}
1632 | engines: {node: '>=12'}
1633 |
1634 | read-pkg@6.0.0:
1635 | resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==}
1636 | engines: {node: '>=12'}
1637 |
1638 | readdirp@4.1.1:
1639 | resolution: {integrity: sha512-h80JrZu/MHUZCyHu5ciuoI0+WxsCxzxJTILn6Fs8rxSnFPh+UVHYfeIxK1nVGugMqkfC4vJcBOYbkfkwYK0+gw==}
1640 | engines: {node: '>= 14.18.0'}
1641 |
1642 | redent@3.0.0:
1643 | resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==}
1644 | engines: {node: '>=8'}
1645 |
1646 | redent@4.0.0:
1647 | resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==}
1648 | engines: {node: '>=12'}
1649 |
1650 | reflect.getprototypeof@1.0.10:
1651 | resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
1652 | engines: {node: '>= 0.4'}
1653 |
1654 | regenerator-runtime@0.14.1:
1655 | resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==}
1656 |
1657 | regexp.prototype.flags@1.5.4:
1658 | resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
1659 | engines: {node: '>= 0.4'}
1660 |
1661 | resolve-from@4.0.0:
1662 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
1663 | engines: {node: '>=4'}
1664 |
1665 | resolve-from@5.0.0:
1666 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
1667 | engines: {node: '>=8'}
1668 |
1669 | resolve@2.0.0-next.5:
1670 | resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
1671 | hasBin: true
1672 |
1673 | reusify@1.0.4:
1674 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
1675 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
1676 |
1677 | rollup@4.32.0:
1678 | resolution: {integrity: sha512-JmrhfQR31Q4AuNBjjAX4s+a/Pu/Q8Q9iwjWBsjRH1q52SPFE2NqRMK6fUZKKnvKO6id+h7JIRf0oYsph53eATg==}
1679 | engines: {node: '>=18.0.0', npm: '>=8.0.0'}
1680 | hasBin: true
1681 |
1682 | rrweb-cssom@0.8.0:
1683 | resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==}
1684 |
1685 | run-parallel@1.2.0:
1686 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
1687 |
1688 | safe-array-concat@1.1.3:
1689 | resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
1690 | engines: {node: '>=0.4'}
1691 |
1692 | safe-push-apply@1.0.0:
1693 | resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
1694 | engines: {node: '>= 0.4'}
1695 |
1696 | safe-regex-test@1.1.0:
1697 | resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
1698 | engines: {node: '>= 0.4'}
1699 |
1700 | safer-buffer@2.1.2:
1701 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
1702 |
1703 | saxes@6.0.0:
1704 | resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==}
1705 | engines: {node: '>=v12.22.7'}
1706 |
1707 | scheduler@0.23.2:
1708 | resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==}
1709 |
1710 | semver@6.3.1:
1711 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
1712 | hasBin: true
1713 |
1714 | semver@7.6.3:
1715 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==}
1716 | engines: {node: '>=10'}
1717 | hasBin: true
1718 |
1719 | set-function-length@1.2.2:
1720 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
1721 | engines: {node: '>= 0.4'}
1722 |
1723 | set-function-name@2.0.2:
1724 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
1725 | engines: {node: '>= 0.4'}
1726 |
1727 | set-proto@1.0.0:
1728 | resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
1729 | engines: {node: '>= 0.4'}
1730 |
1731 | shebang-command@2.0.0:
1732 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
1733 | engines: {node: '>=8'}
1734 |
1735 | shebang-regex@3.0.0:
1736 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
1737 | engines: {node: '>=8'}
1738 |
1739 | side-channel-list@1.0.0:
1740 | resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
1741 | engines: {node: '>= 0.4'}
1742 |
1743 | side-channel-map@1.0.1:
1744 | resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
1745 | engines: {node: '>= 0.4'}
1746 |
1747 | side-channel-weakmap@1.0.2:
1748 | resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
1749 | engines: {node: '>= 0.4'}
1750 |
1751 | side-channel@1.1.0:
1752 | resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
1753 | engines: {node: '>= 0.4'}
1754 |
1755 | siginfo@2.0.0:
1756 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
1757 |
1758 | signal-exit@4.1.0:
1759 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
1760 | engines: {node: '>=14'}
1761 |
1762 | source-map-js@1.2.1:
1763 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
1764 | engines: {node: '>=0.10.0'}
1765 |
1766 | source-map@0.8.0-beta.0:
1767 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
1768 | engines: {node: '>= 8'}
1769 |
1770 | spdx-correct@3.2.0:
1771 | resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==}
1772 |
1773 | spdx-exceptions@2.5.0:
1774 | resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==}
1775 |
1776 | spdx-expression-parse@3.0.1:
1777 | resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==}
1778 |
1779 | spdx-license-ids@3.0.21:
1780 | resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==}
1781 |
1782 | stackback@0.0.2:
1783 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
1784 |
1785 | std-env@3.8.0:
1786 | resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==}
1787 |
1788 | string-width@4.2.3:
1789 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
1790 | engines: {node: '>=8'}
1791 |
1792 | string-width@5.1.2:
1793 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
1794 | engines: {node: '>=12'}
1795 |
1796 | string.prototype.matchall@4.0.12:
1797 | resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
1798 | engines: {node: '>= 0.4'}
1799 |
1800 | string.prototype.repeat@1.0.0:
1801 | resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
1802 |
1803 | string.prototype.trim@1.2.10:
1804 | resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
1805 | engines: {node: '>= 0.4'}
1806 |
1807 | string.prototype.trimend@1.0.9:
1808 | resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
1809 | engines: {node: '>= 0.4'}
1810 |
1811 | string.prototype.trimstart@1.0.8:
1812 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
1813 | engines: {node: '>= 0.4'}
1814 |
1815 | strip-ansi@6.0.1:
1816 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
1817 | engines: {node: '>=8'}
1818 |
1819 | strip-ansi@7.1.0:
1820 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
1821 | engines: {node: '>=12'}
1822 |
1823 | strip-indent@3.0.0:
1824 | resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==}
1825 | engines: {node: '>=8'}
1826 |
1827 | strip-indent@4.0.0:
1828 | resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==}
1829 | engines: {node: '>=12'}
1830 |
1831 | strip-json-comments@3.1.1:
1832 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
1833 | engines: {node: '>=8'}
1834 |
1835 | sucrase@3.35.0:
1836 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
1837 | engines: {node: '>=16 || 14 >=14.17'}
1838 | hasBin: true
1839 |
1840 | supports-color@7.2.0:
1841 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
1842 | engines: {node: '>=8'}
1843 |
1844 | supports-preserve-symlinks-flag@1.0.0:
1845 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
1846 | engines: {node: '>= 0.4'}
1847 |
1848 | symbol-tree@3.2.4:
1849 | resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==}
1850 |
1851 | thenify-all@1.6.0:
1852 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
1853 | engines: {node: '>=0.8'}
1854 |
1855 | thenify@3.3.1:
1856 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
1857 |
1858 | tinybench@2.9.0:
1859 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
1860 |
1861 | tinyexec@0.3.2:
1862 | resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
1863 |
1864 | tinyglobby@0.2.10:
1865 | resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==}
1866 | engines: {node: '>=12.0.0'}
1867 |
1868 | tinypool@1.0.2:
1869 | resolution: {integrity: sha512-al6n+QEANGFOMf/dmUMsuS5/r9B06uwlyNjZZql/zv8J7ybHCgoihBNORZCY2mzUuAnomQa2JdhyHKzZxPCrFA==}
1870 | engines: {node: ^18.0.0 || >=20.0.0}
1871 |
1872 | tinyrainbow@2.0.0:
1873 | resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
1874 | engines: {node: '>=14.0.0'}
1875 |
1876 | tinyspy@3.0.2:
1877 | resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==}
1878 | engines: {node: '>=14.0.0'}
1879 |
1880 | tldts-core@6.1.74:
1881 | resolution: {integrity: sha512-gTwtY6L2GfuxiL4CWpLknv9JDYYqBvKCk/BT5uAaAvCA0s6pzX7lr2IrkQZSUlnSjRHIjTl8ZwKCVXJ7XNRWYw==}
1882 |
1883 | tldts@6.1.74:
1884 | resolution: {integrity: sha512-O5vTZ1UmmEmrLl/59U9igitnSMlprALLaLgbv//dEvjobPT9vyURhHXKMCDLEhn3qxZFIkb9PwAfNYV0Ol7RPQ==}
1885 | hasBin: true
1886 |
1887 | to-regex-range@5.0.1:
1888 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
1889 | engines: {node: '>=8.0'}
1890 |
1891 | tough-cookie@5.1.0:
1892 | resolution: {integrity: sha512-rvZUv+7MoBYTiDmFPBrhL7Ujx9Sk+q9wwm22x8c8T5IJaR+Wsyc7TNxbVxo84kZoRJZZMazowFLqpankBEQrGg==}
1893 | engines: {node: '>=16'}
1894 |
1895 | tr46@1.0.1:
1896 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
1897 |
1898 | tr46@5.0.0:
1899 | resolution: {integrity: sha512-tk2G5R2KRwBd+ZN0zaEXpmzdKyOYksXwywulIX95MBODjSzMIuQnQ3m8JxgbhnL1LeVo7lqQKsYa1O3Htl7K5g==}
1900 | engines: {node: '>=18'}
1901 |
1902 | tree-kill@1.2.2:
1903 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
1904 | hasBin: true
1905 |
1906 | trim-newlines@4.1.1:
1907 | resolution: {integrity: sha512-jRKj0n0jXWo6kh62nA5TEh3+4igKDXLvzBJcPpiizP7oOolUrYIxmVBG9TOtHYFHoddUk6YvAkGeGoSVTXfQXQ==}
1908 | engines: {node: '>=12'}
1909 |
1910 | ts-api-utils@2.0.0:
1911 | resolution: {integrity: sha512-xCt/TOAc+EOHS1XPnijD3/yzpH6qg2xppZO1YDqGoVsNXfQfzHpOdNuXwrwOU8u4ITXJyDCTyt8w5g1sZv9ynQ==}
1912 | engines: {node: '>=18.12'}
1913 | peerDependencies:
1914 | typescript: '>=4.8.4'
1915 |
1916 | ts-interface-checker@0.1.13:
1917 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
1918 |
1919 | tslib@2.8.1:
1920 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
1921 |
1922 | tsup@8.3.5:
1923 | resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==}
1924 | engines: {node: '>=18'}
1925 | hasBin: true
1926 | peerDependencies:
1927 | '@microsoft/api-extractor': ^7.36.0
1928 | '@swc/core': ^1
1929 | postcss: ^8.4.12
1930 | typescript: '>=4.5.0'
1931 | peerDependenciesMeta:
1932 | '@microsoft/api-extractor':
1933 | optional: true
1934 | '@swc/core':
1935 | optional: true
1936 | postcss:
1937 | optional: true
1938 | typescript:
1939 | optional: true
1940 |
1941 | type-check@0.4.0:
1942 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
1943 | engines: {node: '>= 0.8.0'}
1944 |
1945 | type-fest@1.4.0:
1946 | resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
1947 | engines: {node: '>=10'}
1948 |
1949 | typed-array-buffer@1.0.3:
1950 | resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
1951 | engines: {node: '>= 0.4'}
1952 |
1953 | typed-array-byte-length@1.0.3:
1954 | resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
1955 | engines: {node: '>= 0.4'}
1956 |
1957 | typed-array-byte-offset@1.0.4:
1958 | resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
1959 | engines: {node: '>= 0.4'}
1960 |
1961 | typed-array-length@1.0.7:
1962 | resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
1963 | engines: {node: '>= 0.4'}
1964 |
1965 | typescript-eslint@8.21.0:
1966 | resolution: {integrity: sha512-txEKYY4XMKwPXxNkN8+AxAdX6iIJAPiJbHE/FpQccs/sxw8Lf26kqwC3cn0xkHlW8kEbLhkhCsjWuMveaY9Rxw==}
1967 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
1968 | peerDependencies:
1969 | eslint: ^8.57.0 || ^9.0.0
1970 | typescript: '>=4.8.4 <5.8.0'
1971 |
1972 | typescript@5.7.3:
1973 | resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==}
1974 | engines: {node: '>=14.17'}
1975 | hasBin: true
1976 |
1977 | unbox-primitive@1.1.0:
1978 | resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
1979 | engines: {node: '>= 0.4'}
1980 |
1981 | undici-types@6.20.0:
1982 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==}
1983 |
1984 | uri-js@4.4.1:
1985 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
1986 |
1987 | validate-npm-package-license@3.0.4:
1988 | resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==}
1989 |
1990 | vite-node@3.0.4:
1991 | resolution: {integrity: sha512-7JZKEzcYV2Nx3u6rlvN8qdo3QV7Fxyt6hx+CCKz9fbWxdX5IvUOmTWEAxMrWxaiSf7CKGLJQ5rFu8prb/jBjOA==}
1992 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
1993 | hasBin: true
1994 |
1995 | vite@6.0.11:
1996 | resolution: {integrity: sha512-4VL9mQPKoHy4+FE0NnRE/kbY51TOfaknxAjt3fJbGJxhIpBZiqVzlZDEesWWsuREXHwNdAoOFZ9MkPEVXczHwg==}
1997 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
1998 | hasBin: true
1999 | peerDependencies:
2000 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
2001 | jiti: '>=1.21.0'
2002 | less: '*'
2003 | lightningcss: ^1.21.0
2004 | sass: '*'
2005 | sass-embedded: '*'
2006 | stylus: '*'
2007 | sugarss: '*'
2008 | terser: ^5.16.0
2009 | tsx: ^4.8.1
2010 | yaml: ^2.4.2
2011 | peerDependenciesMeta:
2012 | '@types/node':
2013 | optional: true
2014 | jiti:
2015 | optional: true
2016 | less:
2017 | optional: true
2018 | lightningcss:
2019 | optional: true
2020 | sass:
2021 | optional: true
2022 | sass-embedded:
2023 | optional: true
2024 | stylus:
2025 | optional: true
2026 | sugarss:
2027 | optional: true
2028 | terser:
2029 | optional: true
2030 | tsx:
2031 | optional: true
2032 | yaml:
2033 | optional: true
2034 |
2035 | vitest@3.0.4:
2036 | resolution: {integrity: sha512-6XG8oTKy2gnJIFTHP6LD7ExFeNLxiTkK3CfMvT7IfR8IN+BYICCf0lXUQmX7i7JoxUP8QmeP4mTnWXgflu4yjw==}
2037 | engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
2038 | hasBin: true
2039 | peerDependencies:
2040 | '@edge-runtime/vm': '*'
2041 | '@types/debug': ^4.1.12
2042 | '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
2043 | '@vitest/browser': 3.0.4
2044 | '@vitest/ui': 3.0.4
2045 | happy-dom: '*'
2046 | jsdom: '*'
2047 | peerDependenciesMeta:
2048 | '@edge-runtime/vm':
2049 | optional: true
2050 | '@types/debug':
2051 | optional: true
2052 | '@types/node':
2053 | optional: true
2054 | '@vitest/browser':
2055 | optional: true
2056 | '@vitest/ui':
2057 | optional: true
2058 | happy-dom:
2059 | optional: true
2060 | jsdom:
2061 | optional: true
2062 |
2063 | w3c-xmlserializer@5.0.0:
2064 | resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==}
2065 | engines: {node: '>=18'}
2066 |
2067 | webidl-conversions@4.0.2:
2068 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
2069 |
2070 | webidl-conversions@7.0.0:
2071 | resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==}
2072 | engines: {node: '>=12'}
2073 |
2074 | whatwg-encoding@3.1.1:
2075 | resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==}
2076 | engines: {node: '>=18'}
2077 |
2078 | whatwg-mimetype@4.0.0:
2079 | resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==}
2080 | engines: {node: '>=18'}
2081 |
2082 | whatwg-url@14.1.0:
2083 | resolution: {integrity: sha512-jlf/foYIKywAt3x/XWKZ/3rz8OSJPiWktjmk891alJUEjiVxKX9LEO92qH3hv4aJ0mN3MWPvGMCy8jQi95xK4w==}
2084 | engines: {node: '>=18'}
2085 |
2086 | whatwg-url@7.1.0:
2087 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
2088 |
2089 | which-boxed-primitive@1.1.1:
2090 | resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
2091 | engines: {node: '>= 0.4'}
2092 |
2093 | which-builtin-type@1.2.1:
2094 | resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
2095 | engines: {node: '>= 0.4'}
2096 |
2097 | which-collection@1.0.2:
2098 | resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
2099 | engines: {node: '>= 0.4'}
2100 |
2101 | which-typed-array@1.1.18:
2102 | resolution: {integrity: sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==}
2103 | engines: {node: '>= 0.4'}
2104 |
2105 | which@2.0.2:
2106 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
2107 | engines: {node: '>= 8'}
2108 | hasBin: true
2109 |
2110 | why-is-node-running@2.3.0:
2111 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
2112 | engines: {node: '>=8'}
2113 | hasBin: true
2114 |
2115 | word-wrap@1.2.5:
2116 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
2117 | engines: {node: '>=0.10.0'}
2118 |
2119 | wrap-ansi@7.0.0:
2120 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
2121 | engines: {node: '>=10'}
2122 |
2123 | wrap-ansi@8.1.0:
2124 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
2125 | engines: {node: '>=12'}
2126 |
2127 | ws@8.18.0:
2128 | resolution: {integrity: sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==}
2129 | engines: {node: '>=10.0.0'}
2130 | peerDependencies:
2131 | bufferutil: ^4.0.1
2132 | utf-8-validate: '>=5.0.2'
2133 | peerDependenciesMeta:
2134 | bufferutil:
2135 | optional: true
2136 | utf-8-validate:
2137 | optional: true
2138 |
2139 | xml-name-validator@5.0.0:
2140 | resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==}
2141 | engines: {node: '>=18'}
2142 |
2143 | xmlchars@2.2.0:
2144 | resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==}
2145 |
2146 | yallist@4.0.0:
2147 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
2148 |
2149 | yargs-parser@20.2.9:
2150 | resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
2151 | engines: {node: '>=10'}
2152 |
2153 | yocto-queue@0.1.0:
2154 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
2155 | engines: {node: '>=10'}
2156 |
2157 | snapshots:
2158 |
2159 | '@adobe/css-tools@4.4.1': {}
2160 |
2161 | '@asamuzakjp/css-color@2.8.3':
2162 | dependencies:
2163 | '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
2164 | '@csstools/css-color-parser': 3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
2165 | '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
2166 | '@csstools/css-tokenizer': 3.0.3
2167 | lru-cache: 10.4.3
2168 |
2169 | '@babel/code-frame@7.26.2':
2170 | dependencies:
2171 | '@babel/helper-validator-identifier': 7.25.9
2172 | js-tokens: 4.0.0
2173 | picocolors: 1.1.1
2174 |
2175 | '@babel/helper-validator-identifier@7.25.9': {}
2176 |
2177 | '@babel/runtime@7.26.0':
2178 | dependencies:
2179 | regenerator-runtime: 0.14.1
2180 |
2181 | '@csstools/color-helpers@5.0.1': {}
2182 |
2183 | '@csstools/css-calc@2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
2184 | dependencies:
2185 | '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
2186 | '@csstools/css-tokenizer': 3.0.3
2187 |
2188 | '@csstools/css-color-parser@3.0.7(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)':
2189 | dependencies:
2190 | '@csstools/color-helpers': 5.0.1
2191 | '@csstools/css-calc': 2.1.1(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
2192 | '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3)
2193 | '@csstools/css-tokenizer': 3.0.3
2194 |
2195 | '@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)':
2196 | dependencies:
2197 | '@csstools/css-tokenizer': 3.0.3
2198 |
2199 | '@csstools/css-tokenizer@3.0.3': {}
2200 |
2201 | '@esbuild/aix-ppc64@0.24.2':
2202 | optional: true
2203 |
2204 | '@esbuild/android-arm64@0.24.2':
2205 | optional: true
2206 |
2207 | '@esbuild/android-arm@0.24.2':
2208 | optional: true
2209 |
2210 | '@esbuild/android-x64@0.24.2':
2211 | optional: true
2212 |
2213 | '@esbuild/darwin-arm64@0.24.2':
2214 | optional: true
2215 |
2216 | '@esbuild/darwin-x64@0.24.2':
2217 | optional: true
2218 |
2219 | '@esbuild/freebsd-arm64@0.24.2':
2220 | optional: true
2221 |
2222 | '@esbuild/freebsd-x64@0.24.2':
2223 | optional: true
2224 |
2225 | '@esbuild/linux-arm64@0.24.2':
2226 | optional: true
2227 |
2228 | '@esbuild/linux-arm@0.24.2':
2229 | optional: true
2230 |
2231 | '@esbuild/linux-ia32@0.24.2':
2232 | optional: true
2233 |
2234 | '@esbuild/linux-loong64@0.24.2':
2235 | optional: true
2236 |
2237 | '@esbuild/linux-mips64el@0.24.2':
2238 | optional: true
2239 |
2240 | '@esbuild/linux-ppc64@0.24.2':
2241 | optional: true
2242 |
2243 | '@esbuild/linux-riscv64@0.24.2':
2244 | optional: true
2245 |
2246 | '@esbuild/linux-s390x@0.24.2':
2247 | optional: true
2248 |
2249 | '@esbuild/linux-x64@0.24.2':
2250 | optional: true
2251 |
2252 | '@esbuild/netbsd-arm64@0.24.2':
2253 | optional: true
2254 |
2255 | '@esbuild/netbsd-x64@0.24.2':
2256 | optional: true
2257 |
2258 | '@esbuild/openbsd-arm64@0.24.2':
2259 | optional: true
2260 |
2261 | '@esbuild/openbsd-x64@0.24.2':
2262 | optional: true
2263 |
2264 | '@esbuild/sunos-x64@0.24.2':
2265 | optional: true
2266 |
2267 | '@esbuild/win32-arm64@0.24.2':
2268 | optional: true
2269 |
2270 | '@esbuild/win32-ia32@0.24.2':
2271 | optional: true
2272 |
2273 | '@esbuild/win32-x64@0.24.2':
2274 | optional: true
2275 |
2276 | '@eslint-community/eslint-utils@4.4.1(eslint@9.18.0)':
2277 | dependencies:
2278 | eslint: 9.18.0
2279 | eslint-visitor-keys: 3.4.3
2280 |
2281 | '@eslint-community/regexpp@4.12.1': {}
2282 |
2283 | '@eslint/config-array@0.19.1':
2284 | dependencies:
2285 | '@eslint/object-schema': 2.1.5
2286 | debug: 4.4.0
2287 | minimatch: 3.1.2
2288 | transitivePeerDependencies:
2289 | - supports-color
2290 |
2291 | '@eslint/core@0.10.0':
2292 | dependencies:
2293 | '@types/json-schema': 7.0.15
2294 |
2295 | '@eslint/eslintrc@3.2.0':
2296 | dependencies:
2297 | ajv: 6.12.6
2298 | debug: 4.4.0
2299 | espree: 10.3.0
2300 | globals: 14.0.0
2301 | ignore: 5.3.2
2302 | import-fresh: 3.3.0
2303 | js-yaml: 4.1.0
2304 | minimatch: 3.1.2
2305 | strip-json-comments: 3.1.1
2306 | transitivePeerDependencies:
2307 | - supports-color
2308 |
2309 | '@eslint/js@9.18.0': {}
2310 |
2311 | '@eslint/object-schema@2.1.5': {}
2312 |
2313 | '@eslint/plugin-kit@0.2.5':
2314 | dependencies:
2315 | '@eslint/core': 0.10.0
2316 | levn: 0.4.1
2317 |
2318 | '@humanfs/core@0.19.1': {}
2319 |
2320 | '@humanfs/node@0.16.6':
2321 | dependencies:
2322 | '@humanfs/core': 0.19.1
2323 | '@humanwhocodes/retry': 0.3.1
2324 |
2325 | '@humanwhocodes/module-importer@1.0.1': {}
2326 |
2327 | '@humanwhocodes/retry@0.3.1': {}
2328 |
2329 | '@humanwhocodes/retry@0.4.1': {}
2330 |
2331 | '@isaacs/cliui@8.0.2':
2332 | dependencies:
2333 | string-width: 5.1.2
2334 | string-width-cjs: string-width@4.2.3
2335 | strip-ansi: 7.1.0
2336 | strip-ansi-cjs: strip-ansi@6.0.1
2337 | wrap-ansi: 8.1.0
2338 | wrap-ansi-cjs: wrap-ansi@7.0.0
2339 |
2340 | '@jridgewell/gen-mapping@0.3.8':
2341 | dependencies:
2342 | '@jridgewell/set-array': 1.2.1
2343 | '@jridgewell/sourcemap-codec': 1.5.0
2344 | '@jridgewell/trace-mapping': 0.3.25
2345 |
2346 | '@jridgewell/resolve-uri@3.1.2': {}
2347 |
2348 | '@jridgewell/set-array@1.2.1': {}
2349 |
2350 | '@jridgewell/sourcemap-codec@1.5.0': {}
2351 |
2352 | '@jridgewell/trace-mapping@0.3.25':
2353 | dependencies:
2354 | '@jridgewell/resolve-uri': 3.1.2
2355 | '@jridgewell/sourcemap-codec': 1.5.0
2356 |
2357 | '@nodelib/fs.scandir@2.1.5':
2358 | dependencies:
2359 | '@nodelib/fs.stat': 2.0.5
2360 | run-parallel: 1.2.0
2361 |
2362 | '@nodelib/fs.stat@2.0.5': {}
2363 |
2364 | '@nodelib/fs.walk@1.2.8':
2365 | dependencies:
2366 | '@nodelib/fs.scandir': 2.1.5
2367 | fastq: 1.18.0
2368 |
2369 | '@pkgjs/parseargs@0.11.0':
2370 | optional: true
2371 |
2372 | '@rollup/rollup-android-arm-eabi@4.32.0':
2373 | optional: true
2374 |
2375 | '@rollup/rollup-android-arm64@4.32.0':
2376 | optional: true
2377 |
2378 | '@rollup/rollup-darwin-arm64@4.32.0':
2379 | optional: true
2380 |
2381 | '@rollup/rollup-darwin-x64@4.32.0':
2382 | optional: true
2383 |
2384 | '@rollup/rollup-freebsd-arm64@4.32.0':
2385 | optional: true
2386 |
2387 | '@rollup/rollup-freebsd-x64@4.32.0':
2388 | optional: true
2389 |
2390 | '@rollup/rollup-linux-arm-gnueabihf@4.32.0':
2391 | optional: true
2392 |
2393 | '@rollup/rollup-linux-arm-musleabihf@4.32.0':
2394 | optional: true
2395 |
2396 | '@rollup/rollup-linux-arm64-gnu@4.32.0':
2397 | optional: true
2398 |
2399 | '@rollup/rollup-linux-arm64-musl@4.32.0':
2400 | optional: true
2401 |
2402 | '@rollup/rollup-linux-loongarch64-gnu@4.32.0':
2403 | optional: true
2404 |
2405 | '@rollup/rollup-linux-powerpc64le-gnu@4.32.0':
2406 | optional: true
2407 |
2408 | '@rollup/rollup-linux-riscv64-gnu@4.32.0':
2409 | optional: true
2410 |
2411 | '@rollup/rollup-linux-s390x-gnu@4.32.0':
2412 | optional: true
2413 |
2414 | '@rollup/rollup-linux-x64-gnu@4.32.0':
2415 | optional: true
2416 |
2417 | '@rollup/rollup-linux-x64-musl@4.32.0':
2418 | optional: true
2419 |
2420 | '@rollup/rollup-win32-arm64-msvc@4.32.0':
2421 | optional: true
2422 |
2423 | '@rollup/rollup-win32-ia32-msvc@4.32.0':
2424 | optional: true
2425 |
2426 | '@rollup/rollup-win32-x64-msvc@4.32.0':
2427 | optional: true
2428 |
2429 | '@testing-library/dom@10.4.0':
2430 | dependencies:
2431 | '@babel/code-frame': 7.26.2
2432 | '@babel/runtime': 7.26.0
2433 | '@types/aria-query': 5.0.4
2434 | aria-query: 5.3.0
2435 | chalk: 4.1.2
2436 | dom-accessibility-api: 0.5.16
2437 | lz-string: 1.5.0
2438 | pretty-format: 27.5.1
2439 |
2440 | '@testing-library/jest-dom@6.6.3':
2441 | dependencies:
2442 | '@adobe/css-tools': 4.4.1
2443 | aria-query: 5.3.0
2444 | chalk: 3.0.0
2445 | css.escape: 1.5.1
2446 | dom-accessibility-api: 0.6.3
2447 | lodash: 4.17.21
2448 | redent: 3.0.0
2449 |
2450 | '@testing-library/react@16.2.0(@testing-library/dom@10.4.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)':
2451 | dependencies:
2452 | '@babel/runtime': 7.26.0
2453 | '@testing-library/dom': 10.4.0
2454 | react: 18.3.1
2455 | react-dom: 18.3.1(react@18.3.1)
2456 | optionalDependencies:
2457 | '@types/react': 18.3.18
2458 |
2459 | '@types/aria-query@5.0.4': {}
2460 |
2461 | '@types/estree@1.0.6': {}
2462 |
2463 | '@types/json-schema@7.0.15': {}
2464 |
2465 | '@types/minimist@1.2.5': {}
2466 |
2467 | '@types/node@22.10.10':
2468 | dependencies:
2469 | undici-types: 6.20.0
2470 |
2471 | '@types/normalize-package-data@2.4.4': {}
2472 |
2473 | '@types/prop-types@15.7.14': {}
2474 |
2475 | '@types/react@18.3.18':
2476 | dependencies:
2477 | '@types/prop-types': 15.7.14
2478 | csstype: 3.1.3
2479 |
2480 | '@typescript-eslint/eslint-plugin@8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.18.0)(typescript@5.7.3))(eslint@9.18.0)(typescript@5.7.3)':
2481 | dependencies:
2482 | '@eslint-community/regexpp': 4.12.1
2483 | '@typescript-eslint/parser': 8.21.0(eslint@9.18.0)(typescript@5.7.3)
2484 | '@typescript-eslint/scope-manager': 8.21.0
2485 | '@typescript-eslint/type-utils': 8.21.0(eslint@9.18.0)(typescript@5.7.3)
2486 | '@typescript-eslint/utils': 8.21.0(eslint@9.18.0)(typescript@5.7.3)
2487 | '@typescript-eslint/visitor-keys': 8.21.0
2488 | eslint: 9.18.0
2489 | graphemer: 1.4.0
2490 | ignore: 5.3.2
2491 | natural-compare: 1.4.0
2492 | ts-api-utils: 2.0.0(typescript@5.7.3)
2493 | typescript: 5.7.3
2494 | transitivePeerDependencies:
2495 | - supports-color
2496 |
2497 | '@typescript-eslint/parser@8.21.0(eslint@9.18.0)(typescript@5.7.3)':
2498 | dependencies:
2499 | '@typescript-eslint/scope-manager': 8.21.0
2500 | '@typescript-eslint/types': 8.21.0
2501 | '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3)
2502 | '@typescript-eslint/visitor-keys': 8.21.0
2503 | debug: 4.4.0
2504 | eslint: 9.18.0
2505 | typescript: 5.7.3
2506 | transitivePeerDependencies:
2507 | - supports-color
2508 |
2509 | '@typescript-eslint/scope-manager@8.21.0':
2510 | dependencies:
2511 | '@typescript-eslint/types': 8.21.0
2512 | '@typescript-eslint/visitor-keys': 8.21.0
2513 |
2514 | '@typescript-eslint/type-utils@8.21.0(eslint@9.18.0)(typescript@5.7.3)':
2515 | dependencies:
2516 | '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3)
2517 | '@typescript-eslint/utils': 8.21.0(eslint@9.18.0)(typescript@5.7.3)
2518 | debug: 4.4.0
2519 | eslint: 9.18.0
2520 | ts-api-utils: 2.0.0(typescript@5.7.3)
2521 | typescript: 5.7.3
2522 | transitivePeerDependencies:
2523 | - supports-color
2524 |
2525 | '@typescript-eslint/types@8.21.0': {}
2526 |
2527 | '@typescript-eslint/typescript-estree@8.21.0(typescript@5.7.3)':
2528 | dependencies:
2529 | '@typescript-eslint/types': 8.21.0
2530 | '@typescript-eslint/visitor-keys': 8.21.0
2531 | debug: 4.4.0
2532 | fast-glob: 3.3.3
2533 | is-glob: 4.0.3
2534 | minimatch: 9.0.5
2535 | semver: 7.6.3
2536 | ts-api-utils: 2.0.0(typescript@5.7.3)
2537 | typescript: 5.7.3
2538 | transitivePeerDependencies:
2539 | - supports-color
2540 |
2541 | '@typescript-eslint/utils@8.21.0(eslint@9.18.0)(typescript@5.7.3)':
2542 | dependencies:
2543 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0)
2544 | '@typescript-eslint/scope-manager': 8.21.0
2545 | '@typescript-eslint/types': 8.21.0
2546 | '@typescript-eslint/typescript-estree': 8.21.0(typescript@5.7.3)
2547 | eslint: 9.18.0
2548 | typescript: 5.7.3
2549 | transitivePeerDependencies:
2550 | - supports-color
2551 |
2552 | '@typescript-eslint/visitor-keys@8.21.0':
2553 | dependencies:
2554 | '@typescript-eslint/types': 8.21.0
2555 | eslint-visitor-keys: 4.2.0
2556 |
2557 | '@vitest/expect@3.0.4':
2558 | dependencies:
2559 | '@vitest/spy': 3.0.4
2560 | '@vitest/utils': 3.0.4
2561 | chai: 5.1.2
2562 | tinyrainbow: 2.0.0
2563 |
2564 | '@vitest/mocker@3.0.4(vite@6.0.11(@types/node@22.10.10))':
2565 | dependencies:
2566 | '@vitest/spy': 3.0.4
2567 | estree-walker: 3.0.3
2568 | magic-string: 0.30.17
2569 | optionalDependencies:
2570 | vite: 6.0.11(@types/node@22.10.10)
2571 |
2572 | '@vitest/pretty-format@3.0.4':
2573 | dependencies:
2574 | tinyrainbow: 2.0.0
2575 |
2576 | '@vitest/runner@3.0.4':
2577 | dependencies:
2578 | '@vitest/utils': 3.0.4
2579 | pathe: 2.0.2
2580 |
2581 | '@vitest/snapshot@3.0.4':
2582 | dependencies:
2583 | '@vitest/pretty-format': 3.0.4
2584 | magic-string: 0.30.17
2585 | pathe: 2.0.2
2586 |
2587 | '@vitest/spy@3.0.4':
2588 | dependencies:
2589 | tinyspy: 3.0.2
2590 |
2591 | '@vitest/utils@3.0.4':
2592 | dependencies:
2593 | '@vitest/pretty-format': 3.0.4
2594 | loupe: 3.1.2
2595 | tinyrainbow: 2.0.0
2596 |
2597 | acorn-jsx@5.3.2(acorn@8.14.0):
2598 | dependencies:
2599 | acorn: 8.14.0
2600 |
2601 | acorn@8.14.0: {}
2602 |
2603 | agent-base@7.1.3: {}
2604 |
2605 | ajv@6.12.6:
2606 | dependencies:
2607 | fast-deep-equal: 3.1.3
2608 | fast-json-stable-stringify: 2.1.0
2609 | json-schema-traverse: 0.4.1
2610 | uri-js: 4.4.1
2611 |
2612 | ansi-regex@5.0.1: {}
2613 |
2614 | ansi-regex@6.1.0: {}
2615 |
2616 | ansi-styles@4.3.0:
2617 | dependencies:
2618 | color-convert: 2.0.1
2619 |
2620 | ansi-styles@5.2.0: {}
2621 |
2622 | ansi-styles@6.2.1: {}
2623 |
2624 | any-promise@1.3.0: {}
2625 |
2626 | argparse@2.0.1: {}
2627 |
2628 | aria-query@5.3.0:
2629 | dependencies:
2630 | dequal: 2.0.3
2631 |
2632 | array-buffer-byte-length@1.0.2:
2633 | dependencies:
2634 | call-bound: 1.0.3
2635 | is-array-buffer: 3.0.5
2636 |
2637 | array-includes@3.1.8:
2638 | dependencies:
2639 | call-bind: 1.0.8
2640 | define-properties: 1.2.1
2641 | es-abstract: 1.23.9
2642 | es-object-atoms: 1.1.1
2643 | get-intrinsic: 1.2.7
2644 | is-string: 1.1.1
2645 |
2646 | array.prototype.findlast@1.2.5:
2647 | dependencies:
2648 | call-bind: 1.0.8
2649 | define-properties: 1.2.1
2650 | es-abstract: 1.23.9
2651 | es-errors: 1.3.0
2652 | es-object-atoms: 1.1.1
2653 | es-shim-unscopables: 1.0.2
2654 |
2655 | array.prototype.flat@1.3.3:
2656 | dependencies:
2657 | call-bind: 1.0.8
2658 | define-properties: 1.2.1
2659 | es-abstract: 1.23.9
2660 | es-shim-unscopables: 1.0.2
2661 |
2662 | array.prototype.flatmap@1.3.3:
2663 | dependencies:
2664 | call-bind: 1.0.8
2665 | define-properties: 1.2.1
2666 | es-abstract: 1.23.9
2667 | es-shim-unscopables: 1.0.2
2668 |
2669 | array.prototype.tosorted@1.1.4:
2670 | dependencies:
2671 | call-bind: 1.0.8
2672 | define-properties: 1.2.1
2673 | es-abstract: 1.23.9
2674 | es-errors: 1.3.0
2675 | es-shim-unscopables: 1.0.2
2676 |
2677 | arraybuffer.prototype.slice@1.0.4:
2678 | dependencies:
2679 | array-buffer-byte-length: 1.0.2
2680 | call-bind: 1.0.8
2681 | define-properties: 1.2.1
2682 | es-abstract: 1.23.9
2683 | es-errors: 1.3.0
2684 | get-intrinsic: 1.2.7
2685 | is-array-buffer: 3.0.5
2686 |
2687 | arrify@1.0.1: {}
2688 |
2689 | assertion-error@2.0.1: {}
2690 |
2691 | async-function@1.0.0: {}
2692 |
2693 | asynckit@0.4.0: {}
2694 |
2695 | available-typed-arrays@1.0.7:
2696 | dependencies:
2697 | possible-typed-array-names: 1.0.0
2698 |
2699 | balanced-match@1.0.2: {}
2700 |
2701 | brace-expansion@1.1.11:
2702 | dependencies:
2703 | balanced-match: 1.0.2
2704 | concat-map: 0.0.1
2705 |
2706 | brace-expansion@2.0.1:
2707 | dependencies:
2708 | balanced-match: 1.0.2
2709 |
2710 | braces@3.0.3:
2711 | dependencies:
2712 | fill-range: 7.1.1
2713 |
2714 | bundle-require@5.1.0(esbuild@0.24.2):
2715 | dependencies:
2716 | esbuild: 0.24.2
2717 | load-tsconfig: 0.2.5
2718 |
2719 | cac@6.7.14: {}
2720 |
2721 | call-bind-apply-helpers@1.0.1:
2722 | dependencies:
2723 | es-errors: 1.3.0
2724 | function-bind: 1.1.2
2725 |
2726 | call-bind@1.0.8:
2727 | dependencies:
2728 | call-bind-apply-helpers: 1.0.1
2729 | es-define-property: 1.0.1
2730 | get-intrinsic: 1.2.7
2731 | set-function-length: 1.2.2
2732 |
2733 | call-bound@1.0.3:
2734 | dependencies:
2735 | call-bind-apply-helpers: 1.0.1
2736 | get-intrinsic: 1.2.7
2737 |
2738 | callsites@3.1.0: {}
2739 |
2740 | camelcase-keys@7.0.2:
2741 | dependencies:
2742 | camelcase: 6.3.0
2743 | map-obj: 4.3.0
2744 | quick-lru: 5.1.1
2745 | type-fest: 1.4.0
2746 |
2747 | camelcase@6.3.0: {}
2748 |
2749 | chai@5.1.2:
2750 | dependencies:
2751 | assertion-error: 2.0.1
2752 | check-error: 2.1.1
2753 | deep-eql: 5.0.2
2754 | loupe: 3.1.2
2755 | pathval: 2.0.0
2756 |
2757 | chalk@3.0.0:
2758 | dependencies:
2759 | ansi-styles: 4.3.0
2760 | supports-color: 7.2.0
2761 |
2762 | chalk@4.1.2:
2763 | dependencies:
2764 | ansi-styles: 4.3.0
2765 | supports-color: 7.2.0
2766 |
2767 | check-error@2.1.1: {}
2768 |
2769 | chokidar@4.0.3:
2770 | dependencies:
2771 | readdirp: 4.1.1
2772 |
2773 | color-convert@2.0.1:
2774 | dependencies:
2775 | color-name: 1.1.4
2776 |
2777 | color-name@1.1.4: {}
2778 |
2779 | combined-stream@1.0.8:
2780 | dependencies:
2781 | delayed-stream: 1.0.0
2782 |
2783 | commander@4.1.1: {}
2784 |
2785 | concat-map@0.0.1: {}
2786 |
2787 | consola@3.4.0: {}
2788 |
2789 | cross-spawn@7.0.6:
2790 | dependencies:
2791 | path-key: 3.1.1
2792 | shebang-command: 2.0.0
2793 | which: 2.0.2
2794 |
2795 | css.escape@1.5.1: {}
2796 |
2797 | cssstyle@4.2.1:
2798 | dependencies:
2799 | '@asamuzakjp/css-color': 2.8.3
2800 | rrweb-cssom: 0.8.0
2801 |
2802 | csstype@3.1.3: {}
2803 |
2804 | data-urls@5.0.0:
2805 | dependencies:
2806 | whatwg-mimetype: 4.0.0
2807 | whatwg-url: 14.1.0
2808 |
2809 | data-view-buffer@1.0.2:
2810 | dependencies:
2811 | call-bound: 1.0.3
2812 | es-errors: 1.3.0
2813 | is-data-view: 1.0.2
2814 |
2815 | data-view-byte-length@1.0.2:
2816 | dependencies:
2817 | call-bound: 1.0.3
2818 | es-errors: 1.3.0
2819 | is-data-view: 1.0.2
2820 |
2821 | data-view-byte-offset@1.0.1:
2822 | dependencies:
2823 | call-bound: 1.0.3
2824 | es-errors: 1.3.0
2825 | is-data-view: 1.0.2
2826 |
2827 | debug@4.4.0:
2828 | dependencies:
2829 | ms: 2.1.3
2830 |
2831 | decamelize-keys@1.1.1:
2832 | dependencies:
2833 | decamelize: 1.2.0
2834 | map-obj: 1.0.1
2835 |
2836 | decamelize@1.2.0: {}
2837 |
2838 | decamelize@5.0.1: {}
2839 |
2840 | decimal.js@10.5.0: {}
2841 |
2842 | deep-eql@5.0.2: {}
2843 |
2844 | deep-is@0.1.4: {}
2845 |
2846 | define-data-property@1.1.4:
2847 | dependencies:
2848 | es-define-property: 1.0.1
2849 | es-errors: 1.3.0
2850 | gopd: 1.2.0
2851 |
2852 | define-properties@1.2.1:
2853 | dependencies:
2854 | define-data-property: 1.1.4
2855 | has-property-descriptors: 1.0.2
2856 | object-keys: 1.1.1
2857 |
2858 | delayed-stream@1.0.0: {}
2859 |
2860 | dequal@2.0.3: {}
2861 |
2862 | doctrine@2.1.0:
2863 | dependencies:
2864 | esutils: 2.0.3
2865 |
2866 | dom-accessibility-api@0.5.16: {}
2867 |
2868 | dom-accessibility-api@0.6.3: {}
2869 |
2870 | dunder-proto@1.0.1:
2871 | dependencies:
2872 | call-bind-apply-helpers: 1.0.1
2873 | es-errors: 1.3.0
2874 | gopd: 1.2.0
2875 |
2876 | duplexer@0.1.2: {}
2877 |
2878 | eastasianwidth@0.2.0: {}
2879 |
2880 | emoji-regex@8.0.0: {}
2881 |
2882 | emoji-regex@9.2.2: {}
2883 |
2884 | entities@4.5.0: {}
2885 |
2886 | error-ex@1.3.2:
2887 | dependencies:
2888 | is-arrayish: 0.2.1
2889 |
2890 | es-abstract@1.23.9:
2891 | dependencies:
2892 | array-buffer-byte-length: 1.0.2
2893 | arraybuffer.prototype.slice: 1.0.4
2894 | available-typed-arrays: 1.0.7
2895 | call-bind: 1.0.8
2896 | call-bound: 1.0.3
2897 | data-view-buffer: 1.0.2
2898 | data-view-byte-length: 1.0.2
2899 | data-view-byte-offset: 1.0.1
2900 | es-define-property: 1.0.1
2901 | es-errors: 1.3.0
2902 | es-object-atoms: 1.1.1
2903 | es-set-tostringtag: 2.1.0
2904 | es-to-primitive: 1.3.0
2905 | function.prototype.name: 1.1.8
2906 | get-intrinsic: 1.2.7
2907 | get-proto: 1.0.1
2908 | get-symbol-description: 1.1.0
2909 | globalthis: 1.0.4
2910 | gopd: 1.2.0
2911 | has-property-descriptors: 1.0.2
2912 | has-proto: 1.2.0
2913 | has-symbols: 1.1.0
2914 | hasown: 2.0.2
2915 | internal-slot: 1.1.0
2916 | is-array-buffer: 3.0.5
2917 | is-callable: 1.2.7
2918 | is-data-view: 1.0.2
2919 | is-regex: 1.2.1
2920 | is-shared-array-buffer: 1.0.4
2921 | is-string: 1.1.1
2922 | is-typed-array: 1.1.15
2923 | is-weakref: 1.1.0
2924 | math-intrinsics: 1.1.0
2925 | object-inspect: 1.13.3
2926 | object-keys: 1.1.1
2927 | object.assign: 4.1.7
2928 | own-keys: 1.0.1
2929 | regexp.prototype.flags: 1.5.4
2930 | safe-array-concat: 1.1.3
2931 | safe-push-apply: 1.0.0
2932 | safe-regex-test: 1.1.0
2933 | set-proto: 1.0.0
2934 | string.prototype.trim: 1.2.10
2935 | string.prototype.trimend: 1.0.9
2936 | string.prototype.trimstart: 1.0.8
2937 | typed-array-buffer: 1.0.3
2938 | typed-array-byte-length: 1.0.3
2939 | typed-array-byte-offset: 1.0.4
2940 | typed-array-length: 1.0.7
2941 | unbox-primitive: 1.1.0
2942 | which-typed-array: 1.1.18
2943 |
2944 | es-define-property@1.0.1: {}
2945 |
2946 | es-errors@1.3.0: {}
2947 |
2948 | es-iterator-helpers@1.2.1:
2949 | dependencies:
2950 | call-bind: 1.0.8
2951 | call-bound: 1.0.3
2952 | define-properties: 1.2.1
2953 | es-abstract: 1.23.9
2954 | es-errors: 1.3.0
2955 | es-set-tostringtag: 2.1.0
2956 | function-bind: 1.1.2
2957 | get-intrinsic: 1.2.7
2958 | globalthis: 1.0.4
2959 | gopd: 1.2.0
2960 | has-property-descriptors: 1.0.2
2961 | has-proto: 1.2.0
2962 | has-symbols: 1.1.0
2963 | internal-slot: 1.1.0
2964 | iterator.prototype: 1.1.5
2965 | safe-array-concat: 1.1.3
2966 |
2967 | es-module-lexer@1.6.0: {}
2968 |
2969 | es-object-atoms@1.1.1:
2970 | dependencies:
2971 | es-errors: 1.3.0
2972 |
2973 | es-set-tostringtag@2.1.0:
2974 | dependencies:
2975 | es-errors: 1.3.0
2976 | get-intrinsic: 1.2.7
2977 | has-tostringtag: 1.0.2
2978 | hasown: 2.0.2
2979 |
2980 | es-shim-unscopables@1.0.2:
2981 | dependencies:
2982 | hasown: 2.0.2
2983 |
2984 | es-to-primitive@1.3.0:
2985 | dependencies:
2986 | is-callable: 1.2.7
2987 | is-date-object: 1.1.0
2988 | is-symbol: 1.1.1
2989 |
2990 | esbuild@0.24.2:
2991 | optionalDependencies:
2992 | '@esbuild/aix-ppc64': 0.24.2
2993 | '@esbuild/android-arm': 0.24.2
2994 | '@esbuild/android-arm64': 0.24.2
2995 | '@esbuild/android-x64': 0.24.2
2996 | '@esbuild/darwin-arm64': 0.24.2
2997 | '@esbuild/darwin-x64': 0.24.2
2998 | '@esbuild/freebsd-arm64': 0.24.2
2999 | '@esbuild/freebsd-x64': 0.24.2
3000 | '@esbuild/linux-arm': 0.24.2
3001 | '@esbuild/linux-arm64': 0.24.2
3002 | '@esbuild/linux-ia32': 0.24.2
3003 | '@esbuild/linux-loong64': 0.24.2
3004 | '@esbuild/linux-mips64el': 0.24.2
3005 | '@esbuild/linux-ppc64': 0.24.2
3006 | '@esbuild/linux-riscv64': 0.24.2
3007 | '@esbuild/linux-s390x': 0.24.2
3008 | '@esbuild/linux-x64': 0.24.2
3009 | '@esbuild/netbsd-arm64': 0.24.2
3010 | '@esbuild/netbsd-x64': 0.24.2
3011 | '@esbuild/openbsd-arm64': 0.24.2
3012 | '@esbuild/openbsd-x64': 0.24.2
3013 | '@esbuild/sunos-x64': 0.24.2
3014 | '@esbuild/win32-arm64': 0.24.2
3015 | '@esbuild/win32-ia32': 0.24.2
3016 | '@esbuild/win32-x64': 0.24.2
3017 |
3018 | escape-string-regexp@4.0.0: {}
3019 |
3020 | eslint-plugin-react-hooks@5.1.0(eslint@9.18.0):
3021 | dependencies:
3022 | eslint: 9.18.0
3023 |
3024 | eslint-plugin-react@7.37.4(eslint@9.18.0):
3025 | dependencies:
3026 | array-includes: 3.1.8
3027 | array.prototype.findlast: 1.2.5
3028 | array.prototype.flatmap: 1.3.3
3029 | array.prototype.tosorted: 1.1.4
3030 | doctrine: 2.1.0
3031 | es-iterator-helpers: 1.2.1
3032 | eslint: 9.18.0
3033 | estraverse: 5.3.0
3034 | hasown: 2.0.2
3035 | jsx-ast-utils: 3.3.5
3036 | minimatch: 3.1.2
3037 | object.entries: 1.1.8
3038 | object.fromentries: 2.0.8
3039 | object.values: 1.2.1
3040 | prop-types: 15.8.1
3041 | resolve: 2.0.0-next.5
3042 | semver: 6.3.1
3043 | string.prototype.matchall: 4.0.12
3044 | string.prototype.repeat: 1.0.0
3045 |
3046 | eslint-scope@8.2.0:
3047 | dependencies:
3048 | esrecurse: 4.3.0
3049 | estraverse: 5.3.0
3050 |
3051 | eslint-visitor-keys@3.4.3: {}
3052 |
3053 | eslint-visitor-keys@4.2.0: {}
3054 |
3055 | eslint@9.18.0:
3056 | dependencies:
3057 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.18.0)
3058 | '@eslint-community/regexpp': 4.12.1
3059 | '@eslint/config-array': 0.19.1
3060 | '@eslint/core': 0.10.0
3061 | '@eslint/eslintrc': 3.2.0
3062 | '@eslint/js': 9.18.0
3063 | '@eslint/plugin-kit': 0.2.5
3064 | '@humanfs/node': 0.16.6
3065 | '@humanwhocodes/module-importer': 1.0.1
3066 | '@humanwhocodes/retry': 0.4.1
3067 | '@types/estree': 1.0.6
3068 | '@types/json-schema': 7.0.15
3069 | ajv: 6.12.6
3070 | chalk: 4.1.2
3071 | cross-spawn: 7.0.6
3072 | debug: 4.4.0
3073 | escape-string-regexp: 4.0.0
3074 | eslint-scope: 8.2.0
3075 | eslint-visitor-keys: 4.2.0
3076 | espree: 10.3.0
3077 | esquery: 1.6.0
3078 | esutils: 2.0.3
3079 | fast-deep-equal: 3.1.3
3080 | file-entry-cache: 8.0.0
3081 | find-up: 5.0.0
3082 | glob-parent: 6.0.2
3083 | ignore: 5.3.2
3084 | imurmurhash: 0.1.4
3085 | is-glob: 4.0.3
3086 | json-stable-stringify-without-jsonify: 1.0.1
3087 | lodash.merge: 4.6.2
3088 | minimatch: 3.1.2
3089 | natural-compare: 1.4.0
3090 | optionator: 0.9.4
3091 | transitivePeerDependencies:
3092 | - supports-color
3093 |
3094 | espree@10.3.0:
3095 | dependencies:
3096 | acorn: 8.14.0
3097 | acorn-jsx: 5.3.2(acorn@8.14.0)
3098 | eslint-visitor-keys: 4.2.0
3099 |
3100 | esquery@1.6.0:
3101 | dependencies:
3102 | estraverse: 5.3.0
3103 |
3104 | esrecurse@4.3.0:
3105 | dependencies:
3106 | estraverse: 5.3.0
3107 |
3108 | estraverse@5.3.0: {}
3109 |
3110 | estree-walker@3.0.3:
3111 | dependencies:
3112 | '@types/estree': 1.0.6
3113 |
3114 | esutils@2.0.3: {}
3115 |
3116 | expect-type@1.1.0: {}
3117 |
3118 | fast-deep-equal@3.1.3: {}
3119 |
3120 | fast-glob@3.3.3:
3121 | dependencies:
3122 | '@nodelib/fs.stat': 2.0.5
3123 | '@nodelib/fs.walk': 1.2.8
3124 | glob-parent: 5.1.2
3125 | merge2: 1.4.1
3126 | micromatch: 4.0.8
3127 |
3128 | fast-json-stable-stringify@2.1.0: {}
3129 |
3130 | fast-levenshtein@2.0.6: {}
3131 |
3132 | fastq@1.18.0:
3133 | dependencies:
3134 | reusify: 1.0.4
3135 |
3136 | fdir@6.4.3(picomatch@4.0.2):
3137 | optionalDependencies:
3138 | picomatch: 4.0.2
3139 |
3140 | file-entry-cache@8.0.0:
3141 | dependencies:
3142 | flat-cache: 4.0.1
3143 |
3144 | fill-range@7.1.1:
3145 | dependencies:
3146 | to-regex-range: 5.0.1
3147 |
3148 | find-up@5.0.0:
3149 | dependencies:
3150 | locate-path: 6.0.0
3151 | path-exists: 4.0.0
3152 |
3153 | flat-cache@4.0.1:
3154 | dependencies:
3155 | flatted: 3.3.2
3156 | keyv: 4.5.4
3157 |
3158 | flatted@3.3.2: {}
3159 |
3160 | for-each@0.3.3:
3161 | dependencies:
3162 | is-callable: 1.2.7
3163 |
3164 | foreground-child@3.3.0:
3165 | dependencies:
3166 | cross-spawn: 7.0.6
3167 | signal-exit: 4.1.0
3168 |
3169 | form-data@4.0.1:
3170 | dependencies:
3171 | asynckit: 0.4.0
3172 | combined-stream: 1.0.8
3173 | mime-types: 2.1.35
3174 |
3175 | fsevents@2.3.3:
3176 | optional: true
3177 |
3178 | function-bind@1.1.2: {}
3179 |
3180 | function.prototype.name@1.1.8:
3181 | dependencies:
3182 | call-bind: 1.0.8
3183 | call-bound: 1.0.3
3184 | define-properties: 1.2.1
3185 | functions-have-names: 1.2.3
3186 | hasown: 2.0.2
3187 | is-callable: 1.2.7
3188 |
3189 | functions-have-names@1.2.3: {}
3190 |
3191 | get-intrinsic@1.2.7:
3192 | dependencies:
3193 | call-bind-apply-helpers: 1.0.1
3194 | es-define-property: 1.0.1
3195 | es-errors: 1.3.0
3196 | es-object-atoms: 1.1.1
3197 | function-bind: 1.1.2
3198 | get-proto: 1.0.1
3199 | gopd: 1.2.0
3200 | has-symbols: 1.1.0
3201 | hasown: 2.0.2
3202 | math-intrinsics: 1.1.0
3203 |
3204 | get-proto@1.0.1:
3205 | dependencies:
3206 | dunder-proto: 1.0.1
3207 | es-object-atoms: 1.1.1
3208 |
3209 | get-stdin@9.0.0: {}
3210 |
3211 | get-symbol-description@1.1.0:
3212 | dependencies:
3213 | call-bound: 1.0.3
3214 | es-errors: 1.3.0
3215 | get-intrinsic: 1.2.7
3216 |
3217 | glob-parent@5.1.2:
3218 | dependencies:
3219 | is-glob: 4.0.3
3220 |
3221 | glob-parent@6.0.2:
3222 | dependencies:
3223 | is-glob: 4.0.3
3224 |
3225 | glob@10.4.5:
3226 | dependencies:
3227 | foreground-child: 3.3.0
3228 | jackspeak: 3.4.3
3229 | minimatch: 9.0.5
3230 | minipass: 7.1.2
3231 | package-json-from-dist: 1.0.1
3232 | path-scurry: 1.11.1
3233 |
3234 | globals@14.0.0: {}
3235 |
3236 | globals@15.14.0: {}
3237 |
3238 | globalthis@1.0.4:
3239 | dependencies:
3240 | define-properties: 1.2.1
3241 | gopd: 1.2.0
3242 |
3243 | gopd@1.2.0: {}
3244 |
3245 | graphemer@1.4.0: {}
3246 |
3247 | gzip-size-cli@5.1.0:
3248 | dependencies:
3249 | chalk: 4.1.2
3250 | get-stdin: 9.0.0
3251 | gzip-size: 7.0.0
3252 | meow: 10.1.5
3253 | pretty-bytes: 5.6.0
3254 |
3255 | gzip-size@7.0.0:
3256 | dependencies:
3257 | duplexer: 0.1.2
3258 |
3259 | hard-rejection@2.1.0: {}
3260 |
3261 | has-bigints@1.1.0: {}
3262 |
3263 | has-flag@4.0.0: {}
3264 |
3265 | has-property-descriptors@1.0.2:
3266 | dependencies:
3267 | es-define-property: 1.0.1
3268 |
3269 | has-proto@1.2.0:
3270 | dependencies:
3271 | dunder-proto: 1.0.1
3272 |
3273 | has-symbols@1.1.0: {}
3274 |
3275 | has-tostringtag@1.0.2:
3276 | dependencies:
3277 | has-symbols: 1.1.0
3278 |
3279 | hasown@2.0.2:
3280 | dependencies:
3281 | function-bind: 1.1.2
3282 |
3283 | hosted-git-info@4.1.0:
3284 | dependencies:
3285 | lru-cache: 6.0.0
3286 |
3287 | html-encoding-sniffer@4.0.0:
3288 | dependencies:
3289 | whatwg-encoding: 3.1.1
3290 |
3291 | http-proxy-agent@7.0.2:
3292 | dependencies:
3293 | agent-base: 7.1.3
3294 | debug: 4.4.0
3295 | transitivePeerDependencies:
3296 | - supports-color
3297 |
3298 | https-proxy-agent@7.0.6:
3299 | dependencies:
3300 | agent-base: 7.1.3
3301 | debug: 4.4.0
3302 | transitivePeerDependencies:
3303 | - supports-color
3304 |
3305 | iconv-lite@0.6.3:
3306 | dependencies:
3307 | safer-buffer: 2.1.2
3308 |
3309 | ignore@5.3.2: {}
3310 |
3311 | import-fresh@3.3.0:
3312 | dependencies:
3313 | parent-module: 1.0.1
3314 | resolve-from: 4.0.0
3315 |
3316 | imurmurhash@0.1.4: {}
3317 |
3318 | indent-string@4.0.0: {}
3319 |
3320 | indent-string@5.0.0: {}
3321 |
3322 | internal-slot@1.1.0:
3323 | dependencies:
3324 | es-errors: 1.3.0
3325 | hasown: 2.0.2
3326 | side-channel: 1.1.0
3327 |
3328 | is-array-buffer@3.0.5:
3329 | dependencies:
3330 | call-bind: 1.0.8
3331 | call-bound: 1.0.3
3332 | get-intrinsic: 1.2.7
3333 |
3334 | is-arrayish@0.2.1: {}
3335 |
3336 | is-async-function@2.1.1:
3337 | dependencies:
3338 | async-function: 1.0.0
3339 | call-bound: 1.0.3
3340 | get-proto: 1.0.1
3341 | has-tostringtag: 1.0.2
3342 | safe-regex-test: 1.1.0
3343 |
3344 | is-bigint@1.1.0:
3345 | dependencies:
3346 | has-bigints: 1.1.0
3347 |
3348 | is-boolean-object@1.2.1:
3349 | dependencies:
3350 | call-bound: 1.0.3
3351 | has-tostringtag: 1.0.2
3352 |
3353 | is-callable@1.2.7: {}
3354 |
3355 | is-core-module@2.16.1:
3356 | dependencies:
3357 | hasown: 2.0.2
3358 |
3359 | is-data-view@1.0.2:
3360 | dependencies:
3361 | call-bound: 1.0.3
3362 | get-intrinsic: 1.2.7
3363 | is-typed-array: 1.1.15
3364 |
3365 | is-date-object@1.1.0:
3366 | dependencies:
3367 | call-bound: 1.0.3
3368 | has-tostringtag: 1.0.2
3369 |
3370 | is-extglob@2.1.1: {}
3371 |
3372 | is-finalizationregistry@1.1.1:
3373 | dependencies:
3374 | call-bound: 1.0.3
3375 |
3376 | is-fullwidth-code-point@3.0.0: {}
3377 |
3378 | is-generator-function@1.1.0:
3379 | dependencies:
3380 | call-bound: 1.0.3
3381 | get-proto: 1.0.1
3382 | has-tostringtag: 1.0.2
3383 | safe-regex-test: 1.1.0
3384 |
3385 | is-glob@4.0.3:
3386 | dependencies:
3387 | is-extglob: 2.1.1
3388 |
3389 | is-map@2.0.3: {}
3390 |
3391 | is-number-object@1.1.1:
3392 | dependencies:
3393 | call-bound: 1.0.3
3394 | has-tostringtag: 1.0.2
3395 |
3396 | is-number@7.0.0: {}
3397 |
3398 | is-plain-obj@1.1.0: {}
3399 |
3400 | is-potential-custom-element-name@1.0.1: {}
3401 |
3402 | is-regex@1.2.1:
3403 | dependencies:
3404 | call-bound: 1.0.3
3405 | gopd: 1.2.0
3406 | has-tostringtag: 1.0.2
3407 | hasown: 2.0.2
3408 |
3409 | is-set@2.0.3: {}
3410 |
3411 | is-shared-array-buffer@1.0.4:
3412 | dependencies:
3413 | call-bound: 1.0.3
3414 |
3415 | is-string@1.1.1:
3416 | dependencies:
3417 | call-bound: 1.0.3
3418 | has-tostringtag: 1.0.2
3419 |
3420 | is-symbol@1.1.1:
3421 | dependencies:
3422 | call-bound: 1.0.3
3423 | has-symbols: 1.1.0
3424 | safe-regex-test: 1.1.0
3425 |
3426 | is-typed-array@1.1.15:
3427 | dependencies:
3428 | which-typed-array: 1.1.18
3429 |
3430 | is-weakmap@2.0.2: {}
3431 |
3432 | is-weakref@1.1.0:
3433 | dependencies:
3434 | call-bound: 1.0.3
3435 |
3436 | is-weakset@2.0.4:
3437 | dependencies:
3438 | call-bound: 1.0.3
3439 | get-intrinsic: 1.2.7
3440 |
3441 | isarray@2.0.5: {}
3442 |
3443 | isexe@2.0.0: {}
3444 |
3445 | iterator.prototype@1.1.5:
3446 | dependencies:
3447 | define-data-property: 1.1.4
3448 | es-object-atoms: 1.1.1
3449 | get-intrinsic: 1.2.7
3450 | get-proto: 1.0.1
3451 | has-symbols: 1.1.0
3452 | set-function-name: 2.0.2
3453 |
3454 | jackspeak@3.4.3:
3455 | dependencies:
3456 | '@isaacs/cliui': 8.0.2
3457 | optionalDependencies:
3458 | '@pkgjs/parseargs': 0.11.0
3459 |
3460 | joycon@3.1.1: {}
3461 |
3462 | js-tokens@4.0.0: {}
3463 |
3464 | js-yaml@4.1.0:
3465 | dependencies:
3466 | argparse: 2.0.1
3467 |
3468 | jsdom@26.0.0:
3469 | dependencies:
3470 | cssstyle: 4.2.1
3471 | data-urls: 5.0.0
3472 | decimal.js: 10.5.0
3473 | form-data: 4.0.1
3474 | html-encoding-sniffer: 4.0.0
3475 | http-proxy-agent: 7.0.2
3476 | https-proxy-agent: 7.0.6
3477 | is-potential-custom-element-name: 1.0.1
3478 | nwsapi: 2.2.16
3479 | parse5: 7.2.1
3480 | rrweb-cssom: 0.8.0
3481 | saxes: 6.0.0
3482 | symbol-tree: 3.2.4
3483 | tough-cookie: 5.1.0
3484 | w3c-xmlserializer: 5.0.0
3485 | webidl-conversions: 7.0.0
3486 | whatwg-encoding: 3.1.1
3487 | whatwg-mimetype: 4.0.0
3488 | whatwg-url: 14.1.0
3489 | ws: 8.18.0
3490 | xml-name-validator: 5.0.0
3491 | transitivePeerDependencies:
3492 | - bufferutil
3493 | - supports-color
3494 | - utf-8-validate
3495 |
3496 | json-buffer@3.0.1: {}
3497 |
3498 | json-parse-even-better-errors@2.3.1: {}
3499 |
3500 | json-schema-traverse@0.4.1: {}
3501 |
3502 | json-stable-stringify-without-jsonify@1.0.1: {}
3503 |
3504 | jsx-ast-utils@3.3.5:
3505 | dependencies:
3506 | array-includes: 3.1.8
3507 | array.prototype.flat: 1.3.3
3508 | object.assign: 4.1.7
3509 | object.values: 1.2.1
3510 |
3511 | keyv@4.5.4:
3512 | dependencies:
3513 | json-buffer: 3.0.1
3514 |
3515 | kind-of@6.0.3: {}
3516 |
3517 | levn@0.4.1:
3518 | dependencies:
3519 | prelude-ls: 1.2.1
3520 | type-check: 0.4.0
3521 |
3522 | lilconfig@3.1.3: {}
3523 |
3524 | lines-and-columns@1.2.4: {}
3525 |
3526 | load-tsconfig@0.2.5: {}
3527 |
3528 | locate-path@6.0.0:
3529 | dependencies:
3530 | p-locate: 5.0.0
3531 |
3532 | lodash.merge@4.6.2: {}
3533 |
3534 | lodash.sortby@4.7.0: {}
3535 |
3536 | lodash@4.17.21: {}
3537 |
3538 | loose-envify@1.4.0:
3539 | dependencies:
3540 | js-tokens: 4.0.0
3541 |
3542 | loupe@3.1.2: {}
3543 |
3544 | lru-cache@10.4.3: {}
3545 |
3546 | lru-cache@6.0.0:
3547 | dependencies:
3548 | yallist: 4.0.0
3549 |
3550 | lz-string@1.5.0: {}
3551 |
3552 | magic-string@0.30.17:
3553 | dependencies:
3554 | '@jridgewell/sourcemap-codec': 1.5.0
3555 |
3556 | map-obj@1.0.1: {}
3557 |
3558 | map-obj@4.3.0: {}
3559 |
3560 | math-intrinsics@1.1.0: {}
3561 |
3562 | meow@10.1.5:
3563 | dependencies:
3564 | '@types/minimist': 1.2.5
3565 | camelcase-keys: 7.0.2
3566 | decamelize: 5.0.1
3567 | decamelize-keys: 1.1.1
3568 | hard-rejection: 2.1.0
3569 | minimist-options: 4.1.0
3570 | normalize-package-data: 3.0.3
3571 | read-pkg-up: 8.0.0
3572 | redent: 4.0.0
3573 | trim-newlines: 4.1.1
3574 | type-fest: 1.4.0
3575 | yargs-parser: 20.2.9
3576 |
3577 | merge2@1.4.1: {}
3578 |
3579 | micromatch@4.0.8:
3580 | dependencies:
3581 | braces: 3.0.3
3582 | picomatch: 2.3.1
3583 |
3584 | mime-db@1.52.0: {}
3585 |
3586 | mime-types@2.1.35:
3587 | dependencies:
3588 | mime-db: 1.52.0
3589 |
3590 | min-indent@1.0.1: {}
3591 |
3592 | minimatch@3.1.2:
3593 | dependencies:
3594 | brace-expansion: 1.1.11
3595 |
3596 | minimatch@9.0.5:
3597 | dependencies:
3598 | brace-expansion: 2.0.1
3599 |
3600 | minimist-options@4.1.0:
3601 | dependencies:
3602 | arrify: 1.0.1
3603 | is-plain-obj: 1.1.0
3604 | kind-of: 6.0.3
3605 |
3606 | minipass@7.1.2: {}
3607 |
3608 | ms@2.1.3: {}
3609 |
3610 | mz@2.7.0:
3611 | dependencies:
3612 | any-promise: 1.3.0
3613 | object-assign: 4.1.1
3614 | thenify-all: 1.6.0
3615 |
3616 | nanoid@3.3.8: {}
3617 |
3618 | natural-compare@1.4.0: {}
3619 |
3620 | normalize-package-data@3.0.3:
3621 | dependencies:
3622 | hosted-git-info: 4.1.0
3623 | is-core-module: 2.16.1
3624 | semver: 7.6.3
3625 | validate-npm-package-license: 3.0.4
3626 |
3627 | nwsapi@2.2.16: {}
3628 |
3629 | object-assign@4.1.1: {}
3630 |
3631 | object-inspect@1.13.3: {}
3632 |
3633 | object-keys@1.1.1: {}
3634 |
3635 | object.assign@4.1.7:
3636 | dependencies:
3637 | call-bind: 1.0.8
3638 | call-bound: 1.0.3
3639 | define-properties: 1.2.1
3640 | es-object-atoms: 1.1.1
3641 | has-symbols: 1.1.0
3642 | object-keys: 1.1.1
3643 |
3644 | object.entries@1.1.8:
3645 | dependencies:
3646 | call-bind: 1.0.8
3647 | define-properties: 1.2.1
3648 | es-object-atoms: 1.1.1
3649 |
3650 | object.fromentries@2.0.8:
3651 | dependencies:
3652 | call-bind: 1.0.8
3653 | define-properties: 1.2.1
3654 | es-abstract: 1.23.9
3655 | es-object-atoms: 1.1.1
3656 |
3657 | object.values@1.2.1:
3658 | dependencies:
3659 | call-bind: 1.0.8
3660 | call-bound: 1.0.3
3661 | define-properties: 1.2.1
3662 | es-object-atoms: 1.1.1
3663 |
3664 | optionator@0.9.4:
3665 | dependencies:
3666 | deep-is: 0.1.4
3667 | fast-levenshtein: 2.0.6
3668 | levn: 0.4.1
3669 | prelude-ls: 1.2.1
3670 | type-check: 0.4.0
3671 | word-wrap: 1.2.5
3672 |
3673 | own-keys@1.0.1:
3674 | dependencies:
3675 | get-intrinsic: 1.2.7
3676 | object-keys: 1.1.1
3677 | safe-push-apply: 1.0.0
3678 |
3679 | p-limit@3.1.0:
3680 | dependencies:
3681 | yocto-queue: 0.1.0
3682 |
3683 | p-locate@5.0.0:
3684 | dependencies:
3685 | p-limit: 3.1.0
3686 |
3687 | package-json-from-dist@1.0.1: {}
3688 |
3689 | parent-module@1.0.1:
3690 | dependencies:
3691 | callsites: 3.1.0
3692 |
3693 | parse-json@5.2.0:
3694 | dependencies:
3695 | '@babel/code-frame': 7.26.2
3696 | error-ex: 1.3.2
3697 | json-parse-even-better-errors: 2.3.1
3698 | lines-and-columns: 1.2.4
3699 |
3700 | parse5@7.2.1:
3701 | dependencies:
3702 | entities: 4.5.0
3703 |
3704 | path-exists@4.0.0: {}
3705 |
3706 | path-key@3.1.1: {}
3707 |
3708 | path-parse@1.0.7: {}
3709 |
3710 | path-scurry@1.11.1:
3711 | dependencies:
3712 | lru-cache: 10.4.3
3713 | minipass: 7.1.2
3714 |
3715 | pathe@2.0.2: {}
3716 |
3717 | pathval@2.0.0: {}
3718 |
3719 | picocolors@1.1.1: {}
3720 |
3721 | picomatch@2.3.1: {}
3722 |
3723 | picomatch@4.0.2: {}
3724 |
3725 | pirates@4.0.6: {}
3726 |
3727 | possible-typed-array-names@1.0.0: {}
3728 |
3729 | postcss-load-config@6.0.1(postcss@8.5.1):
3730 | dependencies:
3731 | lilconfig: 3.1.3
3732 | optionalDependencies:
3733 | postcss: 8.5.1
3734 |
3735 | postcss@8.5.1:
3736 | dependencies:
3737 | nanoid: 3.3.8
3738 | picocolors: 1.1.1
3739 | source-map-js: 1.2.1
3740 |
3741 | prelude-ls@1.2.1: {}
3742 |
3743 | prettier@3.4.2: {}
3744 |
3745 | pretty-bytes@5.6.0: {}
3746 |
3747 | pretty-format@27.5.1:
3748 | dependencies:
3749 | ansi-regex: 5.0.1
3750 | ansi-styles: 5.2.0
3751 | react-is: 17.0.2
3752 |
3753 | prop-types@15.8.1:
3754 | dependencies:
3755 | loose-envify: 1.4.0
3756 | object-assign: 4.1.1
3757 | react-is: 16.13.1
3758 |
3759 | punycode@2.3.1: {}
3760 |
3761 | queue-microtask@1.2.3: {}
3762 |
3763 | quick-lru@5.1.1: {}
3764 |
3765 | react-dom@18.3.1(react@18.3.1):
3766 | dependencies:
3767 | loose-envify: 1.4.0
3768 | react: 18.3.1
3769 | scheduler: 0.23.2
3770 |
3771 | react-is@16.13.1: {}
3772 |
3773 | react-is@17.0.2: {}
3774 |
3775 | react@18.3.1:
3776 | dependencies:
3777 | loose-envify: 1.4.0
3778 |
3779 | read-pkg-up@8.0.0:
3780 | dependencies:
3781 | find-up: 5.0.0
3782 | read-pkg: 6.0.0
3783 | type-fest: 1.4.0
3784 |
3785 | read-pkg@6.0.0:
3786 | dependencies:
3787 | '@types/normalize-package-data': 2.4.4
3788 | normalize-package-data: 3.0.3
3789 | parse-json: 5.2.0
3790 | type-fest: 1.4.0
3791 |
3792 | readdirp@4.1.1: {}
3793 |
3794 | redent@3.0.0:
3795 | dependencies:
3796 | indent-string: 4.0.0
3797 | strip-indent: 3.0.0
3798 |
3799 | redent@4.0.0:
3800 | dependencies:
3801 | indent-string: 5.0.0
3802 | strip-indent: 4.0.0
3803 |
3804 | reflect.getprototypeof@1.0.10:
3805 | dependencies:
3806 | call-bind: 1.0.8
3807 | define-properties: 1.2.1
3808 | es-abstract: 1.23.9
3809 | es-errors: 1.3.0
3810 | es-object-atoms: 1.1.1
3811 | get-intrinsic: 1.2.7
3812 | get-proto: 1.0.1
3813 | which-builtin-type: 1.2.1
3814 |
3815 | regenerator-runtime@0.14.1: {}
3816 |
3817 | regexp.prototype.flags@1.5.4:
3818 | dependencies:
3819 | call-bind: 1.0.8
3820 | define-properties: 1.2.1
3821 | es-errors: 1.3.0
3822 | get-proto: 1.0.1
3823 | gopd: 1.2.0
3824 | set-function-name: 2.0.2
3825 |
3826 | resolve-from@4.0.0: {}
3827 |
3828 | resolve-from@5.0.0: {}
3829 |
3830 | resolve@2.0.0-next.5:
3831 | dependencies:
3832 | is-core-module: 2.16.1
3833 | path-parse: 1.0.7
3834 | supports-preserve-symlinks-flag: 1.0.0
3835 |
3836 | reusify@1.0.4: {}
3837 |
3838 | rollup@4.32.0:
3839 | dependencies:
3840 | '@types/estree': 1.0.6
3841 | optionalDependencies:
3842 | '@rollup/rollup-android-arm-eabi': 4.32.0
3843 | '@rollup/rollup-android-arm64': 4.32.0
3844 | '@rollup/rollup-darwin-arm64': 4.32.0
3845 | '@rollup/rollup-darwin-x64': 4.32.0
3846 | '@rollup/rollup-freebsd-arm64': 4.32.0
3847 | '@rollup/rollup-freebsd-x64': 4.32.0
3848 | '@rollup/rollup-linux-arm-gnueabihf': 4.32.0
3849 | '@rollup/rollup-linux-arm-musleabihf': 4.32.0
3850 | '@rollup/rollup-linux-arm64-gnu': 4.32.0
3851 | '@rollup/rollup-linux-arm64-musl': 4.32.0
3852 | '@rollup/rollup-linux-loongarch64-gnu': 4.32.0
3853 | '@rollup/rollup-linux-powerpc64le-gnu': 4.32.0
3854 | '@rollup/rollup-linux-riscv64-gnu': 4.32.0
3855 | '@rollup/rollup-linux-s390x-gnu': 4.32.0
3856 | '@rollup/rollup-linux-x64-gnu': 4.32.0
3857 | '@rollup/rollup-linux-x64-musl': 4.32.0
3858 | '@rollup/rollup-win32-arm64-msvc': 4.32.0
3859 | '@rollup/rollup-win32-ia32-msvc': 4.32.0
3860 | '@rollup/rollup-win32-x64-msvc': 4.32.0
3861 | fsevents: 2.3.3
3862 |
3863 | rrweb-cssom@0.8.0: {}
3864 |
3865 | run-parallel@1.2.0:
3866 | dependencies:
3867 | queue-microtask: 1.2.3
3868 |
3869 | safe-array-concat@1.1.3:
3870 | dependencies:
3871 | call-bind: 1.0.8
3872 | call-bound: 1.0.3
3873 | get-intrinsic: 1.2.7
3874 | has-symbols: 1.1.0
3875 | isarray: 2.0.5
3876 |
3877 | safe-push-apply@1.0.0:
3878 | dependencies:
3879 | es-errors: 1.3.0
3880 | isarray: 2.0.5
3881 |
3882 | safe-regex-test@1.1.0:
3883 | dependencies:
3884 | call-bound: 1.0.3
3885 | es-errors: 1.3.0
3886 | is-regex: 1.2.1
3887 |
3888 | safer-buffer@2.1.2: {}
3889 |
3890 | saxes@6.0.0:
3891 | dependencies:
3892 | xmlchars: 2.2.0
3893 |
3894 | scheduler@0.23.2:
3895 | dependencies:
3896 | loose-envify: 1.4.0
3897 |
3898 | semver@6.3.1: {}
3899 |
3900 | semver@7.6.3: {}
3901 |
3902 | set-function-length@1.2.2:
3903 | dependencies:
3904 | define-data-property: 1.1.4
3905 | es-errors: 1.3.0
3906 | function-bind: 1.1.2
3907 | get-intrinsic: 1.2.7
3908 | gopd: 1.2.0
3909 | has-property-descriptors: 1.0.2
3910 |
3911 | set-function-name@2.0.2:
3912 | dependencies:
3913 | define-data-property: 1.1.4
3914 | es-errors: 1.3.0
3915 | functions-have-names: 1.2.3
3916 | has-property-descriptors: 1.0.2
3917 |
3918 | set-proto@1.0.0:
3919 | dependencies:
3920 | dunder-proto: 1.0.1
3921 | es-errors: 1.3.0
3922 | es-object-atoms: 1.1.1
3923 |
3924 | shebang-command@2.0.0:
3925 | dependencies:
3926 | shebang-regex: 3.0.0
3927 |
3928 | shebang-regex@3.0.0: {}
3929 |
3930 | side-channel-list@1.0.0:
3931 | dependencies:
3932 | es-errors: 1.3.0
3933 | object-inspect: 1.13.3
3934 |
3935 | side-channel-map@1.0.1:
3936 | dependencies:
3937 | call-bound: 1.0.3
3938 | es-errors: 1.3.0
3939 | get-intrinsic: 1.2.7
3940 | object-inspect: 1.13.3
3941 |
3942 | side-channel-weakmap@1.0.2:
3943 | dependencies:
3944 | call-bound: 1.0.3
3945 | es-errors: 1.3.0
3946 | get-intrinsic: 1.2.7
3947 | object-inspect: 1.13.3
3948 | side-channel-map: 1.0.1
3949 |
3950 | side-channel@1.1.0:
3951 | dependencies:
3952 | es-errors: 1.3.0
3953 | object-inspect: 1.13.3
3954 | side-channel-list: 1.0.0
3955 | side-channel-map: 1.0.1
3956 | side-channel-weakmap: 1.0.2
3957 |
3958 | siginfo@2.0.0: {}
3959 |
3960 | signal-exit@4.1.0: {}
3961 |
3962 | source-map-js@1.2.1: {}
3963 |
3964 | source-map@0.8.0-beta.0:
3965 | dependencies:
3966 | whatwg-url: 7.1.0
3967 |
3968 | spdx-correct@3.2.0:
3969 | dependencies:
3970 | spdx-expression-parse: 3.0.1
3971 | spdx-license-ids: 3.0.21
3972 |
3973 | spdx-exceptions@2.5.0: {}
3974 |
3975 | spdx-expression-parse@3.0.1:
3976 | dependencies:
3977 | spdx-exceptions: 2.5.0
3978 | spdx-license-ids: 3.0.21
3979 |
3980 | spdx-license-ids@3.0.21: {}
3981 |
3982 | stackback@0.0.2: {}
3983 |
3984 | std-env@3.8.0: {}
3985 |
3986 | string-width@4.2.3:
3987 | dependencies:
3988 | emoji-regex: 8.0.0
3989 | is-fullwidth-code-point: 3.0.0
3990 | strip-ansi: 6.0.1
3991 |
3992 | string-width@5.1.2:
3993 | dependencies:
3994 | eastasianwidth: 0.2.0
3995 | emoji-regex: 9.2.2
3996 | strip-ansi: 7.1.0
3997 |
3998 | string.prototype.matchall@4.0.12:
3999 | dependencies:
4000 | call-bind: 1.0.8
4001 | call-bound: 1.0.3
4002 | define-properties: 1.2.1
4003 | es-abstract: 1.23.9
4004 | es-errors: 1.3.0
4005 | es-object-atoms: 1.1.1
4006 | get-intrinsic: 1.2.7
4007 | gopd: 1.2.0
4008 | has-symbols: 1.1.0
4009 | internal-slot: 1.1.0
4010 | regexp.prototype.flags: 1.5.4
4011 | set-function-name: 2.0.2
4012 | side-channel: 1.1.0
4013 |
4014 | string.prototype.repeat@1.0.0:
4015 | dependencies:
4016 | define-properties: 1.2.1
4017 | es-abstract: 1.23.9
4018 |
4019 | string.prototype.trim@1.2.10:
4020 | dependencies:
4021 | call-bind: 1.0.8
4022 | call-bound: 1.0.3
4023 | define-data-property: 1.1.4
4024 | define-properties: 1.2.1
4025 | es-abstract: 1.23.9
4026 | es-object-atoms: 1.1.1
4027 | has-property-descriptors: 1.0.2
4028 |
4029 | string.prototype.trimend@1.0.9:
4030 | dependencies:
4031 | call-bind: 1.0.8
4032 | call-bound: 1.0.3
4033 | define-properties: 1.2.1
4034 | es-object-atoms: 1.1.1
4035 |
4036 | string.prototype.trimstart@1.0.8:
4037 | dependencies:
4038 | call-bind: 1.0.8
4039 | define-properties: 1.2.1
4040 | es-object-atoms: 1.1.1
4041 |
4042 | strip-ansi@6.0.1:
4043 | dependencies:
4044 | ansi-regex: 5.0.1
4045 |
4046 | strip-ansi@7.1.0:
4047 | dependencies:
4048 | ansi-regex: 6.1.0
4049 |
4050 | strip-indent@3.0.0:
4051 | dependencies:
4052 | min-indent: 1.0.1
4053 |
4054 | strip-indent@4.0.0:
4055 | dependencies:
4056 | min-indent: 1.0.1
4057 |
4058 | strip-json-comments@3.1.1: {}
4059 |
4060 | sucrase@3.35.0:
4061 | dependencies:
4062 | '@jridgewell/gen-mapping': 0.3.8
4063 | commander: 4.1.1
4064 | glob: 10.4.5
4065 | lines-and-columns: 1.2.4
4066 | mz: 2.7.0
4067 | pirates: 4.0.6
4068 | ts-interface-checker: 0.1.13
4069 |
4070 | supports-color@7.2.0:
4071 | dependencies:
4072 | has-flag: 4.0.0
4073 |
4074 | supports-preserve-symlinks-flag@1.0.0: {}
4075 |
4076 | symbol-tree@3.2.4: {}
4077 |
4078 | thenify-all@1.6.0:
4079 | dependencies:
4080 | thenify: 3.3.1
4081 |
4082 | thenify@3.3.1:
4083 | dependencies:
4084 | any-promise: 1.3.0
4085 |
4086 | tinybench@2.9.0: {}
4087 |
4088 | tinyexec@0.3.2: {}
4089 |
4090 | tinyglobby@0.2.10:
4091 | dependencies:
4092 | fdir: 6.4.3(picomatch@4.0.2)
4093 | picomatch: 4.0.2
4094 |
4095 | tinypool@1.0.2: {}
4096 |
4097 | tinyrainbow@2.0.0: {}
4098 |
4099 | tinyspy@3.0.2: {}
4100 |
4101 | tldts-core@6.1.74: {}
4102 |
4103 | tldts@6.1.74:
4104 | dependencies:
4105 | tldts-core: 6.1.74
4106 |
4107 | to-regex-range@5.0.1:
4108 | dependencies:
4109 | is-number: 7.0.0
4110 |
4111 | tough-cookie@5.1.0:
4112 | dependencies:
4113 | tldts: 6.1.74
4114 |
4115 | tr46@1.0.1:
4116 | dependencies:
4117 | punycode: 2.3.1
4118 |
4119 | tr46@5.0.0:
4120 | dependencies:
4121 | punycode: 2.3.1
4122 |
4123 | tree-kill@1.2.2: {}
4124 |
4125 | trim-newlines@4.1.1: {}
4126 |
4127 | ts-api-utils@2.0.0(typescript@5.7.3):
4128 | dependencies:
4129 | typescript: 5.7.3
4130 |
4131 | ts-interface-checker@0.1.13: {}
4132 |
4133 | tslib@2.8.1: {}
4134 |
4135 | tsup@8.3.5(postcss@8.5.1)(typescript@5.7.3):
4136 | dependencies:
4137 | bundle-require: 5.1.0(esbuild@0.24.2)
4138 | cac: 6.7.14
4139 | chokidar: 4.0.3
4140 | consola: 3.4.0
4141 | debug: 4.4.0
4142 | esbuild: 0.24.2
4143 | joycon: 3.1.1
4144 | picocolors: 1.1.1
4145 | postcss-load-config: 6.0.1(postcss@8.5.1)
4146 | resolve-from: 5.0.0
4147 | rollup: 4.32.0
4148 | source-map: 0.8.0-beta.0
4149 | sucrase: 3.35.0
4150 | tinyexec: 0.3.2
4151 | tinyglobby: 0.2.10
4152 | tree-kill: 1.2.2
4153 | optionalDependencies:
4154 | postcss: 8.5.1
4155 | typescript: 5.7.3
4156 | transitivePeerDependencies:
4157 | - jiti
4158 | - supports-color
4159 | - tsx
4160 | - yaml
4161 |
4162 | type-check@0.4.0:
4163 | dependencies:
4164 | prelude-ls: 1.2.1
4165 |
4166 | type-fest@1.4.0: {}
4167 |
4168 | typed-array-buffer@1.0.3:
4169 | dependencies:
4170 | call-bound: 1.0.3
4171 | es-errors: 1.3.0
4172 | is-typed-array: 1.1.15
4173 |
4174 | typed-array-byte-length@1.0.3:
4175 | dependencies:
4176 | call-bind: 1.0.8
4177 | for-each: 0.3.3
4178 | gopd: 1.2.0
4179 | has-proto: 1.2.0
4180 | is-typed-array: 1.1.15
4181 |
4182 | typed-array-byte-offset@1.0.4:
4183 | dependencies:
4184 | available-typed-arrays: 1.0.7
4185 | call-bind: 1.0.8
4186 | for-each: 0.3.3
4187 | gopd: 1.2.0
4188 | has-proto: 1.2.0
4189 | is-typed-array: 1.1.15
4190 | reflect.getprototypeof: 1.0.10
4191 |
4192 | typed-array-length@1.0.7:
4193 | dependencies:
4194 | call-bind: 1.0.8
4195 | for-each: 0.3.3
4196 | gopd: 1.2.0
4197 | is-typed-array: 1.1.15
4198 | possible-typed-array-names: 1.0.0
4199 | reflect.getprototypeof: 1.0.10
4200 |
4201 | typescript-eslint@8.21.0(eslint@9.18.0)(typescript@5.7.3):
4202 | dependencies:
4203 | '@typescript-eslint/eslint-plugin': 8.21.0(@typescript-eslint/parser@8.21.0(eslint@9.18.0)(typescript@5.7.3))(eslint@9.18.0)(typescript@5.7.3)
4204 | '@typescript-eslint/parser': 8.21.0(eslint@9.18.0)(typescript@5.7.3)
4205 | '@typescript-eslint/utils': 8.21.0(eslint@9.18.0)(typescript@5.7.3)
4206 | eslint: 9.18.0
4207 | typescript: 5.7.3
4208 | transitivePeerDependencies:
4209 | - supports-color
4210 |
4211 | typescript@5.7.3: {}
4212 |
4213 | unbox-primitive@1.1.0:
4214 | dependencies:
4215 | call-bound: 1.0.3
4216 | has-bigints: 1.1.0
4217 | has-symbols: 1.1.0
4218 | which-boxed-primitive: 1.1.1
4219 |
4220 | undici-types@6.20.0: {}
4221 |
4222 | uri-js@4.4.1:
4223 | dependencies:
4224 | punycode: 2.3.1
4225 |
4226 | validate-npm-package-license@3.0.4:
4227 | dependencies:
4228 | spdx-correct: 3.2.0
4229 | spdx-expression-parse: 3.0.1
4230 |
4231 | vite-node@3.0.4(@types/node@22.10.10):
4232 | dependencies:
4233 | cac: 6.7.14
4234 | debug: 4.4.0
4235 | es-module-lexer: 1.6.0
4236 | pathe: 2.0.2
4237 | vite: 6.0.11(@types/node@22.10.10)
4238 | transitivePeerDependencies:
4239 | - '@types/node'
4240 | - jiti
4241 | - less
4242 | - lightningcss
4243 | - sass
4244 | - sass-embedded
4245 | - stylus
4246 | - sugarss
4247 | - supports-color
4248 | - terser
4249 | - tsx
4250 | - yaml
4251 |
4252 | vite@6.0.11(@types/node@22.10.10):
4253 | dependencies:
4254 | esbuild: 0.24.2
4255 | postcss: 8.5.1
4256 | rollup: 4.32.0
4257 | optionalDependencies:
4258 | '@types/node': 22.10.10
4259 | fsevents: 2.3.3
4260 |
4261 | vitest@3.0.4(@types/node@22.10.10)(jsdom@26.0.0):
4262 | dependencies:
4263 | '@vitest/expect': 3.0.4
4264 | '@vitest/mocker': 3.0.4(vite@6.0.11(@types/node@22.10.10))
4265 | '@vitest/pretty-format': 3.0.4
4266 | '@vitest/runner': 3.0.4
4267 | '@vitest/snapshot': 3.0.4
4268 | '@vitest/spy': 3.0.4
4269 | '@vitest/utils': 3.0.4
4270 | chai: 5.1.2
4271 | debug: 4.4.0
4272 | expect-type: 1.1.0
4273 | magic-string: 0.30.17
4274 | pathe: 2.0.2
4275 | std-env: 3.8.0
4276 | tinybench: 2.9.0
4277 | tinyexec: 0.3.2
4278 | tinypool: 1.0.2
4279 | tinyrainbow: 2.0.0
4280 | vite: 6.0.11(@types/node@22.10.10)
4281 | vite-node: 3.0.4(@types/node@22.10.10)
4282 | why-is-node-running: 2.3.0
4283 | optionalDependencies:
4284 | '@types/node': 22.10.10
4285 | jsdom: 26.0.0
4286 | transitivePeerDependencies:
4287 | - jiti
4288 | - less
4289 | - lightningcss
4290 | - msw
4291 | - sass
4292 | - sass-embedded
4293 | - stylus
4294 | - sugarss
4295 | - supports-color
4296 | - terser
4297 | - tsx
4298 | - yaml
4299 |
4300 | w3c-xmlserializer@5.0.0:
4301 | dependencies:
4302 | xml-name-validator: 5.0.0
4303 |
4304 | webidl-conversions@4.0.2: {}
4305 |
4306 | webidl-conversions@7.0.0: {}
4307 |
4308 | whatwg-encoding@3.1.1:
4309 | dependencies:
4310 | iconv-lite: 0.6.3
4311 |
4312 | whatwg-mimetype@4.0.0: {}
4313 |
4314 | whatwg-url@14.1.0:
4315 | dependencies:
4316 | tr46: 5.0.0
4317 | webidl-conversions: 7.0.0
4318 |
4319 | whatwg-url@7.1.0:
4320 | dependencies:
4321 | lodash.sortby: 4.7.0
4322 | tr46: 1.0.1
4323 | webidl-conversions: 4.0.2
4324 |
4325 | which-boxed-primitive@1.1.1:
4326 | dependencies:
4327 | is-bigint: 1.1.0
4328 | is-boolean-object: 1.2.1
4329 | is-number-object: 1.1.1
4330 | is-string: 1.1.1
4331 | is-symbol: 1.1.1
4332 |
4333 | which-builtin-type@1.2.1:
4334 | dependencies:
4335 | call-bound: 1.0.3
4336 | function.prototype.name: 1.1.8
4337 | has-tostringtag: 1.0.2
4338 | is-async-function: 2.1.1
4339 | is-date-object: 1.1.0
4340 | is-finalizationregistry: 1.1.1
4341 | is-generator-function: 1.1.0
4342 | is-regex: 1.2.1
4343 | is-weakref: 1.1.0
4344 | isarray: 2.0.5
4345 | which-boxed-primitive: 1.1.1
4346 | which-collection: 1.0.2
4347 | which-typed-array: 1.1.18
4348 |
4349 | which-collection@1.0.2:
4350 | dependencies:
4351 | is-map: 2.0.3
4352 | is-set: 2.0.3
4353 | is-weakmap: 2.0.2
4354 | is-weakset: 2.0.4
4355 |
4356 | which-typed-array@1.1.18:
4357 | dependencies:
4358 | available-typed-arrays: 1.0.7
4359 | call-bind: 1.0.8
4360 | call-bound: 1.0.3
4361 | for-each: 0.3.3
4362 | gopd: 1.2.0
4363 | has-tostringtag: 1.0.2
4364 |
4365 | which@2.0.2:
4366 | dependencies:
4367 | isexe: 2.0.0
4368 |
4369 | why-is-node-running@2.3.0:
4370 | dependencies:
4371 | siginfo: 2.0.0
4372 | stackback: 0.0.2
4373 |
4374 | word-wrap@1.2.5: {}
4375 |
4376 | wrap-ansi@7.0.0:
4377 | dependencies:
4378 | ansi-styles: 4.3.0
4379 | string-width: 4.2.3
4380 | strip-ansi: 6.0.1
4381 |
4382 | wrap-ansi@8.1.0:
4383 | dependencies:
4384 | ansi-styles: 6.2.1
4385 | string-width: 5.1.2
4386 | strip-ansi: 7.1.0
4387 |
4388 | ws@8.18.0: {}
4389 |
4390 | xml-name-validator@5.0.0: {}
4391 |
4392 | xmlchars@2.2.0: {}
4393 |
4394 | yallist@4.0.0: {}
4395 |
4396 | yargs-parser@20.2.9: {}
4397 |
4398 | yocto-queue@0.1.0: {}
4399 |
--------------------------------------------------------------------------------
/src/__tests__/context.test.tsx:
--------------------------------------------------------------------------------
1 | import { act, render, screen } from '@testing-library/react'
2 | import { createSelectContext } from '../create-context'
3 | import { useContextSelector, useContextSetState } from '../hooks'
4 |
5 | it('should only rerender when selected value changes', () => {
6 | let renderCount = 0
7 | const [Context, Provider] = createSelectContext({ count: 0, name: 'test' })
8 |
9 | function Counter() {
10 | const count = useContextSelector(Context, (state) => state.count)
11 | const setState = useContextSetState(Context)
12 |
13 | renderCount++
14 |
15 | return (
16 |
17 | {count}
18 |
25 |
30 |
31 | )
32 | }
33 |
34 | render(
35 |
36 |
37 |
38 | )
39 |
40 | // Initial render!
41 | expect(renderCount).toBe(1)
42 |
43 | // Update unrelated state
44 | act(() => {
45 | screen.getByRole('button', { name: 'Change Name' }).click()
46 | })
47 |
48 | // Shouldn't rerender
49 | // renderCount should be 1 still
50 | expect(renderCount).toBe(1)
51 |
52 | // Update counted state
53 | act(() => {
54 | screen.getByRole('button', { name: 'Increment' }).click()
55 | })
56 |
57 | // Should rerender because count changed
58 | expect(renderCount).toBe(2)
59 | })
60 |
61 | it('should respect custom compare function', () => {
62 | let renderCount = 0
63 | const [Context, Provider] = createSelectContext({
64 | items: [1, 2, 3],
65 | })
66 |
67 | function Items() {
68 | const items = useContextSelector(Context, (state) => state.items, {
69 | compare: (prev, next) => prev.length === next.length,
70 | })
71 | const setState = useContextSetState(Context)
72 |
73 | renderCount++
74 |
75 | return (
76 |
77 | {items.join(',')}
78 |
87 |
96 |
97 | )
98 | }
99 |
100 | render(
101 |
102 |
103 |
104 | )
105 |
106 | // Initial render
107 | expect(renderCount).toBe(1)
108 |
109 | // Update array values but keep same length
110 | act(() => {
111 | screen.getByRole('button', { name: 'Increment All' }).click()
112 | })
113 |
114 | // Shouldn't rerender because length is same
115 | expect(renderCount).toBe(1)
116 |
117 | // Add new item which changes length
118 | act(() => {
119 | screen.getByRole('button', { name: 'Add Item' }).click()
120 | })
121 |
122 | // Should rerender because length changed
123 | expect(renderCount).toBe(2)
124 | })
125 |
126 | it('should only log debug messages in development when state changes', () => {
127 | const consoleSpy = vi.spyOn(console, 'group')
128 | const originalNodeEnv = process.env.NODE_ENV
129 | process.env.NODE_ENV = 'development'
130 |
131 | const [Context, Provider] = createSelectContext({ count: 0, name: 'test' })
132 |
133 | function Component() {
134 | const count = useContextSelector(Context, (state) => state.count, {
135 | debug: {
136 | enabled: true,
137 | name: 'CountSelector',
138 | },
139 | })
140 | const setState = useContextSetState(Context)
141 |
142 | return (
143 |
144 | {count}
145 |
152 |
157 |
158 | )
159 | }
160 |
161 | render(
162 |
163 |
164 |
165 | )
166 |
167 | // Clear initial render log
168 | consoleSpy.mockClear()
169 |
170 | // Update unrelated state
171 | // not being consumed by the selector
172 | act(() => {
173 | screen.getByRole('button', { name: 'Change Name' }).click()
174 | })
175 |
176 | // Should not log because selected state (count) didn't change
177 | expect(consoleSpy).not.toHaveBeenCalled()
178 |
179 | // Update counted state
180 | act(() => {
181 | screen.getByRole('button', { name: 'Increment' }).click()
182 | })
183 |
184 | // Should log once because count changed
185 | expect(consoleSpy).toHaveBeenCalledTimes(1)
186 |
187 | // Cleanup
188 | process.env.NODE_ENV = originalNodeEnv
189 | consoleSpy.mockRestore()
190 | })
191 |
--------------------------------------------------------------------------------
/src/create-context.tsx:
--------------------------------------------------------------------------------
1 | import { createContext } from 'react'
2 | import { Store } from './types'
3 |
4 | /**
5 | * Creates a context with selector functionality for efficient updates.
6 | * Only re-renders components when their selected state changes.
7 | *
8 | * @template State - The type of state stored in the context
9 | * @param initialState - The initial state value for the context
10 | * @returns A tuple containing [Context, Provider]
11 | * - Context: React Context object to be used with useContextSelector
12 | * - Provider: React component to wrap your app/component tree
13 | *
14 | * @example
15 | * ```tsx
16 | * type State = {
17 | * count: number
18 | * text: string
19 | * }
20 | *
21 | * const [CountContext, Provider] = createSelectContext({
22 | * count: 0,
23 | * text: ''
24 | * })
25 | *
26 | * function App() {
27 | * return (
28 | *
29 | *
30 | *
31 | *
32 | * )
33 | * }
34 | * ```
35 | */
36 | export function createSelectContext(initialState: State) {
37 | const store: Store = {
38 | state: initialState,
39 | listeners: new Set(),
40 | setState(fn) {
41 | const nextState = fn(store.state)
42 | store.state = nextState
43 |
44 | store.listeners.forEach((listener) => listener())
45 | },
46 |
47 | subscribe(listener) {
48 | store.listeners.add(listener)
49 | // Return cleanup function
50 | return () => store.listeners.delete(listener)
51 | },
52 |
53 | getSnapshot() {
54 | return store.state
55 | },
56 | }
57 |
58 | const Context = createContext | null>(null)
59 |
60 | function Provider({ children }: { children: React.ReactNode }) {
61 | return {children}
62 | }
63 |
64 | return [Context, Provider] as const
65 | }
66 |
--------------------------------------------------------------------------------
/src/hooks.ts:
--------------------------------------------------------------------------------
1 | import { useContext, useRef, useSyncExternalStore } from 'react'
2 | import { SetStateFn, Store } from './types'
3 | import { debugLogger, isDevelopment } from './utils'
4 |
5 | type Options = {
6 | compare?: (prev: Selected, next: Selected) => boolean
7 | debug?: {
8 | name: string
9 | enabled: boolean
10 | }
11 | }
12 |
13 | /**
14 | * A hook that subscribes to context updates with selector optimization.
15 | * Re-renders will only occur if the selected state changes based on the compare function.
16 | *
17 | * @param Context - The React Context created by createSelectContext
18 | * @param selector - A function that selects a portion of the state
19 | * @param options - Optional configuration
20 | * @param options.compare - Optional function to determine if selected state has changed (defaults to Object.is)
21 | * @param options.debug - Optional debug options for development only
22 | * @param options.debug.name - Name to identify this selector in debug logs
23 | * @param options.debug.enabled - Whether to enable debug logging
24 | * @returns The selected portion of state
25 | *
26 | * @example
27 | * ```tsx
28 | * // Basic usage
29 | * const count = useContextSelector(CountContext, state => state.count)
30 | *
31 | * // With debug option
32 | * const name = useContextSelector(CountContext,
33 | * state => state.count,
34 | * {
35 | * debug: { name: 'NameSelector', enabled: true }
36 | * }
37 | * )
38 | *
39 | * // With custom compare
40 | * const items = useContextSelector(CountContext,
41 | * state => state.items,
42 | * {
43 | * compare: (prev, next) => prev.length === next.length
44 | * }
45 | * )
46 | *
47 | * // With both compare and debug
48 | * const name = useContextSelector(CountContext,
49 | * state => state.name,
50 | * {
51 | * compare: (prev, next) => prev === next,
52 | * debug: { name: 'NameSelector', enabled: true }
53 | * }
54 | * )
55 | * ```
56 | */
57 | export function useContextSelector(
58 | Context: React.Context | null>,
59 | selector: (state: State) => Selected,
60 | options: Options = {}
61 | ): Selected {
62 | const store = useContext(Context)
63 |
64 | const compare = options.compare ?? Object.is
65 |
66 | if (!store) {
67 | throw new Error('Context Provider is missing')
68 | }
69 |
70 | const previousSelectedStateRef = useRef(null)
71 |
72 | const selectedState = useSyncExternalStore(
73 | store.subscribe,
74 | () => {
75 | const nextSelectedState = selector(store.getSnapshot())
76 |
77 | if (previousSelectedStateRef.current !== null) {
78 | const shouldUpdateState = !compare(
79 | previousSelectedStateRef.current,
80 | nextSelectedState
81 | )
82 |
83 | if (shouldUpdateState) {
84 | previousSelectedStateRef.current = nextSelectedState
85 |
86 | if (options.debug?.enabled && isDevelopment()) {
87 | debugLogger({
88 | name: options.debug.name,
89 | prevState: previousSelectedStateRef.current,
90 | nextState: nextSelectedState,
91 | listeners: store.listeners.size,
92 | status: 'New Selected State',
93 | })
94 | }
95 |
96 | return nextSelectedState
97 | }
98 |
99 | return previousSelectedStateRef.current
100 | }
101 |
102 | if (options.debug?.enabled && isDevelopment()) {
103 | debugLogger({
104 | name: options.debug.name,
105 | prevState: null,
106 | nextState: nextSelectedState,
107 | listeners: store.listeners.size,
108 | status: 'Initial Render',
109 | })
110 | }
111 |
112 | // First time render
113 | previousSelectedStateRef.current = nextSelectedState
114 | return nextSelectedState
115 | },
116 | // Server snapshot
117 | // No need to compare here
118 | () => selector(store.getSnapshot())
119 | )
120 |
121 | return selectedState
122 | }
123 |
124 | /**
125 | * A hook that returns the setState function from the context.
126 | * Use this to update the context state.
127 | *
128 | * @param Context - The React Context created by createSelectContext
129 | * @returns A function to update the context state
130 | * @throws {Error} If used outside of a Provider
131 | *
132 | * @example
133 | * ```tsx
134 | * const setState = useContextSetState(CountContext)
135 | * // Update state
136 | * setState(state => ({ ...state, count: state.count + 1 }))
137 | * ```
138 | */
139 | export function useContextSetState(
140 | Context: React.Context | null>
141 | ): SetStateFn {
142 | const store = useContext(Context)
143 |
144 | if (!store) {
145 | throw new Error('Context Provider is missing')
146 | }
147 |
148 | return store.setState
149 | }
150 |
--------------------------------------------------------------------------------
/src/index.ts:
--------------------------------------------------------------------------------
1 | import { createSelectContext } from './create-context'
2 | import { useContextSelector, useContextSetState } from './hooks'
3 |
4 | export { createSelectContext, useContextSelector, useContextSetState }
5 |
--------------------------------------------------------------------------------
/src/test/setup.ts:
--------------------------------------------------------------------------------
1 | import '@testing-library/jest-dom'
2 |
--------------------------------------------------------------------------------
/src/test/vitest.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/src/types.ts:
--------------------------------------------------------------------------------
1 | export type SetStateFn = (fn: (state: State) => State) => void
2 |
3 | export type Store = {
4 | state: State
5 | setState: SetStateFn
6 | listeners: Set<() => void>
7 | subscribe: (listener: () => void) => () => void
8 | getSnapshot: () => State
9 | }
10 |
11 | export type DebugOptions = {
12 | name: string
13 | enabled: boolean
14 | }
15 |
--------------------------------------------------------------------------------
/src/utils.ts:
--------------------------------------------------------------------------------
1 | type LogStatus =
2 | | 'New Selected State'
3 | | 'No New Selected State'
4 | | 'Initial Render'
5 |
6 | export const debugLogger = ({
7 | name,
8 | prevState,
9 | nextState,
10 | listeners,
11 | status,
12 | }: {
13 | name: string
14 | prevState: State
15 | nextState: State
16 | listeners: number
17 | status: LogStatus
18 | }): void => {
19 | console.group(`[Selector: ${name}] ${status}`)
20 | console.log('Prev:', prevState)
21 | console.log('Next:', nextState)
22 | console.log('Listeners:', listeners)
23 | console.groupEnd()
24 | }
25 |
26 | export const isDevelopment = () => process.env.NODE_ENV === 'development'
27 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "module": "ESNext",
5 | "lib": ["ESNext", "DOM"],
6 | "jsx": "react-jsx",
7 | "moduleResolution": "bundler",
8 | "strict": true,
9 | "esModuleInterop": true,
10 | "skipLibCheck": true
11 | },
12 | "include": [
13 | "src",
14 | "tsup.config.ts",
15 | "vitest.config.ts",
16 | "src/test/vitest.d.ts"
17 | ]
18 | }
19 |
--------------------------------------------------------------------------------
/tsup.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'tsup'
2 |
3 | export default defineConfig({
4 | entry: ['./src/index.ts'],
5 | format: ['cjs', 'esm'],
6 | dts: true,
7 | clean: true,
8 | external: ['react'],
9 | treeshake: true,
10 | })
11 |
--------------------------------------------------------------------------------
/vitest.config.ts:
--------------------------------------------------------------------------------
1 | import { defineConfig } from 'vitest/config'
2 |
3 | export default defineConfig({
4 | test: {
5 | environment: 'jsdom',
6 | globals: true,
7 | setupFiles: ['./src/test/setup.ts'], // Optional for additional setup
8 | },
9 | })
10 |
--------------------------------------------------------------------------------