aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/build.js
blob: 5abcdabe1fda8eb33a040e99d6304953a876bff2 (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
const esbuild = require('esbuild');
const { join } = require('path');
const vite = require('vite');

/**
 * @param {string} packageName
 * @returns {Promise<import('esbuild').BuildResult>}
 */
function buildPackageEsbuild(packageName) {
  const config = require(`../packages/${packageName}/esbuild.config.js`);
  return esbuild.build(config);
}

function buildPackageVite(packageName) {
  return vite.build({
    configFile: join(__dirname, `../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);
});