esbuild Linux ARM 64-bit Binary

0.15.18 · active · verified Tue Apr 21

esbuild-linux-arm64 is a platform-specific binary distribution of esbuild, a high-performance JavaScript and CSS bundler and minifier written in Go. It provides the native executable for Linux ARM 64-bit systems, which the main `esbuild` package dynamically loads. As of early 2026, the `esbuild` project is on version 0.28.0 and maintains a sustainable release cadence, with frequent updates often occurring monthly or bi-monthly, and at least one release every three months. Its primary differentiator is its exceptional speed, often achieving 10-100x faster build times compared to traditional JavaScript bundlers like Webpack or Rollup, due to its native compilation. This makes it particularly effective for development environments requiring rapid feedback loops and for projects that prioritize build performance and modern JavaScript features with minimal configuration overhead. It excels at creating optimized bundles for web applications and npm packages.

Common errors

Warnings

Install

Imports

Quickstart

This quickstart demonstrates how to bundle a TypeScript entry point for a Node.js environment, including minification, sourcemaps, and a basic logging plugin, using esbuild's JavaScript API.

import * as esbuild from 'esbuild';
import path from 'path';
import { fileURLToPath } from 'url';

// Emulate __dirname for ESM context
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

const entryPoint = path.resolve(__dirname, 'src/index.ts');
const outputDir = path.resolve(__dirname, 'dist');

console.log(`Bundling ${entryPoint} to ${outputDir}/bundle.js`);

try {
  await esbuild.build({
    entryPoints: [entryPoint],
    bundle: true,
    minify: true,
    sourcemap: true,
    platform: 'node', // or 'browser' or 'neutral'
    format: 'esm',   // or 'cjs' or 'iife'
    outfile: path.join(outputDir, 'bundle.js'),
    // Externalize node built-ins for 'node' platform to avoid bundling them
    external: ['fs', 'path', 'url'], 
    logLevel: 'info',
    define: { 'process.env.NODE_ENV': '"production"' },
    // Add a simple plugin example to show esbuild's extensibility
    plugins: [{
      name: 'log-plugin',
      setup(build) {
        build.onStart(() => {
          console.log('Build started!');
        });
        build.onEnd(result => {
          if (result.errors.length > 0) {
            console.error('Build failed:', result.errors);
          } else {
            console.log('Build finished successfully with', result.warnings.length, 'warnings.');
          }
        });
      },
    }],
  });
  console.log('Build complete!');
} catch (e) {
  console.error('Build failed:', e.message);
  process.exit(1);
}

view raw JSON →