tslint-to-eslint-config
Version:
Converts your TSLint configuration to the closest reasonable ESLint equivalent.
46 lines (45 loc) • 1.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.findESLintConfiguration = void 0;
const utils_1 = require("../utils");
const findRawConfiguration_1 = require("./findRawConfiguration");
const findReportedConfiguration_1 = require("./findReportedConfiguration");
const defaultESLintConfiguration = {
env: {},
extends: [],
rules: {},
};
const findESLintConfiguration = async (dependencies, config) => {
var _a;
const filePath = (_a = config.eslint) !== null && _a !== void 0 ? _a : config.config;
const [rawConfiguration, reportedConfiguration] = await Promise.all([
(0, findRawConfiguration_1.findRawConfiguration)(dependencies.importer, filePath, {
extends: [],
}),
(0, findReportedConfiguration_1.findReportedConfiguration)(
dependencies.exec,
"eslint --print-config",
filePath,
),
]);
if (rawConfiguration instanceof Error) {
return rawConfiguration;
}
if (reportedConfiguration instanceof Error) {
return reportedConfiguration;
}
const extensions = (0, utils_1.uniqueFromSources)(
rawConfiguration.extends,
reportedConfiguration.extends,
);
return {
full: {
...defaultESLintConfiguration,
...reportedConfiguration,
extends: extensions,
},
raw: rawConfiguration,
};
};
exports.findESLintConfiguration = findESLintConfiguration;
//# sourceMappingURL=findESLintConfiguration.js.map