@4mbl/lint 1.0.0-beta.2 → 1.0.0-beta.20

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/dist/react.d.ts CHANGED
@@ -1,11 +1,17 @@
1
1
  import { defineConfig, type OxlintConfig } from 'oxlint';
2
2
  export type ReactOptions = {};
3
- declare function reactConfig(_options?: Partial<ReactOptions>): {
3
+ declare function reactConfig(options?: Partial<ReactOptions>): {
4
4
  extends: {
5
- plugins: ("unicorn" | "typescript")[];
5
+ plugins: ("unicorn" | "typescript" | "import")[];
6
6
  jsPlugins: never[];
7
7
  categories: {
8
- correctness: "off";
8
+ correctness: "error";
9
+ suspicious: "warn";
10
+ pedantic: "off";
11
+ perf: "warn";
12
+ style: "warn";
13
+ restriction: "warn";
14
+ nursery: "off";
9
15
  };
10
16
  env: {
11
17
  builtin: true;
@@ -14,123 +20,166 @@ declare function reactConfig(_options?: Partial<ReactOptions>): {
14
20
  typeAware: true;
15
21
  };
16
22
  rules: {
17
- 'constructor-super': "error";
18
- 'for-direction': "error";
19
- 'getter-return': "error";
20
- 'no-async-promise-executor': "error";
21
- 'no-case-declarations': "error";
22
- 'no-class-assign': "error";
23
- 'no-compare-neg-zero': "error";
24
- 'no-cond-assign': "error";
25
- 'no-const-assign': "error";
26
- 'no-constant-binary-expression': "error";
27
- 'no-constant-condition': "error";
28
- 'no-control-regex': "error";
29
- 'no-debugger': "error";
30
- 'no-delete-var': "error";
31
- 'no-dupe-class-members': "error";
32
- 'no-dupe-else-if': "error";
33
- 'no-dupe-keys': "error";
34
- 'no-duplicate-case': "error";
35
- 'no-empty': "error";
36
- 'no-empty-character-class': "error";
37
- 'no-empty-pattern': "error";
38
- 'no-empty-static-block': "error";
39
- 'no-ex-assign': "error";
40
- 'no-extra-boolean-cast': "error";
41
- 'no-fallthrough': "error";
42
- 'no-func-assign': "error";
43
- 'no-global-assign': "error";
44
- 'no-import-assign': "error";
45
- 'no-invalid-regexp': "error";
46
- 'no-irregular-whitespace': "error";
47
- 'no-loss-of-precision': "error";
48
- 'no-misleading-character-class': "error";
49
- 'no-new-native-nonconstructor': "error";
50
- 'no-nonoctal-decimal-escape': "error";
51
- 'no-obj-calls': "error";
52
- 'no-prototype-builtins': "error";
53
- 'no-redeclare': "error";
54
- 'no-regex-spaces': "error";
55
- 'no-self-assign': "error";
56
- 'no-setter-return': "error";
57
- 'no-shadow-restricted-names': "error";
58
- 'no-sparse-arrays': "error";
59
- 'no-this-before-super': "error";
60
- 'no-undef': "error";
61
- 'no-unexpected-multiline': "error";
62
- 'no-unreachable': "error";
63
- 'no-unsafe-finally': "error";
64
- 'no-unsafe-negation': "error";
65
- 'no-unsafe-optional-chaining': "error";
66
- 'no-unused-labels': "error";
67
- 'no-unused-private-class-members': "error";
68
- 'no-unused-vars': "warn";
69
- 'no-useless-backreference': "error";
70
- 'no-useless-catch': "error";
71
- 'no-useless-escape': "error";
72
- 'no-with': "error";
73
- 'require-yield': "error";
74
- 'use-isnan': "error";
75
- 'valid-typeof': "error";
76
- '@typescript-eslint/ban-ts-comment': "error";
77
- 'no-array-constructor': "error";
78
- '@typescript-eslint/no-duplicate-enum-values': "error";
79
- '@typescript-eslint/no-empty-object-type': "error";
80
- '@typescript-eslint/no-explicit-any': "error";
81
- '@typescript-eslint/no-extra-non-null-assertion': "error";
82
- '@typescript-eslint/no-misused-new': "error";
83
- '@typescript-eslint/no-namespace': "error";
84
- '@typescript-eslint/no-non-null-asserted-optional-chain': "error";
85
- '@typescript-eslint/no-require-imports': "error";
86
- '@typescript-eslint/no-this-alias': "error";
87
- '@typescript-eslint/no-unnecessary-type-constraint': "error";
88
- '@typescript-eslint/no-unsafe-declaration-merging': "error";
89
- '@typescript-eslint/no-unsafe-function-type': "error";
90
- 'no-unused-expressions': "warn";
91
- '@typescript-eslint/no-wrapper-object-types': "error";
92
- '@typescript-eslint/prefer-as-const': "error";
93
- '@typescript-eslint/prefer-namespace-keyword': "error";
94
- '@typescript-eslint/triple-slash-reference': "error";
23
+ 'eslint/no-var': "warn";
24
+ 'eslint/prefer-const': "error";
25
+ 'eslint/prefer-rest-params': "error";
26
+ 'eslint/prefer-spread': "error";
27
+ 'eslint/no-async-promise-executor': "error";
28
+ 'eslint/no-case-declarations': "error";
29
+ 'eslint/no-class-assign': "error";
30
+ 'eslint/no-compare-neg-zero': "error";
31
+ 'eslint/no-cond-assign': "error";
32
+ 'eslint/no-const-assign': "error";
33
+ 'eslint/no-constant-binary-expression': "error";
34
+ 'eslint/no-constant-condition': "error";
35
+ 'eslint/no-control-regex': "error";
36
+ 'eslint/no-debugger': "error";
37
+ 'eslint/no-delete-var': "error";
38
+ 'eslint/no-dupe-else-if': "error";
39
+ 'eslint/no-duplicate-case': "error";
40
+ 'eslint/no-empty': "error";
41
+ 'eslint/no-empty-character-class': "error";
42
+ 'eslint/no-empty-pattern': "error";
43
+ 'eslint/no-empty-static-block': "error";
44
+ 'eslint/no-ex-assign': "error";
45
+ 'eslint/no-extra-boolean-cast': "error";
46
+ 'eslint/no-fallthrough': ["error", {
47
+ allowEmptyCase: boolean;
48
+ }];
49
+ 'eslint/no-func-assign': "error";
50
+ 'eslint/no-global-assign': "error";
51
+ 'eslint/no-import-assign': "error";
52
+ 'eslint/no-invalid-regexp': "error";
53
+ 'eslint/no-irregular-whitespace': "error";
54
+ 'eslint/no-loss-of-precision': "error";
55
+ 'eslint/no-misleading-character-class': "error";
56
+ 'eslint/no-nonoctal-decimal-escape': "error";
57
+ 'eslint/no-obj-calls': "error";
58
+ 'eslint/no-prototype-builtins': "error";
59
+ 'eslint/no-redeclare': "error";
60
+ 'eslint/no-regex-spaces': "error";
61
+ 'eslint/no-self-assign': "error";
62
+ 'eslint/no-shadow-restricted-names': "error";
63
+ 'eslint/no-sparse-arrays': "error";
64
+ 'eslint/no-unexpected-multiline': "error";
65
+ 'eslint/no-unsafe-finally': "error";
66
+ 'eslint/no-unsafe-negation': "error";
67
+ 'eslint/no-unsafe-optional-chaining': "error";
68
+ 'eslint/no-unused-labels': "error";
69
+ 'eslint/no-unused-private-class-members': "error";
70
+ 'eslint/no-unused-vars': "warn";
71
+ 'eslint/no-useless-backreference': "error";
72
+ 'eslint/no-useless-catch': "error";
73
+ 'eslint/no-useless-escape': "error";
74
+ 'eslint/require-yield': "error";
75
+ 'eslint/use-isnan': "error";
76
+ 'eslint/valid-typeof': "error";
77
+ 'eslint/no-unused-expressions': "warn";
78
+ 'typescript/ban-ts-comment': "error";
79
+ 'typescript/no-duplicate-enum-values': "off";
80
+ 'typescript/no-empty-object-type': "error";
81
+ 'typescript/no-explicit-any': "error";
82
+ 'typescript/no-extra-non-null-assertion': "error";
83
+ 'typescript/no-misused-new': "error";
84
+ 'typescript/no-namespace': "error";
85
+ 'typescript/no-non-null-asserted-optional-chain': "error";
86
+ 'typescript/no-require-imports': "error";
87
+ 'typescript/no-this-alias': "error";
88
+ 'typescript/no-unnecessary-type-constraint': "error";
89
+ 'typescript/no-unsafe-declaration-merging': "error";
90
+ 'typescript/no-unsafe-function-type': "error";
91
+ 'typescript/no-wrapper-object-types': "error";
92
+ 'typescript/prefer-as-const': "error";
93
+ 'typescript/triple-slash-reference': "error";
94
+ 'typescript/explicit-member-accessibility': ["warn", {
95
+ accessibility: "no-public";
96
+ }];
97
+ 'eslint/id-length': "off";
98
+ 'eslint/sort-keys': "off";
99
+ 'eslint/capitalized-comments': "off";
100
+ 'eslint/func-style': "off";
101
+ 'eslint/complexity': "off";
102
+ 'eslint/max-params': "off";
103
+ 'eslint/no-ternary': "off";
104
+ 'eslint/curly': "warn";
105
+ 'typescript/consistent-type-definitions': ["warn", "type"];
106
+ 'eslint/max-statements': "off";
107
+ 'typescript/consistent-return': "off";
108
+ 'unicorn/switch-case-braces': "warn";
109
+ 'typescript/prefer-regexp-exec': "warn";
110
+ 'eslint/init-declarations': "off";
111
+ 'unicorn/no-null': "off";
112
+ 'eslint/no-undefined': "off";
113
+ 'eslint/no-console': "off";
114
+ 'eslint/no-continue': "off";
115
+ 'eslint/no-implicit-coercion': ["warn", {
116
+ allow: string[];
117
+ }];
118
+ 'eslint/no-plusplus': "off";
119
+ 'eslint/no-void': "off";
120
+ 'eslint/no-nested-ternary': "off";
121
+ 'eslint/no-empty-function': ["warn", {
122
+ allow: string[];
123
+ }];
124
+ 'unicorn/no-instanceof-builtins': "off";
125
+ 'unicorn/prefer-spread': "off";
126
+ 'eslint/new-cap': "off";
127
+ 'unicorn/no-await-expression-member': "off";
128
+ 'eslint/no-duplicate-imports': ["warn", {
129
+ allowSeparateTypeImports: boolean;
130
+ }];
131
+ 'import/no-named-export': "off";
132
+ 'import/no-default-export': "off";
133
+ 'import/prefer-default-export': "off";
134
+ 'import/no-namespace': "off";
135
+ 'import/exports-last': "off";
136
+ 'import/no-unassigned-import': "off";
137
+ 'import/group-exports': "off";
138
+ 'import/consistent-type-specifier-style': "off";
139
+ 'unicorn/no-new-array': "off";
140
+ 'eslint/no-array-constructor': "warn";
141
+ 'typescript/explicit-function-return-type': "off";
142
+ 'typescript/explicit-module-boundary-types': "off";
143
+ 'unicorn/no-anonymous-default-export': "off";
144
+ 'eslint/sort-imports': "off";
145
+ 'import/no-relative-parent-imports': "off";
146
+ 'eslint/no-magic-numbers': "off";
147
+ 'unicorn/prefer-modern-math-apis': "off";
148
+ 'eslint/no-use-before-define': "off";
149
+ 'eslint/constructor-super': "off";
150
+ 'eslint/getter-return': "off";
151
+ 'eslint/no-dupe-class-members': "off";
152
+ 'eslint/no-dupe-keys': "off";
153
+ 'eslint/no-new-native-nonconstructor': "off";
154
+ 'eslint/no-setter-return': "off";
155
+ 'eslint/no-this-before-super': "off";
156
+ 'eslint/no-undef': "off";
157
+ 'eslint/no-unreachable': "off";
158
+ 'eslint/no-with': "off";
159
+ 'unicorn/no-nested-ternary': "off";
160
+ 'oxc/no-optional-chaining': "off";
161
+ 'oxc/no-rest-spread-properties': "off";
162
+ 'oxc/no-async-await': "off";
95
163
  };
96
- overrides: {
97
- files: string[];
98
- rules: {
99
- 'constructor-super': "off";
100
- 'getter-return': "off";
101
- 'no-class-assign': "off";
102
- 'no-const-assign': "off";
103
- 'no-dupe-class-members': "off";
104
- 'no-dupe-keys': "off";
105
- 'no-func-assign': "off";
106
- 'no-import-assign': "off";
107
- 'no-new-native-nonconstructor': "off";
108
- 'no-obj-calls': "off";
109
- 'no-redeclare': "off";
110
- 'no-setter-return': "off";
111
- 'no-this-before-super': "off";
112
- 'no-undef': "off";
113
- 'no-unreachable': "off";
114
- 'no-unsafe-negation': "off";
115
- 'no-var': "error";
116
- 'no-with': "off";
117
- 'prefer-const': "error";
118
- 'prefer-rest-params': "error";
119
- 'prefer-spread': "error";
120
- };
121
- }[];
122
164
  }[];
123
- plugins: "react"[];
165
+ plugins: ("react" | "unicorn" | "typescript" | "import")[];
124
166
  jsPlugins: {
125
167
  name: string;
126
168
  specifier: string;
127
169
  }[];
128
170
  rules: {
129
- 'react-hooks-js/rules-of-hooks': "error";
130
- 'react-hooks-js/exhaustive-deps': "warn";
171
+ 'react/rules-of-hooks': "error";
172
+ 'react/exhaustive-deps': "warn";
131
173
  'react-hooks-js/set-state-in-effect': "warn";
132
- 'react-refresh-js/only-export-components': "error";
174
+ 'react/only-export-components': "error";
133
175
  'react-compiler-js/react-compiler': "error";
176
+ 'react/jsx-filename-extension': "off";
177
+ 'react/jsx-max-depth': "off";
178
+ 'react/no-multi-comp': "off";
179
+ 'react/jsx-props-no-spreading': "off";
180
+ 'react/jsx-no-literals': "off";
181
+ 'react/forbid-component-props': "off";
182
+ 'react/forbid-dom-props': "off";
134
183
  };
135
184
  overrides: {
136
185
  files: string[];
@@ -154,10 +203,10 @@ declare function reactConfig(_options?: Partial<ReactOptions>): {
154
203
  'react/react-in-jsx-scope': "off";
155
204
  'react/require-render-return': "error";
156
205
  'import/no-anonymous-default-export': "warn";
157
- 'jsx-a11y/alt-text': (string | {
158
- elements: string[];
206
+ 'jsx-a11y/alt-text': ["warn", {
207
+ elements: "img"[];
159
208
  img: string[];
160
- })[];
209
+ }];
161
210
  'jsx-a11y/aria-props': "warn";
162
211
  'jsx-a11y/aria-proptypes': "warn";
163
212
  'jsx-a11y/aria-unsupported-elements': "warn";
@@ -181,4 +230,234 @@ declare function reactConfig(_options?: Partial<ReactOptions>): {
181
230
  }[];
182
231
  };
183
232
  export { type OxlintConfig, defineConfig, reactConfig };
233
+ declare const _default: {
234
+ extends: {
235
+ plugins: ("unicorn" | "typescript" | "import")[];
236
+ jsPlugins: never[];
237
+ categories: {
238
+ correctness: "error";
239
+ suspicious: "warn";
240
+ pedantic: "off";
241
+ perf: "warn";
242
+ style: "warn";
243
+ restriction: "warn";
244
+ nursery: "off";
245
+ };
246
+ env: {
247
+ builtin: true;
248
+ };
249
+ options: {
250
+ typeAware: true;
251
+ };
252
+ rules: {
253
+ 'eslint/no-var': "warn";
254
+ 'eslint/prefer-const': "error";
255
+ 'eslint/prefer-rest-params': "error";
256
+ 'eslint/prefer-spread': "error";
257
+ 'eslint/no-async-promise-executor': "error";
258
+ 'eslint/no-case-declarations': "error";
259
+ 'eslint/no-class-assign': "error";
260
+ 'eslint/no-compare-neg-zero': "error";
261
+ 'eslint/no-cond-assign': "error";
262
+ 'eslint/no-const-assign': "error";
263
+ 'eslint/no-constant-binary-expression': "error";
264
+ 'eslint/no-constant-condition': "error";
265
+ 'eslint/no-control-regex': "error";
266
+ 'eslint/no-debugger': "error";
267
+ 'eslint/no-delete-var': "error";
268
+ 'eslint/no-dupe-else-if': "error";
269
+ 'eslint/no-duplicate-case': "error";
270
+ 'eslint/no-empty': "error";
271
+ 'eslint/no-empty-character-class': "error";
272
+ 'eslint/no-empty-pattern': "error";
273
+ 'eslint/no-empty-static-block': "error";
274
+ 'eslint/no-ex-assign': "error";
275
+ 'eslint/no-extra-boolean-cast': "error";
276
+ 'eslint/no-fallthrough': ["error", {
277
+ allowEmptyCase: boolean;
278
+ }];
279
+ 'eslint/no-func-assign': "error";
280
+ 'eslint/no-global-assign': "error";
281
+ 'eslint/no-import-assign': "error";
282
+ 'eslint/no-invalid-regexp': "error";
283
+ 'eslint/no-irregular-whitespace': "error";
284
+ 'eslint/no-loss-of-precision': "error";
285
+ 'eslint/no-misleading-character-class': "error";
286
+ 'eslint/no-nonoctal-decimal-escape': "error";
287
+ 'eslint/no-obj-calls': "error";
288
+ 'eslint/no-prototype-builtins': "error";
289
+ 'eslint/no-redeclare': "error";
290
+ 'eslint/no-regex-spaces': "error";
291
+ 'eslint/no-self-assign': "error";
292
+ 'eslint/no-shadow-restricted-names': "error";
293
+ 'eslint/no-sparse-arrays': "error";
294
+ 'eslint/no-unexpected-multiline': "error";
295
+ 'eslint/no-unsafe-finally': "error";
296
+ 'eslint/no-unsafe-negation': "error";
297
+ 'eslint/no-unsafe-optional-chaining': "error";
298
+ 'eslint/no-unused-labels': "error";
299
+ 'eslint/no-unused-private-class-members': "error";
300
+ 'eslint/no-unused-vars': "warn";
301
+ 'eslint/no-useless-backreference': "error";
302
+ 'eslint/no-useless-catch': "error";
303
+ 'eslint/no-useless-escape': "error";
304
+ 'eslint/require-yield': "error";
305
+ 'eslint/use-isnan': "error";
306
+ 'eslint/valid-typeof': "error";
307
+ 'eslint/no-unused-expressions': "warn";
308
+ 'typescript/ban-ts-comment': "error";
309
+ 'typescript/no-duplicate-enum-values': "off";
310
+ 'typescript/no-empty-object-type': "error";
311
+ 'typescript/no-explicit-any': "error";
312
+ 'typescript/no-extra-non-null-assertion': "error";
313
+ 'typescript/no-misused-new': "error";
314
+ 'typescript/no-namespace': "error";
315
+ 'typescript/no-non-null-asserted-optional-chain': "error";
316
+ 'typescript/no-require-imports': "error";
317
+ 'typescript/no-this-alias': "error";
318
+ 'typescript/no-unnecessary-type-constraint': "error";
319
+ 'typescript/no-unsafe-declaration-merging': "error";
320
+ 'typescript/no-unsafe-function-type': "error";
321
+ 'typescript/no-wrapper-object-types': "error";
322
+ 'typescript/prefer-as-const': "error";
323
+ 'typescript/triple-slash-reference': "error";
324
+ 'typescript/explicit-member-accessibility': ["warn", {
325
+ accessibility: "no-public";
326
+ }];
327
+ 'eslint/id-length': "off";
328
+ 'eslint/sort-keys': "off";
329
+ 'eslint/capitalized-comments': "off";
330
+ 'eslint/func-style': "off";
331
+ 'eslint/complexity': "off";
332
+ 'eslint/max-params': "off";
333
+ 'eslint/no-ternary': "off";
334
+ 'eslint/curly': "warn";
335
+ 'typescript/consistent-type-definitions': ["warn", "type"];
336
+ 'eslint/max-statements': "off";
337
+ 'typescript/consistent-return': "off";
338
+ 'unicorn/switch-case-braces': "warn";
339
+ 'typescript/prefer-regexp-exec': "warn";
340
+ 'eslint/init-declarations': "off";
341
+ 'unicorn/no-null': "off";
342
+ 'eslint/no-undefined': "off";
343
+ 'eslint/no-console': "off";
344
+ 'eslint/no-continue': "off";
345
+ 'eslint/no-implicit-coercion': ["warn", {
346
+ allow: string[];
347
+ }];
348
+ 'eslint/no-plusplus': "off";
349
+ 'eslint/no-void': "off";
350
+ 'eslint/no-nested-ternary': "off";
351
+ 'eslint/no-empty-function': ["warn", {
352
+ allow: string[];
353
+ }];
354
+ 'unicorn/no-instanceof-builtins': "off";
355
+ 'unicorn/prefer-spread': "off";
356
+ 'eslint/new-cap': "off";
357
+ 'unicorn/no-await-expression-member': "off";
358
+ 'eslint/no-duplicate-imports': ["warn", {
359
+ allowSeparateTypeImports: boolean;
360
+ }];
361
+ 'import/no-named-export': "off";
362
+ 'import/no-default-export': "off";
363
+ 'import/prefer-default-export': "off";
364
+ 'import/no-namespace': "off";
365
+ 'import/exports-last': "off";
366
+ 'import/no-unassigned-import': "off";
367
+ 'import/group-exports': "off";
368
+ 'import/consistent-type-specifier-style': "off";
369
+ 'unicorn/no-new-array': "off";
370
+ 'eslint/no-array-constructor': "warn";
371
+ 'typescript/explicit-function-return-type': "off";
372
+ 'typescript/explicit-module-boundary-types': "off";
373
+ 'unicorn/no-anonymous-default-export': "off";
374
+ 'eslint/sort-imports': "off";
375
+ 'import/no-relative-parent-imports': "off";
376
+ 'eslint/no-magic-numbers': "off";
377
+ 'unicorn/prefer-modern-math-apis': "off";
378
+ 'eslint/no-use-before-define': "off";
379
+ 'eslint/constructor-super': "off";
380
+ 'eslint/getter-return': "off";
381
+ 'eslint/no-dupe-class-members': "off";
382
+ 'eslint/no-dupe-keys': "off";
383
+ 'eslint/no-new-native-nonconstructor': "off";
384
+ 'eslint/no-setter-return': "off";
385
+ 'eslint/no-this-before-super': "off";
386
+ 'eslint/no-undef': "off";
387
+ 'eslint/no-unreachable': "off";
388
+ 'eslint/no-with': "off";
389
+ 'unicorn/no-nested-ternary': "off";
390
+ 'oxc/no-optional-chaining': "off";
391
+ 'oxc/no-rest-spread-properties': "off";
392
+ 'oxc/no-async-await': "off";
393
+ };
394
+ }[];
395
+ plugins: ("react" | "unicorn" | "typescript" | "import")[];
396
+ jsPlugins: {
397
+ name: string;
398
+ specifier: string;
399
+ }[];
400
+ rules: {
401
+ 'react/rules-of-hooks': "error";
402
+ 'react/exhaustive-deps': "warn";
403
+ 'react-hooks-js/set-state-in-effect': "warn";
404
+ 'react/only-export-components': "error";
405
+ 'react-compiler-js/react-compiler': "error";
406
+ 'react/jsx-filename-extension': "off";
407
+ 'react/jsx-max-depth': "off";
408
+ 'react/no-multi-comp': "off";
409
+ 'react/jsx-props-no-spreading': "off";
410
+ 'react/jsx-no-literals': "off";
411
+ 'react/forbid-component-props': "off";
412
+ 'react/forbid-dom-props': "off";
413
+ };
414
+ overrides: {
415
+ files: string[];
416
+ rules: {
417
+ 'react/display-name': "error";
418
+ 'react/jsx-key': "error";
419
+ 'react/jsx-no-comment-textnodes': "error";
420
+ 'react/jsx-no-duplicate-props': "error";
421
+ 'react/jsx-no-target-blank': "off";
422
+ 'react/jsx-no-undef': "error";
423
+ 'react/no-children-prop': "error";
424
+ 'react/no-danger-with-children': "error";
425
+ 'react/no-direct-mutation-state': "error";
426
+ 'react/no-find-dom-node': "error";
427
+ 'react/no-is-mounted': "error";
428
+ 'react/no-render-return-value': "error";
429
+ 'react/no-string-refs': "error";
430
+ 'react/no-unescaped-entities': "error";
431
+ 'react/no-unknown-property': "off";
432
+ 'react/no-unsafe': "off";
433
+ 'react/react-in-jsx-scope': "off";
434
+ 'react/require-render-return': "error";
435
+ 'import/no-anonymous-default-export': "warn";
436
+ 'jsx-a11y/alt-text': ["warn", {
437
+ elements: "img"[];
438
+ img: string[];
439
+ }];
440
+ 'jsx-a11y/aria-props': "warn";
441
+ 'jsx-a11y/aria-proptypes': "warn";
442
+ 'jsx-a11y/aria-unsupported-elements': "warn";
443
+ 'jsx-a11y/role-has-required-aria-props': "warn";
444
+ 'jsx-a11y/role-supports-aria-props': "warn";
445
+ };
446
+ globals: {
447
+ AudioWorkletGlobalScope: "readonly";
448
+ AudioWorkletProcessor: "readonly";
449
+ currentFrame: "readonly";
450
+ currentTime: "readonly";
451
+ registerProcessor: "readonly";
452
+ sampleRate: "readonly";
453
+ WorkletGlobalScope: "readonly";
454
+ };
455
+ plugins: ("import" | "jsx-a11y")[];
456
+ env: {
457
+ browser: true;
458
+ node: true;
459
+ };
460
+ }[];
461
+ };
462
+ export default _default;
184
463
  //# sourceMappingURL=react.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGzD,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC;AAI9B,iBAAS,WAAW,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkEpD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGzD,MAAM,MAAM,YAAY,GAAG,EAAE,CAAC;AAI9B,iBAAS,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmFnD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExD,wBAA6B"}
package/dist/react.js CHANGED
@@ -1,22 +1,36 @@
1
1
  import { defineConfig } from 'oxlint';
2
2
  import { baseConfig } from './base.js';
3
3
  // const DEFAULT_OPTIONS: ReactOptions = {};
4
- function reactConfig(_options) {
4
+ function reactConfig(options) {
5
5
  // const opts = { ...DEFAULT_OPTIONS, ...options };
6
+ const base = baseConfig(options);
6
7
  return defineConfig({
7
- extends: [baseConfig()],
8
- plugins: ['react'],
8
+ extends: [base],
9
+ plugins: [...base.plugins, 'react'],
9
10
  jsPlugins: [
11
+ // react compiler is not yet supported by oxc
12
+ // https://github.com/oxc-project/oxc/issues/10048
13
+ // this means compiler related rules are not yet supported
14
+ // https://github.com/oxc-project/oxc/issues/1022
15
+ // react compiler port to rust may enable compiler related rules
16
+ // https://github.com/facebook/react/pull/36173
10
17
  { name: 'react-hooks-js', specifier: 'eslint-plugin-react-hooks' },
11
- { name: 'react-refresh-js', specifier: 'eslint-plugin-react-refresh' },
12
18
  { name: 'react-compiler-js', specifier: 'eslint-plugin-react-compiler' },
13
19
  ],
14
20
  rules: {
15
- 'react-hooks-js/rules-of-hooks': 'error',
16
- 'react-hooks-js/exhaustive-deps': 'warn',
21
+ 'react/rules-of-hooks': 'error',
22
+ 'react/exhaustive-deps': 'warn',
17
23
  'react-hooks-js/set-state-in-effect': 'warn',
18
- 'react-refresh-js/only-export-components': 'error',
24
+ 'react/only-export-components': 'error',
19
25
  'react-compiler-js/react-compiler': 'error',
26
+ 'react/jsx-filename-extension': 'off',
27
+ 'react/jsx-max-depth': 'off',
28
+ 'react/no-multi-comp': 'off',
29
+ 'react/jsx-props-no-spreading': 'off',
30
+ 'react/jsx-no-literals': 'off',
31
+ // conflicts with tailwind
32
+ 'react/forbid-component-props': 'off',
33
+ 'react/forbid-dom-props': 'off',
20
34
  },
21
35
  overrides: [
22
36
  {
@@ -68,4 +82,5 @@ function reactConfig(_options) {
68
82
  });
69
83
  }
70
84
  export { defineConfig, reactConfig };
85
+ export default reactConfig();
71
86
  //# sourceMappingURL=react.js.map
package/dist/react.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC,4CAA4C;AAE5C,SAAS,WAAW,CAAC,QAAgC;IACnD,mDAAmD;IAEnD,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC,OAAO,CAAC;QAClB,SAAS,EAAE;YACT,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,2BAA2B,EAAE;YAClE,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,6BAA6B,EAAE;YACtE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,8BAA8B,EAAE;SACzE;QACD,KAAK,EAAE;YACL,+BAA+B,EAAE,OAAO;YACxC,gCAAgC,EAAE,MAAM;YACxC,oCAAoC,EAAE,MAAM;YAC5C,yCAAyC,EAAE,OAAO;YAClD,kCAAkC,EAAE,OAAO;SAC5C;QACD,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,CAAC,kCAAkC,CAAC;gBAC3C,KAAK,EAAE;oBACL,oBAAoB,EAAE,OAAO;oBAC7B,eAAe,EAAE,OAAO;oBACxB,gCAAgC,EAAE,OAAO;oBACzC,8BAA8B,EAAE,OAAO;oBACvC,2BAA2B,EAAE,KAAK;oBAClC,oBAAoB,EAAE,OAAO;oBAC7B,wBAAwB,EAAE,OAAO;oBACjC,+BAA+B,EAAE,OAAO;oBACxC,mEAAmE;oBACnE,gCAAgC,EAAE,OAAO;oBACzC,wBAAwB,EAAE,OAAO;oBACjC,qBAAqB,EAAE,OAAO;oBAC9B,8BAA8B,EAAE,OAAO;oBACvC,sBAAsB,EAAE,OAAO;oBAC/B,6BAA6B,EAAE,OAAO;oBACtC,2BAA2B,EAAE,KAAK;oBAClC,iBAAiB,EAAE,KAAK;oBACxB,0BAA0B,EAAE,KAAK;oBACjC,6BAA6B,EAAE,OAAO;oBACtC,oCAAoC,EAAE,MAAM;oBAC5C,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpE,qBAAqB,EAAE,MAAM;oBAC7B,yBAAyB,EAAE,MAAM;oBACjC,oCAAoC,EAAE,MAAM;oBAC5C,uCAAuC,EAAE,MAAM;oBAC/C,mCAAmC,EAAE,MAAM;iBAC5C;gBACD,OAAO,EAAE;oBACP,uBAAuB,EAAE,UAAU;oBACnC,qBAAqB,EAAE,UAAU;oBACjC,YAAY,EAAE,UAAU;oBACxB,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,UAAU;oBAC7B,UAAU,EAAE,UAAU;oBACtB,kBAAkB,EAAE,UAAU;iBAC/B;gBACD,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAC/B,GAAG,EAAE;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,IAAI;iBACX;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAqB,YAAY,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,QAAQ,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAIvC,4CAA4C;AAE5C,SAAS,WAAW,CAAC,OAA+B;IAClD,mDAAmD;IAEnD,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAEjC,OAAO,YAAY,CAAC;QAClB,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,OAAO,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC;QACnC,SAAS,EAAE;YACT,6CAA6C;YAC7C,kDAAkD;YAClD,0DAA0D;YAC1D,iDAAiD;YACjD,gEAAgE;YAChE,+CAA+C;YAC/C,EAAE,IAAI,EAAE,gBAAgB,EAAE,SAAS,EAAE,2BAA2B,EAAE;YAClE,EAAE,IAAI,EAAE,mBAAmB,EAAE,SAAS,EAAE,8BAA8B,EAAE;SACzE;QACD,KAAK,EAAE;YACL,sBAAsB,EAAE,OAAO;YAC/B,uBAAuB,EAAE,MAAM;YAC/B,oCAAoC,EAAE,MAAM;YAC5C,8BAA8B,EAAE,OAAO;YACvC,kCAAkC,EAAE,OAAO;YAE3C,8BAA8B,EAAE,KAAK;YACrC,qBAAqB,EAAE,KAAK;YAC5B,qBAAqB,EAAE,KAAK;YAC5B,8BAA8B,EAAE,KAAK;YACrC,uBAAuB,EAAE,KAAK;YAE9B,0BAA0B;YAC1B,8BAA8B,EAAE,KAAK;YACrC,wBAAwB,EAAE,KAAK;SAChC;QACD,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,CAAC,kCAAkC,CAAC;gBAC3C,KAAK,EAAE;oBACL,oBAAoB,EAAE,OAAO;oBAC7B,eAAe,EAAE,OAAO;oBACxB,gCAAgC,EAAE,OAAO;oBACzC,8BAA8B,EAAE,OAAO;oBACvC,2BAA2B,EAAE,KAAK;oBAClC,oBAAoB,EAAE,OAAO;oBAC7B,wBAAwB,EAAE,OAAO;oBACjC,+BAA+B,EAAE,OAAO;oBACxC,mEAAmE;oBACnE,gCAAgC,EAAE,OAAO;oBACzC,wBAAwB,EAAE,OAAO;oBACjC,qBAAqB,EAAE,OAAO;oBAC9B,8BAA8B,EAAE,OAAO;oBACvC,sBAAsB,EAAE,OAAO;oBAC/B,6BAA6B,EAAE,OAAO;oBACtC,2BAA2B,EAAE,KAAK;oBAClC,iBAAiB,EAAE,KAAK;oBACxB,0BAA0B,EAAE,KAAK;oBACjC,6BAA6B,EAAE,OAAO;oBACtC,oCAAoC,EAAE,MAAM;oBAC5C,mBAAmB,EAAE,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;oBACpE,qBAAqB,EAAE,MAAM;oBAC7B,yBAAyB,EAAE,MAAM;oBACjC,oCAAoC,EAAE,MAAM;oBAC5C,uCAAuC,EAAE,MAAM;oBAC/C,mCAAmC,EAAE,MAAM;iBAC5C;gBACD,OAAO,EAAE;oBACP,uBAAuB,EAAE,UAAU;oBACnC,qBAAqB,EAAE,UAAU;oBACjC,YAAY,EAAE,UAAU;oBACxB,WAAW,EAAE,UAAU;oBACvB,iBAAiB,EAAE,UAAU;oBAC7B,UAAU,EAAE,UAAU;oBACtB,kBAAkB,EAAE,UAAU;iBAC/B;gBACD,OAAO,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC;gBAC/B,GAAG,EAAE;oBACH,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE,IAAI;iBACX;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAqB,YAAY,EAAE,WAAW,EAAE,CAAC;AAExD,eAAe,WAAW,EAAE,CAAC"}