docs/apis/bundler-api.md
Rolldown provides three main API functions for bundling your code programmatically.
rolldown()rolldown() is the API compatible with Rollup's rollup function.
import { rolldown } from 'rolldown';
let bundle,
failed = false;
try {
bundle = await rolldown({
input: 'src/main.js',
});
await bundle.write({
format: 'esm',
});
} catch (e) {
console.error(e);
failed = true;
}
if (bundle) {
await bundle.close();
}
process.exitCode = failed ? 1 : 0;
See its reference for more details.
watch()watch() is the API compatible with Rollup's watch function.
import { watch } from 'rolldown';
const watcher = watch({
/* ... */
});
watcher.on('event', (event) => {
if (event.code === 'BUNDLE_END') {
console.log(event.duration);
event.result.close();
}
});
// Stop watching
watcher.close();
See its reference for more details.
build()::: warning Experimental
This API is experimental and may change in patch releases.
:::
build() is the simplest option for most use cases. The API is similar to esbuild's build function. It bundles and writes in a single call with automatic cleanup.
import { build } from 'rolldown';
const result = await build({
input: 'src/main.js',
output: {
file: 'bundle.js',
},
});
console.log(result);
See its reference for more details.