bun-types 1.3.2-canary.20251104T140728 → 1.3.2-canary.20251106T140813

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 (312) hide show
  1. package/bun.d.ts +4 -4
  2. package/docs/README.md +28 -0
  3. package/globals.d.ts +0 -1
  4. package/overrides.d.ts +45 -15
  5. package/package.json +1 -1
  6. package/test.d.ts +1 -1
  7. package/docs/api/binary-data.md +0 -1038
  8. package/docs/api/cc.md +0 -197
  9. package/docs/api/color.md +0 -262
  10. package/docs/api/console.md +0 -57
  11. package/docs/api/cookie.md +0 -449
  12. package/docs/api/dns.md +0 -110
  13. package/docs/api/fetch.md +0 -463
  14. package/docs/api/ffi.md +0 -557
  15. package/docs/api/file-io.md +0 -366
  16. package/docs/api/file-system-router.md +0 -112
  17. package/docs/api/file.md +0 -19
  18. package/docs/api/glob.md +0 -178
  19. package/docs/api/globals.md +0 -387
  20. package/docs/api/hashing.md +0 -319
  21. package/docs/api/html-rewriter.md +0 -334
  22. package/docs/api/http.md +0 -1408
  23. package/docs/api/import-meta.md +0 -69
  24. package/docs/api/node-api.md +0 -14
  25. package/docs/api/redis.md +0 -597
  26. package/docs/api/s3.md +0 -850
  27. package/docs/api/secrets.md +0 -319
  28. package/docs/api/semver.md +0 -52
  29. package/docs/api/spawn.md +0 -582
  30. package/docs/api/sql.md +0 -1374
  31. package/docs/api/sqlite.md +0 -694
  32. package/docs/api/streams.md +0 -230
  33. package/docs/api/tcp.md +0 -221
  34. package/docs/api/transpiler.md +0 -276
  35. package/docs/api/udp.md +0 -123
  36. package/docs/api/utils.md +0 -891
  37. package/docs/api/websockets.md +0 -573
  38. package/docs/api/workers.md +0 -322
  39. package/docs/api/yaml.md +0 -668
  40. package/docs/benchmarks.md +0 -120
  41. package/docs/bun-flavored-toml.md +0 -42
  42. package/docs/bundler/css.md +0 -1028
  43. package/docs/bundler/css_modules.md +0 -145
  44. package/docs/bundler/executables.md +0 -626
  45. package/docs/bundler/fullstack.md +0 -418
  46. package/docs/bundler/hmr.md +0 -234
  47. package/docs/bundler/html.md +0 -349
  48. package/docs/bundler/index.md +0 -1735
  49. package/docs/bundler/intro.md +0 -75
  50. package/docs/bundler/loaders.md +0 -410
  51. package/docs/bundler/macros.md +0 -329
  52. package/docs/bundler/plugins.md +0 -449
  53. package/docs/bundler/vs-esbuild.md +0 -1127
  54. package/docs/cli/add.md +0 -173
  55. package/docs/cli/bun-completions.md +0 -3
  56. package/docs/cli/bun-create.md +0 -338
  57. package/docs/cli/bun-install.md +0 -349
  58. package/docs/cli/bun-upgrade.md +0 -39
  59. package/docs/cli/bunx.md +0 -89
  60. package/docs/cli/filter.md +0 -90
  61. package/docs/cli/info.md +0 -65
  62. package/docs/cli/init.md +0 -85
  63. package/docs/cli/install.md +0 -344
  64. package/docs/cli/link.md +0 -40
  65. package/docs/cli/outdated.md +0 -90
  66. package/docs/cli/patch-commit.md +0 -11
  67. package/docs/cli/pm.md +0 -285
  68. package/docs/cli/publish.md +0 -120
  69. package/docs/cli/remove.md +0 -7
  70. package/docs/cli/run.md +0 -261
  71. package/docs/cli/test.md +0 -397
  72. package/docs/cli/unlink.md +0 -9
  73. package/docs/cli/update.md +0 -129
  74. package/docs/cli/why.md +0 -67
  75. package/docs/contributing/upgrading-webkit.md +0 -57
  76. package/docs/ecosystem/elysia.md +0 -24
  77. package/docs/ecosystem/express.md +0 -37
  78. package/docs/ecosystem/hono.md +0 -18
  79. package/docs/ecosystem/react.md +0 -65
  80. package/docs/ecosystem/stric.md +0 -38
  81. package/docs/guides/binary/arraybuffer-to-array.md +0 -27
  82. package/docs/guides/binary/arraybuffer-to-blob.md +0 -24
  83. package/docs/guides/binary/arraybuffer-to-buffer.md +0 -25
  84. package/docs/guides/binary/arraybuffer-to-string.md +0 -15
  85. package/docs/guides/binary/arraybuffer-to-typedarray.md +0 -39
  86. package/docs/guides/binary/blob-to-arraybuffer.md +0 -14
  87. package/docs/guides/binary/blob-to-dataview.md +0 -14
  88. package/docs/guides/binary/blob-to-stream.md +0 -14
  89. package/docs/guides/binary/blob-to-string.md +0 -15
  90. package/docs/guides/binary/blob-to-typedarray.md +0 -14
  91. package/docs/guides/binary/buffer-to-arraybuffer.md +0 -14
  92. package/docs/guides/binary/buffer-to-blob.md +0 -14
  93. package/docs/guides/binary/buffer-to-readablestream.md +0 -41
  94. package/docs/guides/binary/buffer-to-string.md +0 -25
  95. package/docs/guides/binary/buffer-to-typedarray.md +0 -14
  96. package/docs/guides/binary/dataview-to-string.md +0 -15
  97. package/docs/guides/binary/typedarray-to-arraybuffer.md +0 -25
  98. package/docs/guides/binary/typedarray-to-blob.md +0 -16
  99. package/docs/guides/binary/typedarray-to-buffer.md +0 -14
  100. package/docs/guides/binary/typedarray-to-dataview.md +0 -14
  101. package/docs/guides/binary/typedarray-to-readablestream.md +0 -41
  102. package/docs/guides/binary/typedarray-to-string.md +0 -16
  103. package/docs/guides/deployment/railway.md +0 -157
  104. package/docs/guides/ecosystem/astro.md +0 -72
  105. package/docs/guides/ecosystem/discordjs.md +0 -77
  106. package/docs/guides/ecosystem/docker.md +0 -140
  107. package/docs/guides/ecosystem/drizzle.md +0 -185
  108. package/docs/guides/ecosystem/edgedb.md +0 -228
  109. package/docs/guides/ecosystem/elysia.md +0 -31
  110. package/docs/guides/ecosystem/express.md +0 -40
  111. package/docs/guides/ecosystem/hono.md +0 -39
  112. package/docs/guides/ecosystem/mongoose.md +0 -87
  113. package/docs/guides/ecosystem/neon-drizzle.md +0 -220
  114. package/docs/guides/ecosystem/neon-serverless-postgres.md +0 -55
  115. package/docs/guides/ecosystem/nextjs.md +0 -49
  116. package/docs/guides/ecosystem/nuxt.md +0 -56
  117. package/docs/guides/ecosystem/pm2.md +0 -57
  118. package/docs/guides/ecosystem/prisma.md +0 -141
  119. package/docs/guides/ecosystem/qwik.md +0 -107
  120. package/docs/guides/ecosystem/react.md +0 -50
  121. package/docs/guides/ecosystem/remix.md +0 -78
  122. package/docs/guides/ecosystem/render.md +0 -79
  123. package/docs/guides/ecosystem/sentry.md +0 -52
  124. package/docs/guides/ecosystem/solidstart.md +0 -58
  125. package/docs/guides/ecosystem/ssr-react.md +0 -51
  126. package/docs/guides/ecosystem/stric.md +0 -55
  127. package/docs/guides/ecosystem/sveltekit.md +0 -125
  128. package/docs/guides/ecosystem/systemd.md +0 -113
  129. package/docs/guides/ecosystem/vite.md +0 -71
  130. package/docs/guides/html-rewriter/extract-links.md +0 -68
  131. package/docs/guides/html-rewriter/extract-social-meta.md +0 -93
  132. package/docs/guides/http/cluster.md +0 -66
  133. package/docs/guides/http/fetch-unix.md +0 -33
  134. package/docs/guides/http/fetch.md +0 -24
  135. package/docs/guides/http/file-uploads.md +0 -94
  136. package/docs/guides/http/hot.md +0 -26
  137. package/docs/guides/http/proxy.md +0 -24
  138. package/docs/guides/http/server.md +0 -46
  139. package/docs/guides/http/simple.md +0 -18
  140. package/docs/guides/http/stream-file.md +0 -48
  141. package/docs/guides/http/stream-iterator.md +0 -47
  142. package/docs/guides/http/stream-node-streams-in-bun.md +0 -20
  143. package/docs/guides/http/tls.md +0 -30
  144. package/docs/guides/install/add-dev.md +0 -26
  145. package/docs/guides/install/add-git.md +0 -36
  146. package/docs/guides/install/add-optional.md +0 -25
  147. package/docs/guides/install/add-peer.md +0 -43
  148. package/docs/guides/install/add-tarball.md +0 -33
  149. package/docs/guides/install/add.md +0 -42
  150. package/docs/guides/install/azure-artifacts.md +0 -73
  151. package/docs/guides/install/cicd.md +0 -41
  152. package/docs/guides/install/custom-registry.md +0 -30
  153. package/docs/guides/install/from-npm-install-to-bun-install.md +0 -214
  154. package/docs/guides/install/git-diff-bun-lockfile.md +0 -44
  155. package/docs/guides/install/jfrog-artifactory.md +0 -28
  156. package/docs/guides/install/npm-alias.md +0 -23
  157. package/docs/guides/install/registry-scope.md +0 -38
  158. package/docs/guides/install/trusted.md +0 -46
  159. package/docs/guides/install/workspaces.md +0 -70
  160. package/docs/guides/install/yarnlock.md +0 -44
  161. package/docs/guides/process/argv.md +0 -58
  162. package/docs/guides/process/ctrl-c.md +0 -16
  163. package/docs/guides/process/ipc.md +0 -66
  164. package/docs/guides/process/nanoseconds.md +0 -13
  165. package/docs/guides/process/os-signals.md +0 -39
  166. package/docs/guides/process/spawn-stderr.md +0 -31
  167. package/docs/guides/process/spawn-stdout.md +0 -26
  168. package/docs/guides/process/spawn.md +0 -41
  169. package/docs/guides/process/stdin.md +0 -54
  170. package/docs/guides/read-file/arraybuffer.md +0 -28
  171. package/docs/guides/read-file/buffer.md +0 -19
  172. package/docs/guides/read-file/exists.md +0 -16
  173. package/docs/guides/read-file/json.md +0 -17
  174. package/docs/guides/read-file/mime.md +0 -20
  175. package/docs/guides/read-file/stream.md +0 -26
  176. package/docs/guides/read-file/string.md +0 -22
  177. package/docs/guides/read-file/uint8array.md +0 -21
  178. package/docs/guides/read-file/watch.md +0 -68
  179. package/docs/guides/runtime/build-time-constants.md +0 -293
  180. package/docs/guides/runtime/cicd.md +0 -43
  181. package/docs/guides/runtime/codesign-macos-executable.md +0 -56
  182. package/docs/guides/runtime/define-constant.md +0 -145
  183. package/docs/guides/runtime/delete-directory.md +0 -37
  184. package/docs/guides/runtime/delete-file.md +0 -19
  185. package/docs/guides/runtime/heap-snapshot.md +0 -26
  186. package/docs/guides/runtime/import-html.md +0 -15
  187. package/docs/guides/runtime/import-json.md +0 -44
  188. package/docs/guides/runtime/import-toml.md +0 -30
  189. package/docs/guides/runtime/import-yaml.md +0 -102
  190. package/docs/guides/runtime/read-env.md +0 -32
  191. package/docs/guides/runtime/set-env.md +0 -47
  192. package/docs/guides/runtime/shell.md +0 -40
  193. package/docs/guides/runtime/timezone.md +0 -35
  194. package/docs/guides/runtime/tsconfig-paths.md +0 -29
  195. package/docs/guides/runtime/typescript.md +0 -49
  196. package/docs/guides/runtime/vscode-debugger.md +0 -47
  197. package/docs/guides/runtime/web-debugger.md +0 -82
  198. package/docs/guides/streams/node-readable-to-arraybuffer.md +0 -11
  199. package/docs/guides/streams/node-readable-to-blob.md +0 -11
  200. package/docs/guides/streams/node-readable-to-json.md +0 -12
  201. package/docs/guides/streams/node-readable-to-string.md +0 -12
  202. package/docs/guides/streams/node-readable-to-uint8array.md +0 -11
  203. package/docs/guides/streams/to-array.md +0 -14
  204. package/docs/guides/streams/to-arraybuffer.md +0 -14
  205. package/docs/guides/streams/to-blob.md +0 -14
  206. package/docs/guides/streams/to-buffer.md +0 -15
  207. package/docs/guides/streams/to-json.md +0 -14
  208. package/docs/guides/streams/to-string.md +0 -14
  209. package/docs/guides/streams/to-typedarray.md +0 -22
  210. package/docs/guides/test/bail.md +0 -22
  211. package/docs/guides/test/coverage-threshold.md +0 -60
  212. package/docs/guides/test/coverage.md +0 -44
  213. package/docs/guides/test/happy-dom.md +0 -68
  214. package/docs/guides/test/migrate-from-jest.md +0 -143
  215. package/docs/guides/test/mock-clock.md +0 -48
  216. package/docs/guides/test/mock-functions.md +0 -68
  217. package/docs/guides/test/rerun-each.md +0 -14
  218. package/docs/guides/test/run-tests.md +0 -111
  219. package/docs/guides/test/skip-tests.md +0 -39
  220. package/docs/guides/test/snapshot.md +0 -95
  221. package/docs/guides/test/spy-on.md +0 -46
  222. package/docs/guides/test/svelte-test.md +0 -120
  223. package/docs/guides/test/testing-library.md +0 -92
  224. package/docs/guides/test/timeout.md +0 -15
  225. package/docs/guides/test/todo-tests.md +0 -67
  226. package/docs/guides/test/update-snapshots.md +0 -46
  227. package/docs/guides/test/watch-mode.md +0 -19
  228. package/docs/guides/util/base64.md +0 -15
  229. package/docs/guides/util/deep-equals.md +0 -39
  230. package/docs/guides/util/deflate.md +0 -18
  231. package/docs/guides/util/detect-bun.md +0 -23
  232. package/docs/guides/util/entrypoint.md +0 -17
  233. package/docs/guides/util/escape-html.md +0 -22
  234. package/docs/guides/util/file-url-to-path.md +0 -14
  235. package/docs/guides/util/gzip.md +0 -18
  236. package/docs/guides/util/hash-a-password.md +0 -54
  237. package/docs/guides/util/import-meta-dir.md +0 -13
  238. package/docs/guides/util/import-meta-file.md +0 -13
  239. package/docs/guides/util/import-meta-path.md +0 -13
  240. package/docs/guides/util/javascript-uuid.md +0 -23
  241. package/docs/guides/util/main.md +0 -32
  242. package/docs/guides/util/path-to-file-url.md +0 -14
  243. package/docs/guides/util/sleep.md +0 -22
  244. package/docs/guides/util/version.md +0 -21
  245. package/docs/guides/util/which-path-to-executable-bin.md +0 -15
  246. package/docs/guides/websocket/compression.md +0 -31
  247. package/docs/guides/websocket/context.md +0 -77
  248. package/docs/guides/websocket/pubsub.md +0 -41
  249. package/docs/guides/websocket/simple.md +0 -33
  250. package/docs/guides/write-file/append.md +0 -52
  251. package/docs/guides/write-file/basic.md +0 -44
  252. package/docs/guides/write-file/blob.md +0 -28
  253. package/docs/guides/write-file/cat.md +0 -17
  254. package/docs/guides/write-file/file-cp.md +0 -16
  255. package/docs/guides/write-file/filesink.md +0 -52
  256. package/docs/guides/write-file/response.md +0 -17
  257. package/docs/guides/write-file/stdout.md +0 -21
  258. package/docs/guides/write-file/stream.md +0 -17
  259. package/docs/guides/write-file/unlink.md +0 -16
  260. package/docs/index.md +0 -77
  261. package/docs/install/audit.md +0 -57
  262. package/docs/install/cache.md +0 -59
  263. package/docs/install/catalogs.md +0 -298
  264. package/docs/install/index.md +0 -248
  265. package/docs/install/isolated.md +0 -197
  266. package/docs/install/lifecycle.md +0 -46
  267. package/docs/install/lockfile.md +0 -58
  268. package/docs/install/npmrc.md +0 -105
  269. package/docs/install/overrides.md +0 -73
  270. package/docs/install/patch.md +0 -59
  271. package/docs/install/registries.md +0 -30
  272. package/docs/install/security-scanner-api.md +0 -81
  273. package/docs/install/workspaces.md +0 -114
  274. package/docs/installation.md +0 -327
  275. package/docs/project/asan.md +0 -124
  276. package/docs/project/benchmarking.md +0 -203
  277. package/docs/project/bindgen.md +0 -225
  278. package/docs/project/building-windows.md +0 -162
  279. package/docs/project/contributing.md +0 -347
  280. package/docs/project/internals/build-process-for-ci.md +0 -75
  281. package/docs/project/licensing.md +0 -73
  282. package/docs/project/roadmap.md +0 -87
  283. package/docs/quickstart.md +0 -157
  284. package/docs/runtime/autoimport.md +0 -94
  285. package/docs/runtime/bun-apis.md +0 -207
  286. package/docs/runtime/bunfig.md +0 -772
  287. package/docs/runtime/debugger.md +0 -325
  288. package/docs/runtime/env.md +0 -253
  289. package/docs/runtime/hot.md +0 -145
  290. package/docs/runtime/index.md +0 -312
  291. package/docs/runtime/jsx.md +0 -385
  292. package/docs/runtime/loaders.md +0 -130
  293. package/docs/runtime/modules.md +0 -320
  294. package/docs/runtime/nodejs-apis.md +0 -463
  295. package/docs/runtime/plugins.md +0 -561
  296. package/docs/runtime/shell.md +0 -605
  297. package/docs/runtime/typescript.md +0 -139
  298. package/docs/runtime/web-apis.md +0 -128
  299. package/docs/test/configuration.md +0 -154
  300. package/docs/test/coverage.md +0 -142
  301. package/docs/test/discovery.md +0 -85
  302. package/docs/test/dom.md +0 -75
  303. package/docs/test/examples/concurrent-test-glob.md +0 -132
  304. package/docs/test/hot.md +0 -15
  305. package/docs/test/lifecycle.md +0 -81
  306. package/docs/test/mocks.md +0 -313
  307. package/docs/test/reporters.md +0 -117
  308. package/docs/test/runtime-behavior.md +0 -95
  309. package/docs/test/snapshots.md +0 -68
  310. package/docs/test/time.md +0 -126
  311. package/docs/test/writing.md +0 -825
  312. package/docs/typescript.md +0 -53
