aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/bundler/migration.md30
-rw-r--r--docs/cli/build.md74
2 files changed, 87 insertions, 17 deletions
diff --git a/docs/bundler/migration.md b/docs/bundler/migration.md
index 260acf1ba..aac37479c 100644
--- a/docs/bundler/migration.md
+++ b/docs/bundler/migration.md
@@ -63,8 +63,8 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
---
-- `--loader`
-- `--loader`
+- `--loader:.ext=loader`
+- `--loader .ext:loader`
- Bun supports a different set of built-in loaders than esbuild; see [Bundler > Loaders](/docs/bundler/loaders) for a complete reference. The esbuild loaders `dataurl`, `binary`, `base64`, `copy`, and `empty` are not yet implemented.
The syntax for `--loader` is slightly different.
@@ -131,7 +131,7 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
- `--watch`
- n/a
-- Not applicable.
+- Not applicable
---
@@ -143,7 +143,7 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
- `--analyze`
- n/a
-- Not supported. Use `--manifest` to generate a manifest file.
+- Not supported
---
@@ -161,7 +161,7 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
- `--certfile`
- n/a
-- Not applicable, Bun's bundler does
+- Not applicable
---
@@ -203,7 +203,7 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
- `--global-name`
- n/a
-- Not applicable, Bun does not support `iife` output at this time.
+- Not applicable, Bun does not support `iife` output at this time
---
@@ -248,7 +248,7 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
- `--jsx-side-effects`
- n/a
-- JSX is always assumed to be side-effect-free.
+- JSX is always assumed to be side-effect-free
---
@@ -313,7 +313,8 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
---
- `--metafile`
-- `--manifest`
+- n/a
+- Not supported
---
@@ -340,7 +341,6 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
- `--outbase`
- `--root`
-- Not supported
---
@@ -515,7 +515,6 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
- `define`
- `define`
-- Not supported in JS API
---
@@ -637,8 +636,8 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
---
- `loader`
-- n/a
-- Not supported in JS API
+- `loader`
+- Bun supports a different set of built-in loaders than esbuild; see [Bundler > Loaders](/docs/bundler/loaders) for a complete reference. The esbuild loaders `dataurl`, `binary`, `base64`, `copy`, and `empty` are not yet implemented.
---
@@ -685,8 +684,11 @@ In Bun's CLI, simple boolean flags like `--minify` do not accept an argument. Ot
---
- `metafile`
-- `manifest`
-- When `manifest` is `true`, the result of `Bun.build()` will contain a `manifest` property. The manifest is compatible with esbuild's metafile format.
+- n/a
+- Not supported
+
+<!-- - `manifest`
+- When `manifest` is `true`, the result of `Bun.build()` will contain a `manifest` property. The manifest is compatible with esbuild's metafile format. -->
---
diff --git a/docs/cli/build.md b/docs/cli/build.md
index f205969d5..01262944d 100644
--- a/docs/cli/build.md
+++ b/docs/cli/build.md
@@ -324,7 +324,7 @@ Depending on the target, Bun will apply different module resolution rules and op
{% /table %}
-<!-- ### `module`
+### `format`
Specifies the module format to be used in the generated bundles.
@@ -714,6 +714,24 @@ var value = z.string().parse("Hello world!")
console.log(_.upperCase(value));
```
+To mark all imports as external, use the wildcard `*`:
+
+{% codetabs %}
+
+```ts#JavaScript
+await Bun.build({
+ entrypoints: ['./index.tsx'],
+ outdir: './out',
+ external: ['*'],
+})
+```
+
+```bash#CLI
+$ bun build ./index.tsx --outdir ./out --external '*'
+```
+
+{% /codetabs %}
+
### `naming`
Customizes the generated file names. Defaults to `./[dir]/[name].[ext]`.
@@ -988,6 +1006,56 @@ The output file would now look something like this.
+ var logo = 'https://cdn.example.com/logo-a7305bdef.svg';
```
+### `define`
+
+A map of global identifiers to be replaced at build time. Keys of this object are identifier names, and values are JSON strings that will be inlined.
+
+{% callout }
+This is not needed to inline `process.env.NODE_ENV`, as Bun does this automatically.
+{% /callout %}
+
+{% codetabs %}
+
+```ts#JavaScript
+await Bun.build({
+ entrypoints: ['./index.tsx'],
+ outdir: './out',
+ define: {
+ STRING: JSON.stringify("value"),
+ "nested.boolean": "true",
+ },
+})
+```
+
+```bash#CLI
+$ bun build ./index.tsx --outdir ./out --define 'STRING="value"' --define "nested.boolean=true"
+```
+
+{% /codetabs %}
+
+### `loader`
+
+A map of file extensions to [built-in loader names](https://bun.sh/docs/bundler/loaders#built-in-loaders). This can be used to quickly customize how certain file files are loaded.
+
+{% codetabs %}
+
+```ts#JavaScript
+await Bun.build({
+ entrypoints: ['./index.tsx'],
+ outdir: './out',
+ loader: {
+ ".png": "dataurl",
+ ".txt": "file",
+ },
+})
+```
+
+```bash#CLI
+$ bun build ./index.tsx --outdir ./out --loader .png:dataurl --loader .txt:file
+```
+
+{% /codetabs %}
+
## Reference
```ts
@@ -1003,8 +1071,8 @@ interface BuildOptions {
outdir?: string; // default: no write (in-memory only)
target?: "browser" | "bun" | "node"; // "browser"
splitting?: boolean; // true
- plugins?: BunPlugin[]; // []
- loader?: { [k in string]: Loader };
+ plugins?: BunPlugin[]; // [] // See https://bun.sh/docs/bundler/plugins
+ loader?: { [k in string]: Loader }; // See https://bun.sh/docs/bundler/loaders
manifest?: boolean; // false
external?: string[]; // []
sourcemap?: "none" | "inline" | "external"; // "none"
ore <natemoo-re@users.noreply.github.com> 2023-08-22Deprecate drafts feature (#8099)Gravatar Bjorn Lu 7-7/+41 Co-authored-by: Sarah Rainsberger <sarah@rainsberger.ca> 2023-08-21Use more permissive type for `defineCollection` schema option (#8163)Gravatar Chris Swithinbank 2-5/+7 Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> 2023-08-21feat: style scoped hash is lowercase (#8180)Gravatar Emanuele Stoppa 4-7/+48 2023-08-21RC Release candidate (#8179)Gravatar Matthew Phillips 2-1/+32 * RC Release candidate * Use the rc tag 2023-08-21Set Markdoc integration version to a minor (#8177)Gravatar Matthew Phillips 1-1/+1 2023-08-21fix(@astrojs/node): handler should work with `express` (#8176)Gravatar Emanuele Stoppa 7-16/+221 2023-08-21[docs] deprecate build.split and build.excludeMiddleware in config ref (#8158)Gravatar Sarah Rainsberger 1-25/+7 2023-08-21chore: lock fileGravatar Emanuele Stoppa 1-0/+4 2023-08-21[ci] formatGravatar natemoo-re 4-9/+15 2023-08-21Stringify shouldn't throw on user object during rendering (#8127)Gravatar Nate Moore 9-46/+115 * fix(#7923): do not throw on user { type } object * chore: remove unused type export * chore: guess it wasn't unused 2023-08-21[ci] formatGravatar natemoo-re 1-1/+4 2023-08-21fix(dev): open to base path (#8123)Gravatar Nate Moore 2-1/+8 2023-08-21chore(gitpod): resolve potential globbing and word splitting issue (#8124)Gravatar Ben Elan 1-1/+1 Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> 2023-08-21fix(#6965): fix build stats (#8122)Gravatar Nate Moore 2-1/+8 2023-08-21only update our own history entires during back navigation through view ↵Gravatar Martin Trapp 2-3/+11 transitions (#8116) 2023-08-21fix: reinsert attribute to specify direction of ViewTransition (forward / ↵Gravatar Martin Trapp 2-7/+12 back) (#8109) 2023-08-21Remove deprecated APIs (#8170)Gravatar Bjorn Lu 4-107/+5 2023-08-21Remove pre-shiki v0.14 theme names (#8169)Gravatar Bjorn Lu 6-80/+14 2023-08-21[docs] JSX framework integration READMEs (#8151)Gravatar Sarah Rainsberger 3-0/+104 2023-08-21fix(assets): Add missing type for imageConfig export (#8171)Gravatar Erika 2-1/+7 2023-08-21Deprecate simple objects from endpoints (#8132)Gravatar Bjorn Lu 20-201/+243 2023-08-18[docs] update scopedStyleStragegy default and description (#8148)Gravatar Sarah Rainsberger 1-2/+2 2023-08-18[ci] release (#8145)astro@2.10.12@astrojs/react@2.3.2@astrojs/node@5.3.5Gravatar Houston (Bot) 46-92/+98 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> 2023-08-18Fix missing package file regression (#8149)Gravatar Matthew Phillips 2-1/+7 2023-08-18fix(node): delegate preview's not found and error handling to core/app (#8141)Gravatar Arsh 2-9/+6 * fix(node): delegate preview's not found and error handling to core/app * add changeset --------- Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> 2023-08-18Replace `class:list` implementation with `clsx` (#8142)Gravatar Nate Moore 12-68/+133 * chore: replace `class:list` implementation with `clsx` * chore: remove Set support from `class:list` test * chore: better class:list test * Update packages/astro/src/runtime/server/render/component.ts 2023-08-18[ci] formatGravatar matthewp 1-1/+4 2023-08-18fix(data collections): normalize file paths for DataEntry.id (#8144)Gravatar Arsh 2-1/+6 * normalize file paths for DataEntry.id * add changeset 2023-08-18[ci] release (beta) (#8140)astro@3.0.0-beta.4Gravatar Houston (Bot) 41-65/+72 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> 2023-08-18[error messages] Update image errors-data.ts (#8126)Gravatar Sarah Rainsberger 1-12/+12 Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> 2023-08-18fix(polyfills): Use object shape for Stackblitz polyfill listGravatar Princesseuh 1-2/+2 2023-08-18fix: polyfill File using undici instead of node:buffer (#8139)Gravatar Erika 2-8/+9 * fix: polyfill File using undici instead of node:buffer * chore: changeset 2023-08-18[ci] release (beta) (#8073)create-astro@4.0.0-beta.1astro@3.0.0-beta.3@astrojs/vercel@4.0.0-beta.3@astrojs/telemetry@3.0.0-beta.2@astrojs/svelte@4.0.0-beta.1@astrojs/solid-js@3.0.0-beta.2@astrojs/react@3.0.0-beta.3@astrojs/mdx@1.0.0-beta.1@astrojs/cloudflare@7.0.0-beta.2Gravatar Houston (Bot) 63-117/+389 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> 2023-08-18[ci] release (#8138)astro@2.10.11@astrojs/react@2.3.1Gravatar Houston (Bot) 44-80/+82 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> 2023-08-18[ci] formatGravatar natemoo-re 1-1/+1 2023-08-18Fix 404 response leading to an infinite loop when there is no 404 page (#8136)Gravatar André Alves 2-1/+10 * fix: 404 response leads to infinite loop * chore: changeset --------- Co-authored-by: Nate Moore <natemoo-re@users.noreply.github.com> 2023-08-18fix(react): add missing export (#8137)Gravatar Nate Moore 2-1/+7 2023-08-18[ci] release (#8096)create-astro@3.2.2astro@2.10.10@astrojs/vercel@3.8.2@astrojs/svelte@3.1.1@astrojs/solid-js@2.2.1@astrojs/react@2.3.0Gravatar Houston (Bot) 63-197/+186 Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> 2023-08-18changeset(next): inlineStylesheets default switch is major (#8133)Gravatar Arsh 1-1/+1 2023-08-18feat: add polyfills for stackblitz (#8130)Gravatar Erika 7-6/+86 * feat: add polyfills for Stackblitz * chore: changeset