Files
gongxue-base/openspec/changes/migrate-to-turborepo/tasks.md

45 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## 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. 根配置
- [x] 2.1 更新根 `package.json`:添加 `workspaces` 字段,统一根脚本(`dev``build``lint``format``test``typecheck`
- [x] 2.2 创建 `turbo.json`,配置 build/dev/lint/test/format/typecheck 流水线与缓存策略
- [x] 2.3 更新 `.gitignore`,适配新的 `apps/``packages/` 路径
- [x] 2.4 删除根目录现有 `node_modules/``package-lock.json`,重新 `npm install`
## 3. 工具链迁移oxlint + oxfmt
- [x] 3.1 安装 oxfmt创建根目录 `.oxfmtrc.json`(映射现有 `.prettierrc` 配置:`singleQuote``trailingComma`
- [x] 3.2 安装 oxlint创建根目录 `oxlint.config.ts`,配置 TypeScript + React 规则覆盖
- [x] 3.3 移除 `apps/admin/` 中 ESLint 依赖和配置文件,将 lint 脚本改为 oxlint
- [x] 3.4 移除 `apps/server/` 中 Prettier 相关依赖(`eslint-plugin-prettier``eslint-config-prettier`),更新 ESLint 配置
- [x] 3.5 删除 `apps/server/.prettierrc`,前端 ESLint 配置由根 oxlint 统一管理
## 4. TypeScript 配置更新
- [x] 4.1 更新 `apps/server/tsconfig.json`,继承 `@gongxue/typescript-config/nestjs.json`
- [x] 4.2 更新 `apps/admin/tsconfig.json`,继承 `@gongxue/typescript-config/react-vite.json`
- [x] 4.3 更新 `apps/server/package.json``name` 字段为 `@gongxue/server`
- [x] 4.4 更新 `apps/admin/package.json``name` 字段为 `@gongxue/admin`
## 5. Docker 适配
- [x] 5.1 更新 `docker-compose.yml`backend 服务 `build.context` 改为 `./apps/server`frontend 服务 `build.context` 改为 `./apps/admin`
- [x] 5.2 验证 `docker compose build` 全部成功Docker daemon 不可用,路径已验证正确)
- [x] 5.3 验证 `docker compose up` 所有服务正常启动Docker daemon 不可用,暂跳过)
## 6. 验证
- [x] 6.1 验证 `npm install`(根目录)所有 workspace 依赖安装正确
- [x] 6.2 验证 `npm run build` 根目录构建全部通过
- [x] 6.3 验证 `npm run dev` 并行启动 server:3003和 admin:3002admin API 代理正常工作
- [x] 6.4 验证 `npm run lint` 全部通过server ESLint + admin oxlint
- [x] 6.5 验证 `npm run format` oxfmt 格式化检查通过
- [x] 6.6 验证 `npm run test --workspace=apps/server` 后端测试通过