-
Notifications
You must be signed in to change notification settings - Fork 0
/
taskfile.js
66 lines (56 loc) · 1.11 KB
/
taskfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
const { sh, cli } = require('tasksfile');
function buildPackagesDev() {
return sh('ts-transpile -b packages', {
async: true,
});
}
function watchPackages() {
return sh(
'chokidar --silent "packages/*/src/**/*" --initial -c "time ts-transpile -b packages"',
{
async: true,
}
);
}
function postInstall() {
sh(
'link-parent-bin > /dev/null && link-parent-bin --child-directory-root app > /dev/null'
);
}
function buildPackages() {
return sh('pnpm recursive --sort --filter ./packages run build', {
async: true,
});
}
function startAppDevs() {
return Promise.all([
sh('pnpm recursive run dev --filter @vdtn359/news-web', {
async: true,
}),
]);
}
function buildApp() {
return sh('pnpm recursive run build', {
async: true,
});
}
function dev() {
return Promise.all([watchPackages(), startAppDevs()]);
}
function build() {
buildPackages();
buildApp();
}
cli({
buildPackagesDev,
buildPackages,
watchPackages,
dev,
build,
postInstall,
});
process.on('unhandledRejection', (err) => {
// eslint-disable-next-line no-console
console.error('Unhandle rejections', err);
process.exit(1);
});