v1.17.0 · Open source · Rust + V8 · MIT

One binary for JavaScript and TypeScript

Amber runs scripts, tests, servers, and agent tools from a single amber executable — with an opt-in capability sandbox and an honest, contract-tested compatibility surface.

$ curl -fsSL https://get.amberjs.com/install.sh | sh
$ amber --version
amber 1.17.0
$ amber eval "1 + 1"
2
Stable contracts (G1–G69)
69
Stable contracts (G1–G69)
Node conformance fixtures
56/56
Node conformance fixtures
binary — run, test, serve, bundle, compile
1
binary — run, test, serve, bundle, compile
current release
v1.17.0
current release

Write it. Run it. Ship it.

Every snippet below uses a Stable surface. No config files, no plugins.

hello.ts
// hello.ts
interface Greeting {
name: string;
}
 
const greet = ({ name }: Greeting): string => `hello from ${name}`;
console.log(greet({ name: "Amber" }));
 
$ amber run hello.ts
hello from Amber

.ts and .tsx run directly. oxc strips types; stack traces point at your .ts lines. It does not type-check.

Compatibility, one contract at a time

Amber is not a Node.js clone. Each module below is Stable for the subset its contract describes — and the contract lists what is missing.

Node.js modules32

  • CommonJS require
  • fs
  • fs.watch / fs.watchFile
  • path
  • events
  • buffer
  • os
  • os.hostname
  • os.networkInterfaces
  • zlib (sync)
  • zlib (async callbacks)
  • util
  • process
  • crypto
  • crypto cipheriv
  • stream
  • child_process (sync)
  • child_process (async)
  • child_process.fork
  • url
  • dns
  • http (server)
  • net
  • querystring
  • string_decoder
  • assert
  • timers
  • readline
  • tty
  • vm
  • diagnostics_channel
  • async_hooks

Web platform15

  • fetch
  • URL & encoding
  • Blob / File / FormData
  • Events & channels
  • Streams, compression, timers
  • Web Crypto
  • WebSocket (client)
  • Workers
  • atob / btoa
  • ErrorEvent / onerror
  • Clipboard (text)
  • DOMParser
  • Background Sync
  • Cache Storage
  • Service worker fetch

Runtime & agents5

  • Capability sandbox
  • Deterministic execution
  • amber:ai
  • WebAssembly streaming
  • WinterTC baseline
Browse all 69 contracts
56/56

56 / 56 conformance fixtures pass

tests/conformance/ runs small Node-style scripts — fs, streams, crypto, child_process, Express, Fastify, Hono and more — on every change. CI fails if any fixture fails or skips. Passing fixtures are a regression gate, not a claim of drop-in Node compatibility.

Read the scorecard

Reproduce it

$ cargo build --release
$ AMBER_BIN=./target/release/amber \
./tests/conformance/run_conformance.sh
…
Pass rate: 56/56 (100%)
CI gate: PASS (>= 55 PASS, 0 FAIL, 0 SKIP)

Four honest labels

Every capability on this site carries one of these. docs/CURRENT_SCOPE.md in the repo is the source of truth.

Stable

Pinned by a written contract and executable tests in CI. Limits are documented next to the API.

Preview

In the default build and useful, but the contract, diagnostics, or edge cases are still being tightened.

Experimental

Code exists, but it is not a product promise until it is re-verified and graduated.

Not supported

Deliberately out of scope today. Amber will fail closed instead of pretending.

What Amber does not do (yet)

Saying no clearly is part of the contract. These surfaces are out of scope today.

  • SharedWorker · module workers

    new Worker(url, { type: 'module' }) throws.

  • Push · Notification · Payment

    Push subscription rejects. These browser surfaces are deferred.

  • ClipboardItem

    clipboard.read / write reject with an Error naming ClipboardItem.

  • http client · Agent · https · http2

    Use the Stable Web fetch for outbound HTTP. Only the http server subset is Stable.

  • Streaming zlib · brotli

    createGzip / createDeflate families, brotli and zlib.constants are not implemented.

  • Type-checking

    TypeScript is transpile-only. Run tsc --noEmit in CI if you need type errors.

  • fs.glob · fs.cp · fs.opendir · fs.statfs

    Not implemented; also no fs.promises.watch.

  • Parallel tests · cross-compile

    amber test --parallel exits 2. amber compile only targets the host OS.

  • npm workspaces · lifecycle scripts

    amber install does not run scripts, link .bin, or read yarn / pnpm lockfiles.

About performance numbers

Amber does not publish performance claims right now. Any future number will ship with the commit, exact command, hardware, and correctness checks needed to reproduce it.

Install amber and run something.

Prebuilt archives for macOS, Linux, and Windows, or build from source with Cargo.