Elide 1.0.0-alpha10 Help

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 v22.0.0

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 of global.__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.

Last modified: 14 May 2024