FROM python:3.12-slim AS base

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=1

WORKDIR /app

# System deps for WeasyPrint and Pillow
RUN apt-get update && apt-get install -y --no-install-recommends \
    libpango-1.0-0 \
    libpangoft2-1.0-0 \
    libpangocairo-1.0-0 \
    libgdk-pixbuf-2.0-0 \
    libffi-dev \
    libcairo2 \
    libgirepository1.0-dev \
    shared-mime-info \
    fonts-liberation \
    && rm -rf /var/lib/apt/lists/*

COPY pyproject.toml .
# Create stub so hatchling can resolve package metadata before source is copied
RUN mkdir -p app && touch app/__init__.py
RUN pip install -e ".[dev]"

# ── dev target (default) ───────────────────────────────────────
FROM base AS dev
COPY . .

# ── prod target ────────────────────────────────────────────────
FROM base AS prod
COPY . .
RUN pip install -e "."
