esbuild-plugin-remove-duplicate-require
raw JSON → 0.0.0 verified Fri May 01 auth: no javascript
ESBuild plugin that removes duplicate require statements from minified builds, reducing bundle size. Version 0.0.0 is the initial release. It works by detecting and deduplicating repeated require() calls in the output, which can occur when multiple modules import the same dependency. Different from many plugins, it focuses specifically on the final bundle output rather than during tree-shaking. Ships TypeScript types.
Common errors
error Error: Cannot find module 'esbuild-plugin-remove-duplicate-require' ↓
cause Wrong package name used.
fix
npm install esbuild-plugin-rdi
error TypeError: rdiPlugin is not a function ↓
cause Default import used instead of named import.
fix
import { rdiPlugin } from 'esbuild-plugin-rdi'
Warnings
gotcha Plugin modifies the final bundle after minification; ensure it runs after other plugins that might introduce duplicates. ↓
fix Place rdiPlugin last in the plugins array.
deprecated The package name in npm is 'esbuild-plugin-rdi' not 'esbuild-plugin-remove-multiple-require'. ↓
fix Install as 'esbuild-plugin-rdi'. Import from 'esbuild-plugin-rdi'.
Install
npm install esbuild-plugin-remove-multiple-require yarn add esbuild-plugin-remove-multiple-require pnpm add esbuild-plugin-remove-multiple-require Imports
- rdiPlugin wrong
import rdiPlugin from 'esbuild-plugin-rdi'correctimport { rdiPlugin } from 'esbuild-plugin-rdi' - rdiPlugin wrong
const rdiPlugin = require('esbuild-plugin-rdi')correctconst { rdiPlugin } = require('esbuild-plugin-rdi') - type imports wrong
import { RdiOptions } from 'esbuild-plugin-rdi'correctimport type { RdiOptions } from 'esbuild-plugin-rdi'
Quickstart
import { rdiPlugin } from 'esbuild-plugin-rdi';
import * as esbuild from 'esbuild';
await esbuild.build({
entryPoints: ['app.ts'],
bundle: true,
outfile: 'out.js',
plugins: [rdiPlugin()],
});