esbuild-plugin-ignore
raw JSON → 1.1.1 verified Mon Apr 27 auth: no javascript
esbuild-plugin-ignore (v1.1.1) is a plugin for esbuild that allows ignoring specific dependencies during bundling, similar to Webpack's IgnorePlugin. It provides a straightforward way to exclude modules based on regular expressions matching resource and context paths. The package supports both ESM and CommonJS, and is actively maintained. Key differentiators: simple API, no external dependencies, works with esbuild's plugin system. Version 1.1.1 is the latest stable release with no recent changes.
Common errors
error Error: Build failed with 1 error: error: Could not resolve 'pg-native' ↓
cause The module 'pg-native' is being required but esbuild cannot find it because it's not installed or is ignored incorrectly.
fix
Either install the missing dependency or add it to the ignorePlugin rule with correct resourceRegExp.
error TypeError: ignorePlugin is not a function ↓
cause Importing the plugin incorrectly: using default import when named import is expected, or vice versa.
fix
Use named import:
import { ignorePlugin } from 'esbuild-plugin-ignore' error Cannot find module 'esbuild-plugin-ignore' ↓
cause Package not installed or not in node_modules.
fix
Run
npm install esbuild-plugin-ignore or yarn add esbuild-plugin-ignore. Warnings
gotcha Plugin ignores modules based on RegExp; over-broad patterns may unintentionally exclude necessary dependencies. ↓
fix Use specific resourceRegExp and contextRegExp patterns matching only the modules you intend to ignore.
gotcha Plugin does not check if ignored modules are actually required; may produce runtime errors if they are missing. ↓
fix Ensure ignored modules are not actually used in your code or provide polyfills as needed.
gotcha The plugin matches both resource and context; if contextRegExp is not specified, it defaults to '/.*/' matching any context. ↓
fix Explicitly define contextRegExp to avoid unintended matches.
Install
npm install esbuild-plugin-ignore yarn add esbuild-plugin-ignore pnpm add esbuild-plugin-ignore Imports
- ignorePlugin wrong
const ignorePlugin = require('esbuild-plugin-ignore')correctimport { ignorePlugin } from 'esbuild-plugin-ignore' - ignorePlugin (default import) wrong
import * as ignorePlugin from 'esbuild-plugin-ignore'correctimport ignorePlugin from 'esbuild-plugin-ignore' - IgnorePlugin (commonjs) wrong
const ignorePlugin = require('esbuild-plugin-ignore').defaultcorrectconst { ignorePlugin } = require('esbuild-plugin-ignore')
Quickstart
import { ignorePlugin } from 'esbuild-plugin-ignore';
import * as esbuild from 'esbuild';
await esbuild.build({
entryPoints: ['src/index.js'],
bundle: true,
outfile: 'dist/bundle.js',
plugins: [
ignorePlugin([
{
resourceRegExp: /pg-native$/,
contextRegExp: /node_modules\/sequelize|node_modules\/pg/
},
{
resourceRegExp: /tedious|sqlite3|mariadb$/,
contextRegExp: /node_modules\/sequelize/
}
])
]
});