From c90ac4d175dae46ba3795be359ba5f5d2bf203fe Mon Sep 17 00:00:00 2001 From: Thore Cimbal Date: Wed, 19 Aug 2026 12:00:00 +0000 Subject: [PATCH] .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. --- apps/web/Dockerfile | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/apps/web/Dockerfile b/apps/web/Dockerfile index 67f7bd8450..a121f52700 100644 --- a/apps/web/Dockerfile +++ b/apps/web/Dockerfile @@ -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