From 7ccff533ff34d45912e7d05fca92a14781be2da7 Mon Sep 17 00:00:00 2001 From: Aaron Date: Sun, 13 Aug 2023 09:51:22 -0500 Subject: [PATCH] chore: Improve file list output in CI (#73) --- scripts/build.ts | 10 +++++++--- src/core/build.ts | 6 ++++-- src/core/log/printBuildSummary.ts | 4 +++- src/core/log/printFileList.ts | 5 +++-- src/core/log/printTable.ts | 3 ++- src/core/zip.ts | 6 ++++-- 6 files changed, 23 insertions(+), 11 deletions(-) diff --git a/scripts/build.ts b/scripts/build.ts index e003c27d..b3928ef6 100644 --- a/scripts/build.ts +++ b/scripts/build.ts @@ -82,9 +82,13 @@ await Promise.all([ process.exit(1); }); -spinner.succeed(); +spinner.clear().stop(); const duration = Date.now() - startTime; const outFiles = await glob(`${outDir}/**`, { absolute: true }); -await printFileList(consola.log, outDir, outFiles); -consola.success(`Finished in ${formatDuration(duration)}`); +await printFileList( + consola.success, + `Built WXT in ${formatDuration(duration)}`, + outDir, + outFiles, +); diff --git a/src/core/build.ts b/src/core/build.ts index 8801ab2e..4212524e 100644 --- a/src/core/build.ts +++ b/src/core/build.ts @@ -42,10 +42,12 @@ export async function buildInternal( const { output } = await rebuild(config, groups, undefined); // Post-build - config.logger.success( + await printBuildSummary( + config.logger.success, `Built extension in ${formatDuration(Date.now() - startTime)}`, + output, + config, ); - await printBuildSummary(output, config); return output; } diff --git a/src/core/log/printBuildSummary.ts b/src/core/log/printBuildSummary.ts index a4c8016a..17b89911 100644 --- a/src/core/log/printBuildSummary.ts +++ b/src/core/log/printBuildSummary.ts @@ -3,6 +3,8 @@ import { BuildOutput, InternalConfig } from '../types'; import { printFileList } from './printFileList'; export async function printBuildSummary( + log: (...args: any[]) => void, + header: string, output: BuildOutput, config: InternalConfig, ) { @@ -18,7 +20,7 @@ export async function printBuildSummary( }); const files = chunks.map((chunk) => resolve(config.outDir, chunk.fileName)); - await printFileList(config.logger.log, config.outDir, files); + await printFileList(log, header, config.outDir, files); } const DEFAULT_SORT_WEIGHT = 100; diff --git a/src/core/log/printFileList.ts b/src/core/log/printFileList.ts index 9c8971a7..f5999668 100644 --- a/src/core/log/printFileList.ts +++ b/src/core/log/printFileList.ts @@ -6,6 +6,7 @@ import { printTable } from './printTable'; export async function printFileList( log: (message: string) => void, + header: string, baseDir: string, files: string[], ): Promise { @@ -29,9 +30,9 @@ export async function printFileList( }), ); - printTable(log, fileRows); + fileRows.push([`${pc.cyan('Σ Total size:')} ${String(filesize(totalSize))}`]); - log(`${pc.cyan('Σ Total size:')} ${String(filesize(totalSize))}`); + printTable(log, header, fileRows); } const DEFAULT_COLOR = pc.blue; diff --git a/src/core/log/printTable.ts b/src/core/log/printTable.ts index f01737af..7e6b2d21 100644 --- a/src/core/log/printTable.ts +++ b/src/core/log/printTable.ts @@ -1,5 +1,6 @@ export function printTable( log: (message: string) => void, + header: string, rows: string[][], gap = 2, ): void { @@ -24,5 +25,5 @@ export function printTable( if (i !== rows.length - 1) str += '\n'; }); - log(str); + log(`${header}\n${str}`); } diff --git a/src/core/zip.ts b/src/core/zip.ts index 562af6c7..0c16a4ff 100644 --- a/src/core/zip.ts +++ b/src/core/zip.ts @@ -66,10 +66,12 @@ export async function zipExtension( zipFiles.push(sourcesZipPath); } - config.logger.success( + await printFileList( + config.logger.success, `Zipped extension in ${formatDuration(Date.now() - start)}`, + config.outBaseDir, + zipFiles, ); - await printFileList(config.logger.log, config.outBaseDir, zipFiles); return zipFiles; }