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