.npmrc in den Docker-Build-Kontext kopieren

docker_web scheiterte am Tag v0.6.0-rc.1: pnpm loeste
@sorb/threadnet-call-embedded gegen registry.npmjs.org auf und bekam 404.

Die COPY-Zeile hat .npmrc noch nie mitgenommen. Bis pnpm 10 fiel das nicht
auf, weil --frozen-lockfile die im Lockfile gepinnte Tarball-URL nahm und
gar nichts aufzuloesen brauchte. Upstream bringt pnpm 11 mit
minimumReleaseAgeStrict: true - das prueft fuer jeden Lockfile-Eintrag das
Veroeffentlichungsdatum und braucht dafuer Registry-Metadaten. Damit wird der
Scope wieder aufgeloest, und ohne .npmrc gegen die falsche Registry.

Genau diesen Ablauf sagt die .npmrc selbst voraus (management#0055) - der Fix
lag nur an einer Stelle, an die der Docker-Build nie herankam.

Fuer den Scope ist kein Geheimnis noetig, der Lesezugriff ist anonym.
This commit is contained in:
Thore Cimbal
2026-08-19 12:00:00 +00:00
parent 9622bd3c3a
commit 956f561ba8
+8 -1
View File
@@ -18,7 +18,14 @@ ARG JS_SDK_BRANCH="master"
WORKDIR /src
# Install dependencies
COPY --parents package.json pnpm-lock.yaml pnpm-workspace.yaml patches scripts **/package.json /src/
#
# ThreadNet-Fork: .npmrc muss mit, sonst loest @sorb/threadnet-call-embedded
# gegen registry.npmjs.org auf (404, im schlimmeren Fall ein fremdes Paket).
# Bis pnpm 10 fiel das nicht auf, weil --frozen-lockfile die gepinnte
# Tarball-URL nahm und nichts aufloeste. pnpm 11 prueft mit
# minimumReleaseAgeStrict das Alter jedes Eintrags und braucht dafuer
# Registry-Metadaten - also wieder die richtige Registry. Siehe management#0055.
COPY --parents .npmrc package.json pnpm-lock.yaml pnpm-workspace.yaml patches scripts **/package.json /src/
RUN pnpm install --frozen-lockfile
RUN --mount=type=bind,source=.git,target=/src/.git /src/scripts/docker-link-repos.sh