evanw/esbuild
This system is a high-performance JavaScript and CSS bundler and minifier, implemented primarily in Go with a rewritten internal architecture. It provides a CLI, a Go library API, and bindings for Node.js, browser, and Deno environments to transform, bundle, and optimize source code. The system handles module resolution, tree-shaking, and code generation, while also managing browser compatibility tables and incremental build caching.
39.7
Weak · 6 August 2026
130k
lines of production code
Go
with TypeScript
1
bus factor · 127 authors in all
3
measurements over time
How it got here
2020 · internal architecture refactoring
This period was dominated by a comprehensive internal refactoring of esbuild's core components, including the parser, printer, and bundler, which were migrated from the public src/esbuild directory to internal packages. The work involved restructuring the codebase to separate concerns, such as extracting source map logic and implementing a new two-phase build process, while also introducing features like CSS parsing and Yarn PnP support.
37 changes
2021–2023 · Internal architecture and performance optimization
This period focused on significant internal refactoring and performance improvements, including the introduction of xxHash, the consolidation of the linker and graph state, and the modularization of shared libraries. The team also expanded runtime support for Deno and Node.js, while adding comprehensive unit tests and updating compatibility data generation tools.
11 changes
Survey your own repository
evanw/esbuild was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point the surveyor at a repository you know and see whether you agree with it.
About this page
- The description of this project is derived from its own commit history, not from its README.
- The score is its highest published measurement, taken on 6 August 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 6ff1d8b0d8 — the exact code this score is about.
- Scored under rubric rubric-2026.08.19. Score the same commit under that rubric and you get the same number.