tslint-to-eslint-config
Version:
Converts your TSLint configuration to the closest reasonable ESLint equivalent.
28 lines (27 loc) • 1.12 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.normalizeESLintRules = void 0;
const normalizeRawESLintRuleSeverity_1 = require("../pruning/normalizeRawESLintRuleSeverity");
/**
* Normalizes raw ESLint rule configurations into our standardized output format.
*/
const normalizeESLintRules = (userRules) => {
const output = new Map();
for (const [ruleName, rawRuleValue] of Object.entries(
userRules !== null && userRules !== void 0 ? userRules : {},
)) {
const [rawRuleSeverity, ruleArguments] = parseRawRuleValue(rawRuleValue);
const ruleSeverity = (0, normalizeRawESLintRuleSeverity_1.normalizeRawESLintRuleSeverity)(
rawRuleSeverity,
);
output.set(ruleName, { ruleArguments, ruleName, ruleSeverity });
}
return output;
};
exports.normalizeESLintRules = normalizeESLintRules;
const parseRawRuleValue = (configuration) => {
return configuration instanceof Array
? [configuration[0], configuration.slice(1)]
: [configuration, [{}]];
};
//# sourceMappingURL=normalizeESLintRules.js.map