Awesome Rollup
⚡️ Delightful Rollup Plugins, Packages, and Resources
Resources
Plugins
Core Plugins
Plugins created and maintained by the Rollup organization.
- alias - Alias modules in a build.
- babel - Seamless integration with Babel.
- buble – Transpile with Bublé.
- commonjs - Convert CommonJS modules to ES Modules.
- dsv - Convert CSV and TSV files into JavaScript modules.
- eslint - Lint entry points and all imported files with ESLint.
- html - Creates HTML files to serve Rollup bundles
- image - Import JPG, PNG, GIF and SVG images.
- inject - Scans for global variables and injects
import
statements.
- json - Convert JSON files to ES Modules.
- legacy - Add export statements to plain scripts.
- multi-entry - Multiple entry points for a bundle.
- node-resolve - Use the Node resolution algorithm.
- replace – Replace occurrences of a set of strings.
- run - Run your bundle after it's generated.
- strip - Remove expressions from code.
- sucrase - Compile
, Flow, JSX.
- typescript - Seamless integration with Typescript.
- url - Inline import files as data-URIs.
- virtual - Load modules from memory.
- wasm - Inlines and imports WebAssembly modules.
- yaml - Import data from YAML files.
All-Purpose Awesome
- build-statistics - Plugin that keeps a continuous log of your build time.
- dev - Development server with additional logging and options.
- graph – Generates a module dependency graph.
- nollup - Rollup-compatible development bundler providing Hot Module Replacement.
- notify – Display errors as system notifications.
- progress - Show build progress in the console.
- rollpkg - No config build tool to create packages with Rollup and TypeScript
- serve - Development Server in a Plugin.
- sizes - Display bundle content and size in the console.
- size-snapshot - Track bundle size and treeshakability with ease.
- visualizer - Bundle and dependency visualizer.
Code Quality
Plugins which help with code quality.
- analyzer - Statistics and Metrics for a bundle.
- cleanup – Remove and modify code based on an opinionated ruleset.
- eslint-bundle - Lint bundles with ESLint.
- flow - Remove Flow type annotations.
- flow-entry - Export Flow types from a bundle.
- istanbul - Seamless integration with Istanbul.
- sass-lint - Lint SCSS files
- stylint - Lint Stylus files.
- unassert - Remove assertion calls.
CSS
Plugins for working with CSS.
- bundle-scss - Bundle all SCSS imports into one SCSS file.
- collect-sass - Compiler SASS files in a single context.
- css-only – Output plain CSS.
- css-porter - Combine CSS imports and output to file.
- embed-css - Import and append CSS to a bundle.
- less - Compile LESS files.
- less-modules - Import or Bundle LESS files.
- modular-css - Alternative CSS Modules implementation supporting Rollup.
- postcss - Seamless integration with PostCSS.
- sass - SASS integration for a bundle.
- scss - Compile SASS and CSS.
- styles - Universal plugin for styles: PostCSS, Sass, Less, Stylus and more.
- stylus-css-modules – Compile Stylus and inject CSS modules
- sass-variables - Import SASS variables as Objects.
Frameworks
Plugins for working with awesome JavaScript frameworks.
- angular - Angular2 template and styles inliner.
- jsx - Compile React JSX and JSX-like components.
- riot - Riot.js tagfile support.
- svelte — Compile Svelte components.
- vue - Compile Vue components.
- vue-inline-svg - Import SVG files as Vue components.
Modules
Plugins which control the behaviour of modules: dependencies, imports, exports,
and external modules.
Other File Imports
Plugins which allow importing other types of files as modules.
- file-as-blob – Import a file as a
blob:
URL.
- geojson - Convert GeoJSON files to ES Modules.
- glsl - Import GLSL shaders as compressed strings.
- glsl-optimize - Import and optimize GLSL shaders as compressed strings. Supports glslify.
- glslify - Import GLSL strings with glslify.
- gltf - Import glTF 3d models as a URI or inlined JSON.
- html - Import html files as strings.
- hypothetical - Import modules from a virtual filesystem.
- imagemin - Optimize images with imagemin.
- jsonlines - Imports .jsonl (JSON Lines) files as JSON arrays.
- markdown - Import code from fenced code blocks in Markdown.
- md - Import and compile markdown files.
- mjml - Convert MJML into responsive email templates.
- @wasm-tool/rust - Bundle and import Rust crates.
- rust - Compile Rust as WebAssembly or a Node.js Add-on.
- spritesmith — Convert a set of images into a spritesmith sprite-sheet.
- string – Import text files as strings.
- svg-import - Import SVG files as SVG DOM Node or string.
- svg-sprite — Import SVG files as an external SVG sprite.
- svg-to-symbol - Import SVG files as symbol strings.
- svgo - Import SVG files as strings
- vinyl - Import from Vinyl files
- smart-asset - Import any assets as url using rebase, copy or inline mode. Similar to
url
but has more hashing options and works well together with babel using transform hook.
- toml - Convert .toml files to ES6 modules.
Output
Plugins which affect the final output of a bundle.
- app-utils - Common build utilities for applications.
- banner - Append content before js bundle.
- bundleutils - Set of commonly used utility functions.
- bundle-html - Inject the bundle js/css files as well as external js/css files to html template.
- by-output - Apply plugins according to special output option, reduce config and save time.
- clear - Clear an output directory before a build.
- closure-compiler – Compress Rollup Bundles with Closure Compiler.
- concatfiles - Concatenate files to bundle or other files.
- copy - Copy files during a build.
- copy-assets - Copy specified assets to the output directory.
- cpy - Easily copy files and folders during a build.
- copy-smartly - Smartly copy files if they are changed, created or deleted.
- delete - Delete files and folders during a build.
- emit-ejs - Emit files from ejs templates.
- espruino - Send a bundle to Espruino devices.
- filesize - Display the file size of the bundle in the console.
- generate-html-template - Generate an HTML file for a bundle.
- generate-package-json - Generate a
package.json
file with dependencies from your bundle.
- gzip - Create a compressed GZ artifact for your bundle.
- hash – Generate output files with unique hashes.
- html-minifier – Minify HTML output files using html-minifier.
- iife - Convert ES modules to Immediately Invoked Function Expressions.
- license - Add Licensing to a bundle.
- live-reload - Live reloading for a bundle.
- manifest-json - Generate a
manifest.json
file for a PWA.
- output-manifest - Generating a chunk manifest.
- preserve-shebang - Preserves leading shebang in a build entry.
- prettier - Run prettier on a bundle.
- rebase - Copies and adjusts asset references to new destination-relative location.
- shift-header - Move comment headers to the top of a bundle.
- sri - Add subresource integrity attributes for your bundle.
- static-site - Generate HTML for a bundle.
- terser - Minify a bundle using Terser.
- uglify - Minify a bundle with UglifyJS.
- version-injector - Inject your package’s version number into static build files.
- zip - Pack all assets into a zip file.
Templating
Plugins for working with template languages.
- twig - Import pre-compiled Twig.js templates.
- dustjs - Import Dust.js templates.
- eft - Compile ef.js templates.
- ejs - Compile .EJS templates.
- jst - Compile Lodash templates.
- lit-html - Compile "plain" .html files as
lit-html
templates
- posthtml-template - Seamless integration with PostHTML
- pug - Compile Pug Templates as es6 modules.
- pug-html - Import Pug Templates as HTML strings during a build.
- reshape - Compile Reshape Templates.
Text Replacement
Plugins which search for, and replace text in a bundle.
- ascii – Rewrite non-ASCII characters as string literals.
- re – Replace text with Regular Expressions.
- strip-code - Remove text with Regular Expressions.
Transpilation
Plugins which affect code.
- async - Replace
async
functions with generators.
- bucklescript - Compile ReasonML / OCaml.
- coffee-react - Compile CJSX and CoffeeScript.
- coffee-script – Compile CoffeeScript.
- dts - Rollup
.d.ts
TypeScript Definition files.
- elm - Compile Elm.
- esbuild-transform - Transform with esbuild.
- flat-dts -
.d.ts
files flattener.
- jspicl - Transpile JavaScript into PICO-8 Lua.
- nodent - Transpile ES2017
async
/await
.
- pegjs - Import PEG.js grammars as parsers.
- purs - Compile PureScript.
- regenerator - Replace
async
functions with ES5 Promise functions.
- ts - Transpile with Babel, TypeScript, or both, while respecting Browserslist and TypeScript declarations.
- typescript2 - Compile TypeScript v2.0+.
Workflow
Plugins which affect the Rollup workflow.
Packages
Core Packages
Packages created and maintained by the Rollup organization.
Community Packages