UNPKG

tslint-to-eslint-config

Version:

Converts your TSLint configuration to the closest reasonable ESLint equivalent.

65 lines (64 loc) 2.76 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.retrieveExtendsValues = void 0; const configurationError_1 = require("../../../errors/configurationError"); const resolveExtensionNames_1 = require("./resolveExtensionNames"); const builtInExtensions = new Map([ ["eslint:all", "eslint/conf/eslint-all"], ["eslint:recommended", "eslint/conf/eslint-recommended"], ]); const pluginExtensions = new Map([ ["eslint-plugin-prettier", "node_modules/eslint-config-prettier/index.js"], [ "plugin:@typescript-eslint/all", "node_modules/@typescript-eslint/eslint-plugin/dist/configs/all.json", ], [ "plugin:@typescript-eslint/recommended", "node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended.json", ], [ "plugin:@typescript-eslint/recommended-requiring-type-checking", "node_modules/@typescript-eslint/eslint-plugin/dist/configs/recommended-requiring-type-checking.json", ], ["plugin:react/recommended", "node_modules/eslint-plugin-react/index.js"], ]); /** * Imports any extended ESLint rulesets as ESLint configurations. */ const retrieveExtendsValues = async (dependencies, rawExtensionNames) => { const importedExtensions = []; const configurationErrors = []; const extensionNames = (0, resolveExtensionNames_1.resolveExtensionNames)(rawExtensionNames); await Promise.all( extensionNames.map(async (extensionName) => { const builtInExtension = builtInExtensions.get(extensionName); if (builtInExtension !== undefined) { importedExtensions.push(await dependencies.importer(builtInExtension)); return; } const pluginExtension = pluginExtensions.get(extensionName); if (pluginExtension !== undefined) { const importedTypeScriptPlugin = await dependencies.importer(pluginExtension); importedExtensions.push({ rules: importedTypeScriptPlugin.rules, }); return; } const imported = await dependencies.importer(extensionName); if (imported instanceof Error) { configurationErrors.push( new configurationError_1.ConfigurationError( imported, `Could not resolve ESLint extension '${extensionName}'.`, ), ); } else { importedExtensions.push(imported); } }), ); return { configurationErrors, importedExtensions }; }; exports.retrieveExtendsValues = retrieveExtendsValues; //# sourceMappingURL=retrieveExtendsValues.js.map