# Build context exclusions. # # This one is a correctness fix, not just a speed one. The Dockerfile runs `npm ci` and THEN # `COPY . .`, so a macOS `node_modules/` in the build context is copied OVER the Linux one the # container just installed. npm's platform-specific binaries (@rollup/rollup-linux-x64-musl, # @esbuild/linux-x64, @tailwindcss/oxide) live in separate optional packages, so the result is # a two-platform node_modules with a host-authored .package-lock.json — sometimes it works, # sometimes the build fails with a missing native binding, and which one you get depends on # whether someone ran `npm install` locally. node_modules/ # Build outputs — regenerated inside the image; stale copies only confuse the layer cache. .svelte-kit/ build/ # Never let a real .env reach an image layer. .env .env.*