bun-types 1.1.37-canary.20241124T140524 → 1.1.37

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/docs/api/binary-data.md +1028 -0
  2. package/docs/api/cc.md +197 -0
  3. package/docs/api/color.md +262 -0
  4. package/docs/api/console.md +38 -0
  5. package/docs/api/dns.md +113 -0
  6. package/docs/api/fetch.md +308 -0
  7. package/docs/api/ffi.md +536 -0
  8. package/docs/api/file-io.md +358 -0
  9. package/docs/api/file-system-router.md +112 -0
  10. package/docs/api/file.md +19 -0
  11. package/docs/api/glob.md +157 -0
  12. package/docs/api/globals.md +387 -0
  13. package/docs/api/hashing.md +314 -0
  14. package/docs/api/html-rewriter.md +31 -0
  15. package/docs/api/http.md +661 -0
  16. package/docs/api/import-meta.md +69 -0
  17. package/docs/api/node-api.md +16 -0
  18. package/docs/api/semver.md +52 -0
  19. package/docs/api/spawn.md +441 -0
  20. package/docs/api/sqlite.md +692 -0
  21. package/docs/api/streams.md +214 -0
  22. package/docs/api/tcp.md +221 -0
  23. package/docs/api/test.md +1 -0
  24. package/docs/api/transpiler.md +274 -0
  25. package/docs/api/udp.md +125 -0
  26. package/docs/api/utils.md +773 -0
  27. package/docs/api/websockets.md +547 -0
  28. package/docs/api/workers.md +230 -0
  29. package/docs/benchmarks.md +120 -0
  30. package/docs/bun-flavored-toml.md +42 -0
  31. package/docs/bundler/executables.md +291 -0
  32. package/docs/bundler/index.md +1543 -0
  33. package/docs/bundler/intro.md +75 -0
  34. package/docs/bundler/loaders.md +288 -0
  35. package/docs/bundler/macros.md +327 -0
  36. package/docs/bundler/plugins.md +30 -0
  37. package/docs/bundler/vs-esbuild.md +1127 -0
  38. package/docs/cli/add.md +163 -0
  39. package/docs/cli/bun-completions.md +3 -0
  40. package/docs/cli/bun-create.md +254 -0
  41. package/docs/cli/bun-dev.md +21 -0
  42. package/docs/cli/bun-install.md +255 -0
  43. package/docs/cli/bun-upgrade.md +39 -0
  44. package/docs/cli/bunx.md +80 -0
  45. package/docs/cli/filter.md +57 -0
  46. package/docs/cli/init.md +40 -0
  47. package/docs/cli/install.md +205 -0
  48. package/docs/cli/link.md +38 -0
  49. package/docs/cli/outdated.md +61 -0
  50. package/docs/cli/patch-commit.md +9 -0
  51. package/docs/cli/pm.md +150 -0
  52. package/docs/cli/publish.md +107 -0
  53. package/docs/cli/remove.md +5 -0
  54. package/docs/cli/run.md +196 -0
  55. package/docs/cli/test.md +247 -0
  56. package/docs/cli/unlink.md +7 -0
  57. package/docs/cli/update.md +34 -0
  58. package/docs/contributing/upgrading-webkit.md +57 -0
  59. package/docs/ecosystem/elysia.md +24 -0
  60. package/docs/ecosystem/express.md +37 -0
  61. package/docs/ecosystem/hono.md +18 -0
  62. package/docs/ecosystem/react.md +65 -0
  63. package/docs/ecosystem/stric.md +37 -0
  64. package/docs/guides/binary/arraybuffer-to-array.md +27 -0
  65. package/docs/guides/binary/arraybuffer-to-blob.md +24 -0
  66. package/docs/guides/binary/arraybuffer-to-buffer.md +25 -0
  67. package/docs/guides/binary/arraybuffer-to-string.md +15 -0
  68. package/docs/guides/binary/arraybuffer-to-typedarray.md +39 -0
  69. package/docs/guides/binary/blob-to-arraybuffer.md +14 -0
  70. package/docs/guides/binary/blob-to-dataview.md +14 -0
  71. package/docs/guides/binary/blob-to-stream.md +14 -0
  72. package/docs/guides/binary/blob-to-string.md +15 -0
  73. package/docs/guides/binary/blob-to-typedarray.md +14 -0
  74. package/docs/guides/binary/buffer-to-arraybuffer.md +14 -0
  75. package/docs/guides/binary/buffer-to-blob.md +14 -0
  76. package/docs/guides/binary/buffer-to-readablestream.md +41 -0
  77. package/docs/guides/binary/buffer-to-string.md +25 -0
  78. package/docs/guides/binary/buffer-to-typedarray.md +14 -0
  79. package/docs/guides/binary/dataview-to-string.md +15 -0
  80. package/docs/guides/binary/typedarray-to-arraybuffer.md +25 -0
  81. package/docs/guides/binary/typedarray-to-blob.md +16 -0
  82. package/docs/guides/binary/typedarray-to-buffer.md +14 -0
  83. package/docs/guides/binary/typedarray-to-dataview.md +14 -0
  84. package/docs/guides/binary/typedarray-to-readablestream.md +41 -0
  85. package/docs/guides/binary/typedarray-to-string.md +16 -0
  86. package/docs/guides/ecosystem/astro.md +72 -0
  87. package/docs/guides/ecosystem/discordjs.md +77 -0
  88. package/docs/guides/ecosystem/docker.md +140 -0
  89. package/docs/guides/ecosystem/drizzle.md +185 -0
  90. package/docs/guides/ecosystem/edgedb.md +228 -0
  91. package/docs/guides/ecosystem/elysia.md +31 -0
  92. package/docs/guides/ecosystem/express.md +40 -0
  93. package/docs/guides/ecosystem/hono.md +39 -0
  94. package/docs/guides/ecosystem/mongoose.md +87 -0
  95. package/docs/guides/ecosystem/neon-drizzle.md +220 -0
  96. package/docs/guides/ecosystem/neon-serverless-postgres.md +55 -0
  97. package/docs/guides/ecosystem/nextjs.md +38 -0
  98. package/docs/guides/ecosystem/nuxt.md +56 -0
  99. package/docs/guides/ecosystem/pm2.md +57 -0
  100. package/docs/guides/ecosystem/prisma.md +140 -0
  101. package/docs/guides/ecosystem/qwik.md +107 -0
  102. package/docs/guides/ecosystem/react.md +49 -0
  103. package/docs/guides/ecosystem/remix.md +78 -0
  104. package/docs/guides/ecosystem/render.md +79 -0
  105. package/docs/guides/ecosystem/sentry.md +52 -0
  106. package/docs/guides/ecosystem/solidstart.md +58 -0
  107. package/docs/guides/ecosystem/ssr-react.md +51 -0
  108. package/docs/guides/ecosystem/stric.md +55 -0
  109. package/docs/guides/ecosystem/sveltekit.md +125 -0
  110. package/docs/guides/ecosystem/systemd.md +113 -0
  111. package/docs/guides/ecosystem/vite.md +70 -0
  112. package/docs/guides/http/cluster.md +66 -0
  113. package/docs/guides/http/fetch-unix.md +33 -0
  114. package/docs/guides/http/fetch.md +24 -0
  115. package/docs/guides/http/file-uploads.md +94 -0
  116. package/docs/guides/http/hot.md +22 -0
  117. package/docs/guides/http/proxy.md +24 -0
  118. package/docs/guides/http/server.md +46 -0
  119. package/docs/guides/http/simple.md +18 -0
  120. package/docs/guides/http/stream-file.md +48 -0
  121. package/docs/guides/http/stream-iterator.md +47 -0
  122. package/docs/guides/http/stream-node-streams-in-bun.md +20 -0
  123. package/docs/guides/http/tls.md +30 -0
  124. package/docs/guides/install/add-dev.md +26 -0
  125. package/docs/guides/install/add-git.md +36 -0
  126. package/docs/guides/install/add-optional.md +25 -0
  127. package/docs/guides/install/add-peer.md +17 -0
  128. package/docs/guides/install/add-tarball.md +33 -0
  129. package/docs/guides/install/add.md +42 -0
  130. package/docs/guides/install/azure-artifacts.md +73 -0
  131. package/docs/guides/install/cicd.md +41 -0
  132. package/docs/guides/install/custom-registry.md +30 -0
  133. package/docs/guides/install/from-npm-install-to-bun-install.md +214 -0
  134. package/docs/guides/install/git-diff-bun-lockfile.md +38 -0
  135. package/docs/guides/install/jfrog-artifactory.md +28 -0
  136. package/docs/guides/install/npm-alias.md +23 -0
  137. package/docs/guides/install/registry-scope.md +36 -0
  138. package/docs/guides/install/trusted.md +48 -0
  139. package/docs/guides/install/workspaces.md +70 -0
  140. package/docs/guides/install/yarnlock.md +42 -0
  141. package/docs/guides/process/argv.md +57 -0
  142. package/docs/guides/process/ctrl-c.md +16 -0
  143. package/docs/guides/process/ipc.md +66 -0
  144. package/docs/guides/process/nanoseconds.md +13 -0
  145. package/docs/guides/process/os-signals.md +39 -0
  146. package/docs/guides/process/spawn-stderr.md +31 -0
  147. package/docs/guides/process/spawn-stdout.md +26 -0
  148. package/docs/guides/process/spawn.md +41 -0
  149. package/docs/guides/process/stdin.md +54 -0
  150. package/docs/guides/read-file/arraybuffer.md +28 -0
  151. package/docs/guides/read-file/buffer.md +19 -0
  152. package/docs/guides/read-file/exists.md +16 -0
  153. package/docs/guides/read-file/json.md +17 -0
  154. package/docs/guides/read-file/mime.md +20 -0
  155. package/docs/guides/read-file/stream.md +26 -0
  156. package/docs/guides/read-file/string.md +22 -0
  157. package/docs/guides/read-file/uint8array.md +21 -0
  158. package/docs/guides/read-file/watch.md +68 -0
  159. package/docs/guides/runtime/cicd.md +43 -0
  160. package/docs/guides/runtime/define-constant.md +145 -0
  161. package/docs/guides/runtime/import-html.md +15 -0
  162. package/docs/guides/runtime/import-json.md +44 -0
  163. package/docs/guides/runtime/import-toml.md +30 -0
  164. package/docs/guides/runtime/read-env.md +32 -0
  165. package/docs/guides/runtime/set-env.md +37 -0
  166. package/docs/guides/runtime/shell.md +40 -0
  167. package/docs/guides/runtime/timezone.md +35 -0
  168. package/docs/guides/runtime/tsconfig-paths.md +29 -0
  169. package/docs/guides/runtime/typescript.md +47 -0
  170. package/docs/guides/runtime/vscode-debugger.md +47 -0
  171. package/docs/guides/runtime/web-debugger.md +82 -0
  172. package/docs/guides/streams/node-readable-to-arraybuffer.md +11 -0
  173. package/docs/guides/streams/node-readable-to-blob.md +11 -0
  174. package/docs/guides/streams/node-readable-to-json.md +12 -0
  175. package/docs/guides/streams/node-readable-to-string.md +12 -0
  176. package/docs/guides/streams/node-readable-to-uint8array.md +11 -0
  177. package/docs/guides/streams/to-array.md +14 -0
  178. package/docs/guides/streams/to-arraybuffer.md +14 -0
  179. package/docs/guides/streams/to-blob.md +14 -0
  180. package/docs/guides/streams/to-buffer.md +15 -0
  181. package/docs/guides/streams/to-json.md +14 -0
  182. package/docs/guides/streams/to-string.md +14 -0
  183. package/docs/guides/streams/to-typedarray.md +22 -0
  184. package/docs/guides/test/bail.md +22 -0
  185. package/docs/guides/test/coverage-threshold.md +60 -0
  186. package/docs/guides/test/coverage.md +44 -0
  187. package/docs/guides/test/happy-dom.md +68 -0
  188. package/docs/guides/test/migrate-from-jest.md +110 -0
  189. package/docs/guides/test/mock-clock.md +48 -0
  190. package/docs/guides/test/mock-functions.md +68 -0
  191. package/docs/guides/test/rerun-each.md +14 -0
  192. package/docs/guides/test/run-tests.md +111 -0
  193. package/docs/guides/test/skip-tests.md +39 -0
  194. package/docs/guides/test/snapshot.md +99 -0
  195. package/docs/guides/test/spy-on.md +46 -0
  196. package/docs/guides/test/testing-library.md +87 -0
  197. package/docs/guides/test/timeout.md +15 -0
  198. package/docs/guides/test/todo-tests.md +67 -0
  199. package/docs/guides/test/update-snapshots.md +50 -0
  200. package/docs/guides/test/watch-mode.md +19 -0
  201. package/docs/guides/util/base64.md +15 -0
  202. package/docs/guides/util/deep-equals.md +39 -0
  203. package/docs/guides/util/deflate.md +18 -0
  204. package/docs/guides/util/detect-bun.md +23 -0
  205. package/docs/guides/util/entrypoint.md +17 -0
  206. package/docs/guides/util/escape-html.md +22 -0
  207. package/docs/guides/util/file-url-to-path.md +14 -0
  208. package/docs/guides/util/gzip.md +18 -0
  209. package/docs/guides/util/hash-a-password.md +54 -0
  210. package/docs/guides/util/import-meta-dir.md +13 -0
  211. package/docs/guides/util/import-meta-file.md +13 -0
  212. package/docs/guides/util/import-meta-path.md +13 -0
  213. package/docs/guides/util/main.md +32 -0
  214. package/docs/guides/util/path-to-file-url.md +14 -0
  215. package/docs/guides/util/sleep.md +22 -0
  216. package/docs/guides/util/version.md +21 -0
  217. package/docs/guides/util/which-path-to-executable-bin.md +15 -0
  218. package/docs/guides/websocket/compression.md +31 -0
  219. package/docs/guides/websocket/context.md +72 -0
  220. package/docs/guides/websocket/pubsub.md +38 -0
  221. package/docs/guides/websocket/simple.md +33 -0
  222. package/docs/guides/write-file/append.md +52 -0
  223. package/docs/guides/write-file/basic.md +44 -0
  224. package/docs/guides/write-file/blob.md +28 -0
  225. package/docs/guides/write-file/cat.md +17 -0
  226. package/docs/guides/write-file/file-cp.md +16 -0
  227. package/docs/guides/write-file/filesink.md +52 -0
  228. package/docs/guides/write-file/response.md +17 -0
  229. package/docs/guides/write-file/stdout.md +21 -0
  230. package/docs/guides/write-file/stream.md +17 -0
  231. package/docs/guides/write-file/unlink.md +23 -0
  232. package/docs/index.md +77 -0
  233. package/docs/install/cache.md +57 -0
  234. package/docs/install/index.md +202 -0
  235. package/docs/install/lifecycle.md +46 -0
  236. package/docs/install/lockfile.md +90 -0
  237. package/docs/install/npmrc.md +75 -0
  238. package/docs/install/overrides.md +73 -0
  239. package/docs/install/patch.md +57 -0
  240. package/docs/install/registries.md +30 -0
  241. package/docs/install/workspaces.md +70 -0
  242. package/docs/installation.md +289 -0
  243. package/docs/project/benchmarking.md +203 -0
  244. package/docs/project/building-windows.md +162 -0
  245. package/docs/project/internals/build-process-for-ci.md +75 -0
  246. package/docs/project/roadmap.md +87 -0
  247. package/docs/quickstart.md +144 -0
  248. package/docs/runtime/autoimport.md +94 -0
  249. package/docs/runtime/bun-apis.md +129 -0
  250. package/docs/runtime/bunfig.md +532 -0
  251. package/docs/runtime/debugger.md +325 -0
  252. package/docs/runtime/env.md +214 -0
  253. package/docs/runtime/hot.md +139 -0
  254. package/docs/runtime/index.md +309 -0
  255. package/docs/runtime/jsx.md +326 -0
  256. package/docs/runtime/loaders.md +127 -0
  257. package/docs/runtime/modules.md +298 -0
  258. package/docs/runtime/nodejs-apis.md +456 -0
  259. package/docs/runtime/plugins.md +605 -0
  260. package/docs/runtime/shell.md +537 -0
  261. package/docs/runtime/typescript.md +60 -0
  262. package/docs/runtime/web-apis.md +128 -0
  263. package/docs/test/coverage.md +91 -0
  264. package/docs/test/dom.md +75 -0
  265. package/docs/test/hot.md +15 -0
  266. package/docs/test/lifecycle.md +81 -0
  267. package/docs/test/mocks.md +236 -0
  268. package/docs/test/snapshots.md +15 -0
  269. package/docs/test/time.md +106 -0
  270. package/docs/test/writing.md +547 -0
  271. package/docs/typescript.md +51 -0
  272. package/package.json +5 -4
