Back to Explore

evanw/esbuild

GitHub
4 updates · last 90 days1 watchersOpen source

Last release: 2 months ago

esbuild is an extremely fast JavaScript bundler for the web that also supports TypeScript, JSX, and CSS out of the box. It provides a straightforward API and tools like minification, tree shaking, source maps, a local server, watch mode, and plugins, useful for building bundles for ESM and CommonJS modules.

Project status

  • The source (evanw/esbuild) appears actively maintained, with a very recent upstream push on 2026-06-08 and multiple recent version updates in early April 2026 (v0.28.0, v0.27.7, v0.27.5).
  • The apparent update cadence is frequent over short windows, since several updates landed within roughly the same day on 2026-04-02, suggesting ongoing active development rather than maintenance-only mode.

AI summary generated Today

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v0.28.0

    2 months ago

    v0.28.0 adds support for TC39 import attributes using `with { type: 'text' }`, behaving like the existing `text` loader. It also introduces SHA-256 integrity checking during the npm install script's fallback download path, and bumps the embedded Go compiler from 1.25.7 to 1.26.1.

    BreakingFeatures
  • v0.27.7

    2 months ago

    v0.27.7 fixes esbuild's lowering of TypeScript parameter properties when `useDefineForClassFields` is enabled, ensuring the generated code matches the configured class fields support. While the release notes focus on this TS-specific lowering bug, the diff also includes several other internal changes, including type signature updates, compatibility table updates for certain engines, and build/dependency bumps.

  • v0.27.5

    2 months ago

    v0.27.5 fixes a specific bug in esbuild's async generator transformation when async generators are polled concurrently. It also fixes a regression in the JS API's `metafile` handling when `metafile: true` is used with build errors, and adds support for targeting `ES2025` in `tsconfig.json` along with updated TypeScript parameter property output when `useDefineForClassFields` is enabled.

    Features
  • v0.27.4

    2 months ago

    v0.27.4 fixes a regression in CSS media query printing related to the `<media-type> and <media-condition-without-or>` grammar, and addresses an edge case with the `inject` feature when handling arbitrary module namespace names. It also improves JavaScript API handling of huge metafiles by avoiding V8 string length limits and reducing metafile size for very large bundles.

  • v0.27.3

    4 months ago

    esbuild v0.27.3 fixes CSS bundling for data URLs so URL fragments (hash suffixes) are preserved, and it adds dedicated parsing and printing support for CSS @scope rules. It also fixes a minification bug related to lowering for-await loops. In addition to the documented changes, the diff shows updates to esbuild's internal browser/feature compatibility tables and a CSS gradient transformation change that are not mentioned in the release notes.

    Features
  • v0.27.2

    5 months ago

    esbuild v0.27.2 expands JavaScript import-map compatibility by allowing package.json `imports` specifiers that start with `#/`. It also changes CSS output to automatically emit the `-webkit-mask` vendor-prefixed form when using the `mask` shorthand, and improves `--minify` output for certain `switch` patterns. Finally, it tightens parsing rules by making `using` declarations directly inside `switch` case/default clauses a syntax error.

    BreakingFeatures
  • v0.27.1

    6 months ago

    v0.27.1 focuses on correctness fixes in the bundler and minifier, plus a couple of minification improvements. It includes fixes for hoisting nested top-level var declarations when wrapping ES modules for require(), a minifier regression involving labeled for/try transformations from for-await lowering, and enhancements around inlining small IIFEs and stripping empty finally clauses. It also expands tree-shaking to treat Symbol construction as side-effect free for primitive-known arguments.

    Features
  • v0.27.0

    7 months ago

    Release v0.27.0 changes esbuild's "binary" loader to prefer Uint8Array.fromBase64 when the configured target environment supports it. It also bumps the Go compiler to v1.25.4, which increases the minimum OS requirements for running esbuild.

    BreakingFeatures
  • v0.26.0

    7 months ago

    Release v0.26.0 focuses on moving esbuild's npm publishing to GitHub Actions using npm trusted publishing. The code changes primarily update CI/CD automation (new publish workflow, removed old release workflow) and bump all package versions from 0.25.12 to 0.26.0.

    SecurityFeatures
  • v0.25.12

    7 months ago

    esbuild v0.25.12 fixes a CSS minification regression affecting duplicate media rule removal for certain @media grammars. It also adds support for the @view-transition CSS rule, improves CSS minification by trimming dead :is() and :where() selectors, and expands the set of known side-effect-free JavaScript globals to improve tree-shaking.

    SecurityFeatures