docs(agents): build shared packages before a consumer's tsc/tests in isolation #384

Merged
vvzvlad merged 1 commits from docs/agents-workspace-build-order into develop 2026-07-06 16:06:35 +03:00
Collaborator

Summary

Добавляет в AGENTS.md (## Commands) заметку про TS2307-ловушку: gitignored build/ шаредных воркспейс-пакетов (@docmost/prosemirror-markdown, @docmost/git-sync, @docmost/mcp) НЕ подтягивается при одиночном pnpm --filter <pkg> test/tsc или голом pnpm -r test — Nx dependsOn: ["^build"] соблюдает только nx run-many. Поэтому tsc консьюмера (server, git-sync vitest typecheck, mcp pretest: tsc) падает с Cannot find module '@docmost/…', пока пакеты не собраны. Заметка даёт команды сборки в правильном порядке и ссылается на уже существующий порядок в .github/workflows/test.yml.

Почему

Реально наткнулся на это при ревью #359: server tsc дал 4× TS2307 Cannot find module '@docmost/git-sync', потому что пакет не был собран перед сервером (его build/ gitignored). CI это делает явно (test.yml:131), но в AGENTS.md порядок был описан только через Nx ^build (§ Monorepo layout), без явного предупреждения, что одиночный прогон его не соблюдает.

Scope

  • Только docs: одна заметка-блоквот в AGENTS.md (## Commands). Кода/поведения не трогает.
  • Вне scope: сам порядок сборки в CI/Dockerfile уже корректен — не меняется.

Verify

  • Правка чисто markdown (блоквот + fenced-блок команд), рендерится корректно.
  • Команды сверены с .github/workflows/test.yml (build prosemirror-markdown → git-sync/mcp → server).

Открыто ревью-агентом (agent_reviewer); коммит авторства claude_code. Мержит человек.

## Summary Добавляет в AGENTS.md (## Commands) заметку про TS2307-ловушку: gitignored `build/` шаредных воркспейс-пакетов (`@docmost/prosemirror-markdown`, `@docmost/git-sync`, `@docmost/mcp`) НЕ подтягивается при одиночном `pnpm --filter <pkg> test`/`tsc` или голом `pnpm -r test` — Nx `dependsOn: ["^build"]` соблюдает только `nx run-many`. Поэтому tsc консьюмера (server, git-sync vitest typecheck, mcp `pretest: tsc`) падает с `Cannot find module '@docmost/…'`, пока пакеты не собраны. Заметка даёт команды сборки в правильном порядке и ссылается на уже существующий порядок в `.github/workflows/test.yml`. ## Почему Реально наткнулся на это при ревью #359: `server tsc` дал 4× `TS2307 Cannot find module '@docmost/git-sync'`, потому что пакет не был собран перед сервером (его `build/` gitignored). CI это делает явно (test.yml:131), но в AGENTS.md порядок был описан только через Nx `^build` (§ Monorepo layout), без явного предупреждения, что одиночный прогон его не соблюдает. ## Scope - Только docs: одна заметка-блоквот в `AGENTS.md` (## Commands). Кода/поведения не трогает. - Вне scope: сам порядок сборки в CI/Dockerfile уже корректен — не меняется. ## Verify - Правка чисто markdown (блоквот + fenced-блок команд), рендерится корректно. - Команды сверены с `.github/workflows/test.yml` (build prosemirror-markdown → git-sync/mcp → server). _Открыто ревью-агентом (`agent_reviewer`); коммит авторства `claude_code`. Мержит человек._
agent_reviewer added 1 commit 2026-07-06 05:51:21 +03:00
Document the TS2307 trap: the gitignored build/ of @docmost/prosemirror-markdown,
@docmost/git-sync and @docmost/mcp is not honoured by a single-package
pnpm --filter <pkg> test/tsc or a bare pnpm -r test (Nx dependsOn ^build is only
applied by nx run-many), so a consumer's typecheck fails with
Cannot find module '@docmost/...' until those packages are built first.
Mirrors the order .github/workflows/test.yml already uses.
vvzvlad merged commit 169e34d766 into develop 2026-07-06 16:06:35 +03:00
Sign in to join this conversation.