@4mbl/lint 1.0.0-beta.0 → 1.0.0-beta.10

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.
@@ -0,0 +1,451 @@
1
+ import { defineConfig, type OxlintConfig } from 'oxlint';
2
+ export type ReactOptions = {};
3
+ declare function reactConfig(_options?: Partial<ReactOptions>): {
4
+ extends: {
5
+ plugins: ("unicorn" | "typescript")[];
6
+ jsPlugins: never[];
7
+ categories: {
8
+ correctness: "error";
9
+ suspicious: "warn";
10
+ pedantic: "off";
11
+ perf: "warn";
12
+ style: "warn";
13
+ restriction: "warn";
14
+ nursery: "off";
15
+ };
16
+ env: {
17
+ builtin: true;
18
+ };
19
+ options: {
20
+ typeAware: true;
21
+ };
22
+ rules: {
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: string;
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", string];
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
+ 'unicorn/no-new-array': "off";
138
+ 'eslint/no-array-constructor': "warn";
139
+ 'typescript/explicit-function-return-type': "off";
140
+ 'typescript/explicit-module-boundary-types': "off";
141
+ 'unicorn/no-anonymous-default-export': "off";
142
+ 'eslint/sort-imports': "off";
143
+ 'eslint/no-magic-numbers': "off";
144
+ 'unicorn/prefer-modern-math-apis': "off";
145
+ 'eslint/no-use-before-define': "off";
146
+ 'eslint/constructor-super': "off";
147
+ 'eslint/getter-return': "off";
148
+ 'eslint/no-dupe-class-members': "off";
149
+ 'eslint/no-dupe-keys': "off";
150
+ 'eslint/no-new-native-nonconstructor': "off";
151
+ 'eslint/no-setter-return': "off";
152
+ 'eslint/no-this-before-super': "off";
153
+ 'eslint/no-undef': "off";
154
+ 'eslint/no-unreachable': "off";
155
+ 'eslint/no-with': "off";
156
+ 'unicorn/no-nested-ternary': "off";
157
+ 'oxc/no-optional-chaining': "off";
158
+ 'oxc/no-rest-spread-properties': "off";
159
+ 'oxc/no-async-await': "off";
160
+ };
161
+ }[];
162
+ plugins: "react"[];
163
+ jsPlugins: {
164
+ name: string;
165
+ specifier: string;
166
+ }[];
167
+ rules: {
168
+ 'react-hooks-js/rules-of-hooks': "error";
169
+ 'react-hooks-js/exhaustive-deps': "warn";
170
+ 'react-hooks-js/set-state-in-effect': "warn";
171
+ 'react-refresh-js/only-export-components': "error";
172
+ 'react-compiler-js/react-compiler': "error";
173
+ 'react/jsx-filename-extension': "off";
174
+ 'react/jsx-max-depth': "off";
175
+ 'react/no-multi-comp': "off";
176
+ 'react/jsx-props-no-spreading': "off";
177
+ };
178
+ overrides: {
179
+ files: string[];
180
+ rules: {
181
+ 'react/display-name': "error";
182
+ 'react/jsx-key': "error";
183
+ 'react/jsx-no-comment-textnodes': "error";
184
+ 'react/jsx-no-duplicate-props': "error";
185
+ 'react/jsx-no-target-blank': "off";
186
+ 'react/jsx-no-undef': "error";
187
+ 'react/no-children-prop': "error";
188
+ 'react/no-danger-with-children': "error";
189
+ 'react/no-direct-mutation-state': "error";
190
+ 'react/no-find-dom-node': "error";
191
+ 'react/no-is-mounted': "error";
192
+ 'react/no-render-return-value': "error";
193
+ 'react/no-string-refs': "error";
194
+ 'react/no-unescaped-entities': "error";
195
+ 'react/no-unknown-property': "off";
196
+ 'react/no-unsafe': "off";
197
+ 'react/react-in-jsx-scope': "off";
198
+ 'react/require-render-return': "error";
199
+ 'import/no-anonymous-default-export': "warn";
200
+ 'jsx-a11y/alt-text': ["warn", {
201
+ elements: string[];
202
+ img: string[];
203
+ }];
204
+ 'jsx-a11y/aria-props': "warn";
205
+ 'jsx-a11y/aria-proptypes': "warn";
206
+ 'jsx-a11y/aria-unsupported-elements': "warn";
207
+ 'jsx-a11y/role-has-required-aria-props': "warn";
208
+ 'jsx-a11y/role-supports-aria-props': "warn";
209
+ };
210
+ globals: {
211
+ AudioWorkletGlobalScope: "readonly";
212
+ AudioWorkletProcessor: "readonly";
213
+ currentFrame: "readonly";
214
+ currentTime: "readonly";
215
+ registerProcessor: "readonly";
216
+ sampleRate: "readonly";
217
+ WorkletGlobalScope: "readonly";
218
+ };
219
+ plugins: ("import" | "jsx-a11y")[];
220
+ env: {
221
+ browser: true;
222
+ node: true;
223
+ };
224
+ }[];
225
+ };
226
+ export { type OxlintConfig, defineConfig, reactConfig };
227
+ declare const _default: {
228
+ extends: {
229
+ plugins: ("unicorn" | "typescript")[];
230
+ jsPlugins: never[];
231
+ categories: {
232
+ correctness: "error";
233
+ suspicious: "warn";
234
+ pedantic: "off";
235
+ perf: "warn";
236
+ style: "warn";
237
+ restriction: "warn";
238
+ nursery: "off";
239
+ };
240
+ env: {
241
+ builtin: true;
242
+ };
243
+ options: {
244
+ typeAware: true;
245
+ };
246
+ rules: {
247
+ 'eslint/no-var': "warn";
248
+ 'eslint/prefer-const': "error";
249
+ 'eslint/prefer-rest-params': "error";
250
+ 'eslint/prefer-spread': "error";
251
+ 'eslint/no-async-promise-executor': "error";
252
+ 'eslint/no-case-declarations': "error";
253
+ 'eslint/no-class-assign': "error";
254
+ 'eslint/no-compare-neg-zero': "error";
255
+ 'eslint/no-cond-assign': "error";
256
+ 'eslint/no-const-assign': "error";
257
+ 'eslint/no-constant-binary-expression': "error";
258
+ 'eslint/no-constant-condition': "error";
259
+ 'eslint/no-control-regex': "error";
260
+ 'eslint/no-debugger': "error";
261
+ 'eslint/no-delete-var': "error";
262
+ 'eslint/no-dupe-else-if': "error";
263
+ 'eslint/no-duplicate-case': "error";
264
+ 'eslint/no-empty': "error";
265
+ 'eslint/no-empty-character-class': "error";
266
+ 'eslint/no-empty-pattern': "error";
267
+ 'eslint/no-empty-static-block': "error";
268
+ 'eslint/no-ex-assign': "error";
269
+ 'eslint/no-extra-boolean-cast': "error";
270
+ 'eslint/no-fallthrough': ["error", {
271
+ allowEmptyCase: boolean;
272
+ }];
273
+ 'eslint/no-func-assign': "error";
274
+ 'eslint/no-global-assign': "error";
275
+ 'eslint/no-import-assign': "error";
276
+ 'eslint/no-invalid-regexp': "error";
277
+ 'eslint/no-irregular-whitespace': "error";
278
+ 'eslint/no-loss-of-precision': "error";
279
+ 'eslint/no-misleading-character-class': "error";
280
+ 'eslint/no-nonoctal-decimal-escape': "error";
281
+ 'eslint/no-obj-calls': "error";
282
+ 'eslint/no-prototype-builtins': "error";
283
+ 'eslint/no-redeclare': "error";
284
+ 'eslint/no-regex-spaces': "error";
285
+ 'eslint/no-self-assign': "error";
286
+ 'eslint/no-shadow-restricted-names': "error";
287
+ 'eslint/no-sparse-arrays': "error";
288
+ 'eslint/no-unexpected-multiline': "error";
289
+ 'eslint/no-unsafe-finally': "error";
290
+ 'eslint/no-unsafe-negation': "error";
291
+ 'eslint/no-unsafe-optional-chaining': "error";
292
+ 'eslint/no-unused-labels': "error";
293
+ 'eslint/no-unused-private-class-members': "error";
294
+ 'eslint/no-unused-vars': "warn";
295
+ 'eslint/no-useless-backreference': "error";
296
+ 'eslint/no-useless-catch': "error";
297
+ 'eslint/no-useless-escape': "error";
298
+ 'eslint/require-yield': "error";
299
+ 'eslint/use-isnan': "error";
300
+ 'eslint/valid-typeof': "error";
301
+ 'eslint/no-unused-expressions': "warn";
302
+ 'typescript/ban-ts-comment': "error";
303
+ 'typescript/no-duplicate-enum-values': "off";
304
+ 'typescript/no-empty-object-type': "error";
305
+ 'typescript/no-explicit-any': "error";
306
+ 'typescript/no-extra-non-null-assertion': "error";
307
+ 'typescript/no-misused-new': "error";
308
+ 'typescript/no-namespace': "error";
309
+ 'typescript/no-non-null-asserted-optional-chain': "error";
310
+ 'typescript/no-require-imports': "error";
311
+ 'typescript/no-this-alias': "error";
312
+ 'typescript/no-unnecessary-type-constraint': "error";
313
+ 'typescript/no-unsafe-declaration-merging': "error";
314
+ 'typescript/no-unsafe-function-type': "error";
315
+ 'typescript/no-wrapper-object-types': "error";
316
+ 'typescript/prefer-as-const': "error";
317
+ 'typescript/triple-slash-reference': "error";
318
+ 'typescript/explicit-member-accessibility': ["warn", {
319
+ accessibility: string;
320
+ }];
321
+ 'eslint/id-length': "off";
322
+ 'eslint/sort-keys': "off";
323
+ 'eslint/capitalized-comments': "off";
324
+ 'eslint/func-style': "off";
325
+ 'eslint/complexity': "off";
326
+ 'eslint/max-params': "off";
327
+ 'eslint/no-ternary': "off";
328
+ 'eslint/curly': "warn";
329
+ 'typescript/consistent-type-definitions': ["warn", string];
330
+ 'eslint/max-statements': "off";
331
+ 'typescript/consistent-return': "off";
332
+ 'unicorn/switch-case-braces': "warn";
333
+ 'typescript/prefer-regexp-exec': "warn";
334
+ 'eslint/init-declarations': "off";
335
+ 'unicorn/no-null': "off";
336
+ 'eslint/no-undefined': "off";
337
+ 'eslint/no-console': "off";
338
+ 'eslint/no-continue': "off";
339
+ 'eslint/no-implicit-coercion': ["warn", {
340
+ allow: string[];
341
+ }];
342
+ 'eslint/no-plusplus': "off";
343
+ 'eslint/no-void': "off";
344
+ 'eslint/no-nested-ternary': "off";
345
+ 'eslint/no-empty-function': ["warn", {
346
+ allow: string[];
347
+ }];
348
+ 'unicorn/no-instanceof-builtins': "off";
349
+ 'unicorn/prefer-spread': "off";
350
+ 'eslint/new-cap': "off";
351
+ 'unicorn/no-await-expression-member': "off";
352
+ 'eslint/no-duplicate-imports': ["warn", {
353
+ allowSeparateTypeImports: boolean;
354
+ }];
355
+ 'import/no-named-export': "off";
356
+ 'import/no-default-export': "off";
357
+ 'import/prefer-default-export': "off";
358
+ 'import/no-namespace': "off";
359
+ 'import/exports-last': "off";
360
+ 'import/no-unassigned-import': "off";
361
+ 'unicorn/no-new-array': "off";
362
+ 'eslint/no-array-constructor': "warn";
363
+ 'typescript/explicit-function-return-type': "off";
364
+ 'typescript/explicit-module-boundary-types': "off";
365
+ 'unicorn/no-anonymous-default-export': "off";
366
+ 'eslint/sort-imports': "off";
367
+ 'eslint/no-magic-numbers': "off";
368
+ 'unicorn/prefer-modern-math-apis': "off";
369
+ 'eslint/no-use-before-define': "off";
370
+ 'eslint/constructor-super': "off";
371
+ 'eslint/getter-return': "off";
372
+ 'eslint/no-dupe-class-members': "off";
373
+ 'eslint/no-dupe-keys': "off";
374
+ 'eslint/no-new-native-nonconstructor': "off";
375
+ 'eslint/no-setter-return': "off";
376
+ 'eslint/no-this-before-super': "off";
377
+ 'eslint/no-undef': "off";
378
+ 'eslint/no-unreachable': "off";
379
+ 'eslint/no-with': "off";
380
+ 'unicorn/no-nested-ternary': "off";
381
+ 'oxc/no-optional-chaining': "off";
382
+ 'oxc/no-rest-spread-properties': "off";
383
+ 'oxc/no-async-await': "off";
384
+ };
385
+ }[];
386
+ plugins: "react"[];
387
+ jsPlugins: {
388
+ name: string;
389
+ specifier: string;
390
+ }[];
391
+ rules: {
392
+ 'react-hooks-js/rules-of-hooks': "error";
393
+ 'react-hooks-js/exhaustive-deps': "warn";
394
+ 'react-hooks-js/set-state-in-effect': "warn";
395
+ 'react-refresh-js/only-export-components': "error";
396
+ 'react-compiler-js/react-compiler': "error";
397
+ 'react/jsx-filename-extension': "off";
398
+ 'react/jsx-max-depth': "off";
399
+ 'react/no-multi-comp': "off";
400
+ 'react/jsx-props-no-spreading': "off";
401
+ };
402
+ overrides: {
403
+ files: string[];
404
+ rules: {
405
+ 'react/display-name': "error";
406
+ 'react/jsx-key': "error";
407
+ 'react/jsx-no-comment-textnodes': "error";
408
+ 'react/jsx-no-duplicate-props': "error";
409
+ 'react/jsx-no-target-blank': "off";
410
+ 'react/jsx-no-undef': "error";
411
+ 'react/no-children-prop': "error";
412
+ 'react/no-danger-with-children': "error";
413
+ 'react/no-direct-mutation-state': "error";
414
+ 'react/no-find-dom-node': "error";
415
+ 'react/no-is-mounted': "error";
416
+ 'react/no-render-return-value': "error";
417
+ 'react/no-string-refs': "error";
418
+ 'react/no-unescaped-entities': "error";
419
+ 'react/no-unknown-property': "off";
420
+ 'react/no-unsafe': "off";
421
+ 'react/react-in-jsx-scope': "off";
422
+ 'react/require-render-return': "error";
423
+ 'import/no-anonymous-default-export': "warn";
424
+ 'jsx-a11y/alt-text': ["warn", {
425
+ elements: string[];
426
+ img: string[];
427
+ }];
428
+ 'jsx-a11y/aria-props': "warn";
429
+ 'jsx-a11y/aria-proptypes': "warn";
430
+ 'jsx-a11y/aria-unsupported-elements': "warn";
431
+ 'jsx-a11y/role-has-required-aria-props': "warn";
432
+ 'jsx-a11y/role-supports-aria-props': "warn";
433
+ };
434
+ globals: {
435
+ AudioWorkletGlobalScope: "readonly";
436
+ AudioWorkletProcessor: "readonly";
437
+ currentFrame: "readonly";
438
+ currentTime: "readonly";
439
+ registerProcessor: "readonly";
440
+ sampleRate: "readonly";
441
+ WorkletGlobalScope: "readonly";
442
+ };
443
+ plugins: ("import" | "jsx-a11y")[];
444
+ env: {
445
+ browser: true;
446
+ node: true;
447
+ };
448
+ }[];
449
+ };
450
+ export default _default;
451
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuEpD;AAED,OAAO,EAAE,KAAK,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAExD,wBAA6B"}
package/dist/react.js ADDED
@@ -0,0 +1,76 @@
1
+ import { defineConfig } from 'oxlint';
2
+ import { baseConfig } from './base.js';
3
+ // const DEFAULT_OPTIONS: ReactOptions = {};
4
+ function reactConfig(_options) {
5
+ // const opts = { ...DEFAULT_OPTIONS, ...options };
6
+ return defineConfig({
7
+ extends: [baseConfig()],
8
+ plugins: ['react'],
9
+ jsPlugins: [
10
+ { name: 'react-hooks-js', specifier: 'eslint-plugin-react-hooks' },
11
+ { name: 'react-refresh-js', specifier: 'eslint-plugin-react-refresh' },
12
+ { name: 'react-compiler-js', specifier: 'eslint-plugin-react-compiler' },
13
+ ],
14
+ rules: {
15
+ 'react-hooks-js/rules-of-hooks': 'error',
16
+ 'react-hooks-js/exhaustive-deps': 'warn',
17
+ 'react-hooks-js/set-state-in-effect': 'warn',
18
+ 'react-refresh-js/only-export-components': 'error',
19
+ 'react-compiler-js/react-compiler': 'error',
20
+ 'react/jsx-filename-extension': 'off',
21
+ 'react/jsx-max-depth': 'off',
22
+ 'react/no-multi-comp': 'off',
23
+ 'react/jsx-props-no-spreading': 'off',
24
+ },
25
+ overrides: [
26
+ {
27
+ files: ['**/*.{js,jsx,mjs,ts,tsx,mts,cts}'],
28
+ rules: {
29
+ 'react/display-name': 'error',
30
+ 'react/jsx-key': 'error',
31
+ 'react/jsx-no-comment-textnodes': 'error',
32
+ 'react/jsx-no-duplicate-props': 'error',
33
+ 'react/jsx-no-target-blank': 'off',
34
+ 'react/jsx-no-undef': 'error',
35
+ 'react/no-children-prop': 'error',
36
+ 'react/no-danger-with-children': 'error',
37
+ // "react/no-deprecated": "error", // not implemented yet in oxlint
38
+ 'react/no-direct-mutation-state': 'error',
39
+ 'react/no-find-dom-node': 'error',
40
+ 'react/no-is-mounted': 'error',
41
+ 'react/no-render-return-value': 'error',
42
+ 'react/no-string-refs': 'error',
43
+ 'react/no-unescaped-entities': 'error',
44
+ 'react/no-unknown-property': 'off',
45
+ 'react/no-unsafe': 'off',
46
+ 'react/react-in-jsx-scope': 'off',
47
+ 'react/require-render-return': 'error',
48
+ 'import/no-anonymous-default-export': 'warn',
49
+ 'jsx-a11y/alt-text': ['warn', { elements: ['img'], img: ['Image'] }],
50
+ 'jsx-a11y/aria-props': 'warn',
51
+ 'jsx-a11y/aria-proptypes': 'warn',
52
+ 'jsx-a11y/aria-unsupported-elements': 'warn',
53
+ 'jsx-a11y/role-has-required-aria-props': 'warn',
54
+ 'jsx-a11y/role-supports-aria-props': 'warn',
55
+ },
56
+ globals: {
57
+ AudioWorkletGlobalScope: 'readonly',
58
+ AudioWorkletProcessor: 'readonly',
59
+ currentFrame: 'readonly',
60
+ currentTime: 'readonly',
61
+ registerProcessor: 'readonly',
62
+ sampleRate: 'readonly',
63
+ WorkletGlobalScope: 'readonly',
64
+ },
65
+ plugins: ['import', 'jsx-a11y'],
66
+ env: {
67
+ browser: true,
68
+ node: true,
69
+ },
70
+ },
71
+ ],
72
+ });
73
+ }
74
+ export { defineConfig, reactConfig };
75
+ export default reactConfig();
76
+ //# sourceMappingURL=react.js.map
@@ -0,0 +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;YAE3C,8BAA8B,EAAE,KAAK;YACrC,qBAAqB,EAAE,KAAK;YAC5B,qBAAqB,EAAE,KAAK;YAC5B,8BAA8B,EAAE,KAAK;SACtC;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"}
package/package.json CHANGED
@@ -1,21 +1,23 @@
1
1
  {
2
2
  "name": "@4mbl/lint",
3
- "version": "1.0.0-beta.0",
3
+ "version": "1.0.0-beta.10",
4
4
  "description": "Linting configuration for various environments.",
5
5
  "type": "module",
6
6
  "author": "4mbl",
7
7
  "license": "MIT",
8
8
  "homepage": "https://github.com/4mbl/config/tree/main/packages/lint#readme",
9
9
  "exports": {
10
- "./next": "./src/next.ts",
11
- "./node": "./src/node.ts",
12
- "./react": "./src/react.ts"
10
+ "./*": {
11
+ "types": "./dist/*.d.ts",
12
+ "development": "./src/*.ts",
13
+ "default": "./dist/*.js"
14
+ }
13
15
  },
14
16
  "bin": {
15
17
  "lint": "./bin/cli.js"
16
18
  },
17
19
  "files": [
18
- "src",
20
+ "dist",
19
21
  "package.json",
20
22
  "README.md",
21
23
  "CHANGELOG.md"
@@ -30,17 +32,18 @@
30
32
  ],
31
33
  "dependencies": {
32
34
  "eslint-plugin-react-compiler": "19.1.0-rc.2",
33
- "eslint-plugin-react-hooks": "^7.0.1",
35
+ "eslint-plugin-react-hooks": "^7.1.1",
34
36
  "eslint-plugin-react-refresh": "^0.5.2",
35
- "globals": "^17.4.0",
37
+ "globals": "^17.5.0",
36
38
  "jiti": "^2.6.1",
37
- "oxlint": "^1.56.0",
38
- "oxlint-tsgolint": "^0.17.0"
39
+ "oxlint": "^1.60.0",
40
+ "oxlint-tsgolint": "^0.21.1"
39
41
  },
40
42
  "devDependencies": {
41
- "@4mbl/tsconfig": "4.4.0"
43
+ "@types/node": "^24.12.2",
44
+ "@4mbl/tsconfig": "5.0.0-beta.0"
42
45
  },
43
46
  "scripts": {
44
- "build": "tsc --noEmit"
47
+ "build": "tsc"
45
48
  }
46
49
  }