目标:
- 将 objectql 的 apps/demo 子项目部署到 Vercel。
- 保证仓库中有 apps/site 与 apps/demo 两个 Vercel 子项目,二者独立,互不影响。
参考:
- hotcrm 仓库中的 vercel.json 以及 api/[[...route]].ts 多云插件、依赖自动注册等实现方案。
- 热门项目将 serverless 入口置于 /api/[[...route]].ts 并对所有路径 rewrite 到此。静态资源、控制台和 studio 通过 SPA 插件提供。
实施方案建议:
- 在 objectql/apps 下新建 demo 子目录(如未存在),并搭建为可独立部署的 demo 应用。
- 为 apps/demo 增加 Vercel 配置,可独立部署,例如:
{
"$schema": "https://openapi.vercel.sh/vercel.json",
"installCommand": "pnpm install --ignore-scripts",
"buildCommand": "bash scripts/build-vercel.sh",
"framework": null,
"functions": {
"api/**/*.ts": {
"memory": 1024,
"maxDuration": 60,
"includeFiles": "{packages/*/dist,node_modules/@object-ui/console/dist,node_modules/@objectstack/plugin-auth/dist,node_modules/@objectstack/studio/dist}/**"
}
},
"rewrites": [
{ "source": "/api/:path*", "destination": "/api/[[...route]]" },
{ "source": "/(.*)", "destination": "/api/[[...route]]" }
]
}
- 结合 demo 实际情况,完善 scripts/build-vercel.sh、api/[[...route]].ts 及 demo package 依赖和启动逻辑。
- README.md 增加部署说明并示例如何本地和 Vercel 云端开发两种场景下运行。
- 提交后需通过 CI 测试,确保 1) 主线不受影响,2) demo 可独立 build/deploy。
- 协作完成后,更新 ROADMAP.md/CHANGELOG.md。
注意事项:
- 不得影响现有 apps/site 子项目。
- 禁止临时性、低质量的 hack,需采用长期可维护的工程化方案。
- 配置多子项目部署(Monorepo & 多 Project)时,参考 Vercel 官方 workspace/multi-project best practice。
相关参考:
目标:
参考:
实施方案建议:
{ "$schema": "https://openapi.vercel.sh/vercel.json", "installCommand": "pnpm install --ignore-scripts", "buildCommand": "bash scripts/build-vercel.sh", "framework": null, "functions": { "api/**/*.ts": { "memory": 1024, "maxDuration": 60, "includeFiles": "{packages/*/dist,node_modules/@object-ui/console/dist,node_modules/@objectstack/plugin-auth/dist,node_modules/@objectstack/studio/dist}/**" } }, "rewrites": [ { "source": "/api/:path*", "destination": "/api/[[...route]]" }, { "source": "/(.*)", "destination": "/api/[[...route]]" } ] }注意事项:
相关参考: