@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
package/shell.d.ts ADDED
@@ -0,0 +1,380 @@
1
+ declare module "bun" {
2
+ type ShellExpression =
3
+ | { toString(): string }
4
+ | Array<ShellExpression>
5
+ | string
6
+ | { raw: string }
7
+ | Subprocess<SpawnOptions.Writable, SpawnOptions.Readable, SpawnOptions.Readable>
8
+ | SpawnOptions.Readable
9
+ | SpawnOptions.Writable
10
+ | ReadableStream;
11
+
12
+ /**
13
+ * The [Bun shell](https://bun.com/docs/runtime/shell) is a powerful tool for running shell commands.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const result = await $`echo "Hello, world!"`.text();
18
+ * console.log(result); // "Hello, world!"
19
+ * ```
20
+ *
21
+ * @category Process Management
22
+ */
23
+ function $(strings: TemplateStringsArray, ...expressions: ShellExpression[]): $.ShellPromise;
24
+
25
+ type $ = typeof $;
26
+
27
+ namespace $ {
28
+ /**
29
+ * Perform bash-like brace expansion on the given pattern.
30
+ * @param pattern - Brace pattern to expand
31
+ *
32
+ * @example
33
+ * ```js
34
+ * const result = braces('index.{js,jsx,ts,tsx}');
35
+ * console.log(result) // ['index.js', 'index.jsx', 'index.ts', 'index.tsx']
36
+ * ```
37
+ */
38
+ function braces(pattern: string): string[];
39
+
40
+ /**
41
+ * Escape strings for input into shell commands.
42
+ * @param input
43
+ */
44
+ function escape(input: string): string;
45
+
46
+ /**
47
+ *
48
+ * Change the default environment variables for shells created by this instance.
49
+ *
50
+ * @param newEnv Default environment variables to use for shells created by this instance.
51
+ * @default process.env
52
+ *
53
+ * @example
54
+ * ```js
55
+ * import {$} from 'bun';
56
+ * $.env({ BUN: "bun" });
57
+ * await $`echo $BUN`;
58
+ * // "bun"
59
+ * ```
60
+ */
61
+ function env(newEnv?: Record<string, string | undefined> | NodeJS.Dict<string> | undefined): $;
62
+
63
+ /**
64
+ *
65
+ * @param newCwd Default working directory to use for shells created by this instance.
66
+ */
67
+ function cwd(newCwd?: string): $;
68
+
69
+ /**
70
+ * Configure the shell to not throw an exception on non-zero exit codes.
71
+ */
72
+ function nothrow(): $;
73
+
74
+ /**
75
+ * Configure whether or not the shell should throw an exception on non-zero exit codes.
76
+ */
77
+ function throws(shouldThrow: boolean): $;
78
+
79
+ /**
80
+ * The `Bun.$.ShellPromise` class represents a shell command that gets executed
81
+ * once awaited, or called with `.text()`, `.json()`, etc.
82
+ *
83
+ * @example
84
+ * ```ts
85
+ * const myShellPromise = $`echo "Hello, world!"`;
86
+ * const result = await myShellPromise.text();
87
+ * console.log(result); // "Hello, world!"
88
+ * ```
89
+ */
90
+ class ShellPromise extends Promise<ShellOutput> {
91
+ get stdin(): WritableStream;
92
+
93
+ /**
94
+ * Change the current working directory of the shell.
95
+ * @param newCwd - The new working directory
96
+ */
97
+ cwd(newCwd: string): this;
98
+
99
+ /**
100
+ * Set environment variables for the shell.
101
+ * @param newEnv - The new environment variables
102
+ *
103
+ * @example
104
+ * ```ts
105
+ * await $`echo $FOO`.env({ ...process.env, FOO: "LOL!" })
106
+ * expect(stdout.toString()).toBe("LOL!");
107
+ * ```
108
+ */
109
+ env(newEnv: Record<string, string | undefined> | NodeJS.Dict<string> | undefined): this;
110
+
111
+ /**
112
+ * By default, the shell will write to the current process's stdout and stderr, as well as buffering that output.
113
+ *
114
+ * This configures the shell to only buffer the output.
115
+ * @param isQuiet - Whether to suppress output. Defaults to true.
116
+ */
117
+ quiet(isQuiet?: boolean): this;
118
+
119
+ /**
120
+ * Read from stdout as a string, line by line
121
+ *
122
+ * Automatically calls {@link quiet} to disable echoing to stdout.
123
+ */
124
+ lines(): AsyncIterable<string>;
125
+
126
+ /**
127
+ * Read from stdout as a string.
128
+ *
129
+ * Automatically calls {@link quiet} to disable echoing to stdout.
130
+ *
131
+ * @param encoding - The encoding to use when decoding the output
132
+ * @returns A promise that resolves with stdout as a string
133
+ *
134
+ * @example
135
+ * **Read as UTF-8 string**
136
+ * ```ts
137
+ * const output = await $`echo hello`.text();
138
+ * console.log(output); // "hello\n"
139
+ * ```
140
+ *
141
+ * **Read as base64 string**
142
+ * ```ts
143
+ * const output = await $`echo ${atob("hello")}`.text("base64");
144
+ * console.log(output); // "hello\n"
145
+ * ```
146
+ */
147
+ text(encoding?: BufferEncoding): Promise<string>;
148
+
149
+ /**
150
+ * Read from stdout as a JSON object
151
+ *
152
+ * Automatically calls {@link quiet}
153
+ *
154
+ * @returns A promise that resolves with stdout as a JSON object
155
+ * @example
156
+ *
157
+ * ```ts
158
+ * const output = await $`echo '{"hello": 123}'`.json();
159
+ * console.log(output); // { hello: 123 }
160
+ * ```
161
+ *
162
+ */
163
+ json(): Promise<any>;
164
+
165
+ /**
166
+ * Read from stdout as an ArrayBuffer
167
+ *
168
+ * Automatically calls {@link quiet}
169
+ * @returns A promise that resolves with stdout as an ArrayBuffer
170
+ * @example
171
+ *
172
+ * ```ts
173
+ * const output = await $`echo hello`.arrayBuffer();
174
+ * console.log(output); // ArrayBuffer { byteLength: 6 }
175
+ * ```
176
+ */
177
+ arrayBuffer(): Promise<ArrayBuffer>;
178
+
179
+ /**
180
+ * Read from stdout as a Blob
181
+ *
182
+ * Automatically calls {@link quiet}
183
+ * @returns A promise that resolves with stdout as a Blob
184
+ * @example
185
+ * ```ts
186
+ * const output = await $`echo hello`.blob();
187
+ * console.log(output); // Blob { size: 6, type: "" }
188
+ * ```
189
+ */
190
+ blob(): Promise<Blob>;
191
+
192
+ /**
193
+ * Configure the shell to not throw an exception on non-zero exit codes. Throwing can be re-enabled with `.throws(true)`.
194
+ *
195
+ * By default, the shell with throw an exception on commands which return non-zero exit codes.
196
+ */
197
+ nothrow(): this;
198
+
199
+ /**
200
+ * Configure whether or not the shell should throw an exception on non-zero exit codes.
201
+ *
202
+ * By default, this is configured to `true`.
203
+ */
204
+ throws(shouldThrow: boolean): this;
205
+ }
206
+
207
+ /**
208
+ * ShellError represents an error that occurred while executing a shell command with [the Bun Shell](https://bun.com/docs/runtime/shell).
209
+ *
210
+ * @example
211
+ * ```ts
212
+ * try {
213
+ * const result = await $`exit 1`;
214
+ * } catch (error) {
215
+ * if (error instanceof $.ShellError) {
216
+ * console.log(error.exitCode); // 1
217
+ * }
218
+ * }
219
+ * ```
220
+ */
221
+ class ShellError extends Error implements ShellOutput {
222
+ readonly stdout: Buffer;
223
+ readonly stderr: Buffer;
224
+ readonly exitCode: number;
225
+
226
+ /**
227
+ * Read from stdout as a string
228
+ *
229
+ * @param encoding - The encoding to use when decoding the output
230
+ * @returns Stdout as a string with the given encoding
231
+ *
232
+ * @example
233
+ * **Read as UTF-8 string**
234
+ * ```ts
235
+ * const output = await $`echo hello`;
236
+ * console.log(output.text()); // "hello\n"
237
+ * ```
238
+ *
239
+ * **Read as base64 string**
240
+ * ```ts
241
+ * const output = await $`echo ${atob("hello")}`;
242
+ * console.log(output.text("base64")); // "hello\n"
243
+ * ```
244
+ */
245
+ text(encoding?: BufferEncoding): string;
246
+
247
+ /**
248
+ * Read from stdout as a JSON object
249
+ *
250
+ * @returns Stdout as a JSON object
251
+ * @example
252
+ *
253
+ * ```ts
254
+ * const output = await $`echo '{"hello": 123}'`;
255
+ * console.log(output.json()); // { hello: 123 }
256
+ * ```
257
+ *
258
+ */
259
+ json(): any;
260
+
261
+ /**
262
+ * Read from stdout as an ArrayBuffer
263
+ *
264
+ * @returns Stdout as an ArrayBuffer
265
+ * @example
266
+ *
267
+ * ```ts
268
+ * const output = await $`echo hello`;
269
+ * console.log(output.arrayBuffer()); // ArrayBuffer { byteLength: 6 }
270
+ * ```
271
+ */
272
+ arrayBuffer(): ArrayBuffer;
273
+
274
+ /**
275
+ * Read from stdout as a Blob
276
+ *
277
+ * @returns Stdout as a blob
278
+ * @example
279
+ * ```ts
280
+ * const output = await $`echo hello`;
281
+ * console.log(output.blob()); // Blob { size: 6, type: "" }
282
+ * ```
283
+ */
284
+ blob(): Blob;
285
+
286
+ /**
287
+ * Read from stdout as an Uint8Array
288
+ *
289
+ * @returns Stdout as an Uint8Array
290
+ * @example
291
+ *```ts
292
+ * const output = await $`echo hello`;
293
+ * console.log(output.bytes()); // Uint8Array { byteLength: 6 }
294
+ * ```
295
+ */
296
+ bytes(): Uint8Array<ArrayBuffer>;
297
+ }
298
+
299
+ interface ShellOutput {
300
+ readonly stdout: Buffer;
301
+ readonly stderr: Buffer;
302
+ readonly exitCode: number;
303
+
304
+ /**
305
+ * Read from stdout as a string
306
+ *
307
+ * @param encoding - The encoding to use when decoding the output
308
+ * @returns Stdout as a string with the given encoding
309
+ *
310
+ * @example
311
+ * **Read as UTF-8 string**
312
+ * ```ts
313
+ * const output = await $`echo hello`;
314
+ * console.log(output.text()); // "hello\n"
315
+ * ```
316
+ *
317
+ * **Read as base64 string**
318
+ * ```ts
319
+ * const output = await $`echo ${atob("hello")}`;
320
+ * console.log(output.text("base64")); // "hello\n"
321
+ * ```
322
+ */
323
+ text(encoding?: BufferEncoding): string;
324
+
325
+ /**
326
+ * Read from stdout as a JSON object
327
+ *
328
+ * @returns Stdout as a JSON object
329
+ * @example
330
+ *
331
+ * ```ts
332
+ * const output = await $`echo '{"hello": 123}'`;
333
+ * console.log(output.json()); // { hello: 123 }
334
+ * ```
335
+ *
336
+ */
337
+ json(): any;
338
+
339
+ /**
340
+ * Read from stdout as an ArrayBuffer
341
+ *
342
+ * @returns Stdout as an ArrayBuffer
343
+ * @example
344
+ *
345
+ * ```ts
346
+ * const output = await $`echo hello`;
347
+ * console.log(output.arrayBuffer()); // ArrayBuffer { byteLength: 6 }
348
+ * ```
349
+ */
350
+ arrayBuffer(): ArrayBuffer;
351
+
352
+ /**
353
+ * Read from stdout as an Uint8Array
354
+ *
355
+ * @returns Stdout as an Uint8Array
356
+ * @example
357
+ *
358
+ * ```ts
359
+ * const output = await $`echo hello`;
360
+ * console.log(output.bytes()); // Uint8Array { byteLength: 6 }
361
+ * ```
362
+ */
363
+ bytes(): Uint8Array<ArrayBuffer>;
364
+
365
+ /**
366
+ * Read from stdout as a Blob
367
+ *
368
+ * @returns Stdout as a blob
369
+ * @example
370
+ * ```ts
371
+ * const output = await $`echo hello`;
372
+ * console.log(output.blob()); // Blob { size: 6, type: "" }
373
+ * ```
374
+ */
375
+ blob(): Blob;
376
+ }
377
+
378
+ const Shell: new () => $;
379
+ }
380
+ }