From 5c1ab9c7b50554764ae67a4bb37bf9e260f2129f Mon Sep 17 00:00:00 2001 From: agent_vscode Date: Sat, 11 Jul 2026 01:13:48 +0300 Subject: [PATCH] fix(docker): ship packages/mcp/data into runtime image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit drawioFromGraph и каталог фигур читают данные в рантайме по пути packages/mcp/data/ (относительно build/lib/*.js через import.meta.url). tsc эмитит только build/, а стадия installer копировала лишь build/ и package.json — в образе не было ни drawio-presets.json (#425), ни drawio-shape-index.json.gz (#440), из-за чего drawioFromGraph падал с ENOENT, а иконки каталога фигур молча не резолвились. Добавлен COPY packages/mcp/data в стадию installer. .dockerignore /data заякорен на корень и этот путь не затрагивает. --- Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Dockerfile b/Dockerfile index f3b1f646..c6285de0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -45,6 +45,11 @@ COPY --from=builder /app/packages/editor-ext/dist /app/packages/editor-ext/dist COPY --from=builder /app/packages/editor-ext/package.json /app/packages/editor-ext/package.json COPY --from=builder /app/packages/mcp/build /app/packages/mcp/build COPY --from=builder /app/packages/mcp/package.json /app/packages/mcp/package.json +# The mcp package reads its data files (drawio-presets.json, drawio-shape-index.json.gz) +# at runtime via `new URL("../../data/…", import.meta.url)` relative to build/lib/*.js, +# i.e. from packages/mcp/data/. tsc emits only build/, so ship data/ explicitly or +# drawioFromGraph and the shape catalog die with ENOENT on packages/mcp/data/*. +COPY --from=builder /app/packages/mcp/data /app/packages/mcp/data # mcp now depends on @docmost/prosemirror-markdown (workspace:*) and eager-imports # it at runtime (the in-app ai-chat DocmostClient loads build/index.js -> lib/ # markdown-converter.js). Ship the built package + its manifest, or the prod