# Feature catalog — rollup/rollup

> Canonical page: https://codevetter.com/unpack/rollup/feature-catalog

# Feature catalog — rollup/rollup

Scanned commit a77225f4b9ef88f20d26a32a3dc70954241f3fb6 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The principal features are module bundling, tree-shaking, configurable chunking, and output generation. Users can invoke them through configuration files, CLI arguments, or the JavaScript API. Plugins supply resolution, transformation, virtual modules, and emitted assets. Watch mode and browser execution expose different environment capabilities.
- The build API exposes generate, write, cache, watchFiles, close, and asynchronous disposal; perf-enabled builds also expose getTimings. — [src/rollup/rollup.ts#L107-137](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/src/rollup/rollup.ts#L107-L137)
- Output finalisers support AMD, CommonJS, ES modules, IIFE, SystemJS, and UMD. — [src/finalisers/index.ts#L5-10](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/src/finalisers/index.ts#L5-L10) [src/finalisers/index.ts#L30-36](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/src/finalisers/index.ts#L30-L36)
- Tree-shaking iterates module inclusion until no additional pass is requested; disabled tree-shaking includes all modules, and no-treeshake modules bypass selective inclusion. — [src/Graph.ts#L171-209](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/src/Graph.ts#L171-L209)
- Chunk generation supports inlineDynamicImports, preserveModules, automatic assignments, and manualChunks; manual assignment can use module introspection. — [src/Bundle.ts#L110-144](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/src/Bundle.ts#L110-L144) [src/Bundle.ts#L175-194](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/src/Bundle.ts#L175-L194)
- The CLI supports configuration arrays, sequential builds, environment-variable assignments, watch mode, and failAfterWarnings. — [cli/run/index.ts#L42-75](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/cli/run/index.ts#L42-L75) [cli/run/loadConfigFile.ts#L184-191](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/cli/run/loadConfigFile.ts#L184-L191)
- CLI stdin is represented by '-' or a suffixed virtual ID; builds without an output destination generate to stdout and allow only inline sourcemaps there. — [cli/run/stdin.ts#L4-21](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/cli/run/stdin.ts#L4-L21) [cli/run/build.ts#L17-18](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/cli/run/build.ts#L17-L18) [cli/run/build.ts#L33-43](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/cli/run/build.ts#L33-L43)
- The browser package can obtain modules through resolveId/load plugins or an injected filesystem; its WASM artifact must be served beside the JavaScript bundle. — [docs/browser/index.md#L35-41](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/docs/browser/index.md#L35-L41) [docs/browser/index.md#L64-97](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/docs/browser/index.md#L64-L97) [src/utils/options/normalizeInputOptions.ts#L49-56](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/src/utils/options/normalizeInputOptions.ts#L49-L56)
- Output options expose asset/chunk naming, content-hash alphabets, sourcemaps, source exclusion, ignore-list callbacks, and sourcemap path transformation. — [src/utils/options/normalizeOutputOptions.ts#L50-72](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/src/utils/options/normalizeOutputOptions.ts#L50-L72) [src/utils/options/normalizeOutputOptions.ts#L90-109](https://github.com/rollup/rollup/blob/a77225f4b9ef88f20d26a32a3dc70954241f3fb6/src/utils/options/normalizeOutputOptions.ts#L90-L109)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
