Skip to content

Commit 38487d6

Browse files
jasnellvicb
andauthored
Update node.js compat supported matrix (#25150)
Co-authored-by: Victor Berchet <[email protected]>
1 parent 2232eac commit 38487d6

File tree

1 file changed

+50
-36
lines changed
  • src/content/docs/workers/runtime-apis/nodejs

1 file changed

+50
-36
lines changed

src/content/docs/workers/runtime-apis/nodejs/index.mdx

Lines changed: 50 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,10 @@ When you write a Worker, you may need to import packages from [npm](https://www.
1111

1212
Cloudflare Workers provides a subset of Node.js APIs in two forms:
1313

14-
1. As built-in APIs provided by the Workers Runtime
14+
1. As built-in APIs provided by the Workers Runtime. Most of these APIs are
15+
full implementations of the corresponding Node.js APIs, while a few are
16+
partially supported or non-functional stubs intended for the APIs to be
17+
available for import only but not for actual use.
1518
2. As polyfill shim implementations that [Wrangler](/workers/wrangler/) adds to your Worker's code, allowing it to import the module, but calling API methods will throw errors.
1619

1720
## Get Started
@@ -29,44 +32,55 @@ compatibility_date = "2024-09-23"
2932

3033
## Supported Node.js APIs
3134

32-
The runtime APIs from Node.js listed below as "🟢 supported" are currently natively supported in the Workers Runtime.
35+
The runtime APIs from Node.js listed below as "🟢 supported" are currently natively supported in the Workers Runtime. Item listed as "🟡 partially supported" are either only partially implemented or are implemented as non-functional stubs.
3336

3437
[Deprecated or experimental APIs from Node.js](https://nodejs.org/docs/latest/api/documentation.html#stability-index), and APIs that do not fit in a serverless context, are not included as part of the list below:
3538

36-
| API Name | Natively supported by the Workers Runtime |
37-
| -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
38-
| [Assertion testing](/workers/runtime-apis/nodejs/assert/) | 🟢 supported |
39-
| [Asynchronous context tracking](/workers/runtime-apis/nodejs/asynclocalstorage/) | 🟢 supported |
40-
| [Buffer](/workers/runtime-apis/nodejs/buffer/) | 🟢 supported |
41-
| Console | 🟢 supported |
42-
| [Crypto](/workers/runtime-apis/nodejs/crypto/) | 🟢 supported |
43-
| [Debugger](/workers/observability/dev-tools/) | 🟢 supported via [Chrome Dev Tools integration](/workers/observability/dev-tools/) |
44-
| [Diagnostics Channel](/workers/runtime-apis/nodejs/diagnostics-channel/) | 🟢 supported |
45-
| [DNS](/workers/runtime-apis/nodejs/dns/) | 🟢 supported |
46-
| Errors | 🟢 supported |
47-
| Events | 🟢 supported |
48-
| File system | 🟢 supported |
49-
| Globals | 🟢 supported |
50-
| [HTTP](/workers/runtime-apis/nodejs/http/) | 🟢 supported |
51-
| HTTP/2 | ⚪ not yet supported |
52-
| [HTTPS](/workers/runtime-apis/nodejs/https/) | 🟢 supported |
53-
| Inspector | 🟢 supported via [Chrome Dev Tools integration](/workers/observability/dev-tools/) |
54-
| [Net](/workers/runtime-apis/nodejs/net/) | 🟢 supported |
55-
| OS | ⚪ not yet supported |
56-
| [Path](/workers/runtime-apis/nodejs/path/) | 🟢 supported |
57-
| Performance hooks | 🟡 partially supported |
58-
| [Process](/workers/runtime-apis/nodejs/process/) | 🟢 supported |
59-
| Query strings | 🟢 supported |
60-
| [Stream](/workers/runtime-apis/nodejs/streams/) | 🟢 supported |
61-
| [String decoder](/workers/runtime-apis/nodejs/string-decoder/) | 🟢 supported |
62-
| [Timers](/workers/runtime-apis/nodejs/timers/) | 🟢 supported |
63-
| [TLS/SSL](/workers/runtime-apis/nodejs/tls/) | 🟡 partially supported |
64-
| UDP/datagram | ⚪ not yet supported |
65-
| [URL](/workers/runtime-apis/nodejs/url/) | 🟢 supported |
66-
| [Utilities](/workers/runtime-apis/nodejs/util/) | 🟢 supported |
67-
| Web Crypto API | 🟢 supported |
68-
| Web Streams API | 🟢 supported |
69-
| [Zlib](/workers/runtime-apis/nodejs/zlib/) | 🟢 supported |
39+
| API Name | Natively supported by the Workers Runtime |
40+
| -------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
41+
| [Assertion testing](/workers/runtime-apis/nodejs/assert/) | 🟢 supported |
42+
| [Asynchronous context tracking](/workers/runtime-apis/nodejs/asynclocalstorage/) | 🟢 supported |
43+
| [Async hooks](https://nodejs.org/docs/latest/api/async_hooks.html) | 🟡 partially supported (non-functional) |
44+
| [Buffer](/workers/runtime-apis/nodejs/buffer/) | 🟢 supported |
45+
| [Child processes](https://nodejs.org/docs/latest/api/child_process.html) | 🟡 partially supported (non-functional) |
46+
| [Cluster](https://nodejs.org/docs/latest/api/cluster.html) | 🟡 partially supported (non-functional) |
47+
| [Console](https://nodejs.org/docs/latest/api/console.html) | 🟡 partially supported |
48+
| [Crypto](/workers/runtime-apis/nodejs/crypto/) | 🟢 supported |
49+
| [Debugger](/workers/observability/dev-tools/) | 🟢 supported via [Chrome Dev Tools integration](/workers/observability/dev-tools/) |
50+
| [Diagnostics Channel](/workers/runtime-apis/nodejs/diagnostics-channel/) | 🟢 supported |
51+
| [DNS](/workers/runtime-apis/nodejs/dns/) | 🟢 supported |
52+
| Errors | 🟢 supported |
53+
| [Events](/workers/runtime-apis/nodejs/eventemitter/) | 🟢 supported |
54+
| [File system](/workers/runtime-apis/nodejs/fs/) | 🟢 supported |
55+
| Globals | 🟢 supported |
56+
| [HTTP](/workers/runtime-apis/nodejs/http/) | 🟢 supported |
57+
| [HTTP/2](https://nodejs.org/docs/latest/api/http2.html) | 🟡 partially supported (non-functional) |
58+
| [HTTPS](/workers/runtime-apis/nodejs/https/) | 🟢 supported |
59+
| [Inspector](https://nodejs.org/docs/latest/api/inspector.html) | 🟡 partially supported via [Chrome Dev Tools integration](/workers/observability/dev-tools/) |
60+
| [Module](https://nodejs.org/docs/latest/api/module.html) | 🟡 partially supported |
61+
| [Net](/workers/runtime-apis/nodejs/net/) | 🟢 supported |
62+
| [OS](https://nodejs.org/docs/latest/api/os.html) | 🟡 partially supported |
63+
| [Path](/workers/runtime-apis/nodejs/path/) | 🟢 supported |
64+
| [Performance hooks](https://nodejs.org/docs/latest/api/perf_hooks.html) | 🟡 partially supported |
65+
| [Process](/workers/runtime-apis/nodejs/process/) | 🟢 supported |
66+
| [Punycode](https://nodejs.org/docs/latest/api/punycode.html) (deprecated) | 🟢 supported |
67+
| [Readline](https://nodejs.org/docs/latest/api/readline.html) | 🟡 partially supported (non-functional) |
68+
| [REPL](https://nodejs.org/docs/latest/api/repl.html) | 🟡 partially supported (non-functional) |
69+
| [Query strings](https://nodejs.org/docs/latest/api/querystring.html) | 🟢 supported |
70+
| [SQLite](https://nodejs.org/docs/latest/api/sqlite.html) | ⚪ not yet supported |
71+
| [Stream](/workers/runtime-apis/nodejs/streams) | 🟢 supported |
72+
| [String decoder](/workers/runtime-apis/nodejs/string-decoder/) | 🟢 supported |
73+
| [Test runner](https://nodejs.org/docs/latest/api/test.html) | ⚪ not supported |
74+
| [Timers](/workers/runtime-apis/nodejs/timers/) | 🟢 supported |
75+
| [TLS/SSL](/workers/runtime-apis/nodejs/tls/) | 🟡 partially supported |
76+
| [UDP/datagram](https://nodejs.org/docs/latest/api/dgram.html) | 🟡 partially supported (non-functional) |
77+
| [URL](/workers/runtime-apis/nodejs/url/) | 🟢 supported |
78+
| [Utilities](/workers/runtime-apis/nodejs/util/) | 🟢 supported |
79+
| [V8](https://nodejs.org/docs/latest/api/v8.html) | 🟡 partially supported (non-functional) |
80+
| [VM](https://nodejs.org/docs/latest/api/vm.html) | 🟡 partially supported (non-functional) |
81+
| [Web Crypto API](/workers/runtime-apis/web-crypto/) | 🟢 supported |
82+
| [Web Streams API](/workers/runtime-apis/streams/) | 🟢 supported |
83+
| [Zlib](/workers/runtime-apis/nodejs/zlib/) | 🟢 supported |
7084

7185
Unless otherwise specified, native implementations of Node.js APIs in Workers are intended to match the implementation in the [Current release of Node.js](https://github.com/nodejs/release#release-schedule).
7286

0 commit comments

Comments
 (0)