tslint-to-eslint-config
Version:
Converts your TSLint configuration to the closest reasonable ESLint equivalent.
60 lines (59 loc) • 2.55 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertMemberAccess = exports.MemberAccessArguments = exports.AccessibilityLevel = void 0;
var AccessibilityLevel;
(function (AccessibilityLevel) {
AccessibilityLevel["Explicit"] = "explicit";
AccessibilityLevel["NoPublic"] = "no-public";
})((AccessibilityLevel = exports.AccessibilityLevel || (exports.AccessibilityLevel = {})));
var MemberAccessArguments;
(function (MemberAccessArguments) {
MemberAccessArguments["NoPublic"] = "no-public";
MemberAccessArguments["Accessor"] = "check-accessor";
MemberAccessArguments["Constructor"] = "check-constructor";
MemberAccessArguments["ParameterProp"] = "check-parameter-property";
})((MemberAccessArguments = exports.MemberAccessArguments || (exports.MemberAccessArguments = {})));
const convertMemberAccess = (tslintRule) => {
const schema = {
accessibility: AccessibilityLevel.Explicit,
};
if (tslintRule.ruleArguments.length >= 1 || tslintRule.ruleArguments[0] === true) {
for (const ruleArg of tslintRule.ruleArguments) {
if (typeof ruleArg === "string") {
switch (ruleArg) {
case MemberAccessArguments.NoPublic:
schema.accessibility = AccessibilityLevel.NoPublic;
break;
case MemberAccessArguments.Accessor:
schema.overrides = {
...schema.overrides,
accessors: AccessibilityLevel.Explicit,
};
break;
case MemberAccessArguments.Constructor:
schema.overrides = {
...schema.overrides,
constructors: AccessibilityLevel.Explicit,
};
break;
case MemberAccessArguments.ParameterProp:
schema.overrides = {
...schema.overrides,
parameterProperties: AccessibilityLevel.Explicit,
};
break;
}
}
}
}
return {
rules: [
{
ruleArguments: [schema],
ruleName: "@typescript-eslint/explicit-member-accessibility",
},
],
};
};
exports.convertMemberAccess = convertMemberAccess;
//# sourceMappingURL=member-access.js.map