Skip to content

pantoken / workspace-orchestrator

workspace-orchestrator

Экспериментально

@pantoken/vite-workspace-orchestrator — плагин dev-сервера Vite, который отслеживает вышестоящие пакеты рабочего пространства и перестраивает их (а также их зависимые пакеты) при изменении исходного кода.

Во время разработки изменения в локальном пакете рабочего пространства обычно требуют ручной пересборки, прежде чем dev‑сервер отобразит их. Этот плагин автоматизирует этот процесс: он отслеживает исходники каждого вышестоящего пакета с помощью нативного fs.watch (а не chokidar от Vite, который фильтрует пути за пределами корня проекта), подавляет всплески быстрых изменений, перестраивает в топологическом порядке и регистрирует собранный результат у watcher'а Vite, чтобы браузер перезагружался. В документации pantoken он поддерживает сгенерированный CSS (@pantoken/css, @pantoken/components) актуальным по мере редактирования библиотек, а не только во время сборки.

Применяется только во время serve, поэтому production‑сборки остаются нетронутыми.

Пример

ts
import { resolve } from "node:path";
import { workspaceOrchestrator } from "@pantoken/vite-workspace-orchestrator";

workspaceOrchestrator({
  upstream: [
    {
      name: "@pantoken/components",
      dir: resolve(root, "formats/components"),
      watchPaths: [resolve(root, "formats/components/src")],
      build: ["pnpm", "run", "build"],
      dependents: [],
    },
  ],
  outputWatchPaths: [resolve(root, "formats/components/generated")],
});

Интерфейсы

Функции