tslint-to-eslint-config
Version:
Converts your TSLint configuration to the closest reasonable ESLint equivalent.
30 lines (29 loc) • 1.13 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.removeExtendsDuplicatedRules = void 0;
const util_1 = require("util");
/**
* Finds only the ESLint rules configured differently than their (extended) configurations.
*/
const removeExtendsDuplicatedRules = (userRules, extensionRules) => {
const differentRules = new Map();
for (const [ruleName, value] of userRules) {
if (!ruleValuesAreTheSame(value, extensionRules.get(ruleName))) {
differentRules.set(ruleName, value);
}
}
return { differentRules, extensionRules };
};
exports.removeExtendsDuplicatedRules = removeExtendsDuplicatedRules;
const ruleValuesAreTheSame = (configurationValue, extensionValue) => {
var _a;
return (
extensionValue !== undefined &&
configurationValue.ruleSeverity === extensionValue.ruleSeverity &&
(0, util_1.isDeepStrictEqual)(
(_a = configurationValue.ruleArguments) !== null && _a !== void 0 ? _a : [],
extensionValue.ruleArguments,
)
);
};
//# sourceMappingURL=removeExtendsDuplicatedRules.js.map