@pobammer-ts/eslint-cease-nonsense-rules 1.2.3 → 1.2.4

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 (36) hide show
  1. package/dist/build-metadata.json +5 -0
  2. package/dist/index.js +11637 -80
  3. package/dist/index.js.map +515 -1
  4. package/package.json +10 -10
  5. package/dist/configure-utilities.js +0 -136
  6. package/dist/configure-utilities.js.map +0 -1
  7. package/dist/rules/ban-instances.js +0 -123
  8. package/dist/rules/ban-instances.js.map +0 -1
  9. package/dist/rules/ban-react-fc.js +0 -42
  10. package/dist/rules/ban-react-fc.js.map +0 -1
  11. package/dist/rules/enforce-ianitor-check-type.js +0 -340
  12. package/dist/rules/enforce-ianitor-check-type.js.map +0 -1
  13. package/dist/rules/no-color3-constructor.js +0 -76
  14. package/dist/rules/no-color3-constructor.js.map +0 -1
  15. package/dist/rules/no-instance-methods-without-this.js +0 -122
  16. package/dist/rules/no-instance-methods-without-this.js.map +0 -1
  17. package/dist/rules/no-print.js +0 -25
  18. package/dist/rules/no-print.js.map +0 -1
  19. package/dist/rules/no-shorthand-names.js +0 -116
  20. package/dist/rules/no-shorthand-names.js.map +0 -1
  21. package/dist/rules/no-warn.js +0 -25
  22. package/dist/rules/no-warn.js.map +0 -1
  23. package/dist/rules/prefer-sequence-overloads.js +0 -109
  24. package/dist/rules/prefer-sequence-overloads.js.map +0 -1
  25. package/dist/rules/prefer-udim2-shorthand.js +0 -161
  26. package/dist/rules/prefer-udim2-shorthand.js.map +0 -1
  27. package/dist/rules/require-named-effect-functions.js +0 -350
  28. package/dist/rules/require-named-effect-functions.js.map +0 -1
  29. package/dist/rules/require-paired-calls.js +0 -861
  30. package/dist/rules/require-paired-calls.js.map +0 -1
  31. package/dist/rules/require-react-component-keys.js +0 -357
  32. package/dist/rules/require-react-component-keys.js.map +0 -1
  33. package/dist/rules/use-exhaustive-dependencies.js +0 -697
  34. package/dist/rules/use-exhaustive-dependencies.js.map +0 -1
  35. package/dist/rules/use-hook-at-top-level.js +0 -351
  36. package/dist/rules/use-hook-at-top-level.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-exhaustive-dependencies.js","sourceRoot":"","sources":["../../src/rules/use-exhaustive-dependencies.ts"],"names":[],"mappings":"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"}
