ES-Runtime — a secure, standards-based server runtime
ES-Runtime (esrun) is a V8-based, standards-first
JavaScript runtime: it runs ES modules against the WinterTC
Web-platform APIs — fetch, URL, streams, WebCrypto, encoding, timers,
events — with notably fast startup and a low memory footprint. Host
features (filesystem, network, HTTP server, processes) are exposed as
asynchronous runtime: modules. It is ESM-only and built on
Rust; no CommonJS and no Node.js compatibility layer.
Documentation
- Overview — what ES-Runtime is, its design, and how the pieces fit together.
- Installation — install the
esrun CLI and run a first module.
- Module system — ESM-only loading and the
runtime: built-in module scheme.
- Global objects — the Web-standard globals available, and what is intentionally absent.
- Security model — capability-based I/O, checked at the op boundary.
- Scope & non-goals — a runtime, not a toolchain; no Node.js compatibility.
API reference
- API overview — the
runtime: standard modules and the CLI.
- esrun CLI — running a module,
-e snippets, --timeout, esrun types, esrun upgrade.
- runtime:process —
env, args, cwd(), platform, arch, exit().
- runtime:path — platform-aware path utilities and
file: URL interop.
- runtime:fs — Blob-based async file I/O, jailed to a root. Gated on FileRead/FileWrite.
- runtime:net — TCP sockets (WinterTC Sockets API). Gated on Net/NetListen.
- runtime:http — an HTTP/1.1 server,
serve((request) => response). Gated on NetListen.
Comparisons
Guides
- File handling — reading, writing, streaming, and globbing files with
runtime:fs.
Source