npm install re-resolves the full dependency tree from the registry on
every --no-cache build, making two full network round-trips (root + client).
Any slow registry response causes it to appear hung.
Changes:
- Replace both 'npm install' with 'npm ci':
no dependency resolution step, uses lockfile as-is, exits fast on
any mismatch rather than silently upgrading
- Copy package.json + package-lock.json explicitly (not glob) so the
lockfile is always present for npm ci to validate against
- Set npm fetch timeouts (5s min, 30s max, 3 retries) so failures
surface quickly rather than hanging indefinitely
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.1 KiB
1.1 KiB