Skip to content

pantoken / workspace-orchestrator

workspace-orchestrator

Thử nghiệm

@pantoken/vite-workspace-orchestrator — một plugin dev-server của Vite theo dõi các package workspace thượng nguồn và xây dựng lại chúng (và các package phụ thuộc của chúng) khi mã nguồn thay đổi.

Trong quá trình phát triển, thay đổi ở một package workspace cục bộ thường cần phải build lại thủ công trước khi dev server phản ánh chúng. Plugin này tự động hóa điều đó: nó theo dõi mã nguồn của từng package thượng nguồn bằng fs.watch gốc (không phải chokidar của Vite, vốn lọc các đường dẫn ngoài thư mục gốc dự án), gom các thay đổi nhanh lại, xây dựng lại theo thứ tự topo, và đăng ký đầu ra đã build với watcher của Vite để trình duyệt tải lại. Trong tài liệu của pantoken, nó giữ cho CSS được tạo (@pantoken/css, @pantoken/components) luôn mới khi bạn chỉnh sửa các thư viện, thay vì chỉ khi build.

Nó chỉ áp dụng trong serve, nên các build production không bị ảnh hưởng.

Ví dụ

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

Giao diện

Hàm