# Development Dockerfile for hot reloading # Multi-platform support for AMD64 and ARM64 FROM --platform=$TARGETPLATFORM node:18-alpine # Set working directory WORKDIR /app RUN corepack enable # Copy package files COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ RUN \ if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ elif [ -f package-lock.json ]; then npm ci; \ elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm i --frozen-lockfile; \ else echo "Lockfile not found." && exit 1; \ fi # Install all dependencies (including dev dependencies) RUN \ if [ -f yarn.lock ]; then yarn run build; \ elif [ -f package-lock.json ]; then npm run build; \ elif [ -f pnpm-lock.yaml ]; then corepack enable pnpm && pnpm run build; \ else echo "Lockfile not found." && exit 1; \ fi # Copy source code COPY . . # Expose development port EXPOSE 5173 # Start development server CMD ["pnpm", "run", "dev"]