UNPKG

tslint-to-eslint-config

Version:

Converts your TSLint configuration to the closest reasonable ESLint equivalent.

48 lines (47 loc) 1.93 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.convertLintConfig = void 0; const types_1 = require("../../types"); const formatOutput_1 = require("./formatting/formatOutput"); const joinConfigConversionResults_1 = require("./joinConfigConversionResults"); /** * Root-level driver to convert a TSLint configuration to ESLint. * @see `/docs/Architecture/Linters.md` for documentation. */ const convertLintConfig = async ( dependencies, settings, originalConfigurations, ruleEquivalents, ) => { // 1. Deduplicated ESLint rules and metadata are generated from raw TSLint rules. const summarizedConfiguration = await dependencies.createESLintConfiguration( originalConfigurations, settings.prettier, ruleEquivalents, ); // 2. Those deduplicated rules and metadata are written to the output configuration file. const output = (0, joinConfigConversionResults_1.joinConfigConversionResults)( summarizedConfiguration, originalConfigurations, ); // 3. That ESLint configuration output is written to the output configuration file. const fileWriteError = await dependencies.fileSystem.writeFile( settings.config, (0, formatOutput_1.formatOutput)(settings.config, output), ); if (fileWriteError !== undefined) { return { errors: [fileWriteError], status: types_1.ResultStatus.Failed, }; } // 5. A summary of conversion results is printed, along with any now-missing packages. await dependencies.reportConfigConversionResults(settings.config, summarizedConfiguration); await dependencies.logMissingPackages(summarizedConfiguration, originalConfigurations.packages); return { status: types_1.ResultStatus.Succeeded, }; }; exports.convertLintConfig = convertLintConfig; //# sourceMappingURL=convertLintConfig.js.map