bun-types 1.3.2-canary.20251105T140650 → 1.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bun.d.ts +102 -6
- package/docs/README.md +28 -0
- package/docs/bundler/bytecode.mdx +465 -0
- package/docs/bundler/{css.md → css.mdx} +97 -101
- package/docs/bundler/esbuild.mdx +253 -0
- package/docs/bundler/{executables.md → executables.mdx} +130 -221
- package/docs/bundler/fullstack.mdx +1064 -0
- package/docs/bundler/{hmr.md → hot-reloading.mdx} +74 -79
- package/docs/bundler/{html.md → html-static.mdx} +148 -111
- package/docs/bundler/index.mdx +1499 -0
- package/docs/bundler/loaders.mdx +356 -0
- package/docs/bundler/{macros.md → macros.mdx} +83 -84
- package/docs/bundler/minifier.mdx +1306 -0
- package/docs/bundler/plugins.mdx +411 -0
- package/docs/feedback.mdx +85 -0
- package/docs/guides/binary/{arraybuffer-to-array.md → arraybuffer-to-array.mdx} +3 -1
- package/docs/guides/binary/{arraybuffer-to-blob.md → arraybuffer-to-blob.mdx} +3 -1
- package/docs/guides/binary/{arraybuffer-to-buffer.md → arraybuffer-to-buffer.mdx} +3 -1
- package/docs/guides/binary/{arraybuffer-to-string.md → arraybuffer-to-string.mdx} +3 -1
- package/docs/guides/binary/{arraybuffer-to-typedarray.md → arraybuffer-to-typedarray.mdx} +3 -1
- package/docs/guides/binary/{blob-to-arraybuffer.md → blob-to-arraybuffer.mdx} +3 -1
- package/docs/guides/binary/{blob-to-dataview.md → blob-to-dataview.mdx} +3 -1
- package/docs/guides/binary/{blob-to-stream.md → blob-to-stream.mdx} +3 -1
- package/docs/guides/binary/{blob-to-string.md → blob-to-string.mdx} +3 -1
- package/docs/guides/binary/{blob-to-typedarray.md → blob-to-typedarray.mdx} +3 -1
- package/docs/guides/binary/{buffer-to-arraybuffer.md → buffer-to-arraybuffer.mdx} +3 -1
- package/docs/guides/binary/{buffer-to-blob.md → buffer-to-blob.mdx} +3 -1
- package/docs/guides/binary/{buffer-to-readablestream.md → buffer-to-readablestream.mdx} +3 -1
- package/docs/guides/binary/{buffer-to-string.md → buffer-to-string.mdx} +3 -1
- package/docs/guides/binary/{buffer-to-typedarray.md → buffer-to-typedarray.mdx} +3 -1
- package/docs/guides/binary/{dataview-to-string.md → dataview-to-string.mdx} +3 -1
- package/docs/guides/binary/{typedarray-to-arraybuffer.md → typedarray-to-arraybuffer.mdx} +3 -1
- package/docs/guides/binary/{typedarray-to-blob.md → typedarray-to-blob.mdx} +3 -1
- package/docs/guides/binary/{typedarray-to-buffer.md → typedarray-to-buffer.mdx} +3 -1
- package/docs/guides/binary/{typedarray-to-dataview.md → typedarray-to-dataview.mdx} +3 -1
- package/docs/guides/binary/{typedarray-to-readablestream.md → typedarray-to-readablestream.mdx} +3 -1
- package/docs/guides/binary/{typedarray-to-string.md → typedarray-to-string.mdx} +3 -1
- package/docs/guides/deployment/aws-lambda.mdx +204 -0
- package/docs/guides/deployment/digital-ocean.mdx +161 -0
- package/docs/guides/deployment/google-cloud-run.mdx +197 -0
- package/docs/guides/deployment/{railway.md → railway.mdx} +42 -54
- package/docs/guides/deployment/render.mdx +82 -0
- package/docs/guides/deployment/vercel.mdx +99 -0
- package/docs/guides/ecosystem/{astro.md → astro.mdx} +16 -6
- package/docs/guides/ecosystem/{discordjs.md → discordjs.mdx} +21 -18
- package/docs/guides/ecosystem/{docker.md → docker.mdx} +25 -14
- package/docs/guides/ecosystem/{drizzle.md → drizzle.mdx} +32 -22
- package/docs/guides/ecosystem/{edgedb.md → edgedb.mdx} +63 -34
- package/docs/guides/ecosystem/{elysia.md → elysia.mdx} +11 -11
- package/docs/guides/ecosystem/{express.md → express.mdx} +12 -9
- package/docs/guides/ecosystem/{hono.md → hono.mdx} +16 -8
- package/docs/guides/ecosystem/{mongoose.md → mongoose.mdx} +26 -21
- package/docs/guides/ecosystem/{neon-drizzle.md → neon-drizzle.mdx} +49 -35
- package/docs/guides/ecosystem/{neon-serverless-postgres.md → neon-serverless-postgres.mdx} +16 -11
- package/docs/guides/ecosystem/{nextjs.md → nextjs.mdx} +18 -10
- package/docs/guides/ecosystem/{nuxt.md → nuxt.mdx} +45 -11
- package/docs/guides/ecosystem/{pm2.md → pm2.mdx} +7 -9
- package/docs/guides/ecosystem/prisma-postgres.mdx +169 -0
- package/docs/guides/ecosystem/prisma.mdx +164 -0
- package/docs/guides/ecosystem/{qwik.md → qwik.mdx} +18 -11
- package/docs/guides/ecosystem/{react.md → react.mdx} +9 -7
- package/docs/guides/ecosystem/{remix.md → remix.mdx} +45 -26
- package/docs/guides/ecosystem/{sentry.md → sentry.mdx} +7 -5
- package/docs/guides/ecosystem/{solidstart.md → solidstart.mdx} +21 -13
- package/docs/guides/ecosystem/{ssr-react.md → ssr-react.mdx} +9 -11
- package/docs/guides/ecosystem/{stric.md → stric.mdx} +16 -17
- package/docs/guides/ecosystem/{sveltekit.md → sveltekit.mdx} +42 -29
- package/docs/guides/ecosystem/{systemd.md → systemd.mdx} +27 -26
- package/docs/guides/ecosystem/upstash.mdx +87 -0
- package/docs/guides/ecosystem/{vite.md → vite.mdx} +20 -14
- package/docs/guides/html-rewriter/{extract-links.md → extract-links.mdx} +11 -7
- package/docs/guides/html-rewriter/{extract-social-meta.md → extract-social-meta.mdx} +6 -2
- package/docs/guides/http/{cluster.md → cluster.mdx} +10 -7
- package/docs/guides/http/{fetch-unix.md → fetch-unix.mdx} +5 -3
- package/docs/guides/http/{fetch.md → fetch.mdx} +5 -3
- package/docs/guides/http/{file-uploads.md → file-uploads.mdx} +18 -15
- package/docs/guides/http/{hot.md → hot.mdx} +9 -7
- package/docs/guides/http/{proxy.md → proxy.mdx} +7 -5
- package/docs/guides/http/{server.md → server.mdx} +4 -2
- package/docs/guides/http/{simple.md → simple.mdx} +4 -2
- package/docs/guides/http/{stream-file.md → stream-file.mdx} +6 -4
- package/docs/guides/http/{stream-iterator.md → stream-iterator.mdx} +5 -3
- package/docs/guides/http/{stream-node-streams-in-bun.md → stream-node-streams-in-bun.mdx} +4 -2
- package/docs/guides/http/{tls.md → tls.mdx} +5 -3
- package/docs/guides/index.mdx +10 -0
- package/docs/guides/install/{add-dev.md → add-dev.mdx} +8 -6
- package/docs/guides/install/add-git.mdx +38 -0
- package/docs/guides/install/{add-optional.md → add-optional.mdx} +7 -5
- package/docs/guides/install/{add-peer.md → add-peer.mdx} +13 -11
- package/docs/guides/install/{add-tarball.md → add-tarball.mdx} +7 -5
- package/docs/guides/install/{add.md → add.mdx} +12 -10
- package/docs/guides/install/{azure-artifacts.md → azure-artifacts.mdx} +15 -12
- package/docs/guides/{runtime/cicd.md → install/cicd.mdx} +13 -13
- package/docs/guides/install/{custom-registry.md → custom-registry.mdx} +6 -4
- package/docs/guides/install/{from-npm-install-to-bun-install.md → from-npm-install-to-bun-install.mdx} +50 -34
- package/docs/guides/install/{git-diff-bun-lockfile.md → git-diff-bun-lockfile.mdx} +14 -11
- package/docs/guides/install/{jfrog-artifactory.md → jfrog-artifactory.mdx} +4 -4
- package/docs/guides/install/{npm-alias.md → npm-alias.mdx} +6 -4
- package/docs/guides/install/{registry-scope.md → registry-scope.mdx} +6 -4
- package/docs/guides/install/{trusted.md → trusted.mdx} +22 -18
- package/docs/guides/install/{workspaces.md → workspaces.mdx} +13 -13
- package/docs/guides/install/{yarnlock.md → yarnlock.mdx} +15 -9
- package/docs/guides/process/{argv.md → argv.mdx} +17 -9
- package/docs/guides/process/{ctrl-c.md → ctrl-c.mdx} +4 -2
- package/docs/guides/process/{ipc.md → ipc.mdx} +13 -10
- package/docs/guides/process/{nanoseconds.md → nanoseconds.mdx} +3 -1
- package/docs/guides/process/{os-signals.md → os-signals.mdx} +3 -1
- package/docs/guides/process/{spawn-stderr.md → spawn-stderr.mdx} +4 -1
- package/docs/guides/process/{spawn-stdout.md → spawn-stdout.mdx} +3 -1
- package/docs/guides/process/{spawn.md → spawn.mdx} +3 -1
- package/docs/guides/process/{stdin.md → stdin.mdx} +15 -7
- package/docs/guides/read-file/{arraybuffer.md → arraybuffer.mdx} +5 -3
- package/docs/guides/read-file/{buffer.md → buffer.mdx} +4 -2
- package/docs/guides/read-file/{exists.md → exists.mdx} +4 -2
- package/docs/guides/read-file/{json.md → json.mdx} +4 -2
- package/docs/guides/read-file/{mime.md → mime.mdx} +3 -1
- package/docs/guides/read-file/{stream.md → stream.mdx} +3 -1
- package/docs/guides/read-file/{string.md → string.mdx} +3 -1
- package/docs/guides/read-file/{uint8array.md → uint8array.mdx} +3 -1
- package/docs/guides/read-file/{watch.md → watch.mdx} +6 -8
- package/docs/guides/runtime/{build-time-constants.md → build-time-constants.mdx} +24 -22
- package/docs/guides/{install/cicd.md → runtime/cicd.mdx} +11 -7
- package/docs/guides/runtime/{codesign-macos-executable.md → codesign-macos-executable.mdx} +14 -9
- package/docs/guides/runtime/{define-constant.md → define-constant.mdx} +20 -16
- package/docs/guides/runtime/{delete-directory.md → delete-directory.mdx} +5 -3
- package/docs/guides/runtime/{delete-file.md → delete-file.mdx} +4 -2
- package/docs/guides/runtime/{heap-snapshot.md → heap-snapshot.mdx} +5 -3
- package/docs/guides/runtime/{import-html.md → import-html.mdx} +4 -2
- package/docs/guides/runtime/{import-json.md → import-json.mdx} +6 -4
- package/docs/guides/runtime/{import-toml.md → import-toml.mdx} +5 -3
- package/docs/guides/runtime/{import-yaml.md → import-yaml.mdx} +9 -7
- package/docs/guides/runtime/{read-env.md → read-env.mdx} +10 -5
- package/docs/guides/runtime/{set-env.md → set-env.mdx} +14 -10
- package/docs/guides/runtime/{shell.md → shell.mdx} +6 -4
- package/docs/guides/runtime/{timezone.md → timezone.mdx} +10 -7
- package/docs/guides/runtime/{tsconfig-paths.md → tsconfig-paths.mdx} +5 -3
- package/docs/guides/runtime/{typescript.md → typescript.mdx} +8 -6
- package/docs/guides/runtime/{vscode-debugger.md → vscode-debugger.mdx} +12 -11
- package/docs/guides/runtime/{web-debugger.md → web-debugger.mdx} +39 -18
- package/docs/guides/streams/{node-readable-to-arraybuffer.md → node-readable-to-arraybuffer.mdx} +3 -1
- package/docs/guides/streams/{node-readable-to-blob.md → node-readable-to-blob.mdx} +3 -1
- package/docs/guides/streams/{node-readable-to-json.md → node-readable-to-json.mdx} +3 -1
- package/docs/guides/streams/{node-readable-to-string.md → node-readable-to-string.mdx} +3 -1
- package/docs/guides/streams/{node-readable-to-uint8array.md → node-readable-to-uint8array.mdx} +3 -1
- package/docs/guides/streams/{to-array.md → to-array.mdx} +3 -1
- package/docs/guides/streams/{to-arraybuffer.md → to-arraybuffer.mdx} +3 -1
- package/docs/guides/streams/{to-blob.md → to-blob.mdx} +3 -1
- package/docs/guides/streams/{to-buffer.md → to-buffer.mdx} +3 -1
- package/docs/guides/streams/{to-json.md → to-json.mdx} +4 -2
- package/docs/guides/streams/{to-string.md → to-string.mdx} +3 -1
- package/docs/guides/streams/{to-typedarray.md → to-typedarray.mdx} +3 -1
- package/docs/guides/test/{bail.md → bail.mdx} +7 -5
- package/docs/guides/test/{coverage-threshold.md → coverage-threshold.mdx} +14 -7
- package/docs/guides/test/{coverage.md → coverage.mdx} +9 -4
- package/docs/guides/test/{happy-dom.md → happy-dom.mdx} +13 -8
- package/docs/guides/test/{migrate-from-jest.md → migrate-from-jest.mdx} +19 -37
- package/docs/guides/test/{mock-clock.md → mock-clock.mdx} +3 -1
- package/docs/guides/test/{mock-functions.md → mock-functions.mdx} +7 -5
- package/docs/guides/test/{rerun-each.md → rerun-each.mdx} +5 -3
- package/docs/guides/test/{run-tests.md → run-tests.mdx} +16 -11
- package/docs/guides/test/{skip-tests.md → skip-tests.mdx} +8 -4
- package/docs/guides/test/{snapshot.md → snapshot.mdx} +20 -13
- package/docs/guides/test/spy-on.mdx +49 -0
- package/docs/guides/test/{svelte-test.md → svelte-test.mdx} +16 -23
- package/docs/guides/test/{testing-library.md → testing-library.mdx} +18 -17
- package/docs/guides/test/{timeout.md → timeout.mdx} +5 -3
- package/docs/guides/test/{todo-tests.md → todo-tests.mdx} +13 -6
- package/docs/guides/test/{update-snapshots.md → update-snapshots.mdx} +9 -6
- package/docs/guides/test/{watch-mode.md → watch-mode.mdx} +9 -4
- package/docs/guides/util/{base64.md → base64.mdx} +3 -1
- package/docs/guides/util/{deep-equals.md → deep-equals.mdx} +5 -3
- package/docs/guides/util/{deflate.md → deflate.mdx} +3 -1
- package/docs/guides/util/{detect-bun.md → detect-bun.mdx} +3 -1
- package/docs/guides/util/{entrypoint.md → entrypoint.mdx} +4 -2
- package/docs/guides/util/{escape-html.md → escape-html.mdx} +3 -1
- package/docs/guides/util/{file-url-to-path.md → file-url-to-path.mdx} +3 -1
- package/docs/guides/util/{gzip.md → gzip.mdx} +3 -1
- package/docs/guides/util/{hash-a-password.md → hash-a-password.mdx} +3 -1
- package/docs/guides/util/{import-meta-dir.md → import-meta-dir.mdx} +4 -2
- package/docs/guides/util/{import-meta-file.md → import-meta-file.mdx} +4 -2
- package/docs/guides/util/{import-meta-path.md → import-meta-path.mdx} +4 -2
- package/docs/guides/util/{javascript-uuid.md → javascript-uuid.mdx} +3 -1
- package/docs/guides/util/{main.md → main.mdx} +19 -8
- package/docs/guides/util/{path-to-file-url.md → path-to-file-url.mdx} +3 -1
- package/docs/guides/util/{sleep.md → sleep.mdx} +3 -1
- package/docs/guides/util/{version.md → version.mdx} +6 -4
- package/docs/guides/util/{which-path-to-executable-bin.md → which-path-to-executable-bin.mdx} +4 -2
- package/docs/guides/websocket/{compression.md → compression.mdx} +5 -3
- package/docs/guides/websocket/{context.md → context.mdx} +9 -12
- package/docs/guides/websocket/{pubsub.md → pubsub.mdx} +5 -6
- package/docs/guides/websocket/{simple.md → simple.mdx} +5 -3
- package/docs/guides/write-file/{append.md → append.mdx} +3 -1
- package/docs/guides/write-file/{basic.md → basic.mdx} +3 -1
- package/docs/guides/write-file/{blob.md → blob.mdx} +3 -1
- package/docs/guides/write-file/{cat.md → cat.mdx} +4 -2
- package/docs/guides/write-file/{file-cp.md → file-cp.mdx} +3 -1
- package/docs/guides/write-file/{filesink.md → filesink.mdx} +3 -1
- package/docs/guides/write-file/{response.md → response.mdx} +3 -1
- package/docs/guides/write-file/{stdout.md → stdout.mdx} +3 -1
- package/docs/guides/write-file/{stream.md → stream.mdx} +3 -1
- package/docs/guides/write-file/{unlink.md → unlink.mdx} +3 -1
- package/docs/{index.md → index.mdx} +97 -41
- package/docs/installation.mdx +365 -0
- package/docs/{cli/bunx.md → pm/bunx.mdx} +25 -31
- package/docs/{install/catalogs.md → pm/catalogs.mdx} +18 -24
- package/docs/{cli/add.md → pm/cli/add.mdx} +61 -55
- package/docs/{install/audit.md → pm/cli/audit.mdx} +11 -8
- package/docs/{cli/install.md → pm/cli/install.mdx} +208 -81
- package/docs/{cli/link.md → pm/cli/link.mdx} +27 -19
- package/docs/{cli/outdated.md → pm/cli/outdated.mdx} +119 -12
- package/docs/{install/patch.md → pm/cli/patch.mdx} +25 -15
- package/docs/{cli/pm.md → pm/cli/pm.mdx} +96 -62
- package/docs/{cli/publish.md → pm/cli/publish.mdx} +38 -35
- package/docs/pm/cli/remove.mdx +16 -0
- package/docs/{cli/update.md → pm/cli/update.mdx} +26 -15
- package/docs/{cli/why.md → pm/cli/why.mdx} +27 -10
- package/docs/{cli/filter.md → pm/filter.mdx} +26 -14
- package/docs/{install/cache.md → pm/global-cache.mdx} +25 -12
- package/docs/{install/isolated.md → pm/isolated-installs.mdx} +32 -24
- package/docs/{install/lifecycle.md → pm/lifecycle.mdx} +20 -9
- package/docs/{install/lockfile.md → pm/lockfile.mdx} +18 -12
- package/docs/{install/npmrc.md → pm/npmrc.mdx} +30 -24
- package/docs/{install/overrides.md → pm/overrides.mdx} +47 -37
- package/docs/{install/registries.md → pm/scopes-registries.mdx} +8 -3
- package/docs/{install/security-scanner-api.md → pm/security-scanner-api.mdx} +22 -8
- package/docs/{install/workspaces.md → pm/workspaces.mdx} +17 -22
- package/docs/project/{benchmarking.md → benchmarking.mdx} +26 -11
- package/docs/project/{bindgen.md → bindgen.mdx} +12 -14
- package/docs/project/{building-windows.md → building-windows.mdx} +18 -47
- package/docs/project/{contributing.md → contributing.mdx} +56 -60
- package/docs/project/feedback.mdx +20 -0
- package/docs/project/license.mdx +78 -0
- package/docs/project/roadmap.mdx +8 -0
- package/docs/quickstart.mdx +240 -0
- package/docs/runtime/{autoimport.md → auto-install.mdx} +34 -31
- package/docs/{api/binary-data.md → runtime/binary-data.mdx} +77 -269
- package/docs/runtime/bun-apis.mdx +59 -0
- package/docs/runtime/{bunfig.md → bunfig.mdx} +95 -225
- package/docs/{api/cc.md → runtime/c-compiler.mdx} +16 -9
- package/docs/{api/spawn.md → runtime/child-process.mdx} +69 -119
- package/docs/{api/color.md → runtime/color.mdx} +6 -1
- package/docs/{api/console.md → runtime/console.mdx} +17 -7
- package/docs/{api/cookie.md → runtime/cookies.mdx} +24 -19
- package/docs/runtime/{debugger.md → debugger.mdx} +61 -51
- package/docs/runtime/environment-variables.mdx +214 -0
- package/docs/{api/ffi.md → runtime/ffi.mdx} +53 -45
- package/docs/{api/file-io.md → runtime/file-io.mdx} +41 -101
- package/docs/{api/file-system-router.md → runtime/file-system-router.mdx} +8 -2
- package/docs/{bundler/loaders.md → runtime/file-types.mdx} +56 -112
- package/docs/{api/glob.md → runtime/glob.mdx} +4 -1
- package/docs/runtime/globals.mdx +72 -0
- package/docs/{api/hashing.md → runtime/hashing.mdx} +18 -22
- package/docs/{api/html-rewriter.md → runtime/html-rewriter.mdx} +36 -30
- package/docs/runtime/http/cookies.mdx +79 -0
- package/docs/runtime/http/error-handling.mdx +40 -0
- package/docs/runtime/http/metrics.mdx +36 -0
- package/docs/runtime/http/routing.mdx +289 -0
- package/docs/runtime/http/server.mdx +647 -0
- package/docs/runtime/http/tls.mdx +101 -0
- package/docs/{api/websockets.md → runtime/http/websockets.mdx} +62 -231
- package/docs/{cli/run.md → runtime/index.mdx} +70 -108
- package/docs/runtime/jsx.mdx +115 -0
- package/docs/runtime/{modules.md → module-resolution.mdx} +83 -61
- package/docs/{api/dns.md → runtime/networking/dns.mdx} +23 -22
- package/docs/{api/fetch.md → runtime/networking/fetch.mdx} +10 -5
- package/docs/{api/tcp.md → runtime/networking/tcp.mdx} +59 -41
- package/docs/{api/udp.md → runtime/networking/udp.mdx} +14 -8
- package/docs/{api/node-api.md → runtime/node-api.mdx} +5 -0
- package/docs/runtime/{nodejs-apis.md → nodejs-compat.mdx} +9 -4
- package/docs/{bundler/plugins.md → runtime/plugins.mdx} +17 -61
- package/docs/{api/redis.md → runtime/redis.mdx} +65 -80
- package/docs/{api/s3.md → runtime/s3.mdx} +79 -66
- package/docs/{api/secrets.md → runtime/secrets.mdx} +27 -10
- package/docs/{api/semver.md → runtime/semver.mdx} +9 -4
- package/docs/runtime/{shell.md → shell.mdx} +52 -20
- package/docs/{api/sql.md → runtime/sql.mdx} +129 -99
- package/docs/{api/sqlite.md → runtime/sqlite.mdx} +162 -157
- package/docs/{api/streams.md → runtime/streams.mdx} +33 -31
- package/docs/{cli/bun-create.md → runtime/templating/create.mdx} +74 -143
- package/docs/{cli/init.md → runtime/templating/init.mdx} +24 -51
- package/docs/{api/transpiler.md → runtime/transpiler.mdx} +50 -38
- package/docs/{typescript.md → runtime/typescript.mdx} +7 -2
- package/docs/{api/utils.md → runtime/utils.mdx} +81 -50
- package/docs/runtime/{hot.md → watch-mode.mdx} +53 -37
- package/docs/runtime/web-apis.mdx +29 -0
- package/docs/{api/workers.md → runtime/workers.mdx} +28 -22
- package/docs/{api/yaml.md → runtime/yaml.mdx} +33 -232
- package/docs/snippets/cli/add.mdx +166 -0
- package/docs/snippets/cli/build.mdx +196 -0
- package/docs/snippets/cli/feedback.mdx +17 -0
- package/docs/snippets/cli/init.mdx +84 -0
- package/docs/snippets/cli/install.mdx +173 -0
- package/docs/snippets/cli/link.mdx +163 -0
- package/docs/snippets/cli/outdated.mdx +140 -0
- package/docs/snippets/cli/patch.mdx +171 -0
- package/docs/snippets/cli/publish.mdx +198 -0
- package/docs/snippets/cli/remove.mdx +146 -0
- package/docs/snippets/cli/run.mdx +293 -0
- package/docs/snippets/cli/test.mdx +100 -0
- package/docs/snippets/cli/update.mdx +144 -0
- package/docs/snippets/product-card.mdx +32 -0
- package/docs/snippets/product-tiles.mdx +94 -0
- package/docs/test/code-coverage.mdx +409 -0
- package/docs/test/configuration.mdx +467 -0
- package/docs/test/{time.md → dates-times.mdx} +23 -20
- package/docs/test/{discovery.md → discovery.mdx} +15 -10
- package/docs/test/dom.mdx +226 -0
- package/docs/{cli/test.md → test/index.mdx} +77 -94
- package/docs/test/lifecycle.mdx +348 -0
- package/docs/test/mocks.mdx +637 -0
- package/docs/test/{reporters.md → reporters.mdx} +15 -15
- package/docs/test/runtime-behavior.mdx +342 -0
- package/docs/test/snapshots.mdx +434 -0
- package/docs/test/writing-tests.mdx +635 -0
- package/docs/typescript.mdx +54 -0
- package/package.json +8 -6
- package/test.d.ts +2 -2
- package/docs/api/file.md +0 -19
- package/docs/api/globals.md +0 -387
- package/docs/api/http.md +0 -1408
- package/docs/api/import-meta.md +0 -69
- package/docs/benchmarks.md +0 -120
- package/docs/bun-flavored-toml.md +0 -42
- package/docs/bundler/css_modules.md +0 -145
- package/docs/bundler/fullstack.md +0 -418
- package/docs/bundler/index.md +0 -1735
- package/docs/bundler/intro.md +0 -75
- package/docs/bundler/vs-esbuild.md +0 -1127
- package/docs/cli/bun-completions.md +0 -3
- package/docs/cli/bun-install.md +0 -349
- package/docs/cli/bun-upgrade.md +0 -39
- package/docs/cli/info.md +0 -65
- package/docs/cli/patch-commit.md +0 -11
- package/docs/cli/remove.md +0 -7
- package/docs/cli/unlink.md +0 -9
- package/docs/contributing/upgrading-webkit.md +0 -57
- package/docs/ecosystem/elysia.md +0 -24
- package/docs/ecosystem/express.md +0 -37
- package/docs/ecosystem/hono.md +0 -18
- package/docs/ecosystem/react.md +0 -65
- package/docs/ecosystem/stric.md +0 -38
- package/docs/guides/ecosystem/prisma.md +0 -141
- package/docs/guides/ecosystem/render.md +0 -79
- package/docs/guides/install/add-git.md +0 -36
- package/docs/guides/test/spy-on.md +0 -46
- package/docs/install/index.md +0 -248
- package/docs/installation.md +0 -327
- package/docs/project/asan.md +0 -124
- package/docs/project/internals/build-process-for-ci.md +0 -75
- package/docs/project/licensing.md +0 -73
- package/docs/project/roadmap.md +0 -87
- package/docs/quickstart.md +0 -157
- package/docs/runtime/bun-apis.md +0 -207
- package/docs/runtime/env.md +0 -253
- package/docs/runtime/index.md +0 -312
- package/docs/runtime/jsx.md +0 -385
- package/docs/runtime/loaders.md +0 -130
- package/docs/runtime/plugins.md +0 -561
- package/docs/runtime/typescript.md +0 -139
- package/docs/runtime/web-apis.md +0 -128
- package/docs/test/configuration.md +0 -154
- package/docs/test/coverage.md +0 -142
- package/docs/test/dom.md +0 -75
- package/docs/test/examples/concurrent-test-glob.md +0 -132
- package/docs/test/hot.md +0 -15
- package/docs/test/lifecycle.md +0 -81
- package/docs/test/mocks.md +0 -313
- package/docs/test/runtime-behavior.md +0 -95
- package/docs/test/snapshots.md +0 -68
- package/docs/test/writing.md +0 -825
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Proxy HTTP requests using fetch()
|
|
3
|
+
sidebarTitle: Proxy HTTP requests using fetch()
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
In Bun, `fetch` supports sending requests through an HTTP or HTTPS proxy. This is useful on corporate networks or when you need to ensure a request is sent through a specific IP address.
|
|
6
8
|
|
|
7
|
-
```ts
|
|
9
|
+
```ts proxy.ts icon="/icons/typescript.svg"
|
|
8
10
|
await fetch("https://example.com", {
|
|
9
11
|
// The URL of the proxy server
|
|
10
|
-
proxy: "https://
|
|
12
|
+
proxy: "https://usertitle:password@proxy.example.com:8080",
|
|
11
13
|
});
|
|
12
14
|
```
|
|
13
15
|
|
|
@@ -19,6 +21,6 @@ The `proxy` option is a URL string that specifies the proxy server. It can inclu
|
|
|
19
21
|
|
|
20
22
|
You can also set the `$HTTP_PROXY` or `$HTTPS_PROXY` environment variable to the proxy URL. This is useful when you want to use the same proxy for all requests.
|
|
21
23
|
|
|
22
|
-
```sh
|
|
23
|
-
HTTPS_PROXY=https://
|
|
24
|
+
```sh terminal icon="terminal"
|
|
25
|
+
HTTPS_PROXY=https://usertitle:password@proxy.example.com:8080 bun run index.ts
|
|
24
26
|
```
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Common HTTP server usage
|
|
3
|
+
sidebarTitle: HTTP Server with Bun
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
This starts an HTTP server listening on port `3000`. It demonstrates basic routing with a number of common responses and also handles POST data from standard forms or as JSON.
|
|
6
8
|
|
|
7
9
|
See [`Bun.serve`](https://bun.com/docs/api/http) for details.
|
|
8
10
|
|
|
9
|
-
```ts
|
|
11
|
+
```ts server.ts icon="/icons/typescript.svg"
|
|
10
12
|
const server = Bun.serve({
|
|
11
13
|
async fetch(req) {
|
|
12
14
|
const path = new URL(req.url).pathname;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Write a simple HTTP server
|
|
3
|
+
sidebarTitle: Simple HTTP Server with Bun
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
This starts an HTTP server listening on port `3000`. It responds to all requests with a `Response` with status `200` and body `"Welcome to Bun!"`.
|
|
6
8
|
|
|
7
9
|
See [`Bun.serve`](https://bun.com/docs/api/http) for details.
|
|
8
10
|
|
|
9
|
-
```ts
|
|
11
|
+
```ts server.ts icon="/icons/typescript.svg"
|
|
10
12
|
const server = Bun.serve({
|
|
11
13
|
port: 3000,
|
|
12
14
|
fetch(request) {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Stream a file as an HTTP Response
|
|
3
|
+
sidebarTitle: Stream file response
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
This snippet reads a file from disk using [`Bun.file()`](https://bun.com/docs/api/file-io#reading-files-bun-file). This returns a `BunFile` instance, which can be passed directly into the `new Response` constructor.
|
|
6
8
|
|
|
7
|
-
```ts
|
|
9
|
+
```ts server.ts icon="/icons/typescript.svg"
|
|
8
10
|
const path = "/path/to/file.txt";
|
|
9
11
|
const file = Bun.file(path);
|
|
10
12
|
const resp = new Response(file);
|
|
@@ -14,7 +16,7 @@ const resp = new Response(file);
|
|
|
14
16
|
|
|
15
17
|
The `Content-Type` is read from the file and automatically set on the `Response`.
|
|
16
18
|
|
|
17
|
-
```ts
|
|
19
|
+
```ts server.ts icon="/icons/typescript.svg"
|
|
18
20
|
new Response(Bun.file("./package.json")).headers.get("Content-Type");
|
|
19
21
|
// => application/json;charset=utf-8
|
|
20
22
|
|
|
@@ -32,7 +34,7 @@ new Response(Bun.file("./img.png")).headers.get("Content-Type");
|
|
|
32
34
|
|
|
33
35
|
Putting it all together with [`Bun.serve()`](https://bun.com/docs/api/http#bun-serve).
|
|
34
36
|
|
|
35
|
-
```ts
|
|
37
|
+
```ts server.ts icon="/icons/typescript.svg"
|
|
36
38
|
// static file server
|
|
37
39
|
Bun.serve({
|
|
38
40
|
async fetch(req) {
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Streaming HTTP Server with Async Iterators
|
|
3
|
+
sidebarTitle: Stream with iterators
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
In Bun, [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) objects can accept an async generator function as their body. This allows you to stream data to the client as it becomes available, rather than waiting for the entire response to be ready.
|
|
6
8
|
|
|
7
|
-
```ts
|
|
9
|
+
```ts stream-iterator.ts icon="/icons/typescript.svg"
|
|
8
10
|
Bun.serve({
|
|
9
11
|
port: 3000,
|
|
10
12
|
fetch(req) {
|
|
@@ -28,7 +30,7 @@ Bun.serve({
|
|
|
28
30
|
|
|
29
31
|
You can pass any async iterable directly to `Response`:
|
|
30
32
|
|
|
31
|
-
```ts
|
|
33
|
+
```ts stream-iterator.ts icon="/icons/typescript.svg"
|
|
32
34
|
Bun.serve({
|
|
33
35
|
port: 3000,
|
|
34
36
|
fetch(req) {
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Streaming HTTP Server with Node.js Streams
|
|
3
|
+
sidebarTitle: Stream with Node.js
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
In Bun, [`Response`](https://developer.mozilla.org/en-US/docs/Web/API/Response) objects can accept a Node.js [`Readable`](https://nodejs.org/api/stream.html#stream_readable_streams).
|
|
6
8
|
|
|
7
9
|
This works because Bun's `Response` object allows any async iterable as its body. Node.js streams are async iterables, so you can pass them directly to `Response`.
|
|
8
10
|
|
|
9
|
-
```ts
|
|
11
|
+
```ts server.ts icon="/icons/typescript.svg"
|
|
10
12
|
import { Readable } from "stream";
|
|
11
13
|
import { serve } from "bun";
|
|
12
14
|
serve({
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Configure TLS on an HTTP server
|
|
3
|
+
sidebarTitle: Configure TLS
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
Set the `tls` key to configure TLS. Both `key` and `cert` are required. The `key` should be the contents of your private key; `cert` should be the contents of your issued certificate. Use [`Bun.file()`](https://bun.com/docs/api/file-io#reading-files-bun-file) to read the contents.
|
|
6
8
|
|
|
7
|
-
```ts
|
|
9
|
+
```ts server.ts icon="/icons/typescript.svg"
|
|
8
10
|
const server = Bun.serve({
|
|
9
11
|
fetch: request => new Response("Welcome to Bun!"),
|
|
10
12
|
tls: {
|
|
@@ -18,7 +20,7 @@ const server = Bun.serve({
|
|
|
18
20
|
|
|
19
21
|
By default Bun trusts the default Mozilla-curated list of well-known root CAs. To override this list, pass an array of certificates as `ca`.
|
|
20
22
|
|
|
21
|
-
```ts
|
|
23
|
+
```ts server.ts icon="/icons/typescript.svg"
|
|
22
24
|
const server = Bun.serve({
|
|
23
25
|
fetch: request => new Response("Welcome to Bun!"),
|
|
24
26
|
tls: {
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Add a development dependency
|
|
3
|
+
sidebarTitle: Add a dev dependency
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
To add an npm package as a development dependency, use `bun add --development`.
|
|
6
8
|
|
|
7
|
-
```sh
|
|
8
|
-
|
|
9
|
-
|
|
9
|
+
```sh terminal icon="terminal"
|
|
10
|
+
bun add zod --dev
|
|
11
|
+
bun add zod -d # shorthand
|
|
10
12
|
```
|
|
11
13
|
|
|
12
14
|
---
|
|
13
15
|
|
|
14
16
|
This will add the package to `devDependencies` in `package.json`.
|
|
15
17
|
|
|
16
|
-
```json
|
|
18
|
+
```json
|
|
17
19
|
{
|
|
18
20
|
"devDependencies": {
|
|
19
|
-
|
|
21
|
+
"zod": "^3.0.0" // [!code ++]
|
|
20
22
|
}
|
|
21
23
|
}
|
|
22
24
|
```
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
title: Add a Git dependency
|
|
3
|
+
sidebarTitle: Add a Git dependency
|
|
4
|
+
mode: center
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Bun supports directly adding GitHub repositories as dependencies of your project.
|
|
8
|
+
|
|
9
|
+
```sh terminal icon="terminal"
|
|
10
|
+
bun add github:lodash/lodash
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
This will add the following line to your `package.json`:
|
|
16
|
+
|
|
17
|
+
```json package.json icon="file-json"
|
|
18
|
+
{
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"lodash": "github:lodash/lodash"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
Bun supports a number of protocols for specifying Git dependencies.
|
|
28
|
+
|
|
29
|
+
```sh terminal icon="terminal"
|
|
30
|
+
bun add git+https://github.com/lodash/lodash.git
|
|
31
|
+
bun add git+ssh://github.com/lodash/lodash.git#4.17.21
|
|
32
|
+
bun add git@github.com:lodash/lodash.git
|
|
33
|
+
bun add github:colinhacks/zod
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
See [Docs > Package manager](https://bun.com/docs/cli/install) for complete documentation of Bun's package manager.
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Add an optional dependency
|
|
3
|
+
sidebarTitle: Add an optional dependency
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
To add an npm package as an optional dependency, use the `--optional` flag.
|
|
6
8
|
|
|
7
|
-
```sh
|
|
8
|
-
|
|
9
|
+
```sh terminal icon="terminal"
|
|
10
|
+
bun add zod --optional
|
|
9
11
|
```
|
|
10
12
|
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
This will add the package to `optionalDependencies` in `package.json`.
|
|
14
16
|
|
|
15
|
-
```json-
|
|
17
|
+
```json package.json icon="file-json"
|
|
16
18
|
{
|
|
17
19
|
"optionalDependencies": {
|
|
18
|
-
|
|
20
|
+
"zod": "^3.0.0" // [!code ++]
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
```
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Add a peer dependency
|
|
3
|
+
sidebarTitle: Add a peer dependency
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
To add an npm package as a peer dependency, use the `--peer` flag.
|
|
6
8
|
|
|
7
|
-
```sh
|
|
8
|
-
|
|
9
|
+
```sh terminal icon="terminal"
|
|
10
|
+
bun add @types/bun --peer
|
|
9
11
|
```
|
|
10
12
|
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
This will add the package to `peerDependencies` in `package.json`.
|
|
14
16
|
|
|
15
|
-
```json-
|
|
17
|
+
```json package.json icon="file-json"
|
|
16
18
|
{
|
|
17
19
|
"peerDependencies": {
|
|
18
|
-
|
|
20
|
+
"@types/bun": "^1.3.1" // [!code ++]
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
```
|
|
@@ -24,17 +26,17 @@ This will add the package to `peerDependencies` in `package.json`.
|
|
|
24
26
|
|
|
25
27
|
Running `bun install` will install peer dependencies by default, unless marked optional in `peerDependenciesMeta`.
|
|
26
28
|
|
|
27
|
-
```json-
|
|
29
|
+
```json package.json icon="file-json"
|
|
28
30
|
{
|
|
29
31
|
"peerDependencies": {
|
|
30
|
-
"@types/bun": "^1.3.
|
|
32
|
+
"@types/bun": "^1.3.1"
|
|
31
33
|
},
|
|
32
34
|
"peerDependenciesMeta": {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
"@types/bun": {
|
|
36
|
+
// [!code ++]
|
|
37
|
+
"optional": true // [!code ++]
|
|
38
|
+
} // [!code ++]
|
|
36
39
|
}
|
|
37
|
-
|
|
38
40
|
}
|
|
39
41
|
```
|
|
40
42
|
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Add a tarball dependency
|
|
3
|
+
sidebarTitle: Add a tarball dependency
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
Bun's package manager can install any publicly available tarball URL as a dependency of your project.
|
|
6
8
|
|
|
7
|
-
```sh
|
|
8
|
-
|
|
9
|
+
```sh terminal icon="terminal"
|
|
10
|
+
bun add zod@https://registry.npmjs.org/zod/-/zod-3.21.4.tgz
|
|
9
11
|
```
|
|
10
12
|
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
Running this command will download, extract, and install the tarball to your project's `node_modules` directory. It will also add the following line to your `package.json`:
|
|
14
16
|
|
|
15
|
-
```json
|
|
17
|
+
```json package.json icon="file-json"
|
|
16
18
|
{
|
|
17
19
|
"dependencies": {
|
|
18
|
-
|
|
20
|
+
"zod": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz" // [!code ++]
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
```
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Add a dependency
|
|
3
|
+
sidebarTitle: Add a dependency
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
To add an npm package as a dependency, use `bun add`.
|
|
6
8
|
|
|
7
|
-
```sh
|
|
8
|
-
|
|
9
|
+
```sh terminal icon="terminal"
|
|
10
|
+
bun add zod
|
|
9
11
|
```
|
|
10
12
|
|
|
11
13
|
---
|
|
12
14
|
|
|
13
15
|
This will add the package to `dependencies` in `package.json`. By default, the `^` range specifier will be used, to indicate that any future minor or patch versions are acceptable.
|
|
14
16
|
|
|
15
|
-
```json-
|
|
17
|
+
```json package.json icon="file-json"
|
|
16
18
|
{
|
|
17
19
|
"dependencies": {
|
|
18
|
-
|
|
20
|
+
"zod": "^3.0.0" // [!code ++]
|
|
19
21
|
}
|
|
20
22
|
}
|
|
21
23
|
```
|
|
@@ -24,17 +26,17 @@ This will add the package to `dependencies` in `package.json`. By default, the `
|
|
|
24
26
|
|
|
25
27
|
To "pin" to an exact version of the package, use `--exact`. This will add the package to `dependencies` without the `^`, pinning your project to the exact version you installed.
|
|
26
28
|
|
|
27
|
-
```sh
|
|
28
|
-
|
|
29
|
+
```sh terminal icon="terminal"
|
|
30
|
+
bun add zod --exact
|
|
29
31
|
```
|
|
30
32
|
|
|
31
33
|
---
|
|
32
34
|
|
|
33
35
|
To specify an exact version or a tag:
|
|
34
36
|
|
|
35
|
-
```sh
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
```sh terminal icon="terminal"
|
|
38
|
+
bun add zod@3.0.0
|
|
39
|
+
bun add zod@next
|
|
38
40
|
```
|
|
39
41
|
|
|
40
42
|
---
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Using bun install with an Azure Artifacts npm registry
|
|
3
|
+
sidebarTitle: Azure Artifacts with Bun
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
|
-
|
|
6
|
-
In [Azure
|
|
7
|
-
|
|
7
|
+
<Note>
|
|
8
|
+
In [Azure
|
|
9
|
+
Artifact's](https://learn.microsoft.com/en-us/azure/devops/artifacts/npm/npmrc?view=azure-devops&tabs=windows%2Cclassic)
|
|
10
|
+
instructions for `.npmrc`, they say to base64 encode the password. Do not do this for `bun install`. Bun will
|
|
11
|
+
automatically base64 encode the password for you if needed.
|
|
12
|
+
</Note>
|
|
8
13
|
|
|
9
14
|
[Azure Artifacts](https://azure.microsoft.com/en-us/products/devops/artifacts) is a package management system for Azure DevOps. It allows you to host your own private npm registry, npm packages, and other types of packages as well.
|
|
10
15
|
|
|
@@ -16,7 +21,7 @@ In [Azure Artifact's](https://learn.microsoft.com/en-us/azure/devops/artifacts/n
|
|
|
16
21
|
|
|
17
22
|
To use it with `bun install`, add a `bunfig.toml` file to your project with the following contents. Make sure to replace `my-azure-artifacts-user` with your Azure Artifacts username, such as `jarred1234`.
|
|
18
23
|
|
|
19
|
-
```toml
|
|
24
|
+
```toml bunfig.toml icon="settings"
|
|
20
25
|
[install.registry]
|
|
21
26
|
url = "https://pkgs.dev.azure.com/my-azure-artifacts-user/_packaging/my-azure-artifacts-user/npm/registry"
|
|
22
27
|
username = "my-azure-artifacts-user"
|
|
@@ -28,7 +33,7 @@ password = "$NPM_PASSWORD"
|
|
|
28
33
|
|
|
29
34
|
Then assign your Azure Personal Access Token to the `NPM_PASSWORD` environment variable. Bun [automatically reads](https://bun.com/docs/runtime/env) `.env` files, so create a file called `.env` in your project root. There is no need to base-64 encode this token! Bun will do this for you.
|
|
30
35
|
|
|
31
|
-
```txt
|
|
36
|
+
```txt .env icon="settings"
|
|
32
37
|
NPM_PASSWORD=<paste token here>
|
|
33
38
|
```
|
|
34
39
|
|
|
@@ -40,7 +45,7 @@ NPM_PASSWORD=<paste token here>
|
|
|
40
45
|
|
|
41
46
|
To configure Azure Artifacts without `bunfig.toml`, you can set the `NPM_CONFIG_REGISTRY` environment variable. The URL should include `:username` and `:_password` as query parameters. Replace `<USERNAME>` and `<PASSWORD>` with the apprropriate values.
|
|
42
47
|
|
|
43
|
-
```bash
|
|
48
|
+
```bash terminal icon="terminal"
|
|
44
49
|
NPM_CONFIG_REGISTRY=https://pkgs.dev.azure.com/my-azure-artifacts-user/_packaging/my-azure-artifacts-user/npm/registry/:username=<USERNAME>:_password=<PASSWORD>
|
|
45
50
|
```
|
|
46
51
|
|
|
@@ -52,15 +57,13 @@ NPM_CONFIG_REGISTRY=https://pkgs.dev.azure.com/my-azure-artifacts-user/_packagin
|
|
|
52
57
|
|
|
53
58
|
In [Azure Artifact's](https://learn.microsoft.com/en-us/azure/devops/artifacts/npm/npmrc?view=azure-devops&tabs=windows%2Cclassic) instructions for `.npmrc`, they say to base64 encode the password. Do not do this for `bun install`. Bun will automatically base64 encode the password for you if needed.
|
|
54
59
|
|
|
55
|
-
|
|
56
|
-
**Tip** — If it ends with `==`, it probably is base64 encoded.
|
|
57
|
-
{% /callout %}
|
|
60
|
+
<Note>**Tip** — If it ends with `==`, it probably is base64 encoded.</Note>
|
|
58
61
|
|
|
59
62
|
---
|
|
60
63
|
|
|
61
64
|
To decode a base64-encoded password, open your browser console and run:
|
|
62
65
|
|
|
63
|
-
```js
|
|
66
|
+
```js browser icon="computer"
|
|
64
67
|
atob("<base64-encoded password>");
|
|
65
68
|
```
|
|
66
69
|
|
|
@@ -68,6 +71,6 @@ atob("<base64-encoded password>");
|
|
|
68
71
|
|
|
69
72
|
Alternatively, use the `base64` command line tool, but doing so means it may be saved in your terminal history which is not recommended:
|
|
70
73
|
|
|
71
|
-
```bash
|
|
74
|
+
```bash terminal icon="terminal"
|
|
72
75
|
echo "base64-encoded-password" | base64 --decode
|
|
73
76
|
```
|
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Install dependencies with Bun in GitHub Actions
|
|
3
|
+
sidebarTitle: Install Bun in GitHub Actions
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
Use the official [`setup-bun`](https://github.com/oven-sh/setup-bun) GitHub Action to install `bun` in your GitHub Actions runner.
|
|
6
8
|
|
|
7
|
-
```yaml
|
|
8
|
-
|
|
9
|
+
```yaml workflow.yml icon="file-code"
|
|
10
|
+
title: my-workflow
|
|
9
11
|
jobs:
|
|
10
12
|
my-job:
|
|
11
|
-
|
|
13
|
+
title: my-job
|
|
12
14
|
runs-on: ubuntu-latest
|
|
13
15
|
steps:
|
|
14
16
|
# ...
|
|
15
17
|
- uses: actions/checkout@v4
|
|
16
|
-
|
|
18
|
+
- uses: oven-sh/setup-bun@v2 // [!code ++]
|
|
17
19
|
|
|
18
20
|
# run any `bun` or `bunx` command
|
|
19
|
-
|
|
20
|
-
+ - run: bun index.ts
|
|
21
|
-
+ - run: bun run build
|
|
21
|
+
- run: bun install // [!code ++]
|
|
22
22
|
```
|
|
23
23
|
|
|
24
24
|
---
|
|
25
25
|
|
|
26
26
|
To specify a version of Bun to install:
|
|
27
27
|
|
|
28
|
-
```yaml
|
|
29
|
-
|
|
28
|
+
```yaml workflow.yml icon="file-code"
|
|
29
|
+
title: my-workflow
|
|
30
30
|
jobs:
|
|
31
31
|
my-job:
|
|
32
|
-
|
|
32
|
+
title: my-job
|
|
33
33
|
runs-on: ubuntu-latest
|
|
34
34
|
steps:
|
|
35
35
|
# ...
|
|
36
36
|
- uses: oven-sh/setup-bun@v2
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
with: # [!code ++]
|
|
38
|
+
version: "latest" # or "canary" # [!code ++]
|
|
39
39
|
```
|
|
40
40
|
|
|
41
41
|
---
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
2
|
+
title: Override the default npm registry for bun install
|
|
3
|
+
sidebarTitle: Override the default npm registry
|
|
4
|
+
mode: center
|
|
3
5
|
---
|
|
4
6
|
|
|
5
7
|
The default registry is `registry.npmjs.org`. This can be globally configured in `bunfig.toml`.
|
|
6
8
|
|
|
7
|
-
```toml
|
|
9
|
+
```toml bunfig.toml icon="settings"
|
|
8
10
|
[install]
|
|
9
11
|
# set default registry as a string
|
|
10
12
|
registry = "https://registry.npmjs.org"
|
|
@@ -13,14 +15,14 @@ registry = "https://registry.npmjs.org"
|
|
|
13
15
|
registry = { url = "https://registry.npmjs.org", token = "123456" }
|
|
14
16
|
|
|
15
17
|
# if needed, set a username/password
|
|
16
|
-
registry = "https://
|
|
18
|
+
registry = "https://usertitle:password@registry.npmjs.org"
|
|
17
19
|
```
|
|
18
20
|
|
|
19
21
|
---
|
|
20
22
|
|
|
21
23
|
Your `bunfig.toml` can reference environment variables. Bun automatically loads environment variables from `.env.local`, `.env.[NODE_ENV]`, and `.env`. See [Docs > Environment variables](https://bun.com/docs/runtime/env) for more information.
|
|
22
24
|
|
|
23
|
-
```toml
|
|
25
|
+
```toml bunfig.toml icon="settings"
|
|
24
26
|
[install]
|
|
25
27
|
registry = { url = "https://registry.npmjs.org", token = "$npm_token" }
|
|
26
28
|
```
|