feat(tsbundle): add configurable maxLineLength for base64ts output and improve build/error handling in child builds
This commit is contained in:
@@ -79,41 +79,65 @@ export class TsBundleProcess {
|
||||
}
|
||||
|
||||
const run = async () => {
|
||||
console.log('running spawned compilation process');
|
||||
const transportOptions: interfaces.IEnvTransportOptions = JSON.parse(
|
||||
process.env.transportOptions,
|
||||
);
|
||||
console.log('=======> ESBUILD');
|
||||
console.log(transportOptions);
|
||||
process.chdir(transportOptions.cwd);
|
||||
console.log(`switched to ${process.cwd()}`);
|
||||
const tsbundleProcessInstance = new TsBundleProcess();
|
||||
if (transportOptions.mode === 'test') {
|
||||
console.log('building for test:');
|
||||
tsbundleProcessInstance.buildTest(
|
||||
plugins.smartpath.transform.makeAbsolute(
|
||||
transportOptions.from,
|
||||
process.cwd(),
|
||||
),
|
||||
plugins.smartpath.transform.makeAbsolute(
|
||||
transportOptions.to,
|
||||
process.cwd(),
|
||||
),
|
||||
transportOptions.argv,
|
||||
);
|
||||
} else {
|
||||
console.log('building for production:');
|
||||
tsbundleProcessInstance.buildProduction(
|
||||
plugins.smartpath.transform.makeAbsolute(
|
||||
transportOptions.from,
|
||||
process.cwd(),
|
||||
),
|
||||
plugins.smartpath.transform.makeAbsolute(
|
||||
transportOptions.to,
|
||||
process.cwd(),
|
||||
),
|
||||
transportOptions.argv,
|
||||
try {
|
||||
console.log('running spawned compilation process');
|
||||
const transportOptions: interfaces.IEnvTransportOptions = JSON.parse(
|
||||
process.env.transportOptions,
|
||||
);
|
||||
console.log('=======> ESBUILD');
|
||||
console.log(transportOptions);
|
||||
process.chdir(transportOptions.cwd);
|
||||
console.log(`switched to ${process.cwd()}`);
|
||||
const tsbundleProcessInstance = new TsBundleProcess();
|
||||
if (transportOptions.mode === 'test') {
|
||||
console.log('building for test:');
|
||||
await tsbundleProcessInstance.buildTest(
|
||||
plugins.smartpath.transform.makeAbsolute(
|
||||
transportOptions.from,
|
||||
process.cwd(),
|
||||
),
|
||||
plugins.smartpath.transform.makeAbsolute(
|
||||
transportOptions.to,
|
||||
process.cwd(),
|
||||
),
|
||||
transportOptions.argv,
|
||||
);
|
||||
} else {
|
||||
console.log('building for production:');
|
||||
await tsbundleProcessInstance.buildProduction(
|
||||
plugins.smartpath.transform.makeAbsolute(
|
||||
transportOptions.from,
|
||||
process.cwd(),
|
||||
),
|
||||
plugins.smartpath.transform.makeAbsolute(
|
||||
transportOptions.to,
|
||||
process.cwd(),
|
||||
),
|
||||
transportOptions.argv,
|
||||
);
|
||||
}
|
||||
process.exit(0);
|
||||
} catch (error: any) {
|
||||
console.error('\n\x1b[31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m');
|
||||
console.error('\x1b[31m❌ BUILD FAILED\x1b[0m');
|
||||
console.error('\x1b[31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\n');
|
||||
|
||||
if (error.errors && Array.isArray(error.errors)) {
|
||||
// esbuild errors - format them nicely
|
||||
console.error(`Found ${error.errors.length} error(s):\n`);
|
||||
for (const err of error.errors) {
|
||||
const file = err.location?.file || 'unknown';
|
||||
const line = err.location?.line || '?';
|
||||
const column = err.location?.column || '?';
|
||||
console.error(` \x1b[36m${file}\x1b[0m:\x1b[33m${line}\x1b[0m:\x1b[33m${column}\x1b[0m`);
|
||||
console.error(` ${err.text}\n`);
|
||||
}
|
||||
} else {
|
||||
console.error(error.message || error);
|
||||
}
|
||||
|
||||
console.error('\x1b[31m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\x1b[0m\n');
|
||||
process.exit(1);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user