Skip to content

Commit bf5c9f9

Browse files
author
Hirotaka Tagawa
authored
fix: [variable-name] Use id-denylist ESLint rule instread of id-blacklist that deprecated (#1221)
* Convert id-blacklist to id-denylist * Add JSDoc
1 parent 351eda1 commit bf5c9f9

File tree

2 files changed

+35
-29
lines changed

2 files changed

+35
-29
lines changed

src/converters/lintConfigs/rules/ruleConverters/tests/variable-name.test.ts

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ describe(convertVariableName, () => {
2929
ruleName: "no-underscore-dangle",
3030
},
3131
{
32-
ruleName: "id-blacklist",
32+
ruleName: "id-denylist",
3333
},
3434
{
3535
ruleName: "id-match",
@@ -61,7 +61,7 @@ describe(convertVariableName, () => {
6161
ruleName: "no-underscore-dangle",
6262
},
6363
{
64-
ruleName: "id-blacklist",
64+
ruleName: "id-denylist",
6565
},
6666
{
6767
ruleName: "id-match",
@@ -93,7 +93,7 @@ describe(convertVariableName, () => {
9393
ruleName: "no-underscore-dangle",
9494
},
9595
{
96-
ruleName: "id-blacklist",
96+
ruleName: "id-denylist",
9797
},
9898
{
9999
ruleName: "id-match",
@@ -125,7 +125,7 @@ describe(convertVariableName, () => {
125125
ruleName: "no-underscore-dangle",
126126
},
127127
{
128-
ruleName: "id-blacklist",
128+
ruleName: "id-denylist",
129129
},
130130
{
131131
ruleName: "id-match",
@@ -157,7 +157,7 @@ describe(convertVariableName, () => {
157157
notices: [ForbiddenLeadingTrailingIdentifierMsg],
158158
},
159159
{
160-
ruleName: "id-blacklist",
160+
ruleName: "id-denylist",
161161
},
162162
{
163163
ruleName: "id-match",
@@ -189,7 +189,7 @@ describe(convertVariableName, () => {
189189
ruleName: "no-underscore-dangle",
190190
},
191191
{
192-
ruleName: "id-blacklist",
192+
ruleName: "id-denylist",
193193
},
194194
{
195195
ruleName: "id-match",
@@ -221,7 +221,7 @@ describe(convertVariableName, () => {
221221
ruleName: "no-underscore-dangle",
222222
},
223223
{
224-
ruleName: "id-blacklist",
224+
ruleName: "id-denylist",
225225
},
226226
{
227227
ruleName: "id-match",
@@ -254,7 +254,7 @@ describe(convertVariableName, () => {
254254
ruleName: "no-underscore-dangle",
255255
},
256256
{
257-
ruleName: "id-blacklist",
257+
ruleName: "id-denylist",
258258
},
259259
{
260260
ruleName: "id-match",
@@ -287,7 +287,7 @@ describe(convertVariableName, () => {
287287
ruleSeverity: "off",
288288
},
289289
{
290-
ruleName: "id-blacklist",
290+
ruleName: "id-denylist",
291291
},
292292
{
293293
ruleName: "id-match",
@@ -320,7 +320,7 @@ describe(convertVariableName, () => {
320320
ruleSeverity: "off",
321321
},
322322
{
323-
ruleName: "id-blacklist",
323+
ruleName: "id-denylist",
324324
},
325325
{
326326
ruleName: "id-match",
@@ -357,7 +357,7 @@ describe(convertVariableName, () => {
357357
ruleSeverity: "off",
358358
},
359359
{
360-
ruleName: "id-blacklist",
360+
ruleName: "id-denylist",
361361
},
362362
{
363363
ruleName: "id-match",
@@ -399,7 +399,7 @@ describe(convertVariableName, () => {
399399
ruleSeverity: "off",
400400
},
401401
{
402-
ruleName: "id-blacklist",
402+
ruleName: "id-denylist",
403403
ruleArguments: [
404404
"any",
405405
"Number",

src/converters/lintConfigs/rules/ruleConverters/variable-name.ts

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,22 @@ export const convertVariableName: RuleConverter = (tslintRule) => {
1717
const constRequiredForAllCaps = tslintRule.ruleArguments.includes("require-const-for-all-caps");
1818
const allowPascalCase = tslintRule.ruleArguments.includes("allow-pascal-case");
1919
const allowSnakeCase = tslintRule.ruleArguments.includes("allow-snake-case");
20+
/**
21+
* disallows the use of certain TypeScript keywords as variable or parameter names.
22+
* @see https://palantir.github.io/tslint/rules/variable-name/
23+
* @see https://github.com/palantir/tslint/blob/285fc1db18d1fd24680d6a2282c6445abf1566ee/src/rules/variableNameRule.ts#L26-L36
24+
*/
25+
const banKeywords = [
26+
"any",
27+
"Number",
28+
"number",
29+
"String",
30+
"string",
31+
"Boolean",
32+
"boolean",
33+
"Undefined",
34+
"undefined",
35+
];
2036

2137
const getCamelCaseRuleOptions = () => {
2238
const camelCaseRules: Record<string, unknown>[] = [];
@@ -77,34 +93,24 @@ export const convertVariableName: RuleConverter = (tslintRule) => {
7793
};
7894
};
7995

80-
const getBlackListRuleOptions = () => {
81-
const blackListOptionArguments = tslintRule.ruleArguments.includes("ban-keywords")
82-
? [
83-
"any",
84-
"Number",
85-
"number",
86-
"String",
87-
"string",
88-
"Boolean",
89-
"boolean",
90-
"Undefined",
91-
"undefined",
92-
]
96+
const getDenyListRuleOptions = () => {
97+
const denyListOptionArguments = tslintRule.ruleArguments.includes("ban-keywords")
98+
? banKeywords
9399
: [];
94100

95101
return {
96-
...(blackListOptionArguments.length !== 0 && {
97-
ruleArguments: blackListOptionArguments,
102+
...(denyListOptionArguments.length !== 0 && {
103+
ruleArguments: denyListOptionArguments,
98104
}),
99-
ruleName: "id-blacklist",
105+
ruleName: "id-denylist",
100106
};
101107
};
102108

103109
return {
104110
rules: [
105111
getCamelCaseRuleOptions(),
106112
getUnderscoreDangleRuleOptions(),
107-
getBlackListRuleOptions(),
113+
getDenyListRuleOptions(),
108114
{
109115
ruleName: "id-match",
110116
},

0 commit comments

Comments
 (0)