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,206 +0,0 @@
1
- import { AST_NODE_TYPES, ESLintUtils, TSESTree, } from "@typescript-eslint/utils";
2
- export const name = "prefer-react-fc";
3
- export const rule = ESLintUtils.RuleCreator.withoutDocs({
4
- create(context, options) {
5
- const allowArrowFunctions = options[0].allowArrowFunctions;
6
- const allowFunctionDeclarations = options[0].allowFunctionDeclarations;
7
- function isReactComponent(node) {
8
- var _a, _b;
9
- let functionName = "";
10
- if (node.type === AST_NODE_TYPES.FunctionDeclaration && node.id) {
11
- functionName = node.id.name;
12
- }
13
- else if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === AST_NODE_TYPES.VariableDeclarator &&
14
- node.parent.id.type === AST_NODE_TYPES.Identifier) {
15
- functionName = node.parent.id.name;
16
- }
17
- else if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.type) === AST_NODE_TYPES.Property &&
18
- node.parent.key.type === AST_NODE_TYPES.Identifier) {
19
- functionName = node.parent.key.name;
20
- }
21
- if (!functionName || !/^[A-Z]/.test(functionName)) {
22
- return false;
23
- }
24
- return hasJSXReturn(node);
25
- }
26
- function hasJSXReturn(node) {
27
- if (!node.body)
28
- return false;
29
- if (node.body.type === AST_NODE_TYPES.BlockStatement) {
30
- return checkBlockForJSX(node.body);
31
- }
32
- else {
33
- return isJSXExpression(node.body);
34
- }
35
- }
36
- function checkBlockForJSX(block) {
37
- var _a;
38
- for (const statement of block.body) {
39
- if (statement.type === AST_NODE_TYPES.ReturnStatement &&
40
- statement.argument) {
41
- if (isJSXExpression(statement.argument)) {
42
- return true;
43
- }
44
- }
45
- if (statement.type === AST_NODE_TYPES.IfStatement) {
46
- if (statement.consequent.type === AST_NODE_TYPES.BlockStatement &&
47
- checkBlockForJSX(statement.consequent)) {
48
- return true;
49
- }
50
- if (((_a = statement.alternate) === null || _a === void 0 ? void 0 : _a.type) === AST_NODE_TYPES.BlockStatement &&
51
- checkBlockForJSX(statement.alternate)) {
52
- return true;
53
- }
54
- }
55
- }
56
- return false;
57
- }
58
- function isJSXExpression(node) {
59
- return (node.type === AST_NODE_TYPES.JSXElement ||
60
- node.type === AST_NODE_TYPES.JSXFragment ||
61
- (node.type === AST_NODE_TYPES.ConditionalExpression &&
62
- (isJSXExpression(node.consequent) ||
63
- isJSXExpression(node.alternate))) ||
64
- (node.type === AST_NODE_TYPES.LogicalExpression &&
65
- isJSXExpression(node.right)));
66
- }
67
- function hasReactFCAnnotation(node) {
68
- var _a;
69
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === AST_NODE_TYPES.VariableDeclarator &&
70
- node.parent.id.type === AST_NODE_TYPES.Identifier &&
71
- node.parent.id.typeAnnotation) {
72
- const typeAnnotation = node.parent.id.typeAnnotation.typeAnnotation;
73
- return containsReactFCType(typeAnnotation);
74
- }
75
- if (node.type === AST_NODE_TYPES.FunctionDeclaration && node.returnType) {
76
- return containsReactFCType(node.returnType.typeAnnotation);
77
- }
78
- return false;
79
- }
80
- function hasCustomComponentTypeAnnotation(node) {
81
- var _a;
82
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === AST_NODE_TYPES.VariableDeclarator &&
83
- node.parent.id.type === AST_NODE_TYPES.Identifier &&
84
- node.parent.id.typeAnnotation) {
85
- const typeAnnotation = node.parent.id.typeAnnotation.typeAnnotation;
86
- return hasCustomComponentType(typeAnnotation);
87
- }
88
- if (node.type === AST_NODE_TYPES.FunctionDeclaration && node.returnType) {
89
- return hasCustomComponentType(node.returnType.typeAnnotation);
90
- }
91
- return false;
92
- }
93
- function hasCustomComponentType(typeNode) {
94
- if (typeNode.type === AST_NODE_TYPES.TSIntersectionType) {
95
- return typeNode.types.some((type) => isCustomComponentType(type));
96
- }
97
- if (typeNode.type === AST_NODE_TYPES.TSUnionType) {
98
- return typeNode.types.some((type) => isCustomComponentType(type));
99
- }
100
- return isCustomComponentType(typeNode);
101
- }
102
- function isCustomComponentType(typeNode) {
103
- if (typeNode.type === AST_NODE_TYPES.TSTypeReference) {
104
- const typeName = typeNode.typeName;
105
- if (typeName.type === AST_NODE_TYPES.TSQualifiedName) {
106
- return true;
107
- }
108
- if (typeName.type === AST_NODE_TYPES.Identifier) {
109
- const name = typeName.name;
110
- if (name === "FC" || name === "FunctionComponent") {
111
- return false;
112
- }
113
- return name.endsWith("Component");
114
- }
115
- }
116
- return false;
117
- }
118
- function containsReactFCType(typeNode) {
119
- if (typeNode.type === AST_NODE_TYPES.TSIntersectionType) {
120
- return typeNode.types.some((type) => isReactFCType(type));
121
- }
122
- if (typeNode.type === AST_NODE_TYPES.TSUnionType) {
123
- return typeNode.types.some((type) => isReactFCType(type));
124
- }
125
- return isReactFCType(typeNode);
126
- }
127
- function isReactFCType(typeNode) {
128
- if (typeNode.type === AST_NODE_TYPES.TSTypeReference &&
129
- typeNode.typeName.type === AST_NODE_TYPES.TSQualifiedName &&
130
- typeNode.typeName.left.type === AST_NODE_TYPES.Identifier &&
131
- typeNode.typeName.left.name === "React" &&
132
- typeNode.typeName.right.type === AST_NODE_TYPES.Identifier &&
133
- (typeNode.typeName.right.name === "FC" ||
134
- typeNode.typeName.right.name === "FunctionComponent")) {
135
- return true;
136
- }
137
- if (typeNode.type === AST_NODE_TYPES.TSTypeReference &&
138
- typeNode.typeName.type === AST_NODE_TYPES.Identifier &&
139
- (typeNode.typeName.name === "FC" ||
140
- typeNode.typeName.name === "FunctionComponent")) {
141
- return true;
142
- }
143
- return false;
144
- }
145
- return {
146
- ArrowFunctionExpression(node) {
147
- if (typeof options !== "string" && !allowArrowFunctions)
148
- return;
149
- if (isReactComponent(node) &&
150
- !hasReactFCAnnotation(node) &&
151
- !hasCustomComponentTypeAnnotation(node)) {
152
- context.report({
153
- messageId: "requireReactFC",
154
- node,
155
- });
156
- }
157
- },
158
- FunctionDeclaration(node) {
159
- if (typeof options !== "string" && !allowFunctionDeclarations)
160
- return;
161
- if (isReactComponent(node) &&
162
- !hasReactFCAnnotation(node) &&
163
- !hasCustomComponentTypeAnnotation(node)) {
164
- context.report({
165
- messageId: "requireReactFC",
166
- node: node.id || node,
167
- });
168
- }
169
- },
170
- };
171
- },
172
- defaultOptions: [
173
- {
174
- allowArrowFunctions: true,
175
- allowFunctionDeclarations: true,
176
- },
177
- ],
178
- meta: {
179
- docs: {
180
- description: "Enforce React.FC type annotation for React component functions",
181
- },
182
- fixable: "code",
183
- messages: {
184
- addReactImport: "NIMA: React must be imported to use React.FC.",
185
- requireReactFC: "NIMA: Component functions must use React.FC type annotation.",
186
- },
187
- schema: [
188
- {
189
- additionalProperties: false,
190
- properties: {
191
- allowArrowFunctions: {
192
- default: true,
193
- type: "boolean",
194
- },
195
- allowFunctionDeclarations: {
196
- default: true,
197
- type: "boolean",
198
- },
199
- },
200
- type: "object",
201
- },
202
- ],
203
- type: "problem",
204
- },
205
- });
206
- //# sourceMappingURL=prefer-react-fc.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefer-react-fc.js","sourceRoot":"","sources":["../../src/rules/prefer-react-fc.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { ESLintUtils } from "@typescript-eslint/utils";
2
- export declare const name = "prefer-react-with-hooks";
3
- export declare const rule: ESLintUtils.RuleModule<"preferReact" | "preferReactPrefix", [{
4
- autoFix: boolean;
5
- }], unknown, ESLintUtils.RuleListener>;
@@ -1,145 +0,0 @@
1
- import { AST_NODE_TYPES, ESLintUtils, } from "@typescript-eslint/utils";
2
- import { REACT_HOOKS } from "../constants/hooks.js";
3
- export const name = "prefer-react-with-hooks";
4
- export const rule = ESLintUtils.RuleCreator.withoutDocs({
5
- create: (context) => {
6
- let hasReactImport = false;
7
- let reactImportNode = null;
8
- return {
9
- CallExpression: (node) => {
10
- if (node.callee.type === AST_NODE_TYPES.Identifier &&
11
- REACT_HOOKS.has(node.callee.name)) {
12
- const hookName = node.callee.name;
13
- context.report({
14
- data: { hook: hookName },
15
- fix: (fixer) => {
16
- const fixes = [fixer.insertTextBefore(node.callee, "React.")];
17
- if (!hasReactImport && !reactImportNode) {
18
- const sourceCode = context.getSourceCode();
19
- const program = sourceCode.ast;
20
- if (program.body.length > 0) {
21
- fixes.push(fixer.insertTextBefore(program.body[0], 'import React from "react";\n'));
22
- }
23
- else {
24
- fixes.push(fixer.insertTextAfter(program, 'import React from "react";\n'));
25
- }
26
- }
27
- else if (reactImportNode && !hasReactImport) {
28
- const sourceCode = context.getSourceCode();
29
- const importText = sourceCode.getText(reactImportNode);
30
- if (importText.includes("{") &&
31
- !importText.match(/^import\s+\w+\s*,/)) {
32
- fixes.push(fixer.replaceText(reactImportNode, importText.replace(/^import\s*{/, "import React, {")));
33
- }
34
- }
35
- return fixes;
36
- },
37
- messageId: "preferReactPrefix",
38
- node: node.callee,
39
- });
40
- }
41
- },
42
- ImportDeclaration: (node) => {
43
- if (node.source.value === "react") {
44
- reactImportNode = node;
45
- hasReactImport = node.specifiers.some((spec) => spec.type === AST_NODE_TYPES.ImportDefaultSpecifier ||
46
- (spec.type === AST_NODE_TYPES.ImportNamespaceSpecifier &&
47
- spec.local.name === "React"));
48
- const useImports = node.specifiers.filter((s) => s.type === AST_NODE_TYPES.ImportSpecifier &&
49
- s.imported.type === AST_NODE_TYPES.Identifier &&
50
- REACT_HOOKS.has(s.imported.name));
51
- if (useImports.length > 0) {
52
- const firstHookImport = useImports[0];
53
- const hookNames = useImports
54
- .map((spec) => spec.imported.type === AST_NODE_TYPES.Identifier
55
- ? spec.imported.name
56
- : "")
57
- .filter(Boolean);
58
- context.report({
59
- data: {
60
- hook: hookNames.length === 1
61
- ? hookNames[0]
62
- : `${hookNames
63
- .slice(0, -1)
64
- .join(", ")} and ${hookNames.slice(-1)}`,
65
- },
66
- fix: (fixer) => {
67
- const sourceCode = context.getSourceCode();
68
- const fixes = [];
69
- const remainingSpecifiers = node.specifiers.filter((spec) => !(spec.type === AST_NODE_TYPES.ImportSpecifier &&
70
- spec.imported.type === AST_NODE_TYPES.Identifier &&
71
- REACT_HOOKS.has(spec.imported.name)));
72
- if (remainingSpecifiers.length === 0 && !hasReactImport) {
73
- fixes.push(fixer.replaceText(node, 'import React from "react";'));
74
- }
75
- else if (remainingSpecifiers.length > 0 && !hasReactImport) {
76
- const nonDefaultSpecifiers = remainingSpecifiers.filter((spec) => spec.type !== AST_NODE_TYPES.ImportDefaultSpecifier);
77
- if (nonDefaultSpecifiers.length > 0) {
78
- const specifierTexts = nonDefaultSpecifiers
79
- .map((spec) => sourceCode.getText(spec))
80
- .join(", ");
81
- fixes.push(fixer.replaceText(node, `import React, { ${specifierTexts} } from "react";`));
82
- }
83
- else {
84
- fixes.push(fixer.replaceText(node, 'import React from "react";'));
85
- }
86
- }
87
- else if (hasReactImport) {
88
- const hasDefaultReact = remainingSpecifiers.some((spec) => spec.type === AST_NODE_TYPES.ImportDefaultSpecifier);
89
- const namedSpecifiers = remainingSpecifiers.filter((spec) => spec.type === AST_NODE_TYPES.ImportSpecifier);
90
- if (hasDefaultReact && namedSpecifiers.length > 0) {
91
- const specifierTexts = namedSpecifiers
92
- .map((spec) => sourceCode.getText(spec))
93
- .join(", ");
94
- fixes.push(fixer.replaceText(node, `import React, { ${specifierTexts} } from "react";`));
95
- }
96
- else if (hasDefaultReact && namedSpecifiers.length === 0) {
97
- fixes.push(fixer.replaceText(node, 'import React from "react";'));
98
- }
99
- else if (!hasDefaultReact && namedSpecifiers.length > 0) {
100
- const specifierTexts = namedSpecifiers
101
- .map((spec) => sourceCode.getText(spec))
102
- .join(", ");
103
- fixes.push(fixer.replaceText(node, `import { ${specifierTexts} } from "react";`));
104
- }
105
- }
106
- return fixes;
107
- },
108
- messageId: "preferReact",
109
- node: firstHookImport,
110
- });
111
- }
112
- }
113
- },
114
- };
115
- },
116
- defaultOptions: [
117
- {
118
- autoFix: false,
119
- },
120
- ],
121
- meta: {
122
- docs: {
123
- description: "Enforce React.use* over named use* imports",
124
- },
125
- fixable: "code",
126
- messages: {
127
- preferReact: "NIMA: Use React.{{hook}} instead of importing {{hook}} directly.",
128
- preferReactPrefix: "NIMA: Prefix {{hook}} with React.",
129
- },
130
- schema: [
131
- {
132
- additionalProperties: false,
133
- properties: {
134
- autoFix: {
135
- default: true,
136
- type: "boolean",
137
- },
138
- },
139
- type: "object",
140
- },
141
- ],
142
- type: "problem",
143
- },
144
- });
145
- //# sourceMappingURL=prefer-react-with-hooks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefer-react-with-hooks.js","sourceRoot":"","sources":["../../src/rules/prefer-react-with-hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAEZ,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,CAAC,MAAM,IAAI,GAAG,yBAAyB,CAAC;AAE9C,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAC;IACtD,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE;QAClB,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,IAAI,eAAe,GAAsC,IAAI,CAAC;QAE9D,OAAO;YACL,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACvB,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;oBAC9C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EACjC,CAAC;oBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;oBAClC,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACxB,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;4BACb,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;4BAE9D,IAAI,CAAC,cAAc,IAAI,CAAC,eAAe,EAAE,CAAC;gCACxC,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;gCAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC;gCAE/B,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCAC5B,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,gBAAgB,CACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EACf,8BAA8B,CAC/B,CACF,CAAC;gCACJ,CAAC;qCAAM,CAAC;oCACN,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,eAAe,CACnB,OAAO,EACP,8BAA8B,CAC/B,CACF,CAAC;gCACJ,CAAC;4BACH,CAAC;iCAAM,IAAI,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;gCAC9C,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;gCAC3C,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;gCAEvD,IACE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC;oCACxB,CAAC,UAAU,CAAC,KAAK,CAAC,mBAAmB,CAAC,EACtC,CAAC;oCACD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CACf,eAAe,EACf,UAAU,CAAC,OAAO,CAAC,aAAa,EAAE,iBAAiB,CAAC,CACrD,CACF,CAAC;gCACJ,CAAC;4BACH,CAAC;4BAED,OAAO,KAAK,CAAC;wBACf,CAAC;wBACD,SAAS,EAAE,mBAAmB;wBAC9B,IAAI,EAAE,IAAI,CAAC,MAAM;qBAClB,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YAED,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;oBAClC,eAAe,GAAG,IAAI,CAAC;oBAEvB,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CACnC,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB;wBACnD,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,wBAAwB;4BACpD,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CACjC,CAAC;oBAEF,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACvC,CAAC,CAAC,EAAiC,EAAE,CACnC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;wBACzC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;wBAC7C,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CACnC,CAAC;oBAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC1B,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;wBACtC,MAAM,SAAS,GAAG,UAAU;6BACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CACZ,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;4BAC9C,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI;4BACpB,CAAC,CAAC,EAAE,CACP;6BACA,MAAM,CAAC,OAAO,CAAC,CAAC;wBAEnB,OAAO,CAAC,MAAM,CAAC;4BACb,IAAI,EAAE;gCACJ,IAAI,EACF,SAAS,CAAC,MAAM,KAAK,CAAC;oCACpB,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;oCACd,CAAC,CAAC,GAAG,SAAS;yCACT,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;yCACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;6BACjD;4BACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;gCACb,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;gCAC3C,MAAM,KAAK,GAAG,EAAE,CAAC;gCAEjB,MAAM,mBAAmB,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAChD,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,CACC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe;oCAC5C,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;oCAChD,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CACpC,CACJ,CAAC;gCAEF,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oCACxD,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,4BAA4B,CAAC,CACtD,CAAC;gCACJ,CAAC;qCAAM,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oCAC7D,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,MAAM,CACrD,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,CACtD,CAAC;oCAEF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wCACpC,MAAM,cAAc,GAAG,oBAAoB;6CACxC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;6CACvC,IAAI,CAAC,IAAI,CAAC,CAAC;wCACd,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CACf,IAAI,EACJ,mBAAmB,cAAc,kBAAkB,CACpD,CACF,CAAC;oCACJ,CAAC;yCAAM,CAAC;wCACN,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,4BAA4B,CAAC,CACtD,CAAC;oCACJ,CAAC;gCACH,CAAC;qCAAM,IAAI,cAAc,EAAE,CAAC;oCAC1B,MAAM,eAAe,GAAG,mBAAmB,CAAC,IAAI,CAC9C,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,sBAAsB,CACtD,CAAC;oCAEF,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,CAChD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,CACvD,CAAC;oCAEF,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wCAClD,MAAM,cAAc,GAAG,eAAe;6CACnC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;6CACvC,IAAI,CAAC,IAAI,CAAC,CAAC;wCACd,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CACf,IAAI,EACJ,mBAAmB,cAAc,kBAAkB,CACpD,CACF,CAAC;oCACJ,CAAC;yCAAM,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wCAC3D,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,4BAA4B,CAAC,CACtD,CAAC;oCACJ,CAAC;yCAAM,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wCAC1D,MAAM,cAAc,GAAG,eAAe;6CACnC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;6CACvC,IAAI,CAAC,IAAI,CAAC,CAAC;wCACd,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,WAAW,CACf,IAAI,EACJ,YAAY,cAAc,kBAAkB,CAC7C,CACF,CAAC;oCACJ,CAAC;gCACH,CAAC;gCAED,OAAO,KAAK,CAAC;4BACf,CAAC;4BACD,SAAS,EAAE,aAAa;4BACxB,IAAI,EAAE,eAAe;yBACtB,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,cAAc,EAAE;QACd;YACE,OAAO,EAAE,KAAK;SACf;KACF;IAED,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,4CAA4C;SAC1D;QACD,OAAO,EAAE,MAAM;QACf,QAAQ,EAAE;YACR,WAAW,EACT,kEAAkE;YACpE,iBAAiB,EAAE,mCAAmC;SACvD;QACD,MAAM,EAAE;YACN;gBACE,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,OAAO,EAAE;wBACP,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,SAAS;KAChB;CACF,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import { ESLintUtils } from "@typescript-eslint/utils";
2
- type Options = {
3
- noConsoleError?: boolean;
4
- noConsoleLog?: boolean;
5
- noConsoleWarn?: boolean;
6
- };
7
- export declare const name = "restrict-console-methods";
8
- export declare const rule: ESLintUtils.RuleModule<"noConsole", Options[], unknown, ESLintUtils.RuleListener>;
9
- export {};
@@ -1,68 +0,0 @@
1
- import { ESLintUtils } from "@typescript-eslint/utils";
2
- export const name = "restrict-console-methods";
3
- export const rule = ESLintUtils.RuleCreator.withoutDocs({
4
- create(context, options) {
5
- const noConsoleError = options[0].noConsoleError;
6
- const noConsoleLog = options[0].noConsoleLog;
7
- const noConsoleWarn = options[0].noConsoleWarn;
8
- return {
9
- CallExpression(node) {
10
- if (node.callee.type === "MemberExpression" &&
11
- node.callee.object.type === "Identifier" &&
12
- node.callee.object.name === "console" &&
13
- node.callee.property.type === "Identifier") {
14
- const methodName = node.callee.property.name;
15
- if ((methodName === "error" && !noConsoleError) ||
16
- (methodName === "log" && !noConsoleLog) ||
17
- (methodName === "warn" && !noConsoleWarn)) {
18
- return;
19
- }
20
- context.report({
21
- data: {
22
- console: node.callee.property.name,
23
- },
24
- messageId: "noConsole",
25
- node,
26
- });
27
- }
28
- },
29
- };
30
- },
31
- defaultOptions: [
32
- {
33
- noConsoleError: true,
34
- noConsoleLog: true,
35
- noConsoleWarn: true,
36
- },
37
- ],
38
- meta: {
39
- docs: {
40
- description: "Restrict the usage of console in the codebase",
41
- },
42
- messages: {
43
- noConsole: "NIMA: The usage of console.{{ console }} is restricted.",
44
- },
45
- schema: [
46
- {
47
- additionalProperties: false,
48
- properties: {
49
- noConsoleError: {
50
- default: true,
51
- type: "boolean",
52
- },
53
- noConsoleLog: {
54
- default: true,
55
- type: "boolean",
56
- },
57
- noConsoleWarn: {
58
- default: true,
59
- type: "boolean",
60
- },
61
- },
62
- type: "object",
63
- },
64
- ],
65
- type: "suggestion",
66
- },
67
- });
68
- //# sourceMappingURL=restrict-console-methods.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"restrict-console-methods.js","sourceRoot":"","sources":["../../src/rules/restrict-console-methods.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAUvD,MAAM,CAAC,MAAM,IAAI,GAAG,0BAA0B,CAAC;AAE/C,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC,WAAW,CAAC,WAAW,CAAsB;IAC3E,MAAM,CAAC,OAAO,EAAE,OAAO;QACrB,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;QACjD,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC7C,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;QAE/C,OAAO;YACL,cAAc,CAAC,IAAI;gBACjB,IACE,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,kBAAkB;oBACvC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,YAAY;oBACxC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS;oBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAC1C,CAAC;oBACD,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBAE7C,IACE,CAAC,UAAU,KAAK,OAAO,IAAI,CAAC,cAAc,CAAC;wBAC3C,CAAC,UAAU,KAAK,KAAK,IAAI,CAAC,YAAY,CAAC;wBACvC,CAAC,UAAU,KAAK,MAAM,IAAI,CAAC,aAAa,CAAC,EACzC,CAAC;wBACD,OAAO;oBACT,CAAC;oBAED,OAAO,CAAC,MAAM,CAAC;wBACb,IAAI,EAAE;4BACJ,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI;yBACnC;wBACD,SAAS,EAAE,WAAW;wBACtB,IAAI;qBACL,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;SACF,CAAC;IACJ,CAAC;IAED,cAAc,EAAE;QACd;YACE,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,IAAI;SACpB;KACF;IAED,IAAI,EAAE;QACJ,IAAI,EAAE;YACJ,WAAW,EAAE,+CAA+C;SAC7D;QACD,QAAQ,EAAE;YACR,SAAS,EAAE,yDAAyD;SACrE;QACD,MAAM,EAAE;YACN;gBACE,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,cAAc,EAAE;wBACd,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,SAAS;qBAChB;oBACD,YAAY,EAAE;wBACZ,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,SAAS;qBAChB;oBACD,aAAa,EAAE;wBACb,OAAO,EAAE,IAAI;wBACb,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,YAAY;KACnB;CACF,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- import { type TSESTree } from "@typescript-eslint/typescript-estree";
2
- export declare function getFunctionName(node: TSESTree.ArrowFunctionExpression | TSESTree.FunctionDeclaration | TSESTree.FunctionExpression): string | null;
@@ -1,33 +0,0 @@
1
- import { AST_NODE_TYPES, } from "@typescript-eslint/typescript-estree";
2
- export function getFunctionName(node) {
3
- var _a, _b, _c, _d, _e;
4
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === AST_NODE_TYPES.CallExpression) {
5
- const callExpr = node.parent;
6
- if (callExpr.callee.type === AST_NODE_TYPES.MemberExpression &&
7
- callExpr.callee.property.type === AST_NODE_TYPES.Identifier) {
8
- return callExpr.callee.property.name;
9
- }
10
- if (callExpr.callee.type === AST_NODE_TYPES.Identifier) {
11
- return callExpr.callee.name;
12
- }
13
- }
14
- if ("id" in node && ((_b = node.id) === null || _b === void 0 ? void 0 : _b.type) === AST_NODE_TYPES.Identifier) {
15
- return node.id.name;
16
- }
17
- if (((_c = node.parent) === null || _c === void 0 ? void 0 : _c.type) === AST_NODE_TYPES.Property &&
18
- node.parent.key.type === AST_NODE_TYPES.Identifier) {
19
- return node.parent.key.name;
20
- }
21
- if (node.type === AST_NODE_TYPES.ArrowFunctionExpression &&
22
- ((_d = node.parent) === null || _d === void 0 ? void 0 : _d.type) === AST_NODE_TYPES.VariableDeclarator &&
23
- node.parent.id.type === AST_NODE_TYPES.Identifier) {
24
- return node.parent.id.name;
25
- }
26
- if (node.type === AST_NODE_TYPES.FunctionExpression &&
27
- ((_e = node.parent) === null || _e === void 0 ? void 0 : _e.type) === AST_NODE_TYPES.VariableDeclarator &&
28
- node.parent.id.type === AST_NODE_TYPES.Identifier) {
29
- return node.parent.id.name;
30
- }
31
- return null;
32
- }
33
- //# sourceMappingURL=getFunctionName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFunctionName.js","sourceRoot":"","sources":["../../src/utility/getFunctionName.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,GAEf,MAAM,sCAAsC,CAAC;AAE9C,MAAM,UAAU,eAAe,CAC7B,IAG+B;;IAE/B,IAAI,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,cAAc,CAAC,cAAc,EAAE,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAE7B,IACE,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,gBAAgB;YACxD,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EAC3D,CAAC;YACD,OAAO,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;QACvC,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;YACvD,OAAO,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,IAAI,IAAI,IAAI,IAAI,IAAI,CAAA,MAAA,IAAI,CAAC,EAAE,0CAAE,IAAI,MAAK,cAAc,CAAC,UAAU,EAAE,CAAC;QAChE,OAAO,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;IACtB,CAAC;IAED,IACE,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,cAAc,CAAC,QAAQ;QAC7C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EAClD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9B,CAAC;IAED,IACE,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,uBAAuB;QACpD,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,cAAc,CAAC,kBAAkB;QACvD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EACjD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,IACE,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,kBAAkB;QAC/C,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,IAAI,MAAK,cAAc,CAAC,kBAAkB;QACvD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EACjD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;IAC7B,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { TSESTree } from "@typescript-eslint/typescript-estree";
2
- import type { TSESLint } from "@typescript-eslint/utils";
3
- export declare function getType(context: Readonly<TSESLint.RuleContext<string, unknown[]>>, node: TSESTree.Node): string | undefined;
@@ -1,21 +0,0 @@
1
- export function getType(context, node) {
2
- var _a, _b;
3
- const sourceCode = context.getSourceCode();
4
- const services = sourceCode.parserServices;
5
- if (!((_a = services === null || services === void 0 ? void 0 : services.program) === null || _a === void 0 ? void 0 : _a.getTypeChecker)) {
6
- return;
7
- }
8
- const checker = services.program.getTypeChecker();
9
- try {
10
- const tsNode = (_b = services.esTreeNodeToTSNodeMap) === null || _b === void 0 ? void 0 : _b.get(node);
11
- if (!tsNode)
12
- return;
13
- const type = checker.getTypeAtLocation(tsNode);
14
- const typeString = checker.typeToString(type);
15
- return typeString;
16
- }
17
- catch {
18
- return;
19
- }
20
- }
21
- //# sourceMappingURL=getType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getType.js","sourceRoot":"","sources":["../../src/utility/getType.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,OAAO,CACrB,OAA0D,EAC1D,IAAmB;;IAEnB,MAAM,UAAU,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAC3C,MAAM,QAAQ,GAAG,UAAU,CAAC,cAAc,CAAC;IAE3C,IAAI,CAAC,CAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,OAAO,0CAAE,cAAc,CAAA,EAAE,CAAC;QACvC,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC;IAElD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAA,QAAQ,CAAC,qBAAqB,0CAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE9C,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;IACT,CAAC;AACH,CAAC"}