From b41474c22ea18c35570e9dedd3fd8b5097c317ab Mon Sep 17 00:00:00 2001 From: yosion-p Date: Fri, 23 Jul 2021 16:05:27 +0800 Subject: [PATCH] fix: format report --- src/cli/cli.ts | 2 +- src/utils/report.ts | 40 +++++++++++++--------------------------- 2 files changed, 14 insertions(+), 28 deletions(-) diff --git a/src/cli/cli.ts b/src/cli/cli.ts index 9d65670..6c98f00 100644 --- a/src/cli/cli.ts +++ b/src/cli/cli.ts @@ -13,7 +13,7 @@ import cliProgress from 'cli-progress' const cliInstance = new cliProgress.SingleBar({ format: 'progress [{bar}] {percentage}% | {doSomething} | {value}/{total}', - clearOnComplete: true, // clear the progress bar on complete / stop() + clearOnComplete: false, // clear the progress bar on complete / stop() linewrap: true, fps: 60 }, cliProgress.Presets.shades_classic) diff --git a/src/utils/report.ts b/src/utils/report.ts index 5240fb5..8ad8e04 100644 --- a/src/utils/report.ts +++ b/src/utils/report.ts @@ -13,25 +13,6 @@ const reportList: ConverObj[] = [] const tabDt = [ ['Number', 'Features', 'Conversion count'] ]; -const tabFormat = { - border: { - topBody: '─', - topJoin: '┬', - topLeft: '┌', - topRight: '┐', - bottomBody: '─', - bottomJoin: '┴', - bottomLeft: '└', - bottomRight: '┘', - bodyLeft: '│', - bodyRight: '│', - bodyJoin: '│', - joinBody: '─', - joinLeft: '├', - joinRight: '┤', - joinJoin: '┼' - } -}; function recordConver (args: ConverObj) { const { num, feat } = args @@ -54,22 +35,27 @@ function printReport (dir: string, beginTime: number) { reportList.forEach(item => { tabDt.push([item.num, item.feat, item.times?.toString()]) }) - console.log(table(tabDt, tabFormat)); + const tableStr: string = table(tabDt, { + drawHorizontalLine: (lineIndex, rowCount) => { + return lineIndex === 0 || lineIndex === 1 || lineIndex === rowCount + }, + columns: [{ alignment: 'center' }, { alignment: 'left' }, { alignment: 'center' }] + }) + console.log(tableStr); console.log(chalk.green(`Conversion finished in ${Date.now() - beginTime}ms.`)) const options = { flags: 'w', // encoding: 'utf8' // utf8编码 } + while (dir[dir.length - 1] === '/') { + dir = dir.slice(0, dir.length - 1) + } + dir += '/' const stdout = fs.createWriteStream(`${dir}conversion.log`, options); const logger = new console.Console(stdout); logger.log('--------------------------------------------------') - // TODO features - // logger.log(`Processed file:\n${processFilePathList}\n`) - // logger.log(`Processed ${processFilePath.length} files`) - // logger.log(`${totalDetected} places`, 'need to be transformed') - // logger.log(`${totalChanged} places`, 'was transformed') - // logger.log(`The transformation rate is ${transRate}%`) - logger.log('The transformation stats: \n', tabDt) + logger.log('features of successful conversion: \n') + logger.log(tableStr) console.log(chalk.green(`The report output path is ${dir}conversion.log`)); } export { recordConver, printReport }