feat(tsbuild): Improve task logging and update dependencies
This commit is contained in:
@@ -41,6 +41,7 @@ export class TsBuild {
|
||||
private fileNames: string[] = [];
|
||||
private options: plugins.typescript.CompilerOptions;
|
||||
private argvArg?: any;
|
||||
private taskInfo?: any;
|
||||
|
||||
/**
|
||||
* Create a new TsBuild instance
|
||||
@@ -48,10 +49,12 @@ export class TsBuild {
|
||||
constructor(
|
||||
fileNames: string[] = [],
|
||||
customOptions: CompilerOptions = {},
|
||||
argvArg?: any
|
||||
argvArg?: any,
|
||||
taskInfo?: any
|
||||
) {
|
||||
this.fileNames = fileNames;
|
||||
this.argvArg = argvArg;
|
||||
this.taskInfo = taskInfo;
|
||||
this.options = this.mergeCompilerOptions(customOptions, argvArg);
|
||||
}
|
||||
|
||||
@@ -320,7 +323,17 @@ export class TsBuild {
|
||||
await plugins.smartdelay.delayFor(5000);
|
||||
}
|
||||
|
||||
console.log(`🔨 Compiling ${this.fileNames.length} files...`);
|
||||
// Enhanced logging with task info
|
||||
const startTime = Date.now();
|
||||
if (this.taskInfo) {
|
||||
const { taskNumber, totalTasks, sourcePattern, destDir, fileCount } = this.taskInfo;
|
||||
const relativeDestDir = destDir.replace(process.cwd(), '').replace(/^\//, '');
|
||||
console.log(`\n🔨 [${taskNumber}/${totalTasks}] Compiling ${fileCount} file${fileCount !== 1 ? 's' : ''} from ${sourcePattern}`);
|
||||
console.log(` 📁 Output: ${relativeDestDir}`);
|
||||
} else {
|
||||
console.log(`🔨 Compiling ${this.fileNames.length} files...`);
|
||||
}
|
||||
|
||||
const done = plugins.smartpromise.defer<{ emittedFiles: any[], errorSummary: IErrorSummary }>();
|
||||
const program = this.createProgram();
|
||||
|
||||
@@ -352,7 +365,15 @@ export class TsBuild {
|
||||
|
||||
const exitCode = emitResult.emitSkipped ? 1 : 0;
|
||||
if (exitCode === 0) {
|
||||
console.log('\n✅ TypeScript emit succeeded!');
|
||||
const endTime = Date.now();
|
||||
const duration = endTime - startTime;
|
||||
|
||||
if (this.taskInfo) {
|
||||
const { taskNumber, totalTasks } = this.taskInfo;
|
||||
console.log(`✅ [${taskNumber}/${totalTasks}] Task completed in ${duration}ms`);
|
||||
} else {
|
||||
console.log(`✅ TypeScript emit succeeded! (${duration}ms)`);
|
||||
}
|
||||
|
||||
// Get count of emitted files by type
|
||||
const jsFiles = emitResult.emittedFiles?.filter(f => f.endsWith('.js')).length || 0;
|
||||
@@ -361,7 +382,7 @@ export class TsBuild {
|
||||
|
||||
// If we have emitted files, show a summary
|
||||
if (emitResult.emittedFiles && emitResult.emittedFiles.length > 0) {
|
||||
console.log(` Generated ${emitResult.emittedFiles.length} files: ${jsFiles} .js, ${dtsFiles} .d.ts, ${mapFiles} source maps`);
|
||||
console.log(` 📄 Generated ${emitResult.emittedFiles.length} files: ${jsFiles} .js, ${dtsFiles} .d.ts, ${mapFiles} source maps`);
|
||||
}
|
||||
|
||||
done.resolve({ emittedFiles: emitResult.emittedFiles || [], errorSummary: combinedErrorSummary });
|
||||
|
Reference in New Issue
Block a user