Ein Blog

Bun hat jetzt Makros:

random.ts:

export function random() {
  return Math.random();
}

main.ts:

import { random } from './random.ts' with { type: 'macro' };

console.log(`Your random number is ${random()}`);

Output im gebundleten js-File:

$ bun build ./cli.tsx
console.log(`Your random number is ${0.6805550949689833}`);

Interessantes Feature, das im Bundler-Bereich ein paar Grenzen verschieben könnte. So sontan könnte man damit einfach alle Bundler-Plugins durch einfache es-module ersetzen. Das würde IMHO Build-Toolchains deutlich vereinfachen.