UNPKG

tslint-to-eslint-config

Version:

Converts your TSLint configuration to the closest reasonable ESLint equivalent.

80 lines 4.86 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logObsoleteRules = exports.logMissingConversionTarget = exports.logFailedConversions = exports.logSuccessfulConversions = exports.logErrorResult = void 0; const chalk_1 = __importDefault(require("chalk")); const os_1 = require("os"); const types_1 = require("./types"); const logErrorResult = (result, logger) => { switch (result.status) { case types_1.ResultStatus.ConfigurationError: logger.stderr.write(chalk_1.default.redBright("❌ ")); logger.stderr.write(chalk_1.default.red("Could not start tslint-to-eslint:")); logger.stderr.write(chalk_1.default.redBright(` ❌${os_1.EOL}`)); for (const complaint of result.complaints) { logger.stderr.write(chalk_1.default.yellowBright(` ${complaint}${os_1.EOL}`)); } break; case types_1.ResultStatus.Failed: logger.stderr.write(chalk_1.default.redBright("❌ ")); logger.stderr.write(chalk_1.default.red(`${result.errors.length} error`)); logger.stderr.write(chalk_1.default.red(result.errors.length === 1 ? "" : "s")); logger.stderr.write(chalk_1.default.red(" running tslint-to-eslint:")); logger.stderr.write(chalk_1.default.redBright(` ❌${os_1.EOL}`)); for (const error of result.errors) { logger.stderr.write(chalk_1.default.gray(` ${error.stack}${os_1.EOL}`)); } break; } }; exports.logErrorResult = logErrorResult; const logSuccessfulConversions = (conversionTypeName, action, quantity, logger) => { logger.stdout.write(chalk_1.default.greenBright(`${os_1.EOL}${quantity}`)); logger.stdout.write(quantity === 1 ? chalk_1.default.green(` ${conversionTypeName} ${action} with its ESLint equivalent.`) : chalk_1.default.green(` ${conversionTypeName}s ${action} with their ESLint equivalents.`)); logger.stdout.write(chalk_1.default.greenBright(` ✨${os_1.EOL}`)); }; exports.logSuccessfulConversions = logSuccessfulConversions; const logFailedConversions = (failed, logger) => { logger.stderr.write(`${chalk_1.default.redBright(`${os_1.EOL}${failed.length}`)}`); logger.stderr.write(chalk_1.default.red(` error${failed.length === 1 ? "" : "s"}`)); logger.stderr.write(chalk_1.default.red(" thrown.")); logger.stderr.write(chalk_1.default.redBright(` ❌${os_1.EOL}`)); logger.info.write(failed.join("\n\n") + "\n\n"); logger.stderr.write(chalk_1.default.red(` Check ${logger.debugFileName} for details.${os_1.EOL}`)); }; exports.logFailedConversions = logFailedConversions; const logMissingConversionTarget = (conversionTypeName, missingOutputMapping, missing, logger, additionalWarnings = []) => { const headline = missing.length === 1 ? ` ${conversionTypeName} is not known by tslint-to-eslint-config to have an ESLint equivalent` : ` ${conversionTypeName}s are not known by tslint-to-eslint-config to have ESLint equivalents`; logger.stdout.write(chalk_1.default.yellowBright(`️${os_1.EOL}${missing.length}`)); logger.stdout.write(chalk_1.default.yellow(`${headline}.`)); logger.stdout.write(chalk_1.default.yellowBright(` ❓${os_1.EOL}`)); for (const warning of additionalWarnings) { logger.stdout.write(chalk_1.default.yellow(` ${warning}${os_1.EOL}`)); } logger.stdout.write(chalk_1.default.yellow(` Check ${logger.debugFileName} for details.${os_1.EOL}`)); logger.info.write(`${missing.length}${headline}:${os_1.EOL}`); logger.info.write(missing .map((conversion) => ` * tslint-to-eslint-config does not know the ESLint equivalent for TSLint's "${missingOutputMapping(conversion)}".${os_1.EOL}`) .join("")); logger.info.write(os_1.EOL); }; exports.logMissingConversionTarget = logMissingConversionTarget; const logObsoleteRules = (ruleNames, logger) => { const headline = ruleNames.length === 1 ? ` rule is obsolete and does not have an ESLint equivalent` : ` rules are obsolete and do not have ESLint equivalents`; logger.stdout.write(chalk_1.default.magentaBright(`️${os_1.EOL}🦖 ${ruleNames.length}`)); logger.stdout.write(chalk_1.default.magenta(`${headline}.`)); logger.stdout.write(chalk_1.default.magentaBright(` 🦖${os_1.EOL}`)); logger.stdout.write(chalk_1.default.magenta(` Check ${logger.debugFileName} for details.${os_1.EOL}`)); logger.info.write(ruleNames.map((ruleName) => ` * ${ruleName}${os_1.EOL}`).join("")); logger.info.write(os_1.EOL); }; exports.logObsoleteRules = logObsoleteRules; //# sourceMappingURL=reporting.js.map