esbuild.config.mjs
1 import { build } from 'esbuild'; 2 import { chmodSync } from 'node:fs'; 3 4 await build({ 5 entryPoints: ['dist/cli.js'], 6 bundle: true, 7 platform: 'node', 8 format: 'esm', 9 outfile: 'bundle/cli.js', 10 external: ['node:*'], 11 banner: { 12 // Create a require function for CJS dependencies that use bare node specifiers 13 js: [ 14 '#!/usr/bin/env node', 15 'import { createRequire as __createRequire } from "node:module";', 16 'const require = __createRequire(import.meta.url);', 17 ].join('\n'), 18 }, 19 }); 20 21 chmodSync('bundle/cli.js', 0o755);