eslint-plugin-nima 0.0.0 → 0.0.2

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 (43) hide show
  1. package/package.json +29 -18
  2. package/dist/configs/recommended.d.ts +0 -5
  3. package/dist/configs/recommended.js +0 -6
  4. package/dist/configs/recommended.js.map +0 -1
  5. package/dist/constants/boolean-prefixes.d.ts +0 -1
  6. package/dist/constants/boolean-prefixes.js +0 -12
  7. package/dist/constants/boolean-prefixes.js.map +0 -1
  8. package/dist/constants/hooks.d.ts +0 -2
  9. package/dist/constants/hooks.js +0 -26
  10. package/dist/constants/hooks.js.map +0 -1
  11. package/dist/index.d.ts +0 -91
  12. package/dist/index.js +0 -40
  13. package/dist/index.js.map +0 -1
  14. package/dist/rules/boolean-naming-convention.d.ts +0 -9
  15. package/dist/rules/boolean-naming-convention.js +0 -307
  16. package/dist/rules/boolean-naming-convention.js.map +0 -1
  17. package/dist/rules/no-handler-suffix.d.ts +0 -3
  18. package/dist/rules/no-handler-suffix.js +0 -82
  19. package/dist/rules/no-handler-suffix.js.map +0 -1
  20. package/dist/rules/no-objects-in-deps.d.ts +0 -3
  21. package/dist/rules/no-objects-in-deps.js +0 -77
  22. package/dist/rules/no-objects-in-deps.js.map +0 -1
  23. package/dist/rules/params-naming-convention.d.ts +0 -8
  24. package/dist/rules/params-naming-convention.js +0 -92
  25. package/dist/rules/params-naming-convention.js.map +0 -1
  26. package/dist/rules/prefer-arrow-functions.d.ts +0 -10
  27. package/dist/rules/prefer-arrow-functions.js +0 -205
  28. package/dist/rules/prefer-arrow-functions.js.map +0 -1
  29. package/dist/rules/prefer-react-fc.d.ts +0 -6
  30. package/dist/rules/prefer-react-fc.js +0 -206
  31. package/dist/rules/prefer-react-fc.js.map +0 -1
  32. package/dist/rules/prefer-react-with-hooks.d.ts +0 -5
  33. package/dist/rules/prefer-react-with-hooks.js +0 -145
  34. package/dist/rules/prefer-react-with-hooks.js.map +0 -1
  35. package/dist/rules/restrict-console-methods.d.ts +0 -9
  36. package/dist/rules/restrict-console-methods.js +0 -68
  37. package/dist/rules/restrict-console-methods.js.map +0 -1
  38. package/dist/utility/getFunctionName.d.ts +0 -2
  39. package/dist/utility/getFunctionName.js +0 -33
  40. package/dist/utility/getFunctionName.js.map +0 -1
  41. package/dist/utility/getType.d.ts +0 -3
  42. package/dist/utility/getType.js +0 -21
  43. package/dist/utility/getType.js.map +0 -1
