tslint-to-eslint-config
Version:
Converts your TSLint configuration to the closest reasonable ESLint equivalent.
38 lines (37 loc) • 1.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertStrictBooleanExpressions = exports.ForbiddenOtherNonBooleanTypes = void 0;
exports.ForbiddenOtherNonBooleanTypes =
"String, number, enum, and mixed union types are now forbidden.";
const convertStrictBooleanExpressions = (tslintRule) => {
const ruleArguments = {};
let notices;
if (tslintRule.ruleArguments.length >= 2 || tslintRule.ruleArguments[0] === true) {
notices = [exports.ForbiddenOtherNonBooleanTypes];
for (const ruleArgument of tslintRule.ruleArguments) {
switch (ruleArgument) {
case "allow-undefined-union":
case "allow-boolean-or-undefined":
case "allow-null-union":
ruleArguments.allowNullable = true;
break;
case "ignore-rhs":
ruleArguments.ignoreRhs = true;
break;
default:
break;
}
}
}
return {
rules: [
{
...{ notices },
...(Object.keys(ruleArguments).length !== 0 && { ruleArguments: [ruleArguments] }),
ruleName: "@typescript-eslint/strict-boolean-expressions",
},
],
};
};
exports.convertStrictBooleanExpressions = convertStrictBooleanExpressions;
//# sourceMappingURL=strict-boolean-expressions.js.map