FROM node:20-slim WORKDIR /app # enable pnpm RUN corepack enable && corepack prepare pnpm@9.12.0 --activate # Copy only package.json first so Docker layer caches deps COPY package.json ./ # Install without frozen lockfile (generates a lock as needed) RUN pnpm install --no-frozen-lockfile # Now bring in the rest of the app COPY vite.config.ts ./ COPY src ./src ENV VITE_API_BASE=http://localhost:8080 EXPOSE 5173 CMD ["pnpm","run","dev","--","--host","0.0.0.0"]