Skip to content

pantoken / workspace-orchestrator

workspace-orchestrator

実験的

@pantoken/vite-workspace-orchestrator — 上流のワークスペース packages を監視し、ソースが変更されるとそれら(およびそれらに依存するパッケージ)を再ビルドする Vite の開発サーバープラグイン。

開発中は、ローカルのワークスペースパッケージの変更が dev サーバーに反映される前に通常手動で再ビルドが必要です。このプラグインはそれを自動化します:各上流パッケージのソースをネイティブな fs.watch で監視し(プロジェクトルート外のパスをフィルタする Vite の chokidar ではなく)、急速な変更をデバウンスし、トポロジカル順に再ビルドを行い、ビルド済み出力を 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")],
});

インターフェース

関数