⚡️ Delightful Rollup Plugins, Packages, and Resources
- Official Guide - The user guide and documentation site.
- graph – Generates a module dependency graph.
- notify – Display errors as system notifications.
- progress - Show build progress in the console.
- 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.
Plugins which help with code quality.
- analyzer - Statistics and Metrics for a bundle.
- cleanup – Remove and modify code based on an opinionated ruleset.
- eslint - verify entry and imported scripts
- 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
- strip - Remove expressions from code.
- stylint - Lint Stylus files.
- unassert - Remove assertion calls.
Plugins for working with CSS.
- 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.
- modular-css - Alternative CSS Modules implementation supporting Rollup.
- postcss - Seamless integration with PostCSS.
- sass - SASS integration for a bundle.
- scss - Compile SASS and CSS.
- stylus-css-modules – Compile Stylus and inject CSS modules
- sass-variables - Import SASS variables as Objects.
Plugins for working with awesome JavaScript frameworks.
- angular - Angular2 template and styles inliner.
- jsx - Compile React JSX and JSX-like components.
- ractive - Precompile Ractive components.
- riot - Riot.js tagfile support.
- svelte — Compile Svelte components.
- vue - Compile Vue components.
- vue2 - compile Vue 2.0 components.
- vue-inline-svg - Import SVG files as Vue components.
Plugins which control the behaviour of modules: dependencies, imports, exports, and external modules.
- alias - Alias modules in a build.
- amd - Convert AMD modules to ES6.
- async-define - Wrap an AMD bundle with async-define.
- bower-resolve – Use Bower the resolution algorithm.
- cjs-es - Convert CommonJS modules without proxying and reassignment.
- commonjs - Convert CommonJS modules to ES Modules.
- dsv - Convert CSV and TSV files into JavaScript modules.
- external-globals - Replace imported bindings with a global variable.
- force-binding - Composes multi-entry and node-resolve to prevent duplicated imports.
- glob-import - Glob support for import statements.
- ignore - Ignore modules by replacing with empty objects.
- import-alias - Maps an import path to another.
- includepaths – Provide base paths from which to resolve imports.
- inject - Scans for global variables and injects
import
statements. - legacy - Add export statements to plain scripts.
- named-directory - Provides shortcuts for colocated modules in directories.
- node-builtins - Node builtin modules as ES modules.
- node-globals - Injects node globals.
- node-resolve - Use the Node resolution algorithm.
- node-resolve-angular - Node module resolution support for Angular 4+.
- stub - Stub module.exports at runtime.
- ts-paths – Resolve modules from
tsconfig
paths. - virtual - Load modules from memory.
Plugins which allow importing other types of files as modules.
- file-as-blob – Import a file as a
blob:
URL. - glsl - Import GLSL shaders as compressed strings.
- glslify - Import GLSL strings.
- gltf - Import glTF 3d models as a URI or inlined JSON.
- html - Import html files as strings.
- hypothetical - Import modules from a virtual filesystem.
- image - Import JPG, PNG, GIF and SVG images.
- json - Convert JSON files to ES Modules.
- markdown - Import code from fenced code blocks in Markdown.
- md - Import and compile markdown files.
- 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-sprite — Import SVG files as an external SVG sprite.
- svg-to-symbol - Import SVG files as symbol strings.
- svgo - Import SVG files as strings
- url - Inline import files as data-URIs.
- vinyl - Import from Vinyl files
- wasm - Inlines and imports WebAssembly modules.
- yaml - Import data from YAML files.
Plugins which affect the final output of a bundle.
- babel-minify - Minify a bundle with Babel.
- bundleutils - Set of commonly used utility functions.
- butternut - Compress Rollup bundles.
- clear - Clear an output directory before a build.
- closure-compiler – Compress Rollup Bundles with Closure Compiler.
- copy - Copy files during a build.
- copy-assets - Copy specified assets to the output directory.
- cpy - Easily copy files and folders during a build.
- delete - Delete files and folders during a build.
- 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.
- license - Add Licensing to a bundle.
- live-reload - Live reloading for a bundle.
- 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.
- static-site - Generate HTML for a bundle.
- terser - Minify a bundle using Terser.
- uglify - Minify a bundle with UglifyJS.
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.
- 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.
Plugins which search for, and replace text in a bundle.
- ascii – Rewrite non-ASCII characters as string literals.
- re – Replace text with Regular Expressions.
- replace – Replace occurrences of a set of strings.
- strip-code - Remove text with Regular Expressions.
Plugins which affect code.
- async - Replace
async
functions with generators. - babel - Seamless integration with Babel.
- buble – Transpile with Bublé.
- bucklescript - Compile ReasonML / OCaml.
- coffee-react - Compile CJSX and CoffeeScript.
- coffee-script – Compile CoffeeScript.
- elm - Compile Elm.
- 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. - sucrase - Compile TypeScript, Flow, JSX.
- typescript - Seamless integration with Typescript.
- typescript2 - Compile TypeScript v2.0+.
Plugins which affect the Rollup workflow.
- browsersync – Serves a bundle via Browsersync.
- browserify-transform - Use Browserify transforms in a build.
- conditional – Conditionally execute plugins.
- execute - Execute shell commands sequentially during a build.
- html-entry – Allows use HTML Script Tags as entry points.
- jscc – Conditional compilation and declaration of ES6 imports.
- loadz0r - Code-splitting across Workers and the UI Thread.
- make - Build dependency files suitable for make
- multi-entry - Multiple entry points for a bundle.
- sourcemaps – Load external source maps from URIs.
- fruit - Build a Rollup boilerplate in seconds.
- rollup-pluginutils - Functions commonly used by Rollup plugins.
- rollup-starter-app - Create a bare-bones application using Rollup.
- rollup-starter-lib - Create a bare-bones library using Rollup.
- rollup-stream - A wrapper for streaming Rollup results.