Skip to content

pantoken / workspace-orchestrator

workspace-orchestrator

Sperimentale

@pantoken/vite-workspace-orchestrator — un plugin per il dev-server di Vite che osserva i pacchetti della workspace upstream e li ricostruisce (e ricostruisce i loro dipendenti) quando il codice sorgente cambia.

Durante lo sviluppo, le modifiche a un pacchetto locale della workspace richiedono normalmente una ricompilazione manuale prima che il dev server le mostri. Questo plugin automatizza il processo: osserva il sorgente di ogni pacchetto upstream con il native fs.watch (non con chokidar di Vite, che filtra i percorsi fuori dalla radice del progetto), effettua il debouncing delle modifiche rapide, ricompila in ordine topologico e registra l'output costruito con il watcher di Vite in modo che il browser si ricarichi. Nella documentazione di pantoken mantiene aggiornati mentre modifichi le librerie i CSS generati (@pantoken/css, @pantoken/components) invece di aggiornarli solo in fase di build.

Si applica solo durante serve, quindi le build di produzione restano inalterate.

Esempio

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

Interfacce

Funzioni