46 lines
1013 B
JavaScript
46 lines
1013 B
JavaScript
import esbuild from 'esbuild'
|
|
import path from 'node:path'
|
|
import minimist from 'minimist'
|
|
|
|
const __dirname = new URL('.', import.meta.url).pathname
|
|
|
|
const args = minimist(process.argv.slice(2), {
|
|
boolean: ['watch', 'minify'],
|
|
})
|
|
|
|
console.log('- Preparing')
|
|
let builds = await Promise.all([
|
|
esbuild.context({
|
|
entryPoints: [path.resolve(__dirname, '../src/index.ts')],
|
|
bundle: true,
|
|
platform: 'node',
|
|
external: [],
|
|
outdir: 'dist',
|
|
minify: args.minify,
|
|
|
|
format: 'cjs',
|
|
}),
|
|
|
|
esbuild.context({
|
|
entryPoints: [path.resolve(__dirname, '../src/index.ts')],
|
|
bundle: true,
|
|
platform: 'node',
|
|
external: [],
|
|
outdir: 'dist',
|
|
minify: args.minify,
|
|
|
|
format: 'esm',
|
|
}),
|
|
])
|
|
|
|
console.log('- Building')
|
|
await Promise.all(builds.map((build) => build.rebuild()))
|
|
|
|
if (args.watch) {
|
|
console.log('- Watching')
|
|
await Promise.all(builds.map((build) => build.watch()))
|
|
} else {
|
|
console.log('- Cleaning up')
|
|
await Promise.all(builds.map((build) => build.dispose()))
|
|
}
|