Registry / devops / esbuild-c

esbuild-c

JSON →
library0.1.37jsnpmunverified

esbuild-c (v0.1.37) enhances esbuild with config processing capabilities: aligning CLI options with the JS API, supporting config merging via 'extends', and loading configs in various formats (JSON, YAML, JS, TS) using cosmiconfig. As a PoC, it addresses esbuild issue #884 (CLI plugin specification) and offers both CLI and programmatic usage. It requires esbuild >=0.19.0 and ships TypeScript types. Unlike alternatives like esbuild-config or esbuild-resolve-config, it focuses on extendable config merging and format flexibility.

npm install esbuild-c
INSTALL
IMPORT
SIG · ESBUILD-C
E
esbuild-c
devopsjavascriptv0.1.37
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

loadConfig
✓ import { loadConfig } from 'esbuild-c'
✗ const { loadConfig } = require('esbuild-c')
ESM-only since v0.1.x; use dynamic import for CommonJS
parseArgv
✓ import { parseArgv } from 'esbuild-c'
✗ import { parseArgv } from 'esbuild-c' // correct; no wrong pattern commonly seen
Parses CLI arguments into esbuild build options
default (CLI runner)
✓ import esbuildC from 'esbuild-c'
✗ import * as esbuildC from 'esbuild-c'
Default export is the CLI function; not commonly imported directly

Shows how to use esbuild-c programmatically: parse CLI args, load config, merge, and build with esbuild.

// CLI usage: npx esbuild-c --config esbuild.config.js // Programmatic usage (ESM) import esbuild from 'esbuild'; import { loadConfig, parseArgv } from 'esbuild-c'; const flags = parseArgv(process.argv.slice(2)); const config = await loadConfig({ // optional overrides: cwd, stopDir, searchPlaces }); // Merge flags into config (flags have precedence) const merged = { ...config, ...flags }; await esbuild.build(merged);
esbuild-c --version
Debug
Known issues
gotchaPackage is PoC (Proof of Concept) - API may change between minor versions.
fix
Pin exact version and monitor GitHub releases for breaking changes.
affects: <0.2
gotchaConfig resolution uses cosmiconfig, which searches for 'esbuild' config key in package.json or dedicated files (e.g., esbuild.config.js). Unexpected configs may be loaded.
fix
Specify an explicit --config path to avoid accidental loading.
affects: >=0.0.1
gotchaCLI plugin specification via --plugin flag may require additional setup (see esbuild issue #884).
fix
Use plugin paths or register plugins programmatically.
affects: >=0.0.1
Errors
Common errors & fixes
Error: Cannot find module 'esbuild-c'
Package not installed or ESM not fully configured.
fix
Ensure esbuild-c and esbuild are installed: npm i -D esbuild-c esbuild. For ESM, set "type": "module" in package.json or use .mjs extension.
SyntaxError: Cannot use import statement outside a module
Running import syntax in a CommonJS file without ESM configuration.
fix
Use dynamic import: const { loadConfig } = await import('esbuild-c'); or switch to ESM.
TypeError: loadConfig is not a function
Incorrect import (e.g., default import instead of named import).
fix
Use named import: import { loadConfig } from 'esbuild-c'.
Upgrade
Version history
0.1.37latest on npm
Audit
Dependencies
esbuildrequiredPeer dependency: core bundler that esbuild-c configures
Agent activity
6 hits · last 30 days
node
6
Resources
esbuild-c — npm install esbuild-c · libregistry