⚡️ Delightful Rollup Plugins, Packages, and Resources
- Official Guide - The user guide and documentation site.
- 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.
- serve - Development Server in a Plugin.
- dev - Development server with additional logging and options.
- 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.
- 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.
- 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.
- 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.
- consts - Import constants at build time.
- 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.
- dsv - Convert CSV and TSV files into JavaScript modules.
- file-as-blob – Import a file as a
blob:
URL. - glsl - Import GLSL shaders as compressed strings.
- 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.
- image - Import JPG, PNG, GIF and SVG images.
- imagemin - Optimize images with imagemin.
- 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.
- 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.
Plugins which affect the final output of a bundle.
- app-utils - Common build utilities for applications.
- babel-minify - Minify a bundle with Babel.
- 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.
- butternut - Compress Rollup bundles.
- 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.
- 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.
- 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.
- iife - Convert ES modules to Immediately Invoked Function Expressions.
- 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.
- version-injector - Inject your package’s version number into static build files.
- zip - Pack all assets into a zip file.
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.
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.
- off-main-thread - Use ES6 modules with Web Workers.
- make - Build dependency files suitable for make
- multi-entry - Multiple entry points for a bundle.
- run - Run your bundle after it's generated.
- 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.