@pobammer-ts/eslint-cease-nonsense-rules 1.2.3 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-metadata.json +5 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +11847 -80
- package/dist/index.js.map +516 -1
- package/dist/rules/no-async-constructor.d.ts +7 -0
- package/package.json +10 -10
- package/dist/configure-utilities.js +0 -136
- package/dist/configure-utilities.js.map +0 -1
- package/dist/rules/ban-instances.js +0 -123
- package/dist/rules/ban-instances.js.map +0 -1
- package/dist/rules/ban-react-fc.js +0 -42
- package/dist/rules/ban-react-fc.js.map +0 -1
- package/dist/rules/enforce-ianitor-check-type.js +0 -340
- package/dist/rules/enforce-ianitor-check-type.js.map +0 -1
- package/dist/rules/no-color3-constructor.js +0 -76
- package/dist/rules/no-color3-constructor.js.map +0 -1
- package/dist/rules/no-instance-methods-without-this.js +0 -122
- package/dist/rules/no-instance-methods-without-this.js.map +0 -1
- package/dist/rules/no-print.js +0 -25
- package/dist/rules/no-print.js.map +0 -1
- package/dist/rules/no-shorthand-names.js +0 -116
- package/dist/rules/no-shorthand-names.js.map +0 -1
- package/dist/rules/no-warn.js +0 -25
- package/dist/rules/no-warn.js.map +0 -1
- package/dist/rules/prefer-sequence-overloads.js +0 -109
- package/dist/rules/prefer-sequence-overloads.js.map +0 -1
- package/dist/rules/prefer-udim2-shorthand.js +0 -161
- package/dist/rules/prefer-udim2-shorthand.js.map +0 -1
- package/dist/rules/require-named-effect-functions.js +0 -350
- package/dist/rules/require-named-effect-functions.js.map +0 -1
- package/dist/rules/require-paired-calls.js +0 -861
- package/dist/rules/require-paired-calls.js.map +0 -1
- package/dist/rules/require-react-component-keys.js +0 -357
- package/dist/rules/require-react-component-keys.js.map +0 -1
- package/dist/rules/use-exhaustive-dependencies.js +0 -697
- package/dist/rules/use-exhaustive-dependencies.js.map +0 -1
- package/dist/rules/use-hook-at-top-level.js +0 -351
- package/dist/rules/use-hook-at-top-level.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"require-paired-calls.js","sourceRoot":"","sources":["../../src/rules/require-paired-calls.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,357 +0,0 @@
|
|
|
1
|
-
import { TSESTree } from "@typescript-eslint/types";
|
|
2
|
-
const DEFAULT_OPTIONS = {
|
|
3
|
-
allowRootKeys: false,
|
|
4
|
-
ignoreCallExpressions: ["ReactTree.mount", "CreateReactStory"],
|
|
5
|
-
iterationMethods: [
|
|
6
|
-
"map",
|
|
7
|
-
"filter",
|
|
8
|
-
"forEach",
|
|
9
|
-
"flatMap",
|
|
10
|
-
"reduce",
|
|
11
|
-
"reduceRight",
|
|
12
|
-
"some",
|
|
13
|
-
"every",
|
|
14
|
-
"find",
|
|
15
|
-
"findIndex",
|
|
16
|
-
],
|
|
17
|
-
memoizationHooks: ["useCallback", "useMemo"],
|
|
18
|
-
};
|
|
19
|
-
const WRAPPER_PARENT_TYPES = new Set([
|
|
20
|
-
"ParenthesizedExpression",
|
|
21
|
-
"TSAsExpression",
|
|
22
|
-
"TSSatisfiesExpression",
|
|
23
|
-
"TSTypeAssertion",
|
|
24
|
-
"TSNonNullExpression",
|
|
25
|
-
"TSInstantiationExpression",
|
|
26
|
-
"ChainExpression",
|
|
27
|
-
]);
|
|
28
|
-
const ARGUMENT_WRAPPER_TYPES = new Set([
|
|
29
|
-
...WRAPPER_PARENT_TYPES,
|
|
30
|
-
"AwaitExpression",
|
|
31
|
-
"ConditionalExpression",
|
|
32
|
-
"LogicalExpression",
|
|
33
|
-
"SequenceExpression",
|
|
34
|
-
"SpreadElement",
|
|
35
|
-
]);
|
|
36
|
-
function ascendPastWrappers(node) {
|
|
37
|
-
let current = node;
|
|
38
|
-
while (current && WRAPPER_PARENT_TYPES.has(current.type))
|
|
39
|
-
current = current.parent;
|
|
40
|
-
return current;
|
|
41
|
-
}
|
|
42
|
-
function hasKeyAttribute(node) {
|
|
43
|
-
for (const attribute of node.openingElement.attributes)
|
|
44
|
-
if (attribute.type === TSESTree.AST_NODE_TYPES.JSXAttribute && attribute.name.name === "key")
|
|
45
|
-
return true;
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
function isReactComponentHOC(callExpr) {
|
|
49
|
-
const { callee } = callExpr;
|
|
50
|
-
if (callee.type === TSESTree.AST_NODE_TYPES.Identifier)
|
|
51
|
-
return callee.name === "forwardRef" || callee.name === "memo";
|
|
52
|
-
if (callee.type === TSESTree.AST_NODE_TYPES.MemberExpression &&
|
|
53
|
-
callee.object.type === TSESTree.AST_NODE_TYPES.Identifier &&
|
|
54
|
-
callee.object.name === "React" &&
|
|
55
|
-
callee.property.type === TSESTree.AST_NODE_TYPES.Identifier)
|
|
56
|
-
return callee.property.name === "forwardRef" || callee.property.name === "memo";
|
|
57
|
-
return false;
|
|
58
|
-
}
|
|
59
|
-
function getEnclosingFunctionLike(node) {
|
|
60
|
-
let current = node.parent;
|
|
61
|
-
while (current) {
|
|
62
|
-
if (current.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression ||
|
|
63
|
-
current.type === TSESTree.AST_NODE_TYPES.FunctionExpression ||
|
|
64
|
-
current.type === TSESTree.AST_NODE_TYPES.FunctionDeclaration)
|
|
65
|
-
return current;
|
|
66
|
-
current = current.parent;
|
|
67
|
-
}
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
function isIterationOrMemoCallback(callExpr, iterationMethods, memoizationHooks) {
|
|
71
|
-
const { callee } = callExpr;
|
|
72
|
-
if (callee.type === TSESTree.AST_NODE_TYPES.Identifier && memoizationHooks.has(callee.name))
|
|
73
|
-
return true;
|
|
74
|
-
if (callee.type === TSESTree.AST_NODE_TYPES.MemberExpression &&
|
|
75
|
-
callee.property.type === TSESTree.AST_NODE_TYPES.Identifier) {
|
|
76
|
-
const methodName = callee.property.name;
|
|
77
|
-
if (iterationMethods.has(methodName))
|
|
78
|
-
return true;
|
|
79
|
-
if (methodName === "from" &&
|
|
80
|
-
callee.object.type === TSESTree.AST_NODE_TYPES.MemberExpression &&
|
|
81
|
-
callee.object.object.type === TSESTree.AST_NODE_TYPES.Identifier &&
|
|
82
|
-
callee.object.object.name === "Array" &&
|
|
83
|
-
callExpr.arguments.length >= 2)
|
|
84
|
-
return true;
|
|
85
|
-
if (methodName === "call" &&
|
|
86
|
-
callee.object.type === TSESTree.AST_NODE_TYPES.MemberExpression &&
|
|
87
|
-
callee.object.object.type === TSESTree.AST_NODE_TYPES.MemberExpression &&
|
|
88
|
-
callee.object.object.property.type === TSESTree.AST_NODE_TYPES.Identifier &&
|
|
89
|
-
iterationMethods.has(callee.object.object.property.name))
|
|
90
|
-
return true;
|
|
91
|
-
}
|
|
92
|
-
return false;
|
|
93
|
-
}
|
|
94
|
-
function findEnclosingCallExpression(node) {
|
|
95
|
-
let current = node;
|
|
96
|
-
let { parent } = node;
|
|
97
|
-
while (parent) {
|
|
98
|
-
if (parent.type === TSESTree.AST_NODE_TYPES.CallExpression) {
|
|
99
|
-
for (const argument of parent.arguments) {
|
|
100
|
-
if (argument === current)
|
|
101
|
-
return parent;
|
|
102
|
-
if (argument.type === TSESTree.AST_NODE_TYPES.SpreadElement && argument.argument === current)
|
|
103
|
-
return parent;
|
|
104
|
-
}
|
|
105
|
-
return undefined;
|
|
106
|
-
}
|
|
107
|
-
if (ARGUMENT_WRAPPER_TYPES.has(parent.type)) {
|
|
108
|
-
current = parent;
|
|
109
|
-
parent = parent.parent;
|
|
110
|
-
continue;
|
|
111
|
-
}
|
|
112
|
-
break;
|
|
113
|
-
}
|
|
114
|
-
return undefined;
|
|
115
|
-
}
|
|
116
|
-
function getVariableForFunction(context, functionLike) {
|
|
117
|
-
if (functionLike.type === TSESTree.AST_NODE_TYPES.FunctionDeclaration) {
|
|
118
|
-
const declared = context.sourceCode.getDeclaredVariables(functionLike);
|
|
119
|
-
if (declared.length > 0)
|
|
120
|
-
return declared[0];
|
|
121
|
-
return undefined;
|
|
122
|
-
}
|
|
123
|
-
const { parent } = functionLike;
|
|
124
|
-
if (!parent)
|
|
125
|
-
return undefined;
|
|
126
|
-
if (parent.type === TSESTree.AST_NODE_TYPES.VariableDeclarator ||
|
|
127
|
-
parent.type === TSESTree.AST_NODE_TYPES.AssignmentExpression) {
|
|
128
|
-
const declared = context.sourceCode.getDeclaredVariables(parent);
|
|
129
|
-
if (declared.length > 0)
|
|
130
|
-
return declared[0];
|
|
131
|
-
}
|
|
132
|
-
return undefined;
|
|
133
|
-
}
|
|
134
|
-
function referenceActsAsCallback(reference, iterationMethods, memoizationHooks) {
|
|
135
|
-
if (!reference.isRead())
|
|
136
|
-
return false;
|
|
137
|
-
const callExpression = findEnclosingCallExpression(reference.identifier);
|
|
138
|
-
if (!callExpression)
|
|
139
|
-
return false;
|
|
140
|
-
if (isReactComponentHOC(callExpression))
|
|
141
|
-
return false;
|
|
142
|
-
return isIterationOrMemoCallback(callExpression, iterationMethods, memoizationHooks);
|
|
143
|
-
}
|
|
144
|
-
function isFunctionUsedAsCallback(context, functionLike, iterationMethods, memoizationHooks) {
|
|
145
|
-
const inlineCall = findEnclosingCallExpression(functionLike);
|
|
146
|
-
if (inlineCall) {
|
|
147
|
-
if (isReactComponentHOC(inlineCall))
|
|
148
|
-
return false;
|
|
149
|
-
return isIterationOrMemoCallback(inlineCall, iterationMethods, memoizationHooks);
|
|
150
|
-
}
|
|
151
|
-
const variable = getVariableForFunction(context, functionLike);
|
|
152
|
-
if (!variable)
|
|
153
|
-
return false;
|
|
154
|
-
for (const reference of variable.references)
|
|
155
|
-
if (referenceActsAsCallback(reference, iterationMethods, memoizationHooks))
|
|
156
|
-
return true;
|
|
157
|
-
return false;
|
|
158
|
-
}
|
|
159
|
-
const SHOULD_ASCEND_TYPES = new Set([
|
|
160
|
-
TSESTree.AST_NODE_TYPES.ConditionalExpression,
|
|
161
|
-
TSESTree.AST_NODE_TYPES.LogicalExpression,
|
|
162
|
-
]);
|
|
163
|
-
const IS_FUNCTION_EXPRESSION = new Set([
|
|
164
|
-
TSESTree.AST_NODE_TYPES.FunctionExpression,
|
|
165
|
-
TSESTree.AST_NODE_TYPES.ArrowFunctionExpression,
|
|
166
|
-
]);
|
|
167
|
-
function isTopLevelReturn(node) {
|
|
168
|
-
let parent = ascendPastWrappers(node.parent);
|
|
169
|
-
if (!parent)
|
|
170
|
-
return false;
|
|
171
|
-
if (parent.type === TSESTree.AST_NODE_TYPES.JSXExpressionContainer)
|
|
172
|
-
parent = ascendPastWrappers(parent.parent);
|
|
173
|
-
if (!parent)
|
|
174
|
-
return false;
|
|
175
|
-
while (parent && SHOULD_ASCEND_TYPES.has(parent.type))
|
|
176
|
-
parent = ascendPastWrappers(parent.parent);
|
|
177
|
-
if (!parent)
|
|
178
|
-
return false;
|
|
179
|
-
if (parent.type === TSESTree.AST_NODE_TYPES.JSXExpressionContainer)
|
|
180
|
-
parent = ascendPastWrappers(parent.parent);
|
|
181
|
-
if (!parent)
|
|
182
|
-
return false;
|
|
183
|
-
if (parent.type === TSESTree.AST_NODE_TYPES.ReturnStatement) {
|
|
184
|
-
let currentNode = ascendPastWrappers(parent.parent);
|
|
185
|
-
if (currentNode?.type === TSESTree.AST_NODE_TYPES.BlockStatement)
|
|
186
|
-
currentNode = ascendPastWrappers(currentNode.parent);
|
|
187
|
-
if (!currentNode)
|
|
188
|
-
return false;
|
|
189
|
-
if (IS_FUNCTION_EXPRESSION.has(currentNode.type)) {
|
|
190
|
-
const functionParent = ascendPastWrappers(currentNode.parent);
|
|
191
|
-
if (functionParent?.type === TSESTree.AST_NODE_TYPES.CallExpression)
|
|
192
|
-
return isReactComponentHOC(functionParent);
|
|
193
|
-
return true;
|
|
194
|
-
}
|
|
195
|
-
return currentNode.type === TSESTree.AST_NODE_TYPES.FunctionDeclaration;
|
|
196
|
-
}
|
|
197
|
-
if (parent.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression) {
|
|
198
|
-
const functionParent = ascendPastWrappers(parent.parent);
|
|
199
|
-
if (functionParent?.type === TSESTree.AST_NODE_TYPES.CallExpression)
|
|
200
|
-
return isReactComponentHOC(functionParent);
|
|
201
|
-
return true;
|
|
202
|
-
}
|
|
203
|
-
return false;
|
|
204
|
-
}
|
|
205
|
-
function isIgnoredCallExpression(node, ignoreList) {
|
|
206
|
-
let parent = node.parent;
|
|
207
|
-
if (!parent)
|
|
208
|
-
return false;
|
|
209
|
-
if (parent.type === TSESTree.AST_NODE_TYPES.JSXExpressionContainer) {
|
|
210
|
-
parent = parent.parent;
|
|
211
|
-
if (!parent)
|
|
212
|
-
return false;
|
|
213
|
-
}
|
|
214
|
-
const maxDepth = 20;
|
|
215
|
-
for (let depth = 0; depth < maxDepth && parent; depth += 1) {
|
|
216
|
-
const { type } = parent;
|
|
217
|
-
if (type === TSESTree.AST_NODE_TYPES.CallExpression) {
|
|
218
|
-
const { callee } = parent;
|
|
219
|
-
if (callee.type === TSESTree.AST_NODE_TYPES.Identifier)
|
|
220
|
-
return ignoreList.includes(callee.name);
|
|
221
|
-
if (callee.type === TSESTree.AST_NODE_TYPES.MemberExpression &&
|
|
222
|
-
callee.object.type === TSESTree.AST_NODE_TYPES.Identifier &&
|
|
223
|
-
callee.property.type === TSESTree.AST_NODE_TYPES.Identifier)
|
|
224
|
-
return ignoreList.includes(`${callee.object.name}.${callee.property.name}`);
|
|
225
|
-
return false;
|
|
226
|
-
}
|
|
227
|
-
parent = parent.parent;
|
|
228
|
-
}
|
|
229
|
-
return false;
|
|
230
|
-
}
|
|
231
|
-
function isJSXPropValue(node) {
|
|
232
|
-
let { parent } = node;
|
|
233
|
-
if (!parent)
|
|
234
|
-
return false;
|
|
235
|
-
while (parent &&
|
|
236
|
-
(parent.type === TSESTree.AST_NODE_TYPES.ConditionalExpression ||
|
|
237
|
-
parent.type === TSESTree.AST_NODE_TYPES.LogicalExpression))
|
|
238
|
-
parent = parent.parent;
|
|
239
|
-
if (!parent)
|
|
240
|
-
return false;
|
|
241
|
-
if (parent.type === TSESTree.AST_NODE_TYPES.JSXExpressionContainer) {
|
|
242
|
-
parent = parent.parent;
|
|
243
|
-
if (!parent)
|
|
244
|
-
return false;
|
|
245
|
-
}
|
|
246
|
-
return parent.type === TSESTree.AST_NODE_TYPES.JSXAttribute;
|
|
247
|
-
}
|
|
248
|
-
const docs = {
|
|
249
|
-
description: "Enforce key props on all React elements except top-level returns",
|
|
250
|
-
recommended: true,
|
|
251
|
-
};
|
|
252
|
-
const requireReactComponentKeys = {
|
|
253
|
-
create(context) {
|
|
254
|
-
const options = {
|
|
255
|
-
...DEFAULT_OPTIONS,
|
|
256
|
-
...context.options[0],
|
|
257
|
-
};
|
|
258
|
-
const iterationMethods = new Set(options.iterationMethods);
|
|
259
|
-
const memoizationHooks = new Set(options.memoizationHooks);
|
|
260
|
-
function checkElement(node) {
|
|
261
|
-
const functionLike = getEnclosingFunctionLike(node);
|
|
262
|
-
const isCallback = functionLike
|
|
263
|
-
? isFunctionUsedAsCallback(context, functionLike, iterationMethods, memoizationHooks)
|
|
264
|
-
: false;
|
|
265
|
-
const isRoot = isTopLevelReturn(node);
|
|
266
|
-
if (isRoot && !isCallback) {
|
|
267
|
-
if (!options.allowRootKeys &&
|
|
268
|
-
node.type === TSESTree.AST_NODE_TYPES.JSXElement &&
|
|
269
|
-
hasKeyAttribute(node)) {
|
|
270
|
-
context.report({
|
|
271
|
-
messageId: "rootComponentWithKey",
|
|
272
|
-
node,
|
|
273
|
-
});
|
|
274
|
-
}
|
|
275
|
-
return;
|
|
276
|
-
}
|
|
277
|
-
if (isIgnoredCallExpression(node, options.ignoreCallExpressions))
|
|
278
|
-
return;
|
|
279
|
-
if (isJSXPropValue(node))
|
|
280
|
-
return;
|
|
281
|
-
if (node.type === TSESTree.AST_NODE_TYPES.JSXFragment) {
|
|
282
|
-
context.report({
|
|
283
|
-
messageId: "missingKey",
|
|
284
|
-
node,
|
|
285
|
-
});
|
|
286
|
-
return;
|
|
287
|
-
}
|
|
288
|
-
if (!hasKeyAttribute(node)) {
|
|
289
|
-
context.report({
|
|
290
|
-
messageId: "missingKey",
|
|
291
|
-
node,
|
|
292
|
-
});
|
|
293
|
-
}
|
|
294
|
-
}
|
|
295
|
-
return {
|
|
296
|
-
JSXElement(node) {
|
|
297
|
-
checkElement(node);
|
|
298
|
-
},
|
|
299
|
-
JSXFragment(node) {
|
|
300
|
-
checkElement(node);
|
|
301
|
-
},
|
|
302
|
-
};
|
|
303
|
-
},
|
|
304
|
-
defaultOptions: [DEFAULT_OPTIONS],
|
|
305
|
-
meta: {
|
|
306
|
-
docs,
|
|
307
|
-
messages: {
|
|
308
|
-
missingKey: "All React elements except top-level returns require a key prop",
|
|
309
|
-
rootComponentWithKey: "Root component returns should not have key props",
|
|
310
|
-
},
|
|
311
|
-
schema: [
|
|
312
|
-
{
|
|
313
|
-
additionalProperties: false,
|
|
314
|
-
properties: {
|
|
315
|
-
allowRootKeys: {
|
|
316
|
-
default: false,
|
|
317
|
-
description: "Allow key props on root component returns",
|
|
318
|
-
type: "boolean",
|
|
319
|
-
},
|
|
320
|
-
ignoreCallExpressions: {
|
|
321
|
-
default: ["ReactTree.mount"],
|
|
322
|
-
description: "Function calls where JSX arguments don't need keys",
|
|
323
|
-
items: { type: "string" },
|
|
324
|
-
type: "array",
|
|
325
|
-
},
|
|
326
|
-
iterationMethods: {
|
|
327
|
-
default: [
|
|
328
|
-
"map",
|
|
329
|
-
"filter",
|
|
330
|
-
"forEach",
|
|
331
|
-
"flatMap",
|
|
332
|
-
"reduce",
|
|
333
|
-
"reduceRight",
|
|
334
|
-
"some",
|
|
335
|
-
"every",
|
|
336
|
-
"find",
|
|
337
|
-
"findIndex",
|
|
338
|
-
],
|
|
339
|
-
description: "Array method names that indicate iteration contexts where keys are required",
|
|
340
|
-
items: { type: "string" },
|
|
341
|
-
type: "array",
|
|
342
|
-
},
|
|
343
|
-
memoizationHooks: {
|
|
344
|
-
default: ["useCallback", "useMemo"],
|
|
345
|
-
description: "Hook names that indicate memoization contexts where keys are required",
|
|
346
|
-
items: { type: "string" },
|
|
347
|
-
type: "array",
|
|
348
|
-
},
|
|
349
|
-
},
|
|
350
|
-
type: "object",
|
|
351
|
-
},
|
|
352
|
-
],
|
|
353
|
-
type: "problem",
|
|
354
|
-
},
|
|
355
|
-
};
|
|
356
|
-
export default requireReactComponentKeys;
|
|
357
|
-
//# sourceMappingURL=require-react-component-keys.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"require-react-component-keys.js","sourceRoot":"","sources":["../../src/rules/require-react-component-keys.ts"],"names":[],"mappings":"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"}
|