Skip to content

pantoken / workspace-orchestrator

workspace-orchestrator

实验性

@pantoken/vite-workspace-orchestrator — 一个 Vite 开发服务器插件,监视上游工作区包并在源代码更改时重建它们(以及它们的依赖项)。

在开发过程中,本地工作区包的更改通常需要手动重建后开发服务器才会反映。本插件将此自动化:它使用原生 fs.watch 监视每个上游包的源(而不是 Vite 使用的 chokidar,后者会过滤项目根目录外的路径),对快速更改进行防抖,以拓扑顺序重建,并将构建输出注册到 Vite 的 watcher,这样浏览器会重新加载。在 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")],
});

接口

函数