Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/compiler/executables.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -1024,7 +1024,7 @@ for (const blob of embeddedFiles) {
Each item in `Bun.embeddedFiles` is a `Blob` with a `name` property:

```ts
embeddedFiles: ReadonlyArray<Blob>;
declare const embeddedFiles: ReadonlyArray<Blob & { readonly name: string }>;
```

Use it to serve every embedded asset through static routes:
Expand Down
4 changes: 3 additions & 1 deletion packages/bun-types/bun.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5193,9 +5193,11 @@ declare module "bun" {
/**
* A list of files embedded into the standalone executable, lexicographically sorted by name.
*
* The `name` of each file is its name in the executable, such as `"icon-a1b2c3d4.png"`.
*
* If the process is not a standalone executable, this array is empty.
*/
const embeddedFiles: ReadonlyArray<Blob>;
const embeddedFiles: ReadonlyArray<Blob & { readonly name: string }>;

/**
* `true` when the current process is a standalone executable produced by
Expand Down
8 changes: 8 additions & 0 deletions test/integration/bun-types/fixture/bun.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,14 @@ import * as tsd from "./utilities";
tsd.expectType<BunFile>(f);
tsd.expectType<FileBlob>(f);
}
{
for (const file of Bun.embeddedFiles) {
tsd.expectType(file.name).is<string>();
tsd.expectType(file).extends<Blob>();
}
// @ts-expect-error - a Blob that is not an embedded file has no name
const notEmbedded: (typeof Bun.embeddedFiles)[number] = new Blob([]);
}
{
Bun.spawn(["anything"], {
env: process.env,
Expand Down
Loading