From c38c2e84b8d77ef83d31620d341cdd888a6a495a Mon Sep 17 00:00:00 2001 From: LukeGus Date: Sat, 26 Sep 2026 13:05:16 -0500 Subject: [PATCH] fix: link every plugin workspace before npm ci in docker deps stage --- docker/Dockerfile | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 1922e5758..42fc073f0 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -5,9 +5,44 @@ WORKDIR /app RUN apt-get update && apt-get install -y python3 make g++ && rm -rf /var/lib/apt/lists/* COPY package*.json ./ -# The plugin SDK is a workspace package core imports at build and run time, so -# npm ci has to see it here to link it into node_modules/@termix/plugin-sdk. +# Every workspace package needs its package.json present before npm ci, or +# npm ci silently skips linking it and its dependencies never get installed +# (a glob COPY like plugins/*/package.json flattens into one file, so each +# plugin needs its own line). COPY packages/plugin-sdk/package.json ./packages/plugin-sdk/package.json +COPY plugins/acme-ssl/package.json ./plugins/acme-ssl/package.json +COPY plugins/ai/package.json ./plugins/ai/package.json +COPY plugins/alerts/package.json ./plugins/alerts/package.json +COPY plugins/automations/package.json ./plugins/automations/package.json +COPY plugins/docker/package.json ./plugins/docker/package.json +COPY plugins/file-manager/package.json ./plugins/file-manager/package.json +COPY plugins/fleets/package.json ./plugins/fleets/package.json +COPY plugins/homepage/package.json ./plugins/homepage/package.json +COPY plugins/host-metrics/package.json ./plugins/host-metrics/package.json +COPY plugins/ldap/package.json ./plugins/ldap/package.json +COPY plugins/network-topology/package.json ./plugins/network-topology/package.json +COPY plugins/opkssh/package.json ./plugins/opkssh/package.json +COPY plugins/proxmox/package.json ./plugins/proxmox/package.json +COPY plugins/remote-desktop/package.json ./plugins/remote-desktop/package.json +COPY plugins/secret-sources/package.json ./plugins/secret-sources/package.json +COPY plugins/serial/package.json ./plugins/serial/package.json +COPY plugins/session-recording/package.json ./plugins/session-recording/package.json +COPY plugins/session-sharing/package.json ./plugins/session-sharing/package.json +COPY plugins/snippets/package.json ./plugins/snippets/package.json +COPY plugins/ssh-terminal/package.json ./plugins/ssh-terminal/package.json +COPY plugins/sso/package.json ./plugins/sso/package.json +COPY plugins/step-ca/package.json ./plugins/step-ca/package.json +COPY plugins/tailscale/package.json ./plugins/tailscale/package.json +COPY plugins/termix-identity/package.json ./plugins/termix-identity/package.json +COPY plugins/tmux-monitor/package.json ./plugins/tmux-monitor/package.json +COPY plugins/totp/package.json ./plugins/totp/package.json +COPY plugins/tunnels/package.json ./plugins/tunnels/package.json +COPY plugins/vault/package.json ./plugins/vault/package.json +COPY plugins/wake-on-lan/package.json ./plugins/wake-on-lan/package.json +COPY plugins/warpgate/package.json ./plugins/warpgate/package.json +COPY plugins/web-endpoint/package.json ./plugins/web-endpoint/package.json +COPY plugins/webauthn/package.json ./plugins/webauthn/package.json +COPY plugins/workspaces/package.json ./plugins/workspaces/package.json COPY .npmrc ./ COPY vendor ./vendor