@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.
Files changed (38) hide show
  1. package/dist/build-metadata.json +5 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +11847 -80
  4. package/dist/index.js.map +516 -1
  5. package/dist/rules/no-async-constructor.d.ts +7 -0
  6. package/package.json +10 -10
  7. package/dist/configure-utilities.js +0 -136
  8. package/dist/configure-utilities.js.map +0 -1
  9. package/dist/rules/ban-instances.js +0 -123
  10. package/dist/rules/ban-instances.js.map +0 -1
  11. package/dist/rules/ban-react-fc.js +0 -42
  12. package/dist/rules/ban-react-fc.js.map +0 -1
  13. package/dist/rules/enforce-ianitor-check-type.js +0 -340
  14. package/dist/rules/enforce-ianitor-check-type.js.map +0 -1
  15. package/dist/rules/no-color3-constructor.js +0 -76
  16. package/dist/rules/no-color3-constructor.js.map +0 -1
  17. package/dist/rules/no-instance-methods-without-this.js +0 -122
  18. package/dist/rules/no-instance-methods-without-this.js.map +0 -1
  19. package/dist/rules/no-print.js +0 -25
  20. package/dist/rules/no-print.js.map +0 -1
  21. package/dist/rules/no-shorthand-names.js +0 -116
  22. package/dist/rules/no-shorthand-names.js.map +0 -1
  23. package/dist/rules/no-warn.js +0 -25
  24. package/dist/rules/no-warn.js.map +0 -1
  25. package/dist/rules/prefer-sequence-overloads.js +0 -109
  26. package/dist/rules/prefer-sequence-overloads.js.map +0 -1
  27. package/dist/rules/prefer-udim2-shorthand.js +0 -161
  28. package/dist/rules/prefer-udim2-shorthand.js.map +0 -1
  29. package/dist/rules/require-named-effect-functions.js +0 -350
  30. package/dist/rules/require-named-effect-functions.js.map +0 -1
  31. package/dist/rules/require-paired-calls.js +0 -861
  32. package/dist/rules/require-paired-calls.js.map +0 -1
  33. package/dist/rules/require-react-component-keys.js +0 -357
  34. package/dist/rules/require-react-component-keys.js.map +0 -1
  35. package/dist/rules/use-exhaustive-dependencies.js +0 -697
  36. package/dist/rules/use-exhaustive-dependencies.js.map +0 -1
  37. package/dist/rules/use-hook-at-top-level.js +0 -351
  38. 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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"}