
Rollup is a module bundler that takes ES modules as input and combines them into a single file or a set of chunks. It analyses the import graph statically, removes exports that are never used through tree shaking, and can emit formats such as ES modules, CommonJS, UMD and IIFE so the same source can serve browsers, Node.js and legacy script tags.
The official site provides a step by step tutorial, a full list of command line flags, the configuration file reference, guides on tree shaking, code splitting and watch mode, and documentation of the plugin hooks that let the community add transpilation, asset handling, minification and framework specific transforms.
It suits library authors who care about small, clean output bundles, teams publishing packages that must work in several module systems, and build tool maintainers who need a predictable, standards based core that other tools can extend through plugins rather than configuration forks.
Compared with application oriented bundlers it produces leaner library output and treats ES modules as the primary format, but it leaves dev server conveniences and asset pipelines to plugins; compared with simple concatenation it adds scope analysis, dead code elimination and reliable chunk naming.
Mark side effect free modules in package metadata so tree shaking can work, choose output formats deliberately for each target environment, pin plugin versions because hook behavior changes between releases, and inspect the generated bundle before publishing to catch unexpected polyfills.