Skip to content

Node compatibility ​

This library tries to provide basic support for most common used Node.js modules and use cases. The focus is not to provide a 100% Node.js compatibility environment.

ModuleSupportedDescription
assert✅Provides a set of assertion functions for testing
async_hooks❌Provides an API to track asynchronous resources
buffer✅Provides a way of handling binary data
child_process❌Allows for the creation of child processes
cluster❌Provides support for creating a cluster of Node.js processes
console❌Simple debugging console similar to the JavaScript console
crypto❌Provides cryptographic functionality
dgram❌Provides implementation of UDP datagram sockets
dns❌Provides DNS lookups and name resolution functions
domain❌Simplified handling of uncaught exceptions
events✅Provides an event-driven programming model
fs✅Provides an API for interacting with the file system
http❌Provides HTTP server and client functionality
http2❌Provides HTTP/2 server and client functionality
https❌Provides HTTPS server and client functionality
inspector❌Provides an interface for debugging Node.js applications
module✅Load and manage Node.js modules
net❌Provides an asynchronous network API
os❌Provides operating system-related utility methods
path✅Provides utilities for working with file and directory paths
perf_hooks❌Performance timing APIs
process✅Provides information and control over the current process
punycode✅Provides encoding and decoding of Punycode
querystring✅Provides utilities for parsing and formatting URL query strings
readline❌Provides an interface for reading data from a Readable stream
repl❌Provides a Read-Eval-Print Loop (REPL) interface
stream❌Provides an API for implementing stream-based I/O
string_decoder✅Provides utilities for decoding buffer objects into strings
timers✅Provides timer functions similar to those in JavaScript
timers/promises✅Promise-based timer functions
tls❌Provides an implementation of TLS and SSL protocols
trace_events❌Provides a mechanism to centralize tracing information
tty❌Provides utilities for working with TTYs (terminals)
url✅Provides utilities for URL resolution and parsing
util✅Provides various utility functions
v8❌Provides an API for interacting with the V8 JavaScript engine
vm❌Provides APIs for compiling and running code within V8 VM contexts
worker_threads❌Provides a mechanism to use threads for JavaScript execution
zlib❌Provides compression and decompression functionalities

node:fs ​

Thanks to memfs, this lib provides basic support of node:fs and node:fs/promises module.

MethodSupported
access
accessSync
appendFile✅
appendFileSync✅
chmod❌
chmodSync❌
chown❌
chownSync❌
close
closeSync
copyFile
copyFileSync
createReadStream
createWriteStream
exists✅
existsSync✅
fchmod❌
fchmodSync❌
fchown❌
fchownSync❌
fdatasync
fdatasyncSync
fstat
fstatSync
fsync
fsyncSync
ftruncate
ftruncateSync
futimes
futimesSync
lchmod❌
lchmodSync❌
lchown❌
lchownSync❌
link
linkSync
lstat
lstatSync
mkdir✅
mkdirSync✅
mkdtemp✅
mkdtempSync✅
open
openSync
readdir✅
readdirSync✅
read
readSync
readFile✅
readFileSync✅
readlink
readlinkSync
realpath
realpathSync
rename✅
renameSync✅
rmdir✅
rmdirSync✅
stat
statSync
symlink
symlinkSync
truncate
truncateSync
unlink
unlinkSync
utimes
utimesSync
write
writeSync
writeFile✅
writeFileSync✅

node:assert ​

MethodSupported
fail✅
ok✅
equal✅
notEqual✅
deepEqual✅
notDeepEqual✅
strictEqual✅
notStrictEqual✅

node:module ​

MethodSupported
createRequire✅
isBuiltin✅
register❌
syncBuiltinESMExports❌

node:path ​

MethodSupported
parse✅
format✅
extname✅
basename✅
dirname✅
_makeLong✅
relative✅
join✅
isAbsolute✅
normalize✅
resolve✅
_format✅
normalizeStringPosix✅
assertPath✅

node:util ​

MethodSupported
promisify✅
callbackify✅
inherits✅
deprecate✅

Here are the supported util.types methods:

MethodSupported
isAnyArrayBuffer✅
isArrayBufferView✅
isArgumentsObject✅
isArrayBuffer✅
isAsyncFunction✅
isBigInt64Array✅
isBigUint64Array✅
isBooleanObject✅
isBoxedPrimitive✅
isDataView✅
isDate✅
isFloat32Array✅
isFloat64Array✅
isGeneratorFunction✅
isGeneratorObject✅
isInt8Array✅
isInt16Array✅
isInt32Array✅
isMap✅
isMapIterator✅
isNativeError✅
isNumberObject✅
isPromise✅
isRegExp✅
isSet✅
isSetIterator✅
isSharedArrayBuffer✅
isStringObject✅
isSymbolObject✅
isTypedArray✅
isUint8Array✅
isUint8ClampedArray✅
isUint16Array✅
isUint32Array✅
isWeakMap✅
isWeakSet✅

node:events ​

A copy of eventemitter3 is used.