UNPKG

typescript-coverage

Version:

A dead-simple criteria to track your Typescript migration

35 lines (32 loc) 1.5 kB
import chalk from 'chalk'; import fs from 'node:fs/promises'; import { glob } from 'glob'; import process from 'node:process'; import calculateValues from './calculate-values.js'; import normalizeConfig from './normalize-config.js'; export { defaultSettings } from './normalize-config.js'; const configFileName = 'typescript-coverage.config.json'; try { const configPath = `${process.cwd()}/${configFileName}`; let configData = ''; try { configData = await fs.readFile(configPath, 'utf-8'); } catch (err) { console.warn(chalk.yellow(`Couldn't find ${configFileName} file, using defaults`)); } const { include, exclude, ignoreEmptyLines, tsExtensions } = normalizeConfig(configData); console.log(`Including files from: ${include}`); console.log(`Excluding files from: ${exclude}`); const fileNames = await glob(include, { ignore: exclude }); const { migratedPercentage, totalFilesTS, totalFilesAll } = await calculateValues(fileNames, ignoreEmptyLines, tsExtensions); console.log(chalk.green(`The state of the TypeScript coverage: ${chalk.underline(`we are currently at ${migratedPercentage.toFixed(2)}%`)}`)); console.log(`Total Typescript files: ${totalFilesTS} (${tsExtensions})`); console.log(`Total files found: ${totalFilesAll} (all types)`); } catch (error) { console.error(chalk.red('Error while executing:', error)); process.exit(1); } export { calculateValues, normalizeConfig }; //# sourceMappingURL=index.js.map