feat: 更新 VSCode 配置,添加 oxc 插件,调整 eslint 配置,优化构建和类型检查命令
Some checks failed
/ playwright (push) Failing after 2m19s
/ depcheck (push) Successful in 1m30s
/ build-and-deploy-to-vercel (push) Successful in 1m29s

This commit is contained in:
严浩
2024-12-25 23:44:18 +08:00
parent eed0f4f3f4
commit 49e18facda
12 changed files with 341 additions and 168 deletions

View File

@ -13,6 +13,7 @@ jobs:
- run: pnpm run build-only # 先 build保证 components.d.ts 存在 - run: pnpm run build-only # 先 build保证 components.d.ts 存在
- run: pnpm run type-check - run: pnpm run type-check
- run: cat .npmrc
- name: 修改 .npmrc - name: 修改 .npmrc
run: | run: |
sed -i '/use-node-version/d' .npmrc; sed -i '/use-node-version/d' .npmrc;

View File

@ -4,6 +4,7 @@
"dbaeumer.vscode-eslint", "dbaeumer.vscode-eslint",
"esbenp.prettier-vscode", "esbenp.prettier-vscode",
"simonhe.common-intellisense", "simonhe.common-intellisense",
"antfu.file-nesting" "antfu.file-nesting",
"oxc.oxc-vscode"
] ]
} }

View File

@ -2,6 +2,7 @@
"editor.codeActionsOnSave": { "editor.codeActionsOnSave": {
// "source.fixAll.eslint": "explicit", // "source.fixAll.eslint": "explicit",
// "source.organizeImports": "explicit" // "source.organizeImports": "explicit"
"source.fixAll.oxc": "explicit"
}, },
"editor.formatOnSave": true, "editor.formatOnSave": true,
// "editor.formatOnSaveMode": "modificationsIfAvailable", // 只格式化修改的部分 // "editor.formatOnSaveMode": "modificationsIfAvailable", // 只格式化修改的部分

43
eslint.config.js Normal file
View File

@ -0,0 +1,43 @@
import { includeIgnoreFile } from '@eslint/compat';
import pluginVitest from '@vitest/eslint-plugin';
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';
import vueTsEslintConfig from '@vue/eslint-config-typescript';
import oxlint from 'eslint-plugin-oxlint';
import pluginVue from 'eslint-plugin-vue';
import path from 'node:path';
import { fileURLToPath } from 'node:url';
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const gitignorePath = path.resolve(__dirname, '.gitignore');
/**
* @type import('eslint').Linter.Config[]
*/
export default [
includeIgnoreFile(gitignorePath), // oxlint . --fix -D correctness --ignore-path .gitignore
{
name: 'app/files-to-lint',
files: ['**/*.{ts,mts,tsx,vue}'],
},
{
name: 'app/files-to-ignore',
ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
},
...pluginVue.configs['flat/essential'],
...vueTsEslintConfig({ supportedScriptLangs: { ts: true, tsx: true } }),
{
...pluginVitest.configs.recommended,
files: ['src/**/__tests__/*'],
},
oxlint.configs['flat/recommended'],
skipFormatting,
{
rules: {
'vue/multi-word-component-names': 'off',
'@typescript-eslint/no-explicit-any': 'off',
},
},
];

View File

@ -34,11 +34,4 @@ export default [
}), }),
skipFormatting, skipFormatting,
{
rules: {
'vue/multi-word-component-names': 'off',
'@typescript-eslint/no-explicit-any': 'off',
},
},
]; ];

View File

@ -8,8 +8,10 @@
"dev": "vite", "dev": "vite",
"build": "run-p type-check \"build-only {@}\" --", "build": "run-p type-check \"build-only {@}\" --",
"build-only": "vite build", "build-only": "vite build",
"type-check": "vue-tsc --build --force", "type-check": "vue-tsc --build",
"lint": "eslint . --fix", "lint:oxlint": "oxlint . --fix -D correctness --ignore-path .gitignore",
"lint:eslint": "eslint . --fix",
"lint": "run-s lint:*",
"format": "prettier --write src/", "format": "prettier --write src/",
"prepare": "husky", "prepare": "husky",
"playwright": "playwright test", "playwright": "playwright test",
@ -40,6 +42,7 @@
"@vueuse/core": "^12.2.0", "@vueuse/core": "^12.2.0",
"alova": "^3.2.7", "alova": "^3.2.7",
"axios": "^1.7.9", "axios": "^1.7.9",
"consola": "^3.3.1",
"dayjs": "^1.11.13", "dayjs": "^1.11.13",
"jsencrypt": "^3.3.2", "jsencrypt": "^3.3.2",
"mitt": "^3.0.1", "mitt": "^3.0.1",
@ -73,12 +76,13 @@
"@types/jsdom": "^21.1.7", "@types/jsdom": "^21.1.7",
"@types/node": "^22.10.2", "@types/node": "^22.10.2",
"@types/nprogress": "^0.2.3", "@types/nprogress": "^0.2.3",
"@unocss/preset-rem-to-px": "^0.65.2", "@unocss/preset-rem-to-px": "^0.65.3",
"@vant/auto-import-resolver": "^1.2.1", "@vant/auto-import-resolver": "^1.2.1",
"@vitejs/plugin-vue": "^5.2.1", "@vitejs/plugin-vue": "^5.2.1",
"@vitejs/plugin-vue-jsx": "^4.1.1", "@vitejs/plugin-vue-jsx": "^4.1.1",
"@vitest/eslint-plugin": "^1.1.20",
"@vue/eslint-config-prettier": "^10.1.0", "@vue/eslint-config-prettier": "^10.1.0",
"@vue/eslint-config-typescript": "^14.1.4", "@vue/eslint-config-typescript": "^14.2.0",
"@vue/test-utils": "^2.4.6", "@vue/test-utils": "^2.4.6",
"@vue/tsconfig": "^0.7.0", "@vue/tsconfig": "^0.7.0",
"commitizen": "^4.3.1", "commitizen": "^4.3.1",
@ -86,6 +90,7 @@
"depcheck": "^1.4.7", "depcheck": "^1.4.7",
"eruda": "^3.4.1", "eruda": "^3.4.1",
"eslint": "^9.17.0", "eslint": "^9.17.0",
"eslint-plugin-oxlint": "^0.15.2",
"eslint-plugin-vue": "^9.32.0", "eslint-plugin-vue": "^9.32.0",
"husky": "^9.1.7", "husky": "^9.1.7",
"jsdom": "^25.0.1", "jsdom": "^25.0.1",
@ -93,11 +98,12 @@
"lint-staged": "^15.2.11", "lint-staged": "^15.2.11",
"mockjs": "^1.1.0", "mockjs": "^1.1.0",
"npm-run-all2": "^7.0.2", "npm-run-all2": "^7.0.2",
"oxlint": "^0.15.3",
"prettier": "^3.4.2", "prettier": "^3.4.2",
"sass-embedded": "^1.83.0", "sass-embedded": "^1.83.0",
"surge": "^0.24.6", "surge": "^0.24.6",
"typescript": "~5.7.2", "typescript": "~5.7.2",
"unocss": "^0.65.2", "unocss": "^0.65.3",
"unplugin-auto-import": "^0.19.0", "unplugin-auto-import": "^0.19.0",
"unplugin-icons": "^0.22.0", "unplugin-icons": "^0.22.0",
"unplugin-vue-components": "^0.28.0", "unplugin-vue-components": "^0.28.0",

