Rollup-all is a build tool that wraps Rollup to automatically generate CommonJS, ES module, and browser (IIFE/UMD) bundles from a single source, with built-in Babel and TypeScript support. Current stable version is 4.0.0 (August 2025), with active development and semantic versioning. It differentiates from raw Rollup by providing an opinionated, zero-config setup that handles multiple output formats, minification, asset copying, and type definition file generation without manual configuration. Notable breaking changes occurred in v3.0.0 (format configuration restructured) and v4.0.0 (defaults moved to config root). Supports Node.js 12+ and is primarily used for library development.
npm install rollup-allVerified import paths — ran on the pinned version, not inferred.
Covers installation, npm script setup, and optional configuration with config() function including babel presets and build options.
Move any options previously under config.defaults to the root of the config object.
Update your rollup.config.js to use the new format enablement structure: e.g., config({ distConfig: { enabled: true } }) instead of previous format.Install @babel/core, @babel/preset-env, @babel/preset-typescript, @babel/runtime, and @babel/plugin-transform-runtime as devDependencies.
Ensure 'typescript' is in your devDependencies.
Use 'minified: true' instead of 'uglify: true' in the config object.
npm install --save-dev rollup
Use 'import { config } from 'rollup-all'' or 'const { config } = require('rollup-all')'.Ensure a rollup.config.js file exists at project root, or run rollup-all with explicit config path.
Install @types/node and ensure tsconfig includes 'moduleResolution': 'node' and 'allowSyntheticDefaultImports': true.