@pobammer-ts/eslint-cease-nonsense-rules 0.8.0 → 0.9.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/README.md CHANGED
@@ -24,6 +24,7 @@ export default [
24
24
  },
25
25
  rules: {
26
26
  // Enable all rules (recommended)
27
+ "cease-nonsense/ban-react-fc": "error",
27
28
  "cease-nonsense/enforce-ianitor-check-type": "error",
28
29
  "cease-nonsense/no-color3-constructor": "error",
29
30
  "cease-nonsense/no-print": "error",
@@ -104,6 +105,46 @@ const config = userConfigValidator.check(getUserConfig());
104
105
 
105
106
  ### React
106
107
 
108
+ #### `ban-react-fc`
109
+
110
+ Bans React.FC and similar component type annotations. Use explicit function declarations instead.
111
+
112
+ React.FC (Function Component) and related types break debug information in React DevTools, making profiling exponentially harder. They also encourage poor patterns and add unnecessary complexity.
113
+
114
+ **❌ Bad:**
115
+
116
+ ```typescript
117
+ export const MyComponent: React.FC<Props> = ({ children }) => {
118
+ return <div>{children}</div>;
119
+ };
120
+
121
+ const Button: FC<ButtonProps> = ({ label }) => <button>{label}</button>;
122
+
123
+ const Modal: React.FunctionComponent = () => <div>Modal</div>;
124
+
125
+ const Input: VFC = () => <input />;
126
+ ```
127
+
128
+ **✅ Good:**
129
+
130
+ ```typescript
131
+ export function MyComponent({ children }: Props) {
132
+ return <div>{children}</div>;
133
+ }
134
+
135
+ function Button({ label }: ButtonProps) {
136
+ return <button>{label}</button>;
137
+ }
138
+
139
+ function Modal() {
140
+ return <div>Modal</div>;
141
+ }
142
+
143
+ function Input() {
144
+ return <input />;
145
+ }
146
+ ```
147
+
107
148
  #### `require-react-component-keys`
108
149
 
109
150
  Enforces key props on all React elements except top-level returns from components.
package/dist/index.d.ts CHANGED
@@ -24,6 +24,7 @@ declare const recommended: {
24
24
  };
25
25
  };
