Skip to content

refactor: 项目重构为 pnpm monorepo 结构#417

Merged
consistent-k merged 5 commits intomainfrom
dev
Mar 26, 2026
Merged

refactor: 项目重构为 pnpm monorepo 结构#417
consistent-k merged 5 commits intomainfrom
dev

Conversation

@consistent-k
Copy link
Copy Markdown
Owner

@consistent-k consistent-k commented Mar 26, 2026

Summary by CodeRabbit

发布说明

  • 新功能

    • 新增前端应用:全套页面(首页、分类、详情、播放、设置)、播放器、列表、搜索、主题选择与布局组件。
    • 新增后端包与共享类型包,支持本地开发容器化体验。
  • 问题修复

    • 修复分类/搜索过滤中空值导致的运行时错误。
  • 工程优化

    • 项目重构为 pnpm monorepo;完善 Docker、Compose 与多项 CI 工作流(构建、镜像、审计、标签等)。
    • 增强 lint/格式化与类型检查配置;调整依赖与自动化更新策略。

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 26, 2026

Caution

Review failed

The pull request is closed.

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 814e1e87-5289-439c-a256-06e51f8ea393

📥 Commits

Reviewing files that changed from the base of the PR and between 4436c41 and 187e123.

📒 Files selected for processing (1)
  • eslint.config.js

Walkthrough

将项目从单一 src 结构重构为 pnpm monorepo,新增 apps/backendapps/frontendpackages/shared,迁移/新增类型、前后端应用代码、配置、CI/工作流、Docker 与多项前端 UI/主题/状态管理代码与文档。仅部分旧 src/types 被删除并重定位。

Changes

Cohort / File(s) Summary
Cursor 规则 & 文档
.cursor/rules/backend/code-style.mdc, .cursor/rules/backend/error-handling.mdc, .cursor/rules/backend/general.mdc, .cursor/rules/backend/routes.mdc, .cursor/rules/frontend/rules/*
收窄后端规则 globs 至 apps/backend/...,新增一整套前端 Cursor 规则(code-style、project、structure、workflow、规则描述与示例)。
Monorepo 根配置
package.json, pnpm-workspace.yaml, tsconfig.base.json, tsconfig.json (removed), eslint.config.js
根 package.json 转为 workspace 风格,添加/调整 tsconfig 基础文件,拆分/扩展 ESLint 为前后端配置,删除旧根 tsconfig。
GitHub CI / 自动化
.github/workflows/*, .github/labeler.yml, .github/dependabot.yml
新增多项 workflows(安全审计、Docker 前端镜像、首次交互、PR labeler)、新增 labeler 配置,并将 Dependabot 范围细分到 apps/backendapps/frontend
后端包与类型
apps/backend/package.json, apps/backend/tsconfig.json, apps/backend/src/types/index.ts, apps/backend/Dockerfile, apps/backend/src/utils/filters/index.ts
新增后端 workspace 包与 TypeScript 配置,添加后端路由/类型定义,修正 filters 空值检查,微调 Dockerfile 构建步骤。
共享类型包
packages/shared/package.json, packages/shared/src/types/index.ts, packages/shared/src/index.ts, packages/shared/tsconfig.json
新增 @vodhub/shared 包并导出共享数据类型,配置 package exports 与 tsconfig。
前端包与基础配置
apps/frontend/package.json, apps/frontend/tsconfig.json, apps/frontend/next.config.ts, apps/frontend/postcss.config.mjs, apps/frontend/Dockerfile
新增前端 workspace 包、TypeScript/Next/PostCSS 配置及多阶段 Dockerfile。
前端页面与布局
apps/frontend/app/layout.tsx, apps/frontend/app/home/page.tsx, apps/frontend/app/category/page.tsx, apps/frontend/app/detail/page.tsx, apps/frontend/app/setting/page.tsx, apps/frontend/app/globals.scss
实现 App Router 根布局与四个主要页面(home/category/detail/setting),并添加全局样式与元数据导出。
前端组件库(UI / 图标 / 布局)
apps/frontend/components/ui/*, apps/frontend/components/icons/*, apps/frontend/app/layouts/*, apps/frontend/components/providers/*
新增 Loading、ThemeSelector、Disclaimer、SiteHeader、InitProvider、ThemeProvider 等通用组件与图标,Ant Design 集成与主题应用。
视频业务组件
apps/frontend/components/video/*, apps/frontend/app/home/components/*
新增 VodList、VodPalyer、VodSearch、VodTypes、VodSites、HomeCarousel 等视频相关组件与样式模块。
前端状态与服务层
apps/frontend/lib/store/*, apps/frontend/lib/hooks/*, apps/frontend/services/*, apps/frontend/lib/utils/request/index.ts, apps/frontend/lib/utils/index.ts
新增 Zustand stores(主题、sites、setting)、useIsMobile hook、API 服务层(services/vodhub)与通用 request 封装及 base64 工具。
样式模块与主题
多个 apps/frontend/*/*.module.scss, apps/frontend/lib/themes/index.ts
添加大量 SCSS module 与三套主题定义、CSS 变量、全局设计令牌。
文档与容器编排
AGENTS.md, apps/frontend/README.md, docker-compose.yml, .gitignore
更新项目文档以说明 monorepo、前后端开发命令,新增前端 README,添加 docker-compose dev 配置并扩展 .gitignore。
类型迁移 / 删除
src/types/index.ts (deleted)
删除原始单体项目类型文件;类型被迁移到 packages/shared/src/types/apps/backend/src/types/

Estimated code review effort

🎯 4 (复杂) | ⏱️ ~75 分钟

Possibly related PRs

诗歌

🐰 我是一只搬家的兔子,轻轻把 src 放入篮,
前端花园开了三色主题,后端小屋安了路由牌,
共享胡萝卜静静躺在 packages 中,
CI 舞步与 Docker 茶会都已准备好,
我蹦呀蹦,monorepo 花开满怀。

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed 拉取请求标题准确总结了主要变更:将代码库从单一应用重构为pnpm monorepo结构,并改进了CI/CD流程。标题简洁清晰,包含了两个关键方面的重组工作。

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch dev

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 26, 2026

Dependency Review

The following issues were found:

  • ❌ 1 vulnerable package(s)
  • ✅ 0 package(s) with incompatible licenses
  • ✅ 0 package(s) with invalid SPDX license definitions
  • ⚠️ 43 package(s) with unknown licenses.
  • ⚠️ 26 packages with OpenSSF Scorecard issues.

View full job summary

@consistent-k consistent-k changed the title Refactor codebase to pnpm monorepo and improve CI/CD refactor: 项目重构为 pnpm monorepo 结构 Mar 26, 2026
@consistent-k consistent-k merged commit 89f94ee into main Mar 26, 2026
4 of 5 checks passed
@consistent-k consistent-k deleted the dev branch March 26, 2026 17:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant