import { resolvePath } from '@kevisual/use-config'; import { execSync } from 'node:child_process'; const buildFn = async (opts: { entry?: string, naming?: string, external?: string[] }) => { const entry = opts.entry || 'index.ts'; const naming = opts.naming || 'app'; const external: string[] = opts.external || ["bun", "ws"]; await Bun.build({ target: 'node', format: 'esm', entrypoints: [resolvePath(entry, { meta: import.meta })], outdir: resolvePath('./dist', { meta: import.meta }), naming: { entry: `${naming}.js`, }, external, }); const cmd = `dts -i ${entry} -o ${naming}.d.ts`; execSync(cmd); }; await buildFn({ naming: 'app', entry: 'agent/index.ts' });