{"id":25256,"library":"esbd","title":"esbd","description":"CLI wrapper that turns esbuild config files into commands with enhanced developer experience for browser and Node applications. Version 3.3.11 (stable), pairs with esbuild >=0.25.0. Unlike Vite or Parcel which use esbuild only as a transpiler, esbd delegates to esbuild's bundler for 10-100x speed and adds live-reload, HTML entry points, sideband type checking, in-browser error overlay, and asset copying without sacrificing performance. Does not support HMR or unbundled dev. Ships TypeScript types and supports JS plugins. Monthly releases on GitHub.","status":"active","version":"3.3.11","language":"javascript","source_language":"en","source_url":"https://github.com/jgoz/esbuild-plugins","tags":["javascript","esbuild","esbuild-cli","typescript"],"install":[{"cmd":"npm install esbd","lang":"bash","label":"npm"},{"cmd":"yarn add esbd","lang":"bash","label":"yarn"},{"cmd":"pnpm add esbd","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"peer dependency; must be installed separately and match version >=0.25.0","package":"esbuild","optional":false}],"imports":[{"note":"ESM-only since v3; use import syntax even if package type is commonjs","wrong":"const { configure } = require('esbd')","symbol":"configure","correct":"import { configure } from 'esbd'"},{"note":"Use for programmatic server creation in Node scripts","wrong":"const createServer = require('esbd').createServer","symbol":"createServer","correct":"import { createServer } from 'esbd'"},{"note":"Optional function for sideband TypeScript type checking using tsc","wrong":null,"symbol":"typeCheck","correct":"import { typeCheck } from 'esbd'"}],"quickstart":{"code":"#!/usr/bin/env node\nimport { configure } from 'esbd';\n\nconfigure({\n  entryPoints: ['./index.html'],\n  absWorkingDir: __dirname,\n  outdir: './build',\n  // Optional: enable live-reload for web apps\n  serve: {\n    port: 3000,\n    onRequest: (req, res) => {\n      console.log(req.url);\n    }\n  },\n  // Optional: sideband type checking\n  typeCheck: true\n});\n\nconsole.log('Running esbd...');","lang":"typescript","description":"Creates a CLI script that builds an HTML entry point with live-reload and optional type checking."},"warnings":[{"fix":"Convert to ES modules by setting 'type': 'module' or using .mjs extension, and use import syntax.","message":"v3.x is ESM-only. CJS require() will not work.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Update esbuild to >=0.25.0: npm install esbuild@latest","message":"Peer dependency esbuild must be >=0.25.0. Older versions will fail at runtime.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Replace .bundle(...) calls with configure({...}) and pass the same options object.","message":"The 'bundle' config option was removed. Use 'configure' instead.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Ensure your HTML file includes a <script type=\"module\" src=\"./main.ts\"> or similar.","message":"HTML entry points require the file to be named with .html extension and contain a <script> tag referencing a valid JS/TS entry. Otherwise build may silently produce empty output.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"For browser apps, use `configure({ serve: { port: 8080 } })` and serve over HTTP.","message":"In-browser error overlay requires `serve` mode. Using `node-dev` mode will not show overlay for runtime errors.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Ensure tsconfig.json has `compilerOptions.noEmit: true` and `compilerOptions.isolatedModules: true` for compatibility.","message":"Sideband type checking runs tsc under the hood; if your tsconfig is misconfigured, it may produce false positives or fail silently.","severity":"gotcha","affected_versions":">=0.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Change to `import { configure } from 'esbd'` or switch to CommonJS if using an older version (v2)","cause":"Using CJS require() with an ESM-only package (v3+)","error":"ReferenceError: require is not defined in ES module scope, you can use import instead"},{"fix":"Run `npm install -D esbuild@latest` (must be >=0.25.0)","cause":"Missing or incompatible esbuild version (must be >=0.25.0)","error":"The 'esbuild' peer dependency is not installed. Install it using 'npm install esbuild'"},{"fix":"Add `entryPoints: ['./index.ts', './index.html']` to your configure call","cause":"Missing entryPoints property in the config object","error":"Error: No entry points specified. Provide at least one entry point in configure({ entryPoints: [...] })"},{"fix":"Use `import { configure } from 'esbd'` instead","cause":"Trying to call default export (e.g., `const esbd = require('esbd')`) which does not exist; must use named import","error":"TypeError: esbd is not a function"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}