const esbuild = require('esbuild'); const { join } = require('path'); const vite = require('vite'); /** * @param {string} packageName * @returns {Promise} */ 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); });