0fdc7f59eb
The image is built around corepack-activated pnpm@10.15.0 but two install commands were still using npm/npx, which: - Ignores the pnpm store and creates a separate npm cache (~/.npm) - Inconsistent with the rest of the image Replace: - `npm install -g @bufbuild/protoc-gen-es@X` → `pnpm add -g @bufbuild/protoc-gen-es@X` - `npx --yes playwright@X install chromium` → `pnpm dlx playwright@X install chromium` `pnpm add -g` requires PNPM_HOME on PATH (pnpm's interactive `pnpm setup` does this; we do it explicitly): ENV PNPM_HOME=/root/.local/share/pnpm ENV PATH="${PNPM_HOME}:${PATH}" `pnpm dlx` is a transient install — fetches the package into the store, runs the install command, leaves only the browser binary at $PLAYWRIGHT_BROWSERS_PATH (which is what we actually want). No functional change for consumers. Image is just self-consistent now. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>