Home > Engineering > Infrastructure > Bare Runtime > Module Catalog

Bare Module Catalog

All modules available via npm. Streams throughout the ecosystem are streamx-based, not Node.js streams — this is the most significant API difference.


Filesystem and Paths

Module Node.js equiv npm Source
bare-fs fs 4.7.0 holepunchto/bare-fs
bare-path path 3.0.0 holepunchto/bare-path

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.


Networking

Module Node.js equiv npm Source
bare-net net 2.3.1 holepunchto/bare-net
bare-http1 http 4.5.6 holepunchto/bare-http1
bare-https https holepunchto/bare-https
bare-dns dns 2.1.4 holepunchto/bare-dns
bare-dgram dgram 1.0.1 holepunchto/bare-dgram
bare-tls tls 2.2.3 holepunchto/bare-tls

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 rather than raw libuv UDP.

bare-dns provides dns.lookup(hostname, cb) and dns/promises subpath.


Core

Module Node.js equiv npm Source
bare-buffer buffer 3.6.0 holepunchto/bare-buffer
bare-events events 2.8.2 holepunchto/bare-events
bare-stream stream 2.13.0 holepunchto/bare-stream
bare-crypto crypto 1.13.4 holepunchto/bare-crypto
bare-zlib zlib 1.3.3 holepunchto/bare-zlib

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:

bare-zlib stream-based compression/decompression. Streamx-based.


Process and System

Module Node.js equiv npm Source
bare-process process 4.4.1 holepunchto/bare-process
bare-env (process.env) 3.0.0 holepunchto/bare-env
bare-os os 3.8.7 holepunchto/bare-os
bare-tty tty 5.1.0 holepunchto/bare-tty
bare-readline readline 1.3.1 holepunchto/bare-readline

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 System

Module Purpose npm Source
bare-module Module resolution 6.1.3 holepunchto/bare-module
bare-node-runtime Node.js compat layer 1.2.0 holepunchto/bare-node-runtime

See Module System and Dual-Runtime Config for details.


Additional Notable Modules

Module Description Source
bare-subprocess Process spawning (child_process) holepunchto/bare-subprocess
bare-timers setTimeout, setInterval holepunchto/bare-timers
bare-url WHATWG URL holepunchto/bare-url
bare-fetch WHATWG Fetch holepunchto/bare-fetch
bare-ws WebSocket holepunchto/bare-ws
bare-worker Worker threads holepunchto/bare-worker
bare-rpc librpc-compatible RPC holepunchto/bare-rpc
bare-bundle Application bundles holepunchto/bare-bundle
bare-console WHATWG console holepunchto/bare-console
bare-channel Inter-thread messaging holepunchto/bare-channel
bare-atomics Synchronization primitives holepunchto/bare-atomics
bare-daemon Daemon process management holepunchto/bare-daemon
bare-inspector V8 inspector holepunchto/bare-inspector
bare-repl REPL environment holepunchto/bare-repl
bare-signals Signal handling holepunchto/bare-signals
bare-encoding TextEncoder/TextDecoder holepunchto/bare-encoding
bare-structured-clone Structured cloning holepunchto/bare-structured-clone
bare-zmq ZeroMQ bindings holepunchto/bare-zmq

Module npm versions change often — check the latest with npm view <module> version.