426
pnpm-lock.yaml generated
View File

@ -38,6 +38,9 @@ importers:
axios: axios:
specifier: ^1.7.9 specifier: ^1.7.9
version: 1.7.9 version: 1.7.9
consola:
specifier: ^3.3.1
version: 3.3.1
dayjs: dayjs:
specifier: ^1.11.13 specifier: ^1.11.13
version: 1.11.13 version: 1.11.13
@ -133,8 +136,8 @@ importers:
specifier: ^0.2.3 specifier: ^0.2.3
version: 0.2.3 version: 0.2.3
'@unocss/preset-rem-to-px': '@unocss/preset-rem-to-px':
specifier: ^0.65.2 specifier: ^0.65.3
version: 0.65.2 version: 0.65.3
'@vant/auto-import-resolver': '@vant/auto-import-resolver':
specifier: ^1.2.1 specifier: ^1.2.1
version: 1.2.1 version: 1.2.1
@ -144,12 +147,15 @@ importers:
'@vitejs/plugin-vue-jsx': '@vitejs/plugin-vue-jsx':
specifier: ^4.1.1 specifier: ^4.1.1
version: 4.1.1(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) version: 4.1.1(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
'@vitest/eslint-plugin':
specifier: ^1.1.20
version: 1.1.20(@typescript-eslint/utils@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
'@vue/eslint-config-prettier': '@vue/eslint-config-prettier':
specifier: ^10.1.0 specifier: ^10.1.0
version: 10.1.0(eslint@9.17.0(jiti@2.4.2))(prettier@3.4.2) version: 10.1.0(eslint@9.17.0(jiti@2.4.2))(prettier@3.4.2)
'@vue/eslint-config-typescript': '@vue/eslint-config-typescript':
specifier: ^14.1.4 specifier: ^14.2.0
version: 14.1.4(@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint-plugin-vue@9.32.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2) version: 14.2.0(eslint-plugin-vue@9.32.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
'@vue/test-utils': '@vue/test-utils':
specifier: ^2.4.6 specifier: ^2.4.6
version: 2.4.6 version: 2.4.6
@ -171,6 +177,9 @@ importers:
eslint: eslint:
specifier: ^9.17.0 specifier: ^9.17.0
version: 9.17.0(jiti@2.4.2) version: 9.17.0(jiti@2.4.2)
eslint-plugin-oxlint:
specifier: ^0.15.2
version: 0.15.2
eslint-plugin-vue: eslint-plugin-vue:
specifier: ^9.32.0 specifier: ^9.32.0
version: 9.32.0(eslint@9.17.0(jiti@2.4.2)) version: 9.32.0(eslint@9.17.0(jiti@2.4.2))
@ -192,6 +201,9 @@ importers:
npm-run-all2: npm-run-all2:
specifier: ^7.0.2 specifier: ^7.0.2
version: 7.0.2 version: 7.0.2
oxlint:
specifier: ^0.15.3
version: 0.15.3
prettier: prettier:
specifier: ^3.4.2 specifier: ^3.4.2
version: 3.4.2 version: 3.4.2
@ -205,8 +217,8 @@ importers:
specifier: ~5.7.2 specifier: ~5.7.2
version: 5.7.2 version: 5.7.2
unocss: unocss:
specifier: ^0.65.2 specifier: ^0.65.3
version: 0.65.2(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) version: 0.65.3(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
unplugin-auto-import: unplugin-auto-import:
specifier: ^0.19.0 specifier: ^0.19.0
version: 0.19.0(@nuxt/kit@3.15.0(rollup@4.29.1))(@vueuse/core@12.2.0(typescript@5.7.2))(rollup@4.29.1) version: 0.19.0(@nuxt/kit@3.15.0(rollup@4.29.1))(@vueuse/core@12.2.0(typescript@5.7.2))(rollup@4.29.1)
@ -1182,6 +1194,50 @@ packages:
cpu: [x64] cpu: [x64]
os: [win32] os: [win32]
'@oxlint/darwin-arm64@0.15.3':
resolution: {integrity: sha512-6isglmWrI3XxNR+V2KDURRg8bo3JpoTGUs1BqEuwZISz0tIEU5kVZ3Zba4vNz6Rp79lfA18ueYTB5NKonWaYOg==}
cpu: [arm64]
os: [darwin]
'@oxlint/darwin-x64@0.15.3':
resolution: {integrity: sha512-wKn+eITIIpcXPU7hiWVHezAKONT/Vz6q9TUZFiYQFytF7sGAt0APZshe5tbjGTZ8XTR6wQ5wDETwdornHXCNFg==}
cpu: [x64]
os: [darwin]
'@oxlint/linux-arm64-gnu@0.15.3':
resolution: {integrity: sha512-AZUOtb3OfK8xDZJfk60AwgTKEpa6zJdvjrwuk8Qqz4tPqLJpk4KSJmfNMzbYzy689m27ur+ix1p/7JAxwvckRg==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@oxlint/linux-arm64-musl@0.15.3':
resolution: {integrity: sha512-HIeyrgE11KFkSRpVjBRWOux78OITDqlOiC8plC2RDrLvSj205MaA1GYYyIMMv/FuyWdGMOAHOetn5vWbyJJctQ==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@oxlint/linux-x64-gnu@0.15.3':
resolution: {integrity: sha512-cDHQaDCpuqFFYTohM+xw4120hzBSWaOVIZqq0ROUEX/qi+nnR9XMKE/fJf8xiHJznFlV6ANsiMLY939uur8OKw==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@oxlint/linux-x64-musl@0.15.3':
resolution: {integrity: sha512-6PVIi0XXhlpFoBh0k2fP9wioU8MiktkqnYHxOv7EM7HggjAzpRMJqQmgwWcww3RU5R7T4wnZNzrUPPqI7+Ejmw==}
cpu: [x64]
os: [linux]
libc: [musl]
'@oxlint/win32-arm64@0.15.3':
resolution: {integrity: sha512-CAvFXTZ6pwHHMHTmRgev/QcS4vD2UeH4e68DxgslPrib6ivTGz2EvtVbrVuVsuS27WQuKTy06e9RW339dk4pHg==}
cpu: [arm64]
os: [win32]
'@oxlint/win32-x64@0.15.3':
resolution: {integrity: sha512-sXBPSxDoOELlkUbjXfXqlfig3jw67ylrZn+URke/TZMknY1uNEsFTg9+89t8km65eC8SZSE9rnZVyjK8iaEJXA==}
cpu: [x64]
os: [win32]
'@pinia/colada@0.13.1': '@pinia/colada@0.13.1':
resolution: {integrity: sha512-3FVqe7FBl1Y+rPxfarF8VVr2ilEqU12CtsHRGgVtZOv/G8o3F4bfV41RduZojS6v4BrHkJwiZkRV6RAslmbjrg==} resolution: {integrity: sha512-3FVqe7FBl1Y+rPxfarF8VVr2ilEqU12CtsHRGgVtZOv/G8o3F4bfV41RduZojS6v4BrHkJwiZkRV6RAslmbjrg==}
peerDependencies: peerDependencies:
@ -1493,86 +1549,86 @@ packages:
peerDependencies: peerDependencies:
vue: '>=2.7 || >=3' vue: '>=2.7 || >=3'
'@unocss/astro@0.65.2': '@unocss/astro@0.65.3':
resolution: {integrity: sha512-lpGoleJToxaYeN5LTGrNbvbXATNWswgoQwlljIJ9kWOjx4NbGC71pXRvDQSb9yRFDTCr5S2hMtupna4ulrHisA==} resolution: {integrity: sha512-shEKzsYOz1KMO36jzoNzTltzaUkQOe+UHgiRpsGE28ldSymGfOfiJQzG9T4+Q3Ckk0C86UyVP3Uerxx1qoYwAA==}
peerDependencies: peerDependencies:
vite: ^6.0.5 vite: ^6.0.5
peerDependenciesMeta: peerDependenciesMeta:
vite: vite:
optional: true optional: true
'@unocss/cli@0.65.2': '@unocss/cli@0.65.3':
resolution: {integrity: sha512-N2SeSeGNNuWUQAtsOC02Uqhm1wCtyoRRmh8ylzA/NttbXJlqg5P03vxGfzmaRA+VJhNLwjFqhYE6Yuu4nqCwlg==} resolution: {integrity: sha512-VIV6/aLJ0mWOJ8/iK7nWVCR6G/hM/6W7EGSO1gpLHWn4Rj+T6NtCmk/U4nao9pTYg/nVBBBCL3ydRguF3DA0ow==}
engines: {node: '>=14'} engines: {node: '>=14'}
hasBin: true hasBin: true
'@unocss/config@0.65.2': '@unocss/config@0.65.3':
resolution: {integrity: sha512-HDQVoWwrkZ6qRCXus11bUM12eNoErZ7r4lPY5EQqtrwxAcul+l5StvYk0qXr3IC8Ct42RDjKGeM03o7VBpwafQ==} resolution: {integrity: sha512-H+UpEPo47DeEsLbjHMby42MJ+lx7vXltFOdpgXFKutLkT034VoXmN1lgrAh9lZ4ow3iuUfEatHyuWffpOQf9gA==}
engines: {node: '>=14'} engines: {node: '>=14'}
'@unocss/core@0.65.2': '@unocss/core@0.65.3':
resolution: {integrity: sha512-37zj1w/6TENsUMzRRmlH5LqUcLGTTjGHrUeZ5KZyeDk+osB/rHSCw0VqqqvL6a7cOHgaW88JgfgKDt5ijRZyFA==} resolution: {integrity: sha512-xYkJ63lIadL6KqvGcaE2fFeLvo6rC1F+e+R9EFn0Aj0ArMRhiltZk8vvLFHP7iYjjdTdqDkAr/7IdrTosTo8Pg==}
'@unocss/extractor-arbitrary-variants@0.65.2': '@unocss/extractor-arbitrary-variants@0.65.3':
resolution: {integrity: sha512-G+Fq7i2mTyFv+RdkbahGJFwUR9FbsGCHi+Wt8Eb7cbELWi/R4mUftfW9/q6NaIRKvmLywjWbEQ31qTJIQEO+PQ==} resolution: {integrity: sha512-ZVGCjOZuU8daGxY7MUJQrI7aVKzZi1llRk53QgEUTU1q60X/fi8M2+A9mwEgG9MBVHBdsuvxqZ9Dp79IktSyLw==}
'@unocss/inspector@0.65.2': '@unocss/inspector@0.65.3':
resolution: {integrity: sha512-90kBrMiQqHpGzPhT9ot7bDAFs+G9RxWROVxrT/JwDqNe+OmcLh5uETO84NU0ScurniEJ8umGBLqmsPGLmHML2g==} resolution: {integrity: sha512-medDlG0FsCvKBBprC5FZxYrWTLV+iNSnc8S84VI4J/iKZQ43X34Edy+Rudy+YsPXQ8qZcuYQ7RDSHsPnP6X+Bg==}
'@unocss/postcss@0.65.2': '@unocss/postcss@0.65.3':
resolution: {integrity: sha512-vhBWsXnuWUP7qybnucle+gja1YBjL2NRfzCwSaOoRc7C5y201mqfC55AFqjGdxEAcqeeXVtx98Y1oh0FSa5GzA==} resolution: {integrity: sha512-WCAycMhigioWn8IV3w3ptsstvRvEW86vHpELOMSXKcbminaOJ7RkfpoCKwfSzL73CBSYwovVCWS/y4LFP85NQQ==}
engines: {node: '>=14'} engines: {node: '>=14'}
peerDependencies: peerDependencies:
postcss: ^8.4.21 postcss: ^8.4.21
'@unocss/preset-attributify@0.65.2': '@unocss/preset-attributify@0.65.3':
resolution: {integrity: sha512-Aj67qbRoBPYutJasi7EKUaxKwJwEvhA0SVYjXwZG3kjTTBkp1rJvNI0wGXbdz9FkesymiC1KgzBF2UCsFsZ0dQ==} resolution: {integrity: sha512-0nDKoR8x32ul1Ne7BbJqzAq5D1RM0C7+DTiLxhWonjCcZwCQpas/npTU6wvwQhc5ksuON0xtoQyl4a6zLNA5Vg==}
'@unocss/preset-icons@0.65.2': '@unocss/preset-icons@0.65.3':
resolution: {integrity: sha512-NruqU6PlRzyJT0qJQL3yZ/7KrolIWRfXQf82ZfAktPTHYgvaSS4+KtlStsoYSXLSGjPydMlXuYlj8Pum5rTTjw==} resolution: {integrity: sha512-3V4d5M+a2mTGnLjSsXyNL+/+nzjasdsJEJdXarLnj9Ez0KaBCvi32OjyoYrZUSMC5GCSreVNUOVBZKcxfdtitA==}
'@unocss/preset-mini@0.65.2': '@unocss/preset-mini@0.65.3':
resolution: {integrity: sha512-zDDyFuLylmer91qeQ6qbMCP5+/zIeuZA0epLIriCfW3pR7FXzfJRu4R1ynpQjqryjUs/gwS0OWtvr4ufuwkryg==} resolution: {integrity: sha512-HG7mRfq0S2VKkw40duumoyIYaMBQGW1Uxb+Kw8HLGvoamnDmOZKb+TOXxys17Z5Z0vloi2CN1qqyJhYC0G6MSg==}
'@unocss/preset-rem-to-px@0.65.2': '@unocss/preset-rem-to-px@0.65.3':
resolution: {integrity: sha512-79cQWWOafDdLY0QzPyt4fOi+78yVqvz8d3F/ghblKOJF+FG3Blh+LEGXfkyGuMNVl+/4Xem9AxEVLcylSe6VAw==} resolution: {integrity: sha512-KYvPonskiJ4oGxtncFyiInSwRAmnVLbPgBYj/4PxK2U+iPcWzW4Xi2x1NYct88uzXIzCWZziiIM8Bu9JTn4iOQ==}
'@unocss/preset-tagify@0.65.2': '@unocss/preset-tagify@0.65.3':
resolution: {integrity: sha512-YFhne3eNfZUvKT/MJ7SgjK/FXLradgZCKc5XXsMXA4YTAhNAvQIUZCNmlBzaqDevwbyF6UlXxGHfHUA8CdpSWg==} resolution: {integrity: sha512-IWRQ/CO+KmspIBPq6pNfYQmUzZkMqTa/Cr7fB4R+ZQFIe9OO3Cpj18R5VL3qujVC+dePiAFiP/tVLt6/mCQzuw==}
'@unocss/preset-typography@0.65.2': '@unocss/preset-typography@0.65.3':
resolution: {integrity: sha512-k/uOu2ASnBQtotMBsx9pOmCgS+pyn7/4mCiifoeTTLnhMK8F6dcGLbVQkOnUD2hsboKXJ1oHgd+1qX0QVr61ww==} resolution: {integrity: sha512-PYcVU1uYGJRuj8FqHVUaRYS15X/+m58v2uUXW+qoqv9jh3KGabu3yPac1UILHTtdE3Y6PSflf3Hf9M9MqxAgog==}
'@unocss/preset-uno@0.65.2': '@unocss/preset-uno@0.65.3':
resolution: {integrity: sha512-8HA21mlXwnkXHhtSKYbBYJTmtJN0ncUPSJKiavNGkJUB4cUUbEeFRx2aNIfhOjKYIcH/MNzRc2YYsAAM2s6vgw==} resolution: {integrity: sha512-1O9qVAG/W7t4X9VExuUPGGy+4n8yxfpuQ3NeFgXlEkT1Mi3cokS0Eb0quvttgLGbjQ2waoS4MWbGyMmDGHWnYQ==}
'@unocss/preset-web-fonts@0.65.2': '@unocss/preset-web-fonts@0.65.3':
resolution: {integrity: sha512-Pl0sKjhrb6FuDID3PMwGflZXwSVW1G1vZEwCd0yEwYH92421VEfK5D073cUtZ1l6irqIA3aux9uMWA9iKtQj7A==} resolution: {integrity: sha512-hDuDbZawPc7ebtNoYI5zKpqURjAH5lLKqVRwdQXQiJ2T8IfT246HkL6+pcpdjAkHy3oJDUxGwrD/tYFcu9fcdA==}
'@unocss/preset-wind@0.65.2': '@unocss/preset-wind@0.65.3':
resolution: {integrity: sha512-qNBJ6pnh9EYbTztmeJ+uZOB3TPx/JnQVHPGBBRD/v2AT11YR0/umdSKefIHbvXKuw/5/+JAwbFx/jSYu1naG6w==} resolution: {integrity: sha512-esptoeJEN1QZEXwMIU3OXumSi3TEbIXZg1SuuUYqOWXzldxANsfXSMdHtsiXUSMNwNsfmQl4XfBlGNYYK/7eyg==}
'@unocss/reset@0.65.2': '@unocss/reset@0.65.3':
resolution: {integrity: sha512-9UmwqYjfdxyi6j1pMfuulipLCsdH2RlF+IOG53unYxulP4C8bvwMnj8Wk+AjMiG5mIOClYyVTGk3NMRPM73/eg==} resolution: {integrity: sha512-elwdQJ6tF4IpVUv7euK8MOKXTcQMeImsimaCViqe0yL0onPChgK16qs5xgVbBGrj9B57bmWgoUp0af/J03oNYA==}
'@unocss/rule-utils@0.65.2': '@unocss/rule-utils@0.65.3':
resolution: {integrity: sha512-Rw+B52F53gli5wHRR4dXjFrliH6Q8XaNeg55L2uVmg81lEeQCdxPOe0/KjPIEPQPJHOhCpFS3dCHwNROc+UggQ==} resolution: {integrity: sha512-jndyth0X11FbvIDForYq90b+N5xsR31FRsmvp7AC7dcW71clemUEDHCwqzSJn8cVFwahgvlwWbEoYHPEgQrtIQ==}
engines: {node: '>=14'} engines: {node: '>=14'}
'@unocss/transformer-attributify-jsx@0.65.2': '@unocss/transformer-attributify-jsx@0.65.3':
resolution: {integrity: sha512-Kan2EPHc65t/iHdjqJvtRgc+lUnq2uSDknsTrOk+w1N/ZmjcbVf2E6VXbxBCqmHowJVipeHrxeVX1POyBm0bTQ==} resolution: {integrity: sha512-mfPpsqdpig2Jgd9BDL79XP1VpDslndSLVEr/xzV1LQOL4FVLe8IIiO6hqeeUNVuV99wxCa8QAigbI2vbUi5p+Q==}
'@unocss/transformer-compile-class@0.65.2': '@unocss/transformer-compile-class@0.65.3':
resolution: {integrity: sha512-z615DntK0bN0v3QicEGVmzt57yXXB20GhpOBTsShq/nTnTP0v+Av1JTbGQBSg8lzmW0z7QdLhCvSAQs8OKMmRQ==} resolution: {integrity: sha512-cndbJUYqOACeFvldCAVd8edD56XcufFCAwbCm4uio1DjwpqJmtoaJHnLlrE2Pytleej1IAhDuoyaJAnSU9hIDA==}
'@unocss/transformer-directives@0.65.2': '@unocss/transformer-directives@0.65.3':
resolution: {integrity: sha512-CwdjBoqWbX5FkJrt6Mpy6nBjppuQV2zvIma5W2rdd5XLsYeR0mhdbbQfgvRF94pFIR86ExfOKu/EI6bGuTcaHA==} resolution: {integrity: sha512-Jn2b9NSzbp+X5YLY1MWJzXY6dMUYhAuE+xjdiwFNACdbSvnjV+WLX1rOFeeNZx0rP2e5sPeDsv7MTF71uZeohg==}
'@unocss/transformer-variant-group@0.65.2': '@unocss/transformer-variant-group@0.65.3':
resolution: {integrity: sha512-Sh/WKN7lys2TUVnA3Nu7Yn3rLqy0OqfWSf6PbY1RKAD+N7cRlabu3vJF0gIMwV+rmVQnHs/k9BWjNPlB56Kl/A==} resolution: {integrity: sha512-l18P2lyELe6AiRYr9cPbctRn+ITUgncPqhetH46ZoGHKrVR7MSFYHSo0gUJBusBYJisNHTjhaQvNQcDGD3BPWQ==}
'@unocss/vite@0.65.2': '@unocss/vite@0.65.3':
resolution: {integrity: sha512-MC2PqDB2tbYky7s1XTBoOAdtvUIwwl65qL1UbHTLYiWO9Q704IZUYvrdtpgieR+8IPu2dG2vUyIe3dbD4zPf9g==} resolution: {integrity: sha512-GMJ9Aj3M1L/m5CiHbMpOJ9WEfF+c+13Q6zW22n+iz5CYhqXAwyDrtV2afpFBF3w5PLUHC4aW3C4nNQTUTUuPeA==}
peerDependencies: peerDependencies:
vite: ^6.0.5 vite: ^6.0.5
@ -1655,6 +1711,19 @@ packages:
vite: ^6.0.5 vite: ^6.0.5
vue: ^3.2.25 vue: ^3.2.25
'@vitest/eslint-plugin@1.1.20':
resolution: {integrity: sha512-2eLsgUm+GVOpDfNyH2do//MiNO/WZkXrPi+EjDmXEdUt6Jwnziq4H221L8vJE0aJys+l1FRfSkm4QbaIyDCfBg==}
peerDependencies:
'@typescript-eslint/utils': '>= 8.0'
eslint: '>= 8.57.0'
typescript: '>= 5.0.0'
vitest: '*'
peerDependenciesMeta:
typescript:
optional: true
vitest:
optional: true
'@volar/language-core@2.4.11': '@volar/language-core@2.4.11':
resolution: {integrity: sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==} resolution: {integrity: sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==}
@ -1878,8 +1947,8 @@ packages:
eslint: '>= 8.21.0' eslint: '>= 8.21.0'
prettier: '>= 3.0.0' prettier: '>= 3.0.0'
'@vue/eslint-config-typescript@14.1.4': '@vue/eslint-config-typescript@14.2.0':
resolution: {integrity: sha512-NcG1adLFde+t+TCaXlL38PHuZlBEuwDahgrPVyB052m9QeHOswVIAplMD2cXgH8vXieAVNF1+mXvyilpIO3+kg==} resolution: {integrity: sha512-JJ4wHuTJa2faQsBOUeWzuHOSFizVS7RWG2eH2noABk2LcT4wVcTOMZKM/lFobKBcgwADIPAKVRGFHVKooXImoA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
peerDependencies: peerDependencies:
eslint: ^9.10.0 eslint: ^9.10.0
@ -2791,6 +2860,9 @@ packages:
peerDependencies: peerDependencies:
eslint: '>=7.0.0' eslint: '>=7.0.0'
eslint-plugin-oxlint@0.15.2:
resolution: {integrity: sha512-/Ff9m+qVPRqqRJO9J0fqCnjPolY7Az2rKZMmc2gtTofvlHmYFhbBnwTGMMulM1eUUJ+/a7WbAc1V+Pho74pHfA==}
eslint-plugin-prettier@5.2.1: eslint-plugin-prettier@5.2.1:
resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==}
engines: {node: ^14.18.0 || >=16.0.0} engines: {node: ^14.18.0 || >=16.0.0}
@ -3532,6 +3604,9 @@ packages:
resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
jsonc-parser@3.3.1:
resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==}
jsonfile@4.0.0: jsonfile@4.0.0:
resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
@ -3988,6 +4063,11 @@ packages:
oxc-resolver@2.1.1: oxc-resolver@2.1.1:
resolution: {integrity: sha512-xPkFYfaR5zJXoaGvYF8FAb1JY4mKoyhIyShj7nwWKeald5Cee03ktPzxdW77PubSl3w8Kle0bHsNm37+gxyY1g==} resolution: {integrity: sha512-xPkFYfaR5zJXoaGvYF8FAb1JY4mKoyhIyShj7nwWKeald5Cee03ktPzxdW77PubSl3w8Kle0bHsNm37+gxyY1g==}
oxlint@0.15.3:
resolution: {integrity: sha512-kOAt0EC/oluYTcfRu6yg8+QkYMq6uibvEW+hx5nKsX320+VYEw1ChNBRcfSLCtJwA+k6X/CGxk2MN2Nddw70sQ==}
engines: {node: '>=14.*'}
hasBin: true
p-finally@2.0.1: p-finally@2.0.1:
resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==}
engines: {node: '>=8'} engines: {node: '>=8'}
@ -4767,11 +4847,11 @@ packages:
resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==}
engines: {node: '>=12.0.0'} engines: {node: '>=12.0.0'}
tldts-core@6.1.69: tldts-core@6.1.70:
resolution: {integrity: sha512-nygxy9n2PBUFQUtAXAc122gGo+04/j5qr5TGQFZTHafTKYvmARVXt2cA5rgero2/dnXUfkdPtiJoKmrd3T+wdA==} resolution: {integrity: sha512-RNnIXDB1FD4T9cpQRErEqw6ZpjLlGdMOitdV+0xtbsnwr4YFka1zpc7D4KD+aAn8oSG5JyFrdasZTE04qDE9Yg==}
tldts@6.1.69: tldts@6.1.70:
resolution: {integrity: sha512-Oh/CqRQ1NXNY7cy9NkTPUauOWiTro0jEYZTioGbOmcQh6EC45oribyIMJp0OJO3677r13tO6SKdWoGZUx2BDFw==} resolution: {integrity: sha512-/W1YVgYVJd9ZDjey5NXadNh0mJXkiUMUue9Zebd0vpdo1sU+H4zFFTaJ1RKD4N6KFoHfcXy6l+Vu7bh+bdWCzA==}
hasBin: true hasBin: true
tmp@0.0.33: tmp@0.0.33:
@ -4931,11 +5011,11 @@ packages:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'} engines: {node: '>= 10.0.0'}
unocss@0.65.2: unocss@0.65.3:
resolution: {integrity: sha512-PEN8Yltr/n6xdNcI9iqIK4Dp/fpQ1bPa4aR2TwFg2lV6aRA2PNzarviqL62oOqXYSyQ4sqW3s/oaWD3JGOgJ1A==} resolution: {integrity: sha512-v/nQ7BVIeW9UlEPElOu6xwqp0TTF2dZeIOfzos52b/N0cwWB9dBOjZM5hTn//ePQVzXm/M/n+Lm8E7gRP4TUfg==}
engines: {node: '>=14'} engines: {node: '>=14'}
peerDependencies: peerDependencies:
'@unocss/webpack': 0.65.2 '@unocss/webpack': 0.65.3
vite: ^6.0.5 vite: ^6.0.5
peerDependenciesMeta: peerDependenciesMeta:
'@unocss/webpack': '@unocss/webpack':
@ -6262,6 +6342,30 @@ snapshots:
'@oxc-resolver/binding-win32-x64-msvc@2.1.1': '@oxc-resolver/binding-win32-x64-msvc@2.1.1':
optional: true optional: true
'@oxlint/darwin-arm64@0.15.3':
optional: true
'@oxlint/darwin-x64@0.15.3':
optional: true
'@oxlint/linux-arm64-gnu@0.15.3':
optional: true
'@oxlint/linux-arm64-musl@0.15.3':
optional: true
'@oxlint/linux-x64-gnu@0.15.3':
optional: true
'@oxlint/linux-x64-musl@0.15.3':
optional: true
'@oxlint/win32-arm64@0.15.3':
optional: true
'@oxlint/win32-x64@0.15.3':
optional: true
'@pinia/colada@0.13.1(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))': '@pinia/colada@0.13.1(pinia@2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)))':
dependencies: dependencies:
pinia: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2)) pinia: 2.3.0(typescript@5.7.2)(vue@3.5.13(typescript@5.7.2))
@ -6548,11 +6652,11 @@ snapshots:
unhead: 1.11.14 unhead: 1.11.14
vue: 3.5.13(typescript@5.7.2) vue: 3.5.13(typescript@5.7.2)
'@unocss/astro@0.65.2(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': '@unocss/astro@0.65.3(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/reset': 0.65.2 '@unocss/reset': 0.65.3
'@unocss/vite': 0.65.2(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@unocss/vite': 0.65.3(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
optionalDependencies: optionalDependencies:
vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1) vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
transitivePeerDependencies: transitivePeerDependencies:
@ -6560,13 +6664,13 @@ snapshots:
- supports-color - supports-color
- vue - vue
'@unocss/cli@0.65.2(rollup@4.29.1)': '@unocss/cli@0.65.3(rollup@4.29.1)':
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
'@rollup/pluginutils': 5.1.4(rollup@4.29.1) '@rollup/pluginutils': 5.1.4(rollup@4.29.1)
'@unocss/config': 0.65.2 '@unocss/config': 0.65.3
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/preset-uno': 0.65.2 '@unocss/preset-uno': 0.65.3
cac: 6.7.14 cac: 6.7.14
chokidar: 3.6.0 chokidar: 3.6.0
colorette: 2.0.20 colorette: 2.0.20
@ -6579,121 +6683,121 @@ snapshots:
- rollup - rollup
- supports-color - supports-color
'@unocss/config@0.65.2': '@unocss/config@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
unconfig: 0.6.0 unconfig: 0.6.0
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@unocss/core@0.65.2': {} '@unocss/core@0.65.3': {}
'@unocss/extractor-arbitrary-variants@0.65.2': '@unocss/extractor-arbitrary-variants@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/inspector@0.65.2(vue@3.5.13(typescript@5.7.2))': '@unocss/inspector@0.65.3(vue@3.5.13(typescript@5.7.2))':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/rule-utils': 0.65.2 '@unocss/rule-utils': 0.65.3
gzip-size: 6.0.0 gzip-size: 6.0.0
sirv: 3.0.0 sirv: 3.0.0
vue-flow-layout: 0.1.1(vue@3.5.13(typescript@5.7.2)) vue-flow-layout: 0.1.1(vue@3.5.13(typescript@5.7.2))
transitivePeerDependencies: transitivePeerDependencies:
- vue - vue
'@unocss/postcss@0.65.2(postcss@8.4.49)': '@unocss/postcss@0.65.3(postcss@8.4.49)':
dependencies: dependencies:
'@unocss/config': 0.65.2 '@unocss/config': 0.65.3
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/rule-utils': 0.65.2 '@unocss/rule-utils': 0.65.3
css-tree: 3.1.0 css-tree: 3.1.0
postcss: 8.4.49 postcss: 8.4.49
tinyglobby: 0.2.10 tinyglobby: 0.2.10
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@unocss/preset-attributify@0.65.2': '@unocss/preset-attributify@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/preset-icons@0.65.2': '@unocss/preset-icons@0.65.3':
dependencies: dependencies:
'@iconify/utils': 2.2.1 '@iconify/utils': 2.2.1
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
ofetch: 1.4.1 ofetch: 1.4.1
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
'@unocss/preset-mini@0.65.2': '@unocss/preset-mini@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/extractor-arbitrary-variants': 0.65.2 '@unocss/extractor-arbitrary-variants': 0.65.3
'@unocss/rule-utils': 0.65.2 '@unocss/rule-utils': 0.65.3
'@unocss/preset-rem-to-px@0.65.2': '@unocss/preset-rem-to-px@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/preset-tagify@0.65.2': '@unocss/preset-tagify@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/preset-typography@0.65.2': '@unocss/preset-typography@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/preset-mini': 0.65.2 '@unocss/preset-mini': 0.65.3
'@unocss/preset-uno@0.65.2': '@unocss/preset-uno@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/preset-mini': 0.65.2 '@unocss/preset-mini': 0.65.3
'@unocss/preset-wind': 0.65.2 '@unocss/preset-wind': 0.65.3
'@unocss/rule-utils': 0.65.2 '@unocss/rule-utils': 0.65.3
'@unocss/preset-web-fonts@0.65.2': '@unocss/preset-web-fonts@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
ofetch: 1.4.1 ofetch: 1.4.1
'@unocss/preset-wind@0.65.2': '@unocss/preset-wind@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/preset-mini': 0.65.2 '@unocss/preset-mini': 0.65.3
'@unocss/rule-utils': 0.65.2 '@unocss/rule-utils': 0.65.3
'@unocss/reset@0.65.2': {} '@unocss/reset@0.65.3': {}
'@unocss/rule-utils@0.65.2': '@unocss/rule-utils@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
magic-string: 0.30.17 magic-string: 0.30.17
'@unocss/transformer-attributify-jsx@0.65.2': '@unocss/transformer-attributify-jsx@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/transformer-compile-class@0.65.2': '@unocss/transformer-compile-class@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/transformer-directives@0.65.2': '@unocss/transformer-directives@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/rule-utils': 0.65.2 '@unocss/rule-utils': 0.65.3
css-tree: 3.1.0 css-tree: 3.1.0
'@unocss/transformer-variant-group@0.65.2': '@unocss/transformer-variant-group@0.65.3':
dependencies: dependencies:
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/vite@0.65.2(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))': '@unocss/vite@0.65.3(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))':
dependencies: dependencies:
'@ampproject/remapping': 2.3.0 '@ampproject/remapping': 2.3.0
'@rollup/pluginutils': 5.1.4(rollup@4.29.1) '@rollup/pluginutils': 5.1.4(rollup@4.29.1)
'@unocss/config': 0.65.2 '@unocss/config': 0.65.3
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/inspector': 0.65.2(vue@3.5.13(typescript@5.7.2)) '@unocss/inspector': 0.65.3(vue@3.5.13(typescript@5.7.2))
chokidar: 3.6.0 chokidar: 3.6.0
magic-string: 0.30.17 magic-string: 0.30.17
tinyglobby: 0.2.10 tinyglobby: 0.2.10
@ -6873,6 +6977,13 @@ snapshots:
vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1) vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
vue: 3.5.13(typescript@5.7.2) vue: 3.5.13(typescript@5.7.2)
'@vitest/eslint-plugin@1.1.20(@typescript-eslint/utils@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)':
dependencies:
'@typescript-eslint/utils': 8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
eslint: 9.17.0(jiti@2.4.2)
optionalDependencies:
typescript: 5.7.2
'@volar/language-core@2.4.11': '@volar/language-core@2.4.11':
dependencies: dependencies:
'@volar/source-map': 2.4.11 '@volar/source-map': 2.4.11
@ -7261,9 +7372,8 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- '@types/eslint' - '@types/eslint'
'@vue/eslint-config-typescript@14.1.4(@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint-plugin-vue@9.32.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)': '@vue/eslint-config-typescript@14.2.0(eslint-plugin-vue@9.32.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)':
dependencies: dependencies:
'@typescript-eslint/eslint-plugin': 8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2))(eslint@9.17.0(jiti@2.4.2))(typescript@5.7.2)
eslint: 9.17.0(jiti@2.4.2) eslint: 9.17.0(jiti@2.4.2)
eslint-plugin-vue: 9.32.0(eslint@9.17.0(jiti@2.4.2)) eslint-plugin-vue: 9.32.0(eslint@9.17.0(jiti@2.4.2))
fast-glob: 3.3.2 fast-glob: 3.3.2
@ -7272,7 +7382,6 @@ snapshots:
optionalDependencies: optionalDependencies:
typescript: 5.7.2 typescript: 5.7.2
transitivePeerDependencies: transitivePeerDependencies:
- '@typescript-eslint/parser'
- supports-color - supports-color
'@vue/language-core@2.1.10(typescript@5.7.2)': '@vue/language-core@2.1.10(typescript@5.7.2)':
@ -7873,7 +7982,7 @@ snapshots:
debug@4.1.1: debug@4.1.1:
dependencies: dependencies:
ms: 2.1.1 ms: 2.1.3
debug@4.4.0: debug@4.4.0:
dependencies: dependencies:
@ -8208,6 +8317,10 @@ snapshots:
dependencies: dependencies:
eslint: 9.17.0(jiti@2.4.2) eslint: 9.17.0(jiti@2.4.2)
eslint-plugin-oxlint@0.15.2:
dependencies:
jsonc-parser: 3.3.1
eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(prettier@3.4.2): eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.4.2)))(eslint@9.17.0(jiti@2.4.2))(prettier@3.4.2):
dependencies: dependencies:
eslint: 9.17.0(jiti@2.4.2) eslint: 9.17.0(jiti@2.4.2)
@ -9008,6 +9121,8 @@ snapshots:
espree: 9.6.1 espree: 9.6.1
semver: 7.6.3 semver: 7.6.3
jsonc-parser@3.3.1: {}
jsonfile@4.0.0: jsonfile@4.0.0:
optionalDependencies: optionalDependencies:
graceful-fs: 4.2.11 graceful-fs: 4.2.11
@ -9478,6 +9593,17 @@ snapshots:
'@oxc-resolver/binding-win32-arm64-msvc': 2.1.1 '@oxc-resolver/binding-win32-arm64-msvc': 2.1.1
'@oxc-resolver/binding-win32-x64-msvc': 2.1.1 '@oxc-resolver/binding-win32-x64-msvc': 2.1.1
oxlint@0.15.3:
optionalDependencies:
'@oxlint/darwin-arm64': 0.15.3
'@oxlint/darwin-x64': 0.15.3
'@oxlint/linux-arm64-gnu': 0.15.3
'@oxlint/linux-arm64-musl': 0.15.3
'@oxlint/linux-x64-gnu': 0.15.3
'@oxlint/linux-x64-musl': 0.15.3
'@oxlint/win32-arm64': 0.15.3
'@oxlint/win32-x64': 0.15.3
p-finally@2.0.1: {} p-finally@2.0.1: {}
p-limit@3.1.0: p-limit@3.1.0:
@ -10233,11 +10359,11 @@ snapshots:
fdir: 6.4.2(picomatch@4.0.2) fdir: 6.4.2(picomatch@4.0.2)
picomatch: 4.0.2 picomatch: 4.0.2
tldts-core@6.1.69: {} tldts-core@6.1.70: {}
tldts@6.1.69: tldts@6.1.70:
dependencies: dependencies:
tldts-core: 6.1.69 tldts-core: 6.1.70
tmp@0.0.33: tmp@0.0.33:
dependencies: dependencies:
@ -10258,7 +10384,7 @@ snapshots:
tough-cookie@5.0.0: tough-cookie@5.0.0:
dependencies: dependencies:
tldts: 6.1.69 tldts: 6.1.70
tr46@0.0.3: {} tr46@0.0.3: {}
@ -10278,7 +10404,7 @@ snapshots:
dependencies: dependencies:
'@rollup/pluginutils': 5.1.4(rollup@4.29.1) '@rollup/pluginutils': 5.1.4(rollup@4.29.1)
'@volar/language-core': 2.4.11 '@volar/language-core': 2.4.11
'@vue/language-core': 2.1.10(typescript@5.7.2) '@vue/language-core': 2.2.0(typescript@5.7.2)
muggle-string: 0.4.1 muggle-string: 0.4.1
transitivePeerDependencies: transitivePeerDependencies:
- rollup - rollup
@ -10409,25 +10535,25 @@ snapshots:
universalify@2.0.1: {} universalify@2.0.1: {}
unocss@0.65.2(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)): unocss@0.65.3(postcss@8.4.49)(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)):
dependencies: dependencies:
'@unocss/astro': 0.65.2(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@unocss/astro': 0.65.3(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
'@unocss/cli': 0.65.2(rollup@4.29.1) '@unocss/cli': 0.65.3(rollup@4.29.1)
'@unocss/core': 0.65.2 '@unocss/core': 0.65.3
'@unocss/postcss': 0.65.2(postcss@8.4.49) '@unocss/postcss': 0.65.3(postcss@8.4.49)
'@unocss/preset-attributify': 0.65.2 '@unocss/preset-attributify': 0.65.3
'@unocss/preset-icons': 0.65.2 '@unocss/preset-icons': 0.65.3
'@unocss/preset-mini': 0.65.2 '@unocss/preset-mini': 0.65.3
'@unocss/preset-tagify': 0.65.2 '@unocss/preset-tagify': 0.65.3
'@unocss/preset-typography': 0.65.2 '@unocss/preset-typography': 0.65.3
'@unocss/preset-uno': 0.65.2 '@unocss/preset-uno': 0.65.3
'@unocss/preset-web-fonts': 0.65.2 '@unocss/preset-web-fonts': 0.65.3
'@unocss/preset-wind': 0.65.2 '@unocss/preset-wind': 0.65.3
'@unocss/transformer-attributify-jsx': 0.65.2 '@unocss/transformer-attributify-jsx': 0.65.3
'@unocss/transformer-compile-class': 0.65.2 '@unocss/transformer-compile-class': 0.65.3
'@unocss/transformer-directives': 0.65.2 '@unocss/transformer-directives': 0.65.3
'@unocss/transformer-variant-group': 0.65.2 '@unocss/transformer-variant-group': 0.65.3
'@unocss/vite': 0.65.2(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2)) '@unocss/vite': 0.65.3(rollup@4.29.1)(vite@6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1))(vue@3.5.13(typescript@5.7.2))
optionalDependencies: optionalDependencies:
vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1) vite: 6.0.5(@types/node@22.10.2)(jiti@2.4.2)(less@4.2.1)(sass-embedded@1.83.0)(tsx@4.19.2)(yaml@2.6.1)
transitivePeerDependencies: transitivePeerDependencies:

