- ESLint(flat config,vue essential + ts recommended)接入并清零: webauthn.ts 标注为刻意的动态类型边界(文件级豁免),theme-init.js 修掉未用的 catch 变量 - vitest + jsdom 接入,build 前置跑测试;覆盖 format 工具、auth store (token 只存内存、bootstrap 恢复、遗留键清理)、client.ts 401 拦截器 single-flight(自定义 axios adapter 模拟 401→refresh→重放) - TrendChart:hover 命中区盖满槽位(窄条也可悬停),读数显示在头部行, 标签行联动高亮 - auth store bootstrap 顺手清理旧版 localStorage 遗留的 access token 键
37 lines
916 B
JSON
37 lines
916 B
JSON
{
|
|
"name": "openteam-web",
|
|
"private": true,
|
|
"version": "0.1.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vue-tsc -b && vitest run --silent && vite build",
|
|
"preview": "vite preview",
|
|
"lint": "eslint .",
|
|
"test": "vitest run"
|
|
},
|
|
"dependencies": {
|
|
"@fontsource-variable/geist": "^5.2.5",
|
|
"@fontsource-variable/geist-mono": "^5.2.5",
|
|
"@phosphor-icons/vue": "^2.2.1",
|
|
"axios": "^1.7.9",
|
|
"pinia": "^2.3.1",
|
|
"vue": "^3.5.13",
|
|
"vue-router": "^4.5.0"
|
|
},
|
|
"devDependencies": {
|
|
"@tailwindcss/vite": "^4.0.0",
|
|
"@types/node": "^22.10.0",
|
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
"@vue/eslint-config-typescript": "^14.9.0",
|
|
"eslint": "^10.13.0",
|
|
"eslint-plugin-vue": "^10.12.0",
|
|
"jsdom": "^30.1.3",
|
|
"tailwindcss": "^4.0.0",
|
|
"typescript": "~5.6.2",
|
|
"vite": "^6.0.0",
|
|
"vitest": "^5.0.5",
|
|
"vue-tsc": "^2.1.10"
|
|
}
|
|
}
|