Node API Compatibility List
Deno provides polyfills for a number of built-in Node.js modules and globals. 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 modules
| Module | Support Level | Notes |
|---|---|---|
node:assert | ✅ Full | |
node:assert/strict | ✅ Full | |
node:async_hooks | ℹ️ Partial | AsyncLocalStorage is supported.AsyncResource,executionAsyncId, andcreateHook are non-functional stubs. |
node:buffer | ✅ Full | |
node:child_process | ℹ️ Partial | The ipc and overlapped stdio options are missing. Passing file descriptors by an integer value is missing. |
node:cluster | ❌ Missing | All exports are non-functional stubs. |
node:console | ✅ Full | |
node:crypto | ℹ️ Partial | Missing Certificate class,crypto.Cipheriv.prototype.setAutoPadding,crypto.Decipheriv.prototype.setAutoPadding,crypto.getCipherInfo, crypto.publicDecrypt,crypto.ECDH.prototype.convertKey,crypto.diffieHellman, x448 option forgenerateKeyPair, crypto.KeyObject,safe, add and rem options forgeneratePrime, crypto.Sign.prototype.sign andcrypto.Verify.prototype.verify with non BinaryLikeinput, crypto.secureHeapUsed, crypto.setEngine, legacy methods of crypto.X509Certificate. |
node:dgram | ℹ️ Full | |
node:diagnostics_channel | ✅ Full | |
node:dns | ℹ️ Partial | Missing |
node:domain | ❌ Missing | All exports are non-functional stubs. |
node:events | ✅ Full | |
node:fs | ℹ️ Partial | Missing |
node:fs/promises | ℹ️ Partial | Missing |
node:http | ℹ️ Partial |
|
node:http2 | ℹ️ Partial | Partially supported, major work in progress to enable |
node:https | ℹ️ Partial | Missing |
node:inspector | ℹ️ Partial |
|
node:module | ✅ Full | |
node:net | ℹ️ Partial | Missing |
node:os | ✅ Full | |
node:path | ✅ Full | |
node:path/posix | ✅ Full | |
node:path/win32 | ✅ Full | |
node:perf_hooks | ℹ️ Partial | Missing |
node:process | ℹ️ Partial | Missing |
node:punycode | ✅ Full | |
node:querystring | ✅ Full | |
node:readline | ✅ Full | |
node:repl | ℹ️ Partial |
|
node:stream | ✅ Full | |
node:stream/consumers | ✅ Full | |
node:stream/promises | ✅ Full | |
node:stream/web | ✅ Full | |
node:string_decoder | ℹ️ Partial | Missing decoding of |
node:sys | ✅ Full | See |
node:test | ℹ️ Partial | Currently only |
node:timers | ✅ Full | |
node:timers/promises | ✅ Full | |
node:tls | ℹ️ Partial | Missing |
node:trace_events | ❌ Missing | All exports are non-functional stubs. |
node:tty | ℹ️ Partial | Missing |
node:url | ✅ Full | |
node:util | ✅ Full | |
node:util/types | ✅ Full | |
node:v8 | ℹ️ Partial |
|
node:vm | ℹ️ Partial |
|
node:wasi | ❌ Missing | All exports are non-functional stubs. |
node:worker_threads | ℹ️ Partial | Missing |
node:zlib | ℹ️ Partial | Missing |
Globals
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.