ultracite 3.7.3 → 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,79 +509,105 @@ 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;
568
+ const config$3 = {
569
+ 'compat/compat': 'warn',
570
+ };
571
+
572
+ const { rules: rules$1 } = plugin$a;
554
573
 
555
574
  const availableKeys$1 = Object.keys(rules$1).filter(
556
575
  (key) => !rules$1[key].meta.deprecated
557
576
  );
558
577
 
559
578
  const baseRules$1 = Object.fromEntries(
560
- availableKeys$1.map((key) => [`sonarjs/${key}`, 'error'])
579
+ availableKeys$1.map((key) => [`unicorn/${key}`, 'error'])
561
580
  );
562
581
 
563
- const overrideRules$1 = {};
564
-
565
- const config$3 = Object.assign(baseRules$1, overrideRules$1);
566
-
567
- const config$2 = {
568
- 'compat/compat': 'warn',
582
+ const overrideRules$1 = {
583
+ 'unicorn/no-keyword-prefix': 'off',
584
+ 'unicorn/prevent-abbreviations': [
585
+ 'error',
586
+ {
587
+ allowList: {
588
+ getInitialProps: true,
589
+ getServerSideProps: true,
590
+ getStaticPaths: true,
591
+ getStaticProps: true,
592
+ generateStaticParams: true,
593
+ },
594
+ },
595
+ ],
569
596
  };
570
597
 
571
- const { rules } = plugin$a;
598
+ const config$2 = Object.assign(baseRules$1, overrideRules$1);
599
+
600
+ const { rules } = plugin$b;
572
601
 
573
602
  const availableKeys = Object.keys(rules).filter(
574
603
  (key) => !rules[key].meta.deprecated
575
604
  );
576
605
 
577
606
  const baseRules = Object.fromEntries(
578
- availableKeys.map((key) => [`unicorn/${key}`, 'error'])
607
+ availableKeys.map((key) => [`github/${key}`, 'error'])
579
608
  );
580
609
 
581
- const overrideRules = {
582
- 'unicorn/no-keyword-prefix': 'off',
583
- };
610
+ const overrideRules = {};
584
611
 
585
612
  const config$1 = Object.assign(baseRules, overrideRules);
586
613
 
@@ -628,20 +655,22 @@ const config = [
628
655
  sonarjs: plugin$9,
629
656
  compat,
630
657
  unicorn: plugin$a,
658
+ github: plugin$b,
631
659
  },
632
660
  rules: {
661
+ ...config$j,
633
662
  ...config$i,
634
663
  ...config$h,
635
- ...config$g,
664
+ ...config$f,
636
665
  ...config$e,
637
- ...config$d,
666
+ ...config$c,
638
667
  ...config$b,
639
668
  ...config$a,
640
669
  ...config$9,
641
- ...config$8,
642
670
  ...eslintPrettier.rules,
643
- ...config$4,
671
+ ...config$5,
644
672
  // ...tailwindcssRules,
673
+ ...config$4,
645
674
  ...config$3,
646
675
  ...config$2,
647
676
  ...config$1,
@@ -675,8 +704,8 @@ const config = [
675
704
  'import/typescript': importTypescriptResolver,
676
705
  },
677
706
  rules: {
678
- ...config$7,
679
- ...config$f,
707
+ ...config$8,
708
+ ...config$g,
680
709
  },
681
710
  },
682
711
  {
@@ -690,7 +719,7 @@ const config = [
690
719
  jest: plugin$2,
691
720
  },
692
721
  rules: {
693
- ...config$c,
722
+ ...config$d,
694
723
  },
695
724
  },
696
725
  {
@@ -704,7 +733,7 @@ const config = [
704
733
  cypress: plugin$6,
705
734
  },
706
735
  rules: {
707
- ...config$6,
736
+ ...config$7,
708
737
  },
709
738
  },
710
739
  {
@@ -718,7 +747,7 @@ const config = [
718
747
  storybook: plugin$7,
719
748
  },
720
749
  rules: {
721
- ...config$5,
750
+ ...config$6,
722
751
  },
723
752
  },
724
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 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 I from"eslint-plugin-react";var{rules:s}=I,F=Object.keys(s).filter(r=>!s[r].meta.deprecated),L=Object.fromEntries(F.map(r=>[`react/${r}`,"error"])),S={"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,S),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"])),Cr={},Pr=Object.assign(qr,Cr),w=Pr;import Tr from"eslint-plugin-storybook";var{rules:E}=Tr,zr=Object.keys(E).filter(r=>!E[r].meta.deprecated),Ar=Object.fromEntries(zr.map(r=>[`storybook/${r}`,"error"])),Hr={},Ir=Object.assign(Ar,Hr),K=Ir;import Fr from"eslint-plugin-unused-imports";var{rules:$}=Fr,Lr=Object.keys($).filter(r=>!$[r].meta.deprecated),Sr=Object.fromEntries(Lr.map(r=>[`unused-imports/${r}`,"error"])),Qr={},Vr=Object.assign(Sr,Qr),q=Vr;import _r from"eslint-plugin-sonarjs";var{rules:C}=_r,Br=Object.keys(C).filter(r=>!C[r].meta.deprecated),Dr=Object.fromEntries(Br.map(r=>[`sonarjs/${r}`,"error"])),Gr={},Jr=Object.assign(Dr,Gr),P=Jr;var Mr={"compat/compat":"warn"},T=Mr;import Nr from"eslint-plugin-unicorn";var{rules:z}=Nr,Ur=Object.keys(z).filter(r=>!z[r].meta.deprecated),Wr=Object.fromEntries(Ur.map(r=>[`unicorn/${r}`,"error"])),Xr={"unicorn/no-keyword-prefix":"off"},Yr=Object.assign(Wr,Xr),A=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,...P,...T,...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: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"]}}],Ao=xe;export{Ao 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.3",
55
+ "version": "3.8.0",
55
56
  "publishConfig": {
56
57
  "access": "public",
57
58
  "registry": "https://registry.npmjs.org/"