nstd
Node.js, without Node.js.

Use Node's own standard library as portable ES modules, or run it inside a small QuickJS-NG runtime—without requiring Node.js on the target machine.
# Native runtime
nstd app.js

# Standard library package
pnpm add nstdlib

One standard library, two ways to use it

Run with nstd

A single executable combining QuickJS-NG, a Zig host, and nstdlib compiled to bytecode. Ship the runtime with your script instead of requiring a Node.js installation.

Import from nstdlib

Use familiar modules such as path, events, stream, and url as ordinary ES modules in bundlers, workers, browsers, and other JavaScript runtimes.

Built from Node.js

This is not a clean-room reimplementation. The pipeline rewrites Node.js's own lib/*.js from a pinned release into runtime-agnostic modules.

Bring your own host

Pure JavaScript works anywhere. Filesystems, sockets, TLS, and other platform capabilities connect through explicit host seams—the same mechanism nstd uses.

Measured compatibility

Generated API reports separate behavior verified against Node.js from API-only and untested support, across Node, browser, native, and WASI environments.

Honest failure modes

Missing platform capabilities throw an error that names the unavailable binding instead of returning undefined and allowing an incorrect result to travel.