Workaround for bun not having a way to define all node_modules as external oven-sh/bun#6351
bun install -D @enalmada/bun-externals
// build.ts
/// <reference types="bun-types" />
import getExternalDependencies from '@enalmada/bun-externals';
export async function buildWithExternals(): Promise<void> {
const externals = await getExternalDependencies();
const result = await Bun.build({
entrypoints: ['./src/index.ts'],
outdir: './dist',
target: 'node',
external: externals,
root: './src',
});
if (!result.success) {
console.error('Build failed');
for (const message of result.logs) {
console.error(message);
}
throw new AggregateError(result.logs, 'Build failed');
}
}
void buildWithExternals();
See build.ts for example
- deprecate with a plugin or actual bun feature
- Using latest module and target settings for current LTS
- using tsc for types until bun support comes around
Using changesets so please remember to run "changeset" with any PR that might be interesting to people on an older template. Although this isn't being deployed as a module, I would like to call out things worth keeping in sync.