Skip to content

pantoken / workspace-orchestrator

workspace-orchestrator

Експериментальний

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

Під час розробки зміни в локальному пакеті робочого простору зазвичай потребують ручної перебудови, перш ніж dев-сервер їх відобразить. Цей плагін автоматизує цей процес: він стежить за джерелом кожного upstream-пакета за допомогою рідного fs.watch (а не Vite's chokidar, який фільтрує шляхи за межами кореня проекту), усуває ефект «швидких» послідовних змін (debounce), перебудовує в топологічному порядку та реєструє збудований вихід у спостерігачі Vite, щоб браузер перезавантажувався. У документації pantoken це зберігає згенерований CSS (@pantoken/css, @pantoken/components) актуальним під час редагування бібліотек, а не лише під час збірки.

Застосовується лише під час serve, тому продакшн-збірки лишаються незмінними.

Приклад

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")],
});

Інтерфейси

Функції