Node API
Elide aims for near-complete Node.js API compatibility; where modules don't make sense or aren't possible to implement, problems are noted below.
Most npm
packages intended for Node.js
environments will work with Elide out of the box; the best way to know for certain is to try it.
This page is updated regularly to reflect compatibility status of the latest version of Elide. The information below reflects Elide's's compatibility with Node.js v22.
If you run into any bugs with a particular package, please open an issue. Opening issues for compatibility bugs helps us prioritize what to work on next.
API | Pinned Version |
---|---|
Node.js Standard Library | Node |
Legend
🔴 Not implemented, can't implement, won't implement; this is not a final state.
🟡 In progress, coming soon, under testing/experimental, available but not fully in compliance yet.
🟢 Fully implemented; total or near-total compliance.
Built-in modules
node:assert
🟢 Supported.
node:assert/strict
🟡 Coming soon.
node:async_hooks
🔴 Not implemented.
node:buffer
🟡 Partial support.
node:child_process
🟡 Partial support.
node:cluster
🔴 Not implemented.
node:console
🟡 Coming soon. See
console
global, which is supported.node:crypto
🔴 Not implemented.
node:dgram
🔴 Not implemented.
node:diagnostics_channel
🔴 Not implemented.
node:dns
🔴 Not implemented.
node:domain
🔴 Not implemented.
node:events
🟢 Supported.
node:fs
🟡 Some methods are implemented (
readFile
,readFileSync
,writeFile
,writeFileSync
, etc.).node:http
🔴 Not implemented.
node:http2
🔴 Not implemented.
node:https
🔴 Not implemented.
node:inspector
🔴 Not implemented.
node:module
🔴 Not implemented.
node:net
🔴 Not implemented.
node:os
🟢 Supported.
node:path
🟢 Supported.
node:perf_hooks
🔴 Not implemented.
node:process
🟢 Supported.
node:punycode
🔴 Not implemented.
node:querystring
🔴 Not implemented.
node:readline
🔴 Not implemented.
node:repl
🔴 Not implemented.
node:stream
🟢 Supported.
node:string_decoder
🔴 Not implemented.
node:sys
🟡 See
node:util
.node:test
🔴 Not implemented.
node:timers
🔴 Not implemented.
node:tls
🔴 Not implemented.
node:trace_events
🔴 Not implemented.
node:tty
🔴 Not implemented.
node:url
🟢 Supported.
node:util
🟡 Mostly polyfilled.
node:v8
🔴 Not implemented.
node:vm
🔴 Not implemented.
node:wasi
🔴 Not implemented.
node:worker_threads
🔴 Not implemented.
node:zlib
🟢 Supported.
Globals
The table below lists all globals implemented by Node.js and Bun's current compatibility status.
AbortController
🟢 Supported.
AbortSignal
🟢 Supported.
Blob
🟢 Supported.
Buffer
🟢 Supported.
ByteLengthQueuingStrategy
🟢 Supported.
__dirname
🟢 Supported in CJS contexts.
__filename
🟢 Supported in CJS contexts.
atob()
🟢 Supported.
BroadcastChannel
🔴 Not implemented.
btoa()
🟢 Supported.
clearImmediate()
🟢 Supported.
clearInterval()
🟢 Supported.
clearTimeout()
🟢 Supported.
CompressionStream
🔴 Not implemented.
console
🟢 Supported.
CountQueuingStrategy
🔴 Not implemented.
Crypto
🔴 Not implemented.
SubtleCrypto (crypto)
🔴 Not implemented.
CryptoKey
🔴 Not implemented.
CustomEvent
🟢 Supported.
DecompressionStream
🔴 Not implemented.
Event
🟢 Supported.
EventTarget
🟢 Supported.
exports
🟢 Supported.
fetch
🟢 Supported (experimental).
FormData
🔴 Not implemented.
global
🟢 Aliases to
globalThis
.globalThis
🟢 Supported. This is an object containing all objects in the global namespace. It's rarely referenced directly, as its contents are available without an additional prefix, e.g.
__dirname
instead ofglobal.__dirname
.Headers
🟢 Supported.
MessageChannel
🔴 Not implemented.
MessageEvent
🔴 Not implemented.
MessagePort
🔴 Not implemented.
module
🟢 Supported.
PerformanceEntry
🔴 Not implemented.
PerformanceMark
🔴 Not implemented.
PerformanceMeasure
🔴 Not implemented.
PerformanceObserver
🔴 Not implemented.
PerformanceObserverEntryList
🔴 Not implemented.
PerformanceResourceTiming
🔴 Not implemented.
performance
🟢 Supported.
process
🟢 Supported.
queueMicrotask()
🟢 Supported.
ReadableByteStreamController
🟢 Supported.
ReadableStream
🟢 Supported.
ReadableStreamBYOBReader
🟢 Supported.
ReadableStreamBYOBRequest
🟢 Supported.
ReadableStreamDefaultController
🟢 Supported.
ReadableStreamDefaultReader
🟢 Supported.
require()
🟢 Supported, including
require.main
,require.cache
,require.resolve
Response
🟢 Supported.
Request
🟢 Supported.
setImmediate()
🟡 Coming soon.
setInterval()
🟢 Supported.
setTimeout()
🟢 Supported.
structuredClone()
🟢 Supported.
SubtleCrypto
🔴 Not implemented.
DOMException
🔴 Not implemented.
TextDecoder
🟢 Supported.
TextDecoderStream
🔴 Not implemented.
TextEncoder
🟢 Supported.
TextEncoderStream
🔴 Not implemented.
TransformStream
🟢 Supported.
TransformStreamDefaultController
🟢 Supported.
URL
🟢 Supported; approaches full compliance.
URLSearchParams
🟢 Supported.
WebAssembly
🟢 Supported.
WritableStream
🟢 Supported.
WritableStreamDefaultController
🟢 Supported.
WritableStreamDefaultWriter
🟢 Supported.
Let us know what you need
We prioritize upcoming Node API work based on need; please file an issue if you see a module you need which isn't implemented.