plugins VS Rollup

Compare plugins vs Rollup and see what are their differences.

plugins

🍣 The one-stop shop for official Rollup plugins (by rollup)

Rollup

Next-generation ES module bundler (by rollup)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
plugins Rollup
16 69
3,511 24,749
1.4% 0.8%
8.3 9.5
5 days ago 1 day ago
JavaScript JavaScript
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

plugins

Posts with mentions or reviews of plugins. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-10-05.
  • Do vite builds not automatically support typescript?
    1 project | /r/typescript | 1 Apr 2023
    But when I start a production bundling + build process, which I guess is actually made with rollup, I see Unexpected token (Note that you need plugins to import files that are not JavaScript). Lookin around, it seems like this is a rollup error, not a vite error.
  • Migrating app from parcel to rollup
    1 project | /r/reactjs | 21 Oct 2022
    rollup v3.2.3 bundles ./src/index.js → dist/bundle.js... babelHelpers: 'bundled' option was used by default. It is recommended to configure this option explicitly, read more here: https://github.com/rollup/plugins/tree/master/packages/babel#babelhelpers [!] (plugin commonjs--resolver) SyntaxError: Unexpected token (12:2) in /Users/krishna404/codeProjects/All_SmartAgent/desktopSmartAgent/src/index.js src/index.js (12:2) 10: import { AdapterDateFns } from '@mui/x-date-pickers/AdapterDateFns'; 11: ReactDOM.render( 12: ^ 13:
  • Rollup Library Starter
    9 projects | dev.to | 5 Oct 2022
    Next, we need to tell Rollup which of the modules used in our code are external to our library. Together with @rollup/plugin-node-resolve, this ensures that Rollup doesn't bundle those dependencies into our final bundle. The function makeExternalPredicate() generates the list of package names specified in dependencies and peerDependencies in package.json. All credit for this and a big thank you goes out to Mateusz Burzyński for providing it in this issue:
  • I'd like to use Svelte with PHP with SSR and an island architecture. How would I go about doing this?
    2 projects | /r/sveltejs | 3 Sep 2022
    // If you have external dependencies installed from // npm, you'll most likely need these plugins. In // some cases you'll need additional configuration - // consult the documentation for details: // https://github.com/rollup/plugins/tree/master/packages/commonjs resolve({ browser: true, dedupe: ['svelte'], }), commonjs(), // In dev mode, call `npm run start` once // the bundle has been generated !production && serve(), // Watch the `public` directory and refresh the // browser on changes when not in production !production && livereload('public'), // If we're building for production (npm run build // instead of npm run dev), minify production && terser(), ], watch: { clearScreen: false, },
  • Is there a way I can conditionally choose which module I import at compile time?
    1 project | /r/sveltejs | 25 Jul 2022
    Then in this case, if you don't want to use Vite's dynamic imports, you can conditionally use this plugin in your vite config under rollupOptions. https://github.com/rollup/plugins/tree/master/packages/inject. This way you won't even need to use env vars.
  • Svelte And Tailwind
    1 project | /r/tailwindcss | 27 May 2022
    compilerOptions: { // enable run-time checks when not in production dev: !production } }), // we'll extract any component CSS out into // a separate file - better for performance css({ output: 'bundle.css' }), // If you have external dependencies installed from // npm, you'll most likely need these plugins. In // some cases you'll need additional configuration - // consult the documentation for details: // https://github.com/rollup/plugins/tree/master/packages/commonjs resolve({ browser: true, dedupe: ['svelte'] }), commonjs(), // In dev mode, call \npm run start` once // the bundle has been generated !production && serve(), // Watch the `public` directory and refresh the // browser on changes when not in production !production && livereload('public'), // If we're building for production (npm run build // instead of npm run dev), minify production && terser() ], watch: { clearScreen: false } };`
  • Rollup/commonjs getting unexpected token for hex numeric literals in package
    1 project | /r/sveltejs | 15 Nov 2021
    You should submit an issue there: https://github.com/rollup/plugins/tree/master/packages/commonjs
  • How to use SVGs in React
    6 projects | dev.to | 5 Nov 2021
    In Webpack 5, this is (surprisingly) simple to setup. Parcel 2 handles this out of the box with a special import prefix. Rollup has an official plugin.
  • What does it take to support Node.js ESM?
    9 projects | dev.to | 12 Aug 2021
    The only workaround to have an isomorphic __dirname or __filename to be used for both "cjs" and "esm" without using build-time tools like @rollup/plugin-replace or esbuild "define" would be using a library like filedirname that does a trick inspecting error stacks, it's clearly not the cleanest solution.
  • How to Build a To-do app with Svelte, Strapi & Tailwind CSS
    11 projects | dev.to | 22 Jul 2021
    import svelte from 'rollup-plugin-svelte'; import commonjs from '@rollup/plugin-commonjs'; import resolve from '@rollup/plugin-node-resolve'; import livereload from 'rollup-plugin-livereload'; import { terser } from 'rollup-plugin-terser'; import css from 'rollup-plugin-css-only'; import sveltePreprocess from 'svelte-preprocess'; const production = !process.env.ROLLUP_WATCH; function serve() { let server; function toExit() { if (server) server.kill(0); } return { writeBundle() { if (server) return; server = require('child_process').spawn( 'npm', ['run', 'start', '--', '--dev'], { stdio: ['ignore', 'inherit', 'inherit'], shell: true, } ); process.on('SIGTERM', toExit); process.on('exit', toExit); }, }; } export default { input: 'src/main.js', output: { sourcemap: true, format: 'iife', name: 'app', file: 'public/build/bundle.js', }, plugins: [ svelte({ preprocess: sveltePreprocess({ sourceMap: !production, postcss: { plugins: [require('tailwindcss'), require('autoprefixer')], }, }), compilerOptions: { // enable run-time checks when not in production dev: !production, }, }), // we'll extract any component CSS out into // a separate file - better for performance css({ output: 'bundle.css' }), // If you have external dependencies installed from // npm, you'll most likely need these plugins. In // some cases you'll need additional configuration - // consult the documentation for details: // https://github.com/rollup/plugins/tree/master/packages/commonjs resolve({ browser: true, dedupe: ['svelte'], }), commonjs(), // In dev mode, call `npm run start` once // the bundle has been generated !production && serve(), // Watch the `public` directory and refresh the // browser on changes when not in production !production && livereload('public'), // If we're building for production (npm run build // instead of npm run dev), minify production && terser(), ], watch: { clearScreen: false, }, };

Rollup

Posts with mentions or reviews of Rollup. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-08.
  • Rolldown
    2 projects | news.ycombinator.com | 8 Mar 2024
    Doesn't Rollup already use quite a bit of rust[0]? It's actually why I had to abandon it for a project, where they didn't offer binaries for our build platform and I needed to bundle, like 2 ES6 javascript libraries so I just grabbed esbuild instead.

    [0] https://github.com/rollup/rollup/tree/master/rust

  • Build a Vite 5 backend integration with Flask
    11 projects | dev.to | 25 Feb 2024
    Unlike Webpack, the Vite DevServer only compiles files when they are requested. It leverages ES module imports, which allow JS files to import other files without needing to bundle them together during development. When one file changes, only that file needs to be re-compiled, and the rest can remain unchanged. Project files are compiled with Rollup.js. Third-party dependencies in node_modules are pre-compiled using the ultra-fast esbuild bundler for maximum speed, and they are cached until the dependency version changes. Vite also provides a client script for hot module reloading.
  • Vite 5.0 is out
    1 project | dev.to | 16 Nov 2023
    Read the full breaking changes in Rollup’s release notes for build-related changes in build.rollupOptions.
  • 11 Ways to Optimize Your Website
    12 projects | dev.to | 12 Nov 2023
    Besides Webpack, there are many other popular web bundlers available, such as Parcel, Esbuild, Rollup, and more. They all have their own unique features and strengths, and you should make your decision based on the needs and requirements of your specific project. Please refer to their official websites for details.
  • How to rewrite classes using closures in JavaScript
    1 project | news.ycombinator.com | 22 Oct 2023
    The optimization points are very valid and good to keep in mind, no?

    See for example:

    https://github.com/rollup/rollup/issues/349

    The missing minification of identifiers and properties of the Vue instance in general were always bugging me in Vue 2, even when not using the class keyword.

    This is a very valid consideration IMO.

  • Bun vs Node.js: Everything you need to know
    7 projects | dev.to | 21 Sep 2023
    In the Node.js ecosystem, bundling is typically handled by third-party tools rather than Node.js itself. Some of the most popular bundlers in the Node.js world include Webpack, Rollup, and Parcel, offering features like code splitting, tree shaking, and hot module replacement.
  • My opinionated JavaScript package template repository - zero config, start immediately
    8 projects | dev.to | 8 Aug 2023
    📦 Rollup for bundling
  • How To Secure Your JavaScript Applications
    11 projects | dev.to | 14 Jun 2023
    Bundling: Webpack, Parcel, Rollup
  • 5 Different Tools to Bundle Node.js Apps
    8 projects | dev.to | 13 Jun 2023
    Rollup is another popular JavaScript module bundler focusing on high performance. It excels at tree-shaking and uses ES module syntax to generate more performant bundles than traditional module bundlers. In addition to JavaScript, Rollup supports bundling CSS and JSON as well. Rollup has more than 12 million weekly NPM downloads.
  • How to build and publish React TypeScript NPM packages with Vite
    4 projects | dev.to | 4 Jun 2023
    Vite (read as vit) is actually a combination of two great frontend tools - an immensely fast development server and a build command for shipping heavily optimized static assets using Rollup. Many developers have encountered the process of setting up a project using Create React App. While CRA can be useful for beginners due to its simplicity and abstraction of configuration, it has some drawbacks that outweigh its benefits, particularly its tendency to be bloated. Don't get me wrong, Vite is opinionated as well, but it's highly extensible through its Plugin API.

What are some alternatives?

When comparing plugins and Rollup you can also consider the following projects:

awesome-vite - ⚡️ A curated list of awesome things related to Vite.js

esbuild - An extremely fast bundler for the web

tsup - The simplest and fastest way to bundle your TypeScript libraries.

vite - Next generation frontend tooling. It's fast!

rollup-plugin-typescript2 - Rollup plugin for typescript with compiler errors.

autoprefixer - Parse CSS and add vendor prefixes to rules by Can I Use

webpack - A bundler for javascript and friends. Packs many modules into a few bundled assets. Code Splitting allows for loading parts of the application on demand. Through "loaders", modules can be CommonJs, AMD, ES6 modules, CSS, Images, JSON, Coffeescript, LESS, ... and your custom stuff.

ts-jest - A Jest transformer with source map support that lets you use Jest to test projects written in TypeScript.

gulp - A toolkit to automate & enhance your workflow

bob-esbuild - Building and Running TypeScript projects efficiently with rollup + esbuild

Snowpack - ESM-powered frontend build tool. Instant, lightweight, unbundled development. ✌️ [Moved to: https://github.com/FredKSchott/snowpack]