Awesome esbuild
esbuild is a super fast JavaScript bundler written in Go.
Reading
- How does esbuild transform TypeScript?: Like babel, esbuild treats types as whitespaces and remove them from output code.
- Discussions about the plugin API: You will be able to build plugins in JS, you can also use esbuild as a Go library to build your own bundler for best performance.
- Why esbuild is written in Go rather than your favorite language: Written in a "faster" language doesn't automatically make your code run faster, esbuild is already faster than SWC which is implemented in Rust as of writting. The author is also more productive in Go and Go's compiler is faster compared to Rust, which allows him to iterate much quicker.
JavaScript Ecosystem
- estrella: A file watcher running rebuild automatically.
- rollup-plugin-esbuild: A Rollup plugin to transform JS/TS with esbuild.
- esbuild-loader: A webpack loader and plugin to transform JS/TS with esbuild.
- esbuild-webpack-plugin: Use esbuild as minifier for webpack.
- tsup: An esbuild based bundler for Node.js libraries.
- esbuild-node-tsc: Build your Typescript Node.js projects using blazing fast esbuild.
- Maho: An attempt to build a SSR framework with esbuild and React.
- Vite: An ESM-based build tool, using esbuild to transform JS/TS code.
- Snowpack: The near-instant build tool for modern web apps, using esbuild to transform JS/TS code.
- serverless-esbuild: A Serverless framework plugin to bundle JavaScript and TypeScript using esbuild.
- gulp-esbuild: A gulp plugin for esbuild bundler.
- aws-lambda-nodejs-esbuild: AWS CDK Construct to bundle JavaScript and TypeScript lambdas using esbuild.
- esm.sh: A fast, global content delivery network for ES Modules using esbuild.
- esbuild-config: Add config files to esbuild.
- Tauque: Tauque is a zero-configuration JS/TS bundler using esbuild.
- esrun: esrun is a "work out of the box" library to execute Typescript without having to manually use a bundler.
- esbuild-bun-react-template: A template for using esbuild with bun & react. Anecdotally faster than NextJS.
- quickbundle: A zero-configuration bundler for JavaScript and TypeScript libraries producing optimized CommonJS and ESM NPM modules.
Plugins
โ ๏ธ These plugins are from the community and are not officially supported.โ ๏ธ
- esbuild-analyzer: A visualizer esbuild analyzer.
- esbuild-coffeescript A plugin to load and compile CoffeeScript.
- esbuild-cf-functions-plugin A plugin for building code compatible with CloudFront Functions.
- esbuild-dynamic-import-plugin A plugin that transform imports to dynamic import(import on demand).
- esbuild-graphql-loader: A plugin allowing for GraphQL file imports.
- esbuild-mdx: A plugin to render
.md
and.mdx
-delimited files as React components. - esbuild-plugin-glsl: A plugin that adds support for GLSL file imports with optional shader minification.
- esbuild-plugin-glslx: A plugin that supports
*.glslx
files including type checking of GLSL code. - esbuild-plugin-less: A plugin to transform LESS files to CSS files.
- esbuild-plugin-postcss: A plugin to use postcss.
- esbuild-plugin-sass: A plugin to transform SASS files to CSS files.
- esbuild-plugin-svgr: A plugin to import
*.svg
files as React components. - esbuild-sass-plugin: Yet another SASS to CSS but with support for lit-element's styles.
- esbuild-stylus-loader: A plugin to transform stylus files to css files.
- esbuild-svelte: A plugin to load and compile Svelte components.
- essass: A plugin to transform SASS files to CSS files.
- esbuild-plugin-cache: A plugin to cache http/https modules.
- esbuild-plugin-flow: A plugin to strip types for Flow files using flow-remove-types package.
- vite-esbuild-typescript-checker - Fast type checker (TypeScript, Vue SFC, etc.) Based on the webpack 5 plugin (fork-ts-checker-webpack-plugin).
Templates
- typescript-project-skeleton-esbuild-jest - Template with the latest versions of Typescript, ESBuild, Jest, ESLint & Prettier.
Testing
- cypress-plugins - Cypress plugins to use esbuild and v8 code coverage for e2e and component tests.
Communities
- Reddit: Unofficial subreddit for everything related to esbuild.
Go Ecosystem
- esbuild-service: A web server that bundles any npm package on the fly as you fetch.
- Hugo: A static site generator, using esbuild to bundle front-end assets.