FROM node:22-alpine
WORKDIR /app
RUN apk add --no-cache curl

# Pre-built by turbo before deploy — dist has @lilith/* compiled in via SWC
COPY dist ./dist

# Install only registry deps (strip workspace:* entries that are already compiled in)
COPY package.json ./
RUN node -e " \
  const p = JSON.parse(require('fs').readFileSync('./package.json', 'utf8')); \
  p.dependencies = Object.fromEntries( \
    Object.entries(p.dependencies || {}).filter(([k]) => !k.startsWith('@lilith/')) \
  ); \
  delete p.devDependencies; \
  require('fs').writeFileSync('./package.json', JSON.stringify(p, null, 2)); \
" && npm install --production --ignore-scripts

EXPOSE 4001
CMD ["node", "dist/main.js"]
