diff --git a/runtime/manual/node/compatibility.md b/runtime/manual/node/compatibility.md index 2d2bfb96e..0bea9bc96 100644 --- a/runtime/manual/node/compatibility.md +++ b/runtime/manual/node/compatibility.md @@ -4,6 +4,9 @@ oldUrl: /runtime/manual/npm_nodejs/compatibility_mode/ --- 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](https://docs.deno.com/api/node/). + Node compatibility is an ongoing project - help us identify gaps and let us know which modules you need by [opening an issue on GitHub](https://github.com/denoland/deno). @@ -39,7 +42,7 @@ which modules you need by
- AsyncLocalStorage
is supported. AsyncResource
,{" "}
+ AsyncLocalStorage
is supported. AsyncResource
,
executionAsyncId
, and createHook
are
non-functional stubs.
node:child_process
- The ipc
and overlapped
stdio options are missing.
- Passing file descriptors by an integer value is missing.
+ Fully supported.
Node.js docs @@ -115,16 +117,16 @@ which modules you need by
- 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
{" "}
+ 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:fs
- Missing utf16le
, latin1
and ucs2
{" "}
+ Missing utf16le
, latin1
and ucs2
encoding for fs.writeFile
and fs.writeFileSync
.
- Missing Dirent.isBlockDevice
,{" "}
- Dirent.isCharacterDevice
, Dirent.isFIFO
,{" "}
- Dirent.isSocket
, FSWatcher.ref
,{" "}
- FSWatcher.unref
.
node:fs/promises
- Missing lchmod
, lchown
, lutimes
.
+ Missing lchmod
.
Node.js docs @@ -286,7 +284,7 @@ which modules you need by
- Missing https.Server.opts.cert
and{" "}
+ Missing https.Server.opts.cert
and
https.Server.opts.key
array type.
@@ -334,7 +332,7 @@ which modules you need by
- Missing net.Socket.prototype.constructor
with fd
{" "}
+ Missing net.Socket.prototype.constructor
with fd
option.
@@ -380,8 +378,8 @@ which modules you need by
- Missing perf_hooks.eventLoopUtilization
,{" "}
- perf_hooks.timerify
,{" "}
+ Missing perf_hooks.eventLoopUtilization
,
+ perf_hooks.timerify
,
perf_hooks.monitorEventLoopDelay
.
@@ -458,7 +456,7 @@ which modules you need by
builtinModules
and _builtinLibs
are supported.
- Missing REPLServer.prototype.constructor
and{" "}
+ Missing REPLServer.prototype.constructor
and
start()
.
@@ -489,7 +487,7 @@ which modules you need by
- Missing decoding of ascii
, latin1
and{" "}
+ Missing decoding of ascii
, latin1
and
utf16le
decoding options.
@@ -574,11 +572,11 @@ which modules you need by
node:tty
- Missing ReadStream
and WriteStream
implementation.
+ Fully supported.
Node.js docs @@ -625,9 +623,7 @@ which modules you need by
cachedDataVersionTag
and getHeapStatistics
are
supported. setFlagsFromStrings
is a noop. Other APIs are not
- supported and will throw and error. The other APIs could be
- polyfilled, but due inherent lack of format stability between the V8
- versions, the Deno team is considering requiring a special flag to use them.
+ supported and will throw and error.
Node.js docs
@@ -638,12 +634,11 @@ which modules you need by
node:vm
- runInThisContext
is supported. Other APIs are not polyfilled
- and will throw and error.
+ Fully supported.
Node.js docs @@ -671,10 +666,10 @@ which modules you need by
- Missing parentPort.emit
,{" "}
- parentPort.removeAllListeners
,{" "}
- markAsUntransferable
, moveMessagePortToContext
,{" "}
- receiveMessageOnPort
,{" "}
+ Missing parentPort.emit
,
+ parentPort.removeAllListeners
,
+ markAsUntransferable
, moveMessagePortToContext
,
+ receiveMessageOnPort
,
Worker.prototype.getHeapSnapshot
.
@@ -686,14 +681,11 @@ which modules you need by
node:zlib
- Missing Options.prototype.constructor
,{" "}
- BrotliOptions.prototype.constructor
,{" "}
- BrotliDecompress.prototype.constructor
,{" "}
- ZlibBase.prototype.constructor
.
+ Fully supported.