├── index.js ├── templates ├── template-react-ts │ ├── src │ │ ├── vite-env.d.ts │ │ ├── main.tsx │ │ ├── app.css │ │ ├── app.tsx │ │ ├── index.css │ │ └── assets │ │ │ └── react.svg │ ├── .vscode │ │ ├── extensions.json │ │ └── settings.json │ ├── tsconfig.json │ ├── vite.config.ts │ ├── eslint.config.mjs │ ├── .editorconfig │ ├── .gitignore │ ├── index.html │ ├── tsconfig.node.json │ ├── tsconfig.app.json │ ├── package.json │ ├── public │ │ └── vite.svg │ └── README.md └── template-react-zustand │ ├── src │ ├── vite-env.d.ts │ ├── main.tsx │ ├── app.css │ ├── stores │ │ └── use-demo-store.ts │ ├── app.tsx │ ├── index.css │ └── assets │ │ └── react.svg │ ├── .vscode │ ├── extensions.json │ └── settings.json │ ├── tsconfig.json │ ├── vite.config.ts │ ├── eslint.config.mjs │ ├── .editorconfig │ ├── .gitignore │ ├── index.html │ ├── tsconfig.node.json │ ├── tsconfig.app.json │ ├── package.json │ ├── public │ └── vite.svg │ └── README.md ├── eslint.config.mjs ├── .vscode ├── extensions.json └── settings.json ├── src ├── types.ts ├── boilerplates.ts ├── utils.ts └── index.ts ├── .editorconfig ├── .gitignore ├── tsconfig.json ├── .github ├── PULL_REQUEST_TEMPLATE.md └── workflows │ ├── publish.yml │ └── pull_request.yml ├── LICENSE ├── package.json ├── README.md └── pnpm-lock.yaml /index.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | import './dist/index.mjs'; 4 | -------------------------------------------------------------------------------- /templates/template-react-ts/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /templates/template-react-zustand/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import { avenger } from '@sj-distributor/eslint-config'; 2 | 3 | export default avenger(); 4 | -------------------------------------------------------------------------------- /templates/template-react-ts/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "EditorConfig.EditorConfig", 4 | ] 5 | } -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "EditorConfig.EditorConfig", 4 | "dbaeumer.vscode-eslint" 5 | ] 6 | } -------------------------------------------------------------------------------- /templates/template-react-zustand/.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": [ 3 | "EditorConfig.EditorConfig", 4 | ] 5 | } -------------------------------------------------------------------------------- /templates/template-react-ts/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [], 3 | "references": [ 4 | { "path": "./tsconfig.app.json" }, 5 | { "path": "./tsconfig.node.json" } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /templates/template-react-zustand/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "files": [], 3 | "references": [ 4 | { "path": "./tsconfig.app.json" }, 5 | { "path": "./tsconfig.node.json" } 6 | ] 7 | } 8 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | export type ColorFunc = (str: string | number) => string; 2 | 3 | export type Boilerplate = { 4 | name: string; 5 | color: ColorFunc; 6 | display: string; 7 | customCommand?: string; 8 | }; 9 | -------------------------------------------------------------------------------- /templates/template-react-ts/vite.config.ts: -------------------------------------------------------------------------------- 1 | import react from '@vitejs/plugin-react'; 2 | import { defineConfig } from 'vite'; 3 | 4 | // https://vite.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }); 8 | -------------------------------------------------------------------------------- /templates/template-react-ts/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import { avenger } from '@sj-distributor/eslint-config'; 2 | 3 | export default avenger( 4 | { 5 | react: true, 6 | }, 7 | { 8 | ignores: ['dist'], 9 | }, 10 | ); 11 | -------------------------------------------------------------------------------- /templates/template-react-zustand/vite.config.ts: -------------------------------------------------------------------------------- 1 | import react from '@vitejs/plugin-react'; 2 | import { defineConfig } from 'vite'; 3 | 4 | // https://vite.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }); 8 | -------------------------------------------------------------------------------- /templates/template-react-zustand/eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import { avenger } from '@sj-distributor/eslint-config'; 2 | 3 | export default avenger( 4 | { 5 | react: true, 6 | }, 7 | { 8 | ignores: ['dist'], 9 | }, 10 | ); 11 | -------------------------------------------------------------------------------- /templates/template-react-ts/src/main.tsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from 'react'; 2 | 3 | import { createRoot } from 'react-dom/client'; 4 | 5 | import './index.css'; 6 | import { App } from './app'; 7 | 8 | createRoot(document.getElementById('root')!).render( 9 | 10 | 11 | , 12 | ); 13 | -------------------------------------------------------------------------------- /templates/template-react-zustand/src/main.tsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from 'react'; 2 | 3 | import { createRoot } from 'react-dom/client'; 4 | 5 | import './index.css'; 6 | import { App } from './app'; 7 | 8 | createRoot(document.getElementById('root')!).render( 9 | 10 | 11 | , 12 | ); 13 | -------------------------------------------------------------------------------- /src/boilerplates.ts: -------------------------------------------------------------------------------- 1 | import { bgBlack, yellow } from 'kolorist'; 2 | 3 | import type { Boilerplate } from './types'; 4 | 5 | export const boilerplates: Boilerplate[] = [ 6 | { 7 | name: 'react-ts', 8 | display: 'TypeScript', 9 | color: bgBlack, 10 | }, 11 | { 12 | name: 'react-zustand', 13 | display: 'TypeScript + Zustand', 14 | color: yellow, 15 | }, 16 | ]; 17 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | # For more information about the properties used in 2 | # this file, please see the EditorConfig documentation: 3 | # https://editorconfig.org/ 4 | 5 | root = true 6 | 7 | [*] 8 | charset = utf-8 9 | end_of_line = lf 10 | indent_size = 2 11 | indent_style = space 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | 15 | [*.md] 16 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /templates/template-react-ts/.editorconfig: -------------------------------------------------------------------------------- 1 | # For more information about the properties used in 2 | # this file, please see the EditorConfig documentation: 3 | # https://editorconfig.org/ 4 | 5 | root = true 6 | 7 | [*] 8 | charset = utf-8 9 | end_of_line = lf 10 | indent_size = 2 11 | indent_style = space 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | 15 | [*.md] 16 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /templates/template-react-zustand/.editorconfig: -------------------------------------------------------------------------------- 1 | # For more information about the properties used in 2 | # this file, please see the EditorConfig documentation: 3 | # https://editorconfig.org/ 4 | 5 | root = true 6 | 7 | [*] 8 | charset = utf-8 9 | end_of_line = lf 10 | indent_size = 2 11 | indent_style = space 12 | insert_final_newline = true 13 | trim_trailing_whitespace = true 14 | 15 | [*.md] 16 | trim_trailing_whitespace = false -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | !.vscode/settings.json 19 | !.vscode/css_custom_data.json 20 | .idea 21 | .DS_Store 22 | *.suo 23 | *.ntvs* 24 | *.njsproj 25 | *.sln 26 | *.sw? 27 | .history/* 28 | -------------------------------------------------------------------------------- /templates/template-react-ts/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | !.vscode/settings.json 19 | !.vscode/css_custom_data.json 20 | .idea 21 | .DS_Store 22 | *.suo 23 | *.ntvs* 24 | *.njsproj 25 | *.sln 26 | *.sw? 27 | .history/* 28 | -------------------------------------------------------------------------------- /templates/template-react-zustand/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | !.vscode/settings.json 19 | !.vscode/css_custom_data.json 20 | .idea 21 | .DS_Store 22 | *.suo 23 | *.ntvs* 24 | *.njsproj 25 | *.sln 26 | *.sw? 27 | .history/* 28 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ 3 | "build.config.ts", 4 | "src" 5 | ], 6 | "compilerOptions": { 7 | "outDir": "dist", 8 | "target": "ES2020", 9 | "module": "ES2020", 10 | "moduleResolution": "bundler", 11 | "strict": true, 12 | "skipLibCheck": true, 13 | "declaration": false, 14 | "sourceMap": false, 15 | "noUnusedLocals": true, 16 | "esModuleInterop": true 17 | } 18 | } -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 🤔 What is the purpose of this pull request? 4 | 5 | - [ ] Bug fix 6 | - [ ] New Feature 7 | - [ ] Documentation update 8 | - [ ] Other 9 | 10 | --- 11 | 12 | 🔗 Related issue link 13 | 14 | 15 | 16 | 17 | 🚀 Summary 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /templates/template-react-ts/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Vite + React + TS 9 | 10 | 11 |
12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /templates/template-react-zustand/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | Vite + React + TS + Zustand 9 | 10 | 11 |
12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /templates/template-react-ts/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 | "target": "ES2022", 5 | "lib": ["ES2023"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "verbatimModuleSyntax": true, 13 | "moduleDetection": "force", 14 | "noEmit": true, 15 | 16 | /* Linting */ 17 | "strict": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true, 20 | "erasableSyntaxOnly": true, 21 | "noFallthroughCasesInSwitch": true, 22 | "noUncheckedSideEffectImports": true 23 | }, 24 | "include": ["vite.config.ts"] 25 | } 26 | -------------------------------------------------------------------------------- /templates/template-react-zustand/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", 4 | "target": "ES2022", 5 | "lib": ["ES2023"], 6 | "module": "ESNext", 7 | "skipLibCheck": true, 8 | 9 | /* Bundler mode */ 10 | "moduleResolution": "bundler", 11 | "allowImportingTsExtensions": true, 12 | "verbatimModuleSyntax": true, 13 | "moduleDetection": "force", 14 | "noEmit": true, 15 | 16 | /* Linting */ 17 | "strict": true, 18 | "noUnusedLocals": true, 19 | "noUnusedParameters": true, 20 | "erasableSyntaxOnly": true, 21 | "noFallthroughCasesInSwitch": true, 22 | "noUncheckedSideEffectImports": true 23 | }, 24 | "include": ["vite.config.ts"] 25 | } 26 | -------------------------------------------------------------------------------- /templates/template-react-ts/src/app.css: -------------------------------------------------------------------------------- 1 | #root { 2 | max-width: 1280px; 3 | margin: 0 auto; 4 | padding: 2rem; 5 | text-align: center; 6 | } 7 | 8 | .logo { 9 | height: 6em; 10 | padding: 1.5em; 11 | will-change: filter; 12 | transition: filter 300ms; 13 | } 14 | .logo:hover { 15 | filter: drop-shadow(0 0 2em #646cffaa); 16 | } 17 | .logo.react:hover { 18 | filter: drop-shadow(0 0 2em #61dafbaa); 19 | } 20 | 21 | @keyframes logo-spin { 22 | from { 23 | transform: rotate(0deg); 24 | } 25 | to { 26 | transform: rotate(360deg); 27 | } 28 | } 29 | 30 | @media (prefers-reduced-motion: no-preference) { 31 | a:nth-of-type(2) .logo { 32 | animation: logo-spin infinite 20s linear; 33 | } 34 | } 35 | 36 | .card { 37 | padding: 2em; 38 | } 39 | 40 | .read-the-docs { 41 | color: #888; 42 | } 43 | -------------------------------------------------------------------------------- /templates/template-react-zustand/src/app.css: -------------------------------------------------------------------------------- 1 | #root { 2 | max-width: 1280px; 3 | margin: 0 auto; 4 | padding: 2rem; 5 | text-align: center; 6 | } 7 | 8 | .logo { 9 | height: 6em; 10 | padding: 1.5em; 11 | will-change: filter; 12 | transition: filter 300ms; 13 | } 14 | .logo:hover { 15 | filter: drop-shadow(0 0 2em #646cffaa); 16 | } 17 | .logo.react:hover { 18 | filter: drop-shadow(0 0 2em #61dafbaa); 19 | } 20 | 21 | @keyframes logo-spin { 22 | from { 23 | transform: rotate(0deg); 24 | } 25 | to { 26 | transform: rotate(360deg); 27 | } 28 | } 29 | 30 | @media (prefers-reduced-motion: no-preference) { 31 | a:nth-of-type(2) .logo { 32 | animation: logo-spin infinite 20s linear; 33 | } 34 | } 35 | 36 | .card { 37 | padding: 2em; 38 | } 39 | 40 | .read-the-docs { 41 | color: #888; 42 | } 43 | -------------------------------------------------------------------------------- /templates/template-react-ts/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 4 | "target": "ES2020", 5 | "useDefineForClassFields": true, 6 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 7 | "module": "ESNext", 8 | "skipLibCheck": true, 9 | 10 | /* Bundler mode */ 11 | "moduleResolution": "bundler", 12 | "allowImportingTsExtensions": true, 13 | "verbatimModuleSyntax": true, 14 | "moduleDetection": "force", 15 | "noEmit": true, 16 | "jsx": "react-jsx", 17 | 18 | /* Linting */ 19 | "strict": true, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "erasableSyntaxOnly": true, 23 | "noFallthroughCasesInSwitch": true, 24 | "noUncheckedSideEffectImports": true 25 | }, 26 | "include": ["src"] 27 | } 28 | -------------------------------------------------------------------------------- /templates/template-react-zustand/tsconfig.app.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", 4 | "target": "ES2020", 5 | "useDefineForClassFields": true, 6 | "lib": ["ES2020", "DOM", "DOM.Iterable"], 7 | "module": "ESNext", 8 | "skipLibCheck": true, 9 | 10 | /* Bundler mode */ 11 | "moduleResolution": "bundler", 12 | "allowImportingTsExtensions": true, 13 | "verbatimModuleSyntax": true, 14 | "moduleDetection": "force", 15 | "noEmit": true, 16 | "jsx": "react-jsx", 17 | 18 | /* Linting */ 19 | "strict": true, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "erasableSyntaxOnly": true, 23 | "noFallthroughCasesInSwitch": true, 24 | "noUncheckedSideEffectImports": true 25 | }, 26 | "include": ["src"] 27 | } 28 | -------------------------------------------------------------------------------- /templates/template-react-ts/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "template-react-ts", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc -b && vite build", 9 | "lint": "eslint .", 10 | "preview": "vite preview" 11 | }, 12 | "dependencies": { 13 | "react": "^19.1.0", 14 | "react-dom": "^19.1.0" 15 | }, 16 | "devDependencies": { 17 | "@eslint-react/eslint-plugin": "^1.52.2", 18 | "@sj-distributor/eslint-config": "^0.2.1", 19 | "@types/react": "^19.1.2", 20 | "@types/react-dom": "^19.1.2", 21 | "@vitejs/plugin-react": "^4.4.1", 22 | "eslint": "^9.28.0", 23 | "eslint-plugin-react-hooks": "^5.2.0", 24 | "eslint-plugin-react-refresh": "^0.4.19", 25 | "globals": "^16.0.0", 26 | "typescript": "~5.8.3", 27 | "typescript-eslint": "^8.30.1", 28 | "vite": "^6.3.5" 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /templates/template-react-zustand/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "template-react-zustand", 3 | "private": true, 4 | "version": "0.0.0", 5 | "type": "module", 6 | "scripts": { 7 | "dev": "vite", 8 | "build": "tsc -b && vite build", 9 | "lint": "eslint .", 10 | "preview": "vite preview" 11 | }, 12 | "dependencies": { 13 | "ramda": "^0.30.1", 14 | "react": "^19.1.0", 15 | "react-dom": "^19.1.0", 16 | "zustand": "^5.0.5" 17 | }, 18 | "devDependencies": { 19 | "@eslint-react/eslint-plugin": "^1.52.2", 20 | "@sj-distributor/eslint-config": "^0.2.1", 21 | "@types/ramda": "^0.30.2", 22 | "@types/react": "^19.1.2", 23 | "@types/react-dom": "^19.1.2", 24 | "@vitejs/plugin-react": "^4.4.1", 25 | "eslint": "^9.28.0", 26 | "eslint-plugin-react-hooks": "^5.2.0", 27 | "eslint-plugin-react-refresh": "^0.4.19", 28 | "globals": "^16.0.0", 29 | "typescript": "~5.8.3", 30 | "typescript-eslint": "^8.30.1", 31 | "vite": "^6.3.5" 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /templates/template-react-zustand/src/stores/use-demo-store.ts: -------------------------------------------------------------------------------- 1 | import { isEmpty } from 'ramda'; 2 | import { create } from 'zustand'; 3 | import { persist } from 'zustand/middleware'; 4 | 5 | interface IUser { 6 | id: number; 7 | username: string; 8 | } 9 | 10 | interface IUserState { 11 | user: IUser; 12 | login: (user: IUser) => void; 13 | logout: () => void; 14 | } 15 | 16 | export const defaultUser: IUser = { 17 | id: 0, 18 | username: '', 19 | }; 20 | 21 | export const useDemoState = create()( 22 | persist( 23 | set => ({ 24 | user: defaultUser, 25 | login: (user: IUser) => set({ user }), 26 | logout: () => set({ user: defaultUser }), 27 | }), 28 | { name: 'USER_STATE' }, 29 | ), 30 | ); 31 | 32 | export const isLoginState = create<{ isLogin: boolean }>(set => ({ 33 | isLogin: !isEmpty(useDemoState.getState().user.username), 34 | subscribeToUserState: useDemoState.subscribe(userState => { 35 | set({ isLogin: !isEmpty(userState.user.username) }); 36 | }), 37 | })); 38 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 SJ Distributor 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /.github/workflows/publish.yml: -------------------------------------------------------------------------------- 1 | name: Publish Package 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' 7 | 8 | jobs: 9 | release: 10 | permissions: 11 | contents: write 12 | runs-on: ubuntu-latest 13 | steps: 14 | - uses: actions/checkout@v4 15 | with: 16 | fetch-depth: 0 17 | 18 | - uses: actions/setup-node@v4 19 | with: 20 | node-version: lts/* 21 | 22 | - name: Install pnpm 23 | run: npm install -g pnpm 24 | 25 | - name: Install deps 26 | run: pnpm install 27 | 28 | - name: Typecheck 29 | run: pnpm typecheck 30 | 31 | - name: Build 32 | run: pnpm build 33 | 34 | - name: Pack npm package 35 | run: npm pack 36 | 37 | - name: Generate changelog and create release 38 | run: npx changelogithub 39 | env: 40 | GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} 41 | 42 | - name: Publish to npm 43 | env: 44 | NODE_AUTH_TOKEN: ${{secrets.SIMON_NPM_AUTH_TOKEN}} 45 | run: | 46 | echo "//registry.npmjs.org/:_authToken=\${NODE_AUTH_TOKEN}" > ~/.npmrc 47 | npm publish *.tgz 48 | -------------------------------------------------------------------------------- /.github/workflows/pull_request.yml: -------------------------------------------------------------------------------- 1 | name: CI Test 2 | 3 | on: [push, pull_request] 4 | 5 | # Cancel prev CI if new commit come 6 | concurrency: 7 | group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} 8 | cancel-in-progress: true 9 | 10 | env: 11 | CI: true 12 | VERSION: ${{ github.event.pull_request.number }} 13 | 14 | permissions: 15 | contents: read 16 | 17 | jobs: 18 | setup: 19 | runs-on: ubuntu-latest 20 | steps: 21 | - uses: actions/checkout@v4 22 | - uses: actions/setup-node@v4 23 | with: 24 | node-version: 20.x 25 | 26 | - name: Install pnpm 27 | run: npm install -g pnpm 28 | 29 | - name: Install deps 30 | run: pnpm install 31 | 32 | - name: Typecheck 33 | run: pnpm typecheck 34 | 35 | - name: Template react-zustand Code Check 36 | run: | 37 | cd templates/template-react-zustand 38 | pnpm install 39 | pnpm lint --no-cache 40 | pnpm tsc 41 | 42 | - name: Template react-ts Code Check 43 | run: | 44 | cd templates/template-react-ts 45 | pnpm install 46 | pnpm lint --no-cache 47 | pnpm tsc -------------------------------------------------------------------------------- /templates/template-react-ts/src/app.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from 'react'; 2 | 3 | import reactLogo from './assets/react.svg'; 4 | import viteLogo from '/vite.svg'; 5 | import './app.css'; 6 | 7 | export const App = () => { 8 | const [count, setCount] = useState(0); 9 | 10 | return ( 11 | <> 12 |
13 | 14 | Vite logo 15 | 16 | 17 | React logo 18 | 19 |
20 |

Vite + React

21 |
22 | 27 |

28 | Edit 29 | {' '} 30 | src/App.tsx 31 | {' '} 32 | and save to test HMR 33 |

34 |
35 |

36 | Click on the Vite and React logos to learn more 37 |