@@ -1,387 +0,0 @@
1
- Bun implements the following globals.
2
-
3
- {% table %}
4
-
5
- - Global
6
- - Source
7
- - Notes
8
-
9
- ---
10
-
11
- - [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController)
12
- - Web
13
- -  
14
-
15
- ---
16
-
17
- - [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal)
18
- - Web
19
- -  
20
-
21
- ---
22
-
23
- - [`alert`](https://developer.mozilla.org/en-US/docs/Web/API/Window/alert)
24
- - Web
25
- - Intended for command-line tools
26
-
27
- ---
28
-
29
- - [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)
30
- - Web
31
- -  
32
-
33
- ---
34
-
35
- - [`Buffer`](https://nodejs.org/api/buffer.html#class-buffer)
36
- - Node.js
37
- - See [Node.js > `Buffer`](https://bun.com/docs/runtime/nodejs-apis#node-buffer)
38
-
39
- ---
40
-
41
- - `Bun`
42
- - Bun
43
- - Subject to change as additional APIs are added
44
-
45
- ---
46
-
47
- - [`ByteLengthQueuingStrategy`](https://developer.mozilla.org/en-US/docs/Web/API/ByteLengthQueuingStrategy)
48
- - Web
49
- -  
50
-
51
- ---
52
-
53
- - [`confirm`](https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm)
54
- - Web
55
- - Intended for command-line tools
56
-
57
- ---
58
-
59
- - [`__dirname`](https://nodejs.org/api/globals.html#__dirname)
60
- - Node.js
61
- -  
62
-
63
- ---
64
-
65
- - [`__filename`](https://nodejs.org/api/globals.html#__filename)
66
- - Node.js
67
- -  
68
-
69
- ---
70
-
71
- - [`atob()`](https://developer.mozilla.org/en-US/docs/Web/API/atob)
72
- - Web
73
- -  
74
-
75
- ---
76
-
77
- - [`btoa()`](https://developer.mozilla.org/en-US/docs/Web/API/btoa)
78
- - Web
79
- -  
80
-
81
- ---
82
-
83
- - `BuildMessage`
84
- - Bun
85
- -  
86
-
87
- ---
88
-
89
- - [`clearImmediate()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/clearImmediate)
90
- - Web
91
- -  
92
-
93
- ---
94
-
95
- - [`clearInterval()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/clearInterval)
96
- - Web
97
- -  
98
-
99
- ---
100
-
101
- - [`clearTimeout()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/clearTimeout)
102
- - Web
103
- -  
104
-
105
- ---
106
-
107
- - [`console`](https://developer.mozilla.org/en-US/docs/Web/API/console)
108
- - Web
109
- -  
110
-
111
- ---
112
-
113
- - [`CountQueuingStrategy`](https://developer.mozilla.org/en-US/docs/Web/API/CountQueuingStrategy)
114
- - Web
115
- -  
116
-
117
- ---
118
-
119
- - [`Crypto`](https://developer.mozilla.org/en-US/docs/Web/API/Crypto)
120
- - Web
121
- -  
122
-
123
- ---
124
-
125
- - [`crypto`](https://developer.mozilla.org/en-US/docs/Web/API/crypto)
126
- - Web
127
- -  
128
-
129
- ---
130
-
131
- - [`CryptoKey`](https://developer.mozilla.org/en-US/docs/Web/API/CryptoKey)
132
- - Web
133
- -  
134
-
135
- ---
136
-
137
- - [`CustomEvent`](https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent)
138
- - Web
139
- -  
140
-
141
- ---
142
-
143
- - [`Event`](https://developer.mozilla.org/en-US/docs/Web/API/Event)
144
- - Web
145
- - Also [`ErrorEvent`](https://developer.mozilla.org/en-US/docs/Web/API/ErrorEvent) [`CloseEvent`](https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent) [`MessageEvent`](https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent).
146
-
147
- ---
148
-
149
- - [`EventTarget`](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget)
150
- - Web
151
- -  
152
-
153
- ---
154
-
155
- - [`exports`](https://nodejs.org/api/globals.html#exports)
156
- - Node.js
157
- -  
158
-
159
- ---
160
-
161
- - [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/fetch)
162
- - Web
163
- -  
164
-
165
- ---
166
-
167
- - [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData)
168
- - Web
169
- -  
170
-
171
- ---
172
-
173
- - [`global`](https://nodejs.org/api/globals.html#global)
174
- - Node.js
175
- - See [Node.js > `global`](https://bun.com/docs/runtime/nodejs-apis#global).
176
-
177
- ---
178
-
179
- - [`globalThis`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis)
180
- - Cross-platform
181
- - Aliases to `global`
182
-
183
- ---
184
-
185
- - [`Headers`](https://developer.mozilla.org/en-US/docs/Web/API/Headers)
186
- - Web
187
- -  
188
-
189
- ---
190
-
191
- - [`HTMLRewriter`](https://bun.com/docs/api/html-rewriter)
192
- - Cloudflare
193
- -  
194
-
195
- ---
196
-
197
- - [`JSON`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON)
198
- - Web
199
- -  
200
-
201
- ---
202
-
203
- - [`MessageEvent`](https://developer.mozilla.org/en-US/docs/Web/API/MessageEvent)
204
- - Web
205
- -  
206
-
207
- ---
208
-
209
- - [`module`](https://nodejs.org/api/globals.html#module)
210
- - Node.js
211
- -  
212
-
213
- ---
214
-
215
- - [`performance`](https://developer.mozilla.org/en-US/docs/Web/API/performance)
216
- - Web
217
- -  
218
-
219
- ---
220
-
221
- - [`process`](https://nodejs.org/api/process.html)
222
- - Node.js
223
- - See [Node.js > `process`](https://bun.com/docs/runtime/nodejs-apis#node-process)
224
-
225
- ---
226
-
227
- - [`prompt`](https://developer.mozilla.org/en-US/docs/Web/API/Window/prompt)
228
- - Web
229
- - Intended for command-line tools
230
-
231
- ---
232
-
233
- - [`queueMicrotask()`](https://developer.mozilla.org/en-US/docs/Web/API/queueMicrotask)
234
- - Web
235
- -  
236
-
237
- ---
238
-
239
- - [`ReadableByteStreamController`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableByteStreamController)
240
- - Web
241
- -  
242
-
243
- ---
244
-
245
- - [`ReadableStream`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream)
246
- - Web
247
- -  
248
-
249
- ---
250
-
251
- - [`ReadableStreamDefaultController`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStreamDefaultController)
252
- - Web
253
- -  
254
-
255
- ---
256
-
257
- - [`ReadableStreamDefaultReader`](https://developer.mozilla.org/en-US/docs/Web/API/ReadableStreamDefaultReader)
258
- - Web
259
- -  
260
-
261
- ---
262
-
263
- - [`reportError`](https://developer.mozilla.org/en-US/docs/Web/API/reportError)
264
- - Web
265
- -  
266
-
267
- ---
268
-
269
- - [`require()`](https://nodejs.org/api/globals.html#require)
270
- - Node.js
271
- -  
272
-
273
- ---
274
-
275
- - `ResolveMessage`
276
- - Bun
277
- -  
278
-
279
- ---
280
-
281
- - [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response)
282
- - Web
283
- -  
284
-
285
- ---
286
-
287
- - [`Request`](https://developer.mozilla.org/en-US/docs/Web/API/Request)
288
- - Web
289
- -  
290
-
291
- ---
292
-
293
- - [`setImmediate()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/setImmediate)
294
- - Web
295
- -  
296
-
297
- ---
298
-
299
- - [`setInterval()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/setInterval)
300
- - Web
301
- -  
302
-
303
- ---
304
-
305
- - [`setTimeout()`](https://developer.mozilla.org/en-US/docs/Web/API/Window/setTimeout)
306
- - Web
307
- -  
308
-
309
- ---
310
-
311
- - [`ShadowRealm`](https://github.com/tc39/proposal-shadowrealm)
312
- - Web
313
- - Stage 3 proposal
314
-
315
- ---
316
-
317
- - [`SubtleCrypto`](https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto)
318
- - Web
319
- -  
320
-
321
- ---
322
-
323
- - [`DOMException`](https://developer.mozilla.org/en-US/docs/Web/API/DOMException)
324
- - Web
325
- -  
326
-
327
- ---
328
-
329
- - [`TextDecoder`](https://developer.mozilla.org/en-US/docs/Web/API/TextDecoder)
330
- - Web
331
- -  
332
-
333
- ---
334
-
335
- - [`TextEncoder`](https://developer.mozilla.org/en-US/docs/Web/API/TextEncoder)
336
- - Web
337
- -  
338
-
339
- ---
340
-
341
- - [`TransformStream`](https://developer.mozilla.org/en-US/docs/Web/API/TransformStream)
342
- - Web
343
- -  
344
-
345
- ---
346
-
347
- - [`TransformStreamDefaultController`](https://developer.mozilla.org/en-US/docs/Web/API/TransformStreamDefaultController)
348
- - Web
349
- -  
350
-
351
- ---
352
-
353
- - [`URL`](https://developer.mozilla.org/en-US/docs/Web/API/URL)
354
- - Web
355
- -  
356
-
357
- ---
358
-
359
- - [`URLSearchParams`](https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams)
360
- - Web
361
- -  
362
-
363
- ---
364
-
365
- - [`WebAssembly`](https://nodejs.org/api/globals.html#webassembly)
366
- - Web
367
- -  
368
-
369
- ---
370
-
371
- - [`WritableStream`](https://developer.mozilla.org/en-US/docs/Web/API/WritableStream)
372
- - Web
373
- -  
374
-
375
- ---
376
-
377
- - [`WritableStreamDefaultController`](https://developer.mozilla.org/en-US/docs/Web/API/WritableStreamDefaultController)
378
- - Web
379
- -  
380
-
381
- ---
382
-
383
- - [`WritableStreamDefaultWriter`](https://developer.mozilla.org/en-US/docs/Web/API/WritableStreamDefaultWriter)
384
- - Web
385
- -  
386
-
387
- {% /table %}
@@ -1,319 +0,0 @@
1
- {% callout %}
2
-
3
- Bun implements the `createHash` and `createHmac` functions from [`node:crypto`](https://nodejs.org/api/crypto.html) in addition to the Bun-native APIs documented below.
4
-
5
- {% /callout %}
6
-
7
- ## `Bun.password`
8
-
9
- `Bun.password` is a collection of utility functions for hashing and verifying passwords with various cryptographically secure algorithms.
10
-
11
- ```ts
12
- const password = "super-secure-pa$$word";
13
-
14
- const hash = await Bun.password.hash(password);
15
- // => $argon2id$v=19$m=65536,t=2,p=1$tFq+9AVr1bfPxQdh6E8DQRhEXg/M/SqYCNu6gVdRRNs$GzJ8PuBi+K+BVojzPfS5mjnC8OpLGtv8KJqF99eP6a4
16
-
17
- const isMatch = await Bun.password.verify(password, hash);
18
- // => true
19
- ```
20
-
21
- The second argument to `Bun.password.hash` accepts a params object that lets you pick and configure the hashing algorithm.
22
-
23
- ```ts
24
- const password = "super-secure-pa$$word";
25
-
26
- // use argon2 (default)
27
- const argonHash = await Bun.password.hash(password, {
28
- algorithm: "argon2id", // "argon2id" | "argon2i" | "argon2d"
29
- memoryCost: 4, // memory usage in kibibytes
30
- timeCost: 3, // the number of iterations
31
- });
32
-
33
- // use bcrypt
34
- const bcryptHash = await Bun.password.hash(password, {
35
- algorithm: "bcrypt",
36
- cost: 4, // number between 4-31
37
- });
38
- ```
39
-
40
- The algorithm used to create the hash is stored in the hash itself. When using `bcrypt`, the returned hash is encoded in [Modular Crypt Format](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) for compatibility with most existing `bcrypt` implementations; with `argon2` the result is encoded in the newer [PHC format](https://github.com/P-H-C/phc-string-format/blob/master/phc-sf-spec.md).
41
-
42
- The `verify` function automatically detects the algorithm based on the input hash and use the correct verification method. It can correctly infer the algorithm from both PHC- or MCF-encoded hashes.
43
-
44
- ```ts
45
- const password = "super-secure-pa$$word";
46
-
47
- const hash = await Bun.password.hash(password, {
48
- /* config */
49
- });
50
-
51
- const isMatch = await Bun.password.verify(password, hash);
52
- // => true
53
- ```
54
-
55
- Synchronous versions of all functions are also available. Keep in mind that these functions are computationally expensive, so using a blocking API may degrade application performance.
56
-
57
- ```ts
58
- const password = "super-secure-pa$$word";
59
-
60
- const hash = Bun.password.hashSync(password, {
61
- /* config */
62
- });
63
-
64
- const isMatch = Bun.password.verifySync(password, hash);
65
- // => true
66
- ```
67
-
68
- ### Salt
69
-
70
- When you use `Bun.password.hash`, a salt is automatically generated and included in the hash.
71
-
72
- ### bcrypt - Modular Crypt Format
73
-
74
- In the following [Modular Crypt Format](https://passlib.readthedocs.io/en/stable/modular_crypt_format.html) hash (used by `bcrypt`):
75
-
76
- Input:
77
-
78
- ```ts
79
- await Bun.password.hash("hello", {
80
- algorithm: "bcrypt",
81
- });
82
- ```
83
-
84
- Output:
85
-
86
- ```sh
87
- $2b$10$Lyj9kHYZtiyfxh2G60TEfeqs7xkkGiEFFDi3iJGc50ZG/XJ1sxIFi;
88
- ```
89
-
90
- The format is composed of:
91
-
92
- - `bcrypt`: `$2b`
93
- - `rounds`: `$10` - rounds (log10 of the actual number of rounds)
94
- - `salt`: `$Lyj9kHYZtiyfxh2G60TEfeqs7xkkGiEFFDi3iJGc50ZG/XJ1sxIFi`
95
- - `hash`: `$GzJ8PuBi+K+BVojzPfS5mjnC8OpLGtv8KJqF99eP6a4`
96
-
97
- By default, the bcrypt library truncates passwords longer than 72 bytes. In Bun, if you pass `Bun.password.hash` a password longer than 72 bytes and use the `bcrypt` algorithm, the password will be hashed via SHA-512 before being passed to bcrypt.
98
-
99
- ```ts
100
- await Bun.password.hash("hello".repeat(100), {
101
- algorithm: "bcrypt",
102
- });
103
- ```
104
-
105
- So instead of sending bcrypt a 500-byte password silently truncated to 72 bytes, Bun will hash the password using SHA-512 and send the hashed password to bcrypt (only if it exceeds 72 bytes). This is a more secure default behavior.
106
-
107
- ### argon2 - PHC format
108
-
109
- In the following [PHC format](https://github.com/P-H-C/phc-string-format/blob/master/phc-sf-spec.md) hash (used by `argon2`):
110
-
111
- Input:
112
-
113
- ```ts
114
- await Bun.password.hash("hello", {
115
- algorithm: "argon2id",
116
- });
117
- ```
118
-
119
- Output:
120
-
121
- ```sh
122
- $argon2id$v=19$m=65536,t=2,p=1$xXnlSvPh4ym5KYmxKAuuHVlDvy2QGHBNuI6bJJrRDOs$2YY6M48XmHn+s5NoBaL+ficzXajq2Yj8wut3r0vnrwI
123
- ```
124
-
125
- The format is composed of:
126
-
127
- - `algorithm`: `$argon2id`
128
- - `version`: `$v=19`
129
- - `memory cost`: `65536`
130
- - `iterations`: `t=2`
131
- - `parallelism`: `p=1`
132
- - `salt`: `$xXnlSvPh4ym5KYmxKAuuHVlDvy2QGHBNuI6bJJrRDOs`
133
- - `hash`: `$2YY6M48XmHn+s5NoBaL+ficzXajq2Yj8wut3r0vnrwI`
134
-
135
- ## `Bun.hash`
136
-
137
- `Bun.hash` is a collection of utilities for _non-cryptographic_ hashing. Non-cryptographic hashing algorithms are optimized for speed of computation over collision-resistance or security.
138
-
139
- The standard `Bun.hash` functions uses [Wyhash](https://github.com/wangyi-fudan/wyhash) to generate a 64-bit hash from an input of arbitrary size.
140
-
141
- ```ts
142
- Bun.hash("some data here");
143
- // 11562320457524636935n
144
- ```
145
-
146
- The input can be a string, `TypedArray`, `DataView`, `ArrayBuffer`, or `SharedArrayBuffer`.
147
-
148
- ```ts
149
- const arr = new Uint8Array([1, 2, 3, 4]);
150
-
151
- Bun.hash("some data here");
152
- Bun.hash(arr);
153
- Bun.hash(arr.buffer);
154
- Bun.hash(new DataView(arr.buffer));
155
- ```
156
-
157
- Optionally, an integer seed can be specified as the second parameter. For 64-bit hashes seeds above `Number.MAX_SAFE_INTEGER` should be given as BigInt to avoid loss of precision.
158
-
159
- ```ts
160
- Bun.hash("some data here", 1234);
161
- // 15724820720172937558n
162
- ```
163
-
164
- Additional hashing algorithms are available as properties on `Bun.hash`. The API is the same for each, only changing the return type from number for 32-bit hashes to bigint for 64-bit hashes.
165
-
166
- ```ts
167
- Bun.hash.wyhash("data", 1234); // equivalent to Bun.hash()
168
- Bun.hash.crc32("data", 1234);
169
- Bun.hash.adler32("data", 1234);
170
- Bun.hash.cityHash32("data", 1234);
171
- Bun.hash.cityHash64("data", 1234);
172
- Bun.hash.xxHash32("data", 1234);
173
- Bun.hash.xxHash64("data", 1234);
174
- Bun.hash.xxHash3("data", 1234);
175
- Bun.hash.murmur32v3("data", 1234);
176
- Bun.hash.murmur32v2("data", 1234);
177
- Bun.hash.murmur64v2("data", 1234);
178
- Bun.hash.rapidhash("data", 1234);
179
- ```
180
-
181
- ## `Bun.CryptoHasher`
182
-
183
- `Bun.CryptoHasher` is a general-purpose utility class that lets you incrementally compute a hash of string or binary data using a range of cryptographic hash algorithms. The following algorithms are supported:
184
-
185
- - `"blake2b256"`
186
- - `"blake2b512"`
187
- - `"blake2s256"`
188
- - `"md4"`
189
- - `"md5"`
190
- - `"ripemd160"`
191
- - `"sha1"`
192
- - `"sha224"`
193
- - `"sha256"`
194
- - `"sha384"`
195
- - `"sha512"`
196
- - `"sha512-224"`
197
- - `"sha512-256"`
198
- - `"sha3-224"`
199
- - `"sha3-256"`
200
- - `"sha3-384"`
201
- - `"sha3-512"`
202
- - `"shake128"`
203
- - `"shake256"`
204
-
205
- ```ts
206
- const hasher = new Bun.CryptoHasher("sha256");
207
- hasher.update("hello world");
208
- hasher.digest();
209
- // Uint8Array(32) [ <byte>, <byte>, ... ]
210
- ```
211
-
212
- Once initialized, data can be incrementally fed to to the hasher using `.update()`. This method accepts `string`, `TypedArray`, and `ArrayBuffer`.
213
-
214
- ```ts
215
- const hasher = new Bun.CryptoHasher("sha256");
216
-
217
- hasher.update("hello world");
218
- hasher.update(new Uint8Array([1, 2, 3]));
219
- hasher.update(new ArrayBuffer(10));
220
- ```
221
-
222
- If a `string` is passed, an optional second parameter can be used to specify the encoding (default `'utf-8'`). The following encodings are supported:
223
-
224
- {% table %}
225
-
226
- ---
227
-
228
- - Binary encodings
229
- - `"base64"` `"base64url"` `"hex"` `"binary"`
230
-
231
- ---
232
-
233
- - Character encodings
234
- - `"utf8"` `"utf-8"` `"utf16le"` `"latin1"`
235
-
236
- ---
237
-
238
- - Legacy character encodings
239
- - `"ascii"` `"binary"` `"ucs2"` `"ucs-2"`
240
-
241
- {% /table %}
242
-
243
- ```ts
244
- hasher.update("hello world"); // defaults to utf8
245
- hasher.update("hello world", "hex");
246
- hasher.update("hello world", "base64");
247
- hasher.update("hello world", "latin1");
248
- ```
249
-
250
- After the data has been feed into the hasher, a final hash can be computed using `.digest()`. By default, this method returns a `Uint8Array` containing the hash.
251
-
252
- ```ts
253
- const hasher = new Bun.CryptoHasher("sha256");
254
- hasher.update("hello world");
255
-
256
- hasher.digest();
257
- // => Uint8Array(32) [ 185, 77, 39, 185, 147, ... ]
258
- ```
259
-
260
- The `.digest()` method can optionally return the hash as a string. To do so, specify an encoding:
261
-
262
- ```ts
263
- hasher.digest("base64");
264
- // => "uU0nuZNNPgilLlLX2n2r+sSE7+N6U4DukIj3rOLvzek="
265
-
266
- hasher.digest("hex");
267
- // => "b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9"
268
- ```
269
-
270
- Alternatively, the method can write the hash into a pre-existing `TypedArray` instance. This may be desirable in some performance-sensitive applications.
271
-
272
- ```ts
273
- const arr = new Uint8Array(32);
274
-
275
- hasher.digest(arr);
276
-
277
- console.log(arr);
278
- // => Uint8Array(32) [ 185, 77, 39, 185, 147, ... ]
279
- ```
280
-
281
- ### HMAC in `Bun.CryptoHasher`
282
-
283
- `Bun.CryptoHasher` can be used to compute HMAC digests. To do so, pass the key to the constructor.
284
-
285
- ```ts
286
- const hasher = new Bun.CryptoHasher("sha256", "secret-key");
287
- hasher.update("hello world");
288
- console.log(hasher.digest("hex"));
289
- // => "095d5a21fe6d0646db223fdf3de6436bb8dfb2fab0b51677ecf6441fcf5f2a67"
290
- ```
291
-
292
- When using HMAC, a more limited set of algorithms are supported:
293
-
294
- - `"blake2b512"`
295
- - `"md5"`
296
- - `"sha1"`
297
- - `"sha224"`
298
- - `"sha256"`
299
- - `"sha384"`
300
- - `"sha512-224"`
301
- - `"sha512-256"`
302
- - `"sha512"`
303
-
304
- Unlike the non-HMAC `Bun.CryptoHasher`, the HMAC `Bun.CryptoHasher` instance is not reset after `.digest()` is called, and attempting to use the same instance again will throw an error.
305
-
306
- Other methods like `.copy()` and `.update()` are supported (as long as it's before `.digest()`), but methods like `.digest()` that finalize the hasher are not.
307
-
308
- ```ts
309
- const hasher = new Bun.CryptoHasher("sha256", "secret-key");
310
- hasher.update("hello world");
311
-
312
- const copy = hasher.copy();
313
- copy.update("!");
314
- console.log(copy.digest("hex"));
315
- // => "3840176c3d8923f59ac402b7550404b28ab11cb0ef1fa199130a5c37864b5497"
316
-
317
- console.log(hasher.digest("hex"));
318
- // => "095d5a21fe6d0646db223fdf3de6436bb8dfb2fab0b51677ecf6441fcf5f2a67"
319
- ```