/awesome

⚡️ Delightful Rollup Plugins, Packages, and Resources

MIT LicenseMIT

Awesome Rollup

Awesome Rollup Awesome

⚡️ 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.
  • 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 TypeScript, 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

  • 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.

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 - 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
  • 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.
  • 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.
  • imagemin - Optimize images with imagemin.
  • 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-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.

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.
  • 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.
  • 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.
  • 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.
  • 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.

  • browsersync – Serves a bundle via Browsersync.
  • browserify-transform - Use Browserify transforms in a build.
  • command - Run commands and call functions when bundles are generated.
  • 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
  • sourcemaps – Load external source maps from URIs.

Packages

Core Packages

Packages created and maintained by the Rollup organization.

Community Packages