PPanel Edge

参与开发

仓库结构、依赖范围与本地验证命令。

使用 Bun >=1.3.14 与 Node.js >=24。Bun 运行时只声明最低版本,Bun 最低支持 1.3.14;CI/CD 与 Docker 发布使用最新 Bun,Docker 的 BUN_VERSION 参数仍可覆盖。

依赖更新

普通依赖使用 caret(^),TypeScript 使用 tilde(~),同一 peer 家族使用同一范围。禁止 latest、通配版本与无范围 git 依赖。提交 bun.lock,CI 用 bun install --frozen-lockfile;审查升级时运行 bun update。

目录与验证

每个工作区使用 src/、tests/ 和 scripts/;测试按源码路径镜像,共享辅助文件在 tests/helpers/,tests/support/ 只保留 support 模块自身的测试。根命令 dev、build、test、lint、format、typecheck、check、generate 只负责 Turbo 编排。

迁移从 packages/db 运行 migrate,数据库验证运行 sql:check;开发数据从 apps/api 运行 seed。API 的安全回归运行 test:security,节点模拟器在 packages/node-sim。按需套件与跨应用端到端测试独立运行,不由默认测试启动。

重命令前执行 bun run --cwd tools/dev mem:guard;测试使用 scratch 数据库,结束后可执行 scratch:gc。

浏览器流程属于各应用的 tests/e2e,用 e2e 命令运行;组件布局、焦点和可访问性测试在 tests/browser,用 test:browser 运行(Vitest + Playwright provider)。API 端到端工作流从 apps/api 运行 test:workflows;所有套件共用 packages/test-support 的 scratch 栈。根目录不保留测试目录,CI 只运行 lint、typecheck、test、build。

演示数据:bun run --cwd apps/api seed,源文件位于 apps/api/scripts/seed,工作区不可嵌套。各工作区的 typecheck 检查全部 TypeScript 项目;bun run --cwd tools/dev typecheck:coverage 验证文件覆盖与直接类型依赖。