bun VS esbuild

Compare bun vs esbuild and see what are their differences.

bun

Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one (by oven-sh)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
bun esbuild
288 324
70,679 37,307
2.2% -
10.0 9.5
7 days ago 3 days ago
Zig Go
- 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.

bun

Posts with mentions or reviews of bun. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-25.
  • Node Test Runner vs Bun Test Runner (with TypeScript and ESM)
    1 project | dev.to | 26 Apr 2024
    It has a decent compatibility with both Jest and Vitest's APIs (you can track progress here so you can use it as almost a drop-in replacement for either. Just as Node's, it has describe/it, mock, test and others, but with the expect syntax (which I find more readable). For example:
  • SPA-Like Navigation Preserving Web Component State
    2 projects | dev.to | 25 Apr 2024
    In this third and final article in the series on HTML Streaming, we will explore the practical implementation of the Diff DOM Streaming library in web browsing. This approach will allow any website using web components to retain its state during browsing. We will discuss in detail how to achieve this step by step using VanillaJS and Bun.
  • React Server Components Example with Next.js
    9 projects | dev.to | 16 Apr 2024
    At Node Conference 2023, Jarred Sumner (creator of Bun) showed a demo of server components in Bun, so there is at least partial support in that ecosystem. The Bun repo provides bun-plugin-server-components as the official plugin for server components. And while I haven’t looked at it in-depth, Marz claims to be a “React Server Components Framework for Bun”.
  • Bun – A fast all-in-one JavaScript runtime
    1 project | news.ycombinator.com | 6 Apr 2024
  • From Node to Bun: A New Dawn for JavaScript Engines?
    1 project | dev.to | 3 Apr 2024
    Continuously evolving, Bun is currently optimized for MacOS and Linux, with ongoing efforts towards Windows compatibility. Tailored for resource-constrained environments like serverless functions, it emerges as an ideal solution. The Bun team is committed to achieving comprehensive Node.js compatibility and seamless integration with prevalent frameworks. For those intrigued by Bun's potential and want to give it a try, more information is available on its website at https://bun.sh/.
  • Bun - The One Tool for All Your JavaScript/Typescript Project's Needs?
    4 projects | dev.to | 2 Apr 2024
    Let’s say you are interested in learning more about Bun and probably give it a try. Bun has a website, where you can learn more about Bun and its features (including all the benchmark data captured in this issue), and here is the link.
  • Bun 1.1
    17 projects | news.ycombinator.com | 1 Apr 2024
    Looks like it, it seems the 2% are mostly odd platform specific issues that the authors' did not deem very important (my assumption for the release happening anyway). AFAIK this[1] PR tries to fix them.

    [1]: https://github.com/oven-sh/bun/pull/9729

  • Bun-ify Your Project
    1 project | dev.to | 6 Mar 2024
    Bun has a solution for it. First of all, it already has a list of trusted dependencies. For them, Bun will execute all necessary scripts by default. Otherwise, you can add it to trustedDependecies in your package.json file. In Bun community usage of trustedDependencies is a hot topic. There are several suggestions on how to improve it.
  • I have created a small anti-depression script
    4 projects | dev.to | 5 Mar 2024
    Install Node.js (or Bun, or Deno, or whatever JS runtime you prefer) if it's not there
  • JSR: The JavaScript Registry
    9 projects | news.ycombinator.com | 1 Mar 2024
    I think maybe I was unclear. I'm talking about writing libraries that abstract across these differences and provide a single API, as sibling describes. I already know it's possible. I made a simple filesystem abstraction here[0] and a very simple HTTP library that uses it here[1]. They both work in Node/Deno and the browser. Unfortunately I ran into issues with Bun's slice implementation[2]. But I suspect there's a much better way of detecting and using the different backends.

    [0]: https://github.com/waygate-io/fs-js

    [1]: https://github.com/waygate-io/http-js

    [2]: https://github.com/oven-sh/bun/issues/7057

esbuild

Posts with mentions or reviews of esbuild. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-05-06.
  • How and why do we bundle zx?
    9 projects | dev.to | 6 May 2024
    At first we wanted to just get rid of all the helper utilities. Keep only the kernel, but this would mean a loss of backward compatibility. We needed some efficient code processing instead with recomposition and tree-shaking. We needed a bundler. But which one? Our testing approach relies on targets, not sources. We rebuilt the project frequently, speed was critical requirement. In essence, we chose a solution from a couple of among all available alternatives: esbuild and parcel. Esbuild won. Specifically in our case, it proved to be more productive and customizable.
  • Use Notion as your CMS along with Next.js
    5 projects | dev.to | 10 Apr 2024
    During my search for deploying Lambdas via GitHub actions, I came across a tutorial that utilized ncc for converting TypeScript and bundling. While ncc is effective, I discovered esbuild, which proved to be significantly faster and perfectly suited to my requirements.
  • ⏰ It’s time to talk about Import Map, Micro Frontend, and Nx Monorepo
    9 projects | dev.to | 11 Mar 2024
    The advent of esbuild, the native support for ES Modules in browsers, the widespread adoption of import map, the emergence of tools like Native Federation, and the Nx ecosystem all combine to forge a flexible and well-maintained Micro Frontend Architecture.
  • JS Toolbox 2024: Bundlers and Test Frameworks
    10 projects | dev.to | 3 Mar 2024
    EsBuild is a relatively new, blazing-fast JavaScript bundler and minifier. It stands out for its high performance, significantly speeding up the build process in development pipelines.
  • 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.
  • SSR React in Go
    9 projects | dev.to | 20 Jan 2024
    Use esbuild to build the React code into a form executable on both the server and client sides.
  • Effortless Function as a Service: A Simple Guide to Implementing it with Query
    2 projects | dev.to | 21 Dec 2023
    The functions will bundle using esbuild. For that, it is required to install esbuild globally:
  • How to run TypeScript natively in Node.js with TSX
    1 project | dev.to | 28 Nov 2023
    TSX is the newest and most improved version of our ts-node, using ESBuild to transpile TS files to JS very quickly. The most interesting part is that TSX was developed to be a complete replacement for Node, so you can actually use TSX as a TypeScript REPL, if you install it globally with npm i -g tsx, just run tsx in your terminal and you can write TSX natively. But what's even cooler is that you can load TSX for all TypeScript files using --loader tsx when you run your file. For example, let's say we have this file called index.ts:
  • Quick Summary of Angular 17
    3 projects | dev.to | 13 Nov 2023
    esbuild plus Vite is out of developer preview and enabled by default, yielding 67%, 87%, 80% speed improvements for build time, hybrid build time and hybrid serve time respectively.
  • In-Depth guide for TypeScript Library
    4 projects | dev.to | 13 Nov 2023
    Bundling with esbuild

What are some alternatives?

When comparing bun and esbuild you can also consider the following projects:

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

swc - Rust-based platform for the Web

GORM - The fantastic ORM library for Golang, aims to be developer friendly

nvm - Node Version Manager - POSIX-compliant bash script to manage multiple active node.js versions

Rollup - Next-generation ES module bundler

fastify - Fast and low overhead web framework, for Node.js

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.

go-pg - Golang ORM with focus on PostgreSQL features and performance

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

deno - A modern runtime for JavaScript and TypeScript.

terser - 🗜 JavaScript parser, mangler and compressor toolkit for ES6+