Files
siftlode/.dockerignore
T
peter 33abf2a4d8 fix(build): stop the host tree leaking into the image, split the tsc lanes
Review round 1 fallout, all of it verified against real builds:

- .dockerignore: `node_modules/` is anchored at the context root and has no
  implicit `**/` (unlike gitignore), so it never matched frontend/node_modules.
  `COPY frontend/ ./` was overlaying the Windows host's node_modules on top of
  what `npm ci` had installed — the image carried @esbuild/win32-x64 and 31 .cmd
  shims, and the new typecheck ran a tsc resolved from that merged tree. Build
  context transfer drops 3.05 GB -> 19 kB. Also excludes e2e/.auth (a live
  Playwright session), the report/result dirs and logs.
- build no longer type-checks the e2e project: a type error in a spec must not
  make the app unbuildable for a self-hoster. The gate still checks it via
  `npm run typecheck` (now three named lanes).
- tsconfig.json references tsconfig.node.json, so editors check vite.config.ts /
  vitest.config.ts under the same config the gate uses instead of an inferred one.
- vitest include accepts .test.tsx: an uncollected test file does not fail, it
  silently never runs.
2026-07-21 01:37:53 +02:00

24 lines
713 B
Plaintext

.git
.gitignore
.env
*.env.local
**/__pycache__/
**/*.pyc
.venv/
venv/
# Docker patterns are anchored at the context root with NO implicit `**/` (unlike .gitignore, where
# this same line matches at any depth) — a bare `node_modules/` missed frontend/node_modules, so
# `COPY frontend/ ./` overlaid the host's Windows tree on top of what `npm ci` had just installed.
**/node_modules/
frontend/dist/
# Host-only test artifacts. e2e/.auth/state.json is a live Playwright session: it never reached the
# runtime image (stage 2 copies only /fe/dist), but it has no business in the build context either.
frontend/e2e/.auth/
frontend/playwright-report/
frontend/test-results/
**/*.log
backups/
*.dump
README.md
docs/