View File

@ -17,7 +17,7 @@ definePage({
}); });
// https://cn.vuejs.org/guide/extras/render-function#typing-functional-components // https://cn.vuejs.org/guide/extras/render-function#typing-functional-components
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const FComponent: import('vue').FunctionalComponent<{ prop: string }> = (props, context) => ( const FComponent: import('vue').FunctionalComponent<{ prop: string }> = (props, context) => (
// <> // <>
<div border="1 solid pink" text="pink"> <div border="1 solid pink" text="pink">

View File

@ -1,6 +1,8 @@
<script setup lang="ts"> <script setup lang="ts">
const VITE_BUILD_COMMIT = import.meta.env.VITE_BUILD_COMMIT; const VITE_BUILD_COMMIT = import.meta.env.VITE_BUILD_COMMIT;
import { routes } from 'vue-router/auto-routes'; import { routes } from 'vue-router/auto-routes';
consola.info('routes', routes);
</script> </script>
<template> <template>

View File

@ -1,5 +1,5 @@
export function install() { export function install() {
if ((import.meta.env.MODE === 'development' || 1 === 1) && 0) { if (import.meta.env.MODE === 'development' && '1' === ('2' as never)) {
// TODO: https://github.com/hu3dao/vite-plugin-debug/ // TODO: https://github.com/hu3dao/vite-plugin-debug/
// https://eruda.liriliri.io/zh/docs/#快速上手 // https://eruda.liriliri.io/zh/docs/#快速上手
import('eruda').then(({ default: eruda }) => { import('eruda').then(({ default: eruda }) => {

View File

@ -41,7 +41,7 @@ export function Plugins() {
exclude: ['**/__*', '**/__*/**/*'], exclude: ['**/__*', '**/__*/**/*'],
getRouteName: (routeNode) => getPascalCaseRouteName(routeNode), getRouteName: (routeNode) => getPascalCaseRouteName(routeNode),
logs: false, logs: false,
extensions: ['.page.vue', '.md'], extensions: ['.page.vue', '.page.md'],
}), }),
vue: Vue({ include: [/\.vue$/, /\.md$/] }), vue: Vue({ include: [/\.vue$/, /\.md$/] }),
vueJsx: VueJsx(), // 如有需要 vueJsx: VueJsx(), // 如有需要
@ -74,6 +74,7 @@ export function Plugins() {
{ {
// add any other imports you were relying on // add any other imports you were relying on
'vue-router/auto': ['useLink'], 'vue-router/auto': ['useLink'],
'consola/browser': ['consola'],
}, },
], ],
dirs: [ dirs: [
@ -148,8 +149,7 @@ export function Plugins() {
}), }),
); );
// eslint-disable-next-line @typescript-eslint/no-unused-vars const _unused = () => {
const unused = () => {
plugins.push( plugins.push(
// https://github.com/unplugin/unplugin-vue-components/issues/664$0 // https://github.com/unplugin/unplugin-vue-components/issues/664$0
// https://github.com/VaJoy/vite-plugin-cdn-import-async$0 // https://github.com/VaJoy/vite-plugin-cdn-import-async$0