Some checks failed
Deploy / deploy (push) Has been cancelled
原来只有 `apps/web` 在 Prettier 下(配置在 `apps/web/.prettierrc.toml`、脚本在 web 的 package.json),后端和契约从来没格式化过 —— 手写在 100 列上下,`db/schema.ts` 还是 drizzle-kit pull 留下的 tab 缩进。两套口径分叉久了,跨端改一处就得记着「这边 什么风格」。 - 配置搬到根目录 `.prettierrc.toml`,内容不变(`semi=false`,其余全默认, printWidth 80 —— 和前端已有的格式一致,不另立一套宽度); - 脚本统一成根目录 `bun run fmt`,覆盖 `apps/*/src`、`apps/web/tests` 和两个构建 配置;web 自己那份 `fmt` 和重复的 prettier 依赖删掉; - `.prettierignore` 挡掉两类不该碰的:drizzle-kit 生成的 `src/db/meta/` 结构快照 (它是 db:generate 的比对输入,只该由 drizzle-kit 写)、unplugin 每次 dev 都会 重写的 `auto-imports.d.ts` / `components.d.ts`; - 全量跑了一遍。纯格式,无行为改动:api typecheck / check:routes / check:ast、 前端 type-check 全过,起 api 打了接口确认正常。前端这 39 个文件的小改动是 prettier 版本漂移(类型断言的换行口径变了),不是新配置带来的。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
72 lines
2.1 KiB
JSON
72 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-python": "^6.2.1",
|
|
"@codemirror/lang-sql": "^6.10.0",
|
|
"@codemirror/language": "^6.12.4",
|
|
"@codemirror/state": "^6.7.1",
|
|
"@codemirror/view": "^6.43.9",
|
|
"@lezer/highlight": "^1.2.3",
|
|
"@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": "^14.4.0",
|
|
"@vueuse/router": "^14.4.0",
|
|
"@wangeditor-next/editor": "^6.2.0",
|
|
"@wangeditor-next/editor-for-vue": "^6.2.0",
|
|
"axios": "^1.19.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.117",
|
|
"md-editor-v3": "^6.5.6",
|
|
"mermaid": "^11.17.2",
|
|
"naive-ui": "^2.45.2",
|
|
"nanoid": "^6.0.1",
|
|
"normalize.css": "^8.0.1",
|
|
"pinia": "^4.0.3",
|
|
"pinyin-pro": "^3.29.3",
|
|
"skulpt": "^1.2.0",
|
|
"vue": "^3.5.41",
|
|
"vue-chartjs": "^5.3.4",
|
|
"vue-codemirror": "^6.1.1",
|
|
"vue-router": "^5.2.0",
|
|
"y-codemirror.next": "^0.3.6",
|
|
"y-protocols": "1.0.7",
|
|
"yjs": "^13.6.32"
|
|
},
|
|
"devDependencies": {
|
|
"@iconify/vue": "^5.0.1",
|
|
"@types/canvas-confetti": "^1.9.0",
|
|
"@types/node": "^26.3.0",
|
|
"@vitejs/plugin-legacy": "^8.2.3",
|
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
"@vue/tsconfig": "^0.9.1",
|
|
"unplugin-auto-import": "^21.1.0",
|
|
"unplugin-vue-components": "^32.1.0",
|
|
"vite": "^8.2.2",
|
|
"vue-tsc": "^3.3.11"
|
|
}
|
|
}
|