CodeVetter · Repo Unpack · Feature catalog
rolldown/rolldown
The user-facing product is chiefly a CLI and a programmatic bundling API. Output operations support memory generation and filesystem writing, complemented by plugins and compiler utilities. Experimental surfaces expose development-engine callbacks, browser memory filesystems, and Vite-oriented integrations. The following catalog covers inspected capabilities rather than asserting an exhaustive option inventory.
- rolldown(input) returns a Rollup-compatible bundle object whose generate() produces in-memory output and write() produces disk output.
- The experimental build() convenience API defaults write to true, supports write:false, accepts arrays, and closes each individual build in finally.
- The CLI handles help/version, config-based or positional-input bundling, and --environment assignments; without an output destination it prints generated code/assets, while watch requires an output destination.
- Configuration discovery supports rolldown.config with .js/.mjs/.cjs/.ts/.mts/.cts extensions; config functions receive raw CLI arguments, and native versus bundle loaders select execution paths.
- watch() rebuilds when modules change and exposes event/change/restart/close notifications; BUNDLE_END and ERROR events carry results with close support.
- Experimental DevEngine exposes a current module graph, HMR/output/additional-asset callbacks, rebuild strategy selection, and configurable polling/debounce/include/exclude watch settings.
- rolldown/utils exports synchronous/asynchronous parsing, minification, and transformation plus TsconfigCache and Visitor; experimental browser builds additionally expose memfs.
- Inspected builtins cover external-require conversion and replacement, plus experimental Vite resolve/JSON/glob/import-analysis/preload/worker/React-refresh/reporting/manifest/transform helpers and bundle analysis.