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
🔴 Not implemented.
node:child_process
🔴 Not implemented.
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
🟡 Coming soon.
node:fs
🟡 Some basic 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
🟡 See
process
global.node:punycode
🔴 Not implemented.
node:querystring
🔴 Not implemented.
node:readline
🔴 Not implemented.
node:repl
🔴 Not implemented.
node:stream
🟡 Coming soon.
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
🔴 Not implemented.
Globals
The table below lists all globals implemented by Node.js and Bun's current compatibility status.
AbortController
🟡 Polyfilled.
AbortSignal
🟡 Polyfilled.
Blob
🔴 Not implemented.
Buffer
🟡 Polyfilled.
ByteLengthQueuingStrategy
🔴 Not implemented.
__dirname
🔴 Not implemented.
__filename
🔴 Not implemented.
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
🟡 Coming soon.
FormData
🔴 Not implemented.
global
🟢 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
.globalThis
🟢 Aliases to
global
.Headers
🔴 Not implemented.
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
🔴 Not implemented.
process
🟡 Mostly implemented.
queueMicrotask()
🔴 Not implemented.
ReadableByteStreamController
🔴 Not implemented.
ReadableStream
🔴 Not implemented.
ReadableStreamBYOBReader
🔴 Not implemented.
ReadableStreamBYOBRequest
🔴 Not implemented.
ReadableStreamDefaultController
🔴 Not implemented.
ReadableStreamDefaultReader
🔴 Not implemented.
require()
🟢 Supported, including
require.main
,require.cache
,require.resolve
Response
🔴 Not implemented.
Request
🔴 Not implemented.
setImmediate()
🟡 Coming soon.
setInterval()
🟢 Supported.
setTimeout()
🟢 Supported.
structuredClone()
🟢 Supported.
SubtleCrypto
🔴 Not implemented.
DOMException
🔴 Not implemented.
TextDecoder
🟡 Polyfilled.
TextDecoderStream
🔴 Not implemented.
TextEncoder
🟡 Polyfilled.
TextEncoderStream
🔴 Not implemented.
TransformStream
🔴 Not implemented.
TransformStreamDefaultController
🔴 Not implemented.
URL
🟢 Supported; approaches full compliance.
URLSearchParams
🟢 Supported.
WebAssembly
🟢 Supported.
WritableStream
🔴 Not implemented.
WritableStreamDefaultController
🔴 Not implemented.
WritableStreamDefaultWriter
🔴 Not implemented.
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.