{"id":25006,"library":"bob-esbuild-plugin","title":"bob-esbuild-plugin","description":"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.","status":"active","version":"4.0.0","language":"javascript","source_language":"en","source_url":"https://github.com/PabloSzx/bob-esbuild","tags":["javascript","typescript"],"install":[{"cmd":"npm install bob-esbuild-plugin","lang":"bash","label":"npm"},{"cmd":"yarn add bob-esbuild-plugin","lang":"bash","label":"yarn"},{"cmd":"pnpm add bob-esbuild-plugin","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency for transpilation","package":"esbuild","optional":false},{"reason":"peer dependency for rollup integration","package":"rollup","optional":false}],"imports":[{"note":"Exported as a named export, not default.","wrong":"import esbuildPlugin from 'bob-esbuild-plugin'","symbol":"esbuildPlugin","correct":"import { esbuildPlugin } from 'bob-esbuild-plugin'"},{"note":"bob-esbuild package re-exports the plugin as default export from its main entry.","wrong":"import { bobEsbuild } from 'bob-esbuild'","symbol":"bobEsbuild","correct":"import bobEsbuild from 'bob-esbuild'"},{"note":"CJS users must destructure the named export.","wrong":"const esbuildPlugin = require('bob-esbuild-plugin')","symbol":"require('bob-esbuild-plugin')","correct":"const { esbuildPlugin } = require('bob-esbuild-plugin')"}],"quickstart":{"code":"import { esbuildPlugin } from 'bob-esbuild-plugin';\nimport { rollup } from 'rollup';\n\nasync function build() {\n  const bundle = await rollup({\n    input: 'src/index.ts',\n    plugins: [esbuildPlugin()]\n  });\n  await bundle.write({ dir: 'dist', format: 'esm' });\n}\n\nbuild().catch(console.error);","lang":"typescript","description":"Shows minimal setup to bundle a TypeScript file using esbuild transformation via rollup."},"warnings":[{"fix":"Update esbuild and rollup to compatible versions.","message":"bob-esbuild-plugin v4 requires esbuild >=0.14.39 and rollup * (any version). Older versions may have incompatible APIs.","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Replace transform options with loaders configuration.","message":"The 'transform' option from earlier versions is deprecated; use 'loaders' instead.","severity":"deprecated","affected_versions":"<4.0.0"},{"fix":"Use bob-ts (buildCode) or bob-tsm (tsm) for type generation, or run tsc separately.","message":"bob-esbuild-plugin does not bundle TypeScript types; for type declarations, use bob-ts or bob-tsm separately.","severity":"gotcha","affected_versions":">=4.0.0"},{"fix":"Use import or const { esbuildPlugin } = require(...)","message":"ESM-only package: require() will not work as a default import; always use named destructuring.","severity":"gotcha","affected_versions":">=4.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npm install bob-esbuild-plugin, ensure package.json has it in dependencies.","cause":"Missing installation or wrong import path.","error":"Error: Cannot find module 'bob-esbuild-plugin'"},{"fix":"Change to import { esbuildPlugin } from 'bob-esbuild-plugin'","cause":"Using default import instead of named import.","error":"TypeError: esbuildPlugin is not a function"},{"fix":"Run npm install esbuild","cause":"Missing esbuild peer dependency.","error":"RollupError: Could not resolve 'esbuild'"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}