{"id":25125,"library":"cosmic-esbuild","title":"cosmic-esbuild","description":"A configuration loader for esbuild that integrates with cosmiconfig, allowing users to define esbuild build options in familiar config formats (JSON, YAML, TOML, JS, TS, etc.) without custom scripts. Current stable version is 0.7.2, with monthly releases. Supports ESM and CommonJS, ships TypeScript types. Unlike esbuild's CLI, it auto-loads config from standard locations and supports watch mode. Requires Node >=20 and esbuild >=0.25.","status":"active","version":"0.7.2","language":"javascript","source_language":"en","source_url":"https://github.com/idleberg/cosmic-esbuild","tags":["javascript","esbuild","esbuild-config","cosmiconfig","typescript"],"install":[{"cmd":"npm install cosmic-esbuild","lang":"bash","label":"npm"},{"cmd":"yarn add cosmic-esbuild","lang":"bash","label":"yarn"},{"cmd":"pnpm add cosmic-esbuild","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: the actual build tool that this package configures","package":"esbuild","optional":false}],"imports":[{"note":"Default export; CJS require() works in Node but the package is ESM-first.","wrong":"const cosmicEsbuild = require('cosmic-esbuild')","symbol":"cosmicEsbuild","correct":"import cosmicEsbuild from 'cosmic-esbuild'"},{"note":"Default export; CJS require() works in Node but the package is ESM-first.","wrong":"","symbol":"cosmicEsbuild","correct":"import cosmicEsbuild from 'cosmic-esbuild'"},{"note":"Named export for programmatic use; not the default export.","wrong":"import build from 'cosmic-esbuild'","symbol":"build","correct":"import { build } from 'cosmic-esbuild'"}],"quickstart":{"code":"// Install: npm install cosmic-esbuild\n\n// cosmic-esbuild.config.js\nexport default {\n  entryPoints: ['src/index.js'],\n  outdir: 'dist',\n  bundle: true,\n  minify: true,\n  sourcemap: true,\n  platform: 'node',\n  target: 'node20'\n}\n\n// Run:\n// npx cosmic-esbuild\n// or programmatically:\nimport cosmicEsbuild from 'cosmic-esbuild';\nconst result = await cosmicEsbuild();\nconsole.log('Build completed', result);","lang":"typescript","description":"Shows both config file and programmatic usage of cosmic-esbuild to build an esbuild project."},"warnings":[{"fix":"Upgrade Node.js to version 20 or higher.","message":"Required Node.js >=20 as of v0.6.0","severity":"breaking","affected_versions":">=0.6.0"},{"fix":"Ensure esbuild is installed at version 0.25 or later.","message":"Peer dependency esbuild >=0.25 required since v0.7.0","severity":"breaking","affected_versions":">=0.7.0"},{"fix":"No action needed; dependency was removed.","message":"Direct e18e dependency removed in v0.7.2","severity":"deprecated","affected_versions":">=0.7.2"},{"fix":"Use a configuration file for full esbuild build options.","message":"CLI does not support all esbuild options; only basic flags are available.","severity":"gotcha","affected_versions":">=0.0.0"},{"fix":"Set 'outdir' in config or use --outdir flag.","message":"Default outdir is not cwd; must be set explicitly or via config.","severity":"gotcha","affected_versions":">=0.6.5"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run npm install cosmic-esbuild in your project.","cause":"Package not installed or not in node_modules.","error":"Error: Cannot find module 'cosmic-esbuild'"},{"fix":"Use import cosmicEsbuild from 'cosmic-esbuild' (default import).","cause":"Importing named export when default export should be used.","error":"TypeError: cosmicEsbuild is not a function"},{"fix":"Upgrade esbuild: npm install esbuild@latest","cause":"Installed esbuild version is too old.","error":"Error: esbuild version >=0.25 is required"},{"fix":"Create a config file like esbuild.config.js, or use --config flag with correct path.","cause":"No configuration file in standard locations or specified path is wrong.","error":"Error: Config file not found"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}