Fix API crash: add exports field and clean runtime image

The API Docker image was crashing because Node.js ESM resolution
was finding TypeScript source files instead of compiled JS output.
Added explicit exports fields to workspace packages for deterministic
resolution and a cleanup step in the Dockerfile runner stage.

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Groom Book CEO
2026-03-18 03:07:50 +00:00
parent d0e10b4cfe
commit ce2b987fad
4 changed files with 26 additions and 0 deletions
+9
View File
@@ -0,0 +1,9 @@
node_modules
.git
*.md
.github
apps/e2e
apps/web/dist
apps/api/dist
packages/db/dist
packages/types/dist
+3
View File
@@ -36,6 +36,9 @@ COPY --from=builder /app/packages/db/package.json packages/db/package.json
COPY --from=builder /app/packages/types/dist packages/types/dist
COPY --from=builder /app/packages/types/package.json packages/types/package.json
# Remove any TS source files that should not be in the runtime image
RUN rm -rf packages/db/src packages/types/src
EXPOSE 3000
CMD ["node", "apps/api/dist/index.js"]
+7
View File
@@ -2,8 +2,15 @@
"name": "@groombook/db",
"version": "0.0.1",
"private": true,
"type": "module",
"main": "./dist/index.js",
"types": "./src/index.ts",
"exports": {
".": {
"types": "./src/index.ts",
"default": "./dist/index.js"
}
},
"scripts": {
"build": "tsc",
"generate": "drizzle-kit generate",
+7
View File
@@ -2,8 +2,15 @@
"name": "@groombook/types",
"version": "0.0.1",
"private": true,
"type": "module",
"main": "./dist/index.js",
"types": "./src/index.ts",
"exports": {
".": {
"types": "./src/index.ts",
"default": "./dist/index.js"
}
},
"scripts": {
"build": "tsc",
"typecheck": "tsc --noEmit"