1const { boolish } = require('getenv'); 2 3export async function bin(task, opts) { 4 await task 5 .source(opts.src || 'bin/*') 6 .swc('cli', { stripExtension: true, dev: opts.dev }) 7 .target('build/bin', { mode: '0755' }); 8} 9 10export async function cli(task, opts) { 11 await task 12 .source('src/**/*.+(js|ts)', { 13 ignore: ['**/__tests__/**', '**/__mocks__/**'], 14 }) 15 .swc('cli', { dev: opts.dev }) 16 .target('build/src'); 17} 18 19export async function build(task, opts) { 20 await task.parallel(['cli', 'bin'], opts); 21} 22 23export async function src(task, opts) { 24 await task 25 .source(opts.src || 'src/**/*.+(js|ts|tsx)', { 26 ignore: ['**/__tests__/**', '**/__mocks__/**'], 27 }) 28 .swc('sdk', { dev: opts.dev }) 29 .target('build'); 30} 31 32export default async function (task) { 33 const opts = { dev: true }; 34 await task.clear('build'); 35 await task.start('build', opts); 36 if (!boolish('CI', false)) { 37 await task.watch('bin/*', 'bin', opts); 38 await task.watch('src/**/*.+(js|ts)', 'src', opts); 39 } 40} 41 42export async function release(task) { 43 await task.clear('build').start('build'); 44} 45