* feat: add QuickJS as alternative JS engine for flow expression evaluation Add rquickjs as an optional alternative to deno_core for evaluating JavaScript expressions in flow transformations. QuickJS offers ~8-16x faster startup times for simple expressions, making it ideal for evaluating many small expressions in flows. Key changes: - Add new `quickjs` feature flag for windmill-worker - Implement js_eval_quickjs.rs with true async Rust callbacks for variable(), resource(), and results.xxx access (no pre-fetching) - Share expression transformation logic (replace_with_await, replace_with_await_result) between both implementations - Add USE_QUICKJS_FOR_FLOW_EVAL env var to switch engines at runtime - When only quickjs feature is enabled (no deno_core), QuickJS is automatically used - Add comprehensive parity tests comparing QuickJS and deno_core output Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * all * quickjs * quickjs * all * all * all --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Windmill Backend
This folder holds all backend components, the src/ folder only contains files used to build the "root" binary.
Components
| name | description |
|---|---|
| windmill-api | The API server, exposing functionality to other components and the frontend |
| windmill-audit | Contains audit functionality, allowing different components to record important actions |
| windmill-common | Common code shared by all crates |
| windmill-queue | Contains job & flow queuing functionality, commonly written to by the API server and read from by workers |
| windmill-worker | The worker. Used to process and execute flows & jobs. |
| parsers | Contains code to parse signatures in different langauges. |
Compile sqlx for offline ci
cargo sqlx prepare --workspace -- --bin windmill --features enterprise