UNPKG

tslint-to-eslint-config

Version:

Converts your TSLint configuration to the closest reasonable ESLint equivalent.

40 lines 2.36 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logMissingPackages = void 0; const chalk_1 = __importDefault(require("chalk")); const os_1 = require("os"); const utils_1 = require("../../../../utils"); const packageManagers_1 = require("./packageManagers"); const logMissingPackages = async (dependencies, ruleConversionResults, packageConfiguration) => { var _a, _b; const packageManager = await dependencies.choosePackageManager(); const existingPackageNames = new Set([ ...Object.keys((_a = packageConfiguration === null || packageConfiguration === void 0 ? void 0 : packageConfiguration.dependencies) !== null && _a !== void 0 ? _a : {}), ...Object.keys((_b = packageConfiguration === null || packageConfiguration === void 0 ? void 0 : packageConfiguration.devDependencies) !== null && _b !== void 0 ? _b : {}), ]); const requiredPackageNames = [ "@typescript-eslint/eslint-plugin", "@typescript-eslint/parser", ruleConversionResults.extends.join("").includes("prettier") && "eslint-config-prettier", ruleConversionResults.missing.length !== 0 && "@typescript-eslint/eslint-plugin-tslint", "eslint", ...Array.from(ruleConversionResults.plugins), ].filter(utils_1.isTruthy); const missingPackageNames = requiredPackageNames .filter((packageName) => !existingPackageNames.has(packageName)) .sort(); if (missingPackageNames.length === 0) { return; } dependencies.logger.stdout.write(chalk_1.default.cyanBright(`${os_1.EOL}${missingPackageNames.length}`)); dependencies.logger.stdout.write(chalk_1.default.cyan(` new package${missingPackageNames.length === 1 ? " is" : "s are"} required for this ESLint configuration.`)); dependencies.logger.stdout.write(chalk_1.default.cyanBright(" ⚡")); dependencies.logger.stdout.write(`${os_1.EOL} `); dependencies.logger.stdout.write(chalk_1.default.cyan(packageManagers_1.installationMessages[packageManager](missingPackageNames.join(" ")))); dependencies.logger.stdout.write(os_1.EOL); }; exports.logMissingPackages = logMissingPackages; //# sourceMappingURL=logMissingPackages.js.map