import { resolvePath } from '@kevisual/use-config'; import { execSync } from 'node:child_process'; const buildFn = async (opts: { entry?: string, naming?: string }) => { const entry = opts.entry || 'src/index.ts'; const naming = opts.naming || 'app'; const external: string[] = ["bun"]; 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: 'index', entry: 'src/index.ts' }); await buildFn({ naming: 'services', entry: 'src/services/index.ts' });