npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

fancy-rollup

v0.5.5

Published

Multi-process Rollup wrapper.

Readme

fancy-rollup

npm Dependencies JavaScript Standard Style

Multi-process Rollup wrapper.

Preview

Purpose

Rollup has the ability to create multiple bundles from a single invocation of the rollup command. All you need to do is export an array of build configurations from your configuration file. Great, right?

Well, using this method, a single Rollup process will simply create all the configured bundles in sequence. Unfortunately, that can get pretty slow. Computers are great at parallelization, so what you probably want to do instead is run your builds concurrently.

To accomplish that, you could create a configuration file per build and invoke rollup once for each of those files. Once you've figured out how to coordinate all that, you'd probably turn your attention to reporting progress from each of the builds in a comprehensive way.

What fancy-rollup does is handle all this for you. Firstly, it will start multiple Node processes that each run Rollup, using all of your machine's available processing power and dramatically speeding up builds. Secondly, it comes with multiple reporters that provide a nice overview of build progress.

Installation

For convenience, you can install fancy-rollup globally:

yarn global add fancy-rollup

However, you probably want to make it a devDependency of your package instead:

yarn add fancy-rollup --dev

Configuration

Like Rollup itself, fancy-rollup will read rollup.config.js in the current working directory. Just export an array of build configurations and you're good to go.

Usage

Simply invoke fancy-rollup from the command line:

fancy-rollup

An API for invoking fancy-rollup from your JavaScript code is in the works.

Options

| Option | Description | |--------|-------------| | -c <filename>--config | Specify config file name. Identical to Rollup's option. | | -t <id>--target | Select targets to build. May be specified multiple times. Default is all. | | -r <name>--reporter | Select style for reporting progress. See below. | | -p <number>--concurrency | Limit number of concurrent builds. Default is one per CPU core. | | -v--version | Show version number. | | -h--help | Show help. |

Reporters

| Reporter | Description | |----------|-------------| | interactive | Tailing logger with progress bar and timer. Default. | | dumb | Tailing logger only. Default for non-TTY environments. | | simple | Live-updating one-line status. | | list | Live-updating checklist using Listr. | | essential | Rollup output only. | | silent | No output. |

Rollup Versioning

It's generally a good idea to lock down the version of Rollup that you want to use for bundling. Specifying an exact version lets you avoid API inconsistencies and other unexpected behavior.

This is accomplished by simply installing the correct rollup package alongside fancy-rollup. In other words, put both of them in the same package.json file so that yarn (or npm install) puts them under the same node_modules directory.

If fancy-rollup cannot find rollup under the package directory's node_modules, it will check the parent directory's, then that one's parent directory's, etc. This is Node's standard module resolution in action.

If none of the parent directories contain a rollup installation either, fancy-rollup will fall back to using its own version. You can check which one that is by consulting package.json.

Author

Tim De Pauw

License

MIT