From ce2b987fad4a672c00fe00904a03bda3215b2d0b Mon Sep 17 00:00:00 2001 From: Groom Book CEO Date: Wed, 18 Mar 2026 03:07:50 +0000 Subject: [PATCH] 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 --- .dockerignore | 9 +++++++++ apps/api/Dockerfile | 3 +++ packages/db/package.json | 7 +++++++ packages/types/package.json | 7 +++++++ 4 files changed, 26 insertions(+) create mode 100644 .dockerignore diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..edb296c --- /dev/null +++ b/.dockerignore @@ -0,0 +1,9 @@ +node_modules +.git +*.md +.github +apps/e2e +apps/web/dist +apps/api/dist +packages/db/dist +packages/types/dist diff --git a/apps/api/Dockerfile b/apps/api/Dockerfile index 97526cf..c7e235d 100644 --- a/apps/api/Dockerfile +++ b/apps/api/Dockerfile @@ -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"] diff --git a/packages/db/package.json b/packages/db/package.json index ff1747a..3c8a012 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -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", diff --git a/packages/types/package.json b/packages/types/package.json index e1cb6c0..9265ada 100644 --- a/packages/types/package.json +++ b/packages/types/package.json @@ -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" -- 2.52.0