tslint-to-eslint-config
Version:
Converts your TSLint configuration to the closest reasonable ESLint equivalent.
80 lines • 4.86 kB
JavaScript
;
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