@trackunit/eslint-plugin-trackunit 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 (147) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +117 -0
  3. package/package.json +31 -0
  4. package/src/index.d.ts +8 -0
  5. package/src/index.js +20 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/config/fragments/ignores.d.ts +2 -0
  8. package/src/lib/config/fragments/ignores.js +18 -0
  9. package/src/lib/config/fragments/ignores.js.map +1 -0
  10. package/src/lib/config/fragments/import-rules.d.ts +3 -0
  11. package/src/lib/config/fragments/import-rules.js +58 -0
  12. package/src/lib/config/fragments/import-rules.js.map +1 -0
  13. package/src/lib/config/fragments/jest-overrides.d.ts +2 -0
  14. package/src/lib/config/fragments/jest-overrides.js +30 -0
  15. package/src/lib/config/fragments/jest-overrides.js.map +1 -0
  16. package/src/lib/config/fragments/jsdoc-rules.d.ts +3 -0
  17. package/src/lib/config/fragments/jsdoc-rules.js +71 -0
  18. package/src/lib/config/fragments/jsdoc-rules.js.map +1 -0
  19. package/src/lib/config/fragments/module-boundaries.d.ts +2 -0
  20. package/src/lib/config/fragments/module-boundaries.js +92 -0
  21. package/src/lib/config/fragments/module-boundaries.js.map +1 -0
  22. package/src/lib/config/fragments/react-rules.d.ts +5 -0
  23. package/src/lib/config/fragments/react-rules.js +137 -0
  24. package/src/lib/config/fragments/react-rules.js.map +1 -0
  25. package/src/lib/config/fragments/restricted-imports.d.ts +2 -0
  26. package/src/lib/config/fragments/restricted-imports.js +58 -0
  27. package/src/lib/config/fragments/restricted-imports.js.map +1 -0
  28. package/src/lib/config/fragments/testing-library.d.ts +2 -0
  29. package/src/lib/config/fragments/testing-library.js +7 -0
  30. package/src/lib/config/fragments/testing-library.js.map +1 -0
  31. package/src/lib/config/fragments/typescript-rules.d.ts +2 -0
  32. package/src/lib/config/fragments/typescript-rules.js +97 -0
  33. package/src/lib/config/fragments/typescript-rules.js.map +1 -0
  34. package/src/lib/config/index.d.ts +863 -0
  35. package/src/lib/config/index.js +10 -0
  36. package/src/lib/config/index.js.map +1 -0
  37. package/src/lib/config/plugins.d.ts +90 -0
  38. package/src/lib/config/plugins.js +44 -0
  39. package/src/lib/config/plugins.js.map +1 -0
  40. package/src/lib/config/presets/base.d.ts +265 -0
  41. package/src/lib/config/presets/base.js +145 -0
  42. package/src/lib/config/presets/base.js.map +1 -0
  43. package/src/lib/config/presets/e2e.d.ts +10 -0
  44. package/src/lib/config/presets/e2e.js +19 -0
  45. package/src/lib/config/presets/e2e.js.map +1 -0
  46. package/src/lib/config/presets/public-api.d.ts +147 -0
  47. package/src/lib/config/presets/public-api.js +62 -0
  48. package/src/lib/config/presets/public-api.js.map +1 -0
  49. package/src/lib/config/presets/react.d.ts +598 -0
  50. package/src/lib/config/presets/react.js +97 -0
  51. package/src/lib/config/presets/react.js.map +1 -0
  52. package/src/lib/config/presets/server.d.ts +36 -0
  53. package/src/lib/config/presets/server.js +37 -0
  54. package/src/lib/config/presets/server.js.map +1 -0
  55. package/src/lib/config/utils.d.ts +6 -0
  56. package/src/lib/config/utils.js +28 -0
  57. package/src/lib/config/utils.js.map +1 -0
  58. package/src/lib/config-helpers/create-skip-when.d.ts +35 -0
  59. package/src/lib/config-helpers/create-skip-when.js +54 -0
  60. package/src/lib/config-helpers/create-skip-when.js.map +1 -0
  61. package/src/lib/rules/cva-merge-base-classes-as-array/cva-merge-base-classes-as-array.d.ts +16 -0
  62. package/src/lib/rules/cva-merge-base-classes-as-array/cva-merge-base-classes-as-array.js +83 -0
  63. package/src/lib/rules/cva-merge-base-classes-as-array/cva-merge-base-classes-as-array.js.map +1 -0
  64. package/src/lib/rules/design-guideline-button-icon-size-match/design-guideline-button-icon-size-match.d.ts +4 -0
  65. package/src/lib/rules/design-guideline-button-icon-size-match/design-guideline-button-icon-size-match.js +297 -0
  66. package/src/lib/rules/design-guideline-button-icon-size-match/design-guideline-button-icon-size-match.js.map +1 -0
  67. package/src/lib/rules/no-internal-barrel-files/examples.d.ts +80 -0
  68. package/src/lib/rules/no-internal-barrel-files/examples.js +84 -0
  69. package/src/lib/rules/no-internal-barrel-files/examples.js.map +1 -0
  70. package/src/lib/rules/no-internal-barrel-files/no-internal-barrel-files.d.ts +29 -0
  71. package/src/lib/rules/no-internal-barrel-files/no-internal-barrel-files.js +178 -0
  72. package/src/lib/rules/no-internal-barrel-files/no-internal-barrel-files.js.map +1 -0
  73. package/src/lib/rules/no-internal-graphql-when-tagged-with-gql-public/no-internal-graphql-when-tagged-with-gql-public.d.ts +5 -0
  74. package/src/lib/rules/no-internal-graphql-when-tagged-with-gql-public/no-internal-graphql-when-tagged-with-gql-public.js +67 -0
  75. package/src/lib/rules/no-internal-graphql-when-tagged-with-gql-public/no-internal-graphql-when-tagged-with-gql-public.js.map +1 -0
  76. package/src/lib/rules/no-jest-mock-trackunit-react-core-hooks/no-jest-mock-trackunit-react-core-hooks.d.ts +2 -0
  77. package/src/lib/rules/no-jest-mock-trackunit-react-core-hooks/no-jest-mock-trackunit-react-core-hooks.js +34 -0
  78. package/src/lib/rules/no-jest-mock-trackunit-react-core-hooks/no-jest-mock-trackunit-react-core-hooks.js.map +1 -0
  79. package/src/lib/rules/no-template-strings-in-classname-prop/no-template-strings-in-classname-prop.d.ts +16 -0
  80. package/src/lib/rules/no-template-strings-in-classname-prop/no-template-strings-in-classname-prop.js +55 -0
  81. package/src/lib/rules/no-template-strings-in-classname-prop/no-template-strings-in-classname-prop.js.map +1 -0
  82. package/src/lib/rules/no-typescript-assertion/examples.d.ts +1 -0
  83. package/src/lib/rules/no-typescript-assertion/examples.js +45 -0
  84. package/src/lib/rules/no-typescript-assertion/examples.js.map +1 -0
  85. package/src/lib/rules/no-typescript-assertion/no-typescript-assertion.d.ts +20 -0
  86. package/src/lib/rules/no-typescript-assertion/no-typescript-assertion.js +83 -0
  87. package/src/lib/rules/no-typescript-assertion/no-typescript-assertion.js.map +1 -0
  88. package/src/lib/rules/prefer-destructured-imports/prefer-destructured-imports.d.ts +73 -0
  89. package/src/lib/rules/prefer-destructured-imports/prefer-destructured-imports.js +333 -0
  90. package/src/lib/rules/prefer-destructured-imports/prefer-destructured-imports.js.map +1 -0
  91. package/src/lib/rules/prefer-event-specific-callback-naming/name-suggestion-strategies.d.ts +56 -0
  92. package/src/lib/rules/prefer-event-specific-callback-naming/name-suggestion-strategies.js +225 -0
  93. package/src/lib/rules/prefer-event-specific-callback-naming/name-suggestion-strategies.js.map +1 -0
  94. package/src/lib/rules/prefer-event-specific-callback-naming/prefer-event-specific-callback-naming.d.ts +49 -0
  95. package/src/lib/rules/prefer-event-specific-callback-naming/prefer-event-specific-callback-naming.js +75 -0
  96. package/src/lib/rules/prefer-event-specific-callback-naming/prefer-event-specific-callback-naming.js.map +1 -0
  97. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/string-based.d.ts +32 -0
  98. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/string-based.js +143 -0
  99. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/string-based.js.map +1 -0
  100. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/type-based.d.ts +27 -0
  101. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/type-based.js +196 -0
  102. package/src/lib/rules/prefer-event-specific-callback-naming/strategies/type-based.js.map +1 -0
  103. package/src/lib/rules/prefer-event-specific-callback-naming/utils.d.ts +76 -0
  104. package/src/lib/rules/prefer-event-specific-callback-naming/utils.js +245 -0
  105. package/src/lib/rules/prefer-event-specific-callback-naming/utils.js.map +1 -0
  106. package/src/lib/rules/prefer-field-components/prefer-field-components.d.ts +4 -0
  107. package/src/lib/rules/prefer-field-components/prefer-field-components.js +289 -0
  108. package/src/lib/rules/prefer-field-components/prefer-field-components.js.map +1 -0
  109. package/src/lib/rules/prefer-mouse-event-handler-in-react-props/prefer-mouse-event-handler-in-react-props.d.ts +26 -0
  110. package/src/lib/rules/prefer-mouse-event-handler-in-react-props/prefer-mouse-event-handler-in-react-props.js +402 -0
  111. package/src/lib/rules/prefer-mouse-event-handler-in-react-props/prefer-mouse-event-handler-in-react-props.js.map +1 -0
  112. package/src/lib/rules/require-classname-alternatives/require-classname-alternatives.d.ts +13 -0
  113. package/src/lib/rules/require-classname-alternatives/require-classname-alternatives.js +271 -0
  114. package/src/lib/rules/require-classname-alternatives/require-classname-alternatives.js.map +1 -0
  115. package/src/lib/rules/require-list-item-virtualization-props/require-list-item-virtualization-props.d.ts +15 -0
  116. package/src/lib/rules/require-list-item-virtualization-props/require-list-item-virtualization-props.js +245 -0
  117. package/src/lib/rules/require-list-item-virtualization-props/require-list-item-virtualization-props.js.map +1 -0
  118. package/src/lib/rules/require-optional-prop-initialization/require-optional-prop-initialization.d.ts +17 -0
  119. package/src/lib/rules/require-optional-prop-initialization/require-optional-prop-initialization.js +133 -0
  120. package/src/lib/rules/require-optional-prop-initialization/require-optional-prop-initialization.js.map +1 -0
  121. package/src/lib/rules/require-optional-prop-initialization/suggestion-utils.d.ts +12 -0
  122. package/src/lib/rules/require-optional-prop-initialization/suggestion-utils.js +128 -0
  123. package/src/lib/rules/require-optional-prop-initialization/suggestion-utils.js.map +1 -0
  124. package/src/lib/rules-map.d.ts +66 -0
  125. package/src/lib/rules-map.js +34 -0
  126. package/src/lib/rules-map.js.map +1 -0
  127. package/src/lib/utils/ast-utils.d.ts +85 -0
  128. package/src/lib/utils/ast-utils.js +530 -0
  129. package/src/lib/utils/ast-utils.js.map +1 -0
  130. package/src/lib/utils/classname-utils.d.ts +150 -0
  131. package/src/lib/utils/classname-utils.js +492 -0
  132. package/src/lib/utils/classname-utils.js.map +1 -0
  133. package/src/lib/utils/file-utils.d.ts +14 -0
  134. package/src/lib/utils/file-utils.js +106 -0
  135. package/src/lib/utils/file-utils.js.map +1 -0
  136. package/src/lib/utils/import-utils.d.ts +85 -0
  137. package/src/lib/utils/import-utils.js +193 -0
  138. package/src/lib/utils/import-utils.js.map +1 -0
  139. package/src/lib/utils/nx-utils.d.ts +59 -0
  140. package/src/lib/utils/nx-utils.js +103 -0
  141. package/src/lib/utils/nx-utils.js.map +1 -0
  142. package/src/lib/utils/package-utils.d.ts +38 -0
  143. package/src/lib/utils/package-utils.js +74 -0
  144. package/src/lib/utils/package-utils.js.map +1 -0
  145. package/src/lib/utils/typescript-utils.d.ts +29 -0
  146. package/src/lib/utils/typescript-utils.js +213 -0
  147. package/src/lib/utils/typescript-utils.js.map +1 -0
