API support
This report covers 62 modules, measured in 3 of the 3 places they can run.
Note
This section is generated automatically.
#Summary
| Measure | Result |
|---|---|
| Modules | 62 |
| Behavior matches Node.js | 26 |
| API surface only | 21 |
| Imports but not tested | 15 |
| Does not import | 0 |
| Exports available | 1459 of 1468 (99.39%) |
| Modules with every export | 59 |
#Where these modules run
| Where it runs | Modules measured | ✅ Works | ⚠️ Some support | ❔ Not tested | ❌ Unavailable | Average export coverage | Node test suite |
|---|---|---|---|---|---|---|---|
| nstd | 47 of 62 | 13 | 34 | 0 | 0 | – | 51.75% (46 modules) |
| Browser | 62 of 62 | 0 | 4 | 57 | 1 | 98.1% | – |
| Node.js (host) | 62 of 62 | 26 | 21 | 15 | 0 | 99.51% | 93.33% (3 modules) |
Average export coverage counts how many of Node's export names answer, and is blank where a runtime is measured by behaviour without enumerating a surface. Node test suite is the pass rate of Node's own tests there, over the modules a suite reached - a different measurement, never folded into the one beside it. Both are subject to the caveats under Sources below.
nstd: The standalone runtime this repository builds: QuickJS-NG and a Zig host.
Browser: This is an estimate. It still uses V8 and
file:URLs. It has no DOM. A failure here will also fail in a real browser.
Node.js (host): The modules running under Node.js itself, which is also the oracle every other row is compared against. It measures this library under Node, not Node.
#Support by module
The percentage shows how many Node.js exports are available.
| Module | nstd | Browser | Node.js (host) | Exports |
|---|---|---|---|---|
node:_http_agent | – | ❔ 100% | ❔ 100% | 2/2 |
node:_http_client | – | ❔ 100% | ❔ 100% | 1/1 |
node:_http_common | – | ❔ 100% | ❔ 100% | 14/14 |
node:_http_incoming | – | ❔ 100% | ❔ 100% | 4/4 |
node:_http_outgoing | – | ❔ 100% | ❔ 100% | 6/6 |
node:_http_server | – | ❔ 100% | ❔ 100% | 9/9 |
node:_tls_common | – | ❔ 100% | ❔ 100% | 3/3 |
node:_tls_wrap | – | ❔ 100% | ❔ 100% | 4/4 |
node:assert | ⚠️ | ❔ 100% | ✅ 100% | 21/21 |
node:assert/strict | ⚠️ | ❔ 100% | ✅ 100% | 21/21 |
node:async_hooks | – | ❔ 100% | ✅ 100% | 7/7 |
node:buffer | ⚠️ | ❔ 100% | ✅ 100% | 13/13 |
node:child_process | ✅ | ❔ 100% | ⚠️ 100% | 9/9 |
node:cluster | ⚠️ | ❔ 100% | ⚠️ 100% | 16/16 |
node:console | ⚠️ | ⚠️ 77% | ❔ 77% | 24/31 |
node:constants | ✅ | ❔ 100% | ✅ 100% | 235/235 |
node:crypto | ✅ | ❔ 100% | ✅ 100% | 74/74 |
node:dgram | ⚠️ | ❔ 100% | ⚠️ 100% | 2/2 |
node:diagnostics_channel | – | ❔ 100% | ❔ 100% | 8/8 |
node:dns | ⚠️ | ❔ 100% | ✅ 100% | 50/50 |
node:dns/promises | ⚠️ | ❔ 100% | ✅ 100% | 46/46 |
node:domain | ⚠️ | ❌ | ❔ 100% | 5/5 |
node:events | ⚠️ | ❔ 100% | ✅ 100% | 17/17 |
node:fs | ✅ | ❔ 100% | ✅ 100% | 104/104 |
node:fs/promises | ✅ | ❔ 100% | ✅ 100% | 33/33 |
node:http | ✅ | ⚠️ 95% | ⚠️ 95% | 20/21 |
node:http2 | ⚠️ | ❔ 100% | ⚠️ 100% | 11/11 |
node:https | ✅ | ❔ 100% | ⚠️ 100% | 6/6 |
node:inspector | ⚠️ | ❔ 100% | ⚠️ 100% | 9/9 |
node:inspector/promises | ⚠️ | ❔ 100% | ⚠️ 100% | 9/9 |
node:module | ✅ | ⚠️ 97% | ✅ 97% | 32/33 |
node:net | ✅ | ❔ 100% | ⚠️ 100% | 18/18 |
node:os | ⚠️ | ❔ 100% | ⚠️ 100% | 23/23 |
node:path | ⚠️ | ❔ 100% | ✅ 100% | 17/17 |
node:path/posix | ⚠️ | ❔ 100% | ✅ 100% | 17/17 |
node:path/win32 | ⚠️ | ❔ 100% | ✅ 100% | 17/17 |
node:perf_hooks | – | ❔ 100% | ⚠️ 100% | 13/13 |
node:process | ✅ | ⚠️ 14% | ⚠️ 100% | 86/86 |
node:punycode | ⚠️ | ❔ 100% | ✅ 100% | 6/6 |
node:querystring | ⚠️ | ❔ 100% | ✅ 100% | 7/7 |
node:readline | ⚠️ | ❔ 100% | ⚠️ 100% | 8/8 |
node:readline/promises | ⚠️ | ❔ 100% | ⚠️ 100% | 3/3 |
node:repl | ⚠️ | ❔ 100% | ⚠️ 100% | 9/9 |
node:stream | ⚠️ | ❔ 100% | ✅ 100% | 23/23 |
node:stream/consumers | ⚠️ | ❔ 100% | ✅ 100% | 6/6 |
node:stream/promises | ⚠️ | ❔ 100% | ✅ 100% | 2/2 |
node:stream/web | ⚠️ | ❔ 100% | ❔ 100% | 18/18 |
node:string_decoder | – | ❔ 100% | ✅ 100% | 1/1 |
node:sys | ✅ | ❔ 100% | ❔ 100% | 34/34 |
node:timers | ⚠️ | ❔ 100% | ✅ 100% | 7/7 |
node:timers/promises | ⚠️ | ❔ 100% | ✅ 100% | 4/4 |
node:tls | ✅ | ❔ 100% | ⚠️ 100% | 19/19 |
node:trace_events | – | ❔ 100% | ⚠️ 100% | 2/2 |
node:tty | ⚠️ | ❔ 100% | ⚠️ 100% | 3/3 |
node:url | ✅ | ❔ 100% | ✅ 100% | 14/14 |
node:util | ⚠️ | ❔ 100% | ✅ 100% | 34/34 |
node:util/types | ⚠️ | ❔ 100% | ✅ 100% | 43/43 |
node:v8 | ⚠️ | ❔ 100% | ⚠️ 100% | 24/24 |
node:vm | ⚠️ | ❔ 100% | ❔ 100% | 10/10 |
node:wasi | – | ❔ 100% | ❔ 100% | 1/1 |
node:worker_threads | – | ❔ 100% | ⚠️ 100% | 21/21 |
node:zlib | ⚠️ | ❔ 100% | ⚠️ 100% | 154/154 |
Key: ✅ works · ⚠️ some support · ❔ not tested · ❌ unavailable · – not measured
#Report sources
These reports provide the numbers above. A missing report means that runtime was not measured. It does not mean the module is broken.
| Report | Measures | Created | Notes |
|---|---|---|---|
browser | Browser | 2026-08-27T18:53:07.603Z | |
coverage | Node.js (host) | 2026-08-27T18:52:51.162Z | |
native-differentials | nstd | 2026-08-27T21:42:08.250Z | stale |
native-node-suite | nstd | 2026-08-27T21:43:58.748Z | stale |
node-suite | Node.js (host) | 2026-08-27T18:55:33.491Z | partial: only tests matching /test-path-/ |
smoke | Node.js (host) | 2026-08-27T19:00:25.979Z | |
vitest | Node.js (host) | 2026-08-27T18:53:31.157Z |
#Warnings
- Native-differentials was produced at 975a25d and this merge ran at 9bcca7e. Re-run it before quoting the figure.
- Native-node-suite was produced at 975a25d and this merge ran at 9bcca7e. Re-run it before quoting the figure.
- Node-suite measured only part of the library: only tests matching /test-path-/. Results for covered modules are valid. Other modules were not measured.