Rollup VS Snowpack

Compare Rollup vs Snowpack and see what are their differences.

Rollup

Next-generation ES module bundler (by rollup)

Snowpack

ESM-powered frontend build tool. Instant, lightweight, unbundled development. ✌️ (by withastro)
Our great sponsors
  • OPS - Build and Run Open Source Unikernels
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
Rollup Snowpack
22 67
21,112 19,643
0.9% 0.5%
9.3 9.4
about 9 hours ago 15 days ago
JavaScript JavaScript
GNU General Public License v3.0 or later MIT License
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.

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 2022-01-03.
  • Configuring CommonJS & ES Modules for Node.js
    6 projects | dev.to | 3 Jan 2022
    This also means that whatever build tooling must produce the distribution file with a .cjs file extension. This might necessitate chaining multiple build tools or adding a subsequent step to move/rename the file to have the .cjs file extension (ex mv ./dist/index.js ./dist/index.cjs)3. This can be worked around by adding a subsequent step to move/rename those outputted files (ex Rollup or a simple shell script).
  • Make SvelteKit bundle all *.ts files into a single bundle.js
    1 project | reddit.com/r/sveltejs | 1 Jan 2022
    I think Rollup is where the code-splitting is happening so you will need to address the problem there. Here is an ongoing discussion that seems to have some solutions: https://github.com/rollup/rollup/issues/2756
  • Vite, the hassle-free alternative to Webpack
    4 projects | dev.to | 12 Nov 2021
    Vite doesn't create itself the bundles. Under the hood, it uses two tools: Esbuild while you're developing, and Rollup.js to create the production bundle.
  • Rakkas: Next.js alternative powered by Vite
    13 projects | dev.to | 14 Oct 2021
    If you're not familiar with Vite, it's an instance of a new class of tools, sometimes called non-bundlers, that leverage modern browsers' native EcmaScript modules support to do away with the bundling during development. This results in instant server start and much faster updates than traditional bundlers like Webpack, Rollup, or Parcel. These new tools (another example is Snowpack) improve developer experience so much that, once you try, you will never want to go back to your old tooling.
  • The Ultimate Guide to Getting Started with the Rollup.js JavaScript Bundler
    5 projects | dev.to | 6 Oct 2021
    Rollup.js is a Node.js module bundler most often used for client-side JavaScript running in the browser. (You can bundle Node.js scripts but there are fewer reasons to do so). The tool compiles all your JavaScript source files into a single bundle for inclusion in your production web pages.
  • Major updates for bundle.js.org v0.0.3
    9 projects | dev.to | 19 Sep 2021
    I used monaco-editor for the code-editor, esbuild and rollup as bundler and treeshaker respectively, pako as a js port of the zlib and gzip libraries, pretty-bytes to convert the gzip size to human readable values, and countapi-js to keep track of the number of page visits, in a private and secure way.
  • Introducing Magic URL Login to Appwrite
    4 projects | dev.to | 7 Sep 2021
    If you're using a bundler (like Rollup or webpack), you can import the Appwrite module when you need it:
  • Created CLI Tool that Creates/Remove GitHub Labels
    13 projects | dev.to | 31 Aug 2021
    Export as a javascript module, making your work fully tree-shakable for consumers capable of using es6 imports (like Rollup, Webpack, or Parcel)
  • What does it take to support Node.js ESM?
    9 projects | dev.to | 12 Aug 2021
    There are workarounds, but nothing actually works in 100% of the possible use-cases (see for example, ts-jest issue), and for that reason, we recommend tooling that enables this type of building without needing any workaround, usually using Rollup and/or esbuild.
  • [AskJS] How can i structure my js library?
    4 projects | reddit.com/r/javascript | 20 Jul 2021
    I agree, although, at this point, it might be better to use a bundler that uses ESM in the final bundle like Vite, Rollup, or Snowpack. Rollup works better for libraries than Webpack, at least in my opinion.

Snowpack