@@ -0,0 +1,863 @@
1
+ export declare const configs: {
2
+ base: (import("eslint").Linter.FlatConfig<import("eslint").Linter.RulesRecord> | {
3
+ plugins: {
4
+ "@nx": typeof import("@nx/eslint-plugin");
5
+ "@trackunit": {
6
+ rules: {
7
+ "cva-merge-base-classes-as-array": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"stringNeedsArray" | "arrayNeedsSplit", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
8
+ name: string;
9
+ };
10
+ "no-internal-barrel-files": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"noInternalBarrel", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
11
+ name: string;
12
+ };
13
+ "no-typescript-assertion": {
14
+ meta: import("eslint").Rule.RuleMetaData;
15
+ create: (context: import("eslint").Rule.RuleContext) => import("eslint").Rule.RuleListener;
16
+ };
17
+ "no-internal-graphql-when-tagged-with-gql-public": {
18
+ meta: import("eslint").Rule.RuleMetaData;
19
+ create: (context: import("eslint").Rule.RuleContext) => import("eslint").Rule.RuleListener;
20
+ };
21
+ "design-guideline-button-icon-size-match": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"incorrectIconSize", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
22
+ name: string;
23
+ };
24
+ "no-template-strings-in-classname-prop": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"templateStringInClassName", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
25
+ name: string;
26
+ };
27
+ "require-classname-alternatives": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"bannedClassAutoFix" | "bannedClassSuggest" | "suggestReplacement", [({
28
+ alternatives: Record<string, Array<string>>;
29
+ prefixes?: Array<string>;
30
+ } | undefined)?], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
31
+ name: string;
32
+ };
33
+ "no-jest-mock-trackunit-react-core-hooks": import("eslint").Rule.RuleModule;
34
+ "prefer-destructured-imports": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"preferDestructured" | "preferDestructuredGlobal", [({
35
+ packages: Record<string, string>;
36
+ } | undefined)?], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
37
+ name: string;
38
+ };
39
+ "prefer-mouse-event-handler-in-react-props": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"suggestMouseEventHandler" | "preferMouseEventHandler", [{
40
+ allowedNames?: ReadonlyArray<string>;
41
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
42
+ name: string;
43
+ };
44
+ "prefer-event-specific-callback-naming": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<import("../rules/prefer-event-specific-callback-naming/strategies/string-based").NameBasedMessageIds | import("../rules/prefer-event-specific-callback-naming/strategies/type-based").TypeBasedMessageIds, [{
45
+ allowedNames?: ReadonlyArray<string>;
46
+ events?: ReadonlyArray<string>;
47
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
48
+ name: string;
49
+ };
50
+ "require-optional-prop-initialization": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<import("../rules/require-optional-prop-initialization/suggestion-utils").MessageIds, [{
51
+ allowNullableObject?: boolean;
52
+ allowNullableBoolean?: boolean;
53
+ allowNullableString?: boolean;
54
+ allowNullableNumber?: boolean;
55
+ allowNullableEnum?: boolean;
56
+ allowNullableStringLiteralUnion?: boolean;
57
+ onlyRequireUsedProps?: boolean;
58
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
59
+ name: string;
60
+ };
61
+ "prefer-field-components": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"preferFieldComponent", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
62
+ name: string;
63
+ };
64
+ "require-list-item-virtualization-props": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"requireVirtualizationProps" | "spreadListItemProps" | "useSemanticListItem", [{
65
+ allowCustomComponents?: boolean;
66
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
67
+ name: string;
68
+ };
69
+ };
70
+ };
71
+ "@typescript-eslint": {
72
+ configs: Record<string, ClassicConfig.Config>;
73
+ meta: FlatConfig.PluginMeta;
74
+ rules: typeof import("@typescript-eslint/eslint-plugin/rules");
75
+ };
76
+ "no-null": {
77
+ rules: Record<string, import("eslint").Rule.RuleModule>;
78
+ };
79
+ "import-x": import("eslint").ESLint.Plugin & {
80
+ meta: {
81
+ name: string;
82
+ version: string;
83
+ };
84
+ configs: {
85
+ "recommended": import("eslint").Linter.LegacyConfig;
86
+ "errors": import("eslint").Linter.LegacyConfig;
87
+ "warnings": import("eslint").Linter.LegacyConfig;
88
+ "stage-0": import("eslint").Linter.LegacyConfig;
89
+ "react": import("eslint").Linter.LegacyConfig;
90
+ "react-native": import("eslint").Linter.LegacyConfig;
91
+ "electron": import("eslint").Linter.LegacyConfig;
92
+ "typescript": import("eslint").Linter.LegacyConfig;
93
+ };
94
+ flatConfigs: {
95
+ "recommended": import("eslint").Linter.FlatConfig;
96
+ "errors": import("eslint").Linter.FlatConfig;
97
+ "warnings": import("eslint").Linter.FlatConfig;
98
+ "stage-0": import("eslint").Linter.FlatConfig;
99
+ "react": import("eslint").Linter.FlatConfig;
100
+ "react-native": import("eslint").Linter.FlatConfig;
101
+ "electron": import("eslint").Linter.FlatConfig;
102
+ "typescript": import("eslint").Linter.FlatConfig;
103
+ };
104
+ rules: {
105
+ [key: string]: import("eslint").Rule.RuleModule;
106
+ };
107
+ };
108
+ jsdoc: {
109
+ rules: Record<string, import("eslint").Rule.RuleModule>;
110
+ configs: Record<string, import("eslint").Linter.Config>;
111
+ };
112
+ };
113
+ rules: {
114
+ [x: string]: import("eslint").Linter.RuleEntry<any[]>;
115
+ "@trackunit/no-internal-graphql-when-tagged-with-gql-public"?: undefined;
116
+ "@typescript-eslint/no-require-imports"?: undefined;
117
+ "@nx/enforce-module-boundaries"?: undefined;
118
+ };
119
+ files?: undefined;
120
+ languageOptions?: undefined;
121
+ } | {
122
+ files: string[];
123
+ languageOptions: {
124
+ ecmaVersion: number;
125
+ sourceType: string;
126
+ parser: import("eslint").Linter.Parser;
127
+ parserOptions: {
128
+ project: string[];
129
+ };
130
+ };
131
+ rules: {
132
+ "@trackunit/no-internal-barrel-files": string;
133
+ "@trackunit/no-typescript-assertion": string;
134
+ "constructor-super": string;
135
+ curly: string;
136
+ "default-case": string;
137
+ "id-match": string;
138
+ "no-caller": string;
139
+ "no-debugger": string;
140
+ "no-duplicate-imports": string;
141
+ "no-empty": string;
142
+ "no-eval": string;
143
+ "no-console": string;
144
+ "no-var": string;
145
+ "prefer-const": string;
146
+ "no-template-curly-in-string": string;
147
+ eqeqeq: string[];
148
+ "no-undef-init": string;
149
+ "no-invalid-this": string;
150
+ "no-null/no-null": string;
151
+ "no-underscore-dangle": string;
152
+ "no-redeclare": string;
153
+ "no-empty-function": string;
154
+ "no-unused-expressions": string;
155
+ "no-shadow": string;
156
+ "@trackunit/no-internal-graphql-when-tagged-with-gql-public"?: undefined;
157
+ "@typescript-eslint/no-require-imports"?: undefined;
158
+ "@nx/enforce-module-boundaries"?: undefined;
159
+ };
160
+ plugins?: undefined;
161
+ } | {
162
+ files: string[];
163
+ languageOptions: {
164
+ parser: import("eslint").Linter.Parser;
165
+ ecmaVersion?: undefined;
166
+ sourceType?: undefined;
167
+ parserOptions?: undefined;
168
+ };
169
+ plugins: {
170
+ "@trackunit": {
171
+ rules: {
172
+ "cva-merge-base-classes-as-array": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"stringNeedsArray" | "arrayNeedsSplit", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
173
+ name: string;
174
+ };
175
+ "no-internal-barrel-files": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"noInternalBarrel", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
176
+ name: string;
177
+ };
178
+ "no-typescript-assertion": {
179
+ meta: import("eslint").Rule.RuleMetaData;
180
+ create: (context: import("eslint").Rule.RuleContext) => import("eslint").Rule.RuleListener;
181
+ };
182
+ "no-internal-graphql-when-tagged-with-gql-public": {
183
+ meta: import("eslint").Rule.RuleMetaData;
184
+ create: (context: import("eslint").Rule.RuleContext) => import("eslint").Rule.RuleListener;
185
+ };
186
+ "design-guideline-button-icon-size-match": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"incorrectIconSize", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
187
+ name: string;
188
+ };
189
+ "no-template-strings-in-classname-prop": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"templateStringInClassName", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
190
+ name: string;
191
+ };
192
+ "require-classname-alternatives": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"bannedClassAutoFix" | "bannedClassSuggest" | "suggestReplacement", [({
193
+ alternatives: Record<string, Array<string>>;
194
+ prefixes?: Array<string>;
195
+ } | undefined)?], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
196
+ name: string;
197
+ };
198
+ "no-jest-mock-trackunit-react-core-hooks": import("eslint").Rule.RuleModule;
199
+ "prefer-destructured-imports": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"preferDestructured" | "preferDestructuredGlobal", [({
200
+ packages: Record<string, string>;
201
+ } | undefined)?], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
202
+ name: string;
203
+ };
204
+ "prefer-mouse-event-handler-in-react-props": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"suggestMouseEventHandler" | "preferMouseEventHandler", [{
205
+ allowedNames?: ReadonlyArray<string>;
206
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
207
+ name: string;
208
+ };
209
+ "prefer-event-specific-callback-naming": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<import("../rules/prefer-event-specific-callback-naming/strategies/string-based").NameBasedMessageIds | import("../rules/prefer-event-specific-callback-naming/strategies/type-based").TypeBasedMessageIds, [{
210
+ allowedNames?: ReadonlyArray<string>;
211
+ events?: ReadonlyArray<string>;
212
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
213
+ name: string;
214
+ };
215
+ "require-optional-prop-initialization": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<import("../rules/require-optional-prop-initialization/suggestion-utils").MessageIds, [{
216
+ allowNullableObject?: boolean;
217
+ allowNullableBoolean?: boolean;
218
+ allowNullableString?: boolean;
219
+ allowNullableNumber?: boolean;
220
+ allowNullableEnum?: boolean;
221
+ allowNullableStringLiteralUnion?: boolean;
222
+ onlyRequireUsedProps?: boolean;
223
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
224
+ name: string;
225
+ };
226
+ "prefer-field-components": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"preferFieldComponent", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
227
+ name: string;
228
+ };
229
+ "require-list-item-virtualization-props": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"requireVirtualizationProps" | "spreadListItemProps" | "useSemanticListItem", [{
230
+ allowCustomComponents?: boolean;
231
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
232
+ name: string;
233
+ };
234
+ };
235
+ };
236
+ "@nx"?: undefined;
237
+ "@typescript-eslint"?: undefined;
238
+ "no-null"?: undefined;
239
+ "import-x"?: undefined;
240
+ jsdoc?: undefined;
241
+ };
242
+ rules: {
243
+ "@trackunit/no-internal-graphql-when-tagged-with-gql-public": string;
244
+ "@typescript-eslint/no-require-imports"?: undefined;
245
+ "@nx/enforce-module-boundaries"?: undefined;
246
+ };
247
+ } | {
248
+ files: string[];
249
+ rules: {
250
+ "@typescript-eslint/no-require-imports": string;
251
+ "@trackunit/no-internal-graphql-when-tagged-with-gql-public"?: undefined;
252
+ "@nx/enforce-module-boundaries"?: undefined;
253
+ };
254
+ plugins?: undefined;
255
+ languageOptions?: undefined;
256
+ } | {
257
+ files: string[];
258
+ rules: {
259
+ "@nx/enforce-module-boundaries": string;
260
+ "@trackunit/no-internal-graphql-when-tagged-with-gql-public"?: undefined;
261
+ "@typescript-eslint/no-require-imports"?: undefined;
262
+ };
263
+ plugins?: undefined;
264
+ languageOptions?: undefined;
265
+ })[];
266
+ react: (import("eslint").Linter.Config<import("eslint").Linter.RulesRecord> | {
267
+ plugins: {
268
+ "@trackunit": {
269
+ rules: {
270
+ "cva-merge-base-classes-as-array": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"stringNeedsArray" | "arrayNeedsSplit", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
271
+ name: string;
272
+ };
273
+ "no-internal-barrel-files": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"noInternalBarrel", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
274
+ name: string;
275
+ };
276
+ "no-typescript-assertion": {
277
+ meta: import("eslint").Rule.RuleMetaData;
278
+ create: (context: import("eslint").Rule.RuleContext) => import("eslint").Rule.RuleListener;
279
+ };
280
+ "no-internal-graphql-when-tagged-with-gql-public": {
281
+ meta: import("eslint").Rule.RuleMetaData;
282
+ create: (context: import("eslint").Rule.RuleContext) => import("eslint").Rule.RuleListener;
283
+ };
284
+ "design-guideline-button-icon-size-match": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"incorrectIconSize", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
285
+ name: string;
286
+ };
287
+ "no-template-strings-in-classname-prop": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"templateStringInClassName", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
288
+ name: string;
289
+ };
290
+ "require-classname-alternatives": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"bannedClassAutoFix" | "bannedClassSuggest" | "suggestReplacement", [({
291
+ alternatives: Record<string, Array<string>>;
292
+ prefixes?: Array<string>;
293
+ } | undefined)?], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
294
+ name: string;
295
+ };
296
+ "no-jest-mock-trackunit-react-core-hooks": import("eslint").Rule.RuleModule;
297
+ "prefer-destructured-imports": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"preferDestructured" | "preferDestructuredGlobal", [({
298
+ packages: Record<string, string>;
299
+ } | undefined)?], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
300
+ name: string;
301
+ };
302
+ "prefer-mouse-event-handler-in-react-props": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"suggestMouseEventHandler" | "preferMouseEventHandler", [{
303
+ allowedNames?: ReadonlyArray<string>;
304
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
305
+ name: string;
306
+ };
307
+ "prefer-event-specific-callback-naming": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<import("../rules/prefer-event-specific-callback-naming/strategies/string-based").NameBasedMessageIds | import("../rules/prefer-event-specific-callback-naming/strategies/type-based").TypeBasedMessageIds, [{
308
+ allowedNames?: ReadonlyArray<string>;
309
+ events?: ReadonlyArray<string>;
310
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
311
+ name: string;
312
+ };
313
+ "require-optional-prop-initialization": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<import("../rules/require-optional-prop-initialization/suggestion-utils").MessageIds, [{
314
+ allowNullableObject?: boolean;
315
+ allowNullableBoolean?: boolean;
316
+ allowNullableString?: boolean;
317
+ allowNullableNumber?: boolean;
318
+ allowNullableEnum?: boolean;
319
+ allowNullableStringLiteralUnion?: boolean;
320
+ onlyRequireUsedProps?: boolean;
321
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
322
+ name: string;
323
+ };
324
+ "prefer-field-components": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"preferFieldComponent", [], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
325
+ name: string;
326
+ };
327
+ "require-list-item-virtualization-props": import("@typescript-eslint/utils/dist/ts-eslint").RuleModule<"requireVirtualizationProps" | "spreadListItemProps" | "useSemanticListItem", [{
328
+ allowCustomComponents?: boolean;
329
+ }], unknown, import("@typescript-eslint/utils/dist/ts-eslint").RuleListener> & {
330
+ name: string;
331
+ };
332
+ };
333
+ };
334
+ "@typescript-eslint": {
335
+ configs: Record<string, ClassicConfig.Config>;
336
+ meta: FlatConfig.PluginMeta;
337
+ rules: typeof import("@typescript-eslint/eslint-plugin/rules");
338
+ };
339
+ jsdoc: {
340
+ rules: Record<string, import("eslint").Rule.RuleModule>;
341
+ configs: Record<string, import("eslint").Linter.Config>;
342
+ };
343
+ react: {
344
+ deprecatedRules: Partial<{
345
+ 'boolean-prop-naming': import("eslint").Rule.RuleModule;
346
+ 'button-has-type': import("eslint").Rule.RuleModule;
347
+ 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
348
+ 'default-props-match-prop-types': import("eslint").Rule.RuleModule;
349
+ 'destructuring-assignment': import("eslint").Rule.RuleModule;
350
+ 'display-name': import("eslint").Rule.RuleModule;
351
+ 'forbid-component-props': import("eslint").Rule.RuleModule;
352
+ 'forbid-dom-props': import("eslint").Rule.RuleModule;
353
+ 'forbid-elements': import("eslint").Rule.RuleModule;
354
+ 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
355
+ 'forbid-prop-types': import("eslint").Rule.RuleModule;
356
+ 'forward-ref-uses-ref': import("eslint").Rule.RuleModule;
357
+ 'function-component-definition': import("eslint").Rule.RuleModule;
358
+ 'hook-use-state': import("eslint").Rule.RuleModule;
359
+ 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
360
+ 'jsx-boolean-value': import("eslint").Rule.RuleModule;
361
+ 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
362
+ 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
363
+ 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
364
+ 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
365
+ 'jsx-curly-newline': import("eslint").Rule.RuleModule;
366
+ 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
367
+ 'jsx-filename-extension': import("eslint").Rule.RuleModule;
368
+ 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
369
+ 'jsx-handler-names': import("eslint").Rule.RuleModule;
370
+ 'jsx-indent': import("eslint").Rule.RuleModule;
371
+ 'jsx-indent-props': import("eslint").Rule.RuleModule;
372
+ 'jsx-key': import("eslint").Rule.RuleModule;
373
+ 'jsx-max-depth': import("eslint").Rule.RuleModule;
374
+ 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
375
+ 'jsx-newline': import("eslint").Rule.RuleModule;
376
+ 'jsx-no-bind': import("eslint").Rule.RuleModule;
377
+ 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
378
+ 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
379
+ 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
380
+ 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
381
+ 'jsx-no-literals': import("eslint").Rule.RuleModule;
382
+ 'jsx-no-script-url': import("eslint").Rule.RuleModule;
383
+ 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
384
+ 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
385
+ 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
386
+ 'jsx-no-undef': import("eslint").Rule.RuleModule;
387
+ 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
388
+ 'jsx-pascal-case': import("eslint").Rule.RuleModule;
389
+ 'jsx-fragments': import("eslint").Rule.RuleModule;
390
+ 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
391
+ 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
392
+ 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule;
393
+ 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
394
+ 'jsx-sort-props': import("eslint").Rule.RuleModule;
395
+ 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
396
+ 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
397
+ 'jsx-uses-react': import("eslint").Rule.RuleModule;
398
+ 'jsx-uses-vars': import("eslint").Rule.RuleModule;
399
+ 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
400
+ 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
401
+ 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
402
+ 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
403
+ 'no-array-index-key': import("eslint").Rule.RuleModule;
404
+ 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
405
+ 'no-children-prop': import("eslint").Rule.RuleModule;
406
+ 'no-danger': import("eslint").Rule.RuleModule;
407
+ 'no-danger-with-children': import("eslint").Rule.RuleModule;
408
+ 'no-deprecated': import("eslint").Rule.RuleModule;
409
+ 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
410
+ 'no-did-update-set-state': import("eslint").Rule.RuleModule;
411
+ 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
412
+ 'no-find-dom-node': import("eslint").Rule.RuleModule;
413
+ 'no-is-mounted': import("eslint").Rule.RuleModule;
414
+ 'no-multi-comp': import("eslint").Rule.RuleModule;
415
+ 'no-namespace': import("eslint").Rule.RuleModule;
416
+ 'no-set-state': import("eslint").Rule.RuleModule;
417
+ 'no-string-refs': import("eslint").Rule.RuleModule;
418
+ 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
419
+ 'no-render-return-value': import("eslint").Rule.RuleModule;
420
+ 'no-this-in-sfc': import("eslint").Rule.RuleModule;
421
+ 'no-typos': import("eslint").Rule.RuleModule;
422
+ 'no-unescaped-entities': import("eslint").Rule.RuleModule;
423
+ 'no-unknown-property': import("eslint").Rule.RuleModule;
424
+ 'no-unsafe': import("eslint").Rule.RuleModule;
425
+ 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
426
+ 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
427
+ 'no-unused-prop-types': import("eslint").Rule.RuleModule;
428
+ 'no-unused-state': import("eslint").Rule.RuleModule;
429
+ 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
430
+ 'no-will-update-set-state': import("eslint").Rule.RuleModule;
431
+ 'prefer-es6-class': import("eslint").Rule.RuleModule;
432
+ 'prefer-exact-props': import("eslint").Rule.RuleModule;
433
+ 'prefer-read-only-props': import("eslint").Rule.RuleModule;
434
+ 'prefer-stateless-function': import("eslint").Rule.RuleModule;
435
+ 'prop-types': import("eslint").Rule.RuleModule;
436
+ 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
437
+ 'require-default-props': import("eslint").Rule.RuleModule;
438
+ 'require-optimization': import("eslint").Rule.RuleModule;
439
+ 'require-render-return': import("eslint").Rule.RuleModule;
440
+ 'self-closing-comp': import("eslint").Rule.RuleModule;
441
+ 'sort-comp': import("eslint").Rule.RuleModule;
442
+ 'sort-default-props': import("eslint").Rule.RuleModule;
443
+ 'sort-prop-types': import("eslint").Rule.RuleModule;
444
+ 'state-in-constructor': import("eslint").Rule.RuleModule;
445
+ 'static-property-placement': import("eslint").Rule.RuleModule;
446
+ 'style-prop-object': import("eslint").Rule.RuleModule;
447
+ 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
448
+ }>;
449
+ rules: {
450
+ 'boolean-prop-naming': import("eslint").Rule.RuleModule;
451
+ 'button-has-type': import("eslint").Rule.RuleModule;
452
+ 'checked-requires-onchange-or-readonly': import("eslint").Rule.RuleModule;
453
+ 'default-props-match-prop-types': import("eslint").Rule.RuleModule;
454
+ 'destructuring-assignment': import("eslint").Rule.RuleModule;
455
+ 'display-name': import("eslint").Rule.RuleModule;
456
+ 'forbid-component-props': import("eslint").Rule.RuleModule;
457
+ 'forbid-dom-props': import("eslint").Rule.RuleModule;
458
+ 'forbid-elements': import("eslint").Rule.RuleModule;
459
+ 'forbid-foreign-prop-types': import("eslint").Rule.RuleModule;
460
+ 'forbid-prop-types': import("eslint").Rule.RuleModule;
461
+ 'forward-ref-uses-ref': import("eslint").Rule.RuleModule;
462
+ 'function-component-definition': import("eslint").Rule.RuleModule;
463
+ 'hook-use-state': import("eslint").Rule.RuleModule;
464
+ 'iframe-missing-sandbox': import("eslint").Rule.RuleModule;
465
+ 'jsx-boolean-value': import("eslint").Rule.RuleModule;
466
+ 'jsx-child-element-spacing': import("eslint").Rule.RuleModule;
467
+ 'jsx-closing-bracket-location': import("eslint").Rule.RuleModule;
468
+ 'jsx-closing-tag-location': import("eslint").Rule.RuleModule;
469
+ 'jsx-curly-spacing': import("eslint").Rule.RuleModule;
470
+ 'jsx-curly-newline': import("eslint").Rule.RuleModule;
471
+ 'jsx-equals-spacing': import("eslint").Rule.RuleModule;
472
+ 'jsx-filename-extension': import("eslint").Rule.RuleModule;
473
+ 'jsx-first-prop-new-line': import("eslint").Rule.RuleModule;
474
+ 'jsx-handler-names': import("eslint").Rule.RuleModule;
475
+ 'jsx-indent': import("eslint").Rule.RuleModule;
476
+ 'jsx-indent-props': import("eslint").Rule.RuleModule;
477
+ 'jsx-key': import("eslint").Rule.RuleModule;
478
+ 'jsx-max-depth': import("eslint").Rule.RuleModule;
479
+ 'jsx-max-props-per-line': import("eslint").Rule.RuleModule;
480
+ 'jsx-newline': import("eslint").Rule.RuleModule;
481
+ 'jsx-no-bind': import("eslint").Rule.RuleModule;
482
+ 'jsx-no-comment-textnodes': import("eslint").Rule.RuleModule;
483
+ 'jsx-no-constructed-context-values': import("eslint").Rule.RuleModule;
484
+ 'jsx-no-duplicate-props': import("eslint").Rule.RuleModule;
485
+ 'jsx-no-leaked-render': import("eslint").Rule.RuleModule;
486
+ 'jsx-no-literals': import("eslint").Rule.RuleModule;
487
+ 'jsx-no-script-url': import("eslint").Rule.RuleModule;
488
+ 'jsx-no-target-blank': import("eslint").Rule.RuleModule;
489
+ 'jsx-no-useless-fragment': import("eslint").Rule.RuleModule;
490
+ 'jsx-one-expression-per-line': import("eslint").Rule.RuleModule;
491
+ 'jsx-no-undef': import("eslint").Rule.RuleModule;
492
+ 'jsx-curly-brace-presence': import("eslint").Rule.RuleModule;
493
+ 'jsx-pascal-case': import("eslint").Rule.RuleModule;
494
+ 'jsx-fragments': import("eslint").Rule.RuleModule;
495
+ 'jsx-props-no-multi-spaces': import("eslint").Rule.RuleModule;
496
+ 'jsx-props-no-spreading': import("eslint").Rule.RuleModule;
497
+ 'jsx-props-no-spread-multi': import("eslint").Rule.RuleModule;
498
+ 'jsx-sort-default-props': import("eslint").Rule.RuleModule;
499
+ 'jsx-sort-props': import("eslint").Rule.RuleModule;
500
+ 'jsx-space-before-closing': import("eslint").Rule.RuleModule;
501
+ 'jsx-tag-spacing': import("eslint").Rule.RuleModule;
502
+ 'jsx-uses-react': import("eslint").Rule.RuleModule;
503
+ 'jsx-uses-vars': import("eslint").Rule.RuleModule;
504
+ 'jsx-wrap-multilines': import("eslint").Rule.RuleModule;
505
+ 'no-invalid-html-attribute': import("eslint").Rule.RuleModule;
506
+ 'no-access-state-in-setstate': import("eslint").Rule.RuleModule;
507
+ 'no-adjacent-inline-elements': import("eslint").Rule.RuleModule;
508
+ 'no-array-index-key': import("eslint").Rule.RuleModule;
509
+ 'no-arrow-function-lifecycle': import("eslint").Rule.RuleModule;
510
+ 'no-children-prop': import("eslint").Rule.RuleModule;
511
+ 'no-danger': import("eslint").Rule.RuleModule;
512
+ 'no-danger-with-children': import("eslint").Rule.RuleModule;
513
+ 'no-deprecated': import("eslint").Rule.RuleModule;
514
+ 'no-did-mount-set-state': import("eslint").Rule.RuleModule;
515
+ 'no-did-update-set-state': import("eslint").Rule.RuleModule;
516
+ 'no-direct-mutation-state': import("eslint").Rule.RuleModule;
517
+ 'no-find-dom-node': import("eslint").Rule.RuleModule;
518
+ 'no-is-mounted': import("eslint").Rule.RuleModule;
519
+ 'no-multi-comp': import("eslint").Rule.RuleModule;
520
+ 'no-namespace': import("eslint").Rule.RuleModule;
521
+ 'no-set-state': import("eslint").Rule.RuleModule;
522
+ 'no-string-refs': import("eslint").Rule.RuleModule;
523
+ 'no-redundant-should-component-update': import("eslint").Rule.RuleModule;
524
+ 'no-render-return-value': import("eslint").Rule.RuleModule;
525
+ 'no-this-in-sfc': import("eslint").Rule.RuleModule;
526
+ 'no-typos': import("eslint").Rule.RuleModule;
527
+ 'no-unescaped-entities': import("eslint").Rule.RuleModule;
528
+ 'no-unknown-property': import("eslint").Rule.RuleModule;
529
+ 'no-unsafe': import("eslint").Rule.RuleModule;
530
+ 'no-unstable-nested-components': import("eslint").Rule.RuleModule;
531
+ 'no-unused-class-component-methods': import("eslint").Rule.RuleModule;
532
+ 'no-unused-prop-types': import("eslint").Rule.RuleModule;
533
+ 'no-unused-state': import("eslint").Rule.RuleModule;
534
+ 'no-object-type-as-default-prop': import("eslint").Rule.RuleModule;
535
+ 'no-will-update-set-state': import("eslint").Rule.RuleModule;
536
+ 'prefer-es6-class': import("eslint").Rule.RuleModule;
537
+ 'prefer-exact-props': import("eslint").Rule.RuleModule;
538
+ 'prefer-read-only-props': import("eslint").Rule.RuleModule;
539
+ 'prefer-stateless-function': import("eslint").Rule.RuleModule;
540
+ 'prop-types': import("eslint").Rule.RuleModule;
541
+ 'react-in-jsx-scope': import("eslint").Rule.RuleModule;
542
+ 'require-default-props': import("eslint").Rule.RuleModule;
543
+ 'require-optimization': import("eslint").Rule.RuleModule;
544
+ 'require-render-return': import("eslint").Rule.RuleModule;
545
+ 'self-closing-comp': import("eslint").Rule.RuleModule;
546
+ 'sort-comp': import("eslint").Rule.RuleModule;
547
+ 'sort-default-props': import("eslint").Rule.RuleModule;
548
+ 'sort-prop-types': import("eslint").Rule.RuleModule;
549
+ 'state-in-constructor': import("eslint").Rule.RuleModule;
550
+ 'static-property-placement': import("eslint").Rule.RuleModule;
551
+ 'style-prop-object': import("eslint").Rule.RuleModule;
552
+ 'void-dom-elements-no-children': import("eslint").Rule.RuleModule;
553
+ };
554
+ configs: {
555
+ recommended: {
556
+ plugins: ["react"];
557
+ parserOptions: {
558
+ ecmaFeatures: {
559
+ jsx: boolean;
560
+ };
561
+ };
562
+ rules: {
563
+ "react/display-name": 2;
564
+ "react/jsx-key": 2;
565
+ "react/jsx-no-comment-textnodes": 2;
566
+ "react/jsx-no-duplicate-props": 2;
567
+ "react/jsx-no-target-blank": 2;
568
+ "react/jsx-no-undef": 2;
569
+ "react/jsx-uses-react": 2;
570
+ "react/jsx-uses-vars": 2;
571
+ "react/no-children-prop": 2;
572
+ "react/no-danger-with-children": 2;
573
+ "react/no-deprecated": 2;
574
+ "react/no-direct-mutation-state": 2;
575
+ "react/no-find-dom-node": 2;
576
+ "react/no-is-mounted": 2;
577
+ "react/no-render-return-value": 2;
578
+ "react/no-string-refs": 2;
579
+ "react/no-unescaped-entities": 2;
580
+ "react/no-unknown-property": 2;
581
+ "react/no-unsafe": 0;
582
+ "react/prop-types": 2;
583
+ "react/react-in-jsx-scope": 2;
584
+ "react/require-render-return": 2;
585
+ };
586
+ };
587
+ all: {
588
+ plugins: ["react"];
589
+ parserOptions: {
590
+ ecmaFeatures: {
591
+ jsx: boolean;
592
+ };
593
+ };
594
+ rules: Record<"boolean-prop-naming" | "button-has-type" | "checked-requires-onchange-or-readonly" | "default-props-match-prop-types" | "destructuring-assignment" | "display-name" | "forbid-component-props" | "forbid-dom-props" | "forbid-elements" | "forbid-foreign-prop-types" | "forbid-prop-types" | "prop-types" | "forward-ref-uses-ref" | "function-component-definition" | "hook-use-state" | "iframe-missing-sandbox" | "jsx-boolean-value" | "jsx-child-element-spacing" | "jsx-closing-bracket-location" | "jsx-closing-tag-location" | "jsx-curly-spacing" | "jsx-curly-newline" | "jsx-equals-spacing" | "jsx-filename-extension" | "jsx-first-prop-new-line" | "jsx-handler-names" | "jsx-indent" | "jsx-indent-props" | "jsx-key" | "jsx-max-depth" | "jsx-max-props-per-line" | "jsx-newline" | "jsx-no-bind" | "jsx-no-comment-textnodes" | "jsx-no-constructed-context-values" | "jsx-no-duplicate-props" | "jsx-no-leaked-render" | "jsx-no-literals" | "jsx-no-script-url" | "jsx-no-target-blank" | "jsx-no-useless-fragment" | "jsx-one-expression-per-line" | "jsx-no-undef" | "jsx-curly-brace-presence" | "jsx-pascal-case" | "jsx-fragments" | "jsx-props-no-multi-spaces" | "jsx-props-no-spreading" | "jsx-props-no-spread-multi" | "sort-default-props" | "jsx-sort-default-props" | "jsx-sort-props" | "jsx-tag-spacing" | "jsx-space-before-closing" | "jsx-uses-react" | "jsx-uses-vars" | "jsx-wrap-multilines" | "no-invalid-html-attribute" | "no-access-state-in-setstate" | "no-adjacent-inline-elements" | "no-array-index-key" | "no-arrow-function-lifecycle" | "no-children-prop" | "no-danger" | "no-danger-with-children" | "no-deprecated" | "no-direct-mutation-state" | "no-find-dom-node" | "no-is-mounted" | "no-multi-comp" | "no-namespace" | "no-set-state" | "no-string-refs" | "no-redundant-should-component-update" | "no-render-return-value" | "no-this-in-sfc" | "no-typos" | "no-unescaped-entities" | "no-unknown-property" | "no-unsafe" | "no-unstable-nested-components" | "no-unused-class-component-methods" | "no-unused-prop-types" | "no-unused-state" | "no-object-type-as-default-prop" | "prefer-es6-class" | "prefer-exact-props" | "prefer-read-only-props" | "prefer-stateless-function" | "react-in-jsx-scope" | "require-default-props" | "require-optimization" | "require-render-return" | "self-closing-comp" | "sort-comp" | "sort-prop-types" | "state-in-constructor" | "static-property-placement" | "style-prop-object" | "void-dom-elements-no-children" | "no-did-mount-set-state" | "no-did-update-set-state" | "no-will-update-set-state", 2 | "error">;
595
+ };
596
+ 'jsx-runtime': {
597
+ plugins: ["react"];
598
+ parserOptions: {
599
+ ecmaFeatures: {
600
+ jsx: boolean;
601
+ };
602
+ jsxPragma: any;
603
+ };
604
+ rules: {
605
+ "react/react-in-jsx-scope": 0;
606
+ "react/jsx-uses-react": 0;
607
+ };
608
+ };
609
+ flat: Record<string, import("eslint-plugin-react").ReactFlatConfig>;
610
+ } & {
611
+ flat: Record<string, import("eslint-plugin-react").ReactFlatConfig>;
612
+ };
613
+ };
614
+ "react-hooks": {
615
+ meta: {
616
+ name: string;
617
+ version: string;
618
+ };
619
+ rules: {
620
+ "exhaustive-deps": {
621
+ meta: {
622
+ type: "suggestion";
623
+ docs: {
624
+ description: string;
625
+ recommended: true;
626
+ url: string;
627
+ };
628
+ fixable: "code";
629
+ hasSuggestions: true;
630
+ schema: {
631
+ type: "object";
632
+ additionalProperties: false;
633
+ enableDangerousAutofixThisMayCauseInfiniteLoops: boolean;
634
+ properties: {
635
+ additionalHooks: {
636
+ type: "string";
637
+ };
638
+ enableDangerousAutofixThisMayCauseInfiniteLoops: {
639
+ type: "boolean";
640
+ };
641
+ experimental_autoDependenciesHooks: {
642
+ type: "array";
643
+ items: {
644
+ type: "string";
645
+ };
646
+ };
647
+ requireExplicitEffectDeps: {
648
+ type: "boolean";
649
+ };
650
+ };
651
+ }[];
652
+ };
653
+ create(context: import("eslint").Rule.RuleContext): {
654
+ CallExpression: (node: estree.CallExpression) => void;
655
+ };
656
+ };
657
+ "rules-of-hooks": {
658
+ meta: {
659
+ type: "problem";
660
+ docs: {
661
+ description: string;
662
+ recommended: true;
663
+ url: string;
664
+ };
665
+ schema: {
666
+ type: "object";
667
+ additionalProperties: false;
668
+ properties: {
669
+ additionalHooks: {
670
+ type: "string";
671
+ };
672
+ };
673
+ }[];
674
+ };
675
+ create(context: import("eslint").Rule.RuleContext): {
676
+ "*"(node: any): void;
677
+ "*:exit"(node: any): void;
678
+ CallExpression(node: estree.CallExpression & import("eslint").Rule.NodeParentExtension): void;
679
+ Identifier(node: estree.Identifier & import("eslint").Rule.NodeParentExtension): void;
680
+ "CallExpression:exit"(node: estree.CallExpression & import("eslint").Rule.NodeParentExtension): void;
681
+ FunctionDeclaration(node: estree.FunctionDeclaration & import("eslint").Rule.NodeParentExtension): void;
682
+ ArrowFunctionExpression(node: estree.ArrowFunctionExpression & import("eslint").Rule.NodeParentExtension): void;
683
+ };
684
+ };
685
+ };
686
+ configs: {
687
+ recommended: {
688
+ plugins: string[];
689
+ rules: import("eslint").Linter.RulesRecord;
690
+ };
691
+ "recommended-latest": {
692
+ plugins: string[];
693
+ rules: import("eslint").Linter.RulesRecord;
694
+ };
695
+ flat: {
696
+ recommended: {
697
+ plugins: {
698
+ react: any;
699
+ };
700
+ rules: import("eslint").Linter.RulesRecord;
701
+ };
702
+ "recommended-latest": {
703
+ plugins: {
704
+ react: any;
705
+ };
706
+ rules: import("eslint").Linter.RulesRecord;
707
+ };
708
+ };
709
+ };
710
+ };
711
+ "testing-library": {
712
+ meta: {
713
+ name: string;
714
+ version: string;
715
+ };
716
+ configs: {
717
+ angular: import("eslint").Linter.LegacyConfig;
718
+ dom: import("eslint").Linter.LegacyConfig;
719
+ marko: import("eslint").Linter.LegacyConfig;
720
+ react: import("eslint").Linter.LegacyConfig;
721
+ svelte: import("eslint").Linter.LegacyConfig;
722
+ vue: import("eslint").Linter.LegacyConfig;
723
+ "flat/angular": import("eslint").Linter.FlatConfig;
724
+ "flat/dom": import("eslint").Linter.FlatConfig;
725
+ "flat/marko": import("eslint").Linter.FlatConfig;
726
+ "flat/react": import("eslint").Linter.FlatConfig;
727
+ "flat/svelte": import("eslint").Linter.FlatConfig;
728
+ "flat/vue": import("eslint").Linter.FlatConfig;
729
+ };
730
+ rules: {
731
+ [key: string]: import("eslint").Rule.RuleModule;
732
+ };
733
+ };
734
+ "@nx": typeof import("@nx/eslint-plugin");
735
+ jest?: undefined;
736
+ };
737
+ settings: {
738
+ react: {
739
+ version: string;
740
+ };
741
+ };
742
+ languageOptions: {
743
+ globals: {
744
+ Text: string;
745
+ screen: string;
746
+ };
747
+ parser: import("eslint").Linter.Parser;
748
+ ecmaVersion: number;
749
+ sourceType: string;
750
+ parserOptions: {
751
+ ecmaFeatures: {
752
+ jsx: boolean;
753
+ };
754
+ };
755
+ };
756
+ files?: undefined;
757
+ rules?: undefined;
758
+ } | {
759
+ files: string[];
760
+ rules: {
761
+ "no-restricted-syntax": (string | {
762
+ selector: string;
763
+ message: string;
764
+ })[];
765
+ "no-multiple-empty-lines": (string | {
766
+ max: number;
767
+ })[];
768
+ "no-unreachable": string;
769
+ "prefer-spread": string;
770
+ "jsdoc/require-jsdoc"?: undefined;
771
+ "no-console"?: undefined;
772
+ "@typescript-eslint/no-empty-function"?: undefined;
773
+ };
774
+ plugins?: undefined;
775
+ settings?: undefined;
776
+ languageOptions?: undefined;
777
+ } | {
778
+ files: string[];
779
+ rules: {
780
+ "jsdoc/require-jsdoc": string;
781
+ "no-console": string;
782
+ "@typescript-eslint/no-empty-function": string;
783
+ };
784
+ plugins?: undefined;
785
+ settings?: undefined;
786
+ languageOptions?: undefined;
787
+ } | {
788
+ files: string[];
789
+ plugins: {
790
+ jest: {
791
+ meta: {
792
+ name: string;
793
+ version: string;
794
+ };
795
+ environments: {
796
+ globals: {
797
+ globals: {
798
+ [key: string]: boolean;
799
+ };
800
+ };
801
+ };
802
+ configs: {
803
+ all: import("eslint").Linter.LegacyConfig;
804
+ recommended: import("eslint").Linter.LegacyConfig;
805
+ style: import("eslint").Linter.LegacyConfig;
806
+ "flat/all": import("eslint").Linter.FlatConfig;
807
+ "flat/recommended": import("eslint").Linter.FlatConfig;
808
+ "flat/style": import("eslint").Linter.FlatConfig;
809
+ };
810
+ rules: {
811
+ [key: string]: import("eslint").Rule.RuleModule;
812
+ };
813
+ };
814
+ "testing-library": {
815
+ meta: {
816
+ name: string;
817
+ version: string;
818
+ };
819
+ configs: {
820
+ angular: import("eslint").Linter.LegacyConfig;
821
+ dom: import("eslint").Linter.LegacyConfig;
822
+ marko: import("eslint").Linter.LegacyConfig;
823
+ react: import("eslint").Linter.LegacyConfig;
824
+ svelte: import("eslint").Linter.LegacyConfig;
825
+ vue: import("eslint").Linter.LegacyConfig;
826
+ "flat/angular": import("eslint").Linter.FlatConfig;
827
+ "flat/dom": import("eslint").Linter.FlatConfig;
828
+ "flat/marko": import("eslint").Linter.FlatConfig;
829
+ "flat/react": import("eslint").Linter.FlatConfig;
830
+ "flat/svelte": import("eslint").Linter.FlatConfig;
831
+ "flat/vue": import("eslint").Linter.FlatConfig;
832
+ };
833
+ rules: {
834
+ [key: string]: import("eslint").Rule.RuleModule;
835
+ };
836
+ };
837
+ "@trackunit"?: undefined;
838
+ "@typescript-eslint"?: undefined;
839
+ jsdoc?: undefined;
840
+ react?: undefined;
841
+ "react-hooks"?: undefined;
842
+ "@nx"?: undefined;
843
+ };
844
+ languageOptions: {
845
+ globals: {
846
+ Text: string;
847
+ screen: string;
848
+ };
849
+ parser: import("eslint").Linter.Parser;
850
+ ecmaVersion?: undefined;
851
+ sourceType?: undefined;
852
+ parserOptions?: undefined;
853
+ };
854
+ rules: {
855
+ "jest/no-commented-out-tests": string;
856
+ "jest/expect-expect": string;
857
+ "jsdoc/require-jsdoc"?: undefined;
858
+ "no-console"?: undefined;
859
+ "@typescript-eslint/no-empty-function"?: undefined;
860
+ };
861
+ settings?: undefined;
862
+ })[];
863
+ };