← Back to Blog

Rotifer v0.3: TypeScript → WASM Auto-Compilation

Write genes in TypeScript, compile to WASM automatically. No Rust, no AssemblyScript, no toolchain setup. Same language you already use.

The biggest barrier to writing WASM genes was the toolchain. v0.3 removes it entirely: write a TypeScript function, run rotifer compile, get a sandboxed WASM gene. Zero configuration.

TS → WASM Pipeline

The new compilation pipeline chains three stages automatically:

TypeScript → esbuild (bundle) → WASI shim → Javy (QuickJS→WASM) → Rotifer IR
Terminal window
rotifer compile my-gene # auto-detects index.ts, compiles to WASM
rotifer compile my-gene --lang ts # force TypeScript mode

Under the hood, Javy embeds QuickJS into a WASM module. The result is a fully sandboxed gene that runs in the same wasmtime sandbox as hand-written Rust genes — with the same fuel metering, memory limits, and security isolation.

No Rust. No AssemblyScript. No WASM toolchain setup. Same language you already use.

WASI Sandbox Support

The Rust core’s WasmtimeSandbox now supports two execution modes:

A minimal WASI shim provides 9 host functions (fd_read, fd_write, clock_time_get, etc.) — just enough for QuickJS to run, nothing more.

IR Verifier Updates

By the Numbers

Get Started

Terminal window
npm install -g @rotifer/playground@alpha

Write a gene:

genes/my-search/index.ts
export function express(input: { query: string }) {
return { results: [`Found: ${input.query}`], total: 1 };
}

Compile and submit:

Terminal window
rotifer compile my-search
rotifer arena submit my-search