@depup/bun-types 1.3.11-depup.0

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 (361) hide show
  1. package/CLAUDE.md +105 -0
  2. package/README.md +25 -0
  3. package/bun.d.ts +8712 -0
  4. package/bun.ns.d.ts +5 -0
  5. package/bundle.d.ts +74 -0
  6. package/changes.json +5 -0
  7. package/deprecated.d.ts +184 -0
  8. package/devserver.d.ts +187 -0
  9. package/docs/README.md +28 -0
  10. package/docs/bundler/bytecode.mdx +447 -0
  11. package/docs/bundler/css.mdx +1024 -0
  12. package/docs/bundler/esbuild.mdx +304 -0
  13. package/docs/bundler/executables.mdx +1318 -0
  14. package/docs/bundler/fullstack.mdx +1086 -0
  15. package/docs/bundler/hot-reloading.mdx +229 -0
  16. package/docs/bundler/html-static.mdx +498 -0
  17. package/docs/bundler/index.mdx +1840 -0
  18. package/docs/bundler/loaders.mdx +451 -0
  19. package/docs/bundler/macros.mdx +328 -0
  20. package/docs/bundler/minifier.mdx +1286 -0
  21. package/docs/bundler/plugins.mdx +477 -0
  22. package/docs/bundler/standalone-html.mdx +314 -0
  23. package/docs/feedback.mdx +75 -0
  24. package/docs/guides/binary/arraybuffer-to-array.mdx +29 -0
  25. package/docs/guides/binary/arraybuffer-to-blob.mdx +26 -0
  26. package/docs/guides/binary/arraybuffer-to-buffer.mdx +27 -0
  27. package/docs/guides/binary/arraybuffer-to-string.mdx +17 -0
  28. package/docs/guides/binary/arraybuffer-to-typedarray.mdx +41 -0
  29. package/docs/guides/binary/blob-to-arraybuffer.mdx +16 -0
  30. package/docs/guides/binary/blob-to-dataview.mdx +16 -0
  31. package/docs/guides/binary/blob-to-stream.mdx +16 -0
  32. package/docs/guides/binary/blob-to-string.mdx +17 -0
  33. package/docs/guides/binary/blob-to-typedarray.mdx +16 -0
  34. package/docs/guides/binary/buffer-to-arraybuffer.mdx +16 -0
  35. package/docs/guides/binary/buffer-to-blob.mdx +16 -0
  36. package/docs/guides/binary/buffer-to-readablestream.mdx +43 -0
  37. package/docs/guides/binary/buffer-to-string.mdx +27 -0
  38. package/docs/guides/binary/buffer-to-typedarray.mdx +16 -0
  39. package/docs/guides/binary/dataview-to-string.mdx +17 -0
  40. package/docs/guides/binary/typedarray-to-arraybuffer.mdx +27 -0
  41. package/docs/guides/binary/typedarray-to-blob.mdx +18 -0
  42. package/docs/guides/binary/typedarray-to-buffer.mdx +16 -0
  43. package/docs/guides/binary/typedarray-to-dataview.mdx +16 -0
  44. package/docs/guides/binary/typedarray-to-readablestream.mdx +43 -0
  45. package/docs/guides/binary/typedarray-to-string.mdx +18 -0
  46. package/docs/guides/deployment/aws-lambda.mdx +204 -0
  47. package/docs/guides/deployment/digital-ocean.mdx +161 -0
  48. package/docs/guides/deployment/google-cloud-run.mdx +194 -0
  49. package/docs/guides/deployment/railway.mdx +145 -0
  50. package/docs/guides/deployment/render.mdx +82 -0
  51. package/docs/guides/deployment/vercel.mdx +97 -0
  52. package/docs/guides/ecosystem/astro.mdx +82 -0
  53. package/docs/guides/ecosystem/discordjs.mdx +80 -0
  54. package/docs/guides/ecosystem/docker.mdx +151 -0
  55. package/docs/guides/ecosystem/drizzle.mdx +195 -0
  56. package/docs/guides/ecosystem/elysia.mdx +31 -0
  57. package/docs/guides/ecosystem/express.mdx +43 -0
  58. package/docs/guides/ecosystem/gel.mdx +261 -0
  59. package/docs/guides/ecosystem/hono.mdx +47 -0
  60. package/docs/guides/ecosystem/mongoose.mdx +92 -0
  61. package/docs/guides/ecosystem/neon-drizzle.mdx +234 -0
  62. package/docs/guides/ecosystem/neon-serverless-postgres.mdx +60 -0
  63. package/docs/guides/ecosystem/nextjs.mdx +103 -0
  64. package/docs/guides/ecosystem/nuxt.mdx +96 -0
  65. package/docs/guides/ecosystem/pm2.mdx +55 -0
  66. package/docs/guides/ecosystem/prisma-postgres.mdx +169 -0
  67. package/docs/guides/ecosystem/prisma.mdx +164 -0
  68. package/docs/guides/ecosystem/qwik.mdx +114 -0
  69. package/docs/guides/ecosystem/react.mdx +52 -0
  70. package/docs/guides/ecosystem/remix.mdx +97 -0
  71. package/docs/guides/ecosystem/sentry.mdx +54 -0
  72. package/docs/guides/ecosystem/solidstart.mdx +62 -0
  73. package/docs/guides/ecosystem/ssr-react.mdx +49 -0
  74. package/docs/guides/ecosystem/stric.mdx +54 -0
  75. package/docs/guides/ecosystem/sveltekit.mdx +138 -0
  76. package/docs/guides/ecosystem/systemd.mdx +114 -0
  77. package/docs/guides/ecosystem/tanstack-start.mdx +791 -0
  78. package/docs/guides/ecosystem/upstash.mdx +87 -0
  79. package/docs/guides/ecosystem/vite.mdx +77 -0
  80. package/docs/guides/html-rewriter/extract-links.mdx +71 -0
  81. package/docs/guides/html-rewriter/extract-social-meta.mdx +97 -0
  82. package/docs/guides/http/cluster.mdx +69 -0
  83. package/docs/guides/http/fetch-unix.mdx +35 -0
  84. package/docs/guides/http/fetch.mdx +26 -0
  85. package/docs/guides/http/file-uploads.mdx +97 -0
  86. package/docs/guides/http/hot.mdx +28 -0
  87. package/docs/guides/http/proxy.mdx +50 -0
  88. package/docs/guides/http/server.mdx +48 -0
  89. package/docs/guides/http/simple.mdx +20 -0
  90. package/docs/guides/http/sse.mdx +91 -0
  91. package/docs/guides/http/stream-file.mdx +50 -0
  92. package/docs/guides/http/stream-iterator.mdx +49 -0
  93. package/docs/guides/http/stream-node-streams-in-bun.mdx +22 -0
  94. package/docs/guides/http/tls.mdx +32 -0
  95. package/docs/guides/index.mdx +10 -0
  96. package/docs/guides/install/add-dev.mdx +28 -0
  97. package/docs/guides/install/add-git.mdx +40 -0
  98. package/docs/guides/install/add-optional.mdx +27 -0
  99. package/docs/guides/install/add-peer.mdx +45 -0
  100. package/docs/guides/install/add-tarball.mdx +35 -0
  101. package/docs/guides/install/add.mdx +44 -0
  102. package/docs/guides/install/azure-artifacts.mdx +76 -0
  103. package/docs/guides/install/cicd.mdx +43 -0
  104. package/docs/guides/install/custom-registry.mdx +32 -0
  105. package/docs/guides/install/from-npm-install-to-bun-install.mdx +230 -0
  106. package/docs/guides/install/git-diff-bun-lockfile.mdx +48 -0
  107. package/docs/guides/install/jfrog-artifactory.mdx +28 -0
  108. package/docs/guides/install/npm-alias.mdx +25 -0
  109. package/docs/guides/install/registry-scope.mdx +40 -0
  110. package/docs/guides/install/trusted.mdx +52 -0
  111. package/docs/guides/install/workspaces.mdx +70 -0
  112. package/docs/guides/install/yarnlock.mdx +51 -0
  113. package/docs/guides/process/argv.mdx +66 -0
  114. package/docs/guides/process/ctrl-c.mdx +18 -0
  115. package/docs/guides/process/ipc.mdx +69 -0
  116. package/docs/guides/process/nanoseconds.mdx +15 -0
  117. package/docs/guides/process/os-signals.mdx +31 -0
  118. package/docs/guides/process/spawn-stderr.mdx +34 -0
  119. package/docs/guides/process/spawn-stdout.mdx +28 -0
  120. package/docs/guides/process/spawn.mdx +43 -0
  121. package/docs/guides/process/stdin.mdx +62 -0
  122. package/docs/guides/read-file/arraybuffer.mdx +30 -0
  123. package/docs/guides/read-file/buffer.mdx +21 -0
  124. package/docs/guides/read-file/exists.mdx +18 -0
  125. package/docs/guides/read-file/json.mdx +19 -0
  126. package/docs/guides/read-file/mime.mdx +22 -0
  127. package/docs/guides/read-file/stream.mdx +28 -0
  128. package/docs/guides/read-file/string.mdx +24 -0
  129. package/docs/guides/read-file/uint8array.mdx +23 -0
  130. package/docs/guides/read-file/watch.mdx +66 -0
  131. package/docs/guides/runtime/build-time-constants.mdx +295 -0
  132. package/docs/guides/runtime/cicd.mdx +45 -0
  133. package/docs/guides/runtime/codesign-macos-executable.mdx +61 -0
  134. package/docs/guides/runtime/define-constant.mdx +149 -0
  135. package/docs/guides/runtime/delete-directory.mdx +39 -0
  136. package/docs/guides/runtime/delete-file.mdx +21 -0
  137. package/docs/guides/runtime/heap-snapshot.mdx +28 -0
  138. package/docs/guides/runtime/import-html.mdx +15 -0
  139. package/docs/guides/runtime/import-json.mdx +46 -0
  140. package/docs/guides/runtime/import-json5.mdx +74 -0
  141. package/docs/guides/runtime/import-toml.mdx +32 -0
  142. package/docs/guides/runtime/import-yaml.mdx +104 -0
  143. package/docs/guides/runtime/read-env.mdx +37 -0
  144. package/docs/guides/runtime/set-env.mdx +51 -0
  145. package/docs/guides/runtime/shell.mdx +42 -0
  146. package/docs/guides/runtime/timezone.mdx +38 -0
  147. package/docs/guides/runtime/tsconfig-paths.mdx +31 -0
  148. package/docs/guides/runtime/typescript.mdx +51 -0
  149. package/docs/guides/runtime/vscode-debugger.mdx +47 -0
  150. package/docs/guides/runtime/web-debugger.mdx +103 -0
  151. package/docs/guides/streams/node-readable-to-arraybuffer.mdx +13 -0
  152. package/docs/guides/streams/node-readable-to-blob.mdx +13 -0
  153. package/docs/guides/streams/node-readable-to-json.mdx +14 -0
  154. package/docs/guides/streams/node-readable-to-string.mdx +14 -0
  155. package/docs/guides/streams/node-readable-to-uint8array.mdx +13 -0
  156. package/docs/guides/streams/to-array.mdx +16 -0
  157. package/docs/guides/streams/to-arraybuffer.mdx +16 -0
  158. package/docs/guides/streams/to-blob.mdx +16 -0
  159. package/docs/guides/streams/to-buffer.mdx +17 -0
  160. package/docs/guides/streams/to-json.mdx +16 -0
  161. package/docs/guides/streams/to-string.mdx +16 -0
  162. package/docs/guides/streams/to-typedarray.mdx +24 -0
  163. package/docs/guides/test/bail.mdx +24 -0
  164. package/docs/guides/test/concurrent-test-glob.mdx +146 -0
  165. package/docs/guides/test/coverage-threshold.mdx +67 -0
  166. package/docs/guides/test/coverage.mdx +49 -0
  167. package/docs/guides/test/happy-dom.mdx +73 -0
  168. package/docs/guides/test/migrate-from-jest.mdx +125 -0
  169. package/docs/guides/test/mock-clock.mdx +50 -0
  170. package/docs/guides/test/mock-functions.mdx +70 -0
  171. package/docs/guides/test/rerun-each.mdx +16 -0
  172. package/docs/guides/test/run-tests.mdx +116 -0
  173. package/docs/guides/test/skip-tests.mdx +43 -0
  174. package/docs/guides/test/snapshot.mdx +102 -0
  175. package/docs/guides/test/spy-on.mdx +49 -0
  176. package/docs/guides/test/svelte-test.mdx +113 -0
  177. package/docs/guides/test/testing-library.mdx +93 -0
  178. package/docs/guides/test/timeout.mdx +17 -0
  179. package/docs/guides/test/todo-tests.mdx +74 -0
  180. package/docs/guides/test/update-snapshots.mdx +49 -0
  181. package/docs/guides/test/watch-mode.mdx +24 -0
  182. package/docs/guides/util/base64.mdx +17 -0
  183. package/docs/guides/util/deep-equals.mdx +41 -0
  184. package/docs/guides/util/deflate.mdx +20 -0
  185. package/docs/guides/util/detect-bun.mdx +28 -0
  186. package/docs/guides/util/entrypoint.mdx +19 -0
  187. package/docs/guides/util/escape-html.mdx +24 -0
  188. package/docs/guides/util/file-url-to-path.mdx +16 -0
  189. package/docs/guides/util/gzip.mdx +20 -0
  190. package/docs/guides/util/hash-a-password.mdx +56 -0
  191. package/docs/guides/util/import-meta-dir.mdx +15 -0
  192. package/docs/guides/util/import-meta-file.mdx +15 -0
  193. package/docs/guides/util/import-meta-path.mdx +15 -0
  194. package/docs/guides/util/javascript-uuid.mdx +25 -0
  195. package/docs/guides/util/main.mdx +43 -0
  196. package/docs/guides/util/path-to-file-url.mdx +16 -0
  197. package/docs/guides/util/sleep.mdx +24 -0
  198. package/docs/guides/util/upgrade.mdx +93 -0
  199. package/docs/guides/util/version.mdx +23 -0
  200. package/docs/guides/util/which-path-to-executable-bin.mdx +17 -0
  201. package/docs/guides/websocket/compression.mdx +33 -0
  202. package/docs/guides/websocket/context.mdx +79 -0
  203. package/docs/guides/websocket/pubsub.mdx +43 -0
  204. package/docs/guides/websocket/simple.mdx +38 -0
  205. package/docs/guides/write-file/append.mdx +54 -0
  206. package/docs/guides/write-file/basic.mdx +46 -0
  207. package/docs/guides/write-file/blob.mdx +30 -0
  208. package/docs/guides/write-file/cat.mdx +19 -0
  209. package/docs/guides/write-file/file-cp.mdx +18 -0
  210. package/docs/guides/write-file/filesink.mdx +54 -0
  211. package/docs/guides/write-file/response.mdx +19 -0
  212. package/docs/guides/write-file/stdout.mdx +23 -0
  213. package/docs/guides/write-file/stream.mdx +19 -0
  214. package/docs/guides/write-file/unlink.mdx +18 -0
  215. package/docs/index.mdx +133 -0
  216. package/docs/installation.mdx +372 -0
  217. package/docs/pm/bunx.mdx +91 -0
  218. package/docs/pm/catalogs.mdx +292 -0
  219. package/docs/pm/cli/add.mdx +179 -0
  220. package/docs/pm/cli/audit.mdx +60 -0
  221. package/docs/pm/cli/info.mdx +70 -0
  222. package/docs/pm/cli/install.mdx +591 -0
  223. package/docs/pm/cli/link.mdx +61 -0
  224. package/docs/pm/cli/outdated.mdx +197 -0
  225. package/docs/pm/cli/patch.mdx +69 -0
  226. package/docs/pm/cli/pm.mdx +323 -0
  227. package/docs/pm/cli/publish.mdx +131 -0
  228. package/docs/pm/cli/remove.mdx +16 -0
  229. package/docs/pm/cli/update.mdx +140 -0
  230. package/docs/pm/cli/why.mdx +84 -0
  231. package/docs/pm/filter.mdx +127 -0
  232. package/docs/pm/global-cache.mdx +72 -0
  233. package/docs/pm/isolated-installs.mdx +220 -0
  234. package/docs/pm/lifecycle.mdx +64 -0
  235. package/docs/pm/lockfile.mdx +64 -0
  236. package/docs/pm/npmrc.mdx +245 -0
  237. package/docs/pm/overrides.mdx +83 -0
  238. package/docs/pm/scopes-registries.mdx +35 -0
  239. package/docs/pm/security-scanner-api.mdx +95 -0
  240. package/docs/pm/workspaces.mdx +115 -0
  241. package/docs/project/benchmarking.mdx +296 -0
  242. package/docs/project/bindgen.mdx +223 -0
  243. package/docs/project/building-windows.mdx +143 -0
  244. package/docs/project/contributing.mdx +366 -0
  245. package/docs/project/feedback.mdx +20 -0
  246. package/docs/project/license.mdx +78 -0
  247. package/docs/project/roadmap.mdx +8 -0
  248. package/docs/quickstart.mdx +251 -0
  249. package/docs/runtime/archive.mdx +452 -0
  250. package/docs/runtime/auto-install.mdx +97 -0
  251. package/docs/runtime/binary-data.mdx +846 -0
  252. package/docs/runtime/bun-apis.mdx +60 -0
  253. package/docs/runtime/bunfig.mdx +765 -0
  254. package/docs/runtime/c-compiler.mdx +204 -0
  255. package/docs/runtime/child-process.mdx +659 -0
  256. package/docs/runtime/color.mdx +267 -0
  257. package/docs/runtime/console.mdx +67 -0
  258. package/docs/runtime/cookies.mdx +454 -0
  259. package/docs/runtime/cron.mdx +358 -0
  260. package/docs/runtime/csrf.mdx +171 -0
  261. package/docs/runtime/debugger.mdx +335 -0
  262. package/docs/runtime/environment-variables.mdx +231 -0
  263. package/docs/runtime/ffi.mdx +567 -0
  264. package/docs/runtime/file-io.mdx +306 -0
  265. package/docs/runtime/file-system-router.mdx +118 -0
  266. package/docs/runtime/file-types.mdx +482 -0
  267. package/docs/runtime/glob.mdx +181 -0
  268. package/docs/runtime/globals.mdx +72 -0
  269. package/docs/runtime/hashing.mdx +315 -0
  270. package/docs/runtime/html-rewriter.mdx +333 -0
  271. package/docs/runtime/http/cookies.mdx +79 -0
  272. package/docs/runtime/http/error-handling.mdx +40 -0
  273. package/docs/runtime/http/metrics.mdx +36 -0
  274. package/docs/runtime/http/routing.mdx +289 -0
  275. package/docs/runtime/http/server.mdx +672 -0
  276. package/docs/runtime/http/tls.mdx +101 -0
  277. package/docs/runtime/http/websockets.mdx +414 -0
  278. package/docs/runtime/index.mdx +223 -0
  279. package/docs/runtime/json5.mdx +271 -0
  280. package/docs/runtime/jsonl.mdx +188 -0
  281. package/docs/runtime/jsx.mdx +115 -0
  282. package/docs/runtime/markdown.mdx +381 -0
  283. package/docs/runtime/module-resolution.mdx +374 -0
  284. package/docs/runtime/networking/dns.mdx +111 -0
  285. package/docs/runtime/networking/fetch.mdx +484 -0
  286. package/docs/runtime/networking/tcp.mdx +239 -0
  287. package/docs/runtime/networking/udp.mdx +180 -0
  288. package/docs/runtime/node-api.mdx +19 -0
  289. package/docs/runtime/nodejs-compat.mdx +468 -0
  290. package/docs/runtime/plugins.mdx +419 -0
  291. package/docs/runtime/redis.mdx +583 -0
  292. package/docs/runtime/repl.mdx +176 -0
  293. package/docs/runtime/s3.mdx +881 -0
  294. package/docs/runtime/secrets.mdx +340 -0
  295. package/docs/runtime/semver.mdx +57 -0
  296. package/docs/runtime/shell.mdx +637 -0
  297. package/docs/runtime/sql.mdx +1404 -0
  298. package/docs/runtime/sqlite.mdx +721 -0
  299. package/docs/runtime/streams.mdx +232 -0
  300. package/docs/runtime/templating/create.mdx +269 -0
  301. package/docs/runtime/templating/init.mdx +58 -0
  302. package/docs/runtime/toml.mdx +238 -0
  303. package/docs/runtime/transpiler.mdx +288 -0
  304. package/docs/runtime/typescript.mdx +58 -0
  305. package/docs/runtime/utils.mdx +1010 -0
  306. package/docs/runtime/watch-mode.mdx +161 -0
  307. package/docs/runtime/web-apis.mdx +29 -0
  308. package/docs/runtime/workers.mdx +314 -0
  309. package/docs/runtime/yaml.mdx +470 -0
  310. package/docs/snippets/cli/add.mdx +166 -0
  311. package/docs/snippets/cli/build.mdx +197 -0
  312. package/docs/snippets/cli/bunx.mdx +49 -0
  313. package/docs/snippets/cli/feedback.mdx +17 -0
  314. package/docs/snippets/cli/init.mdx +84 -0
  315. package/docs/snippets/cli/install.mdx +173 -0
  316. package/docs/snippets/cli/link.mdx +163 -0
  317. package/docs/snippets/cli/outdated.mdx +140 -0
  318. package/docs/snippets/cli/patch.mdx +171 -0
  319. package/docs/snippets/cli/publish.mdx +198 -0
  320. package/docs/snippets/cli/remove.mdx +146 -0
  321. package/docs/snippets/cli/run.mdx +305 -0
  322. package/docs/snippets/cli/test.mdx +105 -0
  323. package/docs/snippets/cli/update.mdx +144 -0
  324. package/docs/test/code-coverage.mdx +409 -0
  325. package/docs/test/configuration.mdx +574 -0
  326. package/docs/test/dates-times.mdx +129 -0
  327. package/docs/test/discovery.mdx +90 -0
  328. package/docs/test/dom.mdx +226 -0
  329. package/docs/test/index.mdx +409 -0
  330. package/docs/test/lifecycle.mdx +366 -0
  331. package/docs/test/mocks.mdx +637 -0
  332. package/docs/test/reporters.mdx +126 -0
  333. package/docs/test/runtime-behavior.mdx +342 -0
  334. package/docs/test/snapshots.mdx +434 -0
  335. package/docs/test/writing-tests.mdx +672 -0
  336. package/docs/typescript.mdx +54 -0
  337. package/extensions.d.ts +40 -0
  338. package/fetch.d.ts +79 -0
  339. package/ffi.d.ts +1154 -0
  340. package/globals.d.ts +2067 -0
  341. package/html-rewriter.d.ts +186 -0
  342. package/index.d.ts +32 -0
  343. package/jsc.d.ts +233 -0
  344. package/jsx.d.ts +11 -0
  345. package/overrides.d.ts +376 -0
  346. package/package.json +53 -0
  347. package/redis.d.ts +3352 -0
  348. package/s3.d.ts +1354 -0
  349. package/security.d.ts +101 -0
  350. package/serve.d.ts +1296 -0
  351. package/shell.d.ts +380 -0
  352. package/sql.d.ts +887 -0
  353. package/sqlite.d.ts +1322 -0
  354. package/test-globals.d.ts +22 -0
  355. package/test.d.ts +2392 -0
  356. package/vendor/expect-type/branding.d.ts +283 -0
  357. package/vendor/expect-type/index.d.ts +1207 -0
  358. package/vendor/expect-type/messages.d.ts +395 -0
  359. package/vendor/expect-type/overloads.d.ts +669 -0
  360. package/vendor/expect-type/utils.d.ts +431 -0
  361. package/wasm.d.ts +193 -0
