bun-types 1.3.2-canary.20251105T140650 → 1.3.2

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 (370) hide show
  1. package/bun.d.ts +102 -6
  2. package/docs/README.md +28 -0
  3. package/docs/bundler/bytecode.mdx +465 -0
  4. package/docs/bundler/{css.md → css.mdx} +97 -101
  5. package/docs/bundler/esbuild.mdx +253 -0
  6. package/docs/bundler/{executables.md → executables.mdx} +130 -221
  7. package/docs/bundler/fullstack.mdx +1064 -0
  8. package/docs/bundler/{hmr.md → hot-reloading.mdx} +74 -79
  9. package/docs/bundler/{html.md → html-static.mdx} +148 -111
  10. package/docs/bundler/index.mdx +1499 -0
  11. package/docs/bundler/loaders.mdx +356 -0
  12. package/docs/bundler/{macros.md → macros.mdx} +83 -84
  13. package/docs/bundler/minifier.mdx +1306 -0
  14. package/docs/bundler/plugins.mdx +411 -0
  15. package/docs/feedback.mdx +85 -0
  16. package/docs/guides/binary/{arraybuffer-to-array.md → arraybuffer-to-array.mdx} +3 -1
  17. package/docs/guides/binary/{arraybuffer-to-blob.md → arraybuffer-to-blob.mdx} +3 -1
  18. package/docs/guides/binary/{arraybuffer-to-buffer.md → arraybuffer-to-buffer.mdx} +3 -1
  19. package/docs/guides/binary/{arraybuffer-to-string.md → arraybuffer-to-string.mdx} +3 -1
  20. package/docs/guides/binary/{arraybuffer-to-typedarray.md → arraybuffer-to-typedarray.mdx} +3 -1
  21. package/docs/guides/binary/{blob-to-arraybuffer.md → blob-to-arraybuffer.mdx} +3 -1
  22. package/docs/guides/binary/{blob-to-dataview.md → blob-to-dataview.mdx} +3 -1
  23. package/docs/guides/binary/{blob-to-stream.md → blob-to-stream.mdx} +3 -1
  24. package/docs/guides/binary/{blob-to-string.md → blob-to-string.mdx} +3 -1
  25. package/docs/guides/binary/{blob-to-typedarray.md → blob-to-typedarray.mdx} +3 -1
  26. package/docs/guides/binary/{buffer-to-arraybuffer.md → buffer-to-arraybuffer.mdx} +3 -1
  27. package/docs/guides/binary/{buffer-to-blob.md → buffer-to-blob.mdx} +3 -1
  28. package/docs/guides/binary/{buffer-to-readablestream.md → buffer-to-readablestream.mdx} +3 -1
  29. package/docs/guides/binary/{buffer-to-string.md → buffer-to-string.mdx} +3 -1
  30. package/docs/guides/binary/{buffer-to-typedarray.md → buffer-to-typedarray.mdx} +3 -1
  31. package/docs/guides/binary/{dataview-to-string.md → dataview-to-string.mdx} +3 -1
  32. package/docs/guides/binary/{typedarray-to-arraybuffer.md → typedarray-to-arraybuffer.mdx} +3 -1
  33. package/docs/guides/binary/{typedarray-to-blob.md → typedarray-to-blob.mdx} +3 -1
  34. package/docs/guides/binary/{typedarray-to-buffer.md → typedarray-to-buffer.mdx} +3 -1
  35. package/docs/guides/binary/{typedarray-to-dataview.md → typedarray-to-dataview.mdx} +3 -1
  36. package/docs/guides/binary/{typedarray-to-readablestream.md → typedarray-to-readablestream.mdx} +3 -1
  37. package/docs/guides/binary/{typedarray-to-string.md → typedarray-to-string.mdx} +3 -1
  38. package/docs/guides/deployment/aws-lambda.mdx +204 -0
  39. package/docs/guides/deployment/digital-ocean.mdx +161 -0
  40. package/docs/guides/deployment/google-cloud-run.mdx +197 -0
  41. package/docs/guides/deployment/{railway.md → railway.mdx} +42 -54
  42. package/docs/guides/deployment/render.mdx +82 -0
  43. package/docs/guides/deployment/vercel.mdx +99 -0
  44. package/docs/guides/ecosystem/{astro.md → astro.mdx} +16 -6
  45. package/docs/guides/ecosystem/{discordjs.md → discordjs.mdx} +21 -18
  46. package/docs/guides/ecosystem/{docker.md → docker.mdx} +25 -14
  47. package/docs/guides/ecosystem/{drizzle.md → drizzle.mdx} +32 -22
  48. package/docs/guides/ecosystem/{edgedb.md → edgedb.mdx} +63 -34
  49. package/docs/guides/ecosystem/{elysia.md → elysia.mdx} +11 -11
  50. package/docs/guides/ecosystem/{express.md → express.mdx} +12 -9
  51. package/docs/guides/ecosystem/{hono.md → hono.mdx} +16 -8
  52. package/docs/guides/ecosystem/{mongoose.md → mongoose.mdx} +26 -21
  53. package/docs/guides/ecosystem/{neon-drizzle.md → neon-drizzle.mdx} +49 -35
  54. package/docs/guides/ecosystem/{neon-serverless-postgres.md → neon-serverless-postgres.mdx} +16 -11
  55. package/docs/guides/ecosystem/{nextjs.md → nextjs.mdx} +18 -10
  56. package/docs/guides/ecosystem/{nuxt.md → nuxt.mdx} +45 -11
  57. package/docs/guides/ecosystem/{pm2.md → pm2.mdx} +7 -9
  58. package/docs/guides/ecosystem/prisma-postgres.mdx +169 -0
  59. package/docs/guides/ecosystem/prisma.mdx +164 -0
  60. package/docs/guides/ecosystem/{qwik.md → qwik.mdx} +18 -11
  61. package/docs/guides/ecosystem/{react.md → react.mdx} +9 -7
  62. package/docs/guides/ecosystem/{remix.md → remix.mdx} +45 -26
  63. package/docs/guides/ecosystem/{sentry.md → sentry.mdx} +7 -5
  64. package/docs/guides/ecosystem/{solidstart.md → solidstart.mdx} +21 -13
  65. package/docs/guides/ecosystem/{ssr-react.md → ssr-react.mdx} +9 -11
  66. package/docs/guides/ecosystem/{stric.md → stric.mdx} +16 -17
  67. package/docs/guides/ecosystem/{sveltekit.md → sveltekit.mdx} +42 -29
  68. package/docs/guides/ecosystem/{systemd.md → systemd.mdx} +27 -26
  69. package/docs/guides/ecosystem/upstash.mdx +87 -0
  70. package/docs/guides/ecosystem/{vite.md → vite.mdx} +20 -14
  71. package/docs/guides/html-rewriter/{extract-links.md → extract-links.mdx} +11 -7
  72. package/docs/guides/html-rewriter/{extract-social-meta.md → extract-social-meta.mdx} +6 -2
  73. package/docs/guides/http/{cluster.md → cluster.mdx} +10 -7
  74. package/docs/guides/http/{fetch-unix.md → fetch-unix.mdx} +5 -3
  75. package/docs/guides/http/{fetch.md → fetch.mdx} +5 -3
  76. package/docs/guides/http/{file-uploads.md → file-uploads.mdx} +18 -15
  77. package/docs/guides/http/{hot.md → hot.mdx} +9 -7
  78. package/docs/guides/http/{proxy.md → proxy.mdx} +7 -5
  79. package/docs/guides/http/{server.md → server.mdx} +4 -2
  80. package/docs/guides/http/{simple.md → simple.mdx} +4 -2
  81. package/docs/guides/http/{stream-file.md → stream-file.mdx} +6 -4
  82. package/docs/guides/http/{stream-iterator.md → stream-iterator.mdx} +5 -3
  83. package/docs/guides/http/{stream-node-streams-in-bun.md → stream-node-streams-in-bun.mdx} +4 -2
  84. package/docs/guides/http/{tls.md → tls.mdx} +5 -3
  85. package/docs/guides/index.mdx +10 -0
  86. package/docs/guides/install/{add-dev.md → add-dev.mdx} +8 -6
  87. package/docs/guides/install/add-git.mdx +38 -0
  88. package/docs/guides/install/{add-optional.md → add-optional.mdx} +7 -5
  89. package/docs/guides/install/{add-peer.md → add-peer.mdx} +13 -11
  90. package/docs/guides/install/{add-tarball.md → add-tarball.mdx} +7 -5
  91. package/docs/guides/install/{add.md → add.mdx} +12 -10
  92. package/docs/guides/install/{azure-artifacts.md → azure-artifacts.mdx} +15 -12
  93. package/docs/guides/{runtime/cicd.md → install/cicd.mdx} +13 -13
  94. package/docs/guides/install/{custom-registry.md → custom-registry.mdx} +6 -4
  95. package/docs/guides/install/{from-npm-install-to-bun-install.md → from-npm-install-to-bun-install.mdx} +50 -34
  96. package/docs/guides/install/{git-diff-bun-lockfile.md → git-diff-bun-lockfile.mdx} +14 -11
  97. package/docs/guides/install/{jfrog-artifactory.md → jfrog-artifactory.mdx} +4 -4
  98. package/docs/guides/install/{npm-alias.md → npm-alias.mdx} +6 -4
  99. package/docs/guides/install/{registry-scope.md → registry-scope.mdx} +6 -4
  100. package/docs/guides/install/{trusted.md → trusted.mdx} +22 -18
  101. package/docs/guides/install/{workspaces.md → workspaces.mdx} +13 -13
  102. package/docs/guides/install/{yarnlock.md → yarnlock.mdx} +15 -9
  103. package/docs/guides/process/{argv.md → argv.mdx} +17 -9
  104. package/docs/guides/process/{ctrl-c.md → ctrl-c.mdx} +4 -2
  105. package/docs/guides/process/{ipc.md → ipc.mdx} +13 -10
  106. package/docs/guides/process/{nanoseconds.md → nanoseconds.mdx} +3 -1
  107. package/docs/guides/process/{os-signals.md → os-signals.mdx} +3 -1
  108. package/docs/guides/process/{spawn-stderr.md → spawn-stderr.mdx} +4 -1
  109. package/docs/guides/process/{spawn-stdout.md → spawn-stdout.mdx} +3 -1
  110. package/docs/guides/process/{spawn.md → spawn.mdx} +3 -1
  111. package/docs/guides/process/{stdin.md → stdin.mdx} +15 -7
  112. package/docs/guides/read-file/{arraybuffer.md → arraybuffer.mdx} +5 -3
  113. package/docs/guides/read-file/{buffer.md → buffer.mdx} +4 -2
  114. package/docs/guides/read-file/{exists.md → exists.mdx} +4 -2
  115. package/docs/guides/read-file/{json.md → json.mdx} +4 -2
  116. package/docs/guides/read-file/{mime.md → mime.mdx} +3 -1
  117. package/docs/guides/read-file/{stream.md → stream.mdx} +3 -1
  118. package/docs/guides/read-file/{string.md → string.mdx} +3 -1
  119. package/docs/guides/read-file/{uint8array.md → uint8array.mdx} +3 -1
  120. package/docs/guides/read-file/{watch.md → watch.mdx} +6 -8
  121. package/docs/guides/runtime/{build-time-constants.md → build-time-constants.mdx} +24 -22
  122. package/docs/guides/{install/cicd.md → runtime/cicd.mdx} +11 -7
  123. package/docs/guides/runtime/{codesign-macos-executable.md → codesign-macos-executable.mdx} +14 -9
  124. package/docs/guides/runtime/{define-constant.md → define-constant.mdx} +20 -16
  125. package/docs/guides/runtime/{delete-directory.md → delete-directory.mdx} +5 -3
  126. package/docs/guides/runtime/{delete-file.md → delete-file.mdx} +4 -2
  127. package/docs/guides/runtime/{heap-snapshot.md → heap-snapshot.mdx} +5 -3
  128. package/docs/guides/runtime/{import-html.md → import-html.mdx} +4 -2
  129. package/docs/guides/runtime/{import-json.md → import-json.mdx} +6 -4
  130. package/docs/guides/runtime/{import-toml.md → import-toml.mdx} +5 -3
  131. package/docs/guides/runtime/{import-yaml.md → import-yaml.mdx} +9 -7
  132. package/docs/guides/runtime/{read-env.md → read-env.mdx} +10 -5
  133. package/docs/guides/runtime/{set-env.md → set-env.mdx} +14 -10
  134. package/docs/guides/runtime/{shell.md → shell.mdx} +6 -4
  135. package/docs/guides/runtime/{timezone.md → timezone.mdx} +10 -7
  136. package/docs/guides/runtime/{tsconfig-paths.md → tsconfig-paths.mdx} +5 -3
  137. package/docs/guides/runtime/{typescript.md → typescript.mdx} +8 -6
  138. package/docs/guides/runtime/{vscode-debugger.md → vscode-debugger.mdx} +12 -11
  139. package/docs/guides/runtime/{web-debugger.md → web-debugger.mdx} +39 -18
  140. package/docs/guides/streams/{node-readable-to-arraybuffer.md → node-readable-to-arraybuffer.mdx} +3 -1
  141. package/docs/guides/streams/{node-readable-to-blob.md → node-readable-to-blob.mdx} +3 -1
  142. package/docs/guides/streams/{node-readable-to-json.md → node-readable-to-json.mdx} +3 -1
  143. package/docs/guides/streams/{node-readable-to-string.md → node-readable-to-string.mdx} +3 -1
  144. package/docs/guides/streams/{node-readable-to-uint8array.md → node-readable-to-uint8array.mdx} +3 -1
  145. package/docs/guides/streams/{to-array.md → to-array.mdx} +3 -1
  146. package/docs/guides/streams/{to-arraybuffer.md → to-arraybuffer.mdx} +3 -1
  147. package/docs/guides/streams/{to-blob.md → to-blob.mdx} +3 -1
  148. package/docs/guides/streams/{to-buffer.md → to-buffer.mdx} +3 -1
  149. package/docs/guides/streams/{to-json.md → to-json.mdx} +4 -2
  150. package/docs/guides/streams/{to-string.md → to-string.mdx} +3 -1
  151. package/docs/guides/streams/{to-typedarray.md → to-typedarray.mdx} +3 -1
  152. package/docs/guides/test/{bail.md → bail.mdx} +7 -5
  153. package/docs/guides/test/{coverage-threshold.md → coverage-threshold.mdx} +14 -7
  154. package/docs/guides/test/{coverage.md → coverage.mdx} +9 -4
  155. package/docs/guides/test/{happy-dom.md → happy-dom.mdx} +13 -8
  156. package/docs/guides/test/{migrate-from-jest.md → migrate-from-jest.mdx} +19 -37
  157. package/docs/guides/test/{mock-clock.md → mock-clock.mdx} +3 -1
  158. package/docs/guides/test/{mock-functions.md → mock-functions.mdx} +7 -5
  159. package/docs/guides/test/{rerun-each.md → rerun-each.mdx} +5 -3
  160. package/docs/guides/test/{run-tests.md → run-tests.mdx} +16 -11
  161. package/docs/guides/test/{skip-tests.md → skip-tests.mdx} +8 -4
  162. package/docs/guides/test/{snapshot.md → snapshot.mdx} +20 -13
  163. package/docs/guides/test/spy-on.mdx +49 -0
  164. package/docs/guides/test/{svelte-test.md → svelte-test.mdx} +16 -23
  165. package/docs/guides/test/{testing-library.md → testing-library.mdx} +18 -17
  166. package/docs/guides/test/{timeout.md → timeout.mdx} +5 -3
  167. package/docs/guides/test/{todo-tests.md → todo-tests.mdx} +13 -6
  168. package/docs/guides/test/{update-snapshots.md → update-snapshots.mdx} +9 -6
  169. package/docs/guides/test/{watch-mode.md → watch-mode.mdx} +9 -4
  170. package/docs/guides/util/{base64.md → base64.mdx} +3 -1
  171. package/docs/guides/util/{deep-equals.md → deep-equals.mdx} +5 -3
  172. package/docs/guides/util/{deflate.md → deflate.mdx} +3 -1
  173. package/docs/guides/util/{detect-bun.md → detect-bun.mdx} +3 -1
  174. package/docs/guides/util/{entrypoint.md → entrypoint.mdx} +4 -2
  175. package/docs/guides/util/{escape-html.md → escape-html.mdx} +3 -1
  176. package/docs/guides/util/{file-url-to-path.md → file-url-to-path.mdx} +3 -1
  177. package/docs/guides/util/{gzip.md → gzip.mdx} +3 -1
  178. package/docs/guides/util/{hash-a-password.md → hash-a-password.mdx} +3 -1
  179. package/docs/guides/util/{import-meta-dir.md → import-meta-dir.mdx} +4 -2
  180. package/docs/guides/util/{import-meta-file.md → import-meta-file.mdx} +4 -2
  181. package/docs/guides/util/{import-meta-path.md → import-meta-path.mdx} +4 -2
  182. package/docs/guides/util/{javascript-uuid.md → javascript-uuid.mdx} +3 -1
  183. package/docs/guides/util/{main.md → main.mdx} +19 -8
  184. package/docs/guides/util/{path-to-file-url.md → path-to-file-url.mdx} +3 -1
  185. package/docs/guides/util/{sleep.md → sleep.mdx} +3 -1
  186. package/docs/guides/util/{version.md → version.mdx} +6 -4
  187. package/docs/guides/util/{which-path-to-executable-bin.md → which-path-to-executable-bin.mdx} +4 -2
  188. package/docs/guides/websocket/{compression.md → compression.mdx} +5 -3
  189. package/docs/guides/websocket/{context.md → context.mdx} +9 -12
  190. package/docs/guides/websocket/{pubsub.md → pubsub.mdx} +5 -6
  191. package/docs/guides/websocket/{simple.md → simple.mdx} +5 -3
  192. package/docs/guides/write-file/{append.md → append.mdx} +3 -1
  193. package/docs/guides/write-file/{basic.md → basic.mdx} +3 -1
  194. package/docs/guides/write-file/{blob.md → blob.mdx} +3 -1
  195. package/docs/guides/write-file/{cat.md → cat.mdx} +4 -2
  196. package/docs/guides/write-file/{file-cp.md → file-cp.mdx} +3 -1
  197. package/docs/guides/write-file/{filesink.md → filesink.mdx} +3 -1
  198. package/docs/guides/write-file/{response.md → response.mdx} +3 -1
  199. package/docs/guides/write-file/{stdout.md → stdout.mdx} +3 -1
  200. package/docs/guides/write-file/{stream.md → stream.mdx} +3 -1
  201. package/docs/guides/write-file/{unlink.md → unlink.mdx} +3 -1
  202. package/docs/{index.md → index.mdx} +97 -41
  203. package/docs/installation.mdx +365 -0
  204. package/docs/{cli/bunx.md → pm/bunx.mdx} +25 -31
  205. package/docs/{install/catalogs.md → pm/catalogs.mdx} +18 -24
  206. package/docs/{cli/add.md → pm/cli/add.mdx} +61 -55
  207. package/docs/{install/audit.md → pm/cli/audit.mdx} +11 -8
  208. package/docs/{cli/install.md → pm/cli/install.mdx} +208 -81
  209. package/docs/{cli/link.md → pm/cli/link.mdx} +27 -19
  210. package/docs/{cli/outdated.md → pm/cli/outdated.mdx} +119 -12
  211. package/docs/{install/patch.md → pm/cli/patch.mdx} +25 -15
  212. package/docs/{cli/pm.md → pm/cli/pm.mdx} +96 -62
  213. package/docs/{cli/publish.md → pm/cli/publish.mdx} +38 -35
  214. package/docs/pm/cli/remove.mdx +16 -0
  215. package/docs/{cli/update.md → pm/cli/update.mdx} +26 -15
  216. package/docs/{cli/why.md → pm/cli/why.mdx} +27 -10
  217. package/docs/{cli/filter.md → pm/filter.mdx} +26 -14
  218. package/docs/{install/cache.md → pm/global-cache.mdx} +25 -12
  219. package/docs/{install/isolated.md → pm/isolated-installs.mdx} +32 -24
  220. package/docs/{install/lifecycle.md → pm/lifecycle.mdx} +20 -9
  221. package/docs/{install/lockfile.md → pm/lockfile.mdx} +18 -12
  222. package/docs/{install/npmrc.md → pm/npmrc.mdx} +30 -24
  223. package/docs/{install/overrides.md → pm/overrides.mdx} +47 -37
  224. package/docs/{install/registries.md → pm/scopes-registries.mdx} +8 -3
  225. package/docs/{install/security-scanner-api.md → pm/security-scanner-api.mdx} +22 -8
  226. package/docs/{install/workspaces.md → pm/workspaces.mdx} +17 -22
  227. package/docs/project/{benchmarking.md → benchmarking.mdx} +26 -11
  228. package/docs/project/{bindgen.md → bindgen.mdx} +12 -14
  229. package/docs/project/{building-windows.md → building-windows.mdx} +18 -47
  230. package/docs/project/{contributing.md → contributing.mdx} +56 -60
  231. package/docs/project/feedback.mdx +20 -0
  232. package/docs/project/license.mdx +78 -0
  233. package/docs/project/roadmap.mdx +8 -0
  234. package/docs/quickstart.mdx +240 -0
  235. package/docs/runtime/{autoimport.md → auto-install.mdx} +34 -31
  236. package/docs/{api/binary-data.md → runtime/binary-data.mdx} +77 -269
  237. package/docs/runtime/bun-apis.mdx +59 -0
  238. package/docs/runtime/{bunfig.md → bunfig.mdx} +95 -225
  239. package/docs/{api/cc.md → runtime/c-compiler.mdx} +16 -9
  240. package/docs/{api/spawn.md → runtime/child-process.mdx} +69 -119
  241. package/docs/{api/color.md → runtime/color.mdx} +6 -1
  242. package/docs/{api/console.md → runtime/console.mdx} +17 -7
  243. package/docs/{api/cookie.md → runtime/cookies.mdx} +24 -19
  244. package/docs/runtime/{debugger.md → debugger.mdx} +61 -51
  245. package/docs/runtime/environment-variables.mdx +214 -0
  246. package/docs/{api/ffi.md → runtime/ffi.mdx} +53 -45
  247. package/docs/{api/file-io.md → runtime/file-io.mdx} +41 -101
  248. package/docs/{api/file-system-router.md → runtime/file-system-router.mdx} +8 -2
  249. package/docs/{bundler/loaders.md → runtime/file-types.mdx} +56 -112
  250. package/docs/{api/glob.md → runtime/glob.mdx} +4 -1
  251. package/docs/runtime/globals.mdx +72 -0
  252. package/docs/{api/hashing.md → runtime/hashing.mdx} +18 -22
  253. package/docs/{api/html-rewriter.md → runtime/html-rewriter.mdx} +36 -30
  254. package/docs/runtime/http/cookies.mdx +79 -0
  255. package/docs/runtime/http/error-handling.mdx +40 -0
  256. package/docs/runtime/http/metrics.mdx +36 -0
  257. package/docs/runtime/http/routing.mdx +289 -0
  258. package/docs/runtime/http/server.mdx +647 -0
  259. package/docs/runtime/http/tls.mdx +101 -0
  260. package/docs/{api/websockets.md → runtime/http/websockets.mdx} +62 -231
  261. package/docs/{cli/run.md → runtime/index.mdx} +70 -108
  262. package/docs/runtime/jsx.mdx +115 -0
  263. package/docs/runtime/{modules.md → module-resolution.mdx} +83 -61
  264. package/docs/{api/dns.md → runtime/networking/dns.mdx} +23 -22
  265. package/docs/{api/fetch.md → runtime/networking/fetch.mdx} +10 -5
  266. package/docs/{api/tcp.md → runtime/networking/tcp.mdx} +59 -41
  267. package/docs/{api/udp.md → runtime/networking/udp.mdx} +14 -8
  268. package/docs/{api/node-api.md → runtime/node-api.mdx} +5 -0
  269. package/docs/runtime/{nodejs-apis.md → nodejs-compat.mdx} +9 -4
  270. package/docs/{bundler/plugins.md → runtime/plugins.mdx} +17 -61
  271. package/docs/{api/redis.md → runtime/redis.mdx} +65 -80
  272. package/docs/{api/s3.md → runtime/s3.mdx} +79 -66
  273. package/docs/{api/secrets.md → runtime/secrets.mdx} +27 -10
  274. package/docs/{api/semver.md → runtime/semver.mdx} +9 -4
  275. package/docs/runtime/{shell.md → shell.mdx} +52 -20
  276. package/docs/{api/sql.md → runtime/sql.mdx} +129 -99
  277. package/docs/{api/sqlite.md → runtime/sqlite.mdx} +162 -157
  278. package/docs/{api/streams.md → runtime/streams.mdx} +33 -31
  279. package/docs/{cli/bun-create.md → runtime/templating/create.mdx} +74 -143
  280. package/docs/{cli/init.md → runtime/templating/init.mdx} +24 -51
  281. package/docs/{api/transpiler.md → runtime/transpiler.mdx} +50 -38
  282. package/docs/{typescript.md → runtime/typescript.mdx} +7 -2
  283. package/docs/{api/utils.md → runtime/utils.mdx} +81 -50
  284. package/docs/runtime/{hot.md → watch-mode.mdx} +53 -37
  285. package/docs/runtime/web-apis.mdx +29 -0
  286. package/docs/{api/workers.md → runtime/workers.mdx} +28 -22
  287. package/docs/{api/yaml.md → runtime/yaml.mdx} +33 -232
  288. package/docs/snippets/cli/add.mdx +166 -0
  289. package/docs/snippets/cli/build.mdx +196 -0
  290. package/docs/snippets/cli/feedback.mdx +17 -0
  291. package/docs/snippets/cli/init.mdx +84 -0
  292. package/docs/snippets/cli/install.mdx +173 -0
  293. package/docs/snippets/cli/link.mdx +163 -0
  294. package/docs/snippets/cli/outdated.mdx +140 -0
  295. package/docs/snippets/cli/patch.mdx +171 -0
  296. package/docs/snippets/cli/publish.mdx +198 -0
  297. package/docs/snippets/cli/remove.mdx +146 -0
  298. package/docs/snippets/cli/run.mdx +293 -0
  299. package/docs/snippets/cli/test.mdx +100 -0
  300. package/docs/snippets/cli/update.mdx +144 -0
  301. package/docs/snippets/product-card.mdx +32 -0
  302. package/docs/snippets/product-tiles.mdx +94 -0
  303. package/docs/test/code-coverage.mdx +409 -0
  304. package/docs/test/configuration.mdx +467 -0
  305. package/docs/test/{time.md → dates-times.mdx} +23 -20
  306. package/docs/test/{discovery.md → discovery.mdx} +15 -10
  307. package/docs/test/dom.mdx +226 -0
  308. package/docs/{cli/test.md → test/index.mdx} +77 -94
  309. package/docs/test/lifecycle.mdx +348 -0
  310. package/docs/test/mocks.mdx +637 -0
  311. package/docs/test/{reporters.md → reporters.mdx} +15 -15
  312. package/docs/test/runtime-behavior.mdx +342 -0
  313. package/docs/test/snapshots.mdx +434 -0
  314. package/docs/test/writing-tests.mdx +635 -0
  315. package/docs/typescript.mdx +54 -0
  316. package/package.json +8 -6
  317. package/test.d.ts +2 -2
  318. package/docs/api/file.md +0 -19
  319. package/docs/api/globals.md +0 -387
  320. package/docs/api/http.md +0 -1408
  321. package/docs/api/import-meta.md +0 -69
  322. package/docs/benchmarks.md +0 -120
  323. package/docs/bun-flavored-toml.md +0 -42
  324. package/docs/bundler/css_modules.md +0 -145
  325. package/docs/bundler/fullstack.md +0 -418
  326. package/docs/bundler/index.md +0 -1735
  327. package/docs/bundler/intro.md +0 -75
  328. package/docs/bundler/vs-esbuild.md +0 -1127
  329. package/docs/cli/bun-completions.md +0 -3
  330. package/docs/cli/bun-install.md +0 -349
  331. package/docs/cli/bun-upgrade.md +0 -39
  332. package/docs/cli/info.md +0 -65
  333. package/docs/cli/patch-commit.md +0 -11
  334. package/docs/cli/remove.md +0 -7
  335. package/docs/cli/unlink.md +0 -9
  336. package/docs/contributing/upgrading-webkit.md +0 -57
  337. package/docs/ecosystem/elysia.md +0 -24
  338. package/docs/ecosystem/express.md +0 -37
  339. package/docs/ecosystem/hono.md +0 -18
  340. package/docs/ecosystem/react.md +0 -65
  341. package/docs/ecosystem/stric.md +0 -38
  342. package/docs/guides/ecosystem/prisma.md +0 -141
  343. package/docs/guides/ecosystem/render.md +0 -79
  344. package/docs/guides/install/add-git.md +0 -36
  345. package/docs/guides/test/spy-on.md +0 -46
  346. package/docs/install/index.md +0 -248
  347. package/docs/installation.md +0 -327
  348. package/docs/project/asan.md +0 -124
  349. package/docs/project/internals/build-process-for-ci.md +0 -75
  350. package/docs/project/licensing.md +0 -73
  351. package/docs/project/roadmap.md +0 -87
  352. package/docs/quickstart.md +0 -157
  353. package/docs/runtime/bun-apis.md +0 -207
  354. package/docs/runtime/env.md +0 -253
  355. package/docs/runtime/index.md +0 -312
  356. package/docs/runtime/jsx.md +0 -385
  357. package/docs/runtime/loaders.md +0 -130
  358. package/docs/runtime/plugins.md +0 -561
  359. package/docs/runtime/typescript.md +0 -139
  360. package/docs/runtime/web-apis.md +0 -128
  361. package/docs/test/configuration.md +0 -154
  362. package/docs/test/coverage.md +0 -142
  363. package/docs/test/dom.md +0 -75
  364. package/docs/test/examples/concurrent-test-glob.md +0 -132
  365. package/docs/test/hot.md +0 -15
  366. package/docs/test/lifecycle.md +0 -81
  367. package/docs/test/mocks.md +0 -313
  368. package/docs/test/runtime-behavior.md +0 -95
  369. package/docs/test/snapshots.md +0 -68
  370. package/docs/test/writing.md +0 -825
