几处随升级改的: - VueUse 15 的 useNow 不再收 interval,不传 scheduler 默认逐帧刷新。比赛列表(1 秒) 和后台建比赛(15 秒)改成用 useIntervalFn 当调度器,频率不变。 - 重新探测 modernPolyfills:mermaid 12 用了 Object.groupBy(Chrome 117),core-js 新数据 把 URL.parse(Chrome 126)也算进来了,不补的话机房老机器上静默报 TypeError。清单 52 项。 - vue-router 5.4 弃用了导航守卫里的 next(),全局守卫改成返回值。 - web-tree-sitter 0.27:AST 规则在 dev 和编译后的二进制里各跑过一遍,判过、判不过都对; jieba 2.0.4 原生模块在仓库外起二进制能正常分词。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
73 lines
2.1 KiB
JSON
73 lines
2.1 KiB
JSON
{
|
|
"name": "@oj2/web",
|
|
"version": "1.9.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"start": "vite",
|
|
"build": "vite build",
|
|
"build:staging": "vite build --mode staging",
|
|
"build:test": "vite build --mode test",
|
|
"type-check": "vue-tsc --noEmit -p tsconfig.app.json"
|
|
},
|
|
"dependencies": {
|
|
"@codemirror/autocomplete": "^6.20.3",
|
|
"@codemirror/lang-cpp": "^6.0.3",
|
|
"@codemirror/lang-markdown": "^6.5.2",
|
|
"@codemirror/lang-python": "^6.2.1",
|
|
"@codemirror/lang-sql": "^6.10.0",
|
|
"@codemirror/language": "^6.13.1",
|
|
"@codemirror/state": "^6.7.6",
|
|
"@codemirror/view": "^6.43.14",
|
|
"@lezer/highlight": "^1.2.5",
|
|
"@oj2/contract": "workspace:*",
|
|
"@vue-flow/background": "^1.3.2",
|
|
"@vue-flow/controls": "^1.1.3",
|
|
"@vue-flow/core": "^1.48.2",
|
|
"@vue-flow/minimap": "^1.5.4",
|
|
"@vue-flow/node-resizer": "^1.5.1",
|
|
"@vue-flow/node-toolbar": "^1.1.1",
|
|
"@vueuse/core": "^15.0.0",
|
|
"@vueuse/router": "^15.0.0",
|
|
"@wangeditor-next/editor": "^6.5.0",
|
|
"@wangeditor-next/editor-for-vue": "^6.5.0",
|
|
"axios": "^1.20.0",
|
|
"canvas-confetti": "^1.9.4",
|
|
"chart.js": "^4.5.1",
|
|
"chartjs-chart-wordcloud": "^4.4.5",
|
|
"codemirror": "^6.0.2",
|
|
"copy-text-to-clipboard": "^3.2.2",
|
|
"date-fns": "^4.4.0",
|
|
"fflate": "^0.8.3",
|
|
"highlight.js": "^11.12.0",
|
|
"lib0": "0.2.119",
|
|
"markdown-it": "^14.3.0",
|
|
"mermaid": "^12.1.0",
|
|
"naive-ui": "^2.45.3",
|
|
"nanoid": "^6.0.2",
|
|
"normalize.css": "^8.0.1",
|
|
"pinia": "^4.0.3",
|
|
"pinyin-pro": "^3.29.5",
|
|
"vue": "^3.5.43",
|
|
"vue-chartjs": "^5.3.4",
|
|
"vue-codemirror": "^6.1.1",
|
|
"vue-router": "^5.4.0",
|
|
"y-codemirror.next": "^0.3.6",
|
|
"y-protocols": "1.0.7",
|
|
"yjs": "^13.6.33"
|
|
},
|
|
"devDependencies": {
|
|
"@iconify/vue": "^5.0.3",
|
|
"@types/canvas-confetti": "^1.9.0",
|
|
"@types/markdown-it": "^14.1.2",
|
|
"@types/node": "^26.6.5",
|
|
"@vitejs/plugin-legacy": "^8.2.3",
|
|
"@vitejs/plugin-vue": "^6.0.10",
|
|
"@vue/tsconfig": "^0.9.1",
|
|
"unplugin-auto-import": "^21.1.0",
|
|
"unplugin-vue-components": "^32.1.0",
|
|
"vite": "^8.3.4",
|
|
"vue-tsc": "^3.3.13"
|
|
}
|
|
}
|