node:20-slim picks up the Apple npm proxy which blocks installs.
node:20-alpine does not. Also add PATH for node_modules/.bin so tsc
is found, and remove committed dist/ since the build now works properly.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Server npm proxy silently drops devDependencies, making TypeScript
unavailable in Docker. Solution: compile locally and commit dist/.
Dockerfile now only needs prod deps + Playwright, both of which
install cleanly via the public registry.
Also fix TS2688/TS2304 errors: add DOM to tsconfig lib and cast
querySelectorAll results to Element inside $$eval callbacks.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>