@@ -0,0 +1,176 @@
1
+ ---
2
+ title: "REPL"
3
+ description: "An interactive JavaScript and TypeScript REPL with syntax highlighting, history, and tab completion"
4
+ ---
5
+
6
+ `bun repl` starts an interactive Read-Eval-Print Loop (REPL) for evaluating JavaScript and TypeScript expressions. It's useful for quickly testing code snippets, exploring APIs, and debugging.
7
+
8
+ ```sh terminal icon="terminal"
9
+ bun repl
10
+ ```
11
+
12
+ ```txt
13
+ Welcome to Bun v1.3.3
14
+ Type .copy [code] to copy to clipboard. .help for more info.
15
+
16
+ > 1 + 1
17
+ 2
18
+ > const greeting = "Hello, Bun!"
19
+ undefined
20
+ > greeting
21
+ 'Hello, Bun!'
22
+ ```
23
+
24
+ ---
25
+
26
+ ## Features
27
+
28
+ - **TypeScript & JSX** — Write TypeScript and JSX directly. Bun transpiles everything on the fly.
29
+ - **Top-level `await`** — Await promises directly at the prompt without wrapping in an async function.
30
+ - **Syntax highlighting** — Input is highlighted as you type.
31
+ - **Persistent history** — History is saved to `~/.bun_repl_history` and persists across sessions.
32
+ - **Tab completion** — Press `Tab` to complete property names and REPL commands.
33
+ - **Multi-line input** — Unclosed brackets, braces, and parentheses automatically continue on the next line.
34
+ - **Node.js globals** — `require`, `module`, `__dirname`, and `__filename` are available, resolved relative to your current working directory.
35
+
36
+ ---
37
+
38
+ ## Special variables
39
+
40
+ The REPL exposes two special variables that update after each evaluation.
41
+
42
+ | Variable | Description |
43
+ | -------- | --------------------------------- |
44
+ | `_` | The result of the last expression |
45
+ | `_error` | The last error that was thrown |
46
+
47
+ ```txt
48
+ > 2 + 2
49
+ 4
50
+ > _ * 10
51
+ 40
52
+ > JSON.parse("oops")
53
+ SyntaxError: JSON Parse error: Unexpected identifier "oops"
54
+ > _error
55
+ SyntaxError: JSON Parse error: Unexpected identifier "oops"
56
+ ```
57
+
58
+ ---
59
+
60
+ ## Top-level `await`
61
+
62
+ Promises are automatically awaited. You can `await` any expression directly at the prompt.
63
+
64
+ ```txt
65
+ > await fetch("https://api.github.com/repos/oven-sh/bun").then(r => r.json()).then(r => r.stargazers_count)
66
+ 81234
67
+ > const response = await fetch("https://example.com")
68
+ undefined
69
+ > response.status
70
+ 200
71
+ ```
72
+
73
+ ---
74
+
75
+ ## Importing modules
76
+
77
+ Just like Bun's runtime, you can use either `require` or `import` in the REPL and it Just Works — mix ESM and CommonJS freely at the prompt. Module resolution uses the same rules as `bun run`, so you can import from `node_modules`, relative paths, or `node:` builtins.
78
+
79
+ ```txt
80
+ > import { z } from "zod"
81
+ undefined
82
+ > const path = require("path")
83
+ undefined
84
+ > z.string().parse(path.join("/tmp", "file.txt"))
85
+ '/tmp/file.txt'
86
+ ```
87
+
88
+ Declarations persist for the rest of the session, and `const`/`let` can be redeclared across evaluations (unlike in regular scripts) so you can re-run `import` and `require` statements while iterating.
89
+
90
+ ---
91
+
92
+ ## Multi-line input
93
+
94
+ When you press `Enter` on a line with unclosed brackets, braces, or parentheses, the REPL automatically continues on the next line. The prompt changes to `...` to indicate continuation.
95
+
96
+ ```txt
97
+ > function add(a, b) {
98
+ ... return a + b;
99
+ ... }
100
+ undefined
101
+ > add(2, 3)
102
+ 5
103
+ ```
104
+
105
+ For longer multi-line entries, use `.editor` to enter editor mode, which buffers all input until you press `Ctrl+D`.
106
+
107
+ ---
108
+
109
+ ## REPL commands
110
+
111
+ Type `.help` at the prompt to see all available REPL commands.
112
+
113
+ | Command | Description |
114
+ | ---------- | ------------------------------------------------------------------------------------------------ |
115
+ | `.help` | Print the help message listing commands and keybindings |
116
+ | `.exit` | Exit the REPL |
117
+ | `.clear` | Clear the screen |
118
+ | `.copy` | Copy the last result to the clipboard. Pass an expression to evaluate and copy it: `.copy 1 + 1` |
119
+ | `.load` | Load a file into the REPL session: `.load ./script.ts` |
120
+ | `.save` | Save the current REPL history to a file: `.save ./session.txt` |
121
+ | `.editor` | Enter multi-line editor mode (press `Ctrl+D` to evaluate, `Ctrl+C` to cancel) |
122
+ | `.break` | Cancel the current multi-line input |
123
+ | `.history` | Print the command history |
124
+
125
+ ---
126
+
127
+ ## Keybindings
128
+
129
+ The REPL supports Emacs-style line editing.
130
+
131
+ | Keybinding | Action |
132
+ | ------------------- | -------------------------------------------------------- |
133
+ | `Ctrl+A` | Move to start of line |
134
+ | `Ctrl+E` | Move to end of line |
135
+ | `Ctrl+B` / `Ctrl+F` | Move backward/forward one character |
136
+ | `Alt+B` / `Alt+F` | Move backward/forward one word |
137
+ | `Ctrl+U` | Delete to start of line |
138
+ | `Ctrl+K` | Delete to end of line |
139
+ | `Ctrl+W` | Delete word backward |
140
+ | `Ctrl+D` | Delete character (or exit if line is empty) |
141
+ | `Ctrl+L` | Clear screen |
142
+ | `Ctrl+T` | Swap the two characters before the cursor |
143
+ | `Up` / `Down` | Navigate history |
144
+ | `Tab` | Auto-complete |
145
+ | `Ctrl+C` | Cancel current input (press twice on empty line to exit) |
146
+
147
+ ---
148
+
149
+ ## History
150
+
151
+ REPL history is automatically saved to `~/.bun_repl_history` (up to 1000 entries) and loaded at the start of each session. Use `Up`/`Down` to navigate.
152
+
153
+ To export your history to a different file, use `.save`:
154
+
155
+ ```txt
156
+ > .save ./my-session.txt
157
+ ```
158
+
159
+ ---
160
+
161
+ ## Non-interactive mode
162
+
163
+ Use `-e` / `--eval` to evaluate a script with REPL semantics and exit. Use `-p` / `--print` to additionally print the result.
164
+
165
+ ```sh terminal icon="terminal"
166
+ bun repl -e "const x: number = 42; console.log(x)"
167
+ # 42
168
+
169
+ bun repl -p "await fetch('https://example.com').then(r => r.status)"
170
+ # 200
171
+
172
+ bun repl -p "{ a: 1, b: 2 }"
173
+ # { a: 1, b: 2 }
174
+ ```
175
+
176
+ This uses the same transforms as the interactive REPL, so a bare object literal like `{ a: 1 }` is treated as an object expression instead of a block statement. The process exits after the event loop drains (pending timers and I/O complete first). On error, the process exits with code `1`.