blob: ef2b998071d4ee3bc67f2c94120ad6daa3ffc6ac (
plain) (
blame)
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
|
import { build as esbuildBuild } from 'esbuild';
import { join } from 'path';
import { build as viteBuild } from 'vite';
import { fileURLToDirname } from '../config/utils.js';
const thisDir = fileURLToDirname(import.meta.url);
/**
* @param {string} packageName
* @returns {Promise<import('esbuild').BuildResult>}
*/
async function buildPackageEsbuild(packageName) {
/** @type {{ default: import('esbuild').BuildOptions }} */
const { default: config } = await import(`../packages/${packageName}/esbuild.config.js`);
return esbuildBuild(config);
}
/**
* @param {string} packageName
* @returns {Promise<unknown>}
*/
function buildPackageVite(packageName) {
return viteBuild({
configFile: join(thisDir, `../packages/${packageName}/vite.config.js`),
});
}
function buildAll() {
const buildServiceShared = buildPackageEsbuild('service-shared');
const buildShared = buildPackageEsbuild('shared');
return Promise.all([
Promise.all([
buildServiceShared,
buildShared,
]).then(() => buildPackageEsbuild('main')),
buildServiceShared.then(() => Promise.all([
buildPackageEsbuild('service-inject'),
buildPackageEsbuild('service-preload'),
])),
buildShared.then(() => Promise.all([
buildPackageEsbuild('preload'),
buildPackageVite('renderer'),
])),
]);
}
buildAll().catch((err) => {
console.error(err);
process.exit(1);
});
|