# rollup/plugins

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/rollup-plugins).**

3,750 stars · 629 forks · JavaScript · MIT

## Links

- GitHub: https://github.com/rollup/plugins
- awesome-repositories: https://awesome-repositories.com/repository/rollup-plugins.md

## Topics

`plugins` `rollup` `rollup-plugins`

## Description

This is a collection of official extensions for the Rollup bundling process. These plugins serve as module transformers, resolution managers, and bundle optimizers designed to modify how JavaScript modules are processed, resolved, and optimized.

The suite provides specialized capabilities for modern web transpilation, converting TypeScript, JSX, Flow, and GraphQL into compatible JavaScript. It distinguishes itself through extensive non-JavaScript asset integration, allowing the import of JSON, YAML, CSV, and image files as JavaScript modules or data URIs, and providing support for bundling WebAssembly.

Broad capability areas include module resolution management via aliases and dependency mapping, build process orchestration such as generating HTML wrappers and executing bundles in Node, and bundle optimization through minification and the removal of debugging code.

The project also provides standardized utilities to simplify the creation of additional custom bundling extensions.

## Tags

### Development Tools & Productivity

- [Bundling Pipeline Extensions](https://awesome-repositories.com/f/development-tools-productivity/bundling-pipeline-extensions.md) — Provides a collection of official plugins to extend and customize the Rollup bundling pipeline.
- [AST-Based Source Transformations](https://awesome-repositories.com/f/development-tools-productivity/ast-transformation-tools/ast-to-source-conversion/ast-based-source-transformations.md) — Provides tools for modifying source code by replacing abstract syntax tree nodes during the bundling process.
- [JavaScript AST Transformations](https://awesome-repositories.com/f/development-tools-productivity/ast-transformation-tools/standardized-ast-transformation/javascript-ast-transformations.md) — Transforms TypeScript, JSX, and GraphQL into standard JavaScript for cross-environment compatibility.
- [JavaScript Compatibility Transformations](https://awesome-repositories.com/f/development-tools-productivity/ast-transformation-tools/standardized-ast-transformation/javascript-compatibility-transformations.md) — Transforms TypeScript, Flow, and JSX into standard JavaScript to ensure compatibility across different environments. ([source](https://github.com/rollup/plugins/blob/master/packages/buble))
- [Rollup-Compatible Plugin Integrations](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-orchestration-logic/build-orchestration-configuration/build-automation-systems/build-systems/build-plugin-integrations/rollup-compatible-plugin-integrations.md) — Offers a suite of official plugins for transforming, resolving, and optimizing modules within the Rollup ecosystem.
- [Bundle Size Optimization](https://awesome-repositories.com/f/development-tools-productivity/bundle-size-optimization.md) — Minifies code and removes debugging statements to reduce the final asset size for faster web loading. ([source](https://github.com/rollup/plugins#readme))
- [Module Resolution Aliases](https://awesome-repositories.com/f/development-tools-productivity/command-line-configuration/alias-configurations/class-alias-definitions/import-alias-mappings/module-resolution-aliases.md) — Maps custom identifiers to file system paths to simplify import statements through module resolution aliases. ([source](https://github.com/rollup/plugins/blob/master/README.md))
- [Module Dependency Classification](https://awesome-repositories.com/f/development-tools-productivity/external-module-declarations/runtime-module-declarations/module-dependency-classification.md) — Locates third-party libraries and manages module path resolution to ensure dependencies are correctly bundled. ([source](https://github.com/rollup/plugins#readme))
- [Module Resolution Algorithms](https://awesome-repositories.com/f/development-tools-productivity/module-resolution-algorithms.md) — Locates third-party modules within dependency folders by applying standard resolution algorithms to import statements. ([source](https://github.com/rollup/plugins/blob/master/packages/node-resolve))
- [Module Resolution Utilities](https://awesome-repositories.com/f/development-tools-productivity/module-resolution-utilities.md) — Provides utilities for mapping import paths to physical files via aliases during the build process.
- [CommonJS-to-ES6 Converters](https://awesome-repositories.com/f/development-tools-productivity/source-bundling/module-bundling/commonjs-to-es6-converters.md) — Transforms CommonJS modules and legacy scripts into standard ES6 modules for consistent processing. ([source](https://github.com/rollup/plugins/blob/master/README.md))
- [Build Pipeline Orchestration](https://awesome-repositories.com/f/development-tools-productivity/build-pipeline-orchestration.md) — Orchestrates the build sequence by generating HTML wrappers and integrating linting into the pipeline.
- [Build-Time Code Stripping](https://awesome-repositories.com/f/development-tools-productivity/build-time-code-stripping.md) — Strips debugger statements and logging functions from source code to clean up production builds. ([source](https://github.com/rollup/plugins/blob/master/packages/strip))
- [Bundle Runtime Execution](https://awesome-repositories.com/f/development-tools-productivity/bundle-runtime-execution.md) — Launches generated bundles as child processes and restarts them automatically after every rebuild. ([source](https://github.com/rollup/plugins/blob/master/packages/run))
- [Frontend Development Environments](https://awesome-repositories.com/f/development-tools-productivity/frontend-development-environments.md) — Automates the generation of HTML wrappers and restarts bundles in a runtime environment for active development.
- [Glob Pattern Resolvers](https://awesome-repositories.com/f/development-tools-productivity/glob-pattern-resolvers.md) — Identifies input files using glob patterns and inclusion rules to automate the selection of entry points. ([source](https://github.com/rollup/plugins/blob/master/packages/multi-entry))
- [Static Code Linting](https://awesome-repositories.com/f/development-tools-productivity/static-code-linting.md) — Analyzes source code for style violations and programming mistakes using static code linting. ([source](https://github.com/rollup/plugins/blob/master/packages/eslint))
- [Build Tool Integrations](https://awesome-repositories.com/f/development-tools-productivity/workflow-automation-tools/build-task-automation/build-tool-integrations.md) — Integrates external tools like linters and system alerts into the build task automation pipeline. ([source](https://github.com/rollup/plugins#readme))

### Content Management & Publishing

- [JavaScript Module Format Converters](https://awesome-repositories.com/f/content-management-publishing/multi-format-output-converters/javascript-module-format-converters.md) — Transforms legacy CommonJS and non-JavaScript formats into standard ES modules for consistent processing.

### DevOps & Infrastructure

- [Import Map Configurations](https://awesome-repositories.com/f/devops-infrastructure/dependency-management/resolution-mapping-systems/import-map-configurations.md) — Redirects import paths to different file locations using mapping configurations to simplify maintenance. ([source](https://github.com/rollup/plugins/blob/master/packages/alias))
- [Virtual Modules](https://awesome-repositories.com/f/devops-infrastructure/cicd-pipeline-automation/core-build-engines/build-systems/virtual-modules.md) — Serves virtual modules directly from memory to enable the creation of files that do not exist on disk.

### Programming Languages & Runtimes

- [TypeScript Transpilers](https://awesome-repositories.com/f/programming-languages-runtimes/compiler-interpreter-internals/compiler-toolchains/typescript-transpilers.md) — Converts modern TypeScript and JavaScript into a compatible version using a high-performance compiler. ([source](https://github.com/rollup/plugins/blob/master/packages/swc))
- [Import Path Resolution](https://awesome-repositories.com/f/programming-languages-runtimes/import-path-resolution.md) — Maps import strings to physical file locations using patterns and aliases to simplify dependency management.
- [JavaScript Module Resolution](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-module-resolution.md) — Customizes the module resolution process through aliases and entry point globs to locate files efficiently.
- [JavaScript Optimizers and Minifiers](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-optimizers-and-minifiers.md) — Reduces JavaScript bundle sizes through minification and the removal of production-irrelevant code.
- [Source-to-JavaScript Transpilers](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-transpilers/source-to-javascript-transpilers.md) — Integrates a compiler into the build process to convert type-annotated TypeScript code into standard JavaScript. ([source](https://github.com/rollup/plugins/blob/master/packages/typescript))
- [Non-JavaScript Asset Imports](https://awesome-repositories.com/f/programming-languages-runtimes/module-importing/non-javascript-asset-imports.md) — Loads non-JS assets like JSON, YAML, GraphQL, CSV, and images as first-class modules. ([source](https://github.com/rollup/plugins#readme))
- [Babel Transformations](https://awesome-repositories.com/f/programming-languages-runtimes/multi-pass-compiler-pipelines/babel-transformations.md) — Integrates the Babel compiler to apply JavaScript transformations and polyfills within the build pipeline.
- [Package Import Resolvers](https://awesome-repositories.com/f/programming-languages-runtimes/package-import-resolvers.md) — Determines the correct file to load by resolving package entry points defined in exports, imports, or main fields. ([source](https://github.com/rollup/plugins/blob/master/packages/node-resolve))
- [Source Code Transformation Engines](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/source-code-templates/source-code-transformation-engines.md) — Converts TypeScript, JavaScript, JSX, and Flow into compatible versions using transformation engines. ([source](https://github.com/rollup/plugins#readme))
- [Source-To-Source Transpilers](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/source-to-c-transpilers/source-to-source-transpilers.md) — Translates modern JavaScript, TypeScript, Flow, and JSX into compatible versions using external compilers. ([source](https://github.com/rollup/plugins/blob/master/README.md))
- [Bundle Entry Point Combination](https://awesome-repositories.com/f/programming-languages-runtimes/bundle-entry-point-combination.md) — Merges multiple source files into one bundle by combining named exports into a single output file. ([source](https://github.com/rollup/plugins/blob/master/packages/multi-entry))
- [WebAssembly](https://awesome-repositories.com/f/programming-languages-runtimes/javascript-transpilers/webassembly.md) — Imports and bundles binary WebAssembly modules into the final JavaScript output. ([source](https://github.com/rollup/plugins/blob/master/README.md))
- [JSON Module Imports](https://awesome-repositories.com/f/programming-languages-runtimes/language-ecosystems-tooling/module-management/module-resolution/json-module-imports.md) — Transforms JSON data files into modules so their content can be imported directly into source code. ([source](https://github.com/rollup/plugins/blob/master/packages/json))
- [Runtime Built-in Module Handling](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/language-features/built-ins/runtime-built-in-module-handling.md) — Identifies native runtime modules to mark them as external or replace them with compatible polyfills. ([source](https://github.com/rollup/plugins/blob/master/packages/node-resolve))
- [Dynamic Imports](https://awesome-repositories.com/f/programming-languages-runtimes/module-importing/dynamic-imports.md) — Resolves import statements containing variables to ensure dynamic dependencies are correctly bundled. ([source](https://github.com/rollup/plugins/blob/master/README.md))
- [TypeScript Source Transformers](https://awesome-repositories.com/f/programming-languages-runtimes/source-code-compilers/source-code-templates/source-code-transformation-engines/typescript-source-transformers.md) — Executes custom transformation logic during TypeScript compilation to modify generated code or declaration files. ([source](https://github.com/rollup/plugins/blob/master/packages/typescript))
- [String Pattern Replacements](https://awesome-repositories.com/f/programming-languages-runtimes/string-pattern-replacements.md) — Swaps text patterns with values to inject environment variables and constants during bundling. ([source](https://github.com/rollup/plugins/blob/master/packages/replace))

### Software Engineering & Architecture

- [Hook-Based Plugin Systems](https://awesome-repositories.com/f/software-engineering-architecture/software-architecture/architectural-patterns/plugin-module-systems/modular-plugin-architectures/plugin-based-architectures/hook-based-plugin-systems.md) — Implements a hook-based system allowing plugins to intercept and modify the bundling process at specific lifecycle events.
- [Binary-to-ESM Encodings](https://awesome-repositories.com/f/software-engineering-architecture/base64-encoding-and-decoding/binary-to-text-encodings/binary-to-esm-encodings.md) — Converts non-text assets like images and WebAssembly into base64 strings or modules for direct bundle inclusion.
- [Virtual Module Injection](https://awesome-repositories.com/f/software-engineering-architecture/component-port-definitions/module-registration/virtual-module-injection.md) — Serves synthetic modules directly from memory to register services without requiring physical source files. ([source](https://github.com/rollup/plugins/blob/master/README.md))
- [CommonJS Compatibility](https://awesome-repositories.com/f/software-engineering-architecture/integration-extensibility/infrastructure-runtime-adapters/commonjs-compatibility.md) — Provides a compatibility layer by replacing CommonJS global variables with equivalents in ES Module bundles. ([source](https://github.com/rollup/plugins/blob/master/packages/esm-shim))
- [JavaScript Minification](https://awesome-repositories.com/f/software-engineering-architecture/performance-reliability/code-optimization/javascript-minification.md) — Compresses JavaScript code to reduce bundle size using a minification engine. ([source](https://github.com/rollup/plugins/blob/master/packages/terser))
- [In-Memory Loading](https://awesome-repositories.com/f/software-engineering-architecture/pluggable-module-loading/in-memory-loading.md) — Serves virtual modules directly from memory, allowing the creation of files that do not exist on the physical disk. ([source](https://github.com/rollup/plugins/blob/master/packages/virtual))
- [Plugin Development Utilities](https://awesome-repositories.com/f/software-engineering-architecture/plugin-development-utilities.md) — Provides a set of standardized helper functions to simplify the creation of custom bundling extensions. ([source](https://github.com/rollup/plugins#readme))

### Web Development

- [Bundle Optimizers](https://awesome-repositories.com/f/web-development/bundle-optimizers.md) — Optimizes the final bundle size by minifying code and removing debugging statements for production.
- [JavaScript Bundlers](https://awesome-repositories.com/f/web-development/javascript-bundlers.md) — Acts as a comprehensive utility suite for compiling and packaging JavaScript modules for web deployment.
- [Modern Web Syntax Transpilation](https://awesome-repositories.com/f/web-development/modern-web-syntax-transpilation.md) — Converts modern TypeScript, JSX, and Flow syntax into compatible JavaScript versions for browser execution.
- [WebAssembly Module Loaders](https://awesome-repositories.com/f/web-development/dynamic-loading-strategies/binary-module-loaders/webassembly-module-loaders.md) — Inlines WebAssembly files as strings and provides a loader function for runtime instantiation. ([source](https://github.com/rollup/plugins/blob/master/packages/wasm))
- [CommonJS Compatibility Layers](https://awesome-repositories.com/f/web-development/es-module-support/commonjs-converters/commonjs-compatibility-layers.md) — Configures the transpilation process to support importing legacy module formats within type-annotated files. ([source](https://github.com/rollup/plugins/blob/master/packages/typescript))
- [HTML Entry Point Generators](https://awesome-repositories.com/f/web-development/html-entry-point-generators.md) — Generates HTML files that serve as entry points and link to bundled JavaScript assets. ([source](https://github.com/rollup/plugins/blob/master/packages/html))
- [Data File Loaders](https://awesome-repositories.com/f/web-development/web-infrastructure-deployment/asset-management-build-tools/asset-loading-resolution/asset-loaders/data-file-loaders.md) — Includes loaders that transform JSON, YAML, and CSV files into usable JavaScript objects.

### Part of an Awesome List

- [Bundled Code Transformations](https://awesome-repositories.com/f/awesome-lists/devtools/code-transformers/bundled-code-transformations.md) — Applies code transformations to final bundled chunks to handle auto-generated code or target compatibility levels. ([source](https://github.com/rollup/plugins/blob/master/packages/babel))

### Data & Databases

- [GraphQL Module Transformation](https://awesome-repositories.com/f/data-databases/shared-schema-definitions/graphql-schema-modules/graphql-module-transformation.md) — Transforms GraphQL schema files into modules and supports fragment imports to allow modular definitions. ([source](https://github.com/rollup/plugins/blob/master/packages/graphql))

### Testing & Quality Assurance

- [Code Quality Checks](https://awesome-repositories.com/f/testing-quality-assurance/code-quality-checks.md) — Runs automated linting checks on entry points and imported files to verify code quality during bundling. ([source](https://github.com/rollup/plugins/blob/master/README.md))