@@ -1,82 +0,0 @@
1
- import { ESLintUtils } from "@typescript-eslint/utils";
2
- export const name = "no-handler-suffix";
3
- export const rule = ESLintUtils.RuleCreator.withoutDocs({
4
- create: (context) => {
5
- function generateUniqueName(base, scope) {
6
- let candidate = base;
7
- let index = 2;
8
- const existingNames = new Set(scope.variables.map((v) => v.name));
9
- while (existingNames.has(candidate)) {
10
- candidate = `${base}${index++}`;
11
- }
12
- return candidate;
13
- }
14
- function checkName(node, name) {
15
- if (name === null || name === void 0 ? void 0 : name.toLowerCase().endsWith("handler")) {
16
- const base = name.slice(0, -7);
17
- const stripped = base.length === 0 ? "" : base[0].toUpperCase() + base.slice(1);
18
- const suggestedBase = `handle${stripped}`;
19
- const sourceCode = context.sourceCode;
20
- const scope = sourceCode.getScope(node);
21
- const uniqueName = generateUniqueName(suggestedBase, scope);
22
- const variable = scope.set.get(name);
23
- context.report({
24
- data: {
25
- fnWithGoodName: uniqueName,
26
- },
27
- fix(fixer) {
28
- const fixes = [fixer.replaceText(node, uniqueName)];
29
- if (variable) {
30
- for (const ref of variable.references) {
31
- if (ref.identifier !== node) {
32
- fixes.push(fixer.replaceText(ref.identifier, uniqueName));
33
- }
34
- }
35
- }
36
- return fixes;
37
- },
38
- messageId: "badHandleName",
39
- node,
40
- });
41
- }
42
- }
43
- return {
44
- ArrowFunctionExpression(node) {
45
- const parent = node.parent;
46
- if ((parent === null || parent === void 0 ? void 0 : parent.type) === "VariableDeclarator" &&
47
- parent.id.type === "Identifier") {
48
- checkName(parent.id, parent.id.name);
49
- }
50
- },
51
- FunctionDeclaration(node) {
52
- var _a;
53
- if (node.id) {
54
- checkName(node.id, (_a = node.id) === null || _a === void 0 ? void 0 : _a.name);
55
- }
56
- },
57
- FunctionExpression(node) {
58
- const parent = node.parent;
59
- if (node.id) {
60
- checkName(node.id, node.id.name);
61
- }
62
- if ((parent === null || parent === void 0 ? void 0 : parent.type) === "VariableDeclarator" &&
63
- parent.id.type === "Identifier") {
64
- checkName(parent.id, parent.id.name);
65
- }
66
- },
67
- };
68
- },
69
- defaultOptions: [],
70
- meta: {
71
- docs: {
72
- description: "Suggests to use handleFn instead of fnHandler",
73
- },
74
- fixable: "code",
75
- messages: {
76
- badHandleName: "NIMA: You shouldn't use the handler suffix, use the handle prefix instead ({{ fnWithGoodName }})",
77
- },
78
- schema: [],
79
- type: "suggestion",
80
- },
81
- });
82
- //# sourceMappingURL=no-handler-suffix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-handler-suffix.js","sourceRoot":"","sources":["../../src/rules/no-handler-suffix.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { ESLintUtils } from "@typescript-eslint/utils";
2
- export declare const name = "no-objects-in-deps";
3
- export declare const rule: ESLintUtils.RuleModule<"noObjects", [], unknown, ESLintUtils.RuleListener>;
@@ -1,77 +0,0 @@
1
- import { ESLintUtils, TSESTree } from "@typescript-eslint/utils";
2
- import { HOOKS_WITH_DEPS } from "../constants/hooks.js";
3
- export const name = "no-objects-in-deps";
4
- export const rule = ESLintUtils.RuleCreator.withoutDocs({
5
- create: (context) => {
6
- function getCalleeName(node) {
7
- const callee = node.callee;
8
- if (callee.type === "Identifier") {
9
- return callee.name;
10
- }
11
- if (callee.type === "MemberExpression") {
12
- if (!callee.computed && callee.property.type === "Identifier") {
13
- return callee.property.name;
14
- }
15
- if (callee.computed && callee.property.type === "Literal") {
16
- return String(callee.property.value);
17
- }
18
- }
19
- return null;
20
- }
21
- const checkDep = (element, node) => {
22
- const invalidExpression = element.type === "ObjectExpression" ||
23
- element.type === "ArrayExpression" ||
24
- element.type === "NewExpression";
25
- if (invalidExpression) {
26
- context.report({
27
- messageId: "noObjects",
28
- node: element,
29
- });
30
- }
31
- else if (element.type === "Identifier") {
32
- const scope = context.sourceCode.getScope(node);
33
- const variable = scope.variables.find((v) => v.name === element.name);
34
- if (variable) {
35
- for (const def of variable.defs) {
36
- if (def.type === "Variable" && def.node.init) {
37
- context.report({
38
- data: {
39
- object: context.sourceCode.getText(element),
40
- },
41
- messageId: "noObjects",
42
- node: element,
43
- });
44
- }
45
- }
46
- }
47
- }
48
- };
49
- return {
50
- CallExpression(node) {
51
- const calleeName = getCalleeName(node);
52
- if (!calleeName || !HOOKS_WITH_DEPS.has(calleeName))
53
- return;
54
- const deps = node.arguments[1];
55
- if ((deps === null || deps === void 0 ? void 0 : deps.type) === "ArrayExpression") {
56
- for (const element of deps.elements) {
57
- if (!element)
58
- continue;
59
- checkDep(element, node);
60
- }
61
- }
62
- },
63
- };
64
- },
65
- defaultOptions: [],
66
- meta: {
67
- docs: {
68
- description: "Suggests to not use objects in dependency arrays",
69
- },
70
- messages: {
71
- noObjects: "NIMA: Objects inside of dependency arrays aren't allowed. Try doing JSON.stringify({{ object }}).",
72
- },
73
- schema: [],
74
- type: "suggestion",
75
- },
76
- });
77
- //# sourceMappingURL=no-objects-in-deps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"no-objects-in-deps.js","sourceRoot":"","sources":["../../src/rules/no-objects-in-deps.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import { ESLintUtils } from "@typescript-eslint/utils";
2
- export declare const name = "params-naming-convention";
3
- export declare const rule: ESLintUtils.RuleModule<"useObjectParams", [{
4
- allowedParameters: number;
5
- ignore: string[];
6
- ignoreFunctions: string[];
7
- ignorePrefixes: string[];
8
- }], unknown, ESLintUtils.RuleListener>;
@@ -1,92 +0,0 @@
1
- import { AST_NODE_TYPES, ESLintUtils, } from "@typescript-eslint/utils";
2
- import { getFunctionName } from "../utility/getFunctionName.js";
3
- export const name = "params-naming-convention";
4
- export const rule = ESLintUtils.RuleCreator.withoutDocs({
5
- create: (context, options) => {
6
- const ignore = options[0].ignore;
7
- const ignorePrefixes = options[0].ignorePrefixes;
8
- const allowedParameters = options[0].allowedParameters;
9
- const ignoreFunctions = options[0].ignoreFunctions;
10
- function checkParams(node) {
11
- if (node.params.length <= allowedParameters) {
12
- return;
13
- }
14
- const fnName = getFunctionName(node);
15
- if (fnName && (ignoreFunctions === null || ignoreFunctions === void 0 ? void 0 : ignoreFunctions.includes(fnName))) {
16
- return;
17
- }
18
- if (node.params.length > 1 &&
19
- node.params[1].type === AST_NODE_TYPES.Identifier &&
20
- node.params[1].name === "index") {
21
- return;
22
- }
23
- if (node.params[0] &&
24
- node.params[0].type === AST_NODE_TYPES.ObjectPattern)
25
- return;
26
- const paramNames = node.params
27
- .map((p) => {
28
- if (p.type === AST_NODE_TYPES.Identifier)
29
- return p.name;
30
- return null;
31
- })
32
- .filter((name) => !!name)
33
- .filter((name) => !ignore.includes(name) &&
34
- !(ignorePrefixes === null || ignorePrefixes === void 0 ? void 0 : ignorePrefixes.some((prefix) => name.startsWith(prefix))));
35
- if (paramNames.length > 0) {
36
- context.report({
37
- data: {
38
- count: paramNames.length.toString(),
39
- params: paramNames.join(", "),
40
- },
41
- messageId: "useObjectParams",
42
- node,
43
- });
44
- }
45
- }
46
- return {
47
- "FunctionDeclaration, FunctionExpression, ArrowFunctionExpression": checkParams,
48
- };
49
- },
50
- defaultOptions: [
51
- {
52
- allowedParameters: 1,
53
- ignore: ["e"],
54
- ignoreFunctions: ["reduce"],
55
- ignorePrefixes: ["$"],
56
- },
57
- ],
58
- meta: {
59
- docs: {
60
- description: "Enforce using a single object parameter for all functions",
61
- },
62
- messages: {
63
- useObjectParams: "NIMA: Function has {{count}} parameter(s). Use a single object parameter instead: {{params}}",
64
- },
65
- schema: [
66
- {
67
- additionalProperties: false,
68
- properties: {
69
- allowedParameters: {
70
- default: 1,
71
- type: "number",
72
- },
73
- ignore: {
74
- items: { type: "string" },
75
- type: "array",
76
- },
77
- ignoreFunctions: {
78
- items: { type: "string" },
79
- type: "array",
80
- },
81
- ignorePrefixes: {
82
- items: { type: "string" },
83
- type: "array",
84
- },
85
- },
86
- type: "object",
87
- },
88
- ],
89
- type: "problem",
90
- },
91
- });
92
- //# sourceMappingURL=params-naming-convention.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"params-naming-convention.js","sourceRoot":"","sources":["../../src/rules/params-naming-convention.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { ESLintUtils } from "@typescript-eslint/utils";
2
- export declare const name = "prefer-arrow-functions";
3
- export declare const rule: ESLintUtils.RuleModule<"preferArrowFunction" | "preferArrowFunctionExpression" | "preferArrowMethod", [{
4
- allowAsync: boolean;
5
- allowConstructors: boolean;
6
- allowFunctionDeclarations: boolean;
7
- allowFunctionExpressions: boolean;
8
- allowGenerators: boolean;
9
- allowMethodDefinitions: boolean;
10
- }], unknown, ESLintUtils.RuleListener>;
@@ -1,205 +0,0 @@
1
- import { AST_NODE_TYPES, ESLintUtils, TSESTree, } from "@typescript-eslint/utils";
2
- export const name = "prefer-arrow-functions";
3
- export const rule = ESLintUtils.RuleCreator.withoutDocs({
4
- create: (context, options) => {
5
- const allowConstructors = options[0].allowConstructors;
6
- const allowAsync = options[0].allowAsync;
7
- const allowFunctionDeclarations = options[0].allowFunctionDeclarations;
8
- const allowFunctionExpressions = options[0].allowFunctionExpressions;
9
- const allowGenerators = options[0].allowGenerators;
10
- const allowMethodDefinitions = options[0].allowMethodDefinitions;
11
- const shouldSkipFunction = (node) => {
12
- var _a;
13
- if (allowConstructors &&
14
- ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === AST_NODE_TYPES.MethodDefinition &&
15
- node.parent.kind === "constructor") {
16
- return true;
17
- }
18
- if (allowGenerators && "generator" in node && node.generator) {
19
- return true;
20
- }
21
- if (!allowAsync && "async" in node && node.async) {
22
- return false;
23
- }
24
- if (node.type === AST_NODE_TYPES.TSEmptyBodyFunctionExpression) {
25
- return true;
26
- }
27
- return false;
28
- };
29
- const generateArrowFunction = (node) => {
30
- const sourceCode = context.getSourceCode();
31
- const asyncKeyword = node.async ? "async " : "";
32
- const params = node.params.length === 0
33
- ? "()"
34
- : node.params.length === 1 &&
35
- node.params[0].type === AST_NODE_TYPES.Identifier &&
36
- !node.params[0].typeAnnotation
37
- ? sourceCode.getText(node.params[0])
38
- : `(${node.params.map((p) => sourceCode.getText(p)).join(", ")})`;
39
- const returnType = node.returnType
40
- ? `: ${sourceCode.getText(node.returnType.typeAnnotation)}`
41
- : "";
42
- const body = node.body ? sourceCode.getText(node.body) : "";
43
- return `${asyncKeyword}${params}${returnType} => ${body}`;
44
- };
45
- return {
46
- FunctionDeclaration: (node) => {
47
- if (allowFunctionDeclarations || shouldSkipFunction(node)) {
48
- return;
49
- }
50
- context.report({
51
- fix: (fixer) => {
52
- var _a, _b;
53
- if (!node.id)
54
- return null;
55
- const functionName = node.id.name;
56
- const arrowFunction = generateArrowFunction(node);
57
- let replacement;
58
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === AST_NODE_TYPES.ExportDefaultDeclaration) {
59
- const constDeclaration = `const ${functionName} = ${arrowFunction}`;
60
- const exportDeclaration = `export default ${functionName}`;
61
- replacement = `${constDeclaration};\n${exportDeclaration}`;
62
- return fixer.replaceText(node.parent, replacement);
63
- }
64
- else if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.type) === AST_NODE_TYPES.ExportNamedDeclaration) {
65
- replacement = `export const ${functionName} = ${arrowFunction}`;
66
- return fixer.replaceText(node.parent, replacement);
67
- }
68
- else {
69
- replacement = `const ${functionName} = ${arrowFunction}`;
70
- return fixer.replaceText(node, replacement);
71
- }
72
- },
73
- messageId: "preferArrowFunction",
74
- node: node.id || node,
75
- });
76
- },
77
- FunctionExpression: (node) => {
78
- var _a, _b;
79
- if (allowFunctionExpressions || shouldSkipFunction(node)) {
80
- return;
81
- }
82
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === AST_NODE_TYPES.MethodDefinition ||
83
- ((_b = node.parent) === null || _b === void 0 ? void 0 : _b.type) === AST_NODE_TYPES.Property) {
84
- if (!allowMethodDefinitions) {
85
- return;
86
- }
87
- return;
88
- }
89
- context.report({
90
- fix: (fixer) => {
91
- const arrowFunction = generateArrowFunction(node);
92
- return fixer.replaceText(node, arrowFunction);
93
- },
94
- messageId: "preferArrowFunctionExpression",
95
- node,
96
- });
97
- },
98
- MethodDefinition: (node) => {
99
- if (allowMethodDefinitions ||
100
- node.kind === "constructor" ||
101
- node.kind === "get" ||
102
- node.kind === "set") {
103
- return;
104
- }
105
- if (node.value.type === AST_NODE_TYPES.FunctionExpression &&
106
- !shouldSkipFunction(node.value)) {
107
- context.report({
108
- fix: (fixer) => {
109
- const sourceCode = context.getSourceCode();
110
- const key = sourceCode.getText(node.key);
111
- const arrowFunction = generateArrowFunction(node.value);
112
- const static_ = node.static ? "static " : "";
113
- const replacement = `${static_}${key} = ${arrowFunction}`;
114
- return fixer.replaceText(node, replacement);
115
- },
116
- messageId: "preferArrowMethod",
117
- node: node.key,
118
- });
119
- }
120
- },
121
- Property: (node) => {
122
- if (allowMethodDefinitions) {
123
- return;
124
- }
125
- if (node.method &&
126
- node.value.type === AST_NODE_TYPES.FunctionExpression &&
127
- !shouldSkipFunction(node.value)) {
128
- const fn = node.value;
129
- context.report({
130
- fix: (fixer) => {
131
- const sourceCode = context.getSourceCode();
132
- const key = sourceCode.getText(node.key);
133
- const arrowFunction = generateArrowFunction(fn);
134
- const replacement = `${key}: ${arrowFunction}`;
135
- return fixer.replaceText(node, replacement);
136
- },
137
- messageId: "preferArrowMethod",
138
- node: node.key,
139
- });
140
- }
141
- },
142
- };
143
- },
144
- defaultOptions: [
145
- {
146
- allowAsync: true,
147
- allowConstructors: true,
148
- allowFunctionDeclarations: false,
149
- allowFunctionExpressions: false,
150
- allowGenerators: true,
151
- allowMethodDefinitions: false,
152
- },
153
- ],
154
- meta: {
155
- docs: {
156
- description: "Prefer arrow functions over function declarations and expressions",
157
- },
158
- fixable: "code",
159
- messages: {
160
- preferArrowFunction: "NIMA: Prefer arrow functions over function declarations.",
161
- preferArrowFunctionExpression: "NIMA: Prefer arrow functions over function expressions.",
162
- preferArrowMethod: "NIMA: Prefer arrow functions over method definitions.",
163
- },
164
- schema: [
165
- {
166
- additionalProperties: false,
167
- properties: {
168
- allowAsync: {
169
- default: true,
170
- description: "Allow async functions (they can still be arrow functions)",
171
- type: "boolean",
172
- },
173
- allowConstructors: {
174
- default: true,
175
- description: "Allow constructor functions",
176
- type: "boolean",
177
- },
178
- allowFunctionDeclarations: {
179
- default: false,
180
- description: "Allow function declarations (function name() {})",
181
- type: "boolean",
182
- },
183
- allowFunctionExpressions: {
184
- default: false,
185
- description: "Allow function expressions (const name = function() {})",
186
- type: "boolean",
187
- },
188
- allowGenerators: {
189
- default: true,
190
- description: "Allow generator functions",
191
- type: "boolean",
192
- },
193
- allowMethodDefinitions: {
194
- default: false,
195
- description: "Allow method definitions in classes and objects",
196
- type: "boolean",
197
- },
198
- },
199
- type: "object",
200
- },
201
- ],
202
- type: "suggestion",
203
- },
204
- });
205
- //# sourceMappingURL=prefer-arrow-functions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefer-arrow-functions.js","sourceRoot":"","sources":["../../src/rules/prefer-arrow-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,EACX,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAElC,MAAM,CAAC,MAAM,IAAI,GAAG,wBAAwB,CAAC;AAE7C,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC;IACtD,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE;QAC3B,MAAM,iBAAiB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACvD,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACzC,MAAM,yBAAyB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC;QACvE,MAAM,wBAAwB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;QACrE,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;QACnD,MAAM,sBAAsB,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;QAEjE,MAAM,kBAAkB,GAAG,CAAC,IAA2B,EAAE,EAAE;;YACzD,IACE,iBAAiB;gBACjB,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,cAAc,CAAC,gBAAgB;gBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,aAAa,EAClC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,eAAe,IAAI,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACjD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,6BAA6B,EAAE,CAAC;gBAC/D,OAAO,IAAI,CAAC;YACd,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,MAAM,qBAAqB,GAAG,CAC5B,IAG0C,EAC1C,EAAE;YACF,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACtB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;oBACjD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,cAAc;oBAChC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;oBACpC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YACtE,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU;gBAChC,CAAC,CAAC,KAAK,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;gBAC3D,CAAC,CAAC,EAAE,CAAC;YAEP,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5D,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,UAAU,OAAO,IAAI,EAAE,CAAC;QAC5D,CAAC,CAAC;QACF,OAAO;YACL,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC5B,IAAI,yBAAyB,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1D,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC;oBACb,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;;wBACb,IAAI,CAAC,IAAI,CAAC,EAAE;4BAAE,OAAO,IAAI,CAAC;wBAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;wBAClC,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBAClD,IAAI,WAAW,CAAC;wBAChB,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,cAAc,CAAC,wBAAwB,EAAE,CAAC;4BAClE,MAAM,gBAAgB,GAAG,SAAS,YAAY,MAAM,aAAa,EAAE,CAAC;4BACpE,MAAM,iBAAiB,GAAG,kBAAkB,YAAY,EAAE,CAAC;4BAC3D,WAAW,GAAG,GAAG,gBAAgB,MAAM,iBAAiB,EAAE,CAAC;4BAC3D,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBACrD,CAAC;6BAAM,IACL,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,cAAc,CAAC,sBAAsB,EAC3D,CAAC;4BACD,WAAW,GAAG,gBAAgB,YAAY,MAAM,aAAa,EAAE,CAAC;4BAChE,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;wBACrD,CAAC;6BAAM,CAAC;4BACN,WAAW,GAAG,SAAS,YAAY,MAAM,aAAa,EAAE,CAAC;4BACzD,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC;oBACD,SAAS,EAAE,qBAAqB;oBAChC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;;gBAC3B,IAAI,wBAAwB,IAAI,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzD,OAAO;gBACT,CAAC;gBACD,IACE,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,cAAc,CAAC,gBAAgB;oBACrD,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,cAAc,CAAC,QAAQ,EAC7C,CAAC;oBACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;wBAC5B,OAAO;oBACT,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,MAAM,CAAC;oBACb,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;wBACb,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBAClD,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;oBAChD,CAAC;oBACD,SAAS,EAAE,+BAA+B;oBAC1C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;YACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IACE,sBAAsB;oBACtB,IAAI,CAAC,IAAI,KAAK,aAAa;oBAC3B,IAAI,CAAC,IAAI,KAAK,KAAK;oBACnB,IAAI,CAAC,IAAI,KAAK,KAAK,EACnB,CAAC;oBACD,OAAO;gBACT,CAAC;gBACD,IACE,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,kBAAkB;oBACrD,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAC/B,CAAC;oBACD,OAAO,CAAC,MAAM,CAAC;wBACb,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;4BACb,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;4BAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACzC,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACxD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;4BAC7C,MAAM,WAAW,GAAG,GAAG,OAAO,GAAG,GAAG,MAAM,aAAa,EAAE,CAAC;4BAC1D,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAC9C,CAAC;wBACD,SAAS,EAAE,mBAAmB;wBAC9B,IAAI,EAAE,IAAI,CAAC,GAAG;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjB,IAAI,sBAAsB,EAAE,CAAC;oBAC3B,OAAO;gBACT,CAAC;gBACD,IACE,IAAI,CAAC,MAAM;oBACX,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,kBAAkB;oBACrD,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAC/B,CAAC;oBACD,MAAM,EAAE,GAAG,IAAI,CAAC,KAE0B,CAAC;oBAE3C,OAAO,CAAC,MAAM,CAAC;wBACb,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;4BACb,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;4BAC3C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;4BACzC,MAAM,aAAa,GAAG,qBAAqB,CAAC,EAAE,CAAC,CAAC;4BAChD,MAAM,WAAW,GAAG,GAAG,GAAG,KAAK,aAAa,EAAE,CAAC;4BAC/C,OAAO,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAC9C,CAAC;wBACD,SAAS,EAAE,mBAAmB;wBAC9B,IAAI,EAAE,IAAI,CAAC,GAAG;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,cAAc,EAAE;QACd;YACE,UAAU,EAAE,IAAI;YAChB,iBAAiB,EAAE,IAAI;YACvB,yBAAyB,EAAE,KAAK;YAChC,wBAAwB,EAAE,KAAK;YAC/B,eAAe,EAAE,IAAI;YACrB,sBAAsB,EAAE,KAAK;SAC9B;KACF;IAED,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EACT,mEAAmE;SACtE;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,mBAAmB,EACjB,0DAA0D;YAC5D,6BAA6B,EAC3B,yDAAyD;YAC3D,iBAAiB,EACf,uDAAuD;SAC1D;QACD,MAAM,EAAE;YACN;gBACE,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,UAAU,EAAE;wBACV,OAAO,EAAE,IAAI;wBACb,WAAW,EACT,2DAA2D;wBAC7D,IAAI,EAAE,SAAS;qBAChB;oBACD,iBAAiB,EAAE;wBACjB,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE,6BAA6B;wBAC1C,IAAI,EAAE,SAAS;qBAChB;oBACD,yBAAyB,EAAE;wBACzB,OAAO,EAAE,KAAK;wBACd,WAAW,EAAE,kDAAkD;wBAC/D,IAAI,EAAE,SAAS;qBAChB;oBACD,wBAAwB,EAAE;wBACxB,OAAO,EAAE,KAAK;wBACd,WAAW,EACT,yDAAyD;wBAC3D,IAAI,EAAE,SAAS;qBAChB;oBACD,eAAe,EAAE;wBACf,OAAO,EAAE,IAAI;wBACb,WAAW,EAAE,2BAA2B;wBACxC,IAAI,EAAE,SAAS;qBAChB;oBACD,sBAAsB,EAAE;wBACtB,OAAO,EAAE,KAAK;wBACd,WAAW,EAAE,iDAAiD;wBAC9D,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,YAAY;KACnB;CACF,CAAC,CAAC"}
@@ -1,6 +0,0 @@
1
- import { ESLintUtils } from "@typescript-eslint/utils";
2
- export declare const name = "prefer-react-fc";
3
- export declare const rule: ESLintUtils.RuleModule<"addReactImport" | "requireReactFC", [{
4
- allowArrowFunctions: boolean;
5
- allowFunctionDeclarations: boolean;
6
- }], unknown, ESLintUtils.RuleListener>;