Skip to content

Latest commit

 

History

History
274 lines (228 loc) · 22.2 KB

README.md

File metadata and controls

274 lines (228 loc) · 22.2 KB
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.
  • 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.

  • 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.
  • incremental - Recompile only changed modules in watch mode.
  • jscc – Conditional compilation and declaration of ES6 imports.
  • make - Build dependency files suitable for make.
  • off-main-thread - Use ES6 modules with Web Workers.
  • polyfill-node - A modern Node.js polyfill.
  • sourcemaps – Load external source maps from URIs.

Packages

Core Packages

Packages created and maintained by the Rollup organization.

Community Packages