Esbuild

Last updated
esbuild
Developer(s) Evan Wallace  OOjs UI icon edit-ltr-progressive.svg
Stable release
0.24.0 [1]   OOjs UI icon edit-ltr-progressive.svg / 22 September 2024;2 months ago (22 September 2024)
Repository
Written in Go   OOjs UI icon edit-ltr-progressive.svg
Operating system Cross-platform  OOjs UI icon edit-ltr-progressive.svg
Type JavaScript bundler
License MIT License   OOjs UI icon edit-ltr-progressive.svg
Website Official website OOjs UI icon edit-ltr-progressive.svg

esbuild is a free and open-source module bundler and minifier for JavaScript and CSS [2] written by Evan Wallace. [3] [4] Written in Go instead of JavaScript, esbuild claims to be "10 to 100 times" faster than other bundlers by using parallelism and shared memory usage. [5] [6] [7] [8] It supports TypeScript, JSX, tree-shaking and is extensible through plugins.

Contents

Usage

esbuild is used in Vite, a front-end build-tool and development server, and the Phoenix Framework. It is included as a bundler for Angular since v17, [9] Ruby on Rails since v7, [10] and for Netlify Functions. [11]

See also

Related Research Articles

Server-side scripting is a technique used in web development which involves employing scripts on a web server which produces a response customized for each user's (client's) request to the website. Scripts can be written in any of a number of server-side scripting languages that are available. Server-side scripting is distinguished from client-side scripting where embedded scripts, such as JavaScript, are run client-side in a web browser, but both techniques are often used together. The alternative to either or both types of scripting is for the web server itself to deliver a static web page.

<span class="mw-page-title-main">Ruby on Rails</span> Server-side open source web application framework

Ruby on Rails is a server-side web application framework written in Ruby under the MIT License. Rails is a model–view–controller (MVC) framework, providing default structures for a database, a web service, and web pages. It encourages and facilitates the use of web standards such as JSON or XML for data transfer and HTML, CSS and JavaScript for user interfacing. In addition to MVC, Rails emphasizes the use of other well-known software engineering patterns and paradigms, including convention over configuration (CoC), don't repeat yourself (DRY), and the active record pattern.

In computing, a solution stack or software stack is a set of software subsystems or components needed to create a complete platform such that no additional software is needed to support applications. Applications are said to "run on" or "run on top of" the resulting platform.

A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and deploy web applications on the World Wide Web. Web frameworks aim to automate the overhead associated with common activities performed in web development. For example, many web frameworks provide libraries for database access, templating frameworks, and session management, and they often promote code reuse. Although they often target development of dynamic web sites, they are also applicable to static websites.

TypeScript is a free and open-source high-level programming language developed by Microsoft that adds static typing with optional type annotations to JavaScript. It is designed for the development of large applications and transpiles to JavaScript.

<span class="mw-page-title-main">Node.js</span> JavaScript runtime environment

Node.js is a cross-platform, open-source JavaScript runtime environment that can run on Windows, Linux, Unix, macOS, and more. Node.js runs on the V8 JavaScript engine, and executes JavaScript code outside a web browser.

CoffeeScript is a programming language that compiles to JavaScript. It adds syntactic sugar inspired by Ruby, Python, and Haskell in an effort to enhance JavaScript's brevity and readability. Specific additional features include list comprehension and destructuring assignment.

<span class="mw-page-title-main">Cloud9 IDE</span> Online integrated development environment

Cloud9 IDE is an Online IDE, published as open source from version 2.0, until version 3.0. It supports multiple programming languages, including C, C++, PHP, Ruby, Perl, Python, JavaScript with Node.js, and Go.

Yeoman is an open source client-side scaffolding tool for web applications. Yeoman runs as a command-line interface written for Node.js and combines several functions into one place, such as generating a starter template, managing dependencies, running unit tests, providing a local development server, and optimizing production code for deployment.

<span class="mw-page-title-main">Vert.x</span>

Eclipse Vert.x is a polyglot event-driven application framework that runs on the Java Virtual Machine.

