import * as esbuild from 'esbuild'; import { resolve, dirname } from 'node:path'; import { fileURLToPath } from 'node:url'; const __dirname = dirname(fileURLToPath(import.meta.url)); const watch = process.argv.includes('--watch'); const libRoot = resolve(__dirname, '../../src/lib'); /** @type {import('esbuild').BuildOptions} */ const options = { entryPoints: [resolve(__dirname, 'src/cli.ts')], bundle: true, outfile: resolve(__dirname, 'out/cli.js'), format: 'esm', platform: 'node', target: 'node22', sourcemap: true, sourcesContent: false, logLevel: 'info', banner: { js: '#!/usr/bin/env node', }, alias: { '@lib': libRoot, }, }; if (watch) { const ctx = await esbuild.context(options); await ctx.watch(); console.log('[lexai-cli] watching…'); } else { await esbuild.build(options); console.log('[lexai-cli] compiled → out/cli.js'); }