Yakumo Esbuild Plugin
raw JSON → 3.0.1 verified Mon Apr 27 auth: no javascript
A plugin for the Yakumo monorepo tool that integrates esbuild for building packages. Version 3.0.1 is current and stable, with releases tied to yakumo's cadence. It requires esbuild, TypeScript, and yakumo >=3.0.2 as peer dependencies. Differentiates from general esbuild usage by leveraging Yakumo's workspace-aware configuration and shared build pipeline.
Common errors
error Cannot find module 'yakumo-esbuild' or its corresponding type declarations. ↓
cause Missing tsconfig resolution for default export
fix
Add 'moduleResolution': 'node16' or 'bundler' to tsconfig.json
error TypeError: yakumo_esbuild_1.default is not a function ↓
cause Using CommonJS require pattern on ESM default export
fix
Use import yakumoEsbuild from 'yakumo-esbuild' instead of require()
error Error: Plugin 'esbuild' configuration is missing required property 'options' ↓
cause Incorrect config shape in yakumo config
fix
Ensure config is nested under 'esbuild' key as object with build options
Warnings
breaking Peer dependency yakumo >=3.0.2 required ↓
fix Update yakumo to version >=3.0.2
gotcha Plugin is default export, not named export ↓
fix Use default import syntax
gotcha Some esbuild options may conflict with Yakumo's workspace logic ↓
fix Avoid setting 'entryPoints' or 'outdir' that Yakumo manages
deprecated TypeScript peer dependency is optional but esbuild does not support TS without TypeScript ↓
fix Ensure TypeScript is installed if using .ts files
Install
npm install yakumo-esbuild yarn add yakumo-esbuild pnpm add yakumo-esbuild Imports
- default wrong
import { yakumoEsbuild } from 'yakumo-esbuild'correctimport yakumoEsbuild from 'yakumo-esbuild' - EsbuildConfig
import type { EsbuildConfig } from 'yakumo-esbuild' - PluginConfig wrong
import { PluginConfig } from 'yakumo-esbuild'correctimport type { PluginConfig } from 'yakumo-esbuild'
Quickstart
// yakumo.config.ts
import yakumoEsbuild from 'yakumo-esbuild'
export default {
plugins: [
yakumoEsbuild(),
],
esbuild: {
// Options passed to esbuild.build()
outdir: 'dist',
format: 'esm',
target: 'node16',
},
}
// Then run: yakumo build