@@ -0,0 +1,456 @@
1
+ Bun aims for complete Node.js API compatibility. Most `npm` packages intended for `Node.js` environments will work with Bun out of the box; the best way to know for certain is to try it.
2
+
3
+ This page is updated regularly to reflect compatibility status of the latest version of Bun. The information below reflects Bun's compatibility with _Node.js v20_. If you run into any bugs with a particular package, please [open an issue](https://bun.sh/issues). Opening issues for compatibility bugs helps us prioritize what to work on next.
4
+
5
+ ## Built-in modules
6
+
7
+ ### [`node:assert`](https://nodejs.org/api/assert.html)
8
+
9
+ 🟢 Fully implemented.
10
+
11
+ ### [`node:async_hooks`](https://nodejs.org/api/async_hooks.html)
12
+
13
+ 🟡 Only `AsyncLocalStorage`, and `AsyncResource` are implemented. `AsyncResource` is missing `bind`.
14
+
15
+ ### [`node:buffer`](https://nodejs.org/api/buffer.html)
16
+
17
+ 🟢 Fully implemented.
18
+
19
+ ### [`node:child_process`](https://nodejs.org/api/child_process.html)
20
+
21
+ 🟡 Missing `proc.gid` `proc.uid`. `Stream` class not exported. IPC cannot send socket handles. Node.js <> Bun IPC can be used with JSON serialization.
22
+
23
+ ### [`node:cluster`](https://nodejs.org/api/cluster.html)
24
+
25
+ 🟡 Handles and file descriptors cannot be passed between workers, which means load-balancing HTTP requests across processes is only supported on Linux at this time (via `SO_REUSEPORT`). Otherwise, implemented but not battle-tested.
26
+
27
+ ### [`node:console`](https://nodejs.org/api/console.html)
28
+
29
+ 🟢 Fully implemented.
30
+
31
+ ### [`node:crypto`](https://nodejs.org/api/crypto.html)
32
+
33
+ 🟡 Missing `Certificate` `ECDH` `X509Certificate` `checkPrime` `checkPrimeSync` `diffieHellman` `generatePrime` `generatePrimeSync` `getCipherInfo` `getFips` `hkdf` `hkdfSync` `secureHeapUsed` `setEngine` `setFips`
34
+
35
+ Some methods are not optimized yet.
36
+
37
+ ### [`node:dgram`](https://nodejs.org/api/dgram.html)
38
+
39
+ 🟡 Missing `setBroadcast` `setTTL` `setMulticastTTL` `setMulticastLoopback` `setMulticastInterface` `addMembership` `dropMembership`
40
+ `addSourceSpecificMembership` `dropSourceSpecificMembership`
41
+
42
+ ### [`node:diagnostics_channel`](https://nodejs.org/api/diagnostics_channel.html)
43
+
44
+ 🟢 Fully implemented.
45
+
46
+ ### [`node:dns`](https://nodejs.org/api/dns.html)
47
+
48
+ 🟡 Missing `cancel` `setServers` `getDefaultResultOrder`
49
+
50
+ ### [`node:domain`](https://nodejs.org/api/domain.html)
51
+
52
+ 🟡 Missing `Domain` `active`
53
+
54
+ ### [`node:events`](https://nodejs.org/api/events.html)
55
+
56
+ 🟡 `events.addAbortListener` & `events.getMaxListeners` do not support (web api) `EventTarget`
57
+
58
+ ### [`node:fs`](https://nodejs.org/api/fs.html)
59
+
60
+ 🟡 Missing `statfs` `statfsSync`, `opendirSync`. `Dir` is partially implemented.
61
+
62
+ ### [`node:http`](https://nodejs.org/api/http.html)
63
+
64
+ 🟢 Fully implemented. Outgoing client request body is currently buffered instead of streamed.
65
+
66
+ ### [`node:http2`](https://nodejs.org/api/http2.html)
67
+
68
+ 🟡 Client & server are implemented (95.25% of gRPC's test suite passes). Missing `options.allowHTTP1`, `options.enableConnectProtocol`, ALTSVC extension, and `http2stream.pushStream`.
69
+
70
+ ### [`node:https`](https://nodejs.org/api/https.html)
71
+
72
+ 🟢 APIs are implemented, but `Agent` is not always used yet.
73
+
74
+ ### [`node:inspector`](https://nodejs.org/api/inspector.html)
75
+
76
+ 🔴 Not implemented.
77
+
78
+ ### [`node:module`](https://nodejs.org/api/module.html)
79
+
80
+ 🟡 Missing `runMain` `syncBuiltinESMExports`, `Module#load()`. Overriding `require.cache` is supported for ESM & CJS modules. `module._extensions`, `module._pathCache`, `module._cache` are no-ops. `module.register` is not implemented and we recommend using a [`Bun.plugin`](https://bun.sh/docs/runtime/plugins) in the meantime.
81
+
82
+ ### [`node:net`](https://nodejs.org/api/net.html)
83
+
84
+ 🟡 `SocketAddress` class not exposed (but implemented). `BlockList` exists but is a no-op.
85
+
86
+ ### [`node:os`](https://nodejs.org/api/os.html)
87
+
88
+ 🟢 Fully implemented.
89
+
90
+ ### [`node:path`](https://nodejs.org/api/path.html)
91
+
92
+ 🟢 Fully implemented.
93
+
94
+ ### [`node:perf_hooks`](https://nodejs.org/api/perf_hooks.html)
95
+
96
+ 🟡 Missing `createHistogram` `monitorEventLoopDelay`. It's recommended to use `performance` global instead of `perf_hooks.performance`.
97
+
98
+ ### [`node:process`](https://nodejs.org/api/process.html)
99
+
100
+ 🟡 See [`process`](#process) Global.
101
+
102
+ ### [`node:punycode`](https://nodejs.org/api/punycode.html)
103
+
104
+ 🟢 Fully implemented. _Deprecated by Node.js._
105
+
106
+ ### [`node:querystring`](https://nodejs.org/api/querystring.html)
107
+
108
+ 🟢 Fully implemented.
109
+
110
+ ### [`node:readline`](https://nodejs.org/api/readline.html)
111
+
112
+ 🟢 Fully implemented.
113
+
114
+ ### [`node:repl`](https://nodejs.org/api/repl.html)
115
+
116
+ 🔴 Not implemented.
117
+
118
+ ### [`node:stream`](https://nodejs.org/api/stream.html)
119
+
120
+ 🟡 Missing `getDefaultHighWaterMark` `setDefaultHighWaterMark` `toWeb`
121
+
122
+ ### [`node:string_decoder`](https://nodejs.org/api/string_decoder.html)
123
+
124
+ 🟢 Fully implemented.
125
+
126
+ ### [`node:sys`](https://nodejs.org/api/util.html)
127
+
128
+ 🟡 See [`node:util`](#node-util).
129
+
130
+ ### [`node:test`](https://nodejs.org/api/test.html)
131
+
132
+ 🔴 Not implemented. Use [`bun:test`](https://bun.sh/docs/cli/test) instead.
133
+
134
+ ### [`node:timers`](https://nodejs.org/api/timers.html)
135
+
136
+ 🟢 Recommended to use global `setTimeout`, et. al. instead.
137
+
138
+ ### [`node:tls`](https://nodejs.org/api/tls.html)
139
+
140
+ 🟡 Missing `tls.createSecurePair`.
141
+
142
+ ### [`node:trace_events`](https://nodejs.org/api/tracing.html)
143
+
144
+ 🔴 Not implemented.
145
+
146
+ ### [`node:tty`](https://nodejs.org/api/tty.html)
147
+
148
+ 🟢 Fully implemented.
149
+
150
+ ### [`node:url`](https://nodejs.org/api/url.html)
151
+
152
+ 🟢 Fully implemented.
153
+
154
+ ### [`node:util`](https://nodejs.org/api/util.html)
155
+
156
+ 🟡 Missing `MIMEParams` `MIMEType` `debug` `getSystemErrorMap` `transferableAbortController` `transferableAbortSignal` `stripVTControlCharacters`
157
+
158
+ ### [`node:v8`](https://nodejs.org/api/v8.html)
159
+
160
+ 🔴 `serialize` and `deserialize` use JavaScriptCore's wire format instead of V8's. Otherwise, not implemented. For profiling, use [`bun:jsc`](https://bun.sh/docs/project/benchmarking#bunjsc) instead.
161
+
162
+ ### [`node:vm`](https://nodejs.org/api/vm.html)
163
+
164
+ 🟡 Core functionality works, but experimental VM ES modules are not implemented, including `vm.Module`, `vm.SourceTextModule`, `vm.SyntheticModule`,`importModuleDynamically`, and `vm.measureMemory`. Options like `timeout`, `breakOnSigint`, `cachedData` are not implemented yet. There is a bug with `this` value for contextified options not having the correct prototype.
165
+
166
+ ### [`node:wasi`](https://nodejs.org/api/wasi.html)
167
+
168
+ 🟡 Partially implemented.
169
+
170
+ ### [`node:worker_threads`](https://nodejs.org/api/worker_threads.html)
171
+
172
+ 🟡 `Worker` doesn't support the following options: `stdin` `stdout` `stderr` `trackedUnmanagedFds` `resourceLimits`. Missing `markAsUntransferable` `moveMessagePortToContext` `getHeapSnapshot`.
173
+
174
+ ### [`node:zlib`](https://nodejs.org/api/zlib.html)
175
+
176
+ 🟡 Partially optimized, but brotli uses too much memory right now.
177
+
178
+ ## Globals
179
+
180
+ The table below lists all globals implemented by Node.js and Bun's current compatibility status.
181
+
182
+ ### [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController)
183
+
184
+ 🟢 Fully implemented.
185
+
186
+ ### [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal)
187
+
188
+ 🟢 Fully implemented.
189
+
190
+ ### [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)
191
+
192
+ 🟢 Fully implemented.
193
+
194
+ ### [`Buffer`](https://nodejs.org/api/buffer.html#class-buffer)
195
+
196
+ 🟢 Fully implemented.
197
+
198
+ ### [`ByteLengthQueuingStrategy`](https://developer.mozilla.org/en-US/docs/Web/API/ByteLengthQueuingStrategy)
199
+
200
+ 🟢 Fully implemented.
201
+
202
+ ### [`__dirname`](https://nodejs.org/api/globals.html#__dirname)
203
+
204
+ 🟢 Fully implemented.
205
+
206
+ ### [`__filename`](https://nodejs.org/api/globals.html#__filename)
207
+
208
+ 🟢 Fully implemented.
209
+
210
+ ### [`atob()`](https://developer.mozilla.org/en-US/docs/Web/API/atob)
211
+
212
+ 🟢 Fully implemented.
213
+
214
+ ### [`BroadcastChannel`](https://developer.mozilla.org/en-US/docs/Web/API/BroadcastChannel)
215
+
216
+ 🟢 Fully implemented.
217
+
218
+ ### [`btoa()`](https://developer.mozilla.org/en-US/docs/Web/API/btoa)
219
+
220
+ 🟢 Fully implemented.
221
+
222
+ ### [`clearImmediate()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/clearImmediate)
223
+
224
+ 🟢 Fully implemented.
225
+
226
+ ### [`clearInterval()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/clearInterval)
227
+
228
+ 🟢 Fully implemented.
229
+
230
+ ### [`clearTimeout()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout)
231
+
232
+ 🟢 Fully implemented.
233
+
234
+ ### [`CompressionStream`](https://developer.mozilla.org/en-US/docs/Web/API/CompressionStream)
235
+
236
+ 🔴 Not implemented.
237
+
238
+ ### [`console`](https://developer.mozilla.org/en-US/docs/Web/API/console)
239
+
240
+ 🟢 Fully implemented.
241
+
242
+ ### [`CountQueuingStrategy`](https://developer.mozilla.org/en-US/docs/Web/API/CountQueuingStrategy)
243
+
244
+ 🟢 Fully implemented.
245
+
246
+ ### [`Crypto`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto)
247
+
248
+ 🟢 Fully implemented.
249
+
250
+ ### [`SubtleCrypto (crypto)`](https://developer.mozilla.org/en-US/docs/Web/API/crypto)
251
+
252
+ 🟢 Fully implemented.
253
+
254
+ ### [`CryptoKey`](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey)
255
+
256
+ 🟢 Fully implemented.
257
+
258
+ ### [`CustomEvent`](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent)
259
+
260
+ 🟢 Fully implemented.
261
+
262
+ ### [`DecompressionStream`](https://developer.mozilla.org/en-US/docs/Web/API/DecompressionStream)
263
+
264
+ 🔴 Not implemented.
265
+
266
+ ### [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event)
267
+
268
+ 🟢 Fully implemented.
269
+
270
+ ### [`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget)
271
+
272
+ 🟢 Fully implemented.
273
+
274
+ ### [`exports`](https://nodejs.org/api/globals.html#exports)
275
+
276
+ 🟢 Fully implemented.
277
+
278
+ ### [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch)
279
+
280
+ 🟢 Fully implemented.
281
+
282
+ ### [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData)
283
+
284
+ 🟢 Fully implemented.
285
+
286
+ ### [`global`](https://nodejs.org/api/globals.html#global)
287
+
288
+ 🟢 Implemented. This is an object containing all objects in the global namespace. It's rarely referenced directly, as its contents are available without an additional prefix, e.g. `__dirname` instead of `global.__dirname`.
289
+
290
+ ### [`globalThis`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis)
291
+
292
+ 🟢 Aliases to `global`.
293
+
294
+ ### [`Headers`](https://developer.mozilla.org/en-US/docs/Web/API/Headers)
295
+
296
+ 🟢 Fully implemented.
297
+
298
+ ### [`MessageChannel`](https://developer.mozilla.org/en-US/docs/Web/API/MessageChannel)
299
+
300
+ 🟢 Fully implemented.
301
+
302
+ ### [`MessageEvent`](https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent)
303
+
304
+ 🟢 Fully implemented.
305
+
306
+ ### [`MessagePort`](https://developer.mozilla.org/en-US/docs/Web/API/MessagePort)
307
+
308
+ 🟢 Fully implemented.
309
+
310
+ ### [`module`](https://nodejs.org/api/globals.html#module)
311
+
312
+ 🟢 Fully implemented.
313
+
314
+ ### [`PerformanceEntry`](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceEntry)
315
+
316
+ 🟢 Fully implemented.
317
+
318
+ ### [`PerformanceMark`](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceMark)
319
+
320
+ 🟢 Fully implemented.
321
+
322
+ ### [`PerformanceMeasure`](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceMeasure)
323
+
324
+ 🟢 Fully implemented.
325
+
326
+ ### [`PerformanceObserver`](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceObserver)
327
+
328
+ 🟢 Fully implemented.
329
+
330
+ ### [`PerformanceObserverEntryList`](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceObserverEntryList)
331
+
332
+ 🟢 Fully implemented.
333
+
334
+ ### [`PerformanceResourceTiming`](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming)
335
+
336
+ 🔴 Not implemented.
337
+
338
+ ### [`performance`](https://developer.mozilla.org/en-US/docs/Web/API/performance)
339
+
340
+ 🟢 Fully implemented.
341
+
342
+ ### [`process`](https://nodejs.org/api/process.html)
343
+
344
+ 🟡 Missing `domain` `initgroups` `setegid` `seteuid` `setgid` `setgroups` `setuid` `allowedNodeEnvironmentFlags` `getActiveResourcesInfo` `setActiveResourcesInfo` `moduleLoadList` `setSourceMapsEnabled`. `process.binding` is partially implemented.
345
+
346
+ ### [`queueMicrotask()`](https://developer.mozilla.org/en-US/docs/Web/API/queueMicrotask)
347
+
348
+ 🟢 Fully implemented.
349
+
350
+ ### [`ReadableByteStreamController`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableByteStreamController)
351
+
352
+ 🟢 Fully implemented.
353
+
354
+ ### [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream)
355
+
356
+ 🟢 Fully implemented.
357
+
358
+ ### [`ReadableStreamBYOBReader`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStreamBYOBReader)
359
+
360
+ 🟢 Fully implemented.
361
+
362
+ ### [`ReadableStreamBYOBRequest`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStreamBYOBRequest)
363
+
364
+ 🟢 Fully implemented.
365
+
366
+ ### [`ReadableStreamDefaultController`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStreamDefaultController)
367
+
368
+ 🟢 Fully implemented.
369
+
370
+ ### [`ReadableStreamDefaultReader`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStreamDefaultReader)
371
+
372
+ 🟢 Fully implemented.
373
+
374
+ ### [`require()`](https://nodejs.org/api/globals.html#require)
375
+
376
+ 🟢 Fully implemented, including [`require.main`](https://nodejs.org/api/modules.html#requiremain), [`require.cache`](https://nodejs.org/api/modules.html#requirecache), [`require.resolve`](https://nodejs.org/api/modules.html#requireresolverequest-options)
377
+
378
+ ### [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
379
+
380
+ 🟢 Fully implemented.
381
+
382
+ ### [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
383
+
384
+ 🟢 Fully implemented.
385
+
386
+ ### [`setImmediate()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/setImmediate)
387
+
388
+ 🟢 Fully implemented.
389
+
390
+ ### [`setInterval()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/setInterval)
391
+
392
+ 🟢 Fully implemented.
393
+
394
+ ### [`setTimeout()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout)
395
+
396
+ 🟢 Fully implemented.
397
+
398
+ ### [`structuredClone()`](https://developer.mozilla.org/en-US/docs/Web/API/structuredClone)
399
+
400
+ 🟢 Fully implemented.
401
+
402
+ ### [`SubtleCrypto`](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto)
403
+
404
+ 🟢 Fully implemented.
405
+
406
+ ### [`DOMException`](https://developer.mozilla.org/en-US/docs/Web/API/DOMException)
407
+
408
+ 🟢 Fully implemented.
409
+
410
+ ### [`TextDecoder`](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder)
411
+
412
+ 🟢 Fully implemented.
413
+
414
+ ### [`TextDecoderStream`](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoderStream)
415
+
416
+ 🟢 Fully implemented.
417
+
418
+ ### [`TextEncoder`](https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder)
419
+
420
+ 🟢 Fully implemented.
421
+
422
+ ### [`TextEncoderStream`](https://developer.mozilla.org/en-US/docs/Web/API/TextEncoderStream)
423
+
424
+ 🟢 Fully implemented.
425
+
426
+ ### [`TransformStream`](https://developer.mozilla.org/en-US/docs/Web/API/TransformStream)
427
+
428
+ 🟢 Fully implemented.
429
+
430
+ ### [`TransformStreamDefaultController`](https://developer.mozilla.org/en-US/docs/Web/API/TransformStreamDefaultController)
431
+
432
+ 🟢 Fully implemented.
433
+
434
+ ### [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)
435
+
436
+ 🟢 Fully implemented.
437
+
438
+ ### [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)
439
+
440
+ 🟢 Fully implemented.
441
+
442
+ ### [`WebAssembly`](https://nodejs.org/api/globals.html#webassembly)
443
+
444
+ 🟢 Fully implemented.
445
+
446
+ ### [`WritableStream`](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream)
447
+
448
+ 🟢 Fully implemented.
449
+
450
+ ### [`WritableStreamDefaultController`](https://developer.mozilla.org/en-US/docs/Web/API/WritableStreamDefaultController)
451
+
452
+ 🟢 Fully implemented.
453
+
454
+ ### [`WritableStreamDefaultWriter`](https://developer.mozilla.org/en-US/docs/Web/API/WritableStreamDefaultWriter)
455
+
456
+ 🟢 Fully implemented.