v1.16.0
A JavaScript & TypeScript runtime in Rust & V8
One binary: amber. Run scripts, Jest-style tests, MCP tools, and amber:ai tensors — with an opt-in capability sandbox. Not a Node.js clone. Node Conformance 5.0 is 55/55.
install
curl -fsSL https://get.amberjs.com/install.sh | sh// hello.ts
const runtime = "Amber";
console.log(`hello from ${runtime}`);
$ amber run hello.ts
hello from AmberWhat you actually get
A V8 isolate in Rust, with an agent sandbox and a small set of honest maturity labels.
- One binary
- run, eval, repl, test, session, and mcp in `amber`. TypeScript is oxc type-strip, not tsc.
- Capability sandbox
- Opt-in --sandbox with --allow-*, JSON policy, audit JSONL, --seed, and --freeze-time for agent tools.
- TypeScript without tsc
- oxc strips types from .ts / .tsx. Use tsc --noEmit in CI if you want a typecheck.
- Jest-style tests
- amber test with describe / test / expect. --parallel is rejected: isolates are not shared across threads.
- amber:ai in-process
- Tensor, LLM, and AgentPipeline without a Python sidecar. Cargo feature = "ai" is empty and is not a product LLM.
- Node APIs, per-API
- fs, http, fetch, Streams, URL, Web Crypto, and more. Coverage is scored in 55 conformance fixtures, not claimed as drop-in Node.
v1.16.0 at a glance
Apple M2 Max, 2026-09-16. Full tables in the repo benchmarks/ directory.
| All Workloads | Amber | Node | Bun |
|---|---|---|---|
URL + URLSearchParams (20k) WHATWG URL parse and search-param mutations | 7.28 ms | 12.54 ms | 15.41 ms |
fetch 100 sequential GETs HTTP/1.1 keep-alive GET against a local server | 6.51 ms | 17.00 ms | 4.25 ms |
EventEmitter emit (50k) Synchronous listener dispatch | 0.40 ms | 0.48 ms | 0.83 ms |
ReadableStream 5k chunks Produce and consume a byte stream | 0.92 ms | 1.16 ms | 0.32 ms |
CLI cold start (eval 1+1) Process boot, isolate, evaluate, exit (mean of 20) | 18.47 ms | 27.53 ms | 8.03 ms |
Express 5.x (32 conn, 5s) autocannon throughput — higher is better | 68.0k req/s | 18.9k req/s | 64.6k req/s |
Reproducible from benchmarks/ in the repo. These are one machine, one commit — not SLAs. Bun still wins several microbenches and cold start.
Install amber and run something.
v1.16.0 prebuilds for macOS, Linux, and Windows. One curl (or irm) away.