Posts with mentions or reviews of Snowpack. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-05.
  • What are the new and exciting tech for React projects for 2022?
    16 projects | reddit.com/r/reactjs | 5 Jan 2022
    I've been hearing good things about snowpack and have been wanting to give it a go myself as an alternative to webpack/babel
  • Converting to Vite (Part 1)
    4 projects | dev.to | 5 Jan 2022
    So how did we get here? Well, it's a good thing to describe alternatives considered when you add issues to a repo! Months ago, @0vortex described in Issue #1131 some opportunities for dependency updates that would require version 5 of webpack with our webpack configuration, and warned that the dependency management would probably be tricky. I fixated on an alternative that he mentioned about converting the project to use Snowpack. I had wanted to learn more about bundling tools, so I took a few days here and there after Thanksgiving and got Open Sauced mostly working with it (see PR #1320).
  • npx create-react-app not working -- everything is deprecated
    5 projects | reddit.com/r/react | 11 Dec 2021
  • React 101: The Basics
    12 projects | dev.to | 30 Nov 2021
    I have written a post about setting up a React project using Parcel as a bundler which can give a more detailed walkthrough about getting a React application up and running from scratch. There are multiple ways to do this but some of the more common build tools include Webpack, Parcel, and Snowpack.
  • SolidJS on Snowpack – Quick Dev Guide
    2 projects | dev.to | 17 Nov 2021
    For more information about this issue, check these issue tickets: Issue 2998, Issue 3219, Issue 3243
  • Etsy’s Journey to TypeScript
    6 projects | news.ycombinator.com | 16 Nov 2021
    The number of transforms that Babel is doing with an "evergreen" config ("last 2 browser versions") at this point is effectively miniscule. It's a massive toolchain for what increasing turns out to be a minimal amount of actual work. "Last 2 Browser Versions" is effectively everything through ES2019 at this point which covers almost all of the "modern JS syntax". If you aren't using custom transforms you might not be transforming anything that matters in Babel in 2021. I've seen a bunch of projects with huge Babel pipelines where the only actual transform was Typescript's type removal and at that point, if your codebase is entirely Typescript, Typescript has all the downlevel transforms you need "baked in" (and arguably a little bit cleaner and simpler to Babel's kitchen sink but also still somehow millions of plugins approach) and it's just setting Typescript's compile option to the ES level you are most comfortable with. (In 2021 that may even be as high as { "target": "es2019" } or higher in your tsconfig.json and even there Typescript's not going to even need to downlevel much.) Typescript can also transform TSX/JSX to JS without the need of Babel, if you are using React.

    Even ES2015 modules which some people still think is the big reason to keep Babel around: a) has full Browser support if you use type="module", but most people still want to pack their JS because just about no one is assuming HTTP/2 or HTTP/3 yet, and b) Babel has never done module format transforms, that's always been the domain of your packer (webpack, parcel, rollup, snowpack, what have you).

    If you are updating your project stack in 2021 right now my personal top recommendation is that I really like the approach of snowpack (https://www.snowpack.dev/): ES2105 modules with dev experience (which is great), great Typescript support, and a simpler overall config experience than most other options right now. (It uses esbuild under the hood rather than babel for dev and basic transforms/bundling. It can optionally piggy back webpack and parcel for Production bundling that needs more "power".) Especially that <script type='module"> dev experience feels great now (with Hot Module Reloading too) versus waiting for a full bundle even for dev builds.

  • Build your own component library with Svelte
    10 projects | dev.to | 9 Nov 2021
    SvelteKit uses Vite under the hood, which is quite surprising, as Sapper and most tools are developed using Snowpack. Vite 2 is framework-agnostic and designed with SSR at its core.
  • Angular Is Rotten to the Core
    9 projects | news.ycombinator.com | 4 Nov 2021
    I've had some success with npm, snowpack, mocha, typescript as that sort of stack for more "vanilla" efforts that feel rather more "modern". I think mocha is easier and cleaner than jest. I like keeping all of my transpilation to just Typescript without needing a massive Babel install/pipeline. snowpack (https://www.snowpack.dev/) right now I think is in a sweet spot of a better "ES Module native" developer experience than webpack and has better defaults when left unconfigured. (So much so that while there are snowpack templates/generators provided by the project I mostly don't use them other than for reference.)
  • Typesense and React, Typesense an open-source alternative to Algolia and Elasticsearch
    7 projects | dev.to | 26 Oct 2021
    ✨ Bootstrapped with Create Snowpack App (CSA).
    7 projects | dev.to | 26 Oct 2021
    For the best production performance: Add a build bundler plugin like @snowpack/plugin-webpack or snowpack-plugin-rollup-bundle to your snowpack.config.mjs config file.

What are some alternatives?

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

esbuild - An extremely fast JavaScript and CSS bundler and minifier

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

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.

parcel - The zero configuration build tool for the web. 📦🚀

gulp - A toolkit to automate & enhance your workflow

browserify - browser-side require() the node.js way

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