Incremental resource transformation — a build engine, a module resolver/server, and the transforms that run inside them. Given a set of source files, produce the derived files, and on a later change redo only the part that actually changed.
The engine is host-agnostic and the module server is isomorphic: the same code drives a batch build on Node and a request-time server in the browser.
This repository was extracted from webrun-files,
which is now purely the FilesApi. The full history of all five packages came with the
extraction.
| Package | What it does |
|---|---|
@statewalker/webrun-dataflow |
Signal-driven dataflow graph: forward impact propagation and a filtered topological order. The substrate everything else schedules on. |
@statewalker/webrun-builder |
BuildEngine<THost> — a Project-free, signal-driven build engine with a frontier scheduler and file-backed stores, so a build interrupted mid-flight resumes instead of restarting. |
@statewalker/webrun-modules |
Isomorphic module/dependency server: resolve, download and transform modules, serving them over HTTP or from memory. |
@statewalker/webrun-modules-build |
Batch module builder — drives the webrun-modules transforms through the build engine for the change-driven path. |
@statewalker/webrun-tailwind |
A build-only registered transform that generates Tailwind CSS. |
Internal direction: webrun-dataflow → webrun-builder → webrun-modules-build,
with webrun-modules and webrun-tailwind supplying the transforms.
This repository depends on one other repository, and only on the FilesApi:
| Repository | Packages used |
|---|---|
webrun-files |
@statewalker/webrun-files, @statewalker/webrun-files-mem |
Everything reads and writes through FilesApi, which is what lets the same engine run
against a real filesystem, an in-memory tree, or the browser.
Cross-repo dependencies are declared workspace:* rather than catalog:. This is
deliberate: turbo derives its task graph from workspace: specifiers and does not
resolve catalog:, so a catalog: cross-repo dependency is invisible to the scheduler
and its consumer can be built before it.
pnpm install
pnpm -r build
pnpm -r testturbo.json is a nested config (extends: ["//"]) and biome.json sets root: false,
so this repository composes into a StateWalker umbrella workspace. Both are required
there; use pnpm -r for standalone runs.
MIT.