asm.js is a subset of JavaScript designed to allow computer software written in languages such as C to be run as web applications while maintaining performance characteristics considerably better than standard JavaScript, which is the typical language used for such applications.

<span class="mw-page-title-main">GraalVM</span> Virtual machine software

GraalVM is a Java Development Kit (JDK) written in Java. The open-source distribution of GraalVM is based on OpenJDK, and the enterprise distribution is based on Oracle JDK. As well as just-in-time (JIT) compilation, GraalVM can compile a Java application ahead of time. This allows for faster initialization, greater runtime performance, and decreased resource consumption, but the resulting executable can only run on the platform it was compiled for.

<span class="mw-page-title-main">MEAN (solution stack)</span> JavaScript software stack

MEAN is a source-available JavaScript software stack for building dynamic web sites and web applications. A variation known as MERN replaces Angular with React.js front-end, and another named MEVN use Vue.js as front-end.

<span class="mw-page-title-main">JHipster</span> Web application generator

JHipster is a free and open-source application generator used to quickly develop modern web applications and Microservices using Angular or React and the Spring Framework.

Angular is a TypeScript-based free and open-source single-page web application framework. It is developed by Google and by a community of individuals and corporations. Angular is a complete rewrite from the same team that built AngularJS. The Angular ecosystem consists of a diverse group of over 1.7 million developers, library authors, and content creators. According to the Stack Overflow Developer Survey, Angular is one of the most commonly used web frameworks.

<span class="mw-page-title-main">Sails.js</span> Open-source web framework built on Node.js

Sails.js is a model–view–controller (MVC) web application framework developed atop the Node.js environment, released as free and open-source software under the MIT License. It is designed for Node.js web applications and APIs with similar architecture to Ruby on Rails.

<span class="mw-page-title-main">Netlify</span> American cloud computing company

Netlify is a remote-first cloud computing company that offers a development platform that includes build, deploy, and serverless backend services for web applications and dynamic websites.

Next.js is an open-source web development framework created by the private company Vercel providing React-based web applications with server-side rendering and static rendering.

<span class="mw-page-title-main">Deno (software)</span> Secure JavaScript and TypeScript runtime

Deno is a runtime for JavaScript, TypeScript, and WebAssembly that is based on the V8 JavaScript engine and the Rust programming language. Deno was co-created by Ryan Dahl, who also created Node.js.

Vercel Inc., formerly ZEIT, is an American cloud platform as a service company. The company maintains the Next.js web development framework.

References

  1. "Release 0.24.0". 22 September 2024. Retrieved 23 September 2024.
  2. "esbuild - Content Types". esbuild.github.io. Retrieved 2024-04-15.
  3. Couriol, Bruno. "Esbuild JavaScript Bundler Claims 10-100x Faster Bundling Time". InfoQ. Retrieved 10 November 2023.
  4. Rappl, Florian (30 November 2022). Modern Frontend Development with Node.js: A compendium for modern JavaScript web development within the Node.js ecosystem. Packt Publishing Ltd. p. 95. ISBN   978-1-80461-738-0 . Retrieved 10 November 2023. esbuild is quite a new tool that focuses on performance. The key to esbuild's enhanced performance is that it was written from the ground up in the Go...
  5. Tyson, Matthew (26 May 2021). "7 tools transforming JavaScript development". InfoWorld.
  6. Beswick, James (13 July 2022). "Optimizing Node.js dependencies in AWS Lambda | AWS Compute Blog". aws.amazon.com.
  7. 范文杰 (25 June 2021). "Why is esbuild so fast". SegmentFault.
  8. Minnick, Chris (5 April 2023). JavaScript All-in-One For Dummies. John Wiley & Sons. p. 515. ISBN   978-1-119-90685-8. because it's faster (as a result of being written in the Go language).
  9. "Getting started with the Angular CLI's new build system". angular.io.
  10. Krill, Paul (22 September 2021). "Ruby on Rails 7 pousse le no-node pour le bundling JavaScript - Le Monde Informatique". Le Monde informatique (in French). Retrieved 10 November 2023.
  11. Bouças, Eduardo (2 April 2021). "Modern, faster Netlify Functions: New bundler and JavaScript features". Netlify.