26
26
  readonly rules: {
27
+ readonly "cease-nonsense/ban-react-fc": "error";
27
28
  readonly "cease-nonsense/enforce-ianitor-check-type": "error";
28
29
  readonly "cease-nonsense/no-color3-constructor": "error";
29
30
  readonly "cease-nonsense/no-print": "error";
package/dist/index.js CHANGED
@@ -1,3 +1,4 @@
1
+ import banReactFC from "./rules/ban-react-fc";
1
2
  import enforceIanitorCheckType from "./rules/enforce-ianitor-check-type";
2
3
  import noColor3Constructor from "./rules/no-color3-constructor";
3
4
  import noPrint from "./rules/no-print";
@@ -15,6 +16,7 @@ import useHookAtTopLevel from "./rules/use-hook-at-top-level";
15
16
  * Exposes rule implementations and configuration presets for ESLint flat config.
16
17
  */
17
18
  const rules = {
19
+ "ban-react-fc": banReactFC,
18
20
  "enforce-ianitor-check-type": enforceIanitorCheckType,
19
21
  "no-color3-constructor": noColor3Constructor,
20
22
  "no-print": noPrint,
@@ -50,6 +52,7 @@ const recommended = {
50
52
  },
51
53
  },
52
54
  rules: {
55
+ "cease-nonsense/ban-react-fc": "error",
53
56
  "cease-nonsense/enforce-ianitor-check-type": "error",
54
57
  "cease-nonsense/no-color3-constructor": "error",
55
58
  "cease-nonsense/no-print": "error",
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,yBAAyB,MAAM,sCAAsC,CAAC;AAC7E,OAAO,yBAAyB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAI9D;;;;GAIG;AACH,MAAM,KAAK,GAA4C;IACtD,4BAA4B,EAAE,uBAAuB;IACrD,uBAAuB,EAAE,mBAAmB;IAC5C,UAAU,EAAE,OAAO;IACnB,oBAAoB,EAAE,gBAAgB;IACtC,SAAS,EAAE,MAAM;IACjB,2BAA2B,EAAE,uBAAuB;IACpD,wBAAwB,EAAE,oBAAoB;IAC9C,gCAAgC,EAAE,2BAA2B;IAC7D,8BAA8B,EAAE,yBAAyB;IACzD,6BAA6B,EAAE,yBAAyB;IACxD,uBAAuB,EAAE,iBAAiB;CACjC,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE;QACR,gBAAgB,EAAE;YACjB,KAAK;SACL;KACD;IACD,KAAK,EAAE;QACN,2CAA2C,EAAE,OAAO;QACpD,sCAAsC,EAAE,OAAO;QAC/C,yBAAyB,EAAE,OAAO;QAClC,mCAAmC,EAAE,OAAO;QAC5C,wBAAwB,EAAE,OAAO;QACjC,0CAA0C,EAAE,OAAO;QACnD,uCAAuC,EAAE,OAAO;QAChD,+CAA+C,EAAE,OAAO;QACxD,6CAA6C,EAAE,OAAO;QACtD,4CAA4C,EAAE,OAAO;QACrD,sCAAsC,EAAE,OAAO;KAC/C;CACQ,CAAC;AAWX,MAAM,MAAM,GAAW;IACtB,OAAO,EAAE,EAAE,WAAW,EAAE;IACxB,KAAK;CACI,CAAC;AAEX,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,uBAAuB,MAAM,oCAAoC,CAAC;AACzE,OAAO,mBAAmB,MAAM,+BAA+B,CAAC;AAChE,OAAO,OAAO,MAAM,kBAAkB,CAAC;AACvC,OAAO,gBAAgB,MAAM,4BAA4B,CAAC;AAC1D,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,oBAAoB,MAAM,gCAAgC,CAAC;AAClE,OAAO,uBAAuB,MAAM,mCAAmC,CAAC;AACxE,OAAO,2BAA2B,MAAM,wCAAwC,CAAC;AACjF,OAAO,yBAAyB,MAAM,sCAAsC,CAAC;AAC7E,OAAO,yBAAyB,MAAM,qCAAqC,CAAC;AAC5E,OAAO,iBAAiB,MAAM,+BAA+B,CAAC;AAI9D;;;;GAIG;AACH,MAAM,KAAK,GAA4C;IACtD,cAAc,EAAE,UAAU;IAC1B,4BAA4B,EAAE,uBAAuB;IACrD,uBAAuB,EAAE,mBAAmB;IAC5C,UAAU,EAAE,OAAO;IACnB,oBAAoB,EAAE,gBAAgB;IACtC,SAAS,EAAE,MAAM;IACjB,2BAA2B,EAAE,uBAAuB;IACpD,wBAAwB,EAAE,oBAAoB;IAC9C,gCAAgC,EAAE,2BAA2B;IAC7D,8BAA8B,EAAE,yBAAyB;IACzD,6BAA6B,EAAE,yBAAyB;IACxD,uBAAuB,EAAE,iBAAiB;CACjC,CAAC;AAEX;;;;;;;;;;;;;;;GAeG;AACH,MAAM,WAAW,GAAG;IACnB,OAAO,EAAE;QACR,gBAAgB,EAAE;YACjB,KAAK;SACL;KACD;IACD,KAAK,EAAE;QACN,6BAA6B,EAAE,OAAO;QACtC,2CAA2C,EAAE,OAAO;QACpD,sCAAsC,EAAE,OAAO;QAC/C,yBAAyB,EAAE,OAAO;QAClC,mCAAmC,EAAE,OAAO;QAC5C,wBAAwB,EAAE,OAAO;QACjC,0CAA0C,EAAE,OAAO;QACnD,uCAAuC,EAAE,OAAO;QAChD,+CAA+C,EAAE,OAAO;QACxD,6CAA6C,EAAE,OAAO;QACtD,4CAA4C,EAAE,OAAO;QACrD,sCAAsC,EAAE,OAAO;KAC/C;CACQ,CAAC;AAWX,MAAM,MAAM,GAAW;IACtB,OAAO,EAAE,EAAE,WAAW,EAAE;IACxB,KAAK;CACI,CAAC;AAEX,eAAe,MAAM,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { TSESLint } from "@typescript-eslint/utils";
2
+ type MessageIds = "banReactFC";
3
+ interface RuleDocsWithRecommended extends TSESLint.RuleMetaDataDocs {
4
+ recommended?: boolean;
5
+ }
6
+ declare const banReactFC: TSESLint.RuleModuleWithMetaDocs<MessageIds, [], RuleDocsWithRecommended>;
7
+ export default banReactFC;
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Bans React.FC and similar component type annotations.
3
+ *
4
+ * React.FC (Function Component) and related types like FunctionComponent, VFC, and VoidFunctionComponent
5
+ * have several drawbacks:
6
+ * - They break debug information in React DevTools, making profiling harder
7
+ * - They add unnecessary complexity compared to simple function declarations
8
+ * - They encourage poor patterns like implicit children handling
9
+ *
10
+ * Instead, use explicit function declarations with proper parameter typing.
11
+ *
12
+ * @example
13
+ * // ❌ Reports
14
+ * export const MyComponent: React.FC<Props> = ({ children }) => {
15
+ * return <div>{children}</div>;
16
+ * };
17
+ *
18
+ * // ✅ OK
19
+ * export function MyComponent({ children }: Props) {
20
+ * return <div>{children}</div>;
21
+ * }
22
+ */
23
+ const BANNED_FC_NAMES = new Set(["FC", "FunctionComponent", "VFC", "VoidFunctionComponent"]);
24
+ const banReactFC = {
25
+ /**
26
+ * Creates the ESLint rule visitor.
27
+ *
28
+ * @param context - The ESLint rule context.
29
+ * @returns The visitor object with AST node handlers.
30
+ */
31
+ create(context) {
32
+ return {
33
+ VariableDeclarator(node) {
34
+ const typeAnnotation = node.id.typeAnnotation;
35
+ if (!typeAnnotation)
36
+ return;
37
+ const inner = typeAnnotation.typeAnnotation;
38
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
39
+ if (inner.type !== "TSTypeReference")
40
+ return;
41
+ const typeName = inner.typeName;
42
+ let isBannedFC = false;
43
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
44
+ if (typeName.type === "Identifier") {
45
+ isBannedFC = BANNED_FC_NAMES.has(typeName.name);
46
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
47
+ }
48
+ else if (typeName.type === "TSQualifiedName") {
49
+ isBannedFC = BANNED_FC_NAMES.has(typeName.right.name);
50
+ }
51
+ if (!isBannedFC)
52
+ return;
53
+ const initType = node.init?.type;
54
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-enum-comparison
55
+ if (initType !== "ArrowFunctionExpression")
56
+ return;
57
+ context.report({
58
+ messageId: "banReactFC",
59
+ node,
60
+ });
61
+ },
62
+ };
63
+ },
64
+ defaultOptions: [],
65
+ meta: {
66
+ docs: {
67
+ description: "Ban React.FC and similar component type annotations. Use explicit function declarations instead.",
68
+ recommended: true,
69
+ },
70
+ messages: {
71
+ banReactFC: "Avoid React.FC/FunctionComponent/VFC/VoidFunctionComponent types. They break debug information and profiling. Use explicit function declarations instead: `function Component(props: Props) { ... }`",
72
+ },
73
+ schema: [],
74
+ type: "problem",
75
+ },
76
+ };
77
+ export default banReactFC;
78
+ //# sourceMappingURL=ban-react-fc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ban-react-fc.js","sourceRoot":"","sources":["../../src/rules/ban-react-fc.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,uBAAuB,CAAC,CAAC,CAAC;AAE7F,MAAM,UAAU,GAA6E;IAC5F;;;;;OAKG;IACH,MAAM,CAAC,OAAO;QACb,OAAO;YACN,kBAAkB,CAAC,IAAiC;gBACnD,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC;gBAC9C,IAAI,CAAC,cAAc;oBAAE,OAAO;gBAE5B,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC;gBAC5C,wEAAwE;gBACxE,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB;oBAAE,OAAO;gBAE7C,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAEhC,IAAI,UAAU,GAAG,KAAK,CAAC;gBACvB,wEAAwE;gBACxE,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACpC,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;oBAChD,wEAAwE;gBACzE,CAAC;qBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;oBAChD,UAAU,GAAG,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACvD,CAAC;gBAED,IAAI,CAAC,UAAU;oBAAE,OAAO;gBAExB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;gBACjC,wEAAwE;gBACxE,IAAI,QAAQ,KAAK,yBAAyB;oBAAE,OAAO;gBAEnD,OAAO,CAAC,MAAM,CAAC;oBACd,SAAS,EAAE,YAAY;oBACvB,IAAI;iBACJ,CAAC,CAAC;YACJ,CAAC;SACD,CAAC;IACH,CAAC;IACD,cAAc,EAAE,EAAE;IAClB,IAAI,EAAE;QACL,IAAI,EAAE;YACL,WAAW,EACV,kGAAkG;YACnG,WAAW,EAAE,IAAI;SACjB;QACD,QAAQ,EAAE;YACT,UAAU,EACT,sMAAsM;SACvM;QACD,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,SAAS;KACf;CACD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -70,22 +70,22 @@ const preferSequenceOverloads = {
70
70
  const normalizedSecondValue = secondValueText.trim();
71
71
  if (normalizedFirstValue === normalizedSecondValue) {
72
72
  context.report({
73
- fix: (fixer) => fixer.replaceText(node, `new ${descriptor.sequenceName}(${firstValueText})`),
74
- messageId: "preferSingleOverload",
75
- node,
76
73
  data: {
77
74
  sequenceName: descriptor.sequenceName,
78
75
  },
76
+ fix: (fixer) => fixer.replaceText(node, `new ${descriptor.sequenceName}(${firstValueText})`),
77
+ messageId: "preferSingleOverload",
78
+ node,
79
79
  });
80
80
  return;
81
81
  }
82
82
  context.report({
83
- fix: (fixer) => fixer.replaceText(node, `new ${descriptor.sequenceName}(${firstValueText}, ${secondValueText})`),
84
- messageId: "preferTwoPointOverload",
85
- node,
86
83
  data: {
87
84
  sequenceName: descriptor.sequenceName,
88
85
  },
86
+ fix: (fixer) => fixer.replaceText(node, `new ${descriptor.sequenceName}(${firstValueText}, ${secondValueText})`),
87
+ messageId: "preferTwoPointOverload",
88
+ node,
89
89
  });
90
90
  },
91
91
  };
@@ -1 +1 @@
1
- {"version":3,"file":"prefer-sequence-overloads.js","sourceRoot":"","sources":["../../src/rules/prefer-sequence-overloads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prefer-sequence-overloads.js","sourceRoot":"","sources":["../../src/rules/prefer-sequence-overloads.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -65,5 +65,5 @@
65
65
  "sideEffects": false,
66
66
  "type": "module",
67
67
  "types": "./dist/index.d.ts",
68
- "version": "0.8.0"
68
+ "version": "0.9.0"
69
69
  }