bob-esbuild-plugin
raw JSON → 4.0.0 verified Fri May 01 auth: no javascript
Rollup plugin that uses esbuild for fast transpilation and minification, integrated into the bob-esbuild build system. Current stable version is 4.0.0. It wraps esbuild's transform API and integrates with rollup, offering a simpler alternative to rollup-plugin-esbuild. Key differentiators: provides default behavior for TypeScript and JSX, automatic detection of tsconfig, and supports custom loaders. Part of the bob monorepo which includes bob-ts and bob-tsm. Released as needed, with recent patches focusing on TypeScript export ordering and package.json handling.
Common errors
error Error: Cannot find module 'bob-esbuild-plugin' ↓
cause Missing installation or wrong import path.
fix
Run npm install bob-esbuild-plugin, ensure package.json has it in dependencies.
error TypeError: esbuildPlugin is not a function ↓
cause Using default import instead of named import.
fix
Change to import { esbuildPlugin } from 'bob-esbuild-plugin'
error RollupError: Could not resolve 'esbuild' ↓
cause Missing esbuild peer dependency.
fix
Run npm install esbuild
Warnings
breaking bob-esbuild-plugin v4 requires esbuild >=0.14.39 and rollup * (any version). Older versions may have incompatible APIs. ↓
fix Update esbuild and rollup to compatible versions.
deprecated The 'transform' option from earlier versions is deprecated; use 'loaders' instead. ↓
fix Replace transform options with loaders configuration.
gotcha bob-esbuild-plugin does not bundle TypeScript types; for type declarations, use bob-ts or bob-tsm separately. ↓
fix Use bob-ts (buildCode) or bob-tsm (tsm) for type generation, or run tsc separately.
gotcha ESM-only package: require() will not work as a default import; always use named destructuring. ↓
fix Use import or const { esbuildPlugin } = require(...)
Install
npm install bob-esbuild-plugin yarn add bob-esbuild-plugin pnpm add bob-esbuild-plugin Imports
- esbuildPlugin wrong
import esbuildPlugin from 'bob-esbuild-plugin'correctimport { esbuildPlugin } from 'bob-esbuild-plugin' - bobEsbuild wrong
import { bobEsbuild } from 'bob-esbuild'correctimport bobEsbuild from 'bob-esbuild' - require('bob-esbuild-plugin') wrong
const esbuildPlugin = require('bob-esbuild-plugin')correctconst { esbuildPlugin } = require('bob-esbuild-plugin')
Quickstart
import { esbuildPlugin } from 'bob-esbuild-plugin';
import { rollup } from 'rollup';
async function build() {
const bundle = await rollup({
input: 'src/index.ts',
plugins: [esbuildPlugin()]
});
await bundle.write({ dir: 'dist', format: 'esm' });
}
build().catch(console.error);