forked from wangziqi/gongxue-base
1.7 KiB
1.7 KiB
Why
当前项目采用平面目录结构(backend/ + frontend/),根 package.json 仅用 cd 脚本串联两个子项目。规划中将新增学生端(student)等应用,现有结构无法支持统一构建编排、共享配置和依赖管理,项目工程化能力成为扩张瓶颈。需要建立标准 monorepo 体系,为多应用并行开发奠定基础。
What Changes
- BREAKING:目录重组 —
backend/→apps/server/(API 服务),frontend/→apps/admin/(管理后台),预留apps/student/(学生端) - 引入 Turborepo 构建编排,定义
turbo.json流水线 - 根
package.json改造为 npm workspaces 声明 - 抽取共享 TypeScript 配置到
packages/typescript-config/ - 代码格式化从 Prettier 迁移到 oxfmt
- 前端 Linting 从 ESLint 迁移到 oxlint(后端保留 ESLint,保障 NestJS 规则覆盖)
- Docker Compose 构建上下文路径调整
- 新增统一的根级脚本:
dev、build、lint、format
Capabilities
New Capabilities
monorepo-structure: npm workspaces 驱动的 monorepo 目录结构(apps/ + packages/)turborepo-pipeline: Turborepo 构建流水线与缓存oxlint-oxfmt-toolchain: 基于 oxlint + oxfmt 的代码质量工具链(前端 oxlint,后端保留 ESLint)
Modified Capabilities
Impact
- 目录结构:所有顶层
backend/、frontend/路径引用需更新 - 配置文件:根
package.json、tsconfig(新增共享包)、.gitignore、Dockerfiles、docker-compose.yml - 开发流程:开发、构建、lint、format 命令从子目录变更到根目录执行
- 无业务代码变更:
src/下所有业务逻辑保持不变