@@ -1,351 +0,0 @@
1
- import { TSESTree } from "@typescript-eslint/types";
2
- const HOOK_NAME_PATTERN = /^use[A-Z]/;
3
- const COMPONENT_NAME_PATTERN = /^[A-Z]/;
4
- function isReactHook(name) {
5
- return HOOK_NAME_PATTERN.test(name);
6
- }
7
- function isComponent(name) {
8
- return COMPONENT_NAME_PATTERN.test(name);
9
- }
10
- function isComponentOrHook(node) {
11
- if (node.type === TSESTree.AST_NODE_TYPES.FunctionDeclaration && node.id) {
12
- const { name } = node.id;
13
- return isComponent(name) || isReactHook(name);
14
- }
15
- if (node.type === TSESTree.AST_NODE_TYPES.FunctionExpression ||
16
- node.type === TSESTree.AST_NODE_TYPES.ArrowFunctionExpression) {
17
- const { parent } = node;
18
- if (!parent)
19
- return false;
20
- if (parent.type === TSESTree.AST_NODE_TYPES.VariableDeclarator &&
21
- parent.id.type === TSESTree.AST_NODE_TYPES.Identifier) {
22
- const { name } = parent.id;
23
- return isComponent(name) || isReactHook(name);
24
- }
25
- if (parent.type === TSESTree.AST_NODE_TYPES.Property &&
26
- parent.key.type === TSESTree.AST_NODE_TYPES.Identifier) {
27
- const { name } = parent.key;
28
- return isComponent(name) || isReactHook(name);
29
- }
30
- if (parent.type === TSESTree.AST_NODE_TYPES.MethodDefinition &&
31
- parent.key.type === TSESTree.AST_NODE_TYPES.Identifier) {
32
- const { name } = parent.key;
33
- return isComponent(name) || isReactHook(name);
34
- }
35
- }
36
- return false;
37
- }
38
- function isHookCall(node) {
39
- const { callee } = node;
40
- if (callee.type === TSESTree.AST_NODE_TYPES.Identifier)
41
- return isReactHook(callee.name);
42
- if (callee.type === TSESTree.AST_NODE_TYPES.MemberExpression &&
43
- callee.property.type === TSESTree.AST_NODE_TYPES.Identifier)
44
- return isReactHook(callee.property.name);
45
- return false;
46
- }
47
- const FUNCTION_BOUNDARIES = new Set([
48
- TSESTree.AST_NODE_TYPES.FunctionDeclaration,
49
- TSESTree.AST_NODE_TYPES.FunctionExpression,
50
- TSESTree.AST_NODE_TYPES.ArrowFunctionExpression,
51
- ]);
52
- function isInFinallyBlock(node) {
53
- let current = node.parent;
54
- const maxDepth = 20;
55
- for (let depth = 0; depth < maxDepth && current; depth += 1) {
56
- if (FUNCTION_BOUNDARIES.has(current.type))
57
- return false;
58
- if (current.type === TSESTree.AST_NODE_TYPES.TryStatement) {
59
- let checkNode = node;
60
- while (checkNode && checkNode !== current) {
61
- if (checkNode === current.finalizer)
62
- return true;
63
- checkNode = checkNode.parent;
64
- }
65
- return false;
66
- }
67
- current = current.parent;
68
- }
69
- return false;
70
- }
71
- function isRecursiveCall(node, functionName) {
72
- if (!functionName)
73
- return false;
74
- const { callee } = node;
75
- if (callee.type === "Identifier")
76
- return callee.name === functionName;
77
- return false;
78
- }
79
- const useHookAtTopLevel = {
80
- create(context) {
81
- const configuration = (context.options[0] || {});
82
- const contextStack = new Array();
83
- let currentFunctionName;
84
- const importSourceMap = new Map();
85
- function getCurrentContext() {
86
- return contextStack.length > 0 ? contextStack.at(-1) : undefined;
87
- }
88
- function pushContext(newContext) {
89
- contextStack.push(newContext);
90
- }
91
- function popContext() {
92
- contextStack.pop();
93
- }
94
- function updateContext(updates) {
95
- const current = getCurrentContext();
96
- if (current)
97
- contextStack[contextStack.length - 1] = { ...current, ...updates };
98
- }
99
- function shouldIgnoreHook(hookName, node) {
100
- const { onlyHooks, ignoreHooks, importSources } = configuration;
101
- if (onlyHooks && onlyHooks.length > 0)
102
- return !onlyHooks.includes(hookName);
103
- if (ignoreHooks?.includes(hookName))
104
- return true;
105
- if (importSources && Object.keys(importSources).length > 0) {
106
- if (node.callee.type === TSESTree.AST_NODE_TYPES.MemberExpression) {
107
- const objectName = node.callee.object.type === TSESTree.AST_NODE_TYPES.Identifier
108
- ? node.callee.object.name
109
- : undefined;
110
- if (objectName && importSources[objectName] === false)
111
- return true;
112
- if (objectName && importSources[objectName] === true)
113
- return false;
114
- }
115
- if (node.callee.type === TSESTree.AST_NODE_TYPES.Identifier) {
116
- const importSource = importSourceMap.get(hookName);
117
- if (importSource && importSources[importSource] === false)
118
- return true;
119
- if (importSource && importSources[importSource] === true)
120
- return false;
121
- }
122
- }
123
- return false;
124
- }
125
- function handleFunctionEnter(node) {
126
- const functionNode = node;
127
- const current = getCurrentContext();
128
- const depth = current ? current.functionDepth + 1 : 0;
129
- const isComponentOrHookFlag = isComponentOrHook(functionNode);
130
- if (functionNode.type === TSESTree.AST_NODE_TYPES.FunctionDeclaration && functionNode.id)
131
- currentFunctionName = functionNode.id.name;
132
- if (current?.isComponentOrHook) {
133
- pushContext({
134
- afterEarlyReturn: false,
135
- functionDepth: depth,
136
- inConditional: false,
137
- inLoop: false,
138
- inNestedFunction: true,
139
- inTryBlock: false,
140
- isComponentOrHook: false,
141
- });
142
- }
143
- else if (isComponentOrHookFlag) {
144
- pushContext({
145
- afterEarlyReturn: false,
146
- functionDepth: depth,
147
- inConditional: false,
148
- inLoop: false,
149
- inNestedFunction: false,
150
- inTryBlock: false,
151
- isComponentOrHook: true,
152
- });
153
- }
154
- }
155
- function handleFunctionExit() {
156
- const current = getCurrentContext();
157
- if (current)
158
- popContext();
159
- currentFunctionName = undefined;
160
- }
161
- return {
162
- ArrowFunctionExpression: handleFunctionEnter,
163
- "ArrowFunctionExpression:exit": handleFunctionExit,
164
- CallExpression(node) {
165
- const callNode = node;
166
- if (!isHookCall(callNode))
167
- return;
168
- const { callee } = callNode;
169
- const hookName = callee.type === TSESTree.AST_NODE_TYPES.Identifier
170
- ? callee.name
171
- : callee.type === TSESTree.AST_NODE_TYPES.MemberExpression &&
172
- callee.property.type === TSESTree.AST_NODE_TYPES.Identifier
173
- ? callee.property.name
174
- : undefined;
175
- if (!hookName || shouldIgnoreHook(hookName, callNode))
176
- return;
177
- const current = getCurrentContext();
178
- if (!current)
179
- return;
180
- if (!current.isComponentOrHook && !current.inNestedFunction)
181
- return;
182
- if (isInFinallyBlock(callNode))
183
- return;
184
- if (isRecursiveCall(callNode, currentFunctionName)) {
185
- context.report({
186
- messageId: "recursiveHookCall",
187
- node: callNode,
188
- });
189
- return;
190
- }
191
- if (current.inNestedFunction) {
192
- context.report({
193
- messageId: "nestedFunction",
194
- node: callNode,
195
- });
196
- return;
197
- }
198
- if (current.inConditional) {
199
- context.report({
200
- messageId: "conditionalHook",
201
- node: callNode,
202
- });
203
- return;
204
- }
205
- if (current.inLoop) {
206
- context.report({
207
- messageId: "loopHook",
208
- node: callNode,
209
- });
210
- return;
211
- }
212
- if (current.inTryBlock) {
213
- context.report({
214
- messageId: "tryBlockHook",
215
- node: callNode,
216
- });
217
- return;
218
- }
219
- if (current.afterEarlyReturn) {
220
- context.report({
221
- messageId: "afterEarlyReturn",
222
- node: callNode,
223
- });
224
- }
225
- },
226
- ConditionalExpression() {
227
- updateContext({ inConditional: true });
228
- },
229
- "ConditionalExpression:exit"() {
230
- updateContext({ inConditional: false });
231
- },
232
- DoWhileStatement() {
233
- updateContext({ inLoop: true });
234
- },
235
- "DoWhileStatement:exit"() {
236
- updateContext({ inLoop: false });
237
- },
238
- ForInStatement() {
239
- updateContext({ inLoop: true });
240
- },
241
- "ForInStatement:exit"() {
242
- updateContext({ inLoop: false });
243
- },
244
- ForOfStatement() {
245
- updateContext({ inLoop: true });
246
- },
247
- "ForOfStatement:exit"() {
248
- updateContext({ inLoop: false });
249
- },
250
- ForStatement() {
251
- updateContext({ inLoop: true });
252
- },
253
- "ForStatement:exit"() {
254
- updateContext({ inLoop: false });
255
- },
256
- FunctionDeclaration: handleFunctionEnter,
257
- "FunctionDeclaration:exit": handleFunctionExit,
258
- FunctionExpression: handleFunctionEnter,
259
- "FunctionExpression:exit": handleFunctionExit,
260
- IfStatement() {
261
- updateContext({ inConditional: true });
262
- },
263
- "IfStatement:exit"() {
264
- updateContext({ inConditional: false });
265
- },
266
- ImportDeclaration(node) {
267
- const importNode = node;
268
- const source = importNode.source.value;
269
- if (!configuration.importSources || Object.keys(configuration.importSources).length === 0)
270
- return;
271
- for (const specifier of importNode.specifiers) {
272
- if (specifier.type !== TSESTree.AST_NODE_TYPES.ImportSpecifier)
273
- continue;
274
- const { imported } = specifier;
275
- if (imported.type !== TSESTree.AST_NODE_TYPES.Identifier)
276
- continue;
277
- if (isReactHook(imported.name))
278
- importSourceMap.set(specifier.local.name, source);
279
- }
280
- },
281
- LogicalExpression() {
282
- updateContext({ inConditional: true });
283
- },
284
- "LogicalExpression:exit"() {
285
- updateContext({ inConditional: false });
286
- },
287
- "ReturnStatement:exit"() {
288
- updateContext({ afterEarlyReturn: true });
289
- },
290
- SwitchStatement() {
291
- updateContext({ inConditional: true });
292
- },
293
- "SwitchStatement:exit"() {
294
- updateContext({ inConditional: false });
295
- },
296
- TryStatement() {
297
- updateContext({ inTryBlock: true });
298
- },
299
- "TryStatement:exit"() {
300
- updateContext({ inTryBlock: false });
301
- },
302
- WhileStatement() {
303
- updateContext({ inLoop: true });
304
- },
305
- "WhileStatement:exit"() {
306
- updateContext({ inLoop: false });
307
- },
308
- };
309
- },
310
- meta: {
311
- docs: {
312
- description: "Enforce that React hooks are only called at the top level of components or custom hooks, never conditionally or in nested functions",
313
- recommended: true,
314
- url: "https://react.dev/reference/rules/rules-of-hooks",
315
- },
316
- messages: {
317
- afterEarlyReturn: "This hook is being called after an early return. Hooks must be called unconditionally and in the same order every render.",
318
- conditionalHook: "This hook is being called conditionally. All hooks must be called in the exact same order in every component render.",
319
- loopHook: "This hook is being called inside a loop. All hooks must be called in the exact same order in every component render.",
320
- nestedFunction: "This hook is being called from a nested function. All hooks must be called unconditionally from the top-level component.",
321
- recursiveHookCall: "This hook is being called recursively. Recursive calls require a condition to terminate, which violates hook rules.",
322
- tryBlockHook: "This hook is being called inside a try block. Hooks must be called unconditionally at the top level.",
323
- },
324
- schema: [
325
- {
326
- additionalProperties: false,
327
- properties: {
328
- ignoreHooks: {
329
- description: "Hook names to ignore (both React and non-React hooks)",
330
- items: { type: "string" },
331
- type: "array",
332
- },
333
- importSources: {
334
- additionalProperties: { type: "boolean" },
335
- description: "Control which import sources to check. true = check hooks from source, false = ignore",
336
- type: "object",
337
- },
338
- onlyHooks: {
339
- description: "Only check hooks with these exact names (whitelist mode)",
340
- items: { type: "string" },
341
- type: "array",
342
- },
343
- },
344
- type: "object",
345
- },
346
- ],
347
- type: "problem",
348
- },
349
- };
350
- export default useHookAtTopLevel;
351
- //# sourceMappingURL=use-hook-at-top-level.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-hook-at-top-level.js","sourceRoot":"","sources":["../../src/rules/use-hook-at-top-level.ts"],"names":[],"mappings":"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"}