@@ -1,38 +0,0 @@
1
- [Stric](https://github.com/bunsvr) is a minimalist, fast web framework for Bun.
2
-
3
- ```ts#index.ts
4
- import { Router } from '@stricjs/router';
5
-
6
- // Export the fetch handler and serve with Bun
7
- export default new Router()
8
- // Return 'Hi' on every request
9
- .get('/', () => new Response('Hi'));
10
- ```
11
-
12
- Stric provides support for [ArrowJS](https://www.arrow-js.com), a library for building reactive interfaces.
13
-
14
- {% codetabs %}
15
-
16
- ```ts#src/App.ts
17
- import { html } from '@stricjs/arrow/utils';
18
-
19
- // Code inside this function can use web APIs
20
- export function render() {
21
- // Render a <p> element with text 'Hi'
22
- html`<p>Hi</p>`;
23
- };
24
-
25
- // Set the path to handle
26
- export const path = '/';
27
- ```
28
-
29
- ```ts#index.ts
30
- import { PageRouter } from '@stricjs/arrow';
31
-
32
- // Create a page router, build and serve directly
33
- new PageRouter().serve();
34
- ```
35
-
36
- {% /codetabs %}
37
-
38
- For more info, see Stric's [documentation](https://stricjs.gitbook.io/docs).
@@ -1,141 +0,0 @@
1
- ---
2
- name: Use Prisma with Bun
3
- ---
4
-
5
- {% callout %}
6
- **Note** — At the moment Prisma needs Node.js to be installed to run certain generation code. Make sure Node.js is installed in the environment where you're running `bunx prisma` commands.
7
- {% /callout %}
8
-
9
- ---
10
-
11
- Prisma works out of the box with Bun. First, create a directory and initialize it with `bun init`.
12
-
13
- ```bash
14
- $ mkdir prisma-app
15
- $ cd prisma-app
16
- $ bun init
17
- ```
18
-
19
- ---
20
-
21
- Then install the Prisma CLI (`prisma`) and Prisma Client (`@prisma/client`) as dependencies.
22
-
23
- ```bash
24
- $ bun add -d prisma
25
- $ bun add @prisma/client
26
- ```
27
-
28
- ---
29
-
30
- We'll use the Prisma CLI with `bunx` to initialize our schema and migration directory. For simplicity we'll be using an in-memory SQLite database.
31
-
32
- ```bash
33
- $ bunx --bun prisma init --datasource-provider sqlite
34
- ```
35
-
36
- ---
37
-
38
- Open `prisma/schema.prisma` and add a simple `User` model.
39
-
40
- ```prisma-diff#prisma/schema.prisma
41
- generator client {
42
- provider = "prisma-client-js"
43
- output = "../generated/prisma"
44
- }
45
-
46
- datasource db {
47
- provider = "sqlite"
48
- url = env("DATABASE_URL")
49
- }
50
-
51
- + model User {
52
- + id Int @id @default(autoincrement())
53
- + email String @unique
54
- + name String?
55
- + }
56
- ```
57
-
58
- ---
59
-
60
- Then generate and run initial migration.
61
-
62
- This will generate a `.sql` migration file in `prisma/migrations`, create a new SQLite instance, and execute the migration against the new instance.
63
-
64
- ```bash
65
- $ bunx prisma migrate dev --name init
66
- Environment variables loaded from .env
67
- Prisma schema loaded from prisma/schema.prisma
68
- Datasource "db": SQLite database "dev.db" at "file:./dev.db"
69
-
70
- SQLite database dev.db created at file:./dev.db
71
-
72
- Applying migration `20230928182242_init`
73
-
74
- The following migration(s) have been created and applied from new schema changes:
75
-
76
- migrations/
77
- └─ 20230928182242_init/
78
- └─ migration.sql
79
-
80
- Your database is now in sync with your schema.
81
-
82
- ✔ Generated Prisma Client (v6.11.1) to ./generated/prisma in 41ms
83
- ```
84
-
85
- ---
86
-
87
- As indicated in the output, Prisma re-generates our _Prisma client_ whenever we execute a new migration. The client provides a fully typed API for reading and writing from our database. You can manually re-generate the client with the Prisma CLI.
88
-
89
- ```sh
90
- $ bunx prisma generate
91
- ```
92
-
93
- ---
94
-
95
- We can import the generated client from `@prisma/client`.
96
-
97
- ```ts#src/index.ts
98
- import {PrismaClient} from "@prisma/client";
99
- ```
100
-
101
- ---
102
-
103
- Let's write a simple script to create a new user, then count the number of users in the database.
104
-
105
- ```ts#index.ts
106
- import { PrismaClient } from "@prisma/client";
107
-
108
- const prisma = new PrismaClient();
109
-
110
- // create a new user
111
- await prisma.user.create({
112
- data: {
113
- name: "John Dough",
114
- email: `john-${Math.random()}@example.com`,
115
- },
116
- });
117
-
118
- // count the number of users
119
- const count = await prisma.user.count();
120
- console.log(`There are ${count} users in the database.`);
121
- ```
122
-
123
- ---
124
-
125
- Let's run this script with `bun run`. Each time we run it, a new user is created.
126
-
127
- ```bash
128
- $ bun run index.ts
129
- Created john-0.12802932895402364@example.com
130
- There are 1 users in the database.
131
- $ bun run index.ts
132
- Created john-0.8671308799782803@example.com
133
- There are 2 users in the database.
134
- $ bun run index.ts
135
- Created john-0.4465968383115295@example.com
136
- There are 3 users in the database.
137
- ```
138
-
139
- ---
140
-
141
- That's it! Now that you've set up Prisma using Bun, we recommend referring to the [official Prisma docs](https://www.prisma.io/docs/concepts/components/prisma-client) as you continue to develop your application.
@@ -1,79 +0,0 @@
1
- ---
2
- name: Deploy a Bun application on Render
3
- ---
4
-
5
- [Render](https://render.com/) is a cloud platform that lets you flexibly build, deploy, and scale your apps.
6
-
7
- It offers features like auto deploys from GitHub, a global CDN, private networks, automatic HTTPS setup, and managed PostgreSQL and Redis.
8
-
9
- Render supports Bun natively. You can deploy Bun apps as web services, background workers, cron jobs, and more.
10
-
11
- ---
12
-
13
- As an example, let's deploy a simple Express HTTP server to Render.
14
-
15
- ---
16
-
17
- Create a new GitHub repo named `myapp`. Git clone it locally.
18
-
19
- ```sh
20
- $ git clone git@github.com:my-github-username/myapp.git
21
- $ cd myapp
22
- ```
23
-
24
- ---
25
-
26
- Add the Express library.
27
-
28
- ```sh
29
- $ bun add express
30
- ```
31
-
32
- ---
33
-
34
- Define a simple server with Express:
35
-
36
- ```ts#app.ts
37
- import express from "express";
38
-
39
- const app = express();
40
- const port = process.env.PORT || 3001;
41
-
42
- app.get("/", (req, res) => {
43
- res.send("Hello World!");
44
- });
45
-
46
- app.listen(port, () => {
47
- console.log(`Listening on port ${port}...`);
48
- });
49
- ```
50
-
51
- ---
52
-
53
- Commit your changes and push to GitHub.
54
-
55
- ```sh
56
- $ git add app.ts bun.lock package.json
57
- $ git commit -m "Create simple Express app"
58
- $ git push origin main
59
- ```
60
-
61
- ---
62
-
63
- In your [Render Dashboard](https://dashboard.render.com/), click `New` > `Web Service` and connect your `myapp` repo.
64
-
65
- ---
66
-
67
- In the Render UI, provide the following values during web service creation:
68
-
69
- | | |
70
- | ----------------- | ------------- |
71
- | **Runtime** | `Node` |
72
- | **Build Command** | `bun install` |
73
- | **Start Command** | `bun app.ts` |
74
-
75
- ---
76
-
77
- That's it! Your web service will be live at its assigned `onrender.com` URL as soon as the build finishes.
78
-
79
- You can view the [deploy logs](https://docs.render.com/logging#logs-for-an-individual-deploy-or-job) for details. Refer to [Render's documentation](https://docs.render.com/deploys) for a complete overview of deploying on Render.
@@ -1,36 +0,0 @@
1
- ---
2
- name: Add a Git dependency
3
- ---
4
-
5
- Bun supports directly adding GitHub repositories as dependencies of your project.
6
-
7
- ```sh
8
- $ bun add github:lodash/lodash
9
- ```
10
-
11
- ---
12
-
13
- This will add the following line to your `package.json`:
14
-
15
- ```json-diff#package.json
16
- {
17
- "dependencies": {
18
- + "lodash": "github:lodash/lodash"
19
- }
20
- }
21
- ```
22
-
23
- ---
24
-
25
- Bun supports a number of protocols for specifying Git dependencies.
26
-
27
- ```sh
28
- $ bun add git+https://github.com/lodash/lodash.git
29
- $ bun add git+ssh://github.com/lodash/lodash.git#4.17.21
30
- $ bun add git@github.com:lodash/lodash.git
31
- $ bun add github:colinhacks/zod
32
- ```
33
-
34
- ---
35
-
36
- See [Docs > Package manager](https://bun.com/docs/cli/install) for complete documentation of Bun's package manager.
@@ -1,46 +0,0 @@
1
- ---
2
- name: Spy on methods in `bun test`
3
- ---
4
-
5
- Use the `spyOn` utility to track method calls with Bun's test runner.
6
-
7
- ```ts
8
- import { test, expect, spyOn } from "bun:test";
9
-
10
- const leo = {
11
- name: "Leonardo",
12
- sayHi(thing: string) {
13
- console.log(`Sup I'm ${this.name} and I like ${thing}`);
14
- },
15
- };
16
-
17
- const spy = spyOn(leo, "sayHi");
18
- ```
19
-
20
- ---
21
-
22
- Once the spy is created, it can be used to write `expect` assertions relating to method calls.
23
-
24
- ```ts-diff
25
- import { test, expect, spyOn } from "bun:test";
26
-
27
- const leo = {
28
- name: "Leonardo",
29
- sayHi(thing: string) {
30
- console.log(`Sup I'm ${this.name} and I like ${thing}`);
31
- },
32
- };
33
-
34
- const spy = spyOn(leo, "sayHi");
35
-
36
- + test("turtles", ()=>{
37
- + expect(spy).toHaveBeenCalledTimes(0);
38
- + leo.sayHi("pizza");
39
- + expect(spy).toHaveBeenCalledTimes(1);
40
- + expect(spy.mock.calls).toEqual([[ "pizza" ]]);
41
- + })
42
- ```
43
-
44
- ---
45
-
46
- See [Docs > Test Runner > Mocks](https://bun.sh/docs/test/mocks) for complete documentation on mocking with the Bun test runner.
@@ -1,248 +0,0 @@
1
- The `bun` CLI contains an `npm`-compatible package manager designed to be a faster replacement for existing package management tools like `npm`, `yarn`, and `pnpm`. It's designed for Node.js compatibility; use it in any Bun or Node.js project.
2
-
3
- {% callout %}
4
-
5
- **⚡️ 80x faster** — Switch from `npm install` to `bun install` in any Node.js project to make your installations up to 80x faster.
6
-
7
- {% image src="https://user-images.githubusercontent.com/709451/147004342-571b6123-17a9-49a2-8bfd-dcfc5204047e.png" height="200" /%}
8
-
9
- {% /callout %}
10
-
11
- {% details summary="For Linux users" %}
12
- The minimum Linux Kernel version is 5.1. If you're on Linux kernel 5.1 - 5.5, `bun install` should still work, but HTTP requests will be slow due to a lack of support for io_uring's `connect()` operation.
13
-
14
- If you're using Ubuntu 20.04, here's how to install a [newer kernel](https://wiki.ubuntu.com/Kernel/LTSEnablementStack):
15
-
16
- ```bash
17
- # If this returns a version >= 5.6, you don't need to do anything
18
- uname -r
19
-
20
- # Install the official Ubuntu hardware enablement kernel
21
- sudo apt install --install-recommends linux-generic-hwe-20.04
22
- ```
23
-
24
- {% /details %}
25
-
26
- ## Manage dependencies
27
-
28
- ### `bun install`
29
-
30
- To install all dependencies of a project:
31
-
32
- ```bash
33
- $ bun install
34
- ```
35
-
36
- On Linux, `bun install` tends to install packages 20-100x faster than `npm install`. On macOS, it's more like 4-80x.
37
-
38
- ![package install benchmark](https://user-images.githubusercontent.com/709451/147004342-571b6123-17a9-49a2-8bfd-dcfc5204047e.png)
39
-
40
- Running `bun install` will:
41
-
42
- - **Install** all `dependencies`, `devDependencies`, and `optionalDependencies`. Bun will install `peerDependencies` by default.
43
- - **Run** your project's `{pre|post}install` scripts at the appropriate time. For security reasons Bun _does not execute_ lifecycle scripts of installed dependencies.
44
- - **Write** a `bun.lock` lockfile to the project root.
45
-
46
- To install in production mode (i.e. without `devDependencies`):
47
-
48
- ```bash
49
- $ bun install --production
50
- ```
51
-
52
- To install dependencies without allowing changes to lockfile (useful on CI):
53
-
54
- ```bash
55
- $ bun install --frozen-lockfile
56
- ```
57
-
58
- To exclude dependency types from installing, use `--omit` with `dev`, `optional`, or `peer`:
59
-
60
- ```bash
61
- # Disable devDependencies and optionalDependencies
62
- $ bun install --omit=dev --omit=optional
63
- ```
64
-
65
- To perform a dry run (i.e. don't actually install anything or update the lockfile):
66
-
67
- ```bash
68
- $ bun install --dry-run
69
- ```
70
-
71
- To generate a lockfile without install packages:
72
-
73
- ```bash
74
- $ bun install --lockfile-only
75
- ```
76
-
77
- To modify logging verbosity:
78
-
79
- ```bash
80
- $ bun install --verbose # debug logging
81
- $ bun install --silent # no logging
82
- ```
83
-
84
- To use isolated installs instead of the default hoisted strategy:
85
-
86
- ```bash
87
- $ bun install --linker isolated
88
- ```
89
-
90
- Isolated installs create strict dependency isolation similar to pnpm, preventing phantom dependencies and ensuring more deterministic builds. For complete documentation, see [Isolated installs](https://bun.com/docs/install/isolated).
91
-
92
- To protect against supply chain attacks, set a minimum age (in seconds) for package versions:
93
-
94
- ```bash
95
- $ bun install --minimum-release-age 259200 # 3 days
96
- ```
97
-
98
- {% details summary="Configuring behavior" %}
99
- The default behavior of `bun install` can be configured in `bunfig.toml`:
100
-
101
- ```toml
102
- [install]
103
-
104
- # whether to install optionalDependencies
105
- optional = true
106
-
107
- # whether to install devDependencies
108
- dev = true
109
-
110
- # whether to install peerDependencies
111
- peer = true
112
-
113
- # equivalent to `--production` flag
114
- production = false
115
-
116
- # equivalent to `--save-text-lockfile` flag
117
- saveTextLockfile = false
118
-
119
- # equivalent to `--frozen-lockfile` flag
120
- frozenLockfile = false
121
-
122
- # equivalent to `--dry-run` flag
123
- dryRun = false
124
-
125
- # equivalent to `--concurrent-scripts` flag
126
- concurrentScripts = 16 # (cpu count or GOMAXPROCS) x2
127
-
128
- # installation strategy: "hoisted" or "isolated"
129
- # default: "hoisted"
130
- linker = "hoisted"
131
-
132
- # minimum package age in seconds (protects against supply chain attacks)
133
- minimumReleaseAge = 259200 # 3 days
134
-
135
- # exclude packages from age requirement
136
- minimumReleaseAgeExcludes = ["@types/node", "typescript"]
137
- ```
138
-
139
- {% /details %}
140
-
141
- ### `bun add`
142
-
143
- To add a particular package:
144
-
145
- ```bash
146
- $ bun add preact
147
- ```
148
-
149
- To specify a version, version range, or tag:
150
-
151
- ```bash
152
- $ bun add zod@3.20.0
153
- $ bun add zod@^3.0.0
154
- $ bun add zod@latest
155
- ```
156
-
157
- To add a package as a dev dependency (`"devDependencies"`):
158
-
159
- ```bash
160
- $ bun add --dev @types/react
161
- $ bun add -d @types/react
162
- ```
163
-
164
- To add a package as an optional dependency (`"optionalDependencies"`):
165
-
166
- ```bash
167
- $ bun add --optional lodash
168
- ```
169
-
170
- To add a package as a peer dependency (`"peerDependencies"`):
171
-
172
- ```bash
173
- $ bun add --peer @types/bun
174
- ```
175
-
176
- To install a package globally:
177
-
178
- ```bash
179
- $ bun add --global cowsay # or `bun add -g cowsay`
180
- $ cowsay "Bun!"
181
- ______
182
- < Bun! >
183
- ------
184
- \ ^__^
185
- \ (oo)\_______
186
- (__)\ )\/\
187
- ||----w |
188
- || ||
189
- ```
190
-
191
- {% details summary="Configuring global installation behavior" %}
192
-
193
- ```toml
194
- [install]
195
- # where `bun install --global` installs packages
196
- globalDir = "~/.bun/install/global"
197
-
198
- # where globally-installed package bins are linked
199
- globalBinDir = "~/.bun/bin"
200
- ```
201
-
202
- {% /details %}
203
- To view a complete list of options for a given command:
204
-
205
- ```bash
206
- $ bun add --help
207
- ```
208
-
209
- ### `bun remove`
210
-
211
- To remove a dependency:
212
-
213
- ```bash
214
- $ bun remove preact
215
- ```
216
-
217
- ## Git dependencies
218
-
219
- To add a dependency from a git repository:
220
-
221
- ```bash
222
- $ bun install git@github.com:moment/moment.git
223
- ```
224
-
225
- Bun supports a variety of protocols, including [`github`](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#github-urls), [`git`](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#git-urls-as-dependencies), `git+ssh`, `git+https`, and many more.
226
-
227
- ```json
228
- {
229
- "dependencies": {
230
- "dayjs": "git+https://github.com/iamkun/dayjs.git",
231
- "lodash": "git+ssh://github.com/lodash/lodash.git#4.17.21",
232
- "moment": "git@github.com:moment/moment.git",
233
- "zod": "github:colinhacks/zod"
234
- }
235
- }
236
- ```
237
-
238
- ## Tarball dependencies
239
-
240
- A package name can correspond to a publicly hosted `.tgz` file. During `bun install`, Bun will download and install the package from the specified tarball URL, rather than from the package registry.
241
-
242
- ```json#package.json
243
- {
244
- "dependencies": {
245
- "zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz"
246
- }
247
- }
248
- ```