├── 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 |
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 |
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 | [](https://www.npmjs.com/package/create-react-boilerplates)
4 | [](https://github.com/sj-distributor/create-react-boilerplates/blob/main/LICENSE)
5 | [](https://github.com/nodejs/release#release-schedule)
6 | [](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 |
--------------------------------------------------------------------------------