npm 11 (used locally, Node 25) generates package-lock.json entries for
optional platform packages without a 'version' field. npm 10.8.2 bundled
in node:20-alpine rejects these with 'Invalid Version:' during npm ci.
Upgrade npm to latest inside the builder stage before running npm ci.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>