Files
openteam/web/package.json
T
Sakurasan 854d0f5d8c feat(web): 接入 ESLint 与 vitest,TrendChart hover 读数
- 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 键
2026-10-30 02:04:02 +08:00

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"
}
}