返回更新日志
里程碑

pnpm workspace、两个应用,以及只使用环境变量的配置

模板现在是 pnpm workspace。apps/web 服务 Vercel 和 Docker。apps/cloudflare 服务 Workers。加密的后台设置已移除。

模板改为带 Turborepo 的 pnpm workspace。共享行为放在 @musemvp/* 包里。页面代码在两个应用之间复制,并由 pnpm apps:parity 检查。

应用

  • apps/web 是给 Vercel 和 Docker 用的 Node 应用。把 Vercel 的 Root Directory 设为 apps/web。
  • apps/cloudflare 是 Workers 应用。用 pnpm cf:deploy 部署。
  • DATABASE_CONNECTION_STRATEGY 已删除。Node 应用使用连接池。Workers 应用按请求使用 Hyperdrive。

配置

  • 支付、存储、Turnstile 和新闻订阅签名都是环境变量。
  • /app/admin/settings 和 MUSE_SETTINGS_SECRET 已移除。迁移 0002_drop_app_settings.sql 会删除 app_setting 和 app_setting_revision。
  • pnpm muse:settings:export 可以把旧的加密记录打印成环境变量。
  • pnpm muse:init 和 pnpm muse:doctor 用来初始化本地应用。

测试

  • 包测试放在各自的包旁边。覆盖率下限只能提高。
  • pnpm test:e2e 覆盖 Node 应用。pnpm test:e2e:cf 覆盖 Cloudflare 应用。