esbuild-plugin-progress

raw JSON →
1.3.9 verified Fri May 01 auth: no javascript

A plugin for esbuild that displays a live progress spinner during the build process. Current stable version is 1.3.9. The plugin is released on npm and updates are infrequent. Key differentiators: simple integration, no dependencies, minimalist spinner animation that provides visual feedback for esbuild builds, especially useful for large builds or server-side bundling. It is a lightweight alternative to more complex logging plugins.

error Error: Cannot find module 'esbuild-plugin-progress'
cause Package not installed or missing from node_modules.
fix
Run npm install esbuild-plugin-progress --save-dev
error TypeError: progress is not a function
cause Using the default import incorrectly, e.g., importing as { progress }.
fix
Use import progress from 'esbuild-plugin-progress'
error The spinner is not showing
cause Non-interactive terminal or CI environment.
fix
Check if process.stdout.isTTY is true before using the plugin.
gotcha The progress spinner may not display properly in non-TTY terminals or CI environments.
fix Use environment detection to disable the plugin in non-interactive shells.
gotcha Plugin does not support esbuild's watch mode; spinner will only appear for one-time builds.
fix Do not use this plugin with esbuild's watch or serve modes.
deprecated The package ships CommonJS but is primarily ESM; require() may cause issues in strict ESM projects.
fix Use dynamic import() if using CommonJS in a mixed module project.
npm install esbuild-plugin-progress
yarn add esbuild-plugin-progress
pnpm add esbuild-plugin-progress

Shows the simplest usage: import esbuild and the plugin, then include in plugins array.

import esbuild from 'esbuild';
import progress from 'esbuild-plugin-progress';

await esbuild.build({
  entryPoints: ['./src/index.js'],
  bundle: true,
  outfile: './dist/bundle.js',
  plugins: [progress()],
});
console.log('Build complete');