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.
Common errors
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.
Warnings
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.
Install
npm install esbuild-plugin-progress yarn add esbuild-plugin-progress pnpm add esbuild-plugin-progress Imports
- progress wrong
const progress = require('esbuild-plugin-progress')correctimport progress from 'esbuild-plugin-progress' - ProgressPlugin
import { ProgressPlugin } from 'esbuild-plugin-progress' - default
import progress from 'esbuild-plugin-progress'
Quickstart
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');