fs | 1 (Bridge) + 4 (Deferred APIs) | Implemented: readFile, writeFile, appendFile, open, read, write, close, readdir, mkdir, rmdir, rm, unlink, stat, lstat, rename, copyFile, exists, createReadStream, createWriteStream, writev, access, realpath. Metadata-sensitive operations (stat, exists, readdir with withFileTypes) use metadata-native driver paths instead of content probing. rename delegates to driver semantics (atomic where supported; explicit limitation errors where not). Deferred deterministic errors remain for watch, watchFile, chmod, chown, link, symlink, readlink, truncate, utimes. |
process | 1 (Bridge) | Env access (permission-gated), cwd/chdir, exit semantics, timers, stdio, eventing, and basic usage/system metadata APIs. |
os | 1 (Bridge) | Platform/arch/version, user/system info, and os.constants. |
child_process | 1 (Bridge) + 5 (fork) | Implemented: spawn, spawnSync, exec, execSync, execFile, execFileSync; fork is intentionally unsupported. |
http | 1 (Bridge) | Implemented: request, get, createServer; bridged request/response/server classes and constants. |
https | 1 (Bridge) | Implemented: request, get, createServer with the same contract as http. |
http2 | 3 (Stub) + 5 (Full support) | Provides compatibility classes (Http2ServerRequest, Http2ServerResponse); createServer and createSecureServer are unsupported. |
dns | 1 (Bridge) | Implemented: lookup, resolve, resolve4, resolve6, plus dns.promises variants. |
module | 1 (Bridge) | Implements createRequire, Module basics, and builtin resolution (require.resolve("fs") returns builtin identifiers). |
timers | 1 (Bridge) | setTimeout, clearTimeout, setInterval, clearInterval, setImmediate, clearImmediate. |
path | 2 (Polyfill) | path-browserify; supports default and named ESM imports. |
buffer | 2 (Polyfill) | Polyfill via buffer. |
url | 2 (Polyfill) | Polyfill via whatwg-url and node-stdlib-browser shims. |
events | 2 (Polyfill) | Polyfill via events. |
stream | 2 (Polyfill) | Polyfill via readable-stream. |
util | 2 (Polyfill) | Polyfill via node-stdlib-browser. |
assert | 2 (Polyfill) | Polyfill via node-stdlib-browser. |
querystring | 2 (Polyfill) | Polyfill via node-stdlib-browser. |
string_decoder | 2 (Polyfill) | Polyfill via node-stdlib-browser. |
zlib | 2 (Polyfill) | Polyfill via node-stdlib-browser. |
vm | 2 (Polyfill) | Polyfill via node-stdlib-browser. |
crypto | 3 (Stub) | Limited bridge/polyfill blend; getRandomValues() and randomUUID() use host node:crypto secure randomness, or throw deterministic unsupported errors if host entropy is unavailable; subtle.* methods throw deterministic unsupported errors. |
tty | 2 (Polyfill) | tty-browserify; isatty() returns false; ReadStream/WriteStream are compatibility constructors. |
v8 | 3 (Stub) | Pre-registered stub with mock heap stats and JSON-based serialize/deserialize. |
constants | 2 (Polyfill) | constants-browserify; os.constants remains available via os. |
Fetch globals (fetch, Headers, Request, Response) | 1 (Bridge) | Bridged via network bridge implementation. |
Deferred modules (net, tls, readline, perf_hooks, async_hooks, worker_threads) | 4 (Deferred) | require() returns stubs; APIs throw deterministic unsupported errors when called. |
Unsupported modules (dgram, cluster, wasi, diagnostics_channel, inspector, repl, trace_events, domain) | 5 (Unsupported) | require() fails immediately with deterministic unsupported-module errors. |