Fix addon and dist builds after path mapping removal
Import shared core from ../../../out/common|browser in addons so tsc and runtime agree. Enable preserveConstEnums so const enums remain in compiled out/ for addon consumers. Build xterm esbuild before addons so out-esbuild exists for parallel addon jobs. Verified: npm run setup, esbuild-demo-client, package. Co-authored-by: Daniel Imms <Tyriar@users.noreply.github.com>
This commit is contained in:
co-authored by
Daniel Imms
parent
9a96b27566
commit
584954b4fb
+15
-4
@@ -7,19 +7,30 @@ import { argv } from "process";
|
||||
/** @type {{cp: import("child_process").ChildProcessByStdio<any, any, any>, name: string}[]} */
|
||||
const jobs = [];
|
||||
|
||||
// Core job
|
||||
jobs.push(createJob('xterm', []));
|
||||
// Core job must finish before addons (addon tests resolve src/* via out-esbuild).
|
||||
const xtermJob = createJob('xterm', []);
|
||||
const xtermCode = await new Promise(r => {
|
||||
xtermJob.cp.on('exit', code => {
|
||||
log(`Finished \x1b[32m${xtermJob.name}\x1b[0m${code ? ' \x1b[31mwith errors\x1b[0m' : ''}`);
|
||||
r(code ?? 1);
|
||||
});
|
||||
});
|
||||
if (xtermCode !== 0) {
|
||||
process.exit(xtermCode);
|
||||
}
|
||||
|
||||
// Addon jobs
|
||||
const addons = (await readdir('addons')).filter(e => e.startsWith('addon-')).map(e => e.replace('addon-', ''));
|
||||
/** @type {{cp: import("child_process").ChildProcessByStdio<any, any, any>, name: string}[]} */
|
||||
const addonJobs = [];
|
||||
for (const addon of addons) {
|
||||
jobs.push(createJob(`xterm-addon-${addon}`, [`--addon=${addon}`]));
|
||||
addonJobs.push(createJob(`xterm-addon-${addon}`, [`--addon=${addon}`]));
|
||||
}
|
||||
|
||||
// Demo job - This requires the others to be built so it's not included when building all
|
||||
// jobs.push(createJob('demo-client', [`--demo-client`]));
|
||||
|
||||
await Promise.all(jobs.map((job, i) => {
|
||||
await Promise.all(addonJobs.map(job => {
|
||||
return new Promise(r => {
|
||||
job.cp.on('exit', code => {
|
||||
log(`Finished \x1b[32m${job.name}\x1b[0m${code ? ' \x1b[31mwith errors\x1b[0m' : ''}`);
|
||||
|
||||
Reference in New Issue
Block a user