From 9bbcb20b51f524025936938ecb6d8749815ade25 Mon Sep 17 00:00:00 2001 From: wangziqi Date: Thu, 2 Jul 2026 15:06:37 +0800 Subject: [PATCH] chore: mark Task 1 complete (d13e58a) --- .../changes/migrate-to-turborepo/tasks.md | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 openspec/changes/migrate-to-turborepo/tasks.md diff --git a/openspec/changes/migrate-to-turborepo/tasks.md b/openspec/changes/migrate-to-turborepo/tasks.md new file mode 100644 index 0000000..e3e52c3 --- /dev/null +++ b/openspec/changes/migrate-to-turborepo/tasks.md @@ -0,0 +1,44 @@ +## 1. 目录重组 + +- [x] 1.1 创建 `apps/` 和 `packages/` 顶层目录结构 +- [x] 1.2 将 `backend/` 移动至 `apps/server/`(含 Dockerfile、nest-cli.json 等全部文件) +- [x] 1.3 将 `frontend/` 移动至 `apps/admin/`(含 Dockerfile、nginx.conf、index.html 等全部文件) +- [x] 1.4 创建 `packages/typescript-config/`,提供 `base.json`、`nestjs.json`、`react-vite.json` 三个预设 +- [x] 1.5 清理旧路径:删除根目录残留的 `backend/`、`frontend/` 引用 + +## 2. 根配置 + +- [ ] 2.1 更新根 `package.json`:添加 `workspaces` 字段,统一根脚本(`dev`、`build`、`lint`、`format`、`test`、`typecheck`) +- [ ] 2.2 创建 `turbo.json`,配置 build/dev/lint/test/format/typecheck 流水线与缓存策略 +- [ ] 2.3 更新 `.gitignore`,适配新的 `apps/` 和 `packages/` 路径 +- [ ] 2.4 删除根目录现有 `node_modules/` 和 `package-lock.json`,重新 `npm install` + +## 3. 工具链迁移(oxlint + oxfmt) + +- [ ] 3.1 安装 oxfmt,创建根目录 `.oxfmtrc.json`(映射现有 `.prettierrc` 配置:`singleQuote`、`trailingComma`) +- [ ] 3.2 安装 oxlint,创建根目录 `oxlint.config.ts`,配置 TypeScript + React 规则覆盖 +- [ ] 3.3 移除 `apps/admin/` 中 ESLint 依赖和配置文件,将 lint 脚本改为 oxlint +- [ ] 3.4 移除 `apps/server/` 中 Prettier 相关依赖(`eslint-plugin-prettier`、`eslint-config-prettier`),更新 ESLint 配置 +- [ ] 3.5 删除 `apps/server/.prettierrc`,前端 ESLint 配置由根 oxlint 统一管理 + +## 4. TypeScript 配置更新 + +- [ ] 4.1 更新 `apps/server/tsconfig.json`,继承 `@gongxue/typescript-config/nestjs.json` +- [ ] 4.2 更新 `apps/admin/tsconfig.json`,继承 `@gongxue/typescript-config/react-vite.json` +- [ ] 4.3 更新 `apps/server/package.json` 的 `name` 字段为 `@gongxue/server` +- [ ] 4.4 更新 `apps/admin/package.json` 的 `name` 字段为 `@gongxue/admin` + +## 5. Docker 适配 + +- [ ] 5.1 更新 `docker-compose.yml`:backend 服务 `build.context` 改为 `./apps/server`,frontend 服务 `build.context` 改为 `./apps/admin` +- [ ] 5.2 验证 `docker compose build` 全部成功 +- [ ] 5.3 验证 `docker compose up` 所有服务正常启动 + +## 6. 验证 + +- [ ] 6.1 验证 `npm install`(根目录)所有 workspace 依赖安装正确 +- [ ] 6.2 验证 `npm run build` 根目录构建全部通过 +- [ ] 6.3 验证 `npm run dev` 并行启动 server(:3003)和 admin(:3002),admin API 代理正常工作 +- [ ] 6.4 验证 `npm run lint` 全部通过(server ESLint + admin oxlint) +- [ ] 6.5 验证 `npm run format` oxfmt 格式化检查通过 +- [ ] 6.6 验证 `npm run test --workspace=apps/server` 后端测试通过