ultracite 3.7.4 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ Ultracite is a robust linting preset for modern TypeScript apps. It's comprised
14
14
 
15
15
  ### ESLint
16
16
 
17
- Ultracite uses [ESLint](https://eslint.org/) to enforce code quality and type safety. It includes a wide range of rules to ensure your code is consistent and error-free. Ultracite combines with pre-defined rulesets for ESLint, as well as the following plugins: [Import](https://www.npmjs.com/package/eslint-plugin-import), [jsx-a11y](https://www.npmjs.com/package/eslint-plugin-jsx-a11y), [React](https://www.npmjs.com/package/eslint-plugin-react), [React Hooks](https://www.npmjs.com/package/eslint-plugin-react-hooks), [jest](https://www.npmjs.com/package/eslint-plugin-jest), [promise](https://www.npmjs.com/package/eslint-plugin-promise), [n](https://www.npmjs.com/package/eslint-plugin-n), [Typescript](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin), [Prettier](https://www.npmjs.com/package/eslint-plugin-prettier), [Next.js](https://nextjs.org/docs/basic-features/eslint#eslint-plugin), [Cypress](https://www.npmjs.com/package/eslint-plugin-cypress), [HTML](https://www.npmjs.com/package/eslint-plugin-html), [SonarJS](https://www.npmjs.com/package/eslint-plugin-sonarjs), [Compat](https://www.npmjs.com/package/eslint-plugin-compat) and [Unicorn](https://www.npmjs.com/package/eslint-plugin-unicorn).
17
+ Ultracite uses [ESLint](https://eslint.org/) to enforce code quality and type safety. It includes a wide range of rules to ensure your code is consistent and error-free. Ultracite combines with pre-defined rulesets for ESLint, as well as the following plugins: [Import](https://www.npmjs.com/package/eslint-plugin-import), [jsx-a11y](https://www.npmjs.com/package/eslint-plugin-jsx-a11y), [React](https://www.npmjs.com/package/eslint-plugin-react), [React Hooks](https://www.npmjs.com/package/eslint-plugin-react-hooks), [jest](https://www.npmjs.com/package/eslint-plugin-jest), [promise](https://www.npmjs.com/package/eslint-plugin-promise), [n](https://www.npmjs.com/package/eslint-plugin-n), [Typescript](https://www.npmjs.com/package/@typescript-eslint/eslint-plugin), [Prettier](https://www.npmjs.com/package/eslint-plugin-prettier), [Next.js](https://nextjs.org/docs/basic-features/eslint#eslint-plugin), [Cypress](https://www.npmjs.com/package/eslint-plugin-cypress), [HTML](https://www.npmjs.com/package/eslint-plugin-html), [SonarJS](https://www.npmjs.com/package/eslint-plugin-sonarjs), [Compat](https://www.npmjs.com/package/eslint-plugin-compat), [Unicorn](https://www.npmjs.com/package/eslint-plugin-unicorn) and [GitHub](https://www.npmjs.com/package/eslint-plugin-github).
18
18
 
19
19
  ### Prettier
20
20
 
@@ -1,9 +1,9 @@
1
1
  import plugin from 'eslint-plugin-react';
2
- import reactHooks, { rules as rules$c } from 'eslint-plugin-react-hooks';
2
+ import reactHooks, { rules as rules$d } from 'eslint-plugin-react-hooks';
3
3
  import typescript from '@typescript-eslint/eslint-plugin';
4
4
  import plugin$1 from 'eslint-plugin-jsx-a11y';
5
5
  import * as importPlugin from 'eslint-plugin-import';
6
- import { rules as rules$d } from 'eslint-plugin-import';
6
+ import { rules as rules$e } from 'eslint-plugin-import';
7
7
  import plugin$2 from 'eslint-plugin-jest';
8
8
  import plugin$3 from 'eslint-plugin-promise';
9
9
  import plugin$4 from 'eslint-plugin-n';
@@ -20,8 +20,9 @@ import eslintPrettier from 'eslint-config-prettier';
20
20
  import * as typescriptParser from '@typescript-eslint/parser';
21
21
  import plugin$9 from 'eslint-plugin-sonarjs';
22
22
  import plugin$a from 'eslint-plugin-unicorn';
23
+ import plugin$b from 'eslint-plugin-github';
23
24
 
24
- const config$i = {
25
+ const config$j = {
25
26
  // ESLint Possible Problems: These rules relate to possible logic errors in code
26
27
  'array-callback-return': 'error',
27
28
  'constructor-super': 'error',
@@ -209,17 +210,17 @@ const config$i = {
209
210
  'line-comment-position': 'error',
210
211
  };
211
212
 
212
- const { rules: rules$b } = plugin;
213
+ const { rules: rules$c } = plugin;
213
214
 
214
- const availableKeys$d = Object.keys(rules$b).filter(
215
- (key) => !rules$b[key].meta.deprecated
215
+ const availableKeys$e = Object.keys(rules$c).filter(
216
+ (key) => !rules$c[key].meta.deprecated
216
217
  );
217
218
 
218
- const baseRules$d = Object.fromEntries(
219
- availableKeys$d.map((key) => [`react/${key}`, 'error'])
219
+ const baseRules$e = Object.fromEntries(
220
+ availableKeys$e.map((key) => [`react/${key}`, 'error'])
220
221
  );
221
222
 
222
- const overrideRules$d = {
223
+ const overrideRules$e = {
223
224
  'react/forbid-component-props': 'off',
224
225
  'react/function-component-definition': [
225
226
  'error',
@@ -250,17 +251,17 @@ const overrideRules$d = {
250
251
  'react/jsx-sort-props': 'off',
251
252
  };
252
253
 
253
- const config$h = Object.assign(baseRules$d, overrideRules$d);
254
+ const config$i = Object.assign(baseRules$e, overrideRules$e);
254
255
 
255
- const availableKeys$c = Object.keys(rules$c).filter(
256
- (key) => !rules$c[key].meta.deprecated
256
+ const availableKeys$d = Object.keys(rules$d).filter(
257
+ (key) => !rules$d[key].meta.deprecated
257
258
  );
258
259
 
259
- const baseRules$c = Object.fromEntries(
260
- availableKeys$c.map((key) => [`react-hooks/${key}`, 'error'])
260
+ const baseRules$d = Object.fromEntries(
261
+ availableKeys$d.map((key) => [`react-hooks/${key}`, 'error'])
261
262
  );
262
263
 
263
- const overrideRules$c = {
264
+ const overrideRules$d = {
264
265
  'react-hooks/exhaustive-deps': [
265
266
  'error',
266
267
  {
@@ -270,19 +271,19 @@ const overrideRules$c = {
270
271
  ],
271
272
  };
272
273
 
273
- const config$g = Object.assign(baseRules$c, overrideRules$c);
274
+ const config$h = Object.assign(baseRules$d, overrideRules$d);
274
275
 
275
- const { rules: rules$a } = typescript;
276
+ const { rules: rules$b } = typescript;
276
277
 
277
- const availableKeys$b = Object.keys(rules$a).filter(
278
- (key) => !rules$a[key].meta.deprecated
278
+ const availableKeys$c = Object.keys(rules$b).filter(
279
+ (key) => !rules$b[key].meta.deprecated
279
280
  );
280
281
 
281
- const baseRules$b = Object.fromEntries(
282
- availableKeys$b.map((key) => [`@typescript-eslint/${key}`, 'error'])
282
+ const baseRules$c = Object.fromEntries(
283
+ availableKeys$c.map((key) => [`@typescript-eslint/${key}`, 'error'])
283
284
  );
284
285
 
285
- const overrideRules$b = {
286
+ const overrideRules$c = {
286
287
  '@typescript-eslint/consistent-type-definitions': ['error', 'type'],
287
288
  '@typescript-eslint/explicit-function-return-type': 'off',
288
289
  '@typescript-eslint/naming-convention': [
@@ -329,19 +330,19 @@ const overrideRules$b = {
329
330
  '@typescript-eslint/type-annotation-spacing': 'off',
330
331
  };
331
332
 
332
- const config$f = Object.assign(baseRules$b, overrideRules$b);
333
+ const config$g = Object.assign(baseRules$c, overrideRules$c);
333
334
 
334
- const { rules: rules$9 } = plugin$1;
335
+ const { rules: rules$a } = plugin$1;
335
336
 
336
- const availableKeys$a = Object.keys(rules$9).filter(
337
- (key) => !rules$9[key].meta.deprecated
337
+ const availableKeys$b = Object.keys(rules$a).filter(
338
+ (key) => !rules$a[key].meta.deprecated
338
339
  );
339
340
 
340
- const baseRules$a = Object.fromEntries(
341
- availableKeys$a.map((key) => [`jsx-a11y/${key}`, 'error'])
341
+ const baseRules$b = Object.fromEntries(
342
+ availableKeys$b.map((key) => [`jsx-a11y/${key}`, 'error'])
342
343
  );
343
344
 
344
- const overrideRules$a = {
345
+ const overrideRules$b = {
345
346
  'jsx-a11y/no-autofocus': 'off',
346
347
  'jsx-a11y/label-has-associated-control': [
347
348
  'error',
@@ -353,17 +354,17 @@ const overrideRules$a = {
353
354
  ],
354
355
  };
355
356
 
356
- const config$e = Object.assign(baseRules$a, overrideRules$a);
357
+ const config$f = Object.assign(baseRules$b, overrideRules$b);
357
358
 
358
- const availableKeys$9 = Object.keys(rules$d).filter(
359
- (key) => !rules$d[key].meta.deprecated
359
+ const availableKeys$a = Object.keys(rules$e).filter(
360
+ (key) => !rules$e[key].meta.deprecated
360
361
  );
361
362
 
362
- const baseRules$9 = Object.fromEntries(
363
- availableKeys$9.map((key) => [`import/${key}`, 'error'])
363
+ const baseRules$a = Object.fromEntries(
364
+ availableKeys$a.map((key) => [`import/${key}`, 'error'])
364
365
  );
365
366
 
366
- const overrideRules$9 = {
367
+ const overrideRules$a = {
367
368
  'import/no-unresolved': 'off',
368
369
  'import/no-internal-modules': 'off',
369
370
  'import/no-relative-parent-imports': 'off',
@@ -394,50 +395,50 @@ const overrideRules$9 = {
394
395
  'import/group-exports': 'off',
395
396
  };
396
397
 
397
- const config$d = Object.assign(baseRules$9, overrideRules$9);
398
+ const config$e = Object.assign(baseRules$a, overrideRules$a);
398
399
 
399
- const { rules: rules$8 } = plugin$2;
400
+ const { rules: rules$9 } = plugin$2;
400
401
 
401
- const availableKeys$8 = Object.keys(rules$8).filter(
402
- (key) => !rules$8[key].meta.deprecated
402
+ const availableKeys$9 = Object.keys(rules$9).filter(
403
+ (key) => !rules$9[key].meta.deprecated
403
404
  );
404
405
 
405
- const baseRules$8 = Object.fromEntries(
406
- availableKeys$8.map((key) => [`jest/${key}`, 'error'])
406
+ const baseRules$9 = Object.fromEntries(
407
+ availableKeys$9.map((key) => [`jest/${key}`, 'error'])
407
408
  );
408
409
 
409
- const overrideRules$8 = {};
410
+ const overrideRules$9 = {};
410
411
 
411
- const config$c = Object.assign(baseRules$8, overrideRules$8);
412
+ const config$d = Object.assign(baseRules$9, overrideRules$9);
412
413
 
413
- const { rules: rules$7 } = plugin$3;
414
+ const { rules: rules$8 } = plugin$3;
414
415
 
415
- const availableKeys$7 = Object.keys(rules$7).filter(
416
- (key) => !rules$7[key].meta.deprecated
416
+ const availableKeys$8 = Object.keys(rules$8).filter(
417
+ (key) => !rules$8[key].meta.deprecated
417
418
  );
418
419
 
419
- const baseRules$7 = Object.fromEntries(
420
- availableKeys$7.map((key) => [`promise/${key}`, 'error'])
420
+ const baseRules$8 = Object.fromEntries(
421
+ availableKeys$8.map((key) => [`promise/${key}`, 'error'])
421
422
  );
422
423
 
423
- const overrideRules$7 = {
424
+ const overrideRules$8 = {
424
425
  'promise/catch-or-return': ['error', { allowFinally: true }],
425
426
  'promise/no-native': 'off',
426
427
  };
427
428
 
428
- const config$b = Object.assign(baseRules$7, overrideRules$7);
429
+ const config$c = Object.assign(baseRules$8, overrideRules$8);
429
430
 
430
- const { rules: rules$6 } = plugin$4;
431
+ const { rules: rules$7 } = plugin$4;
431
432
 
432
- const availableKeys$6 = Object.keys(rules$6).filter(
433
- (key) => !rules$6[key].meta.deprecated
433
+ const availableKeys$7 = Object.keys(rules$7).filter(
434
+ (key) => !rules$7[key].meta.deprecated
434
435
  );
435
436
 
436
- const baseRules$6 = Object.fromEntries(
437
- availableKeys$6.map((key) => [`n/${key}`, 'error'])
437
+ const baseRules$7 = Object.fromEntries(
438
+ availableKeys$7.map((key) => [`n/${key}`, 'error'])
438
439
  );
439
440
 
440
- const overrideRules$6 = {
441
+ const overrideRules$7 = {
441
442
  'n/no-missing-import': 'off',
442
443
  'n/no-unsupported-features/es-builtins': 'off',
443
444
  'n/no-unsupported-features/es-syntax': 'off',
@@ -446,27 +447,27 @@ const overrideRules$6 = {
446
447
  'n/no-process-env': 'off',
447
448
  };
448
449
 
449
- const config$a = Object.assign(baseRules$6, overrideRules$6);
450
+ const config$b = Object.assign(baseRules$7, overrideRules$7);
450
451
 
451
- const { rules: rules$5 } = plugin$5;
452
+ const { rules: rules$6 } = plugin$5;
452
453
 
453
- const availableKeys$5 = Object.keys(rules$5).filter(
454
- (key) => !rules$5[key].meta.deprecated
454
+ const availableKeys$6 = Object.keys(rules$6).filter(
455
+ (key) => !rules$6[key].meta.deprecated
455
456
  );
456
457
 
457
- const baseRules$5 = Object.fromEntries(
458
- availableKeys$5.map((key) => [`@next/next/${key}`, 'error'])
458
+ const baseRules$6 = Object.fromEntries(
459
+ availableKeys$6.map((key) => [`@next/next/${key}`, 'error'])
459
460
  );
460
461
 
461
- const overrideRules$5 = {};
462
+ const overrideRules$6 = {};
462
463
 
463
- const config$9 = Object.assign(baseRules$5, overrideRules$5);
464
+ const config$a = Object.assign(baseRules$6, overrideRules$6);
464
465
 
465
- const config$8 = {
466
+ const config$9 = {
466
467
  'prettier/prettier': 'error',
467
468
  };
468
469
 
469
- const config$7 = {
470
+ const config$8 = {
470
471
  // ESLint Disabled for Typescript-ESLint
471
472
  'brace-style': 'off',
472
473
  camelcase: 'off',
@@ -508,77 +509,77 @@ const config$7 = {
508
509
  'space-infix-ops': 'off',
509
510
  };
510
511
 
511
- const { rules: rules$4 } = plugin$6;
512
+ const { rules: rules$5 } = plugin$6;
513
+
514
+ const availableKeys$5 = Object.keys(rules$5).filter(
515
+ (key) => !rules$5[key].meta.deprecated
516
+ );
517
+
518
+ const baseRules$5 = Object.fromEntries(
519
+ availableKeys$5.map((key) => [`cypress/${key}`, 'error'])
520
+ );
521
+
522
+ const overrideRules$5 = {};
523
+
524
+ const config$7 = Object.assign(baseRules$5, overrideRules$5);
525
+
526
+ const { rules: rules$4 } = plugin$7;
512
527
 
513
528
  const availableKeys$4 = Object.keys(rules$4).filter(
514
529
  (key) => !rules$4[key].meta.deprecated
515
530
  );
516
531
 
517
532
  const baseRules$4 = Object.fromEntries(
518
- availableKeys$4.map((key) => [`cypress/${key}`, 'error'])
533
+ availableKeys$4.map((key) => [`storybook/${key}`, 'error'])
519
534
  );
520
535
 
521
536
  const overrideRules$4 = {};
522
537
 
523
538
  const config$6 = Object.assign(baseRules$4, overrideRules$4);
524
539
 
525
- const { rules: rules$3 } = plugin$7;
540
+ const { rules: rules$3 } = plugin$8;
526
541
 
527
542
  const availableKeys$3 = Object.keys(rules$3).filter(
528
543
  (key) => !rules$3[key].meta.deprecated
529
544
  );
530
545
 
531
546
  const baseRules$3 = Object.fromEntries(
532
- availableKeys$3.map((key) => [`storybook/${key}`, 'error'])
547
+ availableKeys$3.map((key) => [`unused-imports/${key}`, 'error'])
533
548
  );
534
549
 
535
550
  const overrideRules$3 = {};
536
551
 
537
552
  const config$5 = Object.assign(baseRules$3, overrideRules$3);
538
553
 
539
- const { rules: rules$2 } = plugin$8;
554
+ const { rules: rules$2 } = plugin$9;
540
555
 
541
556
  const availableKeys$2 = Object.keys(rules$2).filter(
542
557
  (key) => !rules$2[key].meta.deprecated
543
558
  );
544
559
 
545
560
  const baseRules$2 = Object.fromEntries(
546
- availableKeys$2.map((key) => [`unused-imports/${key}`, 'error'])
561
+ availableKeys$2.map((key) => [`sonarjs/${key}`, 'error'])
547
562
  );
548
563
 
549
564
  const overrideRules$2 = {};
550
565
 
551
566
  const config$4 = Object.assign(baseRules$2, overrideRules$2);
552
567
 
553
- const { rules: rules$1 } = plugin$9;
554
-
555
- const availableKeys$1 = Object.keys(rules$1).filter(
556
- (key) => !rules$1[key].meta.deprecated
557
- );
558
-
559
- const baseRules$1 = Object.fromEntries(
560
- availableKeys$1.map((key) => [`sonarjs/${key}`, 'error'])
561
- );
562
-
563
- const overrideRules$1 = {};
564
-
565
- const config$3 = Object.assign(baseRules$1, overrideRules$1);
566
-
567
- const config$2 = {
568
+ const config$3 = {
568
569
  'compat/compat': 'warn',
569
570
  };
570
571
 
571
- const { rules } = plugin$a;
572
+ const { rules: rules$1 } = plugin$a;
572
573
 
573
- const availableKeys = Object.keys(rules).filter(
574
- (key) => !rules[key].meta.deprecated
574
+ const availableKeys$1 = Object.keys(rules$1).filter(
575
+ (key) => !rules$1[key].meta.deprecated
575
576
  );
576
577
 
577
- const baseRules = Object.fromEntries(
578
- availableKeys.map((key) => [`unicorn/${key}`, 'error'])
578
+ const baseRules$1 = Object.fromEntries(
579
+ availableKeys$1.map((key) => [`unicorn/${key}`, 'error'])
579
580
  );
580
581
 
581
- const overrideRules = {
582
+ const overrideRules$1 = {
582
583
  'unicorn/no-keyword-prefix': 'off',
583
584
  'unicorn/prevent-abbreviations': [
584
585
  'error',
@@ -594,6 +595,20 @@ const overrideRules = {
594
595
  ],
595
596
  };
596
597
 
598
+ const config$2 = Object.assign(baseRules$1, overrideRules$1);
599
+
600
+ const { rules } = plugin$b;
601
+
602
+ const availableKeys = Object.keys(rules).filter(
603
+ (key) => !rules[key].meta.deprecated
604
+ );
605
+
606
+ const baseRules = Object.fromEntries(
607
+ availableKeys.map((key) => [`github/${key}`, 'error'])
608
+ );
609
+
610
+ const overrideRules = {};
611
+
597
612
  const config$1 = Object.assign(baseRules, overrideRules);
598
613
 
599
614
  /* eslint-disable n/no-unpublished-import, n/no-extraneous-import, import/no-extraneous-dependencies, id-length */
@@ -640,20 +655,22 @@ const config = [
640
655
  sonarjs: plugin$9,
641
656
  compat,
642
657
  unicorn: plugin$a,
658
+ github: plugin$b,
643
659
  },
644
660
  rules: {
661
+ ...config$j,
645
662
  ...config$i,
646
663
  ...config$h,
647
- ...config$g,
664
+ ...config$f,
648
665
  ...config$e,
649
- ...config$d,
666
+ ...config$c,
650
667
  ...config$b,
651
668
  ...config$a,
652
669
  ...config$9,
653
- ...config$8,
654
670
  ...eslintPrettier.rules,
655
- ...config$4,
671
+ ...config$5,
656
672
  // ...tailwindcssRules,
673
+ ...config$4,
657
674
  ...config$3,
658
675
  ...config$2,
659
676
  ...config$1,
@@ -687,8 +704,8 @@ const config = [
687
704
  'import/typescript': importTypescriptResolver,
688
705
  },
689
706
  rules: {
690
- ...config$7,
691
- ...config$f,
707
+ ...config$8,
708
+ ...config$g,
692
709
  },
693
710
  },
694
711
  {
@@ -702,7 +719,7 @@ const config = [
702
719
  jest: plugin$2,
703
720
  },
704
721
  rules: {
705
- ...config$c,
722
+ ...config$d,
706
723
  },
707
724
  },
708
725
  {
@@ -716,7 +733,7 @@ const config = [
716
733
  cypress: plugin$6,
717
734
  },
718
735
  rules: {
719
- ...config$6,
736
+ ...config$7,
720
737
  },
721
738
  },
722
739
  {
@@ -730,7 +747,7 @@ const config = [
730
747
  storybook: plugin$7,
731
748
  },
732
749
  rules: {
733
- ...config$5,
750
+ ...config$6,
734
751
  },
735
752
  },
736
753
  {
@@ -1 +1 @@
1
- import Zr from"eslint-plugin-react";import re from"eslint-plugin-react-hooks";import ee from"@typescript-eslint/eslint-plugin";import oe from"eslint-plugin-jsx-a11y";import*as o from"eslint-plugin-import";import te from"eslint-plugin-jest";import se from"eslint-plugin-promise";import ne from"eslint-plugin-n";import ie from"@next/eslint-plugin-next";import e from"globals";import ae from"eslint-plugin-prettier";import ce from"eslint-plugin-cypress";import pe from"eslint-plugin-storybook";import fe from"eslint-plugin-unused-imports";import*as le from"eslint-import-resolver-typescript";import me from"eslint-plugin-html";import ue from"eslint-plugin-compat";import de from"eslint-config-prettier";import*as ye from"@typescript-eslint/parser";import be from"eslint-plugin-sonarjs";import ge from"eslint-plugin-unicorn";var z={"array-callback-return":"error","constructor-super":"error","for-direction":"error","getter-return":"error","no-async-promise-executor":"error","no-await-in-loop":"error","no-class-assign":"error","no-compare-neg-zero":"error","no-cond-assign":"error","no-const-assign":"error","no-constant-condition":"error","no-constructor-return":"error","no-control-regex":"error","no-debugger":"error","no-dupe-args":"error","no-dupe-else-if":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-empty-character-class":"error","no-empty-pattern":"error","no-ex-assign":"error","no-fallthrough":"error","no-func-assign":"error","no-import-assign":"error","no-inner-declarations":"error","no-invalid-regexp":"error","no-irregular-whitespace":"error","no-misleading-character-class":"error","no-new-symbol":"error","no-obj-calls":"error","no-promise-executor-return":"error","no-prototype-builtins":"error","no-self-assign":"error","no-self-compare":"error","no-setter-return":"error","no-sparse-arrays":"error","no-template-curly-in-string":"error","no-this-before-super":"error","no-undef":"error","no-unmodified-loop-condition":"error","no-unreachable":"error","no-unreachable-loop":"error","no-unsafe-finally":"error","no-unsafe-negation":"error","no-unsafe-optional-chaining":"error","no-unused-private-class-members":"off","no-useless-backreference":"error","require-atomic-updates":"error","use-isnan":"error","valid-typeof":"error","accessor-pairs":"error","arrow-body-style":"error","block-scoped-var":"error","capitalized-comments":"off","class-methods-use-this":"error",complexity:"off","consistent-return":"error","consistent-this":"error",curly:"error","default-case":"error","default-case-last":"error",eqeqeq:"error","func-name-matching":"error","func-names":"error","func-style":"error","grouped-accessor-pairs":"error","guard-for-in":"error","id-denylist":"error","id-length":["error",{exceptions:["x","y","z"]}],"id-match":"error","max-classes-per-file":"error","max-depth":"error","max-lines":"off","max-lines-per-function":"off","max-nested-callbacks":"error","max-params":"off","max-statements":"off","multiline-comment-style":"error","new-cap":"error","no-alert":"error","no-bitwise":"error","no-caller":"error","no-case-declarations":"error","no-console":"error","no-continue":"error","no-delete-var":"error","no-div-regex":"error","no-else-return":"error","no-empty":"error","no-eq-null":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-boolean-cast":"error","no-extra-label":"error","no-global-assign":"error","no-implicit-coercion":"error","no-implicit-globals":"error","no-inline-comments":"error","no-iterator":"error","no-label-var":"error","no-labels":"error","no-lone-blocks":"error","no-lonely-if":"error","no-multi-assign":"error","no-multi-str":"error","no-negated-condition":"error","no-nested-ternary":"error","no-new":"error","no-new-func":"error","no-new-object":"error","no-new-wrappers":"error","no-nonoctal-decimal-escape":"error","no-octal":"error","no-octal-escape":"error","no-param-reassign":"error","no-plusplus":"error","no-proto":"error","no-regex-spaces":"error","no-restricted-exports":"error","no-restricted-globals":"error","no-restricted-properties":"error","no-restricted-syntax":"error","no-return-assign":"error","no-script-url":"error","no-sequences":"error","no-shadow-restricted-names":"error","no-ternary":"off","no-undef-init":"error","no-undefined":"off","no-underscore-dangle":"error","no-unneeded-ternary":"error","no-unused-labels":"error","no-useless-call":"error","no-useless-catch":"error","no-useless-computed-key":"error","no-useless-concat":"error","no-useless-escape":"error","no-useless-rename":"error","no-useless-return":"error","no-var":"error","no-void":"error","no-warning-comments":"error","no-with":"error","object-shorthand":"error","one-var":"off","operator-assignment":"error","prefer-arrow-callback":"error","prefer-const":"error","prefer-destructuring":["error",{array:!1,object:!0}],"prefer-exponentiation-operator":"error","prefer-named-capture-group":"error","prefer-numeric-literals":"error","prefer-object-spread":"error","prefer-promise-reject-errors":"error","prefer-regex-literals":"error","prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error",radix:"error","require-unicode-regexp":"error","require-yield":"error","sort-imports":"off","sort-keys":"off","sort-vars":"off","spaced-comment":"error",strict:"error","symbol-description":"error","vars-on-top":"error",yoda:"error","line-comment-position":"error"},t=z;import A from"eslint-plugin-react";var{rules:s}=A,H=Object.keys(s).filter(r=>!s[r].meta.deprecated),L=Object.fromEntries(H.map(r=>[`react/${r}`,"error"])),F={"react/forbid-component-props":"off","react/function-component-definition":["error",{namedComponents:"arrow-function"}],"react/no-array-index-key":"off","react/no-arrow-function-lifecycle":"off","react/no-invalid-html-attribute":"off","react/no-multi-comp":"off","react/no-unused-class-component-methods":"off","react/react-in-jsx-scope":"off","react/require-default-props":"off","react/jsx-filename-extension":["error",{extensions:[".tsx"]}],"react/jsx-max-depth":"off","react/jsx-max-props-per-line":"off","react/jsx-newline":"off","react/jsx-no-bind":"off","react/jsx-no-literals":"off","react/jsx-one-expression-per-line":"off","react/jsx-props-no-spreading":"off","react/jsx-sort-props":"off"},Q=Object.assign(L,F),n=Q;import{rules as i}from"eslint-plugin-react-hooks";var V=Object.keys(i).filter(r=>!i[r].meta.deprecated),_=Object.fromEntries(V.map(r=>[`react-hooks/${r}`,"error"])),B={"react-hooks/exhaustive-deps":["error",{additionalHooks:"(useAsync)"}]},D=Object.assign(_,B),a=D;import G from"@typescript-eslint/eslint-plugin";var{rules:c}=G,J=Object.keys(c).filter(r=>!c[r].meta.deprecated),M=Object.fromEntries(J.map(r=>[`@typescript-eslint/${r}`,"error"])),N={"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-function-return-type":"off","@typescript-eslint/naming-convention":["error",{selector:"default",format:["camelCase","PascalCase","snake_case"]},{selector:"objectLiteralProperty",format:null,modifiers:["requiresQuotes"]}],"@typescript-eslint/no-confusing-void-expression":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-type-alias":"off","@typescript-eslint/prefer-readonly":"off","@typescript-eslint/prefer-readonly-parameter-types":"off","@typescript-eslint/sort-type-union-intersection-members":"off","@typescript-eslint/strict-boolean-expressions":"off","@typescript-eslint/no-magic-numbers":"off","@typescript-eslint/block-spacing":"off","@typescript-eslint/brace-style":"off","@typescript-eslint/comma-dangle":"off","@typescript-eslint/comma-spacing":"off","@typescript-eslint/func-call-spacing":"off","@typescript-eslint/indent":"off","@typescript-eslint/key-spacing":"off","@typescript-eslint/keyword-spacing":"off","@typescript-eslint/lines-around-comment":"off","@typescript-eslint/lines-between-class-members":"off","@typescript-eslint/member-delimiter-style":"off","@typescript-eslint/no-extra-parens":"off","@typescript-eslint/object-curly-spacing":"off","@typescript-eslint/padding-line-between-statements":"off","@typescript-eslint/quotes":"off","@typescript-eslint/semi":"off","@typescript-eslint/space-before-blocks":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/space-infix-ops":"off","@typescript-eslint/type-annotation-spacing":"off"},U=Object.assign(M,N),p=U;import W from"eslint-plugin-jsx-a11y";var{rules:f}=W,X=Object.keys(f).filter(r=>!f[r].meta.deprecated),Y=Object.fromEntries(X.map(r=>[`jsx-a11y/${r}`,"error"])),Z={"jsx-a11y/no-autofocus":"off","jsx-a11y/label-has-associated-control":["error",{labelComponents:["Label"],controlComponents:["Input","Select","Textarea","Checkbox","Radio"],depth:3}]},rr=Object.assign(Y,Z),l=rr;import{rules as m}from"eslint-plugin-import";var er=Object.keys(m).filter(r=>!m[r].meta.deprecated),or=Object.fromEntries(er.map(r=>[`import/${r}`,"error"])),tr={"import/no-unresolved":"off","import/no-internal-modules":"off","import/no-relative-parent-imports":"off","import/no-named-as-default":"off","import/exports-last":"off","import/no-namespace":"off","import/extensions":"off","import/order":["error",{groups:["builtin","external","internal","parent","sibling","index","object","type"]}],"import/prefer-default-export":"off","import/max-dependencies":"off","import/no-unassigned-import":"off","import/no-default-export":"off","import/no-named-export":"off","import/group-exports":"off"},sr=Object.assign(or,tr),u=sr;import nr from"eslint-plugin-jest";var{rules:d}=nr,ir=Object.keys(d).filter(r=>!d[r].meta.deprecated),ar=Object.fromEntries(ir.map(r=>[`jest/${r}`,"error"])),cr={},pr=Object.assign(ar,cr),y=pr;import fr from"eslint-plugin-promise";var{rules:b}=fr,lr=Object.keys(b).filter(r=>!b[r].meta.deprecated),mr=Object.fromEntries(lr.map(r=>[`promise/${r}`,"error"])),ur={"promise/catch-or-return":["error",{allowFinally:!0}],"promise/no-native":"off"},dr=Object.assign(mr,ur),g=dr;import yr from"eslint-plugin-n";var{rules:x}=yr,br=Object.keys(x).filter(r=>!x[r].meta.deprecated),gr=Object.fromEntries(br.map(r=>[`n/${r}`,"error"])),xr={"n/no-missing-import":"off","n/no-unsupported-features/es-builtins":"off","n/no-unsupported-features/es-syntax":"off","n/no-unsupported-features/node-builtins":"off","n/file-extension-in-import":"off","n/no-process-env":"off"},jr=Object.assign(gr,xr),j=jr;import vr from"@next/eslint-plugin-next";var{rules:v}=vr,Or=Object.keys(v).filter(r=>!v[r].meta.deprecated),Rr=Object.fromEntries(Or.map(r=>[`@next/next/${r}`,"error"])),kr={},hr=Object.assign(Rr,kr),O=hr;var wr={"prettier/prettier":"error"},R=wr;var Er={"brace-style":"off",camelcase:"off","comma-dangle":"off","comma-spacing":"off","default-param-last":"off","dot-notation":"off","func-call-spacing":"off",indent:"off","init-declarations":"off","keyword-spacing":"off","lines-between-class-members":"off","no-array-constructor":"off","no-dupe-class-members":"off","no-duplicate-imports":"off","no-empty-function":"off","no-extra-parens":"off","no-extra-semi":"off","no-implied-eval":"off","no-invalid-this":"off","no-loop-func":"off","no-loss-of-precision":"off","no-magic-numbers":"off","no-redeclare":"off","no-restricted-imports":"off","no-shadow":"off","no-throw-literal":"off","no-unused-expressions":"off","no-unused-vars":"off","no-use-before-define":"off","no-useless-constructor":"off","object-curly-spacing":"off","padding-line-between-statements":"off",quotes:"off","require-await":"off","no-return-await":"off",semi:"off","space-before-function-paren":"off","space-infix-ops":"off"},k=Er;import Kr from"eslint-plugin-cypress";var{rules:h}=Kr,$r=Object.keys(h).filter(r=>!h[r].meta.deprecated),qr=Object.fromEntries($r.map(r=>[`cypress/${r}`,"error"])),Pr={},Sr=Object.assign(qr,Pr),w=Sr;import Cr from"eslint-plugin-storybook";var{rules:E}=Cr,Tr=Object.keys(E).filter(r=>!E[r].meta.deprecated),Ir=Object.fromEntries(Tr.map(r=>[`storybook/${r}`,"error"])),zr={},Ar=Object.assign(Ir,zr),K=Ar;import Hr from"eslint-plugin-unused-imports";var{rules:$}=Hr,Lr=Object.keys($).filter(r=>!$[r].meta.deprecated),Fr=Object.fromEntries(Lr.map(r=>[`unused-imports/${r}`,"error"])),Qr={},Vr=Object.assign(Fr,Qr),q=Vr;import _r from"eslint-plugin-sonarjs";var{rules:P}=_r,Br=Object.keys(P).filter(r=>!P[r].meta.deprecated),Dr=Object.fromEntries(Br.map(r=>[`sonarjs/${r}`,"error"])),Gr={},Jr=Object.assign(Dr,Gr),S=Jr;var Mr={"compat/compat":"warn"},C=Mr;import Nr from"eslint-plugin-unicorn";var{rules:T}=Nr,Ur=Object.keys(T).filter(r=>!T[r].meta.deprecated),Wr=Object.fromEntries(Ur.map(r=>[`unicorn/${r}`,"error"])),Xr={"unicorn/no-keyword-prefix":"off","unicorn/prevent-abbreviations":["error",{allowList:{getInitialProps:!0,getServerSideProps:!0,getStaticPaths:!0,getStaticProps:!0,generateStaticParams:!0}}]},Yr=Object.assign(Wr,Xr),I=Yr;var xe=[o.configs.typescript,{languageOptions:{sourceType:"module",globals:{...e.browser,...e.node},parserOptions:{ecmaVersion:"latest",sourceType:"module",ecmaFeatures:{jsx:!0}}},files:["**/*.js","**/*.jsx","**/*.ts","**/*.tsx","**/*.json","**/*.mjs","**/*.cjs","**/*.html"],plugins:{prettier:ae,react:Zr,"react-hooks":re,"jsx-a11y":oe,import:o,promise:se,n:ne,"@next/next":ie,"unused-imports":fe,sonarjs:be,compat:ue,unicorn:ge},rules:{...t,...n,...a,...l,...u,...g,...j,...O,...R,...de.rules,...q,...S,...C,...I},settings:{react:{version:"detect"},"import/parsers":{espree:[".js",".cjs",".mjs",".jsx",".ts",".tsx"]},"import/resolver":{typescript:!0,node:!0}}},{files:["**/*.ts","**/*.tsx"],languageOptions:{parser:ye,parserOptions:{project:"./tsconfig.json"}},plugins:{"@typescript-eslint":ee,"import/typescript":le},rules:{...k,...p}},{files:["**/*.test.js","**/*.test.jsx","tests/**/*.js","tests/**/*.jsx"],languageOptions:{globals:{...e.jest}},plugins:{jest:te},rules:{...y}},{files:["**/*.cy.js","**/*.cy.jsx"],languageOptions:{globals:{...e.cypress}},plugins:{cypress:ce},rules:{...w}},{files:["**/*.stories.js","**/*.stories.jsx","**/*.stories.ts","**/*.stories.tsx"],plugins:{storybook:pe},rules:{...K}},{files:["**/*.html"],plugins:{html:me},settings:{"html/javascript-tag-names":["script","Script"]}}],Io=xe;export{Io as default};
1
+ import ie from"eslint-plugin-react";import ae from"eslint-plugin-react-hooks";import ce from"@typescript-eslint/eslint-plugin";import pe from"eslint-plugin-jsx-a11y";import*as o from"eslint-plugin-import";import fe from"eslint-plugin-jest";import le from"eslint-plugin-promise";import me from"eslint-plugin-n";import ue from"@next/eslint-plugin-next";import e from"globals";import de from"eslint-plugin-prettier";import be from"eslint-plugin-cypress";import ye from"eslint-plugin-storybook";import ge from"eslint-plugin-unused-imports";import*as xe from"eslint-import-resolver-typescript";import je from"eslint-plugin-html";import ve from"eslint-plugin-compat";import Oe from"eslint-config-prettier";import*as Re from"@typescript-eslint/parser";import he from"eslint-plugin-sonarjs";import ke from"eslint-plugin-unicorn";import we from"eslint-plugin-github";var H={"array-callback-return":"error","constructor-super":"error","for-direction":"error","getter-return":"error","no-async-promise-executor":"error","no-await-in-loop":"error","no-class-assign":"error","no-compare-neg-zero":"error","no-cond-assign":"error","no-const-assign":"error","no-constant-condition":"error","no-constructor-return":"error","no-control-regex":"error","no-debugger":"error","no-dupe-args":"error","no-dupe-else-if":"error","no-dupe-keys":"error","no-duplicate-case":"error","no-empty-character-class":"error","no-empty-pattern":"error","no-ex-assign":"error","no-fallthrough":"error","no-func-assign":"error","no-import-assign":"error","no-inner-declarations":"error","no-invalid-regexp":"error","no-irregular-whitespace":"error","no-misleading-character-class":"error","no-new-symbol":"error","no-obj-calls":"error","no-promise-executor-return":"error","no-prototype-builtins":"error","no-self-assign":"error","no-self-compare":"error","no-setter-return":"error","no-sparse-arrays":"error","no-template-curly-in-string":"error","no-this-before-super":"error","no-undef":"error","no-unmodified-loop-condition":"error","no-unreachable":"error","no-unreachable-loop":"error","no-unsafe-finally":"error","no-unsafe-negation":"error","no-unsafe-optional-chaining":"error","no-unused-private-class-members":"off","no-useless-backreference":"error","require-atomic-updates":"error","use-isnan":"error","valid-typeof":"error","accessor-pairs":"error","arrow-body-style":"error","block-scoped-var":"error","capitalized-comments":"off","class-methods-use-this":"error",complexity:"off","consistent-return":"error","consistent-this":"error",curly:"error","default-case":"error","default-case-last":"error",eqeqeq:"error","func-name-matching":"error","func-names":"error","func-style":"error","grouped-accessor-pairs":"error","guard-for-in":"error","id-denylist":"error","id-length":["error",{exceptions:["x","y","z"]}],"id-match":"error","max-classes-per-file":"error","max-depth":"error","max-lines":"off","max-lines-per-function":"off","max-nested-callbacks":"error","max-params":"off","max-statements":"off","multiline-comment-style":"error","new-cap":"error","no-alert":"error","no-bitwise":"error","no-caller":"error","no-case-declarations":"error","no-console":"error","no-continue":"error","no-delete-var":"error","no-div-regex":"error","no-else-return":"error","no-empty":"error","no-eq-null":"error","no-eval":"error","no-extend-native":"error","no-extra-bind":"error","no-extra-boolean-cast":"error","no-extra-label":"error","no-global-assign":"error","no-implicit-coercion":"error","no-implicit-globals":"error","no-inline-comments":"error","no-iterator":"error","no-label-var":"error","no-labels":"error","no-lone-blocks":"error","no-lonely-if":"error","no-multi-assign":"error","no-multi-str":"error","no-negated-condition":"error","no-nested-ternary":"error","no-new":"error","no-new-func":"error","no-new-object":"error","no-new-wrappers":"error","no-nonoctal-decimal-escape":"error","no-octal":"error","no-octal-escape":"error","no-param-reassign":"error","no-plusplus":"error","no-proto":"error","no-regex-spaces":"error","no-restricted-exports":"error","no-restricted-globals":"error","no-restricted-properties":"error","no-restricted-syntax":"error","no-return-assign":"error","no-script-url":"error","no-sequences":"error","no-shadow-restricted-names":"error","no-ternary":"off","no-undef-init":"error","no-undefined":"off","no-underscore-dangle":"error","no-unneeded-ternary":"error","no-unused-labels":"error","no-useless-call":"error","no-useless-catch":"error","no-useless-computed-key":"error","no-useless-concat":"error","no-useless-escape":"error","no-useless-rename":"error","no-useless-return":"error","no-var":"error","no-void":"error","no-warning-comments":"error","no-with":"error","object-shorthand":"error","one-var":"off","operator-assignment":"error","prefer-arrow-callback":"error","prefer-const":"error","prefer-destructuring":["error",{array:!1,object:!0}],"prefer-exponentiation-operator":"error","prefer-named-capture-group":"error","prefer-numeric-literals":"error","prefer-object-spread":"error","prefer-promise-reject-errors":"error","prefer-regex-literals":"error","prefer-rest-params":"error","prefer-spread":"error","prefer-template":"error",radix:"error","require-unicode-regexp":"error","require-yield":"error","sort-imports":"off","sort-keys":"off","sort-vars":"off","spaced-comment":"error",strict:"error","symbol-description":"error","vars-on-top":"error",yoda:"error","line-comment-position":"error"},t=H;import L from"eslint-plugin-react";var{rules:s}=L,F=Object.keys(s).filter(r=>!s[r].meta.deprecated),Q=Object.fromEntries(F.map(r=>[`react/${r}`,"error"])),V={"react/forbid-component-props":"off","react/function-component-definition":["error",{namedComponents:"arrow-function"}],"react/no-array-index-key":"off","react/no-arrow-function-lifecycle":"off","react/no-invalid-html-attribute":"off","react/no-multi-comp":"off","react/no-unused-class-component-methods":"off","react/react-in-jsx-scope":"off","react/require-default-props":"off","react/jsx-filename-extension":["error",{extensions:[".tsx"]}],"react/jsx-max-depth":"off","react/jsx-max-props-per-line":"off","react/jsx-newline":"off","react/jsx-no-bind":"off","react/jsx-no-literals":"off","react/jsx-one-expression-per-line":"off","react/jsx-props-no-spreading":"off","react/jsx-sort-props":"off"},_=Object.assign(Q,V),n=_;import{rules as i}from"eslint-plugin-react-hooks";var B=Object.keys(i).filter(r=>!i[r].meta.deprecated),D=Object.fromEntries(B.map(r=>[`react-hooks/${r}`,"error"])),G={"react-hooks/exhaustive-deps":["error",{additionalHooks:"(useAsync)"}]},J=Object.assign(D,G),a=J;import M from"@typescript-eslint/eslint-plugin";var{rules:c}=M,N=Object.keys(c).filter(r=>!c[r].meta.deprecated),U=Object.fromEntries(N.map(r=>[`@typescript-eslint/${r}`,"error"])),W={"@typescript-eslint/consistent-type-definitions":["error","type"],"@typescript-eslint/explicit-function-return-type":"off","@typescript-eslint/naming-convention":["error",{selector:"default",format:["camelCase","PascalCase","snake_case"]},{selector:"objectLiteralProperty",format:null,modifiers:["requiresQuotes"]}],"@typescript-eslint/no-confusing-void-expression":"off","@typescript-eslint/no-misused-promises":"off","@typescript-eslint/no-type-alias":"off","@typescript-eslint/prefer-readonly":"off","@typescript-eslint/prefer-readonly-parameter-types":"off","@typescript-eslint/sort-type-union-intersection-members":"off","@typescript-eslint/strict-boolean-expressions":"off","@typescript-eslint/no-magic-numbers":"off","@typescript-eslint/block-spacing":"off","@typescript-eslint/brace-style":"off","@typescript-eslint/comma-dangle":"off","@typescript-eslint/comma-spacing":"off","@typescript-eslint/func-call-spacing":"off","@typescript-eslint/indent":"off","@typescript-eslint/key-spacing":"off","@typescript-eslint/keyword-spacing":"off","@typescript-eslint/lines-around-comment":"off","@typescript-eslint/lines-between-class-members":"off","@typescript-eslint/member-delimiter-style":"off","@typescript-eslint/no-extra-parens":"off","@typescript-eslint/object-curly-spacing":"off","@typescript-eslint/padding-line-between-statements":"off","@typescript-eslint/quotes":"off","@typescript-eslint/semi":"off","@typescript-eslint/space-before-blocks":"off","@typescript-eslint/space-before-function-paren":"off","@typescript-eslint/space-infix-ops":"off","@typescript-eslint/type-annotation-spacing":"off"},X=Object.assign(U,W),p=X;import Y from"eslint-plugin-jsx-a11y";var{rules:f}=Y,Z=Object.keys(f).filter(r=>!f[r].meta.deprecated),rr=Object.fromEntries(Z.map(r=>[`jsx-a11y/${r}`,"error"])),er={"jsx-a11y/no-autofocus":"off","jsx-a11y/label-has-associated-control":["error",{labelComponents:["Label"],controlComponents:["Input","Select","Textarea","Checkbox","Radio"],depth:3}]},or=Object.assign(rr,er),l=or;import{rules as m}from"eslint-plugin-import";var tr=Object.keys(m).filter(r=>!m[r].meta.deprecated),sr=Object.fromEntries(tr.map(r=>[`import/${r}`,"error"])),nr={"import/no-unresolved":"off","import/no-internal-modules":"off","import/no-relative-parent-imports":"off","import/no-named-as-default":"off","import/exports-last":"off","import/no-namespace":"off","import/extensions":"off","import/order":["error",{groups:["builtin","external","internal","parent","sibling","index","object","type"]}],"import/prefer-default-export":"off","import/max-dependencies":"off","import/no-unassigned-import":"off","import/no-default-export":"off","import/no-named-export":"off","import/group-exports":"off"},ir=Object.assign(sr,nr),u=ir;import ar from"eslint-plugin-jest";var{rules:d}=ar,cr=Object.keys(d).filter(r=>!d[r].meta.deprecated),pr=Object.fromEntries(cr.map(r=>[`jest/${r}`,"error"])),fr={},lr=Object.assign(pr,fr),b=lr;import mr from"eslint-plugin-promise";var{rules:y}=mr,ur=Object.keys(y).filter(r=>!y[r].meta.deprecated),dr=Object.fromEntries(ur.map(r=>[`promise/${r}`,"error"])),br={"promise/catch-or-return":["error",{allowFinally:!0}],"promise/no-native":"off"},yr=Object.assign(dr,br),g=yr;import gr from"eslint-plugin-n";var{rules:x}=gr,xr=Object.keys(x).filter(r=>!x[r].meta.deprecated),jr=Object.fromEntries(xr.map(r=>[`n/${r}`,"error"])),vr={"n/no-missing-import":"off","n/no-unsupported-features/es-builtins":"off","n/no-unsupported-features/es-syntax":"off","n/no-unsupported-features/node-builtins":"off","n/file-extension-in-import":"off","n/no-process-env":"off"},Or=Object.assign(jr,vr),j=Or;import Rr from"@next/eslint-plugin-next";var{rules:v}=Rr,hr=Object.keys(v).filter(r=>!v[r].meta.deprecated),kr=Object.fromEntries(hr.map(r=>[`@next/next/${r}`,"error"])),wr={},Er=Object.assign(kr,wr),O=Er;var Kr={"prettier/prettier":"error"},R=Kr;var $r={"brace-style":"off",camelcase:"off","comma-dangle":"off","comma-spacing":"off","default-param-last":"off","dot-notation":"off","func-call-spacing":"off",indent:"off","init-declarations":"off","keyword-spacing":"off","lines-between-class-members":"off","no-array-constructor":"off","no-dupe-class-members":"off","no-duplicate-imports":"off","no-empty-function":"off","no-extra-parens":"off","no-extra-semi":"off","no-implied-eval":"off","no-invalid-this":"off","no-loop-func":"off","no-loss-of-precision":"off","no-magic-numbers":"off","no-redeclare":"off","no-restricted-imports":"off","no-shadow":"off","no-throw-literal":"off","no-unused-expressions":"off","no-unused-vars":"off","no-use-before-define":"off","no-useless-constructor":"off","object-curly-spacing":"off","padding-line-between-statements":"off",quotes:"off","require-await":"off","no-return-await":"off",semi:"off","space-before-function-paren":"off","space-infix-ops":"off"},h=$r;import qr from"eslint-plugin-cypress";var{rules:k}=qr,Pr=Object.keys(k).filter(r=>!k[r].meta.deprecated),Sr=Object.fromEntries(Pr.map(r=>[`cypress/${r}`,"error"])),Cr={},Tr=Object.assign(Sr,Cr),w=Tr;import Ir from"eslint-plugin-storybook";var{rules:E}=Ir,zr=Object.keys(E).filter(r=>!E[r].meta.deprecated),Ar=Object.fromEntries(zr.map(r=>[`storybook/${r}`,"error"])),Hr={},Lr=Object.assign(Ar,Hr),K=Lr;import Fr from"eslint-plugin-unused-imports";var{rules:$}=Fr,Qr=Object.keys($).filter(r=>!$[r].meta.deprecated),Vr=Object.fromEntries(Qr.map(r=>[`unused-imports/${r}`,"error"])),_r={},Br=Object.assign(Vr,_r),q=Br;import Dr from"eslint-plugin-sonarjs";var{rules:P}=Dr,Gr=Object.keys(P).filter(r=>!P[r].meta.deprecated),Jr=Object.fromEntries(Gr.map(r=>[`sonarjs/${r}`,"error"])),Mr={},Nr=Object.assign(Jr,Mr),S=Nr;var Ur={"compat/compat":"warn"},C=Ur;import Wr from"eslint-plugin-unicorn";var{rules:T}=Wr,Xr=Object.keys(T).filter(r=>!T[r].meta.deprecated),Yr=Object.fromEntries(Xr.map(r=>[`unicorn/${r}`,"error"])),Zr={"unicorn/no-keyword-prefix":"off","unicorn/prevent-abbreviations":["error",{allowList:{getInitialProps:!0,getServerSideProps:!0,getStaticPaths:!0,getStaticProps:!0,generateStaticParams:!0}}]},re=Object.assign(Yr,Zr),I=re;import ee from"eslint-plugin-github";var{rules:z}=ee,oe=Object.keys(z).filter(r=>!z[r].meta.deprecated),te=Object.fromEntries(oe.map(r=>[`github/${r}`,"error"])),se={},ne=Object.assign(te,se),A=ne;var Ee=[o.configs.typescript,{languageOptions:{sourceType:"module",globals:{...e.browser,...e.node},parserOptions:{ecmaVersion:"latest",sourceType:"module",ecmaFeatures:{jsx:!0}}},files:["**/*.js","**/*.jsx","**/*.ts","**/*.tsx","**/*.json","**/*.mjs","**/*.cjs","**/*.html"],plugins:{prettier:de,react:ie,"react-hooks":ae,"jsx-a11y":pe,import:o,promise:le,n:me,"@next/next":ue,"unused-imports":ge,sonarjs:he,compat:ve,unicorn:ke,github:we},rules:{...t,...n,...a,...l,...u,...g,...j,...O,...R,...Oe.rules,...q,...S,...C,...I,...A},settings:{react:{version:"detect"},"import/parsers":{espree:[".js",".cjs",".mjs",".jsx",".ts",".tsx"]},"import/resolver":{typescript:!0,node:!0}}},{files:["**/*.ts","**/*.tsx"],languageOptions:{parser:Re,parserOptions:{project:"./tsconfig.json"}},plugins:{"@typescript-eslint":ce,"import/typescript":xe},rules:{...h,...p}},{files:["**/*.test.js","**/*.test.jsx","tests/**/*.js","tests/**/*.jsx"],languageOptions:{globals:{...e.jest}},plugins:{jest:fe},rules:{...b}},{files:["**/*.cy.js","**/*.cy.jsx"],languageOptions:{globals:{...e.cypress}},plugins:{cypress:be},rules:{...w}},{files:["**/*.stories.js","**/*.stories.jsx","**/*.stories.ts","**/*.stories.tsx"],plugins:{storybook:ye},rules:{...K}},{files:["**/*.html"],plugins:{html:je},settings:{"html/javascript-tag-names":["script","Script"]}}],Jo=Ee;export{Jo as default};
package/package.json CHANGED
@@ -10,6 +10,7 @@
10
10
  "eslint-import-resolver-typescript": "^3.6.1",
11
11
  "eslint-plugin-compat": "^4.2.0",
12
12
  "eslint-plugin-cypress": "^3.2.0",
13
+ "eslint-plugin-github": "5.0.0-2",
13
14
  "eslint-plugin-html": "^8.1.1",
14
15
  "eslint-plugin-import": "^2.29.1",
15
16
  "eslint-plugin-jest": "^28.5.0",
@@ -51,7 +52,7 @@
51
52
  },
52
53
  "name": "ultracite",
53
54
  "description": "Strict, opinionated ESLint config for modern TypeScript apps.",
54
- "version": "3.7.4",
55
+ "version": "3.8.0",
55
56
  "publishConfig": {
56
57
  "access": "public",
57
58
  "registry": "https://registry.npmjs.org/"