Home > Engineering > Bare Runtime > Module Catalog
All modules available via npm. Streams throughout the ecosystem are streamx-based (https://github.com/mafintosh/streamx), not Node.js streams — this is the most significant API difference.
| Module | Node.js equiv | npm | Source |
|---|---|---|---|
| bare-fs | fs | 4.7.0 | repo |
| bare-path | path | 3.0.0 | repo |
bare-fs closely follows Node.js fs. Supports
async, callback, and sync variants. Core operations:
open, close, read, write, stat, lstat, fstat,
access, exists, mkdir, rmdir, unlink, rename,
readdir, readFile, writeFile, appendFile, copyFile,
chmod, fchmod, symlink, readlink, realpath, watch,
createReadStream, createWriteStream. Streams are
streamx-based.
bare-path mirrors Node.js path: join, resolve,
basename, dirname, extname, etc. Includes
path/posix and path/win32 subpaths.
| Module | Node.js equiv | npm | Source |
|---|---|---|---|
| bare-net | net | 2.3.1 | repo |
| bare-http1 | http | 4.5.6 | repo |
| bare-https | https | — | repo |
| bare-dns | dns | 2.1.4 | repo |
| bare-dgram | dgram | 1.0.1 | repo |
| bare-tls | tls | 2.2.3 | repo |
bare-net mirrors Node.js net pattern:
net.createServer(), net.createConnection().
Streams are streamx-based.
bare-http1 maps to Node.js http (not http1).
http.createServer(), http.request() pattern.
Only HTTP/1.x — no HTTP/2.
bare-tls wraps existing streams rather than
using tls.connect() / tls.createServer(). Uses
new tls.Socket(stream, options) pattern.
bare-dgram built on UDX (https://github.com/holepunchto/udx-native) rather than raw libuv UDP.
bare-dns provides dns.lookup(hostname, cb) and
dns/promises subpath.
| Module | Node.js equiv | npm | Source |
|---|---|---|---|
| bare-buffer | buffer | 3.6.0 | repo |
| bare-events | events | 2.8.2 | repo |
| bare-stream | stream | 2.13.0 | repo |
| bare-crypto | crypto | 1.13.4 | repo |
| bare-zlib | zlib | 1.3.3 | repo |
bare-buffer same API surface as Node.js Buffer:
Buffer.from(), Buffer.alloc(),
Buffer.allocUnsafe(), Buffer.concat(). Not
globally available — must be required.
bare-events standard EventEmitter: on, emit,
once, off, removeListener, removeAllListeners.
bare-stream based on streamx. Readable, Writable,
Duplex, Transform exist but with streamx semantics.
Also provides stream/consumers,
stream/promises, stream/web.
bare-crypto is a subset of Node.js crypto:
createHash, createHmac, createCipheriv,
createDecipheriv, randomBytes, randomFill,
pbkdf2bare-zlib stream-based compression/decompression. Streamx-based.
| Module | Node.js equiv | npm | Source |
|---|---|---|---|
| bare-process | process | 4.4.1 | repo |
| bare-env | (process.env) | 3.0.0 | repo |
| bare-os | os | 3.8.7 | repo |
| bare-tty | tty | 5.1.0 | repo |
| bare-readline | readline | 1.3.1 | repo |
bare-process provides familiar process object.
Not globally available. Use
require('bare-process/global') to install globally.
bare-env returns environment variables object.
Standalone module, not on process.
bare-os comprehensive, closely follows Node.js.
Note: pid() and cwd() are methods (called with
parentheses) not properties as in Node.js.
bare-tty provides WriteStream and ReadStream.
Constructor takes fd directly:
new tty.WriteStream(1) for stdout. Streamx-based.
bare-readline uses
readline.createInterface({ input, output }).
Emits data events (not line events as Node.js).
| Module | Purpose | npm | Source |
|---|---|---|---|
| bare-module | Module resolution | 6.1.3 | repo |
| bare-node-runtime | Node.js compat layer | 1.2.0 | repo |
See Module System and Dual-Runtime Code for details.
| Module | Description | Source |
|---|---|---|
| bare-subprocess | Process spawning (child_process) | repo |
| bare-timers | setTimeout, setInterval | repo |
| bare-url | WHATWG URL | repo |
| bare-fetch | WHATWG Fetch | repo |
| bare-ws | WebSocket | repo |
| bare-worker | Worker threads | repo |
| bare-rpc | librpc-compatible RPC | repo |
| bare-bundle | Application bundles | repo |
| bare-console | WHATWG console | repo |
| bare-channel | Inter-thread messaging | repo |
| bare-atomics | Synchronization primitives | repo |
| bare-daemon | Daemon process management | repo |
| bare-inspector | V8 inspector | repo |
| bare-repl | REPL environment | repo |
| bare-signals | Signal handling | repo |
| bare-encoding | TextEncoder/TextDecoder | repo |
| bare-structured-clone | Structured cloning | repo |
| bare-zmq | ZeroMQ bindings | repo |
Module npm versions verified April 2026. Check
latest: npm view <module> version.
© 2026 In Wonder - The World of Splectrum, Jules ten Bos. The conversation lives at In Wonder - The Conversation.