@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,186 @@
1
+ declare namespace HTMLRewriterTypes {
2
+ interface HTMLRewriterElementContentHandlers {
3
+ element?(element: Element): void | Promise<void>;
4
+ comments?(comment: Comment): void | Promise<void>;
5
+ text?(text: Text): void | Promise<void>;
6
+ }
7
+
8
+ interface HTMLRewriterDocumentContentHandlers {
9
+ doctype?(doctype: Doctype): void | Promise<void>;
10
+ comments?(comment: Comment): void | Promise<void>;
11
+ text?(text: Text): void | Promise<void>;
12
+ end?(end: DocumentEnd): void | Promise<void>;
13
+ }
14
+
15
+ interface Text {
16
+ /** The text content */
17
+ readonly text: string;
18
+ /** Whether this chunk is the last piece of text in a text node */
19
+ readonly lastInTextNode: boolean;
20
+ /** Whether this chunk was removed */
21
+ readonly removed: boolean;
22
+ /** Insert content before this chunk */
23
+ before(content: Content, options?: ContentOptions): Text;
24
+ /** Insert content after this chunk */
25
+ after(content: Content, options?: ContentOptions): Text;
26
+ /** Replace this chunk with new content */
27
+ replace(content: Content, options?: ContentOptions): Text;
28
+ /** Remove this chunk */
29
+ remove(): Text;
30
+ }
31
+
32
+ interface Doctype {
33
+ /** The doctype name (e.g. "html" for <!DOCTYPE html>) */
34
+ readonly name: string | null;
35
+ /** The doctype public identifier */
36
+ readonly publicId: string | null;
37
+ /** The doctype system identifier */
38
+ readonly systemId: string | null;
39
+ /** Whether this doctype was removed */
40
+ readonly removed: boolean;
41
+ /** Remove this doctype */
42
+ remove(): Doctype;
43
+ }
44
+
45
+ interface DocumentEnd {
46
+ /** Append content at the end of the document */
47
+ append(content: Content, options?: ContentOptions): DocumentEnd;
48
+ }
49
+
50
+ interface ContentOptions {
51
+ /** Whether to parse the content as HTML */
52
+ html?: boolean;
53
+ }
54
+
55
+ type Content = string;
56
+
57
+ interface Comment {
58
+ /** The comment text */
59
+ text: string;
60
+ /** Whether this comment was removed */
61
+ readonly removed: boolean;
62
+ /** Insert content before this comment */
63
+ before(content: Content, options?: ContentOptions): Comment;
64
+ /** Insert content after this comment */
65
+ after(content: Content, options?: ContentOptions): Comment;
66
+ /** Replace this comment with new content */
67
+ replace(content: Content, options?: ContentOptions): Comment;
68
+ /** Remove this comment */
69
+ remove(): Comment;
70
+ }
71
+
72
+ interface Element {
73
+ /** The tag name in lowercase (e.g. "div", "span") */
74
+ tagName: string;
75
+ /** Iterator for the element's attributes */
76
+ readonly attributes: IterableIterator<[string, string]>;
77
+ /** Whether this element was removed */
78
+ readonly removed: boolean;
79
+ /** Whether the element is explicitly self-closing, e.g. <foo /> */
80
+ readonly selfClosing: boolean;
81
+ /**
82
+ * Whether the element can have inner content. Returns `true` unless
83
+ * - the element is an [HTML void element](https://html.spec.whatwg.org/multipage/syntax.html#void-elements)
84
+ * - or it's self-closing in a foreign context (eg. in SVG, MathML).
85
+ */
86
+ readonly canHaveContent: boolean;
87
+ /** The element's namespace URI */
88
+ readonly namespaceURI: string;
89
+ /** Get an attribute value by name */
90
+ getAttribute(name: string): string | null;
91
+ /** Check if an attribute exists */
92
+ hasAttribute(name: string): boolean;
93
+ /** Set an attribute value */
94
+ setAttribute(name: string, value: string): Element;
95
+ /** Remove an attribute */
96
+ removeAttribute(name: string): Element;
97
+ /** Insert content before this element */
98
+ before(content: Content, options?: ContentOptions): Element;
99
+ /** Insert content after this element */
100
+ after(content: Content, options?: ContentOptions): Element;
101
+ /** Insert content at the start of this element */
102
+ prepend(content: Content, options?: ContentOptions): Element;
103
+ /** Insert content at the end of this element */
104
+ append(content: Content, options?: ContentOptions): Element;
105
+ /** Replace this element with new content */
106
+ replace(content: Content, options?: ContentOptions): Element;
107
+ /** Remove this element and its contents */
108
+ remove(): Element;
109
+ /** Remove this element but keep its contents */
110
+ removeAndKeepContent(): Element;
111
+ /** Set the inner content of this element */
112
+ setInnerContent(content: Content, options?: ContentOptions): Element;
113
+ /** Add a handler for the end tag of this element */
114
+ onEndTag(handler: (tag: EndTag) => void | Promise<void>): void;
115
+ }
116
+
117
+ interface EndTag {
118
+ /** The tag name in lowercase */
119
+ name: string;
120
+ /** Insert content before this end tag */
121
+ before(content: Content, options?: ContentOptions): EndTag;
122
+ /** Insert content after this end tag */
123
+ after(content: Content, options?: ContentOptions): EndTag;
124
+ /** Remove this end tag */
125
+ remove(): EndTag;
126
+ }
127
+ }
128
+
129
+ /**
130
+ * [HTMLRewriter](https://developers.cloudflare.com/workers/runtime-apis/html-rewriter?bun) is a fast API for transforming HTML.
131
+ *
132
+ * Bun leverages a native implementation powered by [lol-html](https://github.com/cloudflare/lol-html).
133
+ *
134
+ * HTMLRewriter can be used to transform HTML in a variety of ways, including:
135
+ * * Rewriting URLs
136
+ * * Adding meta tags
137
+ * * Removing elements
138
+ * * Adding elements to the head
139
+ *
140
+ * @example
141
+ * ```ts
142
+ * const rewriter = new HTMLRewriter().on('a[href]', {
143
+ * element(element: Element) {
144
+ * // Rewrite all the URLs to this youtube video
145
+ * element.setAttribute('href', 'https://www.youtube.com/watch?v=dQw4w9WgXcQ');
146
+ * }
147
+ * });
148
+ * rewriter.transform(await fetch("https://remix.run"));
149
+ * ```
150
+ *
151
+ * @category HTML Manipulation
152
+ */
153
+ declare class HTMLRewriter {
154
+ constructor();
155
+ /**
156
+ * Add handlers for elements matching a CSS selector
157
+ * @param selector - A CSS selector (e.g. "div", "a[href]", ".class")
158
+ * @param handlers - Object containing handler functions for elements, comments, and text nodes
159
+ */
160
+ on(selector: string, handlers: HTMLRewriterTypes.HTMLRewriterElementContentHandlers): HTMLRewriter;
161
+
162
+ /**
163
+ * Add handlers for document-level events
164
+ * @param handlers - Object containing handler functions for doctype, comments, text nodes and document end
165
+ */
166
+ onDocument(handlers: HTMLRewriterTypes.HTMLRewriterDocumentContentHandlers): HTMLRewriter;
167
+
168
+ /**
169
+ * Transform HTML content
170
+ * @param input - The HTML to transform
171
+ * @returns A new {@link Response} with the transformed HTML
172
+ */
173
+ transform(input: Response | Blob | Bun.BufferSource): Response;
174
+ /**
175
+ * Transform HTML content
176
+ * @param input - The HTML string to transform
177
+ * @returns A new {@link String} containing the transformed HTML
178
+ */
179
+ transform(input: string): string;
180
+ /**
181
+ * Transform HTML content
182
+ * @param input - The HTML to transform as a {@link ArrayBuffer}
183
+ * @returns A new {@link ArrayBuffer} with the transformed HTML
184
+ */
185
+ transform(input: ArrayBuffer): ArrayBuffer;
186
+ }
package/index.d.ts ADDED
@@ -0,0 +1,32 @@
1
+ // Project: https://github.com/oven-sh/bun
2
+ // Definitions by: Bun Contributors <https://github.com/oven-sh/bun/graphs/contributors>
3
+ // Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
4
+
5
+ /// <reference types="node" />
6
+
7
+ /// <reference path="./globals.d.ts" />
8
+ /// <reference path="./s3.d.ts" />
9
+ /// <reference path="./fetch.d.ts" />
10
+ /// <reference path="./bun.d.ts" />
11
+ /// <reference path="./extensions.d.ts" />
12
+ /// <reference path="./devserver.d.ts" />
13
+ /// <reference path="./ffi.d.ts" />
14
+ /// <reference path="./html-rewriter.d.ts" />
15
+ /// <reference path="./jsc.d.ts" />
16
+ /// <reference path="./sqlite.d.ts" />
17
+ /// <reference path="./test.d.ts" />
18
+ /// <reference path="./wasm.d.ts" />
19
+ /// <reference path="./overrides.d.ts" />
20
+ /// <reference path="./deprecated.d.ts" />
21
+ /// <reference path="./redis.d.ts" />
22
+ /// <reference path="./shell.d.ts" />
23
+ /// <reference path="./serve.d.ts" />
24
+ /// <reference path="./sql.d.ts" />
25
+ /// <reference path="./security.d.ts" />
26
+ /// <reference path="./bundle.d.ts" />
27
+
28
+ /// <reference path="./bun.ns.d.ts" />
29
+
30
+ // Must disable this so it doesn't conflict with the DOM onmessage type, but still
31
+ // allows us to declare our own globals that Node's types can "see" and not conflict with
32
+ declare var onmessage: Bun.__internal.UseLibDomIfAvailable<"onmessage", never>;
package/jsc.d.ts ADDED
@@ -0,0 +1,233 @@
1
+ declare module "bun:jsc" {
2
+ /**
3
+ * This used to be called "describe" but it could be confused with the test runner.
4
+ */
5
+ function jscDescribe(value: any): string;
6
+ function jscDescribeArray(args: any[]): string;
7
+ function gcAndSweep(): number;
8
+ function fullGC(): number;
9
+ function edenGC(): number;
10
+ function heapSize(): number;
11
+ function heapStats(): HeapStats;
12
+ function memoryUsage(): MemoryUsage;
13
+ function getRandomSeed(): number;
14
+ function setRandomSeed(value: number): void;
15
+ function isRope(input: string): boolean;
16
+ function callerSourceOrigin(): string;
17
+ function noFTL(func: (...args: any[]) => any): (...args: any[]) => any;
18
+ function noOSRExitFuzzing(func: (...args: any[]) => any): (...args: any[]) => any;
19
+ function optimizeNextInvocation(func: (...args: any[]) => any): void;
20
+ function numberOfDFGCompiles(func: (...args: any[]) => any): number;
21
+ function releaseWeakRefs(): void;
22
+ function totalCompileTime(func: (...args: any[]) => any): number;
23
+ function reoptimizationRetryCount(func: (...args: any[]) => any): number;
24
+ function drainMicrotasks(): void;
25
+
26
+ /**
27
+ * Convert a JavaScript value to a binary representation that can be sent to another Bun instance.
28
+ *
29
+ * Internally, this uses the serialization format from WebKit/Safari.
30
+ *
31
+ * @param value A JavaScript value, usually an object or array, to be converted.
32
+ * @returns A SharedArrayBuffer that can be sent to another Bun instance.
33
+ */
34
+ function serialize(value: any, options?: { binaryType?: "arraybuffer" }): SharedArrayBuffer;
35
+
36
+ /**
37
+ * Convert a JavaScript value to a binary representation that can be sent to another Bun instance.
38
+ *
39
+ * Internally, this uses the serialization format from WebKit/Safari.
40
+ *
41
+ * @param value A JavaScript value, usually an object or array, to be converted.
42
+ * @returns A Buffer that can be sent to another Bun instance.
43
+ */
44
+ function serialize(value: any, options?: { binaryType: "nodebuffer" }): Buffer;
45
+
46
+ /**
47
+ * Convert an ArrayBuffer or Buffer to a JavaScript value compatible with the HTML Structured Clone Algorithm.
48
+ *
49
+ * @param value A serialized value, usually an ArrayBuffer or Buffer, to be converted.
50
+ */
51
+ function deserialize(value: ArrayBufferLike | NodeJS.TypedArray | Buffer): any;
52
+
53
+ /**
54
+ * Set the timezone used by Intl, Date, etc.
55
+ *
56
+ * @param timeZone A string representing the time zone to use, such as "America/Los_Angeles"
57
+ *
58
+ * @returns The normalized time zone string
59
+ *
60
+ * You can also set process.env.TZ to the time zone you want to use.
61
+ * You can also view the current timezone with `Intl.DateTimeFormat().resolvedOptions().timeZone`
62
+ */
63
+ function setTimeZone(timeZone: string): string;
64
+
65
+ interface HeapStats {
66
+ heapSize: number;
67
+ heapCapacity: number;
68
+ extraMemorySize: number;
69
+ objectCount: number;
70
+ protectedObjectCount: number;
71
+ globalObjectCount: number;
72
+ protectedGlobalObjectCount: number;
73
+ objectTypeCounts: Record<string, number>;
74
+ protectedObjectTypeCounts: Record<string, number>;
75
+ }
76
+
77
+ interface MemoryUsage {
78
+ current: number;
79
+ peak: number;
80
+ currentCommit: number;
81
+ peakCommit: number;
82
+ pageFaults: number;
83
+ }
84
+
85
+ interface SamplingProfile {
86
+ /**
87
+ * A formatted summary of the top functions
88
+ *
89
+ * Example output:
90
+ * ```js
91
+ *
92
+ * Sampling rate: 100.000000 microseconds. Total samples: 6858
93
+ * Top functions as <numSamples 'functionName#hash:sourceID'>
94
+ * 2948 '#<nil>:8'
95
+ * 393 'visit#<nil>:8'
96
+ * 263 'push#<nil>:8'
97
+ * 164 'scan_ref_scoped#<nil>:8'
98
+ * 164 'walk#<nil>:8'
99
+ * 144 'pop#<nil>:8'
100
+ * 107 'extract_candidates#<nil>:8'
101
+ * 94 'get#<nil>:8'
102
+ * 82 'Function#<nil>:4294967295'
103
+ * 79 'set#<nil>:8'
104
+ * 67 'forEach#<nil>:5'
105
+ * 58 'collapse#<nil>:8'
106
+ * ```
107
+ */
108
+ functions: string;
109
+ /**
110
+ * A formatted summary of the top bytecodes
111
+ *
112
+ * Example output:
113
+ * ```js
114
+ * Tier breakdown:
115
+ * -----------------------------------
116
+ * LLInt: 106 (1.545640%)
117
+ * Baseline: 2355 (34.339458%)
118
+ * DFG: 3290 (47.973170%)
119
+ * FTL: 833 (12.146398%)
120
+ * js builtin: 132 (1.924759%)
121
+ * Wasm: 0 (0.000000%)
122
+ * Host: 111 (1.618548%)
123
+ * RegExp: 15 (0.218723%)
124
+ * C/C++: 0 (0.000000%)
125
+ * Unknown Executable: 148 (2.158064%)
126
+ *
127
+ * Hottest bytecodes as <numSamples 'functionName#hash:JITType:bytecodeIndex'>
128
+ * 273 'visit#<nil>:DFG:bc#63'
129
+ * 121 'walk#<nil>:DFG:bc#7'
130
+ * 119 '#<nil>:Baseline:bc#1'
131
+ * 82 'Function#<nil>:None:<nil>'
132
+ * 66 '#<nil>:DFG:bc#11'
133
+ * 65 '#<nil>:DFG:bc#33'
134
+ * 58 '#<nil>:Baseline:bc#7'
135
+ * 53 '#<nil>:Baseline:bc#23'
136
+ * 50 'forEach#<nil>:DFG:bc#83'
137
+ * 49 'pop#<nil>:FTL:bc#65'
138
+ * 47 '#<nil>:DFG:bc#99'
139
+ * 45 '#<nil>:DFG:bc#16'
140
+ * 44 '#<nil>:DFG:bc#7'
141
+ * 44 '#<nil>:Baseline:bc#30'
142
+ * 44 'push#<nil>:FTL:bc#214'
143
+ * 41 '#<nil>:DFG:bc#50'
144
+ * 39 'get#<nil>:DFG:bc#27'
145
+ * 39 '#<nil>:Baseline:bc#0'
146
+ * 36 '#<nil>:DFG:bc#27'
147
+ * 36 'Dictionary#<nil>:DFG:bc#41'
148
+ * 36 'visit#<nil>:DFG:bc#81'
149
+ * 36 'get#<nil>:FTL:bc#11'
150
+ * 32 'push#<nil>:FTL:bc#49'
151
+ * 31 '#<nil>:DFG:bc#76'
152
+ * 31 '#<nil>:DFG:bc#10'
153
+ * 31 '#<nil>:DFG:bc#73'
154
+ * 29 'set#<nil>:DFG:bc#28'
155
+ * 28 'in_boolean_context#<nil>:DFG:bc#104'
156
+ * 28 '#<nil>:Baseline:<nil>'
157
+ * 28 'regExpSplitFast#<nil>:None:<nil>'
158
+ * 26 'visit#<nil>:DFG:bc#95'
159
+ * 26 'pop#<nil>:FTL:bc#120'
160
+ * 25 '#<nil>:DFG:bc#23'
161
+ * 25 'push#<nil>:FTL:bc#152'
162
+ * 24 'push#<nil>:FTL:bc#262'
163
+ * 24 '#<nil>:FTL:bc#10'
164
+ * 23 'is_identifier_char#<nil>:DFG:bc#22'
165
+ * 23 'visit#<nil>:DFG:bc#22'
166
+ * 22 '#<nil>:FTL:bc#27'
167
+ * 22 'indexOf#<nil>:None:<nil>'
168
+ * ```
169
+ */
170
+ bytecodes: string;
171
+
172
+ /**
173
+ * Stack traces of the top functions
174
+ */
175
+ stackTraces: string[];
176
+ }
177
+
178
+ /**
179
+ * Run JavaScriptCore's sampling profiler for a particular function
180
+ *
181
+ * This is pretty low-level.
182
+ *
183
+ * Things to know:
184
+ * - LLint means "Low Level Interpreter", which is the interpreter that runs before any JIT compilation
185
+ * - Baseline is the first JIT compilation tier. It's the least optimized, but the fastest to compile
186
+ * - DFG means "Data Flow Graph", which is the second JIT compilation tier. It has some optimizations, but is slower to compile
187
+ * - FTL means "Faster Than Light", which is the third JIT compilation tier. It has the most optimizations, but is the slowest to compile
188
+ */
189
+ function profile<T extends (...args: any[]) => any>(
190
+ callback: T,
191
+ sampleInterval?: number,
192
+ ...args: Parameters<T>
193
+ ): ReturnType<T> extends Promise<infer U> ? Promise<SamplingProfile> : SamplingProfile;
194
+
195
+ /**
196
+ * This returns objects which native code has explicitly protected from being
197
+ * garbage collected
198
+ *
199
+ * By calling this function you create another reference to the object, which
200
+ * will further prevent it from being garbage collected
201
+ *
202
+ * This function is mostly a debugging tool for bun itself.
203
+ *
204
+ * Warning: not all objects returned are supposed to be observable from JavaScript
205
+ */
206
+ function getProtectedObjects(): any[];
207
+
208
+ /**
209
+ * Start a remote debugging socket server on the given port.
210
+ *
211
+ * This exposes JavaScriptCore's built-in debugging server.
212
+ *
213
+ * This is untested. May not be supported yet on macOS
214
+ */
215
+ function startRemoteDebugger(host?: string, port?: number): void;
216
+
217
+ /**
218
+ * Run JavaScriptCore's sampling profiler
219
+ */
220
+ function startSamplingProfiler(optionalDirectory?: string): void;
221
+
222
+ /**
223
+ * Non-recursively estimate the memory usage of an object, excluding the memory usage of
224
+ * properties or other objects it references. For more accurate per-object
225
+ * memory usage, use {@link Bun.generateHeapSnapshot}.
226
+ *
227
+ * This is a best-effort estimate. It may not be 100% accurate. When it's
228
+ * wrong, it may mean the memory is non-contiguous (such as a large array).
229
+ *
230
+ * Passing a primitive type that isn't heap allocated returns 0.
231
+ */
232
+ function estimateShallowMemoryUsageOf(value: object | CallableFunction | bigint | symbol | string): number;
233
+ }
package/jsx.d.ts ADDED
@@ -0,0 +1,11 @@
1
+ export {};
2
+
3
+ type ReactElement = typeof globalThis extends { React: infer React }
4
+ ? React extends { createElement(...args: any): infer R }
5
+ ? R
6
+ : never
7
+ : unknown;
8
+
9
+ export namespace JSX {
10
+ export type Element = ReactElement;
11
+ }