/awesome

⚡️ Delightful Rollup Plugins, Packages, and Resources

MIT LicenseMIT

Awesome Rollup

Awesome Rollup Awesome

⚡️ Delightful Rollup Plugins, Packages, and Resources

Resources

Plugins

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
  • strip - Remove expressions from code.
  • stylint - Lint Stylus files.
  • unassert - Remove assertion calls.

CSS

Plugins for working with CSS.

Frameworks

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.

Modules

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.

Other File Imports

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.

Output

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.

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.
  • replace – Replace occurrences of a set of strings.
  • strip-code - Remove text with Regular Expressions.

Transpilation

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

Workflow

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.

Packages