38 | 39 | ); 40 | }; 41 | -------------------------------------------------------------------------------- /templates/template-react-zustand/src/app.tsx: -------------------------------------------------------------------------------- 1 | import { useState } from 'react'; 2 | 3 | import reactLogo from './assets/react.svg'; 4 | import viteLogo from '/vite.svg'; 5 | import './App.css'; 6 | 7 | export const App = () => { 8 | const [count, setCount] = useState(0); 9 | 10 | return ( 11 | <> 12 |
13 | 14 | Vite logo 15 | 16 | 17 | React logo 18 | 19 |
20 |

Vite + React

21 |
22 | 27 |

28 | Edit 29 | {' '} 30 | src/App.tsx 31 | {' '} 32 | and save to test HMR 33 |

34 |
35 |

36 | Click on the Vite and React logos to learn more 37 |

38 | 39 | ); 40 | }; 41 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | // Disable the default formatter, use eslint instead 3 | "prettier.enable": false, 4 | "editor.formatOnSave": false, 5 | 6 | // Auto fix 7 | "editor.codeActionsOnSave": { 8 | "source.fixAll.eslint": "explicit", 9 | "source.organizeImports": "never" 10 | }, 11 | 12 | "eslint.runtime": "node", 13 | 14 | /** 15 | These rules are mainly related to code style 16 | (such as indentation, spaces, quotation marks, semicolon, etc.), 17 | and hiding their error prompts can avoid excessive warnings 18 | in the editor while still maintaining the automatic repair function. 19 | **/ 20 | "eslint.rules.customizations": [ 21 | { "rule": "style/*", "severity": "off", "fixable": true }, 22 | { "rule": "*-indent", "severity": "off", "fixable": true }, 23 | { "rule": "*-spacing", "severity": "off", "fixable": true }, 24 | { "rule": "*-spaces", "severity": "off", "fixable": true }, 25 | { "rule": "*-order", "severity": "off", "fixable": true }, 26 | { "rule": "*-dangle", "severity": "off", "fixable": true }, 27 | { "rule": "*-newline", "severity": "off", "fixable": true }, 28 | { "rule": "*quotes", "severity": "off", "fixable": true }, 29 | { "rule": "*semi", "severity": "off", "fixable": true } 30 | ], 31 | 32 | // Enable eslint for all supported languages 33 | "eslint.validate": [ 34 | "javascript", 35 | "javascriptreact", 36 | "typescript", 37 | "typescriptreact", 38 | "html", 39 | ], 40 | } -------------------------------------------------------------------------------- /templates/template-react-ts/src/index.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; 3 | line-height: 1.5; 4 | font-weight: 400; 5 | 6 | color-scheme: light dark; 7 | color: rgba(255, 255, 255, 0.87); 8 | background-color: #242424; 9 | 10 | font-synthesis: none; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | } 15 | 16 | a { 17 | font-weight: 500; 18 | color: #646cff; 19 | text-decoration: inherit; 20 | } 21 | a:hover { 22 | color: #535bf2; 23 | } 24 | 25 | body { 26 | margin: 0; 27 | display: flex; 28 | place-items: center; 29 | min-width: 320px; 30 | min-height: 100vh; 31 | } 32 | 33 | h1 { 34 | font-size: 3.2em; 35 | line-height: 1.1; 36 | } 37 | 38 | button { 39 | border-radius: 8px; 40 | border: 1px solid transparent; 41 | padding: 0.6em 1.2em; 42 | font-size: 1em; 43 | font-weight: 500; 44 | font-family: inherit; 45 | background-color: #1a1a1a; 46 | cursor: pointer; 47 | transition: border-color 0.25s; 48 | } 49 | button:hover { 50 | border-color: #646cff; 51 | } 52 | button:focus, 53 | button:focus-visible { 54 | outline: 4px auto -webkit-focus-ring-color; 55 | } 56 | 57 | @media (prefers-color-scheme: light) { 58 | :root { 59 | color: #213547; 60 | background-color: #ffffff; 61 | } 62 | a:hover { 63 | color: #747bff; 64 | } 65 | button { 66 | background-color: #f9f9f9; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /templates/template-react-ts/public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/template-react-zustand/src/index.css: -------------------------------------------------------------------------------- 1 | :root { 2 | font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; 3 | line-height: 1.5; 4 | font-weight: 400; 5 | 6 | color-scheme: light dark; 7 | color: rgba(255, 255, 255, 0.87); 8 | background-color: #242424; 9 | 10 | font-synthesis: none; 11 | text-rendering: optimizeLegibility; 12 | -webkit-font-smoothing: antialiased; 13 | -moz-osx-font-smoothing: grayscale; 14 | } 15 | 16 | a { 17 | font-weight: 500; 18 | color: #646cff; 19 | text-decoration: inherit; 20 | } 21 | a:hover { 22 | color: #535bf2; 23 | } 24 | 25 | body { 26 | margin: 0; 27 | display: flex; 28 | place-items: center; 29 | min-width: 320px; 30 | min-height: 100vh; 31 | } 32 | 33 | h1 { 34 | font-size: 3.2em; 35 | line-height: 1.1; 36 | } 37 | 38 | button { 39 | border-radius: 8px; 40 | border: 1px solid transparent; 41 | padding: 0.6em 1.2em; 42 | font-size: 1em; 43 | font-weight: 500; 44 | font-family: inherit; 45 | background-color: #1a1a1a; 46 | cursor: pointer; 47 | transition: border-color 0.25s; 48 | } 49 | button:hover { 50 | border-color: #646cff; 51 | } 52 | button:focus, 53 | button:focus-visible { 54 | outline: 4px auto -webkit-focus-ring-color; 55 | } 56 | 57 | @media (prefers-color-scheme: light) { 58 | :root { 59 | color: #213547; 60 | background-color: #ffffff; 61 | } 62 | a:hover { 63 | color: #747bff; 64 | } 65 | button { 66 | background-color: #f9f9f9; 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /templates/template-react-zustand/public/vite.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/template-react-ts/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | // Disable the default formatter, use eslint instead 3 | "prettier.enable": false, 4 | "editor.formatOnSave": false, 5 | 6 | // Auto fix 7 | "editor.codeActionsOnSave": { 8 | "source.fixAll.eslint": "explicit", 9 | "source.organizeImports": "never" 10 | }, 11 | 12 | "eslint.runtime": "node", 13 | 14 | /** 15 | These rules are mainly related to code style 16 | (such as indentation, spaces, quotation marks, semicolon, etc.), 17 | and hiding their error prompts can avoid excessive warnings 18 | in the editor while still maintaining the automatic repair function. 19 | **/ 20 | "eslint.rules.customizations": [ 21 | { "rule": "style/*", "severity": "off", "fixable": true }, 22 | { "rule": "*-indent", "severity": "off", "fixable": true }, 23 | { "rule": "*-spacing", "severity": "off", "fixable": true }, 24 | { "rule": "*-spaces", "severity": "off", "fixable": true }, 25 | { "rule": "*-order", "severity": "off", "fixable": true }, 26 | { "rule": "*-dangle", "severity": "off", "fixable": true }, 27 | { "rule": "*-newline", "severity": "off", "fixable": true }, 28 | { "rule": "*quotes", "severity": "off", "fixable": true }, 29 | { "rule": "*semi", "severity": "off", "fixable": true } 30 | ], 31 | 32 | // Enable eslint for all supported languages 33 | "eslint.validate": [ 34 | "javascript", 35 | "javascriptreact", 36 | "typescript", 37 | "typescriptreact", 38 | "html", 39 | ], 40 | } -------------------------------------------------------------------------------- /templates/template-react-zustand/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | // Disable the default formatter, use eslint instead 3 | "prettier.enable": false, 4 | "editor.formatOnSave": false, 5 | 6 | // Auto fix 7 | "editor.codeActionsOnSave": { 8 | "source.fixAll.eslint": "explicit", 9 | "source.organizeImports": "never" 10 | }, 11 | 12 | "eslint.runtime": "node", 13 | 14 | /** 15 | These rules are mainly related to code style 16 | (such as indentation, spaces, quotation marks, semicolon, etc.), 17 | and hiding their error prompts can avoid excessive warnings 18 | in the editor while still maintaining the automatic repair function. 19 | **/ 20 | "eslint.rules.customizations": [ 21 | { "rule": "style/*", "severity": "off", "fixable": true }, 22 | { "rule": "*-indent", "severity": "off", "fixable": true }, 23 | { "rule": "*-spacing", "severity": "off", "fixable": true }, 24 | { "rule": "*-spaces", "severity": "off", "fixable": true }, 25 | { "rule": "*-order", "severity": "off", "fixable": true }, 26 | { "rule": "*-dangle", "severity": "off", "fixable": true }, 27 | { "rule": "*-newline", "severity": "off", "fixable": true }, 28 | { "rule": "*quotes", "severity": "off", "fixable": true }, 29 | { "rule": "*semi", "severity": "off", "fixable": true } 30 | ], 31 | 32 | // Enable eslint for all supported languages 33 | "eslint.validate": [ 34 | "javascript", 35 | "javascriptreact", 36 | "typescript", 37 | "typescriptreact", 38 | "html", 39 | ], 40 | } -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "create-react-boilerplates", 3 | "version": "2.6.2", 4 | "type": "module", 5 | "bin": { 6 | "create-react-boilerplates": "index.js", 7 | "crb-app": "index.js" 8 | }, 9 | "scripts": { 10 | "dev": "unbuild --stub", 11 | "build": "unbuild", 12 | "typecheck": "tsc --noEmit", 13 | "prepublishOnly": "pnpm build", 14 | "lint": "eslint ." 15 | }, 16 | "keywords": [ 17 | "react", 18 | "create-react-app", 19 | "template", 20 | "typescript", 21 | "eslint", 22 | "react-vite", 23 | "boilerplate", 24 | "react-boilerplate" 25 | ], 26 | "description": "Create React Boilerplate", 27 | "repository": "https://github.com/sj-distributor/create-react-boilerplates", 28 | "author": "Simon.F", 29 | "license": "MIT", 30 | "publishConfig": { 31 | "access": "public", 32 | "registry": "https://registry.npmjs.org/" 33 | }, 34 | "engines": { 35 | "node": ">=14.18.0" 36 | }, 37 | "bugs": { 38 | "url": "https://github.com/sj-distributor/create-react-boilerplates/issues" 39 | }, 40 | "files": [ 41 | "dist", 42 | "index.js", 43 | "templates", 44 | "templates/templates-*" 45 | ], 46 | "devDependencies": { 47 | "@types/cross-spawn": "^6.0.6", 48 | "@types/minimist": "^1.2.5", 49 | "@types/prompts": "^2.4.9", 50 | "cross-spawn": "^7.0.6", 51 | "kolorist": "^1.8.0", 52 | "minimist": "^1.2.8", 53 | "prompts": "^2.4.2", 54 | "unbuild": "^3.5.0", 55 | "@eslint-react/eslint-plugin": "^1.52.2", 56 | "@sj-distributor/eslint-config": "^0.2.1", 57 | "eslint": "^9.28.0", 58 | "typescript": "~5.8.3", 59 | "typescript-eslint": "^8.30.1" 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /templates/template-react-ts/README.md: -------------------------------------------------------------------------------- 1 | # React TS Boilerplate 2 | 3 | ## Technology Stack 4 | 5 | - [Vite](https://vitejs.dev): Efficient build tool for modern browsers. 6 | - [React](https://reactjs.org): JavaScript library for building user interfaces. 7 | - [TypeScript](https://www.typescriptlang.org): Superset of JavaScript with static type-checking. 8 | 9 | ## Quick Start 10 | 11 | Install project dependencies 12 | 13 | ``` 14 | pnpm install 15 | ``` 16 | 17 | Launch the app, it will become available at [http://localhost:3000](http://localhost:3000/) 18 | 19 | ``` 20 | pnpm dev 21 | ``` 22 | 23 | ## Project Standards 24 | 25 | - xxx 26 | - xxx 27 | - xxx 28 | 29 | ## Directory Structure 30 | 31 | `├──`[`.vscode`](.vscode) — VSCode settings including code snippets, recommended extensions etc
32 | `├──`[`public`](./public) — Static assets such as robots.txt, index.html etc
33 | `├──`[`src/assets`](./src/assets) — Static assets
34 | `├──`[`src/components`](./src/components) — React public components
35 | `├──`[`src/hooks`](./src/hooks) — React public hooks
36 | `├──`[`src/stores`](./src/stores) — Status Management
37 | `├──`[`src/pages`](./src/pages) — Application and page (screen) components
38 | `├──`[`src/routes`](./src/routes) — Application routes components
39 | `├──`[`src/theme`](./src/services) — External connection service
40 | `├──`[`src/utils`](./src/utils) — Utility functions
41 | 42 | ## Recommended VSCode Extensions 43 | 44 | - [Tailwind CSS IntelliSense](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss): IntelliSense for Tailwind CSS. 45 | - [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode&ssr=false#overview): Code formatting tool. 46 | - [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig): Editor configuration consistency. 47 | 48 | ## Coding Conventions 49 | 50 | - Check [here](https://github.com/sj-distributor/react-coding-conventions). 51 | -------------------------------------------------------------------------------- /templates/template-react-zustand/README.md: -------------------------------------------------------------------------------- 1 | # React TS Boilerplate 2 | 3 | ## Technology Stack 4 | 5 | - [Vite](https://vitejs.dev): Efficient build tool for modern browsers. 6 | - [React](https://reactjs.org): JavaScript library for building user interfaces. 7 | - [TypeScript](https://www.typescriptlang.org): Superset of JavaScript with static type-checking. 8 | - [Ramda](https://ramdajs.com/): Functional programming library for JavaScript. 9 | - [Zustand](https://zustand-demo.pmnd.rs/): Small, fast and scaleable bearbones state-management solution. 10 | 11 | ## Quick Start 12 | 13 | Install project dependencies 14 | 15 | ``` 16 | pnpm install 17 | ``` 18 | 19 | Launch the app, it will become available at [http://localhost:3000](http://localhost:3000/) 20 | 21 | ``` 22 | pnpm dev 23 | ``` 24 | 25 | ## Project Standards 26 | 27 | - xxx 28 | - xxx 29 | - xxx 30 | 31 | ## Directory Structure 32 | 33 | `├──`[`.vscode`](.vscode) — VSCode settings including code snippets, recommended extensions etc
34 | `├──`[`public`](./public) — Static assets such as robots.txt, index.html etc
35 | `├──`[`src/assets`](./src/assets) — Static assets
36 | `├──`[`src/components`](./src/components) — React public components
37 | `├──`[`src/hooks`](./src/hooks) — React public hooks
38 | `├──`[`src/stores`](./src/stores) — Status Management
39 | `├──`[`src/pages`](./src/pages) — Application and page (screen) components
40 | `├──`[`src/routes`](./src/routes) — Application routes components
41 | `├──`[`src/theme`](./src/services) — External connection service
42 | `├──`[`src/utils`](./src/utils) — Utility functions
43 | 44 | ## Recommended VSCode Extensions 45 | 46 | - [Tailwind CSS IntelliSense](https://marketplace.visualstudio.com/items?itemName=bradlc.vscode-tailwindcss): IntelliSense for Tailwind CSS. 47 | - [Prettier - Code formatter](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode&ssr=false#overview): Code formatting tool. 48 | - [EditorConfig for VS Code](https://marketplace.visualstudio.com/items?itemName=EditorConfig.EditorConfig): Editor configuration consistency. 49 | 50 | ## Coding Conventions 51 | 52 | - Check [here](https://github.com/sj-distributor/react-coding-conventions). 53 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 🚀 Create React Boilerplates 2 | 3 | [![npm version](https://img.shields.io/npm/v/create-react-boilerplates.svg)](https://www.npmjs.com/package/create-react-boilerplates) 4 | [![MIT License](https://img.shields.io/npm/l/create-react-boilerplates.svg?style=flat-square)](https://github.com/sj-distributor/create-react-boilerplates/blob/main/LICENSE) 5 | [![node](https://img.shields.io/badge/node-%5E14.18.0%20%7C%7C%20%3E%3D%2016.0.0-brightgreen)](https://github.com/nodejs/release#release-schedule) 6 | [![CI Test](https://github.com/sj-distributor/create-react-boilerplates/actions/workflows/pull_request.yml/badge.svg)](https://github.com/sj-distributor/create-react-boilerplates/actions/workflows/pull_request.yml) 7 | 8 | 一个快速创建现代化 React 项目的脚手架工具,提供多种预配置模板,让你能够快速启动 React 项目开发。 9 | 10 | ## ✨ 特性 11 | 12 | - 🚀 **快速创建** - 一条命令即可创建完整的 React 项目 13 | - 📦 **多种模板** - 提供不同技术栈的项目模板 14 | - 🔧 **开箱即用** - 预配置了 TypeScript、ESLint、Vite 等现代化工具 15 | - 🎯 **最佳实践** - 遵循 React 社区最佳实践和代码规范 16 | - 📱 **现代化** - 使用最新版本的 React 19 和相关依赖 17 | 18 | ## 📋 系统要求 19 | 20 | - npm / yarn / pnpm 21 | 22 | ## 🚀 快速开始 23 | 24 | 25 | ### 使用 yarn 26 | 27 | ```bash 28 | yarn create react-boilerplates 29 | ``` 30 | 31 | ### 使用 pnpm 32 | 33 | ```bash 34 | pnpm create react-boilerplates 35 | ``` 36 | 37 | ## 📚 可用模板 38 | 39 | ### 1. TypeScript 模板 (`react-ts`) 40 | 41 | 基础的 React + TypeScript 项目模板,包含: 42 | 43 | - ⚛️ React 19 44 | - 🔷 TypeScript 45 | - ⚡ Vite 构建工具 46 | - 🔍 ESLint 代码检查 47 | - 🎨 现代化项目结构 48 | 49 | ### 2. TypeScript + Zustand 模板 (`react-zustand`) 50 | 51 | 包含状态管理的完整项目模板,包含: 52 | 53 | - ⚛️ React 19 54 | - 🔷 TypeScript 55 | - 🐻 Zustand 状态管理 56 | - 🛠️ Ramda 函数式编程工具库 57 | - ⚡ Vite 构建工具 58 | - 🔍 ESLint 代码检查 59 | 60 | ## 🛠️ 使用方式 61 | 62 | 1. **创建项目** 63 | ```bash 64 | pnpm create react-boilerplates 65 | ``` 66 | 67 | 2. **选择模板** 68 | 69 | 运行命令后,会出现交互式选择界面: 70 | - 输入项目名称 71 | - 选择项目模板 72 | - 确认包名称(如果需要) 73 | 74 | 3. **安装依赖并启动** 75 | ```bash 76 | cd 77 | pnpm install 78 | pnpm dev 79 | ``` 80 | 81 | ## 🤝 贡献 82 | 83 | 欢迎提交 Issue 和 Pull Request! 84 | 85 | 1. Fork 本仓库 86 | 2. 创建你的特性分支 (`git checkout -b feature/AmazingFeature`) 87 | 3. 提交你的更改 (`git commit -m 'Add some AmazingFeature'`) 88 | 4. 推送到分支 (`git push origin feature/AmazingFeature`) 89 | 5. 打开一个 Pull Request 90 | 91 | ## 📄 许可证 92 | 93 | 本项目基于 [MIT](LICENSE) 许可证开源。 94 | 95 | ## 🔗 相关链接 96 | 97 | - [GitHub 仓库](https://github.com/sj-distributor/create-react-boilerplates) 98 | - [npm 包](https://www.npmjs.com/package/create-react-boilerplates) 99 | - [问题反馈](https://github.com/sj-distributor/create-react-boilerplates/issues) 100 | 101 | ## 📝 更新日志 102 | 103 | 查看 [Releases](https://github.com/sj-distributor/create-react-boilerplates/releases) 了解版本更新信息。 104 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import fs from 'node:fs'; 2 | import path from 'node:path'; 3 | 4 | import minimist from 'minimist'; 5 | 6 | export const cwd = process.cwd(); 7 | 8 | const renameFiles: Record = { 9 | _gitignore: '.gitignore', 10 | }; 11 | 12 | export const argv = minimist<{ 13 | t?: string; 14 | template?: string; 15 | }>(process.argv.slice(2), { string: ['_'] }); 16 | 17 | export const formatDir = (targetDir: string | undefined) => { 18 | return targetDir?.trim().replace(/\/+$/g, ''); 19 | }; 20 | 21 | export const isValidPackageName = (projectName: string) => { 22 | return /^(?:@[a-z\d\-*~][a-z\d\-*._~]*\/)?[a-z\d\-~][a-z\d\-._~]*$/.test( 23 | projectName, 24 | ); 25 | }; 26 | 27 | export const toValidPackageName = (projectName: string) => { 28 | return projectName 29 | .trim() 30 | .toLowerCase() 31 | .replace(/\s+/g, '-') 32 | .replace(/^[._]/, '') 33 | .replace(/[^a-z\d\-~]+/g, '-'); 34 | }; 35 | 36 | export const copy = (src: string, dest: string) => { 37 | const stat = fs.statSync(src); 38 | 39 | if (stat.isDirectory()) { 40 | // eslint-disable-next-line @typescript-eslint/no-use-before-define 41 | copyDir(src, dest); 42 | } 43 | else { 44 | fs.copyFileSync(src, dest); 45 | } 46 | }; 47 | 48 | export const copyDir = (srcDir: string, destDir: string) => { 49 | fs.mkdirSync(destDir, { recursive: true }); 50 | for (const file of fs.readdirSync(srcDir)) { 51 | const srcFile = path.resolve(srcDir, file); 52 | 53 | const destFile = path.resolve(destDir, file); 54 | 55 | copy(srcFile, destFile); 56 | } 57 | }; 58 | 59 | export const isEmpty = (path: string) => { 60 | const files = fs.readdirSync(path); 61 | 62 | return files.length === 0 || (files.length === 1 && files[0] === '.git'); 63 | }; 64 | 65 | export const emptyDir = (dir: string) => { 66 | if (!fs.existsSync(dir)) { 67 | return; 68 | } 69 | for (const file of fs.readdirSync(dir)) { 70 | if (file === '.git') { 71 | continue; 72 | } 73 | fs.rmSync(path.resolve(dir, file), { recursive: true, force: true }); 74 | } 75 | }; 76 | 77 | export const pkgFromUserAgent = (userAgent: string | undefined) => { 78 | if (!userAgent) { 79 | return undefined; 80 | } 81 | 82 | const pkgSpec = userAgent.split(' ')[0]; 83 | 84 | const pkgSpecArr = pkgSpec.split('/'); 85 | 86 | return { 87 | name: pkgSpecArr[0], 88 | version: pkgSpecArr[1], 89 | }; 90 | }; 91 | 92 | export const editFile = ( 93 | file: string, 94 | callback: (content: string) => string, 95 | ) => { 96 | const content = fs.readFileSync(file, 'utf-8'); 97 | 98 | fs.writeFileSync(file, callback(content), 'utf-8'); 99 | }; 100 | 101 | export const getProjectName = (targetDir: string) => { 102 | return targetDir === '.' ? path.basename(path.resolve()) : targetDir; 103 | }; 104 | 105 | export const write = ( 106 | root: string, 107 | templateDir: string, 108 | file: string, 109 | content?: string, 110 | ) => { 111 | const targetPath = path.join(root, renameFiles[file] ?? file); 112 | 113 | if (content) { 114 | fs.writeFileSync(targetPath, content); 115 | } 116 | else { 117 | copy(path.join(templateDir, file), targetPath); 118 | } 119 | }; 120 | -------------------------------------------------------------------------------- /templates/template-react-ts/src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /templates/template-react-zustand/src/assets/react.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | /* eslint-disable no-console */ 2 | import fs from 'node:fs'; 3 | import path from 'node:path'; 4 | import { fileURLToPath } from 'node:url'; 5 | 6 | import spawn from 'cross-spawn'; 7 | import { red, reset } from 'kolorist'; 8 | import prompts from 'prompts'; 9 | 10 | import { boilerplates } from './boilerplates'; 11 | import { 12 | argv, 13 | cwd, 14 | emptyDir, 15 | formatDir, 16 | getProjectName, 17 | isEmpty, 18 | isValidPackageName, 19 | pkgFromUserAgent, 20 | toValidPackageName, 21 | write, 22 | } from './utils'; 23 | 24 | const DEFAULT_TARGET_DIR = 'react-project'; 25 | 26 | async function init() { 27 | const argvTargetDir = formatDir(argv._[0]); 28 | 29 | const argvTemplate = argv.template || argv.t; 30 | 31 | let targetDir = argvTargetDir || DEFAULT_TARGET_DIR; 32 | 33 | let result: prompts.Answers< 34 | 'projectName' | 'overwrite' | 'packageName' | 'boilerplate' 35 | >; 36 | 37 | try { 38 | result = await prompts( 39 | [ 40 | { 41 | type: argvTargetDir ? null : 'text', 42 | name: 'projectName', 43 | message: reset('Project name:'), 44 | initial: DEFAULT_TARGET_DIR, 45 | onState: state => { 46 | targetDir = formatDir(state.value) || DEFAULT_TARGET_DIR; 47 | }, 48 | }, 49 | { 50 | type: () => 51 | !fs.existsSync(targetDir) || isEmpty(targetDir) ? null : 'select', 52 | name: 'overwrite', 53 | message: () => 54 | `${targetDir === '.' 55 | ? 'Current directory' 56 | : `Target directory "${targetDir}"` 57 | } is not empty. Please select the steps to perform:`, 58 | initial: 0, 59 | choices: [ 60 | { 61 | title: 'Cancel operation', 62 | value: 1, 63 | }, 64 | { 65 | title: 'Ignore files and continue', 66 | value: 2, 67 | }, 68 | { 69 | title: 'Delete the current file and continue', 70 | value: 3, 71 | }, 72 | ], 73 | }, 74 | { 75 | type: (_, { overwrite }: { overwrite?: number }) => { 76 | if (overwrite === 1) { 77 | throw new Error(`${red('✖')} Operation cancelled`); 78 | } 79 | 80 | return null; 81 | }, 82 | name: 'overwriteChecker', 83 | }, 84 | { 85 | type: () => 86 | isValidPackageName(getProjectName(targetDir)) ? null : 'text', 87 | name: 'packageName', 88 | message: reset('Package name:'), 89 | initial: () => toValidPackageName(getProjectName(targetDir)), 90 | validate: dir => 91 | isValidPackageName(dir) || 'Invalid package.json name', 92 | }, 93 | { 94 | type: 'select', 95 | name: 'boilerplate', 96 | message: reset('Select a boilerplate:'), 97 | choices: boilerplates.map(item => { 98 | const variantColor = item.color; 99 | 100 | return { 101 | title: variantColor(item.display || item.name), 102 | value: item.name, 103 | }; 104 | }), 105 | }, 106 | ], 107 | { 108 | onCancel: () => { 109 | throw new Error(`${red('✖')} Operation cancelled`); 110 | }, 111 | }, 112 | ); 113 | } 114 | catch (cancelled: any) { 115 | console.log(cancelled.message); 116 | 117 | return; 118 | } 119 | 120 | // user choice associated with prompts 121 | const { overwrite, packageName, boilerplate } = result; 122 | 123 | const root = path.join(cwd, targetDir); 124 | 125 | if (overwrite === 3) { 126 | emptyDir(root); 127 | } 128 | else if (!fs.existsSync(root)) { 129 | fs.mkdirSync(root, { recursive: true }); 130 | } 131 | 132 | // determine template 133 | const template: string = boilerplate || argvTemplate; 134 | 135 | const pkgInfo = pkgFromUserAgent(process.env.npm_config_user_agent); 136 | 137 | const pkgManager = pkgInfo ? pkgInfo.name : 'npm'; 138 | 139 | const isYarn1 = pkgManager === 'yarn' && pkgInfo?.version.startsWith('1.'); 140 | 141 | const { customCommand } = boilerplates.find(v => v.name === template) ?? {}; 142 | 143 | if (customCommand) { 144 | const fullCustomCommand = customCommand 145 | .replace(/^npm create/, () => { 146 | // `bun create` uses it's own set of templates, 147 | // the closest alternative is using `bun x` directly on the package 148 | if (pkgManager === 'bun') { 149 | return 'bun x create-'; 150 | } 151 | 152 | return `${pkgManager} create `; 153 | }) 154 | // Only Yarn 1.x doesn't support `@version` in the `create` command 155 | .replace('@latest', () => (isYarn1 ? '' : '@latest')) 156 | .replace(/^npm exec/, () => { 157 | // Prefer `pnpm dlx`, `yarn dlx`, or `bun x` 158 | if (pkgManager === 'pnpm') { 159 | return 'pnpm dlx'; 160 | } 161 | 162 | if (pkgManager === 'yarn' && !isYarn1) { 163 | return 'yarn dlx'; 164 | } 165 | 166 | if (pkgManager === 'bun') { 167 | return 'bun x'; 168 | } 169 | 170 | // Use `npm exec` in all other cases, 171 | // including Yarn 1.x and other custom npm clients. 172 | return 'npm exec'; 173 | }); 174 | 175 | const [command, ...args] = fullCustomCommand.split(' '); 176 | 177 | // we replace TARGET_DIR here because targetDir may include a space 178 | const replacedArgs = args.map(arg => 179 | arg.replace('TARGET_DIR', targetDir), 180 | ); 181 | 182 | const { status } = spawn.sync(command, replacedArgs, { 183 | stdio: 'inherit', 184 | }); 185 | 186 | process.exit(status ?? 0); 187 | } 188 | 189 | console.log(`\nBoilerplate project in ${root}...`); 190 | 191 | const templateDir = path.resolve( 192 | fileURLToPath(import.meta.url), 193 | '../../templates/', 194 | `template-${template}`, 195 | ); 196 | 197 | const files = fs.readdirSync(templateDir); 198 | 199 | for (const file of files.filter(f => f !== 'package.json')) { 200 | write(root, templateDir, file); 201 | } 202 | 203 | const pkg = JSON.parse( 204 | fs.readFileSync(path.join(templateDir, 'package.json'), 'utf-8'), 205 | ); 206 | 207 | pkg.name = packageName || getProjectName(targetDir); 208 | 209 | write(root, templateDir, 'package.json', `${JSON.stringify(pkg, null, 2)}\n`); 210 | 211 | const cdProjectName = path.relative(cwd, root); 212 | 213 | console.log('\nDone. Now run:\n'); 214 | 215 | if (root !== cwd) { 216 | console.log( 217 | ` cd ${ 218 | cdProjectName.includes(' ') ? `"${cdProjectName}"` : cdProjectName 219 | }`, 220 | ); 221 | } 222 | 223 | switch (pkgManager) { 224 | case 'pnpm': 225 | console.log(' pnpm install'); 226 | console.log(' pnpm dev'); 227 | break; 228 | default: 229 | console.log(` ${pkgManager} install`); 230 | console.log(` ${pkgManager} run dev`); 231 | break; 232 | } 233 | } 234 | 235 | init().catch(e => { 236 | console.error(e); 237 | }); 238 | -------------------------------------------------------------------------------- /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-react/eslint-plugin': 12 | specifier: ^1.52.2 13 | version: 1.52.2(eslint@9.29.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3) 14 | '@sj-distributor/eslint-config': 15 | specifier: ^0.2.1 16 | version: 0.2.1(@eslint-react/eslint-plugin@1.52.2(eslint@9.29.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3))(@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 17 | '@types/cross-spawn': 18 | specifier: ^6.0.6 19 | version: 6.0.6 20 | '@types/minimist': 21 | specifier: ^1.2.5 22 | version: 1.2.5 23 | '@types/prompts': 24 | specifier: ^2.4.9 25 | version: 2.4.9 26 | cross-spawn: 27 | specifier: ^7.0.6 28 | version: 7.0.6 29 | eslint: 30 | specifier: ^9.28.0 31 | version: 9.29.0(jiti@2.4.2) 32 | kolorist: 33 | specifier: ^1.8.0 34 | version: 1.8.0 35 | minimist: 36 | specifier: ^1.2.8 37 | version: 1.2.8 38 | prompts: 39 | specifier: ^2.4.2 40 | version: 2.4.2 41 | typescript: 42 | specifier: ~5.8.3 43 | version: 5.8.3 44 | typescript-eslint: 45 | specifier: ^8.30.1 46 | version: 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 47 | unbuild: 48 | specifier: ^3.5.0 49 | version: 3.5.0(typescript@5.8.3) 50 | 51 | packages: 52 | 53 | '@antfu/install-pkg@1.1.0': 54 | resolution: {integrity: sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==} 55 | 56 | '@babel/code-frame@7.27.1': 57 | resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} 58 | engines: {node: '>=6.9.0'} 59 | 60 | '@babel/helper-validator-identifier@7.27.1': 61 | resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} 62 | engines: {node: '>=6.9.0'} 63 | 64 | '@clack/core@0.4.1': 65 | resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} 66 | 67 | '@clack/prompts@0.9.1': 68 | resolution: {integrity: sha512-JIpyaboYZeWYlyP0H+OoPPxd6nqueG/CmN6ixBiNFsIDHREevjIf0n0Ohh5gr5C8pEDknzgvz+pIJ8dMhzWIeg==} 69 | 70 | '@emnapi/core@1.4.3': 71 | resolution: {integrity: sha512-4m62DuCE07lw01soJwPiBGC0nAww0Q+RY70VZ+n49yDIO13yyinhbWCeNnaob0lakDtWQzSdtNWzJeOJt2ma+g==} 72 | 73 | '@emnapi/runtime@1.4.3': 74 | resolution: {integrity: sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==} 75 | 76 | '@emnapi/wasi-threads@1.0.2': 77 | resolution: {integrity: sha512-5n3nTJblwRi8LlXkJ9eBzu+kZR8Yxcc7ubakyQTFzPMtIhFpUBRbsnc2Dv88IZDIbCDlBiWrknhB4Lsz7mg6BA==} 78 | 79 | '@esbuild/aix-ppc64@0.25.5': 80 | resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} 81 | engines: {node: '>=18'} 82 | cpu: [ppc64] 83 | os: [aix] 84 | 85 | '@esbuild/android-arm64@0.25.5': 86 | resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} 87 | engines: {node: '>=18'} 88 | cpu: [arm64] 89 | os: [android] 90 | 91 | '@esbuild/android-arm@0.25.5': 92 | resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} 93 | engines: {node: '>=18'} 94 | cpu: [arm] 95 | os: [android] 96 | 97 | '@esbuild/android-x64@0.25.5': 98 | resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} 99 | engines: {node: '>=18'} 100 | cpu: [x64] 101 | os: [android] 102 | 103 | '@esbuild/darwin-arm64@0.25.5': 104 | resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} 105 | engines: {node: '>=18'} 106 | cpu: [arm64] 107 | os: [darwin] 108 | 109 | '@esbuild/darwin-x64@0.25.5': 110 | resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} 111 | engines: {node: '>=18'} 112 | cpu: [x64] 113 | os: [darwin] 114 | 115 | '@esbuild/freebsd-arm64@0.25.5': 116 | resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} 117 | engines: {node: '>=18'} 118 | cpu: [arm64] 119 | os: [freebsd] 120 | 121 | '@esbuild/freebsd-x64@0.25.5': 122 | resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} 123 | engines: {node: '>=18'} 124 | cpu: [x64] 125 | os: [freebsd] 126 | 127 | '@esbuild/linux-arm64@0.25.5': 128 | resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} 129 | engines: {node: '>=18'} 130 | cpu: [arm64] 131 | os: [linux] 132 | 133 | '@esbuild/linux-arm@0.25.5': 134 | resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} 135 | engines: {node: '>=18'} 136 | cpu: [arm] 137 | os: [linux] 138 | 139 | '@esbuild/linux-ia32@0.25.5': 140 | resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} 141 | engines: {node: '>=18'} 142 | cpu: [ia32] 143 | os: [linux] 144 | 145 | '@esbuild/linux-loong64@0.25.5': 146 | resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} 147 | engines: {node: '>=18'} 148 | cpu: [loong64] 149 | os: [linux] 150 | 151 | '@esbuild/linux-mips64el@0.25.5': 152 | resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} 153 | engines: {node: '>=18'} 154 | cpu: [mips64el] 155 | os: [linux] 156 | 157 | '@esbuild/linux-ppc64@0.25.5': 158 | resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} 159 | engines: {node: '>=18'} 160 | cpu: [ppc64] 161 | os: [linux] 162 | 163 | '@esbuild/linux-riscv64@0.25.5': 164 | resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} 165 | engines: {node: '>=18'} 166 | cpu: [riscv64] 167 | os: [linux] 168 | 169 | '@esbuild/linux-s390x@0.25.5': 170 | resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} 171 | engines: {node: '>=18'} 172 | cpu: [s390x] 173 | os: [linux] 174 | 175 | '@esbuild/linux-x64@0.25.5': 176 | resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} 177 | engines: {node: '>=18'} 178 | cpu: [x64] 179 | os: [linux] 180 | 181 | '@esbuild/netbsd-arm64@0.25.5': 182 | resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} 183 | engines: {node: '>=18'} 184 | cpu: [arm64] 185 | os: [netbsd] 186 | 187 | '@esbuild/netbsd-x64@0.25.5': 188 | resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} 189 | engines: {node: '>=18'} 190 | cpu: [x64] 191 | os: [netbsd] 192 | 193 | '@esbuild/openbsd-arm64@0.25.5': 194 | resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} 195 | engines: {node: '>=18'} 196 | cpu: [arm64] 197 | os: [openbsd] 198 | 199 | '@esbuild/openbsd-x64@0.25.5': 200 | resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} 201 | engines: {node: '>=18'} 202 | cpu: [x64] 203 | os: [openbsd] 204 | 205 | '@esbuild/sunos-x64@0.25.5': 206 | resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} 207 | engines: {node: '>=18'} 208 | cpu: [x64] 209 | os: [sunos] 210 | 211 | '@esbuild/win32-arm64@0.25.5': 212 | resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} 213 | engines: {node: '>=18'} 214 | cpu: [arm64] 215 | os: [win32] 216 | 217 | '@esbuild/win32-ia32@0.25.5': 218 | resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} 219 | engines: {node: '>=18'} 220 | cpu: [ia32] 221 | os: [win32] 222 | 223 | '@esbuild/win32-x64@0.25.5': 224 | resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} 225 | engines: {node: '>=18'} 226 | cpu: [x64] 227 | os: [win32] 228 | 229 | '@eslint-community/eslint-utils@4.7.0': 230 | resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==} 231 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 232 | peerDependencies: 233 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 234 | 235 | '@eslint-community/regexpp@4.12.1': 236 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 237 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 238 | 239 | '@eslint-react/ast@1.52.2': 240 | resolution: {integrity: sha512-L0Tbbzx5l7JHgkQ1TqPWQuZ4+PsXDcgtt3056FOYqstUrDRG+5ylm7h3gEWu98I3FDdgLS8q9dOzz0PGgwZCTA==} 241 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 242 | 243 | '@eslint-react/core@1.52.2': 244 | resolution: {integrity: sha512-FpxKZJHlf3zXETNL+WQP/SoYuVQNheWm1iDgW68RyHygD8mzk9CnVLDgjMrfmh2n0eaOqnWCL/IC2YzD6VpYOQ==} 245 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 246 | 247 | '@eslint-react/eff@1.52.2': 248 | resolution: {integrity: sha512-YBPE2J1+PfXrR9Ct+9rQsw8uRU06zHopI508cfj0usaIBf3hz18V2GoRTVhsjniP0QbvKQdHzyPmmS/B6uyMZQ==} 249 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 250 | 251 | '@eslint-react/eslint-plugin@1.52.2': 252 | resolution: {integrity: sha512-e93chCIWTM6DiYpcuEpc7qDUP7bF7swG7Giq0J6S38czLJvtw9YeMaC9y1BL5rlFbmAcCybDm9QcRI55h/EuMw==} 253 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 254 | peerDependencies: 255 | eslint: ^8.57.0 || ^9.0.0 256 | typescript: ^4.9.5 || ^5.3.3 257 | peerDependenciesMeta: 258 | typescript: 259 | optional: true 260 | 261 | '@eslint-react/kit@1.52.2': 262 | resolution: {integrity: sha512-k0cSgFnPlDPI1xyRzHjEWIapLG0zCy7mx1HBLg5wuKf/zzSh3iNFId53xMebR05vM2k9YH63gsvTwRkGx/77Zw==} 263 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 264 | 265 | '@eslint-react/shared@1.52.2': 266 | resolution: {integrity: sha512-YHysVcCfmBoxt2+6Ao4HdLPUYNSem70gy+0yzOQvlQFSsGhh+uifQ68SSa/2uJBWfNUm9xQlyDsr2raeO4BlgA==} 267 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 268 | 269 | '@eslint-react/var@1.52.2': 270 | resolution: {integrity: sha512-/7IYMPsmO0tIYqkqAVnkqB4eXeVBvgBL/a9hcGCO2eUSzslYzQHSzNPhIoPLD9HXng+0CWlT+KupOFIqP9a26A==} 271 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 272 | 273 | '@eslint/config-array@0.20.1': 274 | resolution: {integrity: sha512-OL0RJzC/CBzli0DrrR31qzj6d6i6Mm3HByuhflhl4LOBiWxN+3i6/t/ZQQNii4tjksXi8r2CRW1wMpWA2ULUEw==} 275 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 276 | 277 | '@eslint/config-helpers@0.2.3': 278 | resolution: {integrity: sha512-u180qk2Um1le4yf0ruXH3PYFeEZeYC3p/4wCTKrr2U1CmGdzGi3KtY0nuPDH48UJxlKCC5RDzbcbh4X0XlqgHg==} 279 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 280 | 281 | '@eslint/core@0.14.0': 282 | resolution: {integrity: sha512-qIbV0/JZr7iSDjqAc60IqbLdsj9GDt16xQtWD+B78d/HAlvysGdZZ6rpJHGAc2T0FQx1X6thsSPdnoiGKdNtdg==} 283 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 284 | 285 | '@eslint/core@0.15.0': 286 | resolution: {integrity: sha512-b7ePw78tEWWkpgZCDYkbqDOP8dmM6qe+AOC6iuJqlq1R/0ahMAeH3qynpnqKFGkMltrp44ohV4ubGyvLX28tzw==} 287 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 288 | 289 | '@eslint/eslintrc@3.3.1': 290 | resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} 291 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 292 | 293 | '@eslint/js@9.29.0': 294 | resolution: {integrity: sha512-3PIF4cBw/y+1u2EazflInpV+lYsSG0aByVIQzAgb1m1MhHFSbqTyNqtBKHgWf/9Ykud+DhILS9EGkmekVhbKoQ==} 295 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 296 | 297 | '@eslint/object-schema@2.1.6': 298 | resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==} 299 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 300 | 301 | '@eslint/plugin-kit@0.3.2': 302 | resolution: {integrity: sha512-4SaFZCNfJqvk/kenHpI8xvN42DMaoycy4PzKc5otHxRswww1kAt82OlBuwRVLofCACCTZEcla2Ydxv8scMXaTg==} 303 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 304 | 305 | '@humanfs/core@0.19.1': 306 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 307 | engines: {node: '>=18.18.0'} 308 | 309 | '@humanfs/node@0.16.6': 310 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 311 | engines: {node: '>=18.18.0'} 312 | 313 | '@humanwhocodes/module-importer@1.0.1': 314 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 315 | engines: {node: '>=12.22'} 316 | 317 | '@humanwhocodes/retry@0.3.1': 318 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 319 | engines: {node: '>=18.18'} 320 | 321 | '@humanwhocodes/retry@0.4.3': 322 | resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} 323 | engines: {node: '>=18.18'} 324 | 325 | '@isaacs/balanced-match@4.0.1': 326 | resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} 327 | engines: {node: 20 || >=22} 328 | 329 | '@isaacs/brace-expansion@5.0.0': 330 | resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} 331 | engines: {node: 20 || >=22} 332 | 333 | '@jridgewell/sourcemap-codec@1.5.0': 334 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 335 | 336 | '@napi-rs/wasm-runtime@0.2.11': 337 | resolution: {integrity: sha512-9DPkXtvHydrcOsopiYpUgPHpmj0HWZKMUnL2dZqpvC42lsratuBG06V5ipyno0fUek5VlFsNQ+AcFATSrJXgMA==} 338 | 339 | '@nodelib/fs.scandir@2.1.5': 340 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 341 | engines: {node: '>= 8'} 342 | 343 | '@nodelib/fs.stat@2.0.5': 344 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 345 | engines: {node: '>= 8'} 346 | 347 | '@nodelib/fs.walk@1.2.8': 348 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 349 | engines: {node: '>= 8'} 350 | 351 | '@rollup/plugin-alias@5.1.1': 352 | resolution: {integrity: sha512-PR9zDb+rOzkRb2VD+EuKB7UC41vU5DIwZ5qqCpk0KJudcWAyi8rvYOhS7+L5aZCspw1stTViLgN5v6FF1p5cgQ==} 353 | engines: {node: '>=14.0.0'} 354 | peerDependencies: 355 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 356 | peerDependenciesMeta: 357 | rollup: 358 | optional: true 359 | 360 | '@rollup/plugin-commonjs@28.0.6': 361 | resolution: {integrity: sha512-XSQB1K7FUU5QP+3lOQmVCE3I0FcbbNvmNT4VJSj93iUjayaARrTQeoRdiYQoftAJBLrR9t2agwAd3ekaTgHNlw==} 362 | engines: {node: '>=16.0.0 || 14 >= 14.17'} 363 | peerDependencies: 364 | rollup: ^2.68.0||^3.0.0||^4.0.0 365 | peerDependenciesMeta: 366 | rollup: 367 | optional: true 368 | 369 | '@rollup/plugin-json@6.1.0': 370 | resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} 371 | engines: {node: '>=14.0.0'} 372 | peerDependencies: 373 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 374 | peerDependenciesMeta: 375 | rollup: 376 | optional: true 377 | 378 | '@rollup/plugin-node-resolve@16.0.1': 379 | resolution: {integrity: sha512-tk5YCxJWIG81umIvNkSod2qK5KyQW19qcBF/B78n1bjtOON6gzKoVeSzAE8yHCZEDmqkHKkxplExA8KzdJLJpA==} 380 | engines: {node: '>=14.0.0'} 381 | peerDependencies: 382 | rollup: ^2.78.0||^3.0.0||^4.0.0 383 | peerDependenciesMeta: 384 | rollup: 385 | optional: true 386 | 387 | '@rollup/plugin-replace@6.0.2': 388 | resolution: {integrity: sha512-7QaYCf8bqF04dOy7w/eHmJeNExxTYwvKAmlSAH/EaWWUzbT0h5sbF6bktFoX/0F/0qwng5/dWFMyf3gzaM8DsQ==} 389 | engines: {node: '>=14.0.0'} 390 | peerDependencies: 391 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 392 | peerDependenciesMeta: 393 | rollup: 394 | optional: true 395 | 396 | '@rollup/pluginutils@5.1.4': 397 | resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} 398 | engines: {node: '>=14.0.0'} 399 | peerDependencies: 400 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 401 | peerDependenciesMeta: 402 | rollup: 403 | optional: true 404 | 405 | '@rollup/rollup-android-arm-eabi@4.43.0': 406 | resolution: {integrity: sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==} 407 | cpu: [arm] 408 | os: [android] 409 | 410 | '@rollup/rollup-android-arm64@4.43.0': 411 | resolution: {integrity: sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==} 412 | cpu: [arm64] 413 | os: [android] 414 | 415 | '@rollup/rollup-darwin-arm64@4.43.0': 416 | resolution: {integrity: sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==} 417 | cpu: [arm64] 418 | os: [darwin] 419 | 420 | '@rollup/rollup-darwin-x64@4.43.0': 421 | resolution: {integrity: sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==} 422 | cpu: [x64] 423 | os: [darwin] 424 | 425 | '@rollup/rollup-freebsd-arm64@4.43.0': 426 | resolution: {integrity: sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==} 427 | cpu: [arm64] 428 | os: [freebsd] 429 | 430 | '@rollup/rollup-freebsd-x64@4.43.0': 431 | resolution: {integrity: sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==} 432 | cpu: [x64] 433 | os: [freebsd] 434 | 435 | '@rollup/rollup-linux-arm-gnueabihf@4.43.0': 436 | resolution: {integrity: sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==} 437 | cpu: [arm] 438 | os: [linux] 439 | 440 | '@rollup/rollup-linux-arm-musleabihf@4.43.0': 441 | resolution: {integrity: sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==} 442 | cpu: [arm] 443 | os: [linux] 444 | 445 | '@rollup/rollup-linux-arm64-gnu@4.43.0': 446 | resolution: {integrity: sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==} 447 | cpu: [arm64] 448 | os: [linux] 449 | 450 | '@rollup/rollup-linux-arm64-musl@4.43.0': 451 | resolution: {integrity: sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==} 452 | cpu: [arm64] 453 | os: [linux] 454 | 455 | '@rollup/rollup-linux-loongarch64-gnu@4.43.0': 456 | resolution: {integrity: sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==} 457 | cpu: [loong64] 458 | os: [linux] 459 | 460 | '@rollup/rollup-linux-powerpc64le-gnu@4.43.0': 461 | resolution: {integrity: sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==} 462 | cpu: [ppc64] 463 | os: [linux] 464 | 465 | '@rollup/rollup-linux-riscv64-gnu@4.43.0': 466 | resolution: {integrity: sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==} 467 | cpu: [riscv64] 468 | os: [linux] 469 | 470 | '@rollup/rollup-linux-riscv64-musl@4.43.0': 471 | resolution: {integrity: sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==} 472 | cpu: [riscv64] 473 | os: [linux] 474 | 475 | '@rollup/rollup-linux-s390x-gnu@4.43.0': 476 | resolution: {integrity: sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==} 477 | cpu: [s390x] 478 | os: [linux] 479 | 480 | '@rollup/rollup-linux-x64-gnu@4.43.0': 481 | resolution: {integrity: sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==} 482 | cpu: [x64] 483 | os: [linux] 484 | 485 | '@rollup/rollup-linux-x64-musl@4.43.0': 486 | resolution: {integrity: sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==} 487 | cpu: [x64] 488 | os: [linux] 489 | 490 | '@rollup/rollup-win32-arm64-msvc@4.43.0': 491 | resolution: {integrity: sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==} 492 | cpu: [arm64] 493 | os: [win32] 494 | 495 | '@rollup/rollup-win32-ia32-msvc@4.43.0': 496 | resolution: {integrity: sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==} 497 | cpu: [ia32] 498 | os: [win32] 499 | 500 | '@rollup/rollup-win32-x64-msvc@4.43.0': 501 | resolution: {integrity: sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==} 502 | cpu: [x64] 503 | os: [win32] 504 | 505 | '@sj-distributor/eslint-config@0.2.1': 506 | resolution: {integrity: sha512-8T1hWPrRFAcX5Jjhwxmfep9p5+mcFSQrGCVYJbUXAbxn8ZXaHOlAd8EDNQaf8JyK92exJwVi54LpU6ddSOq+MA==} 507 | peerDependencies: 508 | '@eslint-react/eslint-plugin': ^1.23.2 509 | eslint: ^9.18.0 510 | eslint-plugin-react-hooks: ^5.1.0 511 | eslint-plugin-react-refresh: ^0.4.18 512 | peerDependenciesMeta: 513 | '@eslint-react/eslint-plugin': 514 | optional: true 515 | eslint-plugin-react-hooks: 516 | optional: true 517 | eslint-plugin-react-refresh: 518 | optional: true 519 | 520 | '@stylistic/eslint-plugin@2.13.0': 521 | resolution: {integrity: sha512-RnO1SaiCFHn666wNz2QfZEFxvmiNRqhzaMXHXxXXKt+MEP7aajlPxUSMIQpKAaJfverpovEYqjBOXDq6dDcaOQ==} 522 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 523 | peerDependencies: 524 | eslint: '>=8.40.0' 525 | 526 | '@trysound/sax@0.2.0': 527 | resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} 528 | engines: {node: '>=10.13.0'} 529 | 530 | '@tybys/wasm-util@0.9.0': 531 | resolution: {integrity: sha512-6+7nlbMVX/PVDCwaIQ8nTOPveOcFLSt8GcXdx8hD0bt39uWxYT88uXzqTd4fTvqta7oeUJqudepapKNt2DYJFw==} 532 | 533 | '@types/cross-spawn@6.0.6': 534 | resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} 535 | 536 | '@types/estree@1.0.7': 537 | resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} 538 | 539 | '@types/estree@1.0.8': 540 | resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} 541 | 542 | '@types/json-schema@7.0.15': 543 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 544 | 545 | '@types/minimist@1.2.5': 546 | resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} 547 | 548 | '@types/node@24.0.1': 549 | resolution: {integrity: sha512-MX4Zioh39chHlDJbKmEgydJDS3tspMP/lnQC67G3SWsTnb9NeYVWOjkxpOSy4oMfPs4StcWHwBrvUb4ybfnuaw==} 550 | 551 | '@types/prompts@2.4.9': 552 | resolution: {integrity: sha512-qTxFi6Buiu8+50/+3DGIWLHM6QuWsEKugJnnP6iv2Mc4ncxE4A/OJkjuVOA+5X0X1S/nq5VJRa8Lu+nwcvbrKA==} 553 | 554 | '@types/resolve@1.20.2': 555 | resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 556 | 557 | '@typescript-eslint/eslint-plugin@8.34.1': 558 | resolution: {integrity: sha512-STXcN6ebF6li4PxwNeFnqF8/2BNDvBupf2OPx2yWNzr6mKNGF7q49VM00Pz5FaomJyqvbXpY6PhO+T9w139YEQ==} 559 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 560 | peerDependencies: 561 | '@typescript-eslint/parser': ^8.34.1 562 | eslint: ^8.57.0 || ^9.0.0 563 | typescript: '>=4.8.4 <5.9.0' 564 | 565 | '@typescript-eslint/parser@8.34.1': 566 | resolution: {integrity: sha512-4O3idHxhyzjClSMJ0a29AcoK0+YwnEqzI6oz3vlRf3xw0zbzt15MzXwItOlnr5nIth6zlY2RENLsOPvhyrKAQA==} 567 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 568 | peerDependencies: 569 | eslint: ^8.57.0 || ^9.0.0 570 | typescript: '>=4.8.4 <5.9.0' 571 | 572 | '@typescript-eslint/project-service@8.34.1': 573 | resolution: {integrity: sha512-nuHlOmFZfuRwLJKDGQOVc0xnQrAmuq1Mj/ISou5044y1ajGNp2BNliIqp7F2LPQ5sForz8lempMFCovfeS1XoA==} 574 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 575 | peerDependencies: 576 | typescript: '>=4.8.4 <5.9.0' 577 | 578 | '@typescript-eslint/scope-manager@8.34.1': 579 | resolution: {integrity: sha512-beu6o6QY4hJAgL1E8RaXNC071G4Kso2MGmJskCFQhRhg8VOH/FDbC8soP8NHN7e/Hdphwp8G8cE6OBzC8o41ZA==} 580 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 581 | 582 | '@typescript-eslint/tsconfig-utils@8.34.1': 583 | resolution: {integrity: sha512-K4Sjdo4/xF9NEeA2khOb7Y5nY6NSXBnod87uniVYW9kHP+hNlDV8trUSFeynA2uxWam4gIWgWoygPrv9VMWrYg==} 584 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 585 | peerDependencies: 586 | typescript: '>=4.8.4 <5.9.0' 587 | 588 | '@typescript-eslint/type-utils@8.34.1': 589 | resolution: {integrity: sha512-Tv7tCCr6e5m8hP4+xFugcrwTOucB8lshffJ6zf1mF1TbU67R+ntCc6DzLNKM+s/uzDyv8gLq7tufaAhIBYeV8g==} 590 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 591 | peerDependencies: 592 | eslint: ^8.57.0 || ^9.0.0 593 | typescript: '>=4.8.4 <5.9.0' 594 | 595 | '@typescript-eslint/types@8.34.1': 596 | resolution: {integrity: sha512-rjLVbmE7HR18kDsjNIZQHxmv9RZwlgzavryL5Lnj2ujIRTeXlKtILHgRNmQ3j4daw7zd+mQgy+uyt6Zo6I0IGA==} 597 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 598 | 599 | '@typescript-eslint/typescript-estree@8.34.1': 600 | resolution: {integrity: sha512-rjCNqqYPuMUF5ODD+hWBNmOitjBWghkGKJg6hiCHzUvXRy6rK22Jd3rwbP2Xi+R7oYVvIKhokHVhH41BxPV5mA==} 601 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 602 | peerDependencies: 603 | typescript: '>=4.8.4 <5.9.0' 604 | 605 | '@typescript-eslint/utils@8.34.1': 606 | resolution: {integrity: sha512-mqOwUdZ3KjtGk7xJJnLbHxTuWVn3GO2WZZuM+Slhkun4+qthLdXx32C8xIXbO1kfCECb3jIs3eoxK3eryk7aoQ==} 607 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 608 | peerDependencies: 609 | eslint: ^8.57.0 || ^9.0.0 610 | typescript: '>=4.8.4 <5.9.0' 611 | 612 | '@typescript-eslint/visitor-keys@8.34.1': 613 | resolution: {integrity: sha512-xoh5rJ+tgsRKoXnkBPFRLZ7rjKM0AfVbC68UZ/ECXoDbfggb9RbEySN359acY1vS3qZ0jVTVWzbtfapwm5ztxw==} 614 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 615 | 616 | '@unrs/resolver-binding-android-arm-eabi@1.9.0': 617 | resolution: {integrity: sha512-h1T2c2Di49ekF2TE8ZCoJkb+jwETKUIPDJ/nO3tJBKlLFPu+fyd93f0rGP/BvArKx2k2HlRM4kqkNarj3dvZlg==} 618 | cpu: [arm] 619 | os: [android] 620 | 621 | '@unrs/resolver-binding-android-arm64@1.9.0': 622 | resolution: {integrity: sha512-sG1NHtgXtX8owEkJ11yn34vt0Xqzi3k9TJ8zppDmyG8GZV4kVWw44FHwKwHeEFl07uKPeC4ZoyuQaGh5ruJYPA==} 623 | cpu: [arm64] 624 | os: [android] 625 | 626 | '@unrs/resolver-binding-darwin-arm64@1.9.0': 627 | resolution: {integrity: sha512-nJ9z47kfFnCxN1z/oYZS7HSNsFh43y2asePzTEZpEvK7kGyuShSl3RRXnm/1QaqFL+iP+BjMwuB+DYUymOkA5A==} 628 | cpu: [arm64] 629 | os: [darwin] 630 | 631 | '@unrs/resolver-binding-darwin-x64@1.9.0': 632 | resolution: {integrity: sha512-TK+UA1TTa0qS53rjWn7cVlEKVGz2B6JYe0C++TdQjvWYIyx83ruwh0wd4LRxYBM5HeuAzXcylA9BH2trARXJTw==} 633 | cpu: [x64] 634 | os: [darwin] 635 | 636 | '@unrs/resolver-binding-freebsd-x64@1.9.0': 637 | resolution: {integrity: sha512-6uZwzMRFcD7CcCd0vz3Hp+9qIL2jseE/bx3ZjaLwn8t714nYGwiE84WpaMCYjU+IQET8Vu/+BNAGtYD7BG/0yA==} 638 | cpu: [x64] 639 | os: [freebsd] 640 | 641 | '@unrs/resolver-binding-linux-arm-gnueabihf@1.9.0': 642 | resolution: {integrity: sha512-bPUBksQfrgcfv2+mm+AZinaKq8LCFvt5PThYqRotqSuuZK1TVKkhbVMS/jvSRfYl7jr3AoZLYbDkItxgqMKRkg==} 643 | cpu: [arm] 644 | os: [linux] 645 | 646 | '@unrs/resolver-binding-linux-arm-musleabihf@1.9.0': 647 | resolution: {integrity: sha512-uT6E7UBIrTdCsFQ+y0tQd3g5oudmrS/hds5pbU3h4s2t/1vsGWbbSKhBSCD9mcqaqkBwoqlECpUrRJCmldl8PA==} 648 | cpu: [arm] 649 | os: [linux] 650 | 651 | '@unrs/resolver-binding-linux-arm64-gnu@1.9.0': 652 | resolution: {integrity: sha512-vdqBh911wc5awE2bX2zx3eflbyv8U9xbE/jVKAm425eRoOVv/VseGZsqi3A3SykckSpF4wSROkbQPvbQFn8EsA==} 653 | cpu: [arm64] 654 | os: [linux] 655 | 656 | '@unrs/resolver-binding-linux-arm64-musl@1.9.0': 657 | resolution: {integrity: sha512-/8JFZ/SnuDr1lLEVsxsuVwrsGquTvT51RZGvyDB/dOK3oYK2UqeXzgeyq6Otp8FZXQcEYqJwxb9v+gtdXn03eQ==} 658 | cpu: [arm64] 659 | os: [linux] 660 | 661 | '@unrs/resolver-binding-linux-ppc64-gnu@1.9.0': 662 | resolution: {integrity: sha512-FkJjybtrl+rajTw4loI3L6YqSOpeZfDls4SstL/5lsP2bka9TiHUjgMBjygeZEis1oC8LfJTS8FSgpKPaQx2tQ==} 663 | cpu: [ppc64] 664 | os: [linux] 665 | 666 | '@unrs/resolver-binding-linux-riscv64-gnu@1.9.0': 667 | resolution: {integrity: sha512-w/NZfHNeDusbqSZ8r/hp8iL4S39h4+vQMc9/vvzuIKMWKppyUGKm3IST0Qv0aOZ1rzIbl9SrDeIqK86ZpUK37w==} 668 | cpu: [riscv64] 669 | os: [linux] 670 | 671 | '@unrs/resolver-binding-linux-riscv64-musl@1.9.0': 672 | resolution: {integrity: sha512-bEPBosut8/8KQbUixPry8zg/fOzVOWyvwzOfz0C0Rw6dp+wIBseyiHKjkcSyZKv/98edrbMknBaMNJfA/UEdqw==} 673 | cpu: [riscv64] 674 | os: [linux] 675 | 676 | '@unrs/resolver-binding-linux-s390x-gnu@1.9.0': 677 | resolution: {integrity: sha512-LDtMT7moE3gK753gG4pc31AAqGUC86j3AplaFusc717EUGF9ZFJ356sdQzzZzkBk1XzMdxFyZ4f/i35NKM/lFA==} 678 | cpu: [s390x] 679 | os: [linux] 680 | 681 | '@unrs/resolver-binding-linux-x64-gnu@1.9.0': 682 | resolution: {integrity: sha512-WmFd5KINHIXj8o1mPaT8QRjA9HgSXhN1gl9Da4IZihARihEnOylu4co7i/yeaIpcfsI6sYs33cNZKyHYDh0lrA==} 683 | cpu: [x64] 684 | os: [linux] 685 | 686 | '@unrs/resolver-binding-linux-x64-musl@1.9.0': 687 | resolution: {integrity: sha512-CYuXbANW+WgzVRIl8/QvZmDaZxrqvOldOwlbUjIM4pQ46FJ0W5cinJ/Ghwa/Ng1ZPMJMk1VFdsD/XwmCGIXBWg==} 688 | cpu: [x64] 689 | os: [linux] 690 | 691 | '@unrs/resolver-binding-wasm32-wasi@1.9.0': 692 | resolution: {integrity: sha512-6Rp2WH0OoitMYR57Z6VE8Y6corX8C6QEMWLgOV6qXiJIeZ1F9WGXY/yQ8yDC4iTraotyLOeJ2Asea0urWj2fKQ==} 693 | engines: {node: '>=14.0.0'} 694 | cpu: [wasm32] 695 | 696 | '@unrs/resolver-binding-win32-arm64-msvc@1.9.0': 697 | resolution: {integrity: sha512-rknkrTRuvujprrbPmGeHi8wYWxmNVlBoNW8+4XF2hXUnASOjmuC9FNF1tGbDiRQWn264q9U/oGtixyO3BT8adQ==} 698 | cpu: [arm64] 699 | os: [win32] 700 | 701 | '@unrs/resolver-binding-win32-ia32-msvc@1.9.0': 702 | resolution: {integrity: sha512-Ceymm+iBl+bgAICtgiHyMLz6hjxmLJKqBim8tDzpX61wpZOx2bPK6Gjuor7I2RiUynVjvvkoRIkrPyMwzBzF3A==} 703 | cpu: [ia32] 704 | os: [win32] 705 | 706 | '@unrs/resolver-binding-win32-x64-msvc@1.9.0': 707 | resolution: {integrity: sha512-k59o9ZyeyS0hAlcaKFezYSH2agQeRFEB7KoQLXl3Nb3rgkqT1NY9Vwy+SqODiLmYnEjxWJVRE/yq2jFVqdIxZw==} 708 | cpu: [x64] 709 | os: [win32] 710 | 711 | acorn-jsx@5.3.2: 712 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 713 | peerDependencies: 714 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 715 | 716 | acorn@8.15.0: 717 | resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} 718 | engines: {node: '>=0.4.0'} 719 | hasBin: true 720 | 721 | ajv@6.12.6: 722 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 723 | 724 | ansi-styles@4.3.0: 725 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 726 | engines: {node: '>=8'} 727 | 728 | argparse@2.0.1: 729 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 730 | 731 | autoprefixer@10.4.21: 732 | resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} 733 | engines: {node: ^10 || ^12 || >=14} 734 | hasBin: true 735 | peerDependencies: 736 | postcss: ^8.1.0 737 | 738 | balanced-match@1.0.2: 739 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 740 | 741 | birecord@0.1.1: 742 | resolution: {integrity: sha512-VUpsf/qykW0heRlC8LooCq28Kxn3mAqKohhDG/49rrsQ1dT1CXyj/pgXS+5BSRzFTR/3DyIBOqQOrGyZOh71Aw==} 743 | 744 | boolbase@1.0.0: 745 | resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} 746 | 747 | brace-expansion@1.1.12: 748 | resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} 749 | 750 | brace-expansion@2.0.2: 751 | resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} 752 | 753 | braces@3.0.3: 754 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 755 | engines: {node: '>=8'} 756 | 757 | browserslist@4.25.0: 758 | resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} 759 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 760 | hasBin: true 761 | 762 | callsites@3.1.0: 763 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 764 | engines: {node: '>=6'} 765 | 766 | caniuse-api@3.0.0: 767 | resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} 768 | 769 | caniuse-lite@1.0.30001722: 770 | resolution: {integrity: sha512-DCQHBBZtiK6JVkAGw7drvAMK0Q0POD/xZvEmDp6baiMMP6QXXk9HpD6mNYBZWhOPG6LvIDb82ITqtWjhDckHCA==} 771 | 772 | chalk@4.1.2: 773 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 774 | engines: {node: '>=10'} 775 | 776 | citty@0.1.6: 777 | resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} 778 | 779 | color-convert@2.0.1: 780 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 781 | engines: {node: '>=7.0.0'} 782 | 783 | color-name@1.1.4: 784 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 785 | 786 | colord@2.9.3: 787 | resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} 788 | 789 | commander@7.2.0: 790 | resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} 791 | engines: {node: '>= 10'} 792 | 793 | comment-parser@1.4.1: 794 | resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} 795 | engines: {node: '>= 12.0.0'} 796 | 797 | commondir@1.0.1: 798 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 799 | 800 | compare-versions@6.1.1: 801 | resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} 802 | 803 | concat-map@0.0.1: 804 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 805 | 806 | confbox@0.1.8: 807 | resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} 808 | 809 | confbox@0.2.2: 810 | resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} 811 | 812 | consola@3.4.2: 813 | resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} 814 | engines: {node: ^14.18.0 || >=16.10.0} 815 | 816 | cross-spawn@7.0.6: 817 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 818 | engines: {node: '>= 8'} 819 | 820 | css-declaration-sorter@7.2.0: 821 | resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} 822 | engines: {node: ^14 || ^16 || >=18} 823 | peerDependencies: 824 | postcss: ^8.0.9 825 | 826 | css-select@5.1.0: 827 | resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} 828 | 829 | css-tree@2.2.1: 830 | resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} 831 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} 832 | 833 | css-tree@2.3.1: 834 | resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} 835 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} 836 | 837 | css-what@6.1.0: 838 | resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} 839 | engines: {node: '>= 6'} 840 | 841 | cssesc@3.0.0: 842 | resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} 843 | engines: {node: '>=4'} 844 | hasBin: true 845 | 846 | cssnano-preset-default@7.0.7: 847 | resolution: {integrity: sha512-jW6CG/7PNB6MufOrlovs1TvBTEVmhY45yz+bd0h6nw3h6d+1e+/TX+0fflZ+LzvZombbT5f+KC063w9VoHeHow==} 848 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 849 | peerDependencies: 850 | postcss: ^8.4.32 851 | 852 | cssnano-utils@5.0.1: 853 | resolution: {integrity: sha512-ZIP71eQgG9JwjVZsTPSqhc6GHgEr53uJ7tK5///VfyWj6Xp2DBmixWHqJgPno+PqATzn48pL42ww9x5SSGmhZg==} 854 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 855 | peerDependencies: 856 | postcss: ^8.4.32 857 | 858 | cssnano@7.0.7: 859 | resolution: {integrity: sha512-evKu7yiDIF7oS+EIpwFlMF730ijRyLFaM2o5cTxRGJR9OKHKkc+qP443ZEVR9kZG0syaAJJCPJyfv5pbrxlSng==} 860 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 861 | peerDependencies: 862 | postcss: ^8.4.32 863 | 864 | csso@5.0.5: 865 | resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} 866 | engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} 867 | 868 | debug@3.2.7: 869 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 870 | peerDependencies: 871 | supports-color: '*' 872 | peerDependenciesMeta: 873 | supports-color: 874 | optional: true 875 | 876 | debug@4.4.1: 877 | resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} 878 | engines: {node: '>=6.0'} 879 | peerDependencies: 880 | supports-color: '*' 881 | peerDependenciesMeta: 882 | supports-color: 883 | optional: true 884 | 885 | deep-is@0.1.4: 886 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 887 | 888 | deepmerge@4.3.1: 889 | resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} 890 | engines: {node: '>=0.10.0'} 891 | 892 | defu@6.1.4: 893 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 894 | 895 | dom-serializer@2.0.0: 896 | resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} 897 | 898 | domelementtype@2.3.0: 899 | resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} 900 | 901 | domhandler@5.0.3: 902 | resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} 903 | engines: {node: '>= 4'} 904 | 905 | domutils@3.2.2: 906 | resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} 907 | 908 | electron-to-chromium@1.5.166: 909 | resolution: {integrity: sha512-QPWqHL0BglzPYyJJ1zSSmwFFL6MFXhbACOCcsCdUMCkzPdS9/OIBVxg516X/Ado2qwAq8k0nJJ7phQPCqiaFAw==} 910 | 911 | entities@4.5.0: 912 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 913 | engines: {node: '>=0.12'} 914 | 915 | esbuild@0.25.5: 916 | resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} 917 | engines: {node: '>=18'} 918 | hasBin: true 919 | 920 | escalade@3.2.0: 921 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 922 | engines: {node: '>=6'} 923 | 924 | escape-string-regexp@4.0.0: 925 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 926 | engines: {node: '>=10'} 927 | 928 | eslint-flat-config-utils@1.1.0: 929 | resolution: {integrity: sha512-W49wz7yQJGRfg4QSV3nwdO/fYcWetiSKhLV5YykfQMcqnIATNpoS7EPdINhLB9P3fmdjNmFtOgZjiKnCndWAnw==} 930 | 931 | eslint-import-context@0.1.8: 932 | resolution: {integrity: sha512-bq+F7nyc65sKpZGT09dY0S0QrOnQtuDVIfyTGQ8uuvtMIF7oHp6CEP3mouN0rrnYF3Jqo6Ke0BfU/5wASZue1w==} 933 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 934 | peerDependencies: 935 | unrs-resolver: ^1.0.0 936 | peerDependenciesMeta: 937 | unrs-resolver: 938 | optional: true 939 | 940 | eslint-import-resolver-node@0.3.9: 941 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 942 | 943 | eslint-plugin-import-x@4.15.2: 944 | resolution: {integrity: sha512-J5gx7sN6DTm0LRT//eP3rVVQ2Yi4hrX0B+DbWxa5er8PZ6JjLo9GUBwogIFvEDdwJaSqZplpQT+haK/cXhb7VQ==} 945 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 946 | peerDependencies: 947 | '@typescript-eslint/utils': ^8.0.0 948 | eslint: ^8.57.0 || ^9.0.0 949 | eslint-import-resolver-node: '*' 950 | peerDependenciesMeta: 951 | '@typescript-eslint/utils': 952 | optional: true 953 | eslint-import-resolver-node: 954 | optional: true 955 | 956 | eslint-plugin-react-debug@1.52.2: 957 | resolution: {integrity: sha512-9aJoZbC7VPhZ9ByKEg0R1ReDaltLGb9oLMwXL+oxoP4MFYQOL2BKNca+yfe74YZbSCOYidV1nsmCdTEQxh3nhg==} 958 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 959 | peerDependencies: 960 | eslint: ^8.57.0 || ^9.0.0 961 | typescript: ^4.9.5 || ^5.3.3 962 | peerDependenciesMeta: 963 | typescript: 964 | optional: true 965 | 966 | eslint-plugin-react-dom@1.52.2: 967 | resolution: {integrity: sha512-HDwQTwGfJTFAa4x0Bf9NH/TVHULEFjI0/vBNhkZt7JAHFb7v+SrhlXGUIIKfQTPHHJIAQZm8v3yzc5g/NlCokA==} 968 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 969 | peerDependencies: 970 | eslint: ^8.57.0 || ^9.0.0 971 | typescript: ^4.9.5 || ^5.3.3 972 | peerDependenciesMeta: 973 | typescript: 974 | optional: true 975 | 976 | eslint-plugin-react-hooks-extra@1.52.2: 977 | resolution: {integrity: sha512-95vjCeNMGNZGFoBSwrvaAKfCDvHXXbrdiaizlCmD57AYTHALI9CzvEapQP9qjETNzuf5Uta0/kmRI5Ln4v2y6A==} 978 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 979 | peerDependencies: 980 | eslint: ^8.57.0 || ^9.0.0 981 | typescript: ^4.9.5 || ^5.3.3 982 | peerDependenciesMeta: 983 | typescript: 984 | optional: true 985 | 986 | eslint-plugin-react-naming-convention@1.52.2: 987 | resolution: {integrity: sha512-Nww0JUC5aq1Wj0ezuPylBfC4w+j3t3pvg0vR0b+OXjMVAttLQJURgXmAzpURJ1dQOrROLtEQGL4lLTeIAEJ3uQ==} 988 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 989 | peerDependencies: 990 | eslint: ^8.57.0 || ^9.0.0 991 | typescript: ^4.9.5 || ^5.3.3 992 | peerDependenciesMeta: 993 | typescript: 994 | optional: true 995 | 996 | eslint-plugin-react-web-api@1.52.2: 997 | resolution: {integrity: sha512-EAwSufPNZHWievnCGBRnpE9BcH351dZWTdnuLnDBOmoP5VJnfvaaxgupuFeGSYwM+emzA+0h8qZa/uwjG57TOw==} 998 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 999 | peerDependencies: 1000 | eslint: ^8.57.0 || ^9.0.0 1001 | typescript: ^4.9.5 || ^5.3.3 1002 | peerDependenciesMeta: 1003 | typescript: 1004 | optional: true 1005 | 1006 | eslint-plugin-react-x@1.52.2: 1007 | resolution: {integrity: sha512-Pxpf3YxCUcNgzJVT6blAJ2KvLX32pUxtXndaCZoTdiytFw/H9OZKq4Qczxx/Lpo9Ri5rm4FbIZL3BfL/HGmzBw==} 1008 | engines: {bun: '>=1.0.15', node: '>=18.18.0'} 1009 | peerDependencies: 1010 | eslint: ^8.57.0 || ^9.0.0 1011 | ts-api-utils: ^2.1.0 1012 | typescript: ^4.9.5 || ^5.3.3 1013 | peerDependenciesMeta: 1014 | ts-api-utils: 1015 | optional: true 1016 | typescript: 1017 | optional: true 1018 | 1019 | eslint-scope@8.4.0: 1020 | resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} 1021 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1022 | 1023 | eslint-visitor-keys@3.4.3: 1024 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1025 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1026 | 1027 | eslint-visitor-keys@4.2.1: 1028 | resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} 1029 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1030 | 1031 | eslint@9.29.0: 1032 | resolution: {integrity: sha512-GsGizj2Y1rCWDu6XoEekL3RLilp0voSePurjZIkxL3wlm5o5EC9VpgaP7lrCvjnkuLvzFBQWB3vWB3K5KQTveQ==} 1033 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1034 | hasBin: true 1035 | peerDependencies: 1036 | jiti: '*' 1037 | peerDependenciesMeta: 1038 | jiti: 1039 | optional: true 1040 | 1041 | espree@10.4.0: 1042 | resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} 1043 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1044 | 1045 | esquery@1.6.0: 1046 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1047 | engines: {node: '>=0.10'} 1048 | 1049 | esrecurse@4.3.0: 1050 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1051 | engines: {node: '>=4.0'} 1052 | 1053 | estraverse@5.3.0: 1054 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1055 | engines: {node: '>=4.0'} 1056 | 1057 | estree-walker@2.0.2: 1058 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 1059 | 1060 | esutils@2.0.3: 1061 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1062 | engines: {node: '>=0.10.0'} 1063 | 1064 | exsolve@1.0.6: 1065 | resolution: {integrity: sha512-Q05uIdxhPBVBwK29gcPsl2K220xSBy52TZQPdeYWE0zOs8jM+yJ6y5h7jm6cpAo1p+OOMZRIj/Ftku4EQQBLnQ==} 1066 | 1067 | fast-deep-equal@3.1.3: 1068 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1069 | 1070 | fast-glob@3.3.3: 1071 | resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} 1072 | engines: {node: '>=8.6.0'} 1073 | 1074 | fast-json-stable-stringify@2.1.0: 1075 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1076 | 1077 | fast-levenshtein@2.0.6: 1078 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1079 | 1080 | fastq@1.19.1: 1081 | resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} 1082 | 1083 | fdir@6.4.6: 1084 | resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} 1085 | peerDependencies: 1086 | picomatch: ^3 || ^4 1087 | peerDependenciesMeta: 1088 | picomatch: 1089 | optional: true 1090 | 1091 | file-entry-cache@8.0.0: 1092 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 1093 | engines: {node: '>=16.0.0'} 1094 | 1095 | fill-range@7.1.1: 1096 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1097 | engines: {node: '>=8'} 1098 | 1099 | find-up@5.0.0: 1100 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1101 | engines: {node: '>=10'} 1102 | 1103 | fix-dts-default-cjs-exports@1.0.1: 1104 | resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} 1105 | 1106 | flat-cache@4.0.1: 1107 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 1108 | engines: {node: '>=16'} 1109 | 1110 | flatted@3.3.3: 1111 | resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==} 1112 | 1113 | fraction.js@4.3.7: 1114 | resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} 1115 | 1116 | fsevents@2.3.3: 1117 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1118 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1119 | os: [darwin] 1120 | 1121 | function-bind@1.1.2: 1122 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1123 | 1124 | get-tsconfig@4.10.1: 1125 | resolution: {integrity: sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==} 1126 | 1127 | glob-parent@5.1.2: 1128 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1129 | engines: {node: '>= 6'} 1130 | 1131 | glob-parent@6.0.2: 1132 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1133 | engines: {node: '>=10.13.0'} 1134 | 1135 | globals@14.0.0: 1136 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1137 | engines: {node: '>=18'} 1138 | 1139 | globals@15.15.0: 1140 | resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} 1141 | engines: {node: '>=18'} 1142 | 1143 | graphemer@1.4.0: 1144 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1145 | 1146 | has-flag@4.0.0: 1147 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1148 | engines: {node: '>=8'} 1149 | 1150 | hasown@2.0.2: 1151 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1152 | engines: {node: '>= 0.4'} 1153 | 1154 | hookable@5.5.3: 1155 | resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} 1156 | 1157 | ignore@5.3.2: 1158 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1159 | engines: {node: '>= 4'} 1160 | 1161 | ignore@7.0.5: 1162 | resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==} 1163 | engines: {node: '>= 4'} 1164 | 1165 | import-fresh@3.3.1: 1166 | resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} 1167 | engines: {node: '>=6'} 1168 | 1169 | imurmurhash@0.1.4: 1170 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1171 | engines: {node: '>=0.8.19'} 1172 | 1173 | is-core-module@2.16.1: 1174 | resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} 1175 | engines: {node: '>= 0.4'} 1176 | 1177 | is-extglob@2.1.1: 1178 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1179 | engines: {node: '>=0.10.0'} 1180 | 1181 | is-glob@4.0.3: 1182 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1183 | engines: {node: '>=0.10.0'} 1184 | 1185 | is-immutable-type@5.0.1: 1186 | resolution: {integrity: sha512-LkHEOGVZZXxGl8vDs+10k3DvP++SEoYEAJLRk6buTFi6kD7QekThV7xHS0j6gpnUCQ0zpud/gMDGiV4dQneLTg==} 1187 | peerDependencies: 1188 | eslint: '*' 1189 | typescript: '>=4.7.4' 1190 | 1191 | is-module@1.0.0: 1192 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 1193 | 1194 | is-number@7.0.0: 1195 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1196 | engines: {node: '>=0.12.0'} 1197 | 1198 | is-reference@1.2.1: 1199 | resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 1200 | 1201 | isexe@2.0.0: 1202 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1203 | 1204 | jiti@1.21.7: 1205 | resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} 1206 | hasBin: true 1207 | 1208 | jiti@2.4.2: 1209 | resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==} 1210 | hasBin: true 1211 | 1212 | js-tokens@4.0.0: 1213 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1214 | 1215 | js-yaml@4.1.0: 1216 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1217 | hasBin: true 1218 | 1219 | json-buffer@3.0.1: 1220 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1221 | 1222 | json-schema-traverse@0.4.1: 1223 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1224 | 1225 | json-stable-stringify-without-jsonify@1.0.1: 1226 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1227 | 1228 | keyv@4.5.4: 1229 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1230 | 1231 | kleur@3.0.3: 1232 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 1233 | engines: {node: '>=6'} 1234 | 1235 | knitwork@1.2.0: 1236 | resolution: {integrity: sha512-xYSH7AvuQ6nXkq42x0v5S8/Iry+cfulBz/DJQzhIyESdLD7425jXsPy4vn5cCXU+HhRN2kVw51Vd1K6/By4BQg==} 1237 | 1238 | kolorist@1.8.0: 1239 | resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} 1240 | 1241 | levn@0.4.1: 1242 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1243 | engines: {node: '>= 0.8.0'} 1244 | 1245 | lilconfig@3.1.3: 1246 | resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} 1247 | engines: {node: '>=14'} 1248 | 1249 | local-pkg@1.1.1: 1250 | resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} 1251 | engines: {node: '>=14'} 1252 | 1253 | locate-path@6.0.0: 1254 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1255 | engines: {node: '>=10'} 1256 | 1257 | lodash.memoize@4.1.2: 1258 | resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} 1259 | 1260 | lodash.merge@4.6.2: 1261 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1262 | 1263 | lodash.uniq@4.5.0: 1264 | resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} 1265 | 1266 | magic-string@0.30.17: 1267 | resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} 1268 | 1269 | mdn-data@2.0.28: 1270 | resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} 1271 | 1272 | mdn-data@2.0.30: 1273 | resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} 1274 | 1275 | merge2@1.4.1: 1276 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1277 | engines: {node: '>= 8'} 1278 | 1279 | micromatch@4.0.8: 1280 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1281 | engines: {node: '>=8.6'} 1282 | 1283 | minimatch@10.0.3: 1284 | resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} 1285 | engines: {node: 20 || >=22} 1286 | 1287 | minimatch@3.1.2: 1288 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1289 | 1290 | minimatch@9.0.5: 1291 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1292 | engines: {node: '>=16 || 14 >=14.17'} 1293 | 1294 | minimist@1.2.8: 1295 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1296 | 1297 | mkdist@2.3.0: 1298 | resolution: {integrity: sha512-thkRk+pHdudjdZT3FJpPZ2+pncI6mGlH/B+KBVddlZj4MrFGW41sRIv1wZawZUHU8v7cttGaj+5nx8P+dG664A==} 1299 | hasBin: true 1300 | peerDependencies: 1301 | sass: ^1.85.0 1302 | typescript: '>=5.7.3' 1303 | vue: ^3.5.13 1304 | vue-sfc-transformer: ^0.1.1 1305 | vue-tsc: ^1.8.27 || ^2.0.21 1306 | peerDependenciesMeta: 1307 | sass: 1308 | optional: true 1309 | typescript: 1310 | optional: true 1311 | vue: 1312 | optional: true 1313 | vue-sfc-transformer: 1314 | optional: true 1315 | vue-tsc: 1316 | optional: true 1317 | 1318 | mlly@1.7.4: 1319 | resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} 1320 | 1321 | ms@2.1.3: 1322 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1323 | 1324 | nanoid@3.3.11: 1325 | resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} 1326 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1327 | hasBin: true 1328 | 1329 | napi-postinstall@0.2.4: 1330 | resolution: {integrity: sha512-ZEzHJwBhZ8qQSbknHqYcdtQVr8zUgGyM/q6h6qAyhtyVMNrSgDhrC4disf03dYW0e+czXyLnZINnCTEkWy0eJg==} 1331 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 1332 | hasBin: true 1333 | 1334 | natural-compare@1.4.0: 1335 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1336 | 1337 | node-releases@2.0.19: 1338 | resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} 1339 | 1340 | normalize-range@0.1.2: 1341 | resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} 1342 | engines: {node: '>=0.10.0'} 1343 | 1344 | nth-check@2.1.1: 1345 | resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} 1346 | 1347 | optionator@0.9.4: 1348 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1349 | engines: {node: '>= 0.8.0'} 1350 | 1351 | p-limit@3.1.0: 1352 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1353 | engines: {node: '>=10'} 1354 | 1355 | p-locate@5.0.0: 1356 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1357 | engines: {node: '>=10'} 1358 | 1359 | package-manager-detector@1.3.0: 1360 | resolution: {integrity: sha512-ZsEbbZORsyHuO00lY1kV3/t72yp6Ysay6Pd17ZAlNGuGwmWDLCJxFpRs0IzfXfj1o4icJOkUEioexFHzyPurSQ==} 1361 | 1362 | parent-module@1.0.1: 1363 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1364 | engines: {node: '>=6'} 1365 | 1366 | path-exists@4.0.0: 1367 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1368 | engines: {node: '>=8'} 1369 | 1370 | path-key@3.1.1: 1371 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1372 | engines: {node: '>=8'} 1373 | 1374 | path-parse@1.0.7: 1375 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1376 | 1377 | pathe@2.0.3: 1378 | resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} 1379 | 1380 | picocolors@1.1.1: 1381 | resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} 1382 | 1383 | picomatch@2.3.1: 1384 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1385 | engines: {node: '>=8.6'} 1386 | 1387 | picomatch@4.0.2: 1388 | resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} 1389 | engines: {node: '>=12'} 1390 | 1391 | pkg-types@1.3.1: 1392 | resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} 1393 | 1394 | pkg-types@2.1.0: 1395 | resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} 1396 | 1397 | postcss-calc@10.1.1: 1398 | resolution: {integrity: sha512-NYEsLHh8DgG/PRH2+G9BTuUdtf9ViS+vdoQ0YA5OQdGsfN4ztiwtDWNtBl9EKeqNMFnIu8IKZ0cLxEQ5r5KVMw==} 1399 | engines: {node: ^18.12 || ^20.9 || >=22.0} 1400 | peerDependencies: 1401 | postcss: ^8.4.38 1402 | 1403 | postcss-colormin@7.0.3: 1404 | resolution: {integrity: sha512-xZxQcSyIVZbSsl1vjoqZAcMYYdnJsIyG8OvqShuuqf12S88qQboxxEy0ohNCOLwVPXTU+hFHvJPACRL2B5ohTA==} 1405 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1406 | peerDependencies: 1407 | postcss: ^8.4.32 1408 | 1409 | postcss-convert-values@7.0.5: 1410 | resolution: {integrity: sha512-0VFhH8nElpIs3uXKnVtotDJJNX0OGYSZmdt4XfSfvOMrFw1jKfpwpZxfC4iN73CTM/MWakDEmsHQXkISYj4BXw==} 1411 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1412 | peerDependencies: 1413 | postcss: ^8.4.32 1414 | 1415 | postcss-discard-comments@7.0.4: 1416 | resolution: {integrity: sha512-6tCUoql/ipWwKtVP/xYiFf1U9QgJ0PUvxN7pTcsQ8Ns3Fnwq1pU5D5s1MhT/XySeLq6GXNvn37U46Ded0TckWg==} 1417 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1418 | peerDependencies: 1419 | postcss: ^8.4.32 1420 | 1421 | postcss-discard-duplicates@7.0.2: 1422 | resolution: {integrity: sha512-eTonaQvPZ/3i1ASDHOKkYwAybiM45zFIc7KXils4mQmHLqIswXD9XNOKEVxtTFnsmwYzF66u4LMgSr0abDlh5w==} 1423 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1424 | peerDependencies: 1425 | postcss: ^8.4.32 1426 | 1427 | postcss-discard-empty@7.0.1: 1428 | resolution: {integrity: sha512-cFrJKZvcg/uxB6Ijr4l6qmn3pXQBna9zyrPC+sK0zjbkDUZew+6xDltSF7OeB7rAtzaaMVYSdbod+sZOCWnMOg==} 1429 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1430 | peerDependencies: 1431 | postcss: ^8.4.32 1432 | 1433 | postcss-discard-overridden@7.0.1: 1434 | resolution: {integrity: sha512-7c3MMjjSZ/qYrx3uc1940GSOzN1Iqjtlqe8uoSg+qdVPYyRb0TILSqqmtlSFuE4mTDECwsm397Ya7iXGzfF7lg==} 1435 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1436 | peerDependencies: 1437 | postcss: ^8.4.32 1438 | 1439 | postcss-merge-longhand@7.0.5: 1440 | resolution: {integrity: sha512-Kpu5v4Ys6QI59FxmxtNB/iHUVDn9Y9sYw66D6+SZoIk4QTz1prC4aYkhIESu+ieG1iylod1f8MILMs1Em3mmIw==} 1441 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1442 | peerDependencies: 1443 | postcss: ^8.4.32 1444 | 1445 | postcss-merge-rules@7.0.5: 1446 | resolution: {integrity: sha512-ZonhuSwEaWA3+xYbOdJoEReKIBs5eDiBVLAGpYZpNFPzXZcEE5VKR7/qBEQvTZpiwjqhhqEQ+ax5O3VShBj9Wg==} 1447 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1448 | peerDependencies: 1449 | postcss: ^8.4.32 1450 | 1451 | postcss-minify-font-values@7.0.1: 1452 | resolution: {integrity: sha512-2m1uiuJeTplll+tq4ENOQSzB8LRnSUChBv7oSyFLsJRtUgAAJGP6LLz0/8lkinTgxrmJSPOEhgY1bMXOQ4ZXhQ==} 1453 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1454 | peerDependencies: 1455 | postcss: ^8.4.32 1456 | 1457 | postcss-minify-gradients@7.0.1: 1458 | resolution: {integrity: sha512-X9JjaysZJwlqNkJbUDgOclyG3jZEpAMOfof6PUZjPnPrePnPG62pS17CjdM32uT1Uq1jFvNSff9l7kNbmMSL2A==} 1459 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1460 | peerDependencies: 1461 | postcss: ^8.4.32 1462 | 1463 | postcss-minify-params@7.0.3: 1464 | resolution: {integrity: sha512-vUKV2+f5mtjewYieanLX0xemxIp1t0W0H/D11u+kQV/MWdygOO7xPMkbK+r9P6Lhms8MgzKARF/g5OPXhb8tgg==} 1465 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1466 | peerDependencies: 1467 | postcss: ^8.4.32 1468 | 1469 | postcss-minify-selectors@7.0.5: 1470 | resolution: {integrity: sha512-x2/IvofHcdIrAm9Q+p06ZD1h6FPcQ32WtCRVodJLDR+WMn8EVHI1kvLxZuGKz/9EY5nAmI6lIQIrpo4tBy5+ug==} 1471 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1472 | peerDependencies: 1473 | postcss: ^8.4.32 1474 | 1475 | postcss-nested@7.0.2: 1476 | resolution: {integrity: sha512-5osppouFc0VR9/VYzYxO03VaDa3e8F23Kfd6/9qcZTUI8P58GIYlArOET2Wq0ywSl2o2PjELhYOFI4W7l5QHKw==} 1477 | engines: {node: '>=18.0'} 1478 | peerDependencies: 1479 | postcss: ^8.2.14 1480 | 1481 | postcss-normalize-charset@7.0.1: 1482 | resolution: {integrity: sha512-sn413ofhSQHlZFae//m9FTOfkmiZ+YQXsbosqOWRiVQncU2BA3daX3n0VF3cG6rGLSFVc5Di/yns0dFfh8NFgQ==} 1483 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1484 | peerDependencies: 1485 | postcss: ^8.4.32 1486 | 1487 | postcss-normalize-display-values@7.0.1: 1488 | resolution: {integrity: sha512-E5nnB26XjSYz/mGITm6JgiDpAbVuAkzXwLzRZtts19jHDUBFxZ0BkXAehy0uimrOjYJbocby4FVswA/5noOxrQ==} 1489 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1490 | peerDependencies: 1491 | postcss: ^8.4.32 1492 | 1493 | postcss-normalize-positions@7.0.1: 1494 | resolution: {integrity: sha512-pB/SzrIP2l50ZIYu+yQZyMNmnAcwyYb9R1fVWPRxm4zcUFCY2ign7rcntGFuMXDdd9L2pPNUgoODDk91PzRZuQ==} 1495 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1496 | peerDependencies: 1497 | postcss: ^8.4.32 1498 | 1499 | postcss-normalize-repeat-style@7.0.1: 1500 | resolution: {integrity: sha512-NsSQJ8zj8TIDiF0ig44Byo3Jk9e4gNt9x2VIlJudnQQ5DhWAHJPF4Tr1ITwyHio2BUi/I6Iv0HRO7beHYOloYQ==} 1501 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1502 | peerDependencies: 1503 | postcss: ^8.4.32 1504 | 1505 | postcss-normalize-string@7.0.1: 1506 | resolution: {integrity: sha512-QByrI7hAhsoze992kpbMlJSbZ8FuCEc1OT9EFbZ6HldXNpsdpZr+YXC5di3UEv0+jeZlHbZcoCADgb7a+lPmmQ==} 1507 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1508 | peerDependencies: 1509 | postcss: ^8.4.32 1510 | 1511 | postcss-normalize-timing-functions@7.0.1: 1512 | resolution: {integrity: sha512-bHifyuuSNdKKsnNJ0s8fmfLMlvsQwYVxIoUBnowIVl2ZAdrkYQNGVB4RxjfpvkMjipqvbz0u7feBZybkl/6NJg==} 1513 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1514 | peerDependencies: 1515 | postcss: ^8.4.32 1516 | 1517 | postcss-normalize-unicode@7.0.3: 1518 | resolution: {integrity: sha512-EcoA29LvG3F+EpOh03iqu+tJY3uYYKzArqKJHxDhUYLa2u58aqGq16K6/AOsXD9yqLN8O6y9mmePKN5cx6krOw==} 1519 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1520 | peerDependencies: 1521 | postcss: ^8.4.32 1522 | 1523 | postcss-normalize-url@7.0.1: 1524 | resolution: {integrity: sha512-sUcD2cWtyK1AOL/82Fwy1aIVm/wwj5SdZkgZ3QiUzSzQQofrbq15jWJ3BA7Z+yVRwamCjJgZJN0I9IS7c6tgeQ==} 1525 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1526 | peerDependencies: 1527 | postcss: ^8.4.32 1528 | 1529 | postcss-normalize-whitespace@7.0.1: 1530 | resolution: {integrity: sha512-vsbgFHMFQrJBJKrUFJNZ2pgBeBkC2IvvoHjz1to0/0Xk7sII24T0qFOiJzG6Fu3zJoq/0yI4rKWi7WhApW+EFA==} 1531 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1532 | peerDependencies: 1533 | postcss: ^8.4.32 1534 | 1535 | postcss-ordered-values@7.0.2: 1536 | resolution: {integrity: sha512-AMJjt1ECBffF7CEON/Y0rekRLS6KsePU6PRP08UqYW4UGFRnTXNrByUzYK1h8AC7UWTZdQ9O3Oq9kFIhm0SFEw==} 1537 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1538 | peerDependencies: 1539 | postcss: ^8.4.32 1540 | 1541 | postcss-reduce-initial@7.0.3: 1542 | resolution: {integrity: sha512-RFvkZaqiWtGMlVjlUHpaxGqEL27lgt+Q2Ixjf83CRAzqdo+TsDyGPtJUbPx2MuYIJ+sCQc2TrOvRnhcXQfgIVA==} 1543 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1544 | peerDependencies: 1545 | postcss: ^8.4.32 1546 | 1547 | postcss-reduce-transforms@7.0.1: 1548 | resolution: {integrity: sha512-MhyEbfrm+Mlp/36hvZ9mT9DaO7dbncU0CvWI8V93LRkY6IYlu38OPg3FObnuKTUxJ4qA8HpurdQOo5CyqqO76g==} 1549 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1550 | peerDependencies: 1551 | postcss: ^8.4.32 1552 | 1553 | postcss-selector-parser@7.1.0: 1554 | resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==} 1555 | engines: {node: '>=4'} 1556 | 1557 | postcss-svgo@7.0.2: 1558 | resolution: {integrity: sha512-5Dzy66JlnRM6pkdOTF8+cGsB1fnERTE8Nc+Eed++fOWo1hdsBptCsbG8UuJkgtZt75bRtMJIrPeZmtfANixdFA==} 1559 | engines: {node: ^18.12.0 || ^20.9.0 || >= 18} 1560 | peerDependencies: 1561 | postcss: ^8.4.32 1562 | 1563 | postcss-unique-selectors@7.0.4: 1564 | resolution: {integrity: sha512-pmlZjsmEAG7cHd7uK3ZiNSW6otSZ13RHuZ/4cDN/bVglS5EpF2r2oxY99SuOHa8m7AWoBCelTS3JPpzsIs8skQ==} 1565 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1566 | peerDependencies: 1567 | postcss: ^8.4.32 1568 | 1569 | postcss-value-parser@4.2.0: 1570 | resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} 1571 | 1572 | postcss@8.5.5: 1573 | resolution: {integrity: sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg==} 1574 | engines: {node: ^10 || ^12 || >=14} 1575 | 1576 | prelude-ls@1.2.1: 1577 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1578 | engines: {node: '>= 0.8.0'} 1579 | 1580 | pretty-bytes@6.1.1: 1581 | resolution: {integrity: sha512-mQUvGU6aUFQ+rNvTIAcZuWGRT9a6f6Yrg9bHs4ImKF+HZCEK+plBvnAZYSIQztknZF2qnzNtr6F8s0+IuptdlQ==} 1582 | engines: {node: ^14.13.1 || >=16.0.0} 1583 | 1584 | prompts@2.4.2: 1585 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 1586 | engines: {node: '>= 6'} 1587 | 1588 | punycode@2.3.1: 1589 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1590 | engines: {node: '>=6'} 1591 | 1592 | quansync@0.2.10: 1593 | resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} 1594 | 1595 | queue-microtask@1.2.3: 1596 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1597 | 1598 | resolve-from@4.0.0: 1599 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1600 | engines: {node: '>=4'} 1601 | 1602 | resolve-pkg-maps@1.0.0: 1603 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 1604 | 1605 | resolve@1.22.10: 1606 | resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} 1607 | engines: {node: '>= 0.4'} 1608 | hasBin: true 1609 | 1610 | reusify@1.1.0: 1611 | resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} 1612 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1613 | 1614 | rollup-plugin-dts@6.2.1: 1615 | resolution: {integrity: sha512-sR3CxYUl7i2CHa0O7bA45mCrgADyAQ0tVtGSqi3yvH28M+eg1+g5d7kQ9hLvEz5dorK3XVsH5L2jwHLQf72DzA==} 1616 | engines: {node: '>=16'} 1617 | peerDependencies: 1618 | rollup: ^3.29.4 || ^4 1619 | typescript: ^4.5 || ^5.0 1620 | 1621 | rollup@4.43.0: 1622 | resolution: {integrity: sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==} 1623 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1624 | hasBin: true 1625 | 1626 | run-parallel@1.2.0: 1627 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1628 | 1629 | scule@1.3.0: 1630 | resolution: {integrity: sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g==} 1631 | 1632 | semver@7.7.2: 1633 | resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} 1634 | engines: {node: '>=10'} 1635 | hasBin: true 1636 | 1637 | shebang-command@2.0.0: 1638 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1639 | engines: {node: '>=8'} 1640 | 1641 | shebang-regex@3.0.0: 1642 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1643 | engines: {node: '>=8'} 1644 | 1645 | sisteransi@1.0.5: 1646 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 1647 | 1648 | source-map-js@1.2.1: 1649 | resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} 1650 | engines: {node: '>=0.10.0'} 1651 | 1652 | stable-hash-x@0.1.1: 1653 | resolution: {integrity: sha512-l0x1D6vhnsNUGPFVDx45eif0y6eedVC8nm5uACTrVFJFtl2mLRW17aWtVyxFCpn5t94VUPkjU8vSLwIuwwqtJQ==} 1654 | engines: {node: '>=12.0.0'} 1655 | 1656 | string-ts@2.2.1: 1657 | resolution: {integrity: sha512-Q2u0gko67PLLhbte5HmPfdOjNvUKbKQM+mCNQae6jE91DmoFHY6HH9GcdqCeNx87DZ2KKjiFxmA0R/42OneGWw==} 1658 | 1659 | strip-json-comments@3.1.1: 1660 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1661 | engines: {node: '>=8'} 1662 | 1663 | stylehacks@7.0.5: 1664 | resolution: {integrity: sha512-5kNb7V37BNf0Q3w+1pxfa+oiNPS++/b4Jil9e/kPDgrk1zjEd6uR7SZeJiYaLYH6RRSC1XX2/37OTeU/4FvuIA==} 1665 | engines: {node: ^18.12.0 || ^20.9.0 || >=22.0} 1666 | peerDependencies: 1667 | postcss: ^8.4.32 1668 | 1669 | supports-color@7.2.0: 1670 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1671 | engines: {node: '>=8'} 1672 | 1673 | supports-preserve-symlinks-flag@1.0.0: 1674 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1675 | engines: {node: '>= 0.4'} 1676 | 1677 | svgo@3.3.2: 1678 | resolution: {integrity: sha512-OoohrmuUlBs8B8o6MB2Aevn+pRIH9zDALSR+6hhqVfa6fRwG/Qw9VUMSMW9VNg2CFc/MTIfabtdOVl9ODIJjpw==} 1679 | engines: {node: '>=14.0.0'} 1680 | hasBin: true 1681 | 1682 | tinyexec@1.0.1: 1683 | resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==} 1684 | 1685 | tinyglobby@0.2.14: 1686 | resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} 1687 | engines: {node: '>=12.0.0'} 1688 | 1689 | to-regex-range@5.0.1: 1690 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1691 | engines: {node: '>=8.0'} 1692 | 1693 | ts-api-utils@2.1.0: 1694 | resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} 1695 | engines: {node: '>=18.12'} 1696 | peerDependencies: 1697 | typescript: '>=4.8.4' 1698 | 1699 | ts-declaration-location@1.0.7: 1700 | resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} 1701 | peerDependencies: 1702 | typescript: '>=4.0.0' 1703 | 1704 | ts-pattern@5.7.1: 1705 | resolution: {integrity: sha512-EGs8PguQqAAUIcQfK4E9xdXxB6s2GK4sJfT/vcc9V1ELIvC4LH/zXu2t/5fajtv6oiRCxdv7BgtVK3vWgROxag==} 1706 | 1707 | tslib@2.8.1: 1708 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1709 | 1710 | type-check@0.4.0: 1711 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1712 | engines: {node: '>= 0.8.0'} 1713 | 1714 | typescript-eslint@8.34.1: 1715 | resolution: {integrity: sha512-XjS+b6Vg9oT1BaIUfkW3M3LvqZE++rbzAMEHuccCfO/YkP43ha6w3jTEMilQxMF92nVOYCcdjv1ZUhAa1D/0ow==} 1716 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1717 | peerDependencies: 1718 | eslint: ^8.57.0 || ^9.0.0 1719 | typescript: '>=4.8.4 <5.9.0' 1720 | 1721 | typescript@5.8.3: 1722 | resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} 1723 | engines: {node: '>=14.17'} 1724 | hasBin: true 1725 | 1726 | ufo@1.6.1: 1727 | resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} 1728 | 1729 | unbuild@3.5.0: 1730 | resolution: {integrity: sha512-DPFttsiADnHRb/K+yJ9r9jdn6JyXlsmdT0S12VFC14DFSJD+cxBnHq+v0INmqqPVPxOoUjvJFYUVIb02rWnVeA==} 1731 | hasBin: true 1732 | peerDependencies: 1733 | typescript: ^5.7.3 1734 | peerDependenciesMeta: 1735 | typescript: 1736 | optional: true 1737 | 1738 | undici-types@7.8.0: 1739 | resolution: {integrity: sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==} 1740 | 1741 | unrs-resolver@1.9.0: 1742 | resolution: {integrity: sha512-wqaRu4UnzBD2ABTC1kLfBjAqIDZ5YUTr/MLGa7By47JV1bJDSW7jq/ZSLigB7enLe7ubNaJhtnBXgrc/50cEhg==} 1743 | 1744 | untyped@2.0.0: 1745 | resolution: {integrity: sha512-nwNCjxJTjNuLCgFr42fEak5OcLuB3ecca+9ksPFNvtfYSLpjf+iJqSIaSnIile6ZPbKYxI5k2AfXqeopGudK/g==} 1746 | hasBin: true 1747 | 1748 | update-browserslist-db@1.1.3: 1749 | resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} 1750 | hasBin: true 1751 | peerDependencies: 1752 | browserslist: '>= 4.21.0' 1753 | 1754 | uri-js@4.4.1: 1755 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1756 | 1757 | util-deprecate@1.0.2: 1758 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1759 | 1760 | which@2.0.2: 1761 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1762 | engines: {node: '>= 8'} 1763 | hasBin: true 1764 | 1765 | word-wrap@1.2.5: 1766 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1767 | engines: {node: '>=0.10.0'} 1768 | 1769 | yocto-queue@0.1.0: 1770 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1771 | engines: {node: '>=10'} 1772 | 1773 | zod@3.25.67: 1774 | resolution: {integrity: sha512-idA2YXwpCdqUSKRCACDE6ItZD9TZzy3OZMtpfLoh6oPR47lipysRrJfjzMqFxQ3uJuUPyUeWe1r9vLH33xO/Qw==} 1775 | 1776 | snapshots: 1777 | 1778 | '@antfu/install-pkg@1.1.0': 1779 | dependencies: 1780 | package-manager-detector: 1.3.0 1781 | tinyexec: 1.0.1 1782 | 1783 | '@babel/code-frame@7.27.1': 1784 | dependencies: 1785 | '@babel/helper-validator-identifier': 7.27.1 1786 | js-tokens: 4.0.0 1787 | picocolors: 1.1.1 1788 | optional: true 1789 | 1790 | '@babel/helper-validator-identifier@7.27.1': 1791 | optional: true 1792 | 1793 | '@clack/core@0.4.1': 1794 | dependencies: 1795 | picocolors: 1.1.1 1796 | sisteransi: 1.0.5 1797 | 1798 | '@clack/prompts@0.9.1': 1799 | dependencies: 1800 | '@clack/core': 0.4.1 1801 | picocolors: 1.1.1 1802 | sisteransi: 1.0.5 1803 | 1804 | '@emnapi/core@1.4.3': 1805 | dependencies: 1806 | '@emnapi/wasi-threads': 1.0.2 1807 | tslib: 2.8.1 1808 | optional: true 1809 | 1810 | '@emnapi/runtime@1.4.3': 1811 | dependencies: 1812 | tslib: 2.8.1 1813 | optional: true 1814 | 1815 | '@emnapi/wasi-threads@1.0.2': 1816 | dependencies: 1817 | tslib: 2.8.1 1818 | optional: true 1819 | 1820 | '@esbuild/aix-ppc64@0.25.5': 1821 | optional: true 1822 | 1823 | '@esbuild/android-arm64@0.25.5': 1824 | optional: true 1825 | 1826 | '@esbuild/android-arm@0.25.5': 1827 | optional: true 1828 | 1829 | '@esbuild/android-x64@0.25.5': 1830 | optional: true 1831 | 1832 | '@esbuild/darwin-arm64@0.25.5': 1833 | optional: true 1834 | 1835 | '@esbuild/darwin-x64@0.25.5': 1836 | optional: true 1837 | 1838 | '@esbuild/freebsd-arm64@0.25.5': 1839 | optional: true 1840 | 1841 | '@esbuild/freebsd-x64@0.25.5': 1842 | optional: true 1843 | 1844 | '@esbuild/linux-arm64@0.25.5': 1845 | optional: true 1846 | 1847 | '@esbuild/linux-arm@0.25.5': 1848 | optional: true 1849 | 1850 | '@esbuild/linux-ia32@0.25.5': 1851 | optional: true 1852 | 1853 | '@esbuild/linux-loong64@0.25.5': 1854 | optional: true 1855 | 1856 | '@esbuild/linux-mips64el@0.25.5': 1857 | optional: true 1858 | 1859 | '@esbuild/linux-ppc64@0.25.5': 1860 | optional: true 1861 | 1862 | '@esbuild/linux-riscv64@0.25.5': 1863 | optional: true 1864 | 1865 | '@esbuild/linux-s390x@0.25.5': 1866 | optional: true 1867 | 1868 | '@esbuild/linux-x64@0.25.5': 1869 | optional: true 1870 | 1871 | '@esbuild/netbsd-arm64@0.25.5': 1872 | optional: true 1873 | 1874 | '@esbuild/netbsd-x64@0.25.5': 1875 | optional: true 1876 | 1877 | '@esbuild/openbsd-arm64@0.25.5': 1878 | optional: true 1879 | 1880 | '@esbuild/openbsd-x64@0.25.5': 1881 | optional: true 1882 | 1883 | '@esbuild/sunos-x64@0.25.5': 1884 | optional: true 1885 | 1886 | '@esbuild/win32-arm64@0.25.5': 1887 | optional: true 1888 | 1889 | '@esbuild/win32-ia32@0.25.5': 1890 | optional: true 1891 | 1892 | '@esbuild/win32-x64@0.25.5': 1893 | optional: true 1894 | 1895 | '@eslint-community/eslint-utils@4.7.0(eslint@9.29.0(jiti@2.4.2))': 1896 | dependencies: 1897 | eslint: 9.29.0(jiti@2.4.2) 1898 | eslint-visitor-keys: 3.4.3 1899 | 1900 | '@eslint-community/regexpp@4.12.1': {} 1901 | 1902 | '@eslint-react/ast@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 1903 | dependencies: 1904 | '@eslint-react/eff': 1.52.2 1905 | '@typescript-eslint/types': 8.34.1 1906 | '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) 1907 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1908 | string-ts: 2.2.1 1909 | ts-pattern: 5.7.1 1910 | transitivePeerDependencies: 1911 | - eslint 1912 | - supports-color 1913 | - typescript 1914 | 1915 | '@eslint-react/core@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 1916 | dependencies: 1917 | '@eslint-react/ast': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1918 | '@eslint-react/eff': 1.52.2 1919 | '@eslint-react/kit': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1920 | '@eslint-react/shared': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1921 | '@eslint-react/var': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1922 | '@typescript-eslint/scope-manager': 8.34.1 1923 | '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1924 | '@typescript-eslint/types': 8.34.1 1925 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1926 | birecord: 0.1.1 1927 | ts-pattern: 5.7.1 1928 | transitivePeerDependencies: 1929 | - eslint 1930 | - supports-color 1931 | - typescript 1932 | 1933 | '@eslint-react/eff@1.52.2': {} 1934 | 1935 | '@eslint-react/eslint-plugin@1.52.2(eslint@9.29.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3)': 1936 | dependencies: 1937 | '@eslint-react/eff': 1.52.2 1938 | '@eslint-react/kit': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1939 | '@eslint-react/shared': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1940 | '@typescript-eslint/scope-manager': 8.34.1 1941 | '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1942 | '@typescript-eslint/types': 8.34.1 1943 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1944 | eslint: 9.29.0(jiti@2.4.2) 1945 | eslint-plugin-react-debug: 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1946 | eslint-plugin-react-dom: 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1947 | eslint-plugin-react-hooks-extra: 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1948 | eslint-plugin-react-naming-convention: 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1949 | eslint-plugin-react-web-api: 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1950 | eslint-plugin-react-x: 1.52.2(eslint@9.29.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3) 1951 | optionalDependencies: 1952 | typescript: 5.8.3 1953 | transitivePeerDependencies: 1954 | - supports-color 1955 | - ts-api-utils 1956 | 1957 | '@eslint-react/kit@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 1958 | dependencies: 1959 | '@eslint-react/eff': 1.52.2 1960 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1961 | ts-pattern: 5.7.1 1962 | zod: 3.25.67 1963 | transitivePeerDependencies: 1964 | - eslint 1965 | - supports-color 1966 | - typescript 1967 | 1968 | '@eslint-react/shared@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 1969 | dependencies: 1970 | '@eslint-react/eff': 1.52.2 1971 | '@eslint-react/kit': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1972 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1973 | ts-pattern: 5.7.1 1974 | zod: 3.25.67 1975 | transitivePeerDependencies: 1976 | - eslint 1977 | - supports-color 1978 | - typescript 1979 | 1980 | '@eslint-react/var@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 1981 | dependencies: 1982 | '@eslint-react/ast': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1983 | '@eslint-react/eff': 1.52.2 1984 | '@typescript-eslint/scope-manager': 8.34.1 1985 | '@typescript-eslint/types': 8.34.1 1986 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 1987 | string-ts: 2.2.1 1988 | ts-pattern: 5.7.1 1989 | transitivePeerDependencies: 1990 | - eslint 1991 | - supports-color 1992 | - typescript 1993 | 1994 | '@eslint/config-array@0.20.1': 1995 | dependencies: 1996 | '@eslint/object-schema': 2.1.6 1997 | debug: 4.4.1 1998 | minimatch: 3.1.2 1999 | transitivePeerDependencies: 2000 | - supports-color 2001 | 2002 | '@eslint/config-helpers@0.2.3': {} 2003 | 2004 | '@eslint/core@0.14.0': 2005 | dependencies: 2006 | '@types/json-schema': 7.0.15 2007 | 2008 | '@eslint/core@0.15.0': 2009 | dependencies: 2010 | '@types/json-schema': 7.0.15 2011 | 2012 | '@eslint/eslintrc@3.3.1': 2013 | dependencies: 2014 | ajv: 6.12.6 2015 | debug: 4.4.1 2016 | espree: 10.4.0 2017 | globals: 14.0.0 2018 | ignore: 5.3.2 2019 | import-fresh: 3.3.1 2020 | js-yaml: 4.1.0 2021 | minimatch: 3.1.2 2022 | strip-json-comments: 3.1.1 2023 | transitivePeerDependencies: 2024 | - supports-color 2025 | 2026 | '@eslint/js@9.29.0': {} 2027 | 2028 | '@eslint/object-schema@2.1.6': {} 2029 | 2030 | '@eslint/plugin-kit@0.3.2': 2031 | dependencies: 2032 | '@eslint/core': 0.15.0 2033 | levn: 0.4.1 2034 | 2035 | '@humanfs/core@0.19.1': {} 2036 | 2037 | '@humanfs/node@0.16.6': 2038 | dependencies: 2039 | '@humanfs/core': 0.19.1 2040 | '@humanwhocodes/retry': 0.3.1 2041 | 2042 | '@humanwhocodes/module-importer@1.0.1': {} 2043 | 2044 | '@humanwhocodes/retry@0.3.1': {} 2045 | 2046 | '@humanwhocodes/retry@0.4.3': {} 2047 | 2048 | '@isaacs/balanced-match@4.0.1': {} 2049 | 2050 | '@isaacs/brace-expansion@5.0.0': 2051 | dependencies: 2052 | '@isaacs/balanced-match': 4.0.1 2053 | 2054 | '@jridgewell/sourcemap-codec@1.5.0': {} 2055 | 2056 | '@napi-rs/wasm-runtime@0.2.11': 2057 | dependencies: 2058 | '@emnapi/core': 1.4.3 2059 | '@emnapi/runtime': 1.4.3 2060 | '@tybys/wasm-util': 0.9.0 2061 | optional: true 2062 | 2063 | '@nodelib/fs.scandir@2.1.5': 2064 | dependencies: 2065 | '@nodelib/fs.stat': 2.0.5 2066 | run-parallel: 1.2.0 2067 | 2068 | '@nodelib/fs.stat@2.0.5': {} 2069 | 2070 | '@nodelib/fs.walk@1.2.8': 2071 | dependencies: 2072 | '@nodelib/fs.scandir': 2.1.5 2073 | fastq: 1.19.1 2074 | 2075 | '@rollup/plugin-alias@5.1.1(rollup@4.43.0)': 2076 | optionalDependencies: 2077 | rollup: 4.43.0 2078 | 2079 | '@rollup/plugin-commonjs@28.0.6(rollup@4.43.0)': 2080 | dependencies: 2081 | '@rollup/pluginutils': 5.1.4(rollup@4.43.0) 2082 | commondir: 1.0.1 2083 | estree-walker: 2.0.2 2084 | fdir: 6.4.6(picomatch@4.0.2) 2085 | is-reference: 1.2.1 2086 | magic-string: 0.30.17 2087 | picomatch: 4.0.2 2088 | optionalDependencies: 2089 | rollup: 4.43.0 2090 | 2091 | '@rollup/plugin-json@6.1.0(rollup@4.43.0)': 2092 | dependencies: 2093 | '@rollup/pluginutils': 5.1.4(rollup@4.43.0) 2094 | optionalDependencies: 2095 | rollup: 4.43.0 2096 | 2097 | '@rollup/plugin-node-resolve@16.0.1(rollup@4.43.0)': 2098 | dependencies: 2099 | '@rollup/pluginutils': 5.1.4(rollup@4.43.0) 2100 | '@types/resolve': 1.20.2 2101 | deepmerge: 4.3.1 2102 | is-module: 1.0.0 2103 | resolve: 1.22.10 2104 | optionalDependencies: 2105 | rollup: 4.43.0 2106 | 2107 | '@rollup/plugin-replace@6.0.2(rollup@4.43.0)': 2108 | dependencies: 2109 | '@rollup/pluginutils': 5.1.4(rollup@4.43.0) 2110 | magic-string: 0.30.17 2111 | optionalDependencies: 2112 | rollup: 4.43.0 2113 | 2114 | '@rollup/pluginutils@5.1.4(rollup@4.43.0)': 2115 | dependencies: 2116 | '@types/estree': 1.0.8 2117 | estree-walker: 2.0.2 2118 | picomatch: 4.0.2 2119 | optionalDependencies: 2120 | rollup: 4.43.0 2121 | 2122 | '@rollup/rollup-android-arm-eabi@4.43.0': 2123 | optional: true 2124 | 2125 | '@rollup/rollup-android-arm64@4.43.0': 2126 | optional: true 2127 | 2128 | '@rollup/rollup-darwin-arm64@4.43.0': 2129 | optional: true 2130 | 2131 | '@rollup/rollup-darwin-x64@4.43.0': 2132 | optional: true 2133 | 2134 | '@rollup/rollup-freebsd-arm64@4.43.0': 2135 | optional: true 2136 | 2137 | '@rollup/rollup-freebsd-x64@4.43.0': 2138 | optional: true 2139 | 2140 | '@rollup/rollup-linux-arm-gnueabihf@4.43.0': 2141 | optional: true 2142 | 2143 | '@rollup/rollup-linux-arm-musleabihf@4.43.0': 2144 | optional: true 2145 | 2146 | '@rollup/rollup-linux-arm64-gnu@4.43.0': 2147 | optional: true 2148 | 2149 | '@rollup/rollup-linux-arm64-musl@4.43.0': 2150 | optional: true 2151 | 2152 | '@rollup/rollup-linux-loongarch64-gnu@4.43.0': 2153 | optional: true 2154 | 2155 | '@rollup/rollup-linux-powerpc64le-gnu@4.43.0': 2156 | optional: true 2157 | 2158 | '@rollup/rollup-linux-riscv64-gnu@4.43.0': 2159 | optional: true 2160 | 2161 | '@rollup/rollup-linux-riscv64-musl@4.43.0': 2162 | optional: true 2163 | 2164 | '@rollup/rollup-linux-s390x-gnu@4.43.0': 2165 | optional: true 2166 | 2167 | '@rollup/rollup-linux-x64-gnu@4.43.0': 2168 | optional: true 2169 | 2170 | '@rollup/rollup-linux-x64-musl@4.43.0': 2171 | optional: true 2172 | 2173 | '@rollup/rollup-win32-arm64-msvc@4.43.0': 2174 | optional: true 2175 | 2176 | '@rollup/rollup-win32-ia32-msvc@4.43.0': 2177 | optional: true 2178 | 2179 | '@rollup/rollup-win32-x64-msvc@4.43.0': 2180 | optional: true 2181 | 2182 | '@sj-distributor/eslint-config@0.2.1(@eslint-react/eslint-plugin@1.52.2(eslint@9.29.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3))(@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 2183 | dependencies: 2184 | '@antfu/install-pkg': 1.1.0 2185 | '@clack/prompts': 0.9.1 2186 | '@stylistic/eslint-plugin': 2.13.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2187 | '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2188 | '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2189 | eslint: 9.29.0(jiti@2.4.2) 2190 | eslint-flat-config-utils: 1.1.0 2191 | eslint-plugin-import-x: 4.15.2(@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.29.0(jiti@2.4.2)) 2192 | globals: 15.15.0 2193 | local-pkg: 1.1.1 2194 | optionalDependencies: 2195 | '@eslint-react/eslint-plugin': 1.52.2(eslint@9.29.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3) 2196 | transitivePeerDependencies: 2197 | - '@typescript-eslint/utils' 2198 | - eslint-import-resolver-node 2199 | - supports-color 2200 | - typescript 2201 | 2202 | '@stylistic/eslint-plugin@2.13.0(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 2203 | dependencies: 2204 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2205 | eslint: 9.29.0(jiti@2.4.2) 2206 | eslint-visitor-keys: 4.2.1 2207 | espree: 10.4.0 2208 | estraverse: 5.3.0 2209 | picomatch: 4.0.2 2210 | transitivePeerDependencies: 2211 | - supports-color 2212 | - typescript 2213 | 2214 | '@trysound/sax@0.2.0': {} 2215 | 2216 | '@tybys/wasm-util@0.9.0': 2217 | dependencies: 2218 | tslib: 2.8.1 2219 | optional: true 2220 | 2221 | '@types/cross-spawn@6.0.6': 2222 | dependencies: 2223 | '@types/node': 24.0.1 2224 | 2225 | '@types/estree@1.0.7': {} 2226 | 2227 | '@types/estree@1.0.8': {} 2228 | 2229 | '@types/json-schema@7.0.15': {} 2230 | 2231 | '@types/minimist@1.2.5': {} 2232 | 2233 | '@types/node@24.0.1': 2234 | dependencies: 2235 | undici-types: 7.8.0 2236 | 2237 | '@types/prompts@2.4.9': 2238 | dependencies: 2239 | '@types/node': 24.0.1 2240 | kleur: 3.0.3 2241 | 2242 | '@types/resolve@1.20.2': {} 2243 | 2244 | '@typescript-eslint/eslint-plugin@8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 2245 | dependencies: 2246 | '@eslint-community/regexpp': 4.12.1 2247 | '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2248 | '@typescript-eslint/scope-manager': 8.34.1 2249 | '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2250 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2251 | '@typescript-eslint/visitor-keys': 8.34.1 2252 | eslint: 9.29.0(jiti@2.4.2) 2253 | graphemer: 1.4.0 2254 | ignore: 7.0.5 2255 | natural-compare: 1.4.0 2256 | ts-api-utils: 2.1.0(typescript@5.8.3) 2257 | typescript: 5.8.3 2258 | transitivePeerDependencies: 2259 | - supports-color 2260 | 2261 | '@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 2262 | dependencies: 2263 | '@typescript-eslint/scope-manager': 8.34.1 2264 | '@typescript-eslint/types': 8.34.1 2265 | '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) 2266 | '@typescript-eslint/visitor-keys': 8.34.1 2267 | debug: 4.4.1 2268 | eslint: 9.29.0(jiti@2.4.2) 2269 | typescript: 5.8.3 2270 | transitivePeerDependencies: 2271 | - supports-color 2272 | 2273 | '@typescript-eslint/project-service@8.34.1(typescript@5.8.3)': 2274 | dependencies: 2275 | '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) 2276 | '@typescript-eslint/types': 8.34.1 2277 | debug: 4.4.1 2278 | typescript: 5.8.3 2279 | transitivePeerDependencies: 2280 | - supports-color 2281 | 2282 | '@typescript-eslint/scope-manager@8.34.1': 2283 | dependencies: 2284 | '@typescript-eslint/types': 8.34.1 2285 | '@typescript-eslint/visitor-keys': 8.34.1 2286 | 2287 | '@typescript-eslint/tsconfig-utils@8.34.1(typescript@5.8.3)': 2288 | dependencies: 2289 | typescript: 5.8.3 2290 | 2291 | '@typescript-eslint/type-utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 2292 | dependencies: 2293 | '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) 2294 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2295 | debug: 4.4.1 2296 | eslint: 9.29.0(jiti@2.4.2) 2297 | ts-api-utils: 2.1.0(typescript@5.8.3) 2298 | typescript: 5.8.3 2299 | transitivePeerDependencies: 2300 | - supports-color 2301 | 2302 | '@typescript-eslint/types@8.34.1': {} 2303 | 2304 | '@typescript-eslint/typescript-estree@8.34.1(typescript@5.8.3)': 2305 | dependencies: 2306 | '@typescript-eslint/project-service': 8.34.1(typescript@5.8.3) 2307 | '@typescript-eslint/tsconfig-utils': 8.34.1(typescript@5.8.3) 2308 | '@typescript-eslint/types': 8.34.1 2309 | '@typescript-eslint/visitor-keys': 8.34.1 2310 | debug: 4.4.1 2311 | fast-glob: 3.3.3 2312 | is-glob: 4.0.3 2313 | minimatch: 9.0.5 2314 | semver: 7.7.2 2315 | ts-api-utils: 2.1.0(typescript@5.8.3) 2316 | typescript: 5.8.3 2317 | transitivePeerDependencies: 2318 | - supports-color 2319 | 2320 | '@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3)': 2321 | dependencies: 2322 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.4.2)) 2323 | '@typescript-eslint/scope-manager': 8.34.1 2324 | '@typescript-eslint/types': 8.34.1 2325 | '@typescript-eslint/typescript-estree': 8.34.1(typescript@5.8.3) 2326 | eslint: 9.29.0(jiti@2.4.2) 2327 | typescript: 5.8.3 2328 | transitivePeerDependencies: 2329 | - supports-color 2330 | 2331 | '@typescript-eslint/visitor-keys@8.34.1': 2332 | dependencies: 2333 | '@typescript-eslint/types': 8.34.1 2334 | eslint-visitor-keys: 4.2.1 2335 | 2336 | '@unrs/resolver-binding-android-arm-eabi@1.9.0': 2337 | optional: true 2338 | 2339 | '@unrs/resolver-binding-android-arm64@1.9.0': 2340 | optional: true 2341 | 2342 | '@unrs/resolver-binding-darwin-arm64@1.9.0': 2343 | optional: true 2344 | 2345 | '@unrs/resolver-binding-darwin-x64@1.9.0': 2346 | optional: true 2347 | 2348 | '@unrs/resolver-binding-freebsd-x64@1.9.0': 2349 | optional: true 2350 | 2351 | '@unrs/resolver-binding-linux-arm-gnueabihf@1.9.0': 2352 | optional: true 2353 | 2354 | '@unrs/resolver-binding-linux-arm-musleabihf@1.9.0': 2355 | optional: true 2356 | 2357 | '@unrs/resolver-binding-linux-arm64-gnu@1.9.0': 2358 | optional: true 2359 | 2360 | '@unrs/resolver-binding-linux-arm64-musl@1.9.0': 2361 | optional: true 2362 | 2363 | '@unrs/resolver-binding-linux-ppc64-gnu@1.9.0': 2364 | optional: true 2365 | 2366 | '@unrs/resolver-binding-linux-riscv64-gnu@1.9.0': 2367 | optional: true 2368 | 2369 | '@unrs/resolver-binding-linux-riscv64-musl@1.9.0': 2370 | optional: true 2371 | 2372 | '@unrs/resolver-binding-linux-s390x-gnu@1.9.0': 2373 | optional: true 2374 | 2375 | '@unrs/resolver-binding-linux-x64-gnu@1.9.0': 2376 | optional: true 2377 | 2378 | '@unrs/resolver-binding-linux-x64-musl@1.9.0': 2379 | optional: true 2380 | 2381 | '@unrs/resolver-binding-wasm32-wasi@1.9.0': 2382 | dependencies: 2383 | '@napi-rs/wasm-runtime': 0.2.11 2384 | optional: true 2385 | 2386 | '@unrs/resolver-binding-win32-arm64-msvc@1.9.0': 2387 | optional: true 2388 | 2389 | '@unrs/resolver-binding-win32-ia32-msvc@1.9.0': 2390 | optional: true 2391 | 2392 | '@unrs/resolver-binding-win32-x64-msvc@1.9.0': 2393 | optional: true 2394 | 2395 | acorn-jsx@5.3.2(acorn@8.15.0): 2396 | dependencies: 2397 | acorn: 8.15.0 2398 | 2399 | acorn@8.15.0: {} 2400 | 2401 | ajv@6.12.6: 2402 | dependencies: 2403 | fast-deep-equal: 3.1.3 2404 | fast-json-stable-stringify: 2.1.0 2405 | json-schema-traverse: 0.4.1 2406 | uri-js: 4.4.1 2407 | 2408 | ansi-styles@4.3.0: 2409 | dependencies: 2410 | color-convert: 2.0.1 2411 | 2412 | argparse@2.0.1: {} 2413 | 2414 | autoprefixer@10.4.21(postcss@8.5.5): 2415 | dependencies: 2416 | browserslist: 4.25.0 2417 | caniuse-lite: 1.0.30001722 2418 | fraction.js: 4.3.7 2419 | normalize-range: 0.1.2 2420 | picocolors: 1.1.1 2421 | postcss: 8.5.5 2422 | postcss-value-parser: 4.2.0 2423 | 2424 | balanced-match@1.0.2: {} 2425 | 2426 | birecord@0.1.1: {} 2427 | 2428 | boolbase@1.0.0: {} 2429 | 2430 | brace-expansion@1.1.12: 2431 | dependencies: 2432 | balanced-match: 1.0.2 2433 | concat-map: 0.0.1 2434 | 2435 | brace-expansion@2.0.2: 2436 | dependencies: 2437 | balanced-match: 1.0.2 2438 | 2439 | braces@3.0.3: 2440 | dependencies: 2441 | fill-range: 7.1.1 2442 | 2443 | browserslist@4.25.0: 2444 | dependencies: 2445 | caniuse-lite: 1.0.30001722 2446 | electron-to-chromium: 1.5.166 2447 | node-releases: 2.0.19 2448 | update-browserslist-db: 1.1.3(browserslist@4.25.0) 2449 | 2450 | callsites@3.1.0: {} 2451 | 2452 | caniuse-api@3.0.0: 2453 | dependencies: 2454 | browserslist: 4.25.0 2455 | caniuse-lite: 1.0.30001722 2456 | lodash.memoize: 4.1.2 2457 | lodash.uniq: 4.5.0 2458 | 2459 | caniuse-lite@1.0.30001722: {} 2460 | 2461 | chalk@4.1.2: 2462 | dependencies: 2463 | ansi-styles: 4.3.0 2464 | supports-color: 7.2.0 2465 | 2466 | citty@0.1.6: 2467 | dependencies: 2468 | consola: 3.4.2 2469 | 2470 | color-convert@2.0.1: 2471 | dependencies: 2472 | color-name: 1.1.4 2473 | 2474 | color-name@1.1.4: {} 2475 | 2476 | colord@2.9.3: {} 2477 | 2478 | commander@7.2.0: {} 2479 | 2480 | comment-parser@1.4.1: {} 2481 | 2482 | commondir@1.0.1: {} 2483 | 2484 | compare-versions@6.1.1: {} 2485 | 2486 | concat-map@0.0.1: {} 2487 | 2488 | confbox@0.1.8: {} 2489 | 2490 | confbox@0.2.2: {} 2491 | 2492 | consola@3.4.2: {} 2493 | 2494 | cross-spawn@7.0.6: 2495 | dependencies: 2496 | path-key: 3.1.1 2497 | shebang-command: 2.0.0 2498 | which: 2.0.2 2499 | 2500 | css-declaration-sorter@7.2.0(postcss@8.5.5): 2501 | dependencies: 2502 | postcss: 8.5.5 2503 | 2504 | css-select@5.1.0: 2505 | dependencies: 2506 | boolbase: 1.0.0 2507 | css-what: 6.1.0 2508 | domhandler: 5.0.3 2509 | domutils: 3.2.2 2510 | nth-check: 2.1.1 2511 | 2512 | css-tree@2.2.1: 2513 | dependencies: 2514 | mdn-data: 2.0.28 2515 | source-map-js: 1.2.1 2516 | 2517 | css-tree@2.3.1: 2518 | dependencies: 2519 | mdn-data: 2.0.30 2520 | source-map-js: 1.2.1 2521 | 2522 | css-what@6.1.0: {} 2523 | 2524 | cssesc@3.0.0: {} 2525 | 2526 | cssnano-preset-default@7.0.7(postcss@8.5.5): 2527 | dependencies: 2528 | browserslist: 4.25.0 2529 | css-declaration-sorter: 7.2.0(postcss@8.5.5) 2530 | cssnano-utils: 5.0.1(postcss@8.5.5) 2531 | postcss: 8.5.5 2532 | postcss-calc: 10.1.1(postcss@8.5.5) 2533 | postcss-colormin: 7.0.3(postcss@8.5.5) 2534 | postcss-convert-values: 7.0.5(postcss@8.5.5) 2535 | postcss-discard-comments: 7.0.4(postcss@8.5.5) 2536 | postcss-discard-duplicates: 7.0.2(postcss@8.5.5) 2537 | postcss-discard-empty: 7.0.1(postcss@8.5.5) 2538 | postcss-discard-overridden: 7.0.1(postcss@8.5.5) 2539 | postcss-merge-longhand: 7.0.5(postcss@8.5.5) 2540 | postcss-merge-rules: 7.0.5(postcss@8.5.5) 2541 | postcss-minify-font-values: 7.0.1(postcss@8.5.5) 2542 | postcss-minify-gradients: 7.0.1(postcss@8.5.5) 2543 | postcss-minify-params: 7.0.3(postcss@8.5.5) 2544 | postcss-minify-selectors: 7.0.5(postcss@8.5.5) 2545 | postcss-normalize-charset: 7.0.1(postcss@8.5.5) 2546 | postcss-normalize-display-values: 7.0.1(postcss@8.5.5) 2547 | postcss-normalize-positions: 7.0.1(postcss@8.5.5) 2548 | postcss-normalize-repeat-style: 7.0.1(postcss@8.5.5) 2549 | postcss-normalize-string: 7.0.1(postcss@8.5.5) 2550 | postcss-normalize-timing-functions: 7.0.1(postcss@8.5.5) 2551 | postcss-normalize-unicode: 7.0.3(postcss@8.5.5) 2552 | postcss-normalize-url: 7.0.1(postcss@8.5.5) 2553 | postcss-normalize-whitespace: 7.0.1(postcss@8.5.5) 2554 | postcss-ordered-values: 7.0.2(postcss@8.5.5) 2555 | postcss-reduce-initial: 7.0.3(postcss@8.5.5) 2556 | postcss-reduce-transforms: 7.0.1(postcss@8.5.5) 2557 | postcss-svgo: 7.0.2(postcss@8.5.5) 2558 | postcss-unique-selectors: 7.0.4(postcss@8.5.5) 2559 | 2560 | cssnano-utils@5.0.1(postcss@8.5.5): 2561 | dependencies: 2562 | postcss: 8.5.5 2563 | 2564 | cssnano@7.0.7(postcss@8.5.5): 2565 | dependencies: 2566 | cssnano-preset-default: 7.0.7(postcss@8.5.5) 2567 | lilconfig: 3.1.3 2568 | postcss: 8.5.5 2569 | 2570 | csso@5.0.5: 2571 | dependencies: 2572 | css-tree: 2.2.1 2573 | 2574 | debug@3.2.7: 2575 | dependencies: 2576 | ms: 2.1.3 2577 | optional: true 2578 | 2579 | debug@4.4.1: 2580 | dependencies: 2581 | ms: 2.1.3 2582 | 2583 | deep-is@0.1.4: {} 2584 | 2585 | deepmerge@4.3.1: {} 2586 | 2587 | defu@6.1.4: {} 2588 | 2589 | dom-serializer@2.0.0: 2590 | dependencies: 2591 | domelementtype: 2.3.0 2592 | domhandler: 5.0.3 2593 | entities: 4.5.0 2594 | 2595 | domelementtype@2.3.0: {} 2596 | 2597 | domhandler@5.0.3: 2598 | dependencies: 2599 | domelementtype: 2.3.0 2600 | 2601 | domutils@3.2.2: 2602 | dependencies: 2603 | dom-serializer: 2.0.0 2604 | domelementtype: 2.3.0 2605 | domhandler: 5.0.3 2606 | 2607 | electron-to-chromium@1.5.166: {} 2608 | 2609 | entities@4.5.0: {} 2610 | 2611 | esbuild@0.25.5: 2612 | optionalDependencies: 2613 | '@esbuild/aix-ppc64': 0.25.5 2614 | '@esbuild/android-arm': 0.25.5 2615 | '@esbuild/android-arm64': 0.25.5 2616 | '@esbuild/android-x64': 0.25.5 2617 | '@esbuild/darwin-arm64': 0.25.5 2618 | '@esbuild/darwin-x64': 0.25.5 2619 | '@esbuild/freebsd-arm64': 0.25.5 2620 | '@esbuild/freebsd-x64': 0.25.5 2621 | '@esbuild/linux-arm': 0.25.5 2622 | '@esbuild/linux-arm64': 0.25.5 2623 | '@esbuild/linux-ia32': 0.25.5 2624 | '@esbuild/linux-loong64': 0.25.5 2625 | '@esbuild/linux-mips64el': 0.25.5 2626 | '@esbuild/linux-ppc64': 0.25.5 2627 | '@esbuild/linux-riscv64': 0.25.5 2628 | '@esbuild/linux-s390x': 0.25.5 2629 | '@esbuild/linux-x64': 0.25.5 2630 | '@esbuild/netbsd-arm64': 0.25.5 2631 | '@esbuild/netbsd-x64': 0.25.5 2632 | '@esbuild/openbsd-arm64': 0.25.5 2633 | '@esbuild/openbsd-x64': 0.25.5 2634 | '@esbuild/sunos-x64': 0.25.5 2635 | '@esbuild/win32-arm64': 0.25.5 2636 | '@esbuild/win32-ia32': 0.25.5 2637 | '@esbuild/win32-x64': 0.25.5 2638 | 2639 | escalade@3.2.0: {} 2640 | 2641 | escape-string-regexp@4.0.0: {} 2642 | 2643 | eslint-flat-config-utils@1.1.0: 2644 | dependencies: 2645 | pathe: 2.0.3 2646 | 2647 | eslint-import-context@0.1.8(unrs-resolver@1.9.0): 2648 | dependencies: 2649 | get-tsconfig: 4.10.1 2650 | stable-hash-x: 0.1.1 2651 | optionalDependencies: 2652 | unrs-resolver: 1.9.0 2653 | 2654 | eslint-import-resolver-node@0.3.9: 2655 | dependencies: 2656 | debug: 3.2.7 2657 | is-core-module: 2.16.1 2658 | resolve: 1.22.10 2659 | transitivePeerDependencies: 2660 | - supports-color 2661 | optional: true 2662 | 2663 | eslint-plugin-import-x@4.15.2(@typescript-eslint/utils@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint-import-resolver-node@0.3.9)(eslint@9.29.0(jiti@2.4.2)): 2664 | dependencies: 2665 | '@typescript-eslint/types': 8.34.1 2666 | comment-parser: 1.4.1 2667 | debug: 4.4.1 2668 | eslint: 9.29.0(jiti@2.4.2) 2669 | eslint-import-context: 0.1.8(unrs-resolver@1.9.0) 2670 | is-glob: 4.0.3 2671 | minimatch: 10.0.3 2672 | semver: 7.7.2 2673 | stable-hash-x: 0.1.1 2674 | unrs-resolver: 1.9.0 2675 | optionalDependencies: 2676 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2677 | eslint-import-resolver-node: 0.3.9 2678 | transitivePeerDependencies: 2679 | - supports-color 2680 | 2681 | eslint-plugin-react-debug@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): 2682 | dependencies: 2683 | '@eslint-react/ast': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2684 | '@eslint-react/core': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2685 | '@eslint-react/eff': 1.52.2 2686 | '@eslint-react/kit': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2687 | '@eslint-react/shared': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2688 | '@eslint-react/var': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2689 | '@typescript-eslint/scope-manager': 8.34.1 2690 | '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2691 | '@typescript-eslint/types': 8.34.1 2692 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2693 | eslint: 9.29.0(jiti@2.4.2) 2694 | string-ts: 2.2.1 2695 | ts-pattern: 5.7.1 2696 | optionalDependencies: 2697 | typescript: 5.8.3 2698 | transitivePeerDependencies: 2699 | - supports-color 2700 | 2701 | eslint-plugin-react-dom@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): 2702 | dependencies: 2703 | '@eslint-react/ast': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2704 | '@eslint-react/core': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2705 | '@eslint-react/eff': 1.52.2 2706 | '@eslint-react/kit': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2707 | '@eslint-react/shared': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2708 | '@eslint-react/var': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2709 | '@typescript-eslint/scope-manager': 8.34.1 2710 | '@typescript-eslint/types': 8.34.1 2711 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2712 | compare-versions: 6.1.1 2713 | eslint: 9.29.0(jiti@2.4.2) 2714 | string-ts: 2.2.1 2715 | ts-pattern: 5.7.1 2716 | optionalDependencies: 2717 | typescript: 5.8.3 2718 | transitivePeerDependencies: 2719 | - supports-color 2720 | 2721 | eslint-plugin-react-hooks-extra@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): 2722 | dependencies: 2723 | '@eslint-react/ast': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2724 | '@eslint-react/core': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2725 | '@eslint-react/eff': 1.52.2 2726 | '@eslint-react/kit': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2727 | '@eslint-react/shared': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2728 | '@eslint-react/var': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2729 | '@typescript-eslint/scope-manager': 8.34.1 2730 | '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2731 | '@typescript-eslint/types': 8.34.1 2732 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2733 | eslint: 9.29.0(jiti@2.4.2) 2734 | string-ts: 2.2.1 2735 | ts-pattern: 5.7.1 2736 | optionalDependencies: 2737 | typescript: 5.8.3 2738 | transitivePeerDependencies: 2739 | - supports-color 2740 | 2741 | eslint-plugin-react-naming-convention@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): 2742 | dependencies: 2743 | '@eslint-react/ast': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2744 | '@eslint-react/core': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2745 | '@eslint-react/eff': 1.52.2 2746 | '@eslint-react/kit': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2747 | '@eslint-react/shared': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2748 | '@eslint-react/var': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2749 | '@typescript-eslint/scope-manager': 8.34.1 2750 | '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2751 | '@typescript-eslint/types': 8.34.1 2752 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2753 | eslint: 9.29.0(jiti@2.4.2) 2754 | string-ts: 2.2.1 2755 | ts-pattern: 5.7.1 2756 | optionalDependencies: 2757 | typescript: 5.8.3 2758 | transitivePeerDependencies: 2759 | - supports-color 2760 | 2761 | eslint-plugin-react-web-api@1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): 2762 | dependencies: 2763 | '@eslint-react/ast': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2764 | '@eslint-react/core': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2765 | '@eslint-react/eff': 1.52.2 2766 | '@eslint-react/kit': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2767 | '@eslint-react/shared': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2768 | '@eslint-react/var': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2769 | '@typescript-eslint/scope-manager': 8.34.1 2770 | '@typescript-eslint/types': 8.34.1 2771 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2772 | eslint: 9.29.0(jiti@2.4.2) 2773 | string-ts: 2.2.1 2774 | ts-pattern: 5.7.1 2775 | optionalDependencies: 2776 | typescript: 5.8.3 2777 | transitivePeerDependencies: 2778 | - supports-color 2779 | 2780 | eslint-plugin-react-x@1.52.2(eslint@9.29.0(jiti@2.4.2))(ts-api-utils@2.1.0(typescript@5.8.3))(typescript@5.8.3): 2781 | dependencies: 2782 | '@eslint-react/ast': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2783 | '@eslint-react/core': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2784 | '@eslint-react/eff': 1.52.2 2785 | '@eslint-react/kit': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2786 | '@eslint-react/shared': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2787 | '@eslint-react/var': 1.52.2(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2788 | '@typescript-eslint/scope-manager': 8.34.1 2789 | '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2790 | '@typescript-eslint/types': 8.34.1 2791 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2792 | compare-versions: 6.1.1 2793 | eslint: 9.29.0(jiti@2.4.2) 2794 | is-immutable-type: 5.0.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2795 | string-ts: 2.2.1 2796 | ts-pattern: 5.7.1 2797 | optionalDependencies: 2798 | ts-api-utils: 2.1.0(typescript@5.8.3) 2799 | typescript: 5.8.3 2800 | transitivePeerDependencies: 2801 | - supports-color 2802 | 2803 | eslint-scope@8.4.0: 2804 | dependencies: 2805 | esrecurse: 4.3.0 2806 | estraverse: 5.3.0 2807 | 2808 | eslint-visitor-keys@3.4.3: {} 2809 | 2810 | eslint-visitor-keys@4.2.1: {} 2811 | 2812 | eslint@9.29.0(jiti@2.4.2): 2813 | dependencies: 2814 | '@eslint-community/eslint-utils': 4.7.0(eslint@9.29.0(jiti@2.4.2)) 2815 | '@eslint-community/regexpp': 4.12.1 2816 | '@eslint/config-array': 0.20.1 2817 | '@eslint/config-helpers': 0.2.3 2818 | '@eslint/core': 0.14.0 2819 | '@eslint/eslintrc': 3.3.1 2820 | '@eslint/js': 9.29.0 2821 | '@eslint/plugin-kit': 0.3.2 2822 | '@humanfs/node': 0.16.6 2823 | '@humanwhocodes/module-importer': 1.0.1 2824 | '@humanwhocodes/retry': 0.4.3 2825 | '@types/estree': 1.0.8 2826 | '@types/json-schema': 7.0.15 2827 | ajv: 6.12.6 2828 | chalk: 4.1.2 2829 | cross-spawn: 7.0.6 2830 | debug: 4.4.1 2831 | escape-string-regexp: 4.0.0 2832 | eslint-scope: 8.4.0 2833 | eslint-visitor-keys: 4.2.1 2834 | espree: 10.4.0 2835 | esquery: 1.6.0 2836 | esutils: 2.0.3 2837 | fast-deep-equal: 3.1.3 2838 | file-entry-cache: 8.0.0 2839 | find-up: 5.0.0 2840 | glob-parent: 6.0.2 2841 | ignore: 5.3.2 2842 | imurmurhash: 0.1.4 2843 | is-glob: 4.0.3 2844 | json-stable-stringify-without-jsonify: 1.0.1 2845 | lodash.merge: 4.6.2 2846 | minimatch: 3.1.2 2847 | natural-compare: 1.4.0 2848 | optionator: 0.9.4 2849 | optionalDependencies: 2850 | jiti: 2.4.2 2851 | transitivePeerDependencies: 2852 | - supports-color 2853 | 2854 | espree@10.4.0: 2855 | dependencies: 2856 | acorn: 8.15.0 2857 | acorn-jsx: 5.3.2(acorn@8.15.0) 2858 | eslint-visitor-keys: 4.2.1 2859 | 2860 | esquery@1.6.0: 2861 | dependencies: 2862 | estraverse: 5.3.0 2863 | 2864 | esrecurse@4.3.0: 2865 | dependencies: 2866 | estraverse: 5.3.0 2867 | 2868 | estraverse@5.3.0: {} 2869 | 2870 | estree-walker@2.0.2: {} 2871 | 2872 | esutils@2.0.3: {} 2873 | 2874 | exsolve@1.0.6: {} 2875 | 2876 | fast-deep-equal@3.1.3: {} 2877 | 2878 | fast-glob@3.3.3: 2879 | dependencies: 2880 | '@nodelib/fs.stat': 2.0.5 2881 | '@nodelib/fs.walk': 1.2.8 2882 | glob-parent: 5.1.2 2883 | merge2: 1.4.1 2884 | micromatch: 4.0.8 2885 | 2886 | fast-json-stable-stringify@2.1.0: {} 2887 | 2888 | fast-levenshtein@2.0.6: {} 2889 | 2890 | fastq@1.19.1: 2891 | dependencies: 2892 | reusify: 1.1.0 2893 | 2894 | fdir@6.4.6(picomatch@4.0.2): 2895 | optionalDependencies: 2896 | picomatch: 4.0.2 2897 | 2898 | file-entry-cache@8.0.0: 2899 | dependencies: 2900 | flat-cache: 4.0.1 2901 | 2902 | fill-range@7.1.1: 2903 | dependencies: 2904 | to-regex-range: 5.0.1 2905 | 2906 | find-up@5.0.0: 2907 | dependencies: 2908 | locate-path: 6.0.0 2909 | path-exists: 4.0.0 2910 | 2911 | fix-dts-default-cjs-exports@1.0.1: 2912 | dependencies: 2913 | magic-string: 0.30.17 2914 | mlly: 1.7.4 2915 | rollup: 4.43.0 2916 | 2917 | flat-cache@4.0.1: 2918 | dependencies: 2919 | flatted: 3.3.3 2920 | keyv: 4.5.4 2921 | 2922 | flatted@3.3.3: {} 2923 | 2924 | fraction.js@4.3.7: {} 2925 | 2926 | fsevents@2.3.3: 2927 | optional: true 2928 | 2929 | function-bind@1.1.2: {} 2930 | 2931 | get-tsconfig@4.10.1: 2932 | dependencies: 2933 | resolve-pkg-maps: 1.0.0 2934 | 2935 | glob-parent@5.1.2: 2936 | dependencies: 2937 | is-glob: 4.0.3 2938 | 2939 | glob-parent@6.0.2: 2940 | dependencies: 2941 | is-glob: 4.0.3 2942 | 2943 | globals@14.0.0: {} 2944 | 2945 | globals@15.15.0: {} 2946 | 2947 | graphemer@1.4.0: {} 2948 | 2949 | has-flag@4.0.0: {} 2950 | 2951 | hasown@2.0.2: 2952 | dependencies: 2953 | function-bind: 1.1.2 2954 | 2955 | hookable@5.5.3: {} 2956 | 2957 | ignore@5.3.2: {} 2958 | 2959 | ignore@7.0.5: {} 2960 | 2961 | import-fresh@3.3.1: 2962 | dependencies: 2963 | parent-module: 1.0.1 2964 | resolve-from: 4.0.0 2965 | 2966 | imurmurhash@0.1.4: {} 2967 | 2968 | is-core-module@2.16.1: 2969 | dependencies: 2970 | hasown: 2.0.2 2971 | 2972 | is-extglob@2.1.1: {} 2973 | 2974 | is-glob@4.0.3: 2975 | dependencies: 2976 | is-extglob: 2.1.1 2977 | 2978 | is-immutable-type@5.0.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): 2979 | dependencies: 2980 | '@typescript-eslint/type-utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 2981 | eslint: 9.29.0(jiti@2.4.2) 2982 | ts-api-utils: 2.1.0(typescript@5.8.3) 2983 | ts-declaration-location: 1.0.7(typescript@5.8.3) 2984 | typescript: 5.8.3 2985 | transitivePeerDependencies: 2986 | - supports-color 2987 | 2988 | is-module@1.0.0: {} 2989 | 2990 | is-number@7.0.0: {} 2991 | 2992 | is-reference@1.2.1: 2993 | dependencies: 2994 | '@types/estree': 1.0.8 2995 | 2996 | isexe@2.0.0: {} 2997 | 2998 | jiti@1.21.7: {} 2999 | 3000 | jiti@2.4.2: {} 3001 | 3002 | js-tokens@4.0.0: 3003 | optional: true 3004 | 3005 | js-yaml@4.1.0: 3006 | dependencies: 3007 | argparse: 2.0.1 3008 | 3009 | json-buffer@3.0.1: {} 3010 | 3011 | json-schema-traverse@0.4.1: {} 3012 | 3013 | json-stable-stringify-without-jsonify@1.0.1: {} 3014 | 3015 | keyv@4.5.4: 3016 | dependencies: 3017 | json-buffer: 3.0.1 3018 | 3019 | kleur@3.0.3: {} 3020 | 3021 | knitwork@1.2.0: {} 3022 | 3023 | kolorist@1.8.0: {} 3024 | 3025 | levn@0.4.1: 3026 | dependencies: 3027 | prelude-ls: 1.2.1 3028 | type-check: 0.4.0 3029 | 3030 | lilconfig@3.1.3: {} 3031 | 3032 | local-pkg@1.1.1: 3033 | dependencies: 3034 | mlly: 1.7.4 3035 | pkg-types: 2.1.0 3036 | quansync: 0.2.10 3037 | 3038 | locate-path@6.0.0: 3039 | dependencies: 3040 | p-locate: 5.0.0 3041 | 3042 | lodash.memoize@4.1.2: {} 3043 | 3044 | lodash.merge@4.6.2: {} 3045 | 3046 | lodash.uniq@4.5.0: {} 3047 | 3048 | magic-string@0.30.17: 3049 | dependencies: 3050 | '@jridgewell/sourcemap-codec': 1.5.0 3051 | 3052 | mdn-data@2.0.28: {} 3053 | 3054 | mdn-data@2.0.30: {} 3055 | 3056 | merge2@1.4.1: {} 3057 | 3058 | micromatch@4.0.8: 3059 | dependencies: 3060 | braces: 3.0.3 3061 | picomatch: 2.3.1 3062 | 3063 | minimatch@10.0.3: 3064 | dependencies: 3065 | '@isaacs/brace-expansion': 5.0.0 3066 | 3067 | minimatch@3.1.2: 3068 | dependencies: 3069 | brace-expansion: 1.1.12 3070 | 3071 | minimatch@9.0.5: 3072 | dependencies: 3073 | brace-expansion: 2.0.2 3074 | 3075 | minimist@1.2.8: {} 3076 | 3077 | mkdist@2.3.0(typescript@5.8.3): 3078 | dependencies: 3079 | autoprefixer: 10.4.21(postcss@8.5.5) 3080 | citty: 0.1.6 3081 | cssnano: 7.0.7(postcss@8.5.5) 3082 | defu: 6.1.4 3083 | esbuild: 0.25.5 3084 | jiti: 1.21.7 3085 | mlly: 1.7.4 3086 | pathe: 2.0.3 3087 | pkg-types: 2.1.0 3088 | postcss: 8.5.5 3089 | postcss-nested: 7.0.2(postcss@8.5.5) 3090 | semver: 7.7.2 3091 | tinyglobby: 0.2.14 3092 | optionalDependencies: 3093 | typescript: 5.8.3 3094 | 3095 | mlly@1.7.4: 3096 | dependencies: 3097 | acorn: 8.15.0 3098 | pathe: 2.0.3 3099 | pkg-types: 1.3.1 3100 | ufo: 1.6.1 3101 | 3102 | ms@2.1.3: {} 3103 | 3104 | nanoid@3.3.11: {} 3105 | 3106 | napi-postinstall@0.2.4: {} 3107 | 3108 | natural-compare@1.4.0: {} 3109 | 3110 | node-releases@2.0.19: {} 3111 | 3112 | normalize-range@0.1.2: {} 3113 | 3114 | nth-check@2.1.1: 3115 | dependencies: 3116 | boolbase: 1.0.0 3117 | 3118 | optionator@0.9.4: 3119 | dependencies: 3120 | deep-is: 0.1.4 3121 | fast-levenshtein: 2.0.6 3122 | levn: 0.4.1 3123 | prelude-ls: 1.2.1 3124 | type-check: 0.4.0 3125 | word-wrap: 1.2.5 3126 | 3127 | p-limit@3.1.0: 3128 | dependencies: 3129 | yocto-queue: 0.1.0 3130 | 3131 | p-locate@5.0.0: 3132 | dependencies: 3133 | p-limit: 3.1.0 3134 | 3135 | package-manager-detector@1.3.0: {} 3136 | 3137 | parent-module@1.0.1: 3138 | dependencies: 3139 | callsites: 3.1.0 3140 | 3141 | path-exists@4.0.0: {} 3142 | 3143 | path-key@3.1.1: {} 3144 | 3145 | path-parse@1.0.7: {} 3146 | 3147 | pathe@2.0.3: {} 3148 | 3149 | picocolors@1.1.1: {} 3150 | 3151 | picomatch@2.3.1: {} 3152 | 3153 | picomatch@4.0.2: {} 3154 | 3155 | pkg-types@1.3.1: 3156 | dependencies: 3157 | confbox: 0.1.8 3158 | mlly: 1.7.4 3159 | pathe: 2.0.3 3160 | 3161 | pkg-types@2.1.0: 3162 | dependencies: 3163 | confbox: 0.2.2 3164 | exsolve: 1.0.6 3165 | pathe: 2.0.3 3166 | 3167 | postcss-calc@10.1.1(postcss@8.5.5): 3168 | dependencies: 3169 | postcss: 8.5.5 3170 | postcss-selector-parser: 7.1.0 3171 | postcss-value-parser: 4.2.0 3172 | 3173 | postcss-colormin@7.0.3(postcss@8.5.5): 3174 | dependencies: 3175 | browserslist: 4.25.0 3176 | caniuse-api: 3.0.0 3177 | colord: 2.9.3 3178 | postcss: 8.5.5 3179 | postcss-value-parser: 4.2.0 3180 | 3181 | postcss-convert-values@7.0.5(postcss@8.5.5): 3182 | dependencies: 3183 | browserslist: 4.25.0 3184 | postcss: 8.5.5 3185 | postcss-value-parser: 4.2.0 3186 | 3187 | postcss-discard-comments@7.0.4(postcss@8.5.5): 3188 | dependencies: 3189 | postcss: 8.5.5 3190 | postcss-selector-parser: 7.1.0 3191 | 3192 | postcss-discard-duplicates@7.0.2(postcss@8.5.5): 3193 | dependencies: 3194 | postcss: 8.5.5 3195 | 3196 | postcss-discard-empty@7.0.1(postcss@8.5.5): 3197 | dependencies: 3198 | postcss: 8.5.5 3199 | 3200 | postcss-discard-overridden@7.0.1(postcss@8.5.5): 3201 | dependencies: 3202 | postcss: 8.5.5 3203 | 3204 | postcss-merge-longhand@7.0.5(postcss@8.5.5): 3205 | dependencies: 3206 | postcss: 8.5.5 3207 | postcss-value-parser: 4.2.0 3208 | stylehacks: 7.0.5(postcss@8.5.5) 3209 | 3210 | postcss-merge-rules@7.0.5(postcss@8.5.5): 3211 | dependencies: 3212 | browserslist: 4.25.0 3213 | caniuse-api: 3.0.0 3214 | cssnano-utils: 5.0.1(postcss@8.5.5) 3215 | postcss: 8.5.5 3216 | postcss-selector-parser: 7.1.0 3217 | 3218 | postcss-minify-font-values@7.0.1(postcss@8.5.5): 3219 | dependencies: 3220 | postcss: 8.5.5 3221 | postcss-value-parser: 4.2.0 3222 | 3223 | postcss-minify-gradients@7.0.1(postcss@8.5.5): 3224 | dependencies: 3225 | colord: 2.9.3 3226 | cssnano-utils: 5.0.1(postcss@8.5.5) 3227 | postcss: 8.5.5 3228 | postcss-value-parser: 4.2.0 3229 | 3230 | postcss-minify-params@7.0.3(postcss@8.5.5): 3231 | dependencies: 3232 | browserslist: 4.25.0 3233 | cssnano-utils: 5.0.1(postcss@8.5.5) 3234 | postcss: 8.5.5 3235 | postcss-value-parser: 4.2.0 3236 | 3237 | postcss-minify-selectors@7.0.5(postcss@8.5.5): 3238 | dependencies: 3239 | cssesc: 3.0.0 3240 | postcss: 8.5.5 3241 | postcss-selector-parser: 7.1.0 3242 | 3243 | postcss-nested@7.0.2(postcss@8.5.5): 3244 | dependencies: 3245 | postcss: 8.5.5 3246 | postcss-selector-parser: 7.1.0 3247 | 3248 | postcss-normalize-charset@7.0.1(postcss@8.5.5): 3249 | dependencies: 3250 | postcss: 8.5.5 3251 | 3252 | postcss-normalize-display-values@7.0.1(postcss@8.5.5): 3253 | dependencies: 3254 | postcss: 8.5.5 3255 | postcss-value-parser: 4.2.0 3256 | 3257 | postcss-normalize-positions@7.0.1(postcss@8.5.5): 3258 | dependencies: 3259 | postcss: 8.5.5 3260 | postcss-value-parser: 4.2.0 3261 | 3262 | postcss-normalize-repeat-style@7.0.1(postcss@8.5.5): 3263 | dependencies: 3264 | postcss: 8.5.5 3265 | postcss-value-parser: 4.2.0 3266 | 3267 | postcss-normalize-string@7.0.1(postcss@8.5.5): 3268 | dependencies: 3269 | postcss: 8.5.5 3270 | postcss-value-parser: 4.2.0 3271 | 3272 | postcss-normalize-timing-functions@7.0.1(postcss@8.5.5): 3273 | dependencies: 3274 | postcss: 8.5.5 3275 | postcss-value-parser: 4.2.0 3276 | 3277 | postcss-normalize-unicode@7.0.3(postcss@8.5.5): 3278 | dependencies: 3279 | browserslist: 4.25.0 3280 | postcss: 8.5.5 3281 | postcss-value-parser: 4.2.0 3282 | 3283 | postcss-normalize-url@7.0.1(postcss@8.5.5): 3284 | dependencies: 3285 | postcss: 8.5.5 3286 | postcss-value-parser: 4.2.0 3287 | 3288 | postcss-normalize-whitespace@7.0.1(postcss@8.5.5): 3289 | dependencies: 3290 | postcss: 8.5.5 3291 | postcss-value-parser: 4.2.0 3292 | 3293 | postcss-ordered-values@7.0.2(postcss@8.5.5): 3294 | dependencies: 3295 | cssnano-utils: 5.0.1(postcss@8.5.5) 3296 | postcss: 8.5.5 3297 | postcss-value-parser: 4.2.0 3298 | 3299 | postcss-reduce-initial@7.0.3(postcss@8.5.5): 3300 | dependencies: 3301 | browserslist: 4.25.0 3302 | caniuse-api: 3.0.0 3303 | postcss: 8.5.5 3304 | 3305 | postcss-reduce-transforms@7.0.1(postcss@8.5.5): 3306 | dependencies: 3307 | postcss: 8.5.5 3308 | postcss-value-parser: 4.2.0 3309 | 3310 | postcss-selector-parser@7.1.0: 3311 | dependencies: 3312 | cssesc: 3.0.0 3313 | util-deprecate: 1.0.2 3314 | 3315 | postcss-svgo@7.0.2(postcss@8.5.5): 3316 | dependencies: 3317 | postcss: 8.5.5 3318 | postcss-value-parser: 4.2.0 3319 | svgo: 3.3.2 3320 | 3321 | postcss-unique-selectors@7.0.4(postcss@8.5.5): 3322 | dependencies: 3323 | postcss: 8.5.5 3324 | postcss-selector-parser: 7.1.0 3325 | 3326 | postcss-value-parser@4.2.0: {} 3327 | 3328 | postcss@8.5.5: 3329 | dependencies: 3330 | nanoid: 3.3.11 3331 | picocolors: 1.1.1 3332 | source-map-js: 1.2.1 3333 | 3334 | prelude-ls@1.2.1: {} 3335 | 3336 | pretty-bytes@6.1.1: {} 3337 | 3338 | prompts@2.4.2: 3339 | dependencies: 3340 | kleur: 3.0.3 3341 | sisteransi: 1.0.5 3342 | 3343 | punycode@2.3.1: {} 3344 | 3345 | quansync@0.2.10: {} 3346 | 3347 | queue-microtask@1.2.3: {} 3348 | 3349 | resolve-from@4.0.0: {} 3350 | 3351 | resolve-pkg-maps@1.0.0: {} 3352 | 3353 | resolve@1.22.10: 3354 | dependencies: 3355 | is-core-module: 2.16.1 3356 | path-parse: 1.0.7 3357 | supports-preserve-symlinks-flag: 1.0.0 3358 | 3359 | reusify@1.1.0: {} 3360 | 3361 | rollup-plugin-dts@6.2.1(rollup@4.43.0)(typescript@5.8.3): 3362 | dependencies: 3363 | magic-string: 0.30.17 3364 | rollup: 4.43.0 3365 | typescript: 5.8.3 3366 | optionalDependencies: 3367 | '@babel/code-frame': 7.27.1 3368 | 3369 | rollup@4.43.0: 3370 | dependencies: 3371 | '@types/estree': 1.0.7 3372 | optionalDependencies: 3373 | '@rollup/rollup-android-arm-eabi': 4.43.0 3374 | '@rollup/rollup-android-arm64': 4.43.0 3375 | '@rollup/rollup-darwin-arm64': 4.43.0 3376 | '@rollup/rollup-darwin-x64': 4.43.0 3377 | '@rollup/rollup-freebsd-arm64': 4.43.0 3378 | '@rollup/rollup-freebsd-x64': 4.43.0 3379 | '@rollup/rollup-linux-arm-gnueabihf': 4.43.0 3380 | '@rollup/rollup-linux-arm-musleabihf': 4.43.0 3381 | '@rollup/rollup-linux-arm64-gnu': 4.43.0 3382 | '@rollup/rollup-linux-arm64-musl': 4.43.0 3383 | '@rollup/rollup-linux-loongarch64-gnu': 4.43.0 3384 | '@rollup/rollup-linux-powerpc64le-gnu': 4.43.0 3385 | '@rollup/rollup-linux-riscv64-gnu': 4.43.0 3386 | '@rollup/rollup-linux-riscv64-musl': 4.43.0 3387 | '@rollup/rollup-linux-s390x-gnu': 4.43.0 3388 | '@rollup/rollup-linux-x64-gnu': 4.43.0 3389 | '@rollup/rollup-linux-x64-musl': 4.43.0 3390 | '@rollup/rollup-win32-arm64-msvc': 4.43.0 3391 | '@rollup/rollup-win32-ia32-msvc': 4.43.0 3392 | '@rollup/rollup-win32-x64-msvc': 4.43.0 3393 | fsevents: 2.3.3 3394 | 3395 | run-parallel@1.2.0: 3396 | dependencies: 3397 | queue-microtask: 1.2.3 3398 | 3399 | scule@1.3.0: {} 3400 | 3401 | semver@7.7.2: {} 3402 | 3403 | shebang-command@2.0.0: 3404 | dependencies: 3405 | shebang-regex: 3.0.0 3406 | 3407 | shebang-regex@3.0.0: {} 3408 | 3409 | sisteransi@1.0.5: {} 3410 | 3411 | source-map-js@1.2.1: {} 3412 | 3413 | stable-hash-x@0.1.1: {} 3414 | 3415 | string-ts@2.2.1: {} 3416 | 3417 | strip-json-comments@3.1.1: {} 3418 | 3419 | stylehacks@7.0.5(postcss@8.5.5): 3420 | dependencies: 3421 | browserslist: 4.25.0 3422 | postcss: 8.5.5 3423 | postcss-selector-parser: 7.1.0 3424 | 3425 | supports-color@7.2.0: 3426 | dependencies: 3427 | has-flag: 4.0.0 3428 | 3429 | supports-preserve-symlinks-flag@1.0.0: {} 3430 | 3431 | svgo@3.3.2: 3432 | dependencies: 3433 | '@trysound/sax': 0.2.0 3434 | commander: 7.2.0 3435 | css-select: 5.1.0 3436 | css-tree: 2.3.1 3437 | css-what: 6.1.0 3438 | csso: 5.0.5 3439 | picocolors: 1.1.1 3440 | 3441 | tinyexec@1.0.1: {} 3442 | 3443 | tinyglobby@0.2.14: 3444 | dependencies: 3445 | fdir: 6.4.6(picomatch@4.0.2) 3446 | picomatch: 4.0.2 3447 | 3448 | to-regex-range@5.0.1: 3449 | dependencies: 3450 | is-number: 7.0.0 3451 | 3452 | ts-api-utils@2.1.0(typescript@5.8.3): 3453 | dependencies: 3454 | typescript: 5.8.3 3455 | 3456 | ts-declaration-location@1.0.7(typescript@5.8.3): 3457 | dependencies: 3458 | picomatch: 4.0.2 3459 | typescript: 5.8.3 3460 | 3461 | ts-pattern@5.7.1: {} 3462 | 3463 | tslib@2.8.1: 3464 | optional: true 3465 | 3466 | type-check@0.4.0: 3467 | dependencies: 3468 | prelude-ls: 1.2.1 3469 | 3470 | typescript-eslint@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3): 3471 | dependencies: 3472 | '@typescript-eslint/eslint-plugin': 8.34.1(@typescript-eslint/parser@8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3))(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 3473 | '@typescript-eslint/parser': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 3474 | '@typescript-eslint/utils': 8.34.1(eslint@9.29.0(jiti@2.4.2))(typescript@5.8.3) 3475 | eslint: 9.29.0(jiti@2.4.2) 3476 | typescript: 5.8.3 3477 | transitivePeerDependencies: 3478 | - supports-color 3479 | 3480 | typescript@5.8.3: {} 3481 | 3482 | ufo@1.6.1: {} 3483 | 3484 | unbuild@3.5.0(typescript@5.8.3): 3485 | dependencies: 3486 | '@rollup/plugin-alias': 5.1.1(rollup@4.43.0) 3487 | '@rollup/plugin-commonjs': 28.0.6(rollup@4.43.0) 3488 | '@rollup/plugin-json': 6.1.0(rollup@4.43.0) 3489 | '@rollup/plugin-node-resolve': 16.0.1(rollup@4.43.0) 3490 | '@rollup/plugin-replace': 6.0.2(rollup@4.43.0) 3491 | '@rollup/pluginutils': 5.1.4(rollup@4.43.0) 3492 | citty: 0.1.6 3493 | consola: 3.4.2 3494 | defu: 6.1.4 3495 | esbuild: 0.25.5 3496 | fix-dts-default-cjs-exports: 1.0.1 3497 | hookable: 5.5.3 3498 | jiti: 2.4.2 3499 | magic-string: 0.30.17 3500 | mkdist: 2.3.0(typescript@5.8.3) 3501 | mlly: 1.7.4 3502 | pathe: 2.0.3 3503 | pkg-types: 2.1.0 3504 | pretty-bytes: 6.1.1 3505 | rollup: 4.43.0 3506 | rollup-plugin-dts: 6.2.1(rollup@4.43.0)(typescript@5.8.3) 3507 | scule: 1.3.0 3508 | tinyglobby: 0.2.14 3509 | untyped: 2.0.0 3510 | optionalDependencies: 3511 | typescript: 5.8.3 3512 | transitivePeerDependencies: 3513 | - sass 3514 | - vue 3515 | - vue-sfc-transformer 3516 | - vue-tsc 3517 | 3518 | undici-types@7.8.0: {} 3519 | 3520 | unrs-resolver@1.9.0: 3521 | dependencies: 3522 | napi-postinstall: 0.2.4 3523 | optionalDependencies: 3524 | '@unrs/resolver-binding-android-arm-eabi': 1.9.0 3525 | '@unrs/resolver-binding-android-arm64': 1.9.0 3526 | '@unrs/resolver-binding-darwin-arm64': 1.9.0 3527 | '@unrs/resolver-binding-darwin-x64': 1.9.0 3528 | '@unrs/resolver-binding-freebsd-x64': 1.9.0 3529 | '@unrs/resolver-binding-linux-arm-gnueabihf': 1.9.0 3530 | '@unrs/resolver-binding-linux-arm-musleabihf': 1.9.0 3531 | '@unrs/resolver-binding-linux-arm64-gnu': 1.9.0 3532 | '@unrs/resolver-binding-linux-arm64-musl': 1.9.0 3533 | '@unrs/resolver-binding-linux-ppc64-gnu': 1.9.0 3534 | '@unrs/resolver-binding-linux-riscv64-gnu': 1.9.0 3535 | '@unrs/resolver-binding-linux-riscv64-musl': 1.9.0 3536 | '@unrs/resolver-binding-linux-s390x-gnu': 1.9.0 3537 | '@unrs/resolver-binding-linux-x64-gnu': 1.9.0 3538 | '@unrs/resolver-binding-linux-x64-musl': 1.9.0 3539 | '@unrs/resolver-binding-wasm32-wasi': 1.9.0 3540 | '@unrs/resolver-binding-win32-arm64-msvc': 1.9.0 3541 | '@unrs/resolver-binding-win32-ia32-msvc': 1.9.0 3542 | '@unrs/resolver-binding-win32-x64-msvc': 1.9.0 3543 | 3544 | untyped@2.0.0: 3545 | dependencies: 3546 | citty: 0.1.6 3547 | defu: 6.1.4 3548 | jiti: 2.4.2 3549 | knitwork: 1.2.0 3550 | scule: 1.3.0 3551 | 3552 | update-browserslist-db@1.1.3(browserslist@4.25.0): 3553 | dependencies: 3554 | browserslist: 4.25.0 3555 | escalade: 3.2.0 3556 | picocolors: 1.1.1 3557 | 3558 | uri-js@4.4.1: 3559 | dependencies: 3560 | punycode: 2.3.1 3561 | 3562 | util-deprecate@1.0.2: {} 3563 | 3564 | which@2.0.2: 3565 | dependencies: 3566 | isexe: 2.0.0 3567 | 3568 | word-wrap@1.2.5: {} 3569 | 3570 | yocto-queue@0.1.0: {} 3571 | 3572 | zod@3.25.67: {} 3573 | --------------------------------------------------------------------------------