优化生成icon脚本

This commit is contained in:
Hooray
2025-06-04 14:09:22 +08:00
parent a0821be5d7
commit 0d7317eb44
4 changed files with 137 additions and 362 deletions
+3 -3
View File
@@ -9,7 +9,7 @@
"serve:example": "http-server ./dist-example -o",
"svgo": "svgo -f src/assets/icons",
"new": "plop",
"generate:icons": "esno ./scripts/generate.icons.ts",
"generate:icons": "tsx ./scripts/generate.icons.ts",
"lint": "npm-run-all -s lint:tsc lint:eslint lint:stylelint",
"lint:tsc": "vue-tsc -b",
"lint:eslint": "eslint . --cache --fix",
@@ -74,6 +74,7 @@
},
"devDependencies": {
"@antfu/eslint-config": "^4.13.2",
"@clack/prompts": "^0.11.0",
"@faker-js/faker": "^9.8.0",
"@iconify/json": "^2.2.345",
"@iconify/vue": "^5.0.0",
@@ -92,10 +93,8 @@
"autoprefixer": "^10.4.21",
"boxen": "^8.0.1",
"eslint": "^9.28.0",
"esno": "^4.8.0",
"fs-extra": "^11.3.0",
"http-server": "^14.1.1",
"inquirer": "^12.6.3",
"lint-staged": "^16.1.0",
"npm-run-all2": "^8.0.4",
"picocolors": "^1.1.1",
@@ -111,6 +110,7 @@
"stylelint-scss": "^6.12.0",
"svgo": "^3.3.2",
"taze": "^19.1.0",
"tsx": "^4.19.4",
"typescript": "^5.8.3",
"unocss": "^66.1.3",
"unocss-preset-animations": "^1.2.1",
+84 -339
View File
@@ -168,6 +168,9 @@ importers:
'@antfu/eslint-config':
specifier: ^4.13.2
version: 4.13.2(@unocss/eslint-plugin@66.1.3(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3))(@vue/compiler-sfc@3.5.16)(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)
'@clack/prompts':
specifier: ^0.11.0
version: 0.11.0
'@faker-js/faker':
specifier: ^9.8.0
version: 9.8.0
@@ -203,13 +206,13 @@ importers:
version: 66.1.3
'@vitejs/plugin-legacy':
specifier: ^6.1.1
version: 6.1.1(terser@5.39.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))
version: 6.1.1(terser@5.39.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))
'@vitejs/plugin-vue':
specifier: ^5.2.4
version: 5.2.4(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
version: 5.2.4(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
'@vitejs/plugin-vue-jsx':
specifier: ^4.2.0
version: 4.2.0(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
version: 4.2.0(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
'@vue/tsconfig':
specifier: ^0.7.0
version: 0.7.0(typescript@5.8.3)(vue@3.5.16(typescript@5.8.3))
@@ -222,18 +225,12 @@ importers:
eslint:
specifier: ^9.28.0
version: 9.28.0(jiti@2.4.2)
esno:
specifier: ^4.8.0
version: 4.8.0
fs-extra:
specifier: ^11.3.0
version: 11.3.0
http-server:
specifier: ^14.1.1
version: 14.1.1
inquirer:
specifier: ^12.6.3
version: 12.6.3(@types/node@22.13.10)
lint-staged:
specifier: ^16.1.0
version: 16.1.0
@@ -279,27 +276,30 @@ importers:
taze:
specifier: ^19.1.0
version: 19.1.0
tsx:
specifier: ^4.19.4
version: 4.19.4
typescript:
specifier: ^5.8.3
version: 5.8.3
unocss:
specifier: ^66.1.3
version: 66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
version: 66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
unocss-preset-animations:
specifier: ^1.2.1
version: 1.2.1(@unocss/preset-wind3@66.1.3)(unocss@66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)))
version: 1.2.1(@unocss/preset-wind3@66.1.3)(unocss@66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)))
unplugin-auto-import:
specifier: ^19.3.0
version: 19.3.0(@vueuse/core@13.3.0(vue@3.5.16(typescript@5.8.3)))
unplugin-turbo-console:
specifier: ^2.1.3
version: 2.1.3(esbuild@0.25.1)(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
version: 2.1.3(esbuild@0.25.1)(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
unplugin-vue-components:
specifier: ^28.7.0
version: 28.7.0(@babel/parser@7.27.3)(vue@3.5.16(typescript@5.8.3))
vite:
specifier: ^6.3.5
version: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
version: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
vite-plugin-app-loading:
specifier: ^0.3.1
version: 0.3.1
@@ -311,25 +311,25 @@ importers:
version: 0.8.1
vite-plugin-compression2:
specifier: ^1.4.0
version: 1.4.0(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))
version: 1.4.0(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))
vite-plugin-env-parse:
specifier: ^1.0.15
version: 1.0.15(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))
version: 1.0.15(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))
vite-plugin-fake-server:
specifier: ^2.2.0
version: 2.2.0
vite-plugin-pages:
specifier: ^0.33.0
version: 0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3)))
version: 0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3)))
vite-plugin-svg-icons:
specifier: ^2.0.1
version: 2.0.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))
version: 2.0.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))
vite-plugin-vue-devtools:
specifier: ^7.7.6
version: 7.7.6(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
version: 7.7.6(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
vite-plugin-vue-meta-layouts:
specifier: ^0.5.1
version: 0.5.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3)))
version: 0.5.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3)))
vue-tsc:
specifier: ^2.2.10
version: 2.2.10(typescript@5.8.3)
@@ -1131,9 +1131,15 @@ packages:
'@clack/core@0.4.2':
resolution: {integrity: sha512-NYQfcEy8MWIxrT5Fj8nIVchfRFA26yYKJcvBS7WlUIlw2OmQOY9DhGGXMovyI5J5PpxrCPGkgUi207EBrjpBvg==}
'@clack/core@0.5.0':
resolution: {integrity: sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==}
'@clack/prompts@0.10.1':
resolution: {integrity: sha512-Q0T02vx8ZM9XSv9/Yde0jTmmBQufZhPJfYAg2XrrrxWWaZgq1rr8nU8Hv710BQ1dhoP8rtY7YUdpGej2Qza/cw==}
'@clack/prompts@0.11.0':
resolution: {integrity: sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==}
'@csstools/css-parser-algorithms@3.0.4':
resolution: {integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==}
engines: {node: '>=18'}
@@ -1612,131 +1618,10 @@ packages:
peerDependencies:
vue: '>=3'
'@inquirer/checkbox@4.1.8':
resolution: {integrity: sha512-d/QAsnwuHX2OPolxvYcgSj7A9DO9H6gVOy2DvBTx+P2LH2iRTo/RSGV3iwCzW024nP9hw98KIuDmdyhZQj1UQg==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/confirm@5.1.12':
resolution: {integrity: sha512-dpq+ielV9/bqgXRUbNH//KsY6WEw9DrGPmipkpmgC1Y46cwuBTNx7PXFWTjc3MQ+urcc0QxoVHcMI0FW4Ok0hg==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/core@10.1.13':
resolution: {integrity: sha512-1viSxebkYN2nJULlzCxES6G9/stgHSepZ9LqqfdIGPHj5OHhiBUXVS0a6R0bEC2A+VL4D9w6QB66ebCr6HGllA==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/editor@4.2.13':
resolution: {integrity: sha512-WbicD9SUQt/K8O5Vyk9iC2ojq5RHoCLK6itpp2fHsWe44VxxcA9z3GTWlvjSTGmMQpZr+lbVmrxdHcumJoLbMA==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/expand@4.0.15':
resolution: {integrity: sha512-4Y+pbr/U9Qcvf+N/goHzPEXiHH8680lM3Dr3Y9h9FFw4gHS+zVpbj8LfbKWIb/jayIB4aSO4pWiBTrBYWkvi5A==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/figures@1.0.11':
resolution: {integrity: sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==}
engines: {node: '>=18'}
'@inquirer/figures@1.0.12':
resolution: {integrity: sha512-MJttijd8rMFcKJC8NYmprWr6hD3r9Gd9qUC0XwPNwoEPWSMVJwA2MlXxF+nhZZNMY+HXsWa+o7KY2emWYIn0jQ==}
engines: {node: '>=18'}
'@inquirer/input@4.1.12':
resolution: {integrity: sha512-xJ6PFZpDjC+tC1P8ImGprgcsrzQRsUh9aH3IZixm1lAZFK49UGHxM3ltFfuInN2kPYNfyoPRh+tU4ftsjPLKqQ==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/number@3.0.15':
resolution: {integrity: sha512-xWg+iYfqdhRiM55MvqiTCleHzszpoigUpN5+t1OMcRkJrUrw7va3AzXaxvS+Ak7Gny0j2mFSTv2JJj8sMtbV2g==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/password@4.0.15':
resolution: {integrity: sha512-75CT2p43DGEnfGTaqFpbDC2p2EEMrq0S+IRrf9iJvYreMy5mAWj087+mdKyLHapUEPLjN10mNvABpGbk8Wdraw==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/prompts@7.5.3':
resolution: {integrity: sha512-8YL0WiV7J86hVAxrh3fE5mDCzcTDe1670unmJRz6ArDgN+DBK1a0+rbnNWp4DUB5rPMwqD5ZP6YHl9KK1mbZRg==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/rawlist@4.1.3':
resolution: {integrity: sha512-7XrV//6kwYumNDSsvJIPeAqa8+p7GJh7H5kRuxirct2cgOcSWwwNGoXDRgpNFbY/MG2vQ4ccIWCi8+IXXyFMZA==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/search@3.0.15':
resolution: {integrity: sha512-YBMwPxYBrADqyvP4nNItpwkBnGGglAvCLVW8u4pRmmvOsHUtCAUIMbUrLX5B3tFL1/WsLGdQ2HNzkqswMs5Uaw==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/select@4.2.3':
resolution: {integrity: sha512-OAGhXU0Cvh0PhLz9xTF/kx6g6x+sP+PcyTiLvCrewI99P3BBeexD+VbuwkNDvqGkk3y2h5ZiWLeRP7BFlhkUDg==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@inquirer/type@3.0.7':
resolution: {integrity: sha512-PfunHQcjwnju84L+ycmcMKB/pTPIngjUJvfnRhKY6FKPuYXlM4aQCb/nIdTFR6BEhMjFvngzvng/vBAJMZpLSA==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
'@internationalized/date@3.7.0':
resolution: {integrity: sha512-VJ5WS3fcVx0bejE/YHfbDKR/yawZgKqn/if+oEeLqNwBtPzVB06olkfcnojTmEMX+gTpH+FlQ69SHNitJ8/erQ==}
@@ -3972,10 +3857,6 @@ packages:
jiti:
optional: true
esno@4.8.0:
resolution: {integrity: sha512-acMtooReAQGzLU0zcuEDHa8S62meh5aIyi8jboYxyvAePdmuWx2Mpwmt0xjwO0bs9/SXf+dvXJ0QJoDWw814Iw==}
hasBin: true
espree@10.3.0:
resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
@@ -4589,15 +4470,6 @@ packages:
ini@1.3.8:
resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==}
inquirer@12.6.3:
resolution: {integrity: sha512-eX9beYAjr1MqYsIjx1vAheXsRk1jbZRvHLcBu5nA9wX0rXR1IfCZLnVLp4Ym4mrhqmh7AuANwcdtgQ291fZDfQ==}
engines: {node: '>=18'}
peerDependencies:
'@types/node': '>=18'
peerDependenciesMeta:
'@types/node':
optional: true
inquirer@9.3.7:
resolution: {integrity: sha512-LJKFHCSeIRq9hanN14IlOtPSTe3lNES7TYDTE2xxdAy1LS5rYphajK1qtwvj3YmQXvvk0U2Vbmcni8P9EIQW9w==}
engines: {node: '>=18'}
@@ -5534,10 +5406,6 @@ packages:
resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==}
engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0}
mute-stream@2.0.0:
resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
engines: {node: ^18.17.0 || >=20.5.0}
nano-spawn@1.0.2:
resolution: {integrity: sha512-21t+ozMQDAL/UGgQVBbZ/xXvNO10++ZPuTmKRO8k9V3AClVRht49ahtDjfY8l1q6nSHOrE5ASfthzH3ol6R/hg==}
engines: {node: '>=20.17'}
@@ -6995,8 +6863,8 @@ packages:
tslib@2.8.1:
resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
tsx@4.19.3:
resolution: {integrity: sha512-4H8vUNGNjQ4V2EOoGw005+c+dGuPSnhpPBPHBtsZdGZBk/iJb4kguGlPWaZTZ3q5nMtFOEsY0nRDlh9PJyd6SQ==}
tsx@4.19.4:
resolution: {integrity: sha512-gK5GVzDkJK1SI1zwHf32Mqxf2tSJkNx+eYcNly5+nHvWqXUJYUkWBQtKauoESz3ymezAI++ZwT855x5p5eop+Q==}
engines: {node: '>=18.0.0'}
hasBin: true
@@ -8847,12 +8715,23 @@ snapshots:
picocolors: 1.1.1
sisteransi: 1.0.5
'@clack/core@0.5.0':
dependencies:
picocolors: 1.1.1
sisteransi: 1.0.5
'@clack/prompts@0.10.1':
dependencies:
'@clack/core': 0.4.2
picocolors: 1.1.1
sisteransi: 1.0.5
'@clack/prompts@0.11.0':
dependencies:
'@clack/core': 0.5.0
picocolors: 1.1.1
sisteransi: 1.0.5
'@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)':
dependencies:
'@csstools/css-tokenizer': 3.0.3
@@ -9203,124 +9082,8 @@ snapshots:
'@iconify/types': 2.0.0
vue: 3.5.16(typescript@5.8.3)
'@inquirer/checkbox@4.1.8(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/figures': 1.0.12
'@inquirer/type': 3.0.7(@types/node@22.13.10)
ansi-escapes: 4.3.2
yoctocolors-cjs: 2.1.2
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/confirm@5.1.12(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/type': 3.0.7(@types/node@22.13.10)
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/core@10.1.13(@types/node@22.13.10)':
dependencies:
'@inquirer/figures': 1.0.12
'@inquirer/type': 3.0.7(@types/node@22.13.10)
ansi-escapes: 4.3.2
cli-width: 4.1.0
mute-stream: 2.0.0
signal-exit: 4.1.0
wrap-ansi: 6.2.0
yoctocolors-cjs: 2.1.2
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/editor@4.2.13(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/type': 3.0.7(@types/node@22.13.10)
external-editor: 3.1.0
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/expand@4.0.15(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/type': 3.0.7(@types/node@22.13.10)
yoctocolors-cjs: 2.1.2
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/figures@1.0.11': {}
'@inquirer/figures@1.0.12': {}
'@inquirer/input@4.1.12(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/type': 3.0.7(@types/node@22.13.10)
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/number@3.0.15(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/type': 3.0.7(@types/node@22.13.10)
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/password@4.0.15(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/type': 3.0.7(@types/node@22.13.10)
ansi-escapes: 4.3.2
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/prompts@7.5.3(@types/node@22.13.10)':
dependencies:
'@inquirer/checkbox': 4.1.8(@types/node@22.13.10)
'@inquirer/confirm': 5.1.12(@types/node@22.13.10)
'@inquirer/editor': 4.2.13(@types/node@22.13.10)
'@inquirer/expand': 4.0.15(@types/node@22.13.10)
'@inquirer/input': 4.1.12(@types/node@22.13.10)
'@inquirer/number': 3.0.15(@types/node@22.13.10)
'@inquirer/password': 4.0.15(@types/node@22.13.10)
'@inquirer/rawlist': 4.1.3(@types/node@22.13.10)
'@inquirer/search': 3.0.15(@types/node@22.13.10)
'@inquirer/select': 4.2.3(@types/node@22.13.10)
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/rawlist@4.1.3(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/type': 3.0.7(@types/node@22.13.10)
yoctocolors-cjs: 2.1.2
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/search@3.0.15(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/figures': 1.0.12
'@inquirer/type': 3.0.7(@types/node@22.13.10)
yoctocolors-cjs: 2.1.2
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/select@4.2.3(@types/node@22.13.10)':
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/figures': 1.0.12
'@inquirer/type': 3.0.7(@types/node@22.13.10)
ansi-escapes: 4.3.2
yoctocolors-cjs: 2.1.2
optionalDependencies:
'@types/node': 22.13.10
'@inquirer/type@3.0.7(@types/node@22.13.10)':
optionalDependencies:
'@types/node': 22.13.10
'@internationalized/date@3.7.0':
dependencies:
'@swc/helpers': 0.5.15
@@ -9823,13 +9586,13 @@ snapshots:
'@typescript-eslint/types': 8.32.1
eslint-visitor-keys: 4.2.0
'@unocss/astro@66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
'@unocss/astro@66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
dependencies:
'@unocss/core': 66.1.3
'@unocss/reset': 66.1.3
'@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
'@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
optionalDependencies:
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- vue
@@ -9977,7 +9740,7 @@ snapshots:
dependencies:
'@unocss/core': 66.1.3
'@unocss/vite@66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
'@unocss/vite@66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
dependencies:
'@ampproject/remapping': 2.3.0
'@unocss/config': 66.1.3
@@ -9988,7 +9751,7 @@ snapshots:
pathe: 2.0.3
tinyglobby: 0.2.14
unplugin-utils: 0.2.4
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- vue
@@ -10196,7 +9959,7 @@ snapshots:
'@turf/invariant': 6.5.0
eventemitter3: 4.0.7
'@vitejs/plugin-legacy@6.1.1(terser@5.39.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))':
'@vitejs/plugin-legacy@6.1.1(terser@5.39.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))':
dependencies:
'@babel/core': 7.26.10
'@babel/preset-env': 7.26.9(@babel/core@7.26.10)
@@ -10207,24 +9970,24 @@ snapshots:
regenerator-runtime: 0.14.1
systemjs: 6.15.1
terser: 5.39.0
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue-jsx@4.2.0(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
'@vitejs/plugin-vue-jsx@4.2.0(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
dependencies:
'@babel/core': 7.27.3
'@babel/plugin-transform-typescript': 7.27.1(@babel/core@7.27.3)
'@rolldown/pluginutils': 1.0.0-beta.10
'@vue/babel-plugin-jsx': 1.4.0(@babel/core@7.27.3)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
vue: 3.5.16(typescript@5.8.3)
transitivePeerDependencies:
- supports-color
'@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
'@vitejs/plugin-vue@5.2.4(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
dependencies:
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
vue: 3.5.16(typescript@5.8.3)
'@vitest/eslint-plugin@1.2.1(eslint@9.28.0(jiti@2.4.2))(typescript@5.8.3)':
@@ -10393,14 +10156,14 @@ snapshots:
dependencies:
'@vue/devtools-kit': 7.7.2
'@vue/devtools-core@7.7.6(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
'@vue/devtools-core@7.7.6(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))':
dependencies:
'@vue/devtools-kit': 7.7.6
'@vue/devtools-shared': 7.7.6
mitt: 3.0.1
nanoid: 5.1.3
pathe: 2.0.3
vite-hot-client: 2.0.4(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))
vite-hot-client: 2.0.4(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))
vue: 3.5.16(typescript@5.8.3)
transitivePeerDependencies:
- vite
@@ -11963,10 +11726,6 @@ snapshots:
transitivePeerDependencies:
- supports-color
esno@4.8.0:
dependencies:
tsx: 4.19.3
espree@10.3.0:
dependencies:
acorn: 8.14.1
@@ -12680,18 +12439,6 @@ snapshots:
ini@1.3.8: {}
inquirer@12.6.3(@types/node@22.13.10):
dependencies:
'@inquirer/core': 10.1.13(@types/node@22.13.10)
'@inquirer/prompts': 7.5.3(@types/node@22.13.10)
'@inquirer/type': 3.0.7(@types/node@22.13.10)
ansi-escapes: 4.3.2
mute-stream: 2.0.0
run-async: 3.0.0
rxjs: 7.8.2
optionalDependencies:
'@types/node': 22.13.10
inquirer@9.3.7:
dependencies:
'@inquirer/figures': 1.0.11
@@ -13935,8 +13682,6 @@ snapshots:
mute-stream@1.0.0: {}
mute-stream@2.0.0: {}
nano-spawn@1.0.2: {}
nanoid@3.3.11: {}
@@ -15573,10 +15318,10 @@ snapshots:
tslib@2.8.1: {}
tsx@4.19.3:
tsx@4.19.4:
dependencies:
esbuild: 0.25.1
get-tsconfig: 4.10.0
get-tsconfig: 4.10.1
optionalDependencies:
fsevents: 2.3.3
@@ -15784,15 +15529,15 @@ snapshots:
universalify@2.0.1: {}
unocss-preset-animations@1.2.1(@unocss/preset-wind3@66.1.3)(unocss@66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))):
unocss-preset-animations@1.2.1(@unocss/preset-wind3@66.1.3)(unocss@66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))):
dependencies:
unocss: 66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
unocss: 66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
optionalDependencies:
'@unocss/preset-wind3': 66.1.3
unocss@66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)):
unocss@66.1.3(postcss@8.5.4)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)):
dependencies:
'@unocss/astro': 66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
'@unocss/astro': 66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
'@unocss/cli': 66.1.3
'@unocss/core': 66.1.3
'@unocss/postcss': 66.1.3(postcss@8.5.4)
@@ -15810,9 +15555,9 @@ snapshots:
'@unocss/transformer-compile-class': 66.1.3
'@unocss/transformer-directives': 66.1.3
'@unocss/transformer-variant-group': 66.1.3
'@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
'@unocss/vite': 66.1.3(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
optionalDependencies:
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- postcss
- supports-color
@@ -15829,7 +15574,7 @@ snapshots:
optionalDependencies:
'@vueuse/core': 13.3.0(vue@3.5.16(typescript@5.8.3))
unplugin-turbo-console@2.1.3(esbuild@0.25.1)(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)):
unplugin-turbo-console@2.1.3(esbuild@0.25.1)(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)):
dependencies:
alien-signals: 1.0.13
estree-walker: 3.0.3
@@ -15844,7 +15589,7 @@ snapshots:
optionalDependencies:
esbuild: 0.25.1
rollup: 4.35.0
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
vue: 3.5.16(typescript@5.8.3)
unplugin-utils@0.2.4:
@@ -15976,9 +15721,9 @@ snapshots:
unist-util-stringify-position: 3.0.3
vfile-message: 3.1.4
vite-hot-client@2.0.4(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)):
vite-hot-client@2.0.4(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)):
dependencies:
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
vite-plugin-app-loading@0.3.1: {}
@@ -15991,17 +15736,17 @@ snapshots:
vite-plugin-banner@0.8.1: {}
vite-plugin-compression2@1.4.0(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)):
vite-plugin-compression2@1.4.0(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)):
dependencies:
'@rollup/pluginutils': 5.1.4(rollup@4.35.0)
tar-mini: 0.2.0
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- rollup
vite-plugin-env-parse@1.0.15(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)):
vite-plugin-env-parse@1.0.15(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)):
dependencies:
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
vite-plugin-fake-server@2.2.0:
dependencies:
@@ -16011,7 +15756,7 @@ snapshots:
picocolors: 1.1.1
tinyglobby: 0.2.12
vite-plugin-inspect@0.8.9(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)):
vite-plugin-inspect@0.8.9(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)):
dependencies:
'@antfu/utils': 0.7.10
'@rollup/pluginutils': 5.1.4(rollup@4.35.0)
@@ -16022,12 +15767,12 @@ snapshots:
perfect-debounce: 1.0.0
picocolors: 1.1.1
sirv: 3.0.1
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- rollup
- supports-color
vite-plugin-pages@0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))):
vite-plugin-pages@0.33.0(@vue/compiler-sfc@3.5.16)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))):
dependencies:
'@types/debug': 4.1.12
debug: 4.4.0
@@ -16038,7 +15783,7 @@ snapshots:
micromatch: 4.0.8
picocolors: 1.1.1
tinyglobby: 0.2.12
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
yaml: 2.7.0
optionalDependencies:
'@vue/compiler-sfc': 3.5.16
@@ -16046,7 +15791,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
vite-plugin-svg-icons@2.0.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)):
vite-plugin-svg-icons@2.0.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)):
dependencies:
'@types/svgo': 2.6.4
cors: 2.8.5
@@ -16056,27 +15801,27 @@ snapshots:
pathe: 0.2.0
svg-baker: 1.7.0
svgo: 2.8.0
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- supports-color
vite-plugin-vue-devtools@7.7.6(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)):
vite-plugin-vue-devtools@7.7.6(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3)):
dependencies:
'@vue/devtools-core': 7.7.6(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
'@vue/devtools-core': 7.7.6(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue@3.5.16(typescript@5.8.3))
'@vue/devtools-kit': 7.7.6
'@vue/devtools-shared': 7.7.6
execa: 9.5.2
sirv: 3.0.1
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite-plugin-inspect: 0.8.9(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))
vite-plugin-vue-inspector: 5.3.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
vite-plugin-inspect: 0.8.9(rollup@4.35.0)(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))
vite-plugin-vue-inspector: 5.3.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))
transitivePeerDependencies:
- '@nuxt/kit'
- rollup
- supports-color
- vue
vite-plugin-vue-inspector@5.3.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)):
vite-plugin-vue-inspector@5.3.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)):
dependencies:
'@babel/core': 7.26.9
'@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.9)
@@ -16087,17 +15832,17 @@ snapshots:
'@vue/compiler-dom': 3.5.13
kolorist: 1.8.0
magic-string: 0.30.17
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
transitivePeerDependencies:
- supports-color
vite-plugin-vue-meta-layouts@0.5.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))):
vite-plugin-vue-meta-layouts@0.5.1(vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0))(vue-router@4.5.1(vue@3.5.16(typescript@5.8.3))):
dependencies:
local-pkg: 0.5.1
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0)
vite: 6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0)
vue-router: 4.5.1(vue@3.5.16(typescript@5.8.3))
vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.3)(yaml@2.8.0):
vite@6.3.5(@types/node@22.13.10)(jiti@2.4.2)(sass-embedded@1.89.1)(terser@5.39.0)(tsx@4.19.4)(yaml@2.8.0):
dependencies:
esbuild: 0.25.1
fdir: 6.4.4(picomatch@4.0.2)
@@ -16111,7 +15856,7 @@ snapshots:
jiti: 2.4.2
sass-embedded: 1.89.1
terser: 5.39.0
tsx: 4.19.3
tsx: 4.19.4
yaml: 2.8.0
vscode-uri@3.1.0: {}
+49 -19
View File
@@ -1,8 +1,8 @@
import { exec } from 'node:child_process'
import { spawn } from 'node:child_process'
import path from 'node:path'
import process from 'node:process'
import * as p from '@clack/prompts'
import { lookupCollection, lookupCollections } from '@iconify/json'
import { checkbox, confirm } from '@inquirer/prompts'
import fs from 'fs-extra'
// 拿到全部图标集的原始数据
@@ -11,32 +11,45 @@ const raw = await lookupCollections()
let lastChoose = fs.readFileSync(path.resolve(process.cwd(), 'src/iconify/index.json'), 'utf-8')
lastChoose = JSON.parse(lastChoose)
// 取出可使用的图标集数据用于 inquirer 选择,并按名称排序
// 取出可使用的图标集数据用于选择,并按名称排序
const collections = Object.entries(raw).map(([id, item]) => ({
...item,
id,
})).sort((a, b) => a.name.localeCompare(b.name))
p.intro('图标集生成工具')
/**
* 分别会在对应目录下生成以下文件,其中(1)(3)用于离线下载并安装图标,(2)用于图标选择器使用
* (1) src/iconify/index.json 记录用户 inquirer 的交互信息
* (1) src/iconify/index.json 记录用户交互信息
* (2) src/iconify/data.json 包含多个图标集数据,仅记录图标名
* (3) public/icons/*-raw.json 多个图标集的原始数据,独立存放,用于离线使用
*/
const answers = {
collections: await checkbox({
message: '请选择需要生成的图标集',
choices: collections.map(item => ({
name: `${item.name} (${item.total} icons)`,
value: item.id,
checked: lastChoose.collections.includes(item.id),
})),
}),
isOfflineUse: await confirm({
message: '是否需要离线使用',
default: false,
}),
}
const answers = await p.group(
{
collections: () =>
p.multiselect({
message: '请选择需要生成的图标集',
options: collections.map(item => ({
label: item.name,
value: item.id,
hint: `${item.total} 个图标`,
})),
initialValues: lastChoose.collections,
}),
isOfflineUse: () =>
p.confirm({
message: '是否需要离线使用',
initialValue: false,
}),
},
{
onCancel: () => {
p.cancel('操作已取消')
process.exit(0)
},
},
)
await fs.writeJSON(
path.resolve(process.cwd(), 'src/iconify/index.json'),
@@ -72,4 +85,21 @@ await fs.writeJSON(
collectionsMeta,
)
exec('eslint src/iconify/data.json src/iconify/index.json --cache --fix')
// 使用 spawn 运行 eslint
const eslint = spawn('eslint', ['src/iconify/data.json', 'src/iconify/index.json', '--cache', '--fix'], {
stdio: 'inherit',
shell: true,
})
eslint.on('error', (err) => {
p.log.error(`ESLint 执行失败: ${err.message}`)
process.exit(1)
})
eslint.on('close', (code) => {
if (code !== 0) {
p.log.error(`ESLint 执行失败,退出码: ${code}`)
process.exit(code)
}
p.outro('图标集生成完成!')
})
File diff suppressed because one or more lines are too long