agent-Specialization/package.json
JOJO 7c7201a574 feat(i18n): 前端多语言基建(vue-i18n 文案 token 体系 + 审计栏杆)与第一波迁移
- 基建:static/src/locales/ 11 个命名空间×中英双语,zh 为源语言;
  en-US 聚合器 DeepString 强校验 key 奇偶;installI18n/useLocale 复刻 theme.ts 模式
- 语言切换:个人空间→外观→界面语言(默认 zh-CN,localStorage 持久化)
- 防回退栏杆:scripts/i18n_audit.mjs(字符级注释剥离状态机)+ baseline 豁免清单,
  挂入 npm run lint 链首与独立 lint:text;规范见 doc/frontend/i18n_spec.md(本地)
- 第一波迁移 13 文件约 1400 条:PersonalizationDrawer/toolRenderers/chatDisplay/
  InputComposer/admin 全部 6 应用/tutorial/MonitorDirector/WorkflowEditorView
- common 公共词归并:刷新中/保存中/暂无数据/未运行 单一来源
- AGENTS.md 新增 §5.8 文案规范
2026-08-28 12:07:03 +08:00

75 lines
2.3 KiB
JSON

{
"name": "astrion-frontend",
"version": "4.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "vite build --watch",
"build": "tsc --noEmit && stylelint \"static/src/**/*.{scss,vue}\" && vite build",
"lint": "node scripts/i18n_audit.mjs && eslint \"static/src/**/*.{ts,tsx,js,vue}\" --max-warnings=0",
"lint:text": "node scripts/i18n_audit.mjs",
"lint:css": "stylelint \"static/src/**/*.{scss,vue}\"",
"format": "prettier --write \"static/src/**/*.{ts,tsx,js,vue,css}\"",
"preview": "vite preview",
"cli": "npm --prefix cli run dev",
"cli:build": "npm --prefix cli run build",
"cli:typecheck": "npm --prefix cli run typecheck"
},
"dependencies": {
"@dagrejs/dagre": "^3.1.1",
"@tiptap/extension-mention": "^3.23.6",
"@tiptap/extension-placeholder": "^3.23.6",
"@tiptap/starter-kit": "^3.23.6",
"@tiptap/suggestion": "^3.23.6",
"@tiptap/vue-3": "^3.23.6",
"@types/html2canvas": "^0.5.35",
"@vue-flow/background": "^1.3.2",
"@vue-flow/controls": "^1.1.3",
"@vue-flow/core": "^1.48.2",
"@vue-flow/minimap": "^1.5.4",
"@xterm/addon-fit": "^0.11.0",
"@xterm/addon-web-links": "^0.12.0",
"diff": "^8.0.3",
"dompurify": "^3.2.7",
"enquirer": "^2.4.1",
"html2canvas": "^1.4.1",
"katex": "^0.16.9",
"marked": "^11.1.0",
"pdfjs-dist": "^6.0.227",
"pinia": "^3.0.4",
"prismjs": "^1.29.0",
"rehype-raw": "^7.0.0",
"rehype-sanitize": "^6.0.0",
"rehype-stringify": "^10.0.1",
"remark-breaks": "^4.0.0",
"remark-gfm": "^4.0.1",
"remark-parse": "^11.0.0",
"remark-rehype": "^11.1.2",
"sherpa-onnx": "^1.13.2",
"socket.io-client": "^4.7.5",
"unified": "^11.0.5",
"virtua": "^0.49.3",
"vue": "^3.4.15",
"vue-i18n": "^10.0.8",
"vue-stick-to-bottom": "^1.0.0",
"xterm": "^5.3.0"
},
"devDependencies": {
"@playwright/test": "^1.61.1",
"@types/node": "^20.10.5",
"@vitejs/plugin-vue": "^5.0.3",
"@vue/eslint-config-prettier": "^9.0.0",
"@vue/eslint-config-typescript": "^12.0.0",
"eslint": "^8.56.0",
"eslint-plugin-vue": "^9.19.2",
"postcss-html": "^1.6.0",
"postcss-scss": "^4.0.9",
"prettier": "^3.1.1",
"sass": "^1.94.2",
"stylelint": "^16.10.0",
"typescript": "^5.3.3",
"vite": "^5.0.10",
"vue-tsc": "^1.8.22"
}
}