Registry / devops / esbuild-plugin-ignore-module

esbuild-plugin-ignore-module

JSON →
library0.5.1jsnpmunverified

ESBuild plugin to ignore specific module imports during bundling. Current stable version is 0.5.1, maintained and updated occasionally. It allows you to specify module names or patterns to be replaced with empty objects, useful for stripping out server-only or optional dependencies in browser builds. Key differentiator: simple, type-safe (ships TypeScript definitions), and integrates seamlessly with ESBuild's plugin system. Alternatives like `esbuild-plugin-external` fully externalize modules, while this plugin mocks them.

npm install esbuild-plugin-ignore-module
INSTALL
IMPORT
SIG · ESBUILD-PLUGIN-IGN
E
esbuild-plugin-ignore-module
devopsjavascriptv0.5.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

ignoreModulePlugin
import { ignoreModulePlugin } from 'esbuild-plugin-ignore-module'
const ignoreModulePlugin = require('esbuild-plugin-ignore-module')
ESM-only; no CJS export. Use dynamic import if needed.
IgnoreModuleOption
import type { IgnoreModuleOption } from 'esbuild-plugin-ignore-module'
import { IgnoreModuleOption } from 'esbuild-plugin-ignore-module'
This is a type export, only available when using TypeScript or with `import type`.
default
import ignoreModulePlugin from 'esbuild-plugin-ignore-module'
import { default } from 'esbuild-plugin-ignore-module'
Default export is the plugin function itself; named export exists too.

This example shows how to ignore Node.js built-in modules (fs, path, crypto) during bundling, replacing them with empty objects.

import { build } from 'esbuild'; import { ignoreModulePlugin } from 'esbuild-plugin-ignore-module'; await build({ entryPoints: ['src/index.ts'], bundle: true, outfile: 'dist/out.js', plugins: [ ignoreModulePlugin({ modules: ['fs', 'path', 'crypto'] }) ] });
Debug
Known issues
gotchaThe plugin replaces ignored modules with an empty object `{}`. This may cause runtime errors if code expects those modules to exist.
fix
Ensure your code handles the absence of these modules, e.g., with optional chaining or conditional checks.
affects: *
breakingVersion 0.5.0 changed the plugin's API from `ignoreModule` to `ignoreModulePlugin`. Old code using `import { ignoreModule } from 'esbuild-plugin-ignore-module'` will break.
fix
Update imports to use `ignoreModulePlugin` instead of `ignoreModule`.
affects: >=0.5.0
deprecatedSpecifying strings directly in the `modules` array is deprecated; use objects with `{ name: 'moduleName' }` instead.
fix
Convert each string to an object: `{ name: 'moduleName' }`.
affects: >=0.4.0
Errors
Common errors & fixes
Error: Cannot find module 'esbuild-plugin-ignore-module'
Package not installed or peer dependency `esbuild` version mismatch.
fix
Run `npm install esbuild-plugin-ignore-module esbuild` (esbuild as peer dep).
TypeError: ignoreModule is not a function
Using the old API name `ignoreModule` from versions <0.5.0.
fix
Use `ignoreModulePlugin` instead: `import { ignoreModulePlugin } from 'esbuild-plugin-ignore-module'`.
error: No matching export in "esbuild-plugin-ignore-module" for import "default"
Trying to default-import in a CommonJS context.
fix
Use named import: `import { ignoreModulePlugin } from 'esbuild-plugin-ignore-module'` or use dynamic import.
Upgrade
Version history
0.5.1latest on npm
Audit
Dependencies
esbuildrequiredPeer dependency; plugin requires ESBuild >=0.14.0
Agent activity
2 hits · last 30 days
node
2
Resources
esbuild-plugin-ignore-module — npm install esbuild-plugin-ignore-module · libregistry