On this page
Node API Compatibility List
Deno provides polyfills for a number of built-in Node.js modules and globals. For a full list of Node built-in modules, see the reference.
Node compatibility is an ongoing project - help us identify gaps and let us know which modules you need by opening an issue on GitHub.
Built-in module support Jump to heading
node:async_hooks
ℹ️
AsyncLocalStorage is supported. AsyncResource,
executionAsyncId, and createHook are
non-functional stubs.
node:crypto
ℹ️
Missing Certificate class,
crypto.Cipheriv.prototype.setAutoPadding,
crypto.Decipheriv.prototype.setAutoPadding,
crypto.getCipherInfo, crypto.publicDecrypt,
crypto.ECDH.prototype.convertKey,
crypto.diffieHellman, x448 option for
generateKeyPair, crypto.KeyObject,
safe, add and rem options for
generatePrime, crypto.Sign.prototype.sign and
crypto.Verify.prototype.verify with non BinaryLike
input, crypto.secureHeapUsed, crypto.setEngine,
legacy methods of crypto.X509Certificate.
node:dgram
ℹ️
Some dgram.Socket instance methods are non-functional stubs:
addMembershipaddSourceSpecificMembershipdropMembershipdropSourceSpecificMembershipsetBroadcastsetMulticastInterfacesetMulticastLoopbacksetMulticastTtlsetTtlrefunref
node:fs
ℹ️
node:fs
Missing utf16le, latin1 and ucs2
encoding for fs.writeFile and fs.writeFileSync.
node:fs/promises
Missing lchmod.
node:inspector
ℹ️
console is supported. Other APIs are stubs and will throw an
error. Due to security implications the Deno team does not plan to polyfill
these APIs.
node:perf_hooks
ℹ️
Missing perf_hooks.eventLoopUtilization,
perf_hooks.timerify,
perf_hooks.monitorEventLoopDelay.
node:repl
ℹ️
builtinModules and _builtinLibs are supported.
Missing REPLServer.prototype.constructor and
start().
node:util
ℹ️
Missing aborted, transferableAbortSignal, transferableAbortController, MIMEParams, MIMEType, getSystemErrorMap, and debug.
node:v8
ℹ️
cachedDataVersionTag and getHeapStatistics are
supported. setFlagsFromStrings is a noop. Other APIs are not
supported and will throw and error.
node:worker_threads
ℹ️
Missing parentPort.emit,
parentPort.removeAllListeners,
markAsUntransferable, moveMessagePortToContext,
receiveMessageOnPort,
Worker.prototype.getHeapSnapshot.
Globals Jump to heading
This is the list of Node globals that Deno supports. These globals are only
available in the npm package scope. In your own code you can use them by
importing them from the relevant node: module.