The 90-second order of operations
Do the cheap checks before deleting half your project.
- 1Prove whether it is browser state.
Open a clean profile/incognito, disable cache while DevTools is open, and unregister service workers. - 2Prove whether the server sees files.
Touch a source file and watch terminal rebuild output. If nothing logs, fix file watching first. - 3Prove whether env is embedded.
Client env is compiled into bundles. Change env, fully restart, then rebuild if needed.
Pasteable Docker watcher baseline
Use when bind mounts drop change events.
services:
web:
environment:
WATCHPACK_POLLING: "true"
CHOKIDAR_USEPOLLING: "true"
# Optional if CPU is high:
WATCHPACK_POLLING_INTERVAL: "300"
volumes:
- .:/app
- /app/node_modules
CI cache key sanity pack
Preview builds that disagree with local often share one bad cache key across OS, Node, package manager, or lockfile changes.
GitHub Actions cache guardrail
- uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: npm
cache-dependency-path: package-lock.json
# Cache key checklist:
# include runner.os, Node version, package manager, and lockfile hash
# never restore node_modules from a branch with a different lockfile
Your fix plan
Choose your stack and symptoms, then generate a plan.