V8 VS esbuild

Compare V8 vs esbuild and see what are their differences.

Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • Scout APM - Less time debugging, more time building
  • OPS - Build and Run Open Source Unikernels
V8 esbuild
32 175
19,021 30,146
1.8% -
0.0 9.8
6 months ago 2 days ago
C++ Go
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.


Posts with mentions or reviews of V8. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-18.


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 2022-01-26.
  • A story of how we migrated to pnpm
    9 projects | dev.to | 26 Jan 2022
    We have been using Yarn 2 for quite some time, having originally switched to it for its native workspace support which is great for monorepos as we happen to have one. Because we use a lot of different dev tools (in no particular order - Vite, Vitepress, Astro, esbuild, Webpack, Eleventy, Firebase tools, Tailwind...) and many more actual dependencies. It's easy to understand how many dependencies we're bound to have when you see all the frameworks we support, whether on WebComponents.dev or on Backlight.
  • Iā€™m Porting the TypeScript Type Checker Tsc to Go
    7 projects | news.ycombinator.com | 25 Jan 2022
    Given that ESBuild [0] is a way better replacement for Webpack already (and similarly written in Go) I can see how we could pretty soon have an entire toolchain written in Go for dealing with compiling JS.

    Hopefully the whole toolchain will be embeddable, too. Being able to do configuration-in-code and produce an executable that does the whole build step in milliseconds would be cool.

    [0] https://esbuild.github.io/

    7 projects | news.ycombinator.com | 25 Jan 2022
    No, I haven't experimented with generics and esbuild. I hadn't considered whether generics could improve performance or not. Just thinking about it quickly now. I'm not convinced it would because esbuild hardly makes use of interface{}. If someone can demonstrate a noticeable performance improvement then I'd be happy to start using generics for that reason.

    The main pattern esbuild uses is an interface with a single dummy method to denote a union type like this: https://github.com/evanw/esbuild/blob/34899aaa1d76acd3b4adc5.... It's used several times and is basically esbuild's core data structure. I'd like to be able to optimize this pattern. Specifically I'd like to avoid each reference to a union type taking up two whole pointers in memory (Go represents interfaces as a pointer to the object and a separate pointer to the method table).

    I'm only using the method table as a tag for the tagged union, so ideally it'd be a single byte or something even less expensive like part of the pointer. I don't think generics can help with this? But Go doesn't let you do fancy stuff like this so I'm just leaving it be. A low-level language like C++/Rust could do better here, but that comes at the cost of a significant decrease in productivity, so I'm ok with this trade-off.

  • How to Use Source Maps in TypeScript Lambda Functions (with Benchmarks)
    11 projects | dev.to | 24 Jan 2022
    Emitting Source Maps is very easy with esbuild. We simply set the boolean property in our configuration. Now when we run the build, we'll get an index.js.map file as well as our index.js. This file must be uploaded to the Lambda service. We'll see how to do that with AWS CDK, AWS SAM and the Serverless Framework a bit later in this article.
  • State of the Web: Bundlers & Build Tools
    17 projects | dev.to | 23 Jan 2022
    Another way that many people are trying to speed up bundling and code transformation is through using more optimized languages like Go or Rust. Currently, the two most notable tools that do this are esbuild and SWC. esbuild was created by Evan Wallace in 2016 using Go. esbuild performed the role of Babel in transforming modern JavaScript, the TypeScript compiler, Terser, and basic bundling all in one package that was significantly faster than any other tools at that time. SWC was created in 2017 by kdy1 using Rust. SWC is even faster than esbuild, although only marginally. esbuild is currently more popular than SWC and is used by projects like Vite, although Deno and Next.js have adopted SWC.
  • Modern Webapps with React, Phoenix, Elixir and TypeScript
    8 projects | dev.to | 21 Jan 2022
    For our React frontend, I've chosen Vite to handle all the tooling for me. It has got all the sane defaults I need for a TypeScript project with React, plus it uses ESBuild which gives us blazing fast feedback during development.
  • TypeScript Features to Avoid
    9 projects | news.ycombinator.com | 20 Jan 2022
    I've just looked this up and it seems to support `const enum` just fine[0]. I remember Babel not being able to process `const enum`, since it goes across module boundaries and Babel does not.

    [0]: https://github.com/evanw/esbuild/issues/128

  • [PT-BR] Usando esbuild com Typescript
    2 projects | dev.to | 19 Jan 2022
    PS C:\Users\Em1dio> esbuild Usage: esbuild [options] [entry points] Documentation: https://esbuild.github.io/ Repository: https://github.com/evanw/esbuild ...
  • Getting errors with TypeORM and SvelteKit ā€” any ideas?
    2 projects | reddit.com/r/sveltejs | 10 Jan 2022
    Your repo is missing /src/lib/User.ts https://github.com/evanw/esbuild/issues/257 indicates that annotation based TypeORM is not going to work in ESBuild
  • First Look at Lambda Powertools TypeScript
    11 projects | dev.to | 10 Jan 2022
    Decorators and TypeScript aren't supported out of the box in Lambda (without using deno) so we'll also need a transpilation step if we go this route. Fortunately this is a mostly solved problem for AWS CDK, AWS SAM and Serverless Framework users. If you want or need to roll your own, esbuild is a great place to start and seems to be the bundler of choice for this purpose.

What are some alternatives?

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

swc - Rust-based platform for the Web

Rollup - Next-generation ES module bundler

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.

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

parcel - The zero configuration build tool for the web. šŸ“¦šŸš€

Duktape - Duktape - embeddable Javascript engine with a focus on portability and compact footprint

Tailwind CSS - A utility-first CSS framework for rapid UI development.

Snowpack - ESM-powered frontend build tool. Instant, lightweight, unbundled development. āœŒļø

PostCSS - Transforming styles with JS plugins

import-maps - How to control the behavior of JavaScript imports

ChakraCore - ChakraCore is an open source Javascript engine with a C API. [Moved to: https://github.com/chakra-core/ChakraCore]

Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.