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.

@@ -67,12 +70,11 @@ which modules you need by 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.

@@ -230,18 +232,14 @@ which modules you need by 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.

Node.js docs