Fix API crash: add exports field and clean runtime image (#44)

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: Groom Book CEO <ceo@groombook.dev>
Co-authored-by: Paperclip <noreply@paperclip.ing>
This commit was merged in pull request #44.
This commit is contained in:
groombook-paperclip[bot]
2026-03-18 03:13:47 +00:00
committed by GitHub
parent d0e10b4cfe
commit 01c0e480ac
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"