@egy186/eslint-config 3.0.0 → 3.2.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/dist/base.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { ESLint, Linter } from 'eslint';
1
+ import type { Linter } from 'eslint';
2
2
  import nPlugin from 'eslint-plugin-n';
3
3
  declare const config: {
4
4
  readonly files: ["**/*.{js,jsx,mjs}", "**/*.{ts,tsx,mts}"];
@@ -153,13 +153,41 @@ declare const config: {
153
153
  readonly plugins: {
154
154
  readonly '@stylistic': {
155
155
  rules: import("@stylistic/eslint-plugin").Rules;
156
- configs: ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
156
+ configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
157
157
  };
158
- readonly import: ESLint.Plugin;
159
- readonly jsdoc: ESLint.Plugin & {
158
+ readonly import: import("eslint").ESLint.Plugin & {
159
+ meta: {
160
+ name: string;
161
+ version: string;
162
+ };
163
+ configs: {
164
+ "recommended": Linter.LegacyConfig;
165
+ "errors": Linter.LegacyConfig;
166
+ "warnings": Linter.LegacyConfig;
167
+ "stage-0": Linter.LegacyConfig;
168
+ "react": Linter.LegacyConfig;
169
+ "react-native": Linter.LegacyConfig;
170
+ "electron": Linter.LegacyConfig;
171
+ "typescript": Linter.LegacyConfig;
172
+ };
173
+ flatConfigs: {
174
+ "recommended": Linter.FlatConfig;
175
+ "errors": Linter.FlatConfig;
176
+ "warnings": Linter.FlatConfig;
177
+ "stage-0": Linter.FlatConfig;
178
+ "react": Linter.FlatConfig;
179
+ "react-native": Linter.FlatConfig;
180
+ "electron": Linter.FlatConfig;
181
+ "typescript": Linter.FlatConfig;
182
+ };
183
+ rules: {
184
+ [key: string]: import("eslint").Rule.RuleModule;
185
+ };
186
+ };
187
+ readonly jsdoc: import("eslint").ESLint.Plugin & {
160
188
  configs: Record<`flat/${import("eslint-plugin-jsdoc").ConfigGroups}${import("eslint-plugin-jsdoc").ConfigVariants}${import("eslint-plugin-jsdoc").ErrorLevelVariants}`, import("eslint").Linter.Config>;
161
189
  };
162
- readonly n: ESLint.Plugin & {
190
+ readonly n: import("eslint").ESLint.Plugin & {
163
191
  configs: nPlugin.Configs;
164
192
  };
165
193
  };
@@ -189,7 +217,6 @@ declare const config: {
189
217
  readonly '@stylistic/curly-newline': ["error", "always"];
190
218
  readonly '@stylistic/dot-location': ["error", "property"];
191
219
  readonly '@stylistic/eol-last': "error";
192
- readonly '@stylistic/func-call-spacing': ["error", "never"];
193
220
  readonly '@stylistic/function-call-argument-newline': ["error", "consistent"];
194
221
  readonly '@stylistic/function-call-spacing': ["error", "never"];
195
222
  readonly '@stylistic/function-paren-newline': ["error", "multiline"];
@@ -212,7 +239,6 @@ declare const config: {
212
239
  readonly '@stylistic/jsx-equals-spacing': "error";
213
240
  readonly '@stylistic/jsx-first-prop-new-line': "error";
214
241
  readonly '@stylistic/jsx-function-call-newline': "error";
215
- readonly '@stylistic/jsx-indent': ["error", 2];
216
242
  readonly '@stylistic/jsx-indent-props': ["error", 2];
217
243
  readonly '@stylistic/jsx-max-props-per-line': "error";
218
244
  readonly '@stylistic/jsx-newline': "off";
@@ -327,6 +353,9 @@ declare const config: {
327
353
  readonly 'n/no-restricted-import': "off";
328
354
  readonly 'n/no-restricted-require': "off";
329
355
  readonly 'n/no-sync': "error";
356
+ readonly 'n/no-top-level-await': ["error", {
357
+ readonly ignoreBin: true;
358
+ }];
330
359
  readonly 'n/no-unpublished-bin': "error";
331
360
  readonly 'n/no-unpublished-import': ["error", {
332
361
  readonly ignoreTypeImport: true;
@@ -412,6 +441,7 @@ declare const config: {
412
441
  readonly 'import/consistent-type-specifier-style': "error";
413
442
  readonly 'import/default': "error";
414
443
  readonly 'import/dynamic-import-chunkname': "off";
444
+ readonly 'import/enforce-node-protocol-usage': ["error", "always"];
415
445
  readonly 'import/export': "error";
416
446
  readonly 'import/exports-last': "error";
417
447
  readonly 'import/extensions': ["error", "ignorePackages", {
@@ -434,7 +464,7 @@ declare const config: {
434
464
  readonly 'import/no-cycle': "error";
435
465
  readonly 'import/no-default-export': "off";
436
466
  readonly 'import/no-deprecated': "error";
437
- readonly 'import/no-duplicates': "error";
467
+ readonly 'import/no-duplicates': "off";
438
468
  readonly 'import/no-dynamic-require': "error";
439
469
  readonly 'import/no-empty-named-blocks': "error";
440
470
  readonly 'import/no-extraneous-dependencies': "off";
@@ -459,7 +489,6 @@ declare const config: {
459
489
  readonly 'import/order': "off";
460
490
  readonly 'import/prefer-default-export': "error";
461
491
  readonly 'import/unambiguous': "error";
462
- readonly 'no-duplicate-imports': "off";
463
492
  readonly 'unicode-bom': ["error", string];
464
493
  readonly 'accessor-pairs': "error";
465
494
  readonly 'arrow-body-style': ["error", string];
@@ -631,6 +660,10 @@ declare const config: {
631
660
  readonly 'no-dupe-else-if': "error";
632
661
  readonly 'no-dupe-keys': "error";
633
662
  readonly 'no-duplicate-case': "error";
663
+ readonly 'no-duplicate-imports': ["error", {
664
+ allowSeparateTypeImports: boolean;
665
+ includeExports: boolean;
666
+ }];
634
667
  readonly 'no-empty-character-class': "error";
635
668
  readonly 'no-empty-pattern': "error";
636
669
  readonly 'no-ex-assign': "error";
package/dist/base.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import eslintRules from './rules/eslint-rules.js';
2
2
  import globals from 'globals';
3
- // @ts-expect-error TS7016
4
3
  import importPlugin from 'eslint-plugin-import';
5
4
  import importRules from './rules/import-rules.js';
6
5
  import jsdoc from 'eslint-plugin-jsdoc';
package/dist/browser.d.ts CHANGED
@@ -90,6 +90,7 @@ declare const config: {
90
90
  readonly clearTimeout: false;
91
91
  readonly clientInformation: false;
92
92
  readonly Clipboard: false;
93
+ readonly ClipboardChangeEvent: false;
93
94
  readonly ClipboardEvent: false;
94
95
  readonly ClipboardItem: false;
95
96
  readonly close: false;
@@ -112,6 +113,7 @@ declare const config: {
112
113
  readonly CookieStoreManager: false;
113
114
  readonly CountQueuingStrategy: false;
114
115
  readonly createImageBitmap: false;
116
+ readonly CreateMonitor: false;
115
117
  readonly Credential: false;
116
118
  readonly credentialless: false;
117
119
  readonly CredentialsContainer: false;
@@ -450,6 +452,7 @@ declare const config: {
450
452
  readonly InputDeviceCapabilities: false;
451
453
  readonly InputDeviceInfo: false;
452
454
  readonly InputEvent: false;
455
+ readonly IntegrityViolationReportBody: false;
453
456
  readonly IntersectionObserver: false;
454
457
  readonly IntersectionObserverEntry: false;
455
458
  readonly isSecureContext: false;
@@ -765,6 +768,7 @@ declare const config: {
765
768
  readonly PushSubscriptionOptions: false;
766
769
  readonly queryLocalFonts: false;
767
770
  readonly queueMicrotask: false;
771
+ readonly QuotaExceededError: false;
768
772
  readonly RadioNodeList: false;
769
773
  readonly Range: false;
770
774
  readonly ReadableByteStreamController: false;
@@ -888,6 +892,7 @@ declare const config: {
888
892
  readonly SubmitEvent: false;
889
893
  readonly Subscriber: false;
890
894
  readonly SubtleCrypto: false;
895
+ readonly Summarizer: false;
891
896
  readonly SuppressedError: false;
892
897
  readonly SVGAElement: false;
893
898
  readonly SVGAngle: false;
@@ -1018,6 +1023,7 @@ declare const config: {
1018
1023
  readonly TransformStream: false;
1019
1024
  readonly TransformStreamDefaultController: false;
1020
1025
  readonly TransitionEvent: false;
1026
+ readonly Translator: false;
1021
1027
  readonly TreeWalker: false;
1022
1028
  readonly TrustedHTML: false;
1023
1029
  readonly TrustedScript: false;
@@ -1049,6 +1055,8 @@ declare const config: {
1049
1055
  readonly VideoEncoder: false;
1050
1056
  readonly VideoFrame: false;
1051
1057
  readonly VideoPlaybackQuality: false;
1058
+ readonly viewport: false;
1059
+ readonly Viewport: false;
1052
1060
  readonly ViewTimeline: false;
1053
1061
  readonly ViewTransition: false;
1054
1062
  readonly ViewTransitionTypeSet: false;
@@ -1244,7 +1252,6 @@ declare const config: {
1244
1252
  readonly '@stylistic/curly-newline': ["error", "always"];
1245
1253
  readonly '@stylistic/dot-location': ["error", "property"];
1246
1254
  readonly '@stylistic/eol-last': "error";
1247
- readonly '@stylistic/func-call-spacing': ["error", "never"];
1248
1255
  readonly '@stylistic/function-call-argument-newline': ["error", "consistent"];
1249
1256
  readonly '@stylistic/function-call-spacing': ["error", "never"];
1250
1257
  readonly '@stylistic/function-paren-newline': ["error", "multiline"];
@@ -1267,7 +1274,6 @@ declare const config: {
1267
1274
  readonly '@stylistic/jsx-equals-spacing': "error";
1268
1275
  readonly '@stylistic/jsx-first-prop-new-line': "error";
1269
1276
  readonly '@stylistic/jsx-function-call-newline': "error";
1270
- readonly '@stylistic/jsx-indent': ["error", 2];
1271
1277
  readonly '@stylistic/jsx-indent-props': ["error", 2];
1272
1278
  readonly '@stylistic/jsx-max-props-per-line': "error";
1273
1279
  readonly '@stylistic/jsx-newline': "off";
@@ -1382,6 +1388,9 @@ declare const config: {
1382
1388
  readonly 'n/no-restricted-import': "off";
1383
1389
  readonly 'n/no-restricted-require': "off";
1384
1390
  readonly 'n/no-sync': "error";
1391
+ readonly 'n/no-top-level-await': ["error", {
1392
+ readonly ignoreBin: true;
1393
+ }];
1385
1394
  readonly 'n/no-unpublished-bin': "error";
1386
1395
  readonly 'n/no-unpublished-import': ["error", {
1387
1396
  readonly ignoreTypeImport: true;
@@ -1464,6 +1473,7 @@ declare const config: {
1464
1473
  readonly 'import/consistent-type-specifier-style': "error";
1465
1474
  readonly 'import/default': "error";
1466
1475
  readonly 'import/dynamic-import-chunkname': "off";
1476
+ readonly 'import/enforce-node-protocol-usage': ["error", "always"];
1467
1477
  readonly 'import/export': "error";
1468
1478
  readonly 'import/exports-last': "error";
1469
1479
  readonly 'import/extensions': ["error", "ignorePackages", {
@@ -1486,7 +1496,7 @@ declare const config: {
1486
1496
  readonly 'import/no-cycle': "error";
1487
1497
  readonly 'import/no-default-export': "off";
1488
1498
  readonly 'import/no-deprecated': "error";
1489
- readonly 'import/no-duplicates': "error";
1499
+ readonly 'import/no-duplicates': "off";
1490
1500
  readonly 'import/no-dynamic-require': "error";
1491
1501
  readonly 'import/no-empty-named-blocks': "error";
1492
1502
  readonly 'import/no-extraneous-dependencies': "off";
@@ -1510,7 +1520,6 @@ declare const config: {
1510
1520
  readonly 'import/order': "off";
1511
1521
  readonly 'import/prefer-default-export': "error";
1512
1522
  readonly 'import/unambiguous': "error";
1513
- readonly 'no-duplicate-imports': "off";
1514
1523
  readonly 'unicode-bom': ["error", string];
1515
1524
  readonly 'accessor-pairs': "error";
1516
1525
  readonly 'arrow-body-style': ["error", string];
@@ -1682,6 +1691,10 @@ declare const config: {
1682
1691
  readonly 'no-dupe-else-if': "error";
1683
1692
  readonly 'no-dupe-keys': "error";
1684
1693
  readonly 'no-duplicate-case': "error";
1694
+ readonly 'no-duplicate-imports': ["error", {
1695
+ allowSeparateTypeImports: boolean;
1696
+ includeExports: boolean;
1697
+ }];
1685
1698
  readonly 'no-empty-character-class': "error";
1686
1699
  readonly 'no-empty-pattern': "error";
1687
1700
  readonly 'no-ex-assign': "error";
@@ -1733,7 +1746,35 @@ declare const config: {
1733
1746
  rules: import("@stylistic/eslint-plugin").Rules;
1734
1747
  configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
1735
1748
  };
1736
- readonly import: import("eslint").ESLint.Plugin;
1749
+ readonly import: import("eslint").ESLint.Plugin & {
1750
+ meta: {
1751
+ name: string;
1752
+ version: string;
1753
+ };
1754
+ configs: {
1755
+ "recommended": Linter.LegacyConfig;
1756
+ "errors": Linter.LegacyConfig;
1757
+ "warnings": Linter.LegacyConfig;
1758
+ "stage-0": Linter.LegacyConfig;
1759
+ "react": Linter.LegacyConfig;
1760
+ "react-native": Linter.LegacyConfig;
1761
+ "electron": Linter.LegacyConfig;
1762
+ "typescript": Linter.LegacyConfig;
1763
+ };
1764
+ flatConfigs: {
1765
+ "recommended": Linter.FlatConfig;
1766
+ "errors": Linter.FlatConfig;
1767
+ "warnings": Linter.FlatConfig;
1768
+ "stage-0": Linter.FlatConfig;
1769
+ "react": Linter.FlatConfig;
1770
+ "react-native": Linter.FlatConfig;
1771
+ "electron": Linter.FlatConfig;
1772
+ "typescript": Linter.FlatConfig;
1773
+ };
1774
+ rules: {
1775
+ [key: string]: import("eslint").Rule.RuleModule;
1776
+ };
1777
+ };
1737
1778
  readonly jsdoc: import("eslint").ESLint.Plugin & {
1738
1779
  configs: Record<`flat/${import("eslint-plugin-jsdoc").ConfigGroups}${import("eslint-plugin-jsdoc").ConfigVariants}${import("eslint-plugin-jsdoc").ErrorLevelVariants}`, import("eslint").Linter.Config>;
1739
1780
  };
@@ -171,7 +171,6 @@ declare const config: {
171
171
  readonly '@stylistic/curly-newline': ["error", "always"];
172
172
  readonly '@stylistic/dot-location': ["error", "property"];
173
173
  readonly '@stylistic/eol-last': "error";
174
- readonly '@stylistic/func-call-spacing': ["error", "never"];
175
174
  readonly '@stylistic/function-call-argument-newline': ["error", "consistent"];
176
175
  readonly '@stylistic/function-call-spacing': ["error", "never"];
177
176
  readonly '@stylistic/function-paren-newline': ["error", "multiline"];
@@ -194,7 +193,6 @@ declare const config: {
194
193
  readonly '@stylistic/jsx-equals-spacing': "error";
195
194
  readonly '@stylistic/jsx-first-prop-new-line': "error";
196
195
  readonly '@stylistic/jsx-function-call-newline': "error";
197
- readonly '@stylistic/jsx-indent': ["error", 2];
198
196
  readonly '@stylistic/jsx-indent-props': ["error", 2];
199
197
  readonly '@stylistic/jsx-max-props-per-line': "error";
200
198
  readonly '@stylistic/jsx-newline': "off";
@@ -309,6 +307,9 @@ declare const config: {
309
307
  readonly 'n/no-restricted-import': "off";
310
308
  readonly 'n/no-restricted-require': "off";
311
309
  readonly 'n/no-sync': "error";
310
+ readonly 'n/no-top-level-await': ["error", {
311
+ readonly ignoreBin: true;
312
+ }];
312
313
  readonly 'n/no-unpublished-bin': "error";
313
314
  readonly 'n/no-unpublished-import': ["error", {
314
315
  readonly ignoreTypeImport: true;
@@ -394,6 +395,7 @@ declare const config: {
394
395
  readonly 'import/consistent-type-specifier-style': "error";
395
396
  readonly 'import/default': "error";
396
397
  readonly 'import/dynamic-import-chunkname': "off";
398
+ readonly 'import/enforce-node-protocol-usage': ["error", "always"];
397
399
  readonly 'import/export': "error";
398
400
  readonly 'import/exports-last': "error";
399
401
  readonly 'import/extensions': ["error", "ignorePackages", {
@@ -416,7 +418,7 @@ declare const config: {
416
418
  readonly 'import/no-cycle': "error";
417
419
  readonly 'import/no-default-export': "off";
418
420
  readonly 'import/no-deprecated': "error";
419
- readonly 'import/no-duplicates': "error";
421
+ readonly 'import/no-duplicates': "off";
420
422
  readonly 'import/no-dynamic-require': "error";
421
423
  readonly 'import/no-empty-named-blocks': "error";
422
424
  readonly 'import/no-extraneous-dependencies': "off";
@@ -441,7 +443,6 @@ declare const config: {
441
443
  readonly 'import/order': "off";
442
444
  readonly 'import/prefer-default-export': "error";
443
445
  readonly 'import/unambiguous': "error";
444
- readonly 'no-duplicate-imports': "off";
445
446
  readonly 'unicode-bom': ["error", string];
446
447
  readonly 'accessor-pairs': "error";
447
448
  readonly 'arrow-body-style': ["error", string];
@@ -613,6 +614,10 @@ declare const config: {
613
614
  readonly 'no-dupe-else-if': "error";
614
615
  readonly 'no-dupe-keys': "error";
615
616
  readonly 'no-duplicate-case': "error";
617
+ readonly 'no-duplicate-imports': ["error", {
618
+ allowSeparateTypeImports: boolean;
619
+ includeExports: boolean;
620
+ }];
616
621
  readonly 'no-empty-character-class': "error";
617
622
  readonly 'no-empty-pattern': "error";
618
623
  readonly 'no-ex-assign': "error";
@@ -663,7 +668,35 @@ declare const config: {
663
668
  rules: import("@stylistic/eslint-plugin").Rules;
664
669
  configs: import("eslint").ESLint.Plugin["configs"] & import("@stylistic/eslint-plugin").Configs;
665
670
  };
666
- readonly import: import("eslint").ESLint.Plugin;
671
+ readonly import: import("eslint").ESLint.Plugin & {
672
+ meta: {
673
+ name: string;
674
+ version: string;
675
+ };
676
+ configs: {
677
+ "recommended": Linter.LegacyConfig;
678
+ "errors": Linter.LegacyConfig;
679
+ "warnings": Linter.LegacyConfig;
680
+ "stage-0": Linter.LegacyConfig;
681
+ "react": Linter.LegacyConfig;
682
+ "react-native": Linter.LegacyConfig;
683
+ "electron": Linter.LegacyConfig;
684
+ "typescript": Linter.LegacyConfig;
685
+ };
686
+ flatConfigs: {
687
+ "recommended": Linter.FlatConfig;
688
+ "errors": Linter.FlatConfig;
689
+ "warnings": Linter.FlatConfig;
690
+ "stage-0": Linter.FlatConfig;
691
+ "react": Linter.FlatConfig;
692
+ "react-native": Linter.FlatConfig;
693
+ "electron": Linter.FlatConfig;
694
+ "typescript": Linter.FlatConfig;
695
+ };
696
+ rules: {
697
+ [key: string]: import("eslint").Rule.RuleModule;
698
+ };
699
+ };
667
700
  readonly jsdoc: import("eslint").ESLint.Plugin & {
668
701
  configs: Record<`flat/${import("eslint-plugin-jsdoc").ConfigGroups}${import("eslint-plugin-jsdoc").ConfigVariants}${import("eslint-plugin-jsdoc").ErrorLevelVariants}`, import("eslint").Linter.Config>;
669
702
  };
package/dist/jest.d.ts CHANGED
@@ -83,6 +83,7 @@ declare const config: {
83
83
  readonly 'jest/prefer-called-with': "error";
84
84
  readonly 'jest/prefer-comparison-matcher': "error";
85
85
  readonly 'jest/prefer-each': "error";
86
+ readonly 'jest/prefer-ending-with-an-expect': "error";
86
87
  readonly 'jest/prefer-equality-matcher': "error";
87
88
  readonly 'jest/prefer-expect-assertions': ["warn", {
88
89
  readonly onlyFunctionsWithAsyncKeyword: true;
package/dist/jest.js CHANGED
@@ -47,6 +47,7 @@ const config = {
47
47
  'jest/prefer-called-with': 'error',
48
48
  'jest/prefer-comparison-matcher': 'error',
49
49
  'jest/prefer-each': 'error',
50
+ 'jest/prefer-ending-with-an-expect': 'error',
50
51
  'jest/prefer-equality-matcher': 'error',
51
52
  'jest/prefer-expect-assertions': ['warn', { onlyFunctionsWithAsyncKeyword: true }],
52
53
  'jest/prefer-expect-resolves': 'error',
@@ -170,7 +170,10 @@ declare const rules: {
170
170
  readonly 'no-dupe-else-if': "error";
171
171
  readonly 'no-dupe-keys': "error";
172
172
  readonly 'no-duplicate-case': "error";
173
- readonly 'no-duplicate-imports': "error";
173
+ readonly 'no-duplicate-imports': ["error", {
174
+ allowSeparateTypeImports: boolean;
175
+ includeExports: boolean;
176
+ }];
174
177
  readonly 'no-empty-character-class': "error";
175
178
  readonly 'no-empty-pattern': "error";
176
179
  readonly 'no-ex-assign': "error";
@@ -22,7 +22,13 @@ const rules = {
22
22
  'no-dupe-else-if': 'error',
23
23
  'no-dupe-keys': 'error',
24
24
  'no-duplicate-case': 'error',
25
- 'no-duplicate-imports': 'error',
25
+ 'no-duplicate-imports': [
26
+ 'error',
27
+ {
28
+ allowSeparateTypeImports: true,
29
+ includeExports: true
30
+ }
31
+ ],
26
32
  'no-empty-character-class': 'error',
27
33
  'no-empty-pattern': 'error',
28
34
  'no-ex-assign': 'error',
@@ -2,6 +2,7 @@ declare const rules: {
2
2
  readonly 'import/consistent-type-specifier-style': "error";
3
3
  readonly 'import/default': "error";
4
4
  readonly 'import/dynamic-import-chunkname': "off";
5
+ readonly 'import/enforce-node-protocol-usage': ["error", "always"];
5
6
  readonly 'import/export': "error";
6
7
  readonly 'import/exports-last': "error";
7
8
  readonly 'import/extensions': ["error", "ignorePackages", {
@@ -24,7 +25,7 @@ declare const rules: {
24
25
  readonly 'import/no-cycle': "error";
25
26
  readonly 'import/no-default-export': "off";
26
27
  readonly 'import/no-deprecated': "error";
27
- readonly 'import/no-duplicates': "error";
28
+ readonly 'import/no-duplicates': "off";
28
29
  readonly 'import/no-dynamic-require': "error";
29
30
  readonly 'import/no-empty-named-blocks': "error";
30
31
  readonly 'import/no-extraneous-dependencies': "off";
@@ -49,6 +50,5 @@ declare const rules: {
49
50
  readonly 'import/order': "off";
50
51
  readonly 'import/prefer-default-export': "error";
51
52
  readonly 'import/unambiguous': "error";
52
- readonly 'no-duplicate-imports': "off";
53
53
  };
54
54
  export default rules;
@@ -2,6 +2,7 @@ const rules = {
2
2
  'import/consistent-type-specifier-style': 'error',
3
3
  'import/default': 'error',
4
4
  'import/dynamic-import-chunkname': 'off',
5
+ 'import/enforce-node-protocol-usage': ['error', 'always'],
5
6
  'import/export': 'error',
6
7
  'import/exports-last': 'error',
7
8
  'import/extensions': [
@@ -28,7 +29,7 @@ const rules = {
28
29
  'import/no-cycle': 'error',
29
30
  'import/no-default-export': 'off',
30
31
  'import/no-deprecated': 'error',
31
- 'import/no-duplicates': 'error',
32
+ 'import/no-duplicates': 'off',
32
33
  'import/no-dynamic-require': 'error',
33
34
  'import/no-empty-named-blocks': 'error',
34
35
  'import/no-extraneous-dependencies': 'off',
@@ -52,7 +53,6 @@ const rules = {
52
53
  'import/no-webpack-loader-syntax': 'error',
53
54
  'import/order': 'off',
54
55
  'import/prefer-default-export': 'error',
55
- 'import/unambiguous': 'error',
56
- 'no-duplicate-imports': 'off'
56
+ 'import/unambiguous': 'error'
57
57
  };
58
58
  export default rules;
@@ -22,6 +22,9 @@ declare const rules: {
22
22
  readonly 'n/no-restricted-import': "off";
23
23
  readonly 'n/no-restricted-require': "off";
24
24
  readonly 'n/no-sync': "error";
25
+ readonly 'n/no-top-level-await': ["error", {
26
+ readonly ignoreBin: true;
27
+ }];
25
28
  readonly 'n/no-unpublished-bin': "error";
26
29
  readonly 'n/no-unpublished-import': ["error", {
27
30
  readonly ignoreTypeImport: true;
@@ -20,6 +20,7 @@ const rules = {
20
20
  'n/no-restricted-import': 'off',
21
21
  'n/no-restricted-require': 'off',
22
22
  'n/no-sync': 'error',
23
+ 'n/no-top-level-await': ['error', { ignoreBin: true }],
23
24
  'n/no-unpublished-bin': 'error',
24
25
  'n/no-unpublished-import': ['error', { ignoreTypeImport: true }],
25
26
  'n/no-unpublished-require': 'error',
@@ -24,7 +24,6 @@ declare const rules: {
24
24
  readonly '@stylistic/curly-newline': ["error", "always"];
25
25
  readonly '@stylistic/dot-location': ["error", "property"];
26
26
  readonly '@stylistic/eol-last': "error";
27
- readonly '@stylistic/func-call-spacing': ["error", "never"];
28
27
  readonly '@stylistic/function-call-argument-newline': ["error", "consistent"];
29
28
  readonly '@stylistic/function-call-spacing': ["error", "never"];
30
29
  readonly '@stylistic/function-paren-newline': ["error", "multiline"];
@@ -47,7 +46,6 @@ declare const rules: {
47
46
  readonly '@stylistic/jsx-equals-spacing': "error";
48
47
  readonly '@stylistic/jsx-first-prop-new-line': "error";
49
48
  readonly '@stylistic/jsx-function-call-newline': "error";
50
- readonly '@stylistic/jsx-indent': ["error", 2];
51
49
  readonly '@stylistic/jsx-indent-props': ["error", 2];
52
50
  readonly '@stylistic/jsx-max-props-per-line': "error";
53
51
  readonly '@stylistic/jsx-newline': "off";
@@ -36,8 +36,6 @@ const rules = {
36
36
  '@stylistic/curly-newline': ['error', 'always'],
37
37
  '@stylistic/dot-location': ['error', 'property'],
38
38
  '@stylistic/eol-last': 'error',
39
- // Alias of `@stylistic/function-call-spacing`
40
- '@stylistic/func-call-spacing': ['error', 'never'],
41
39
  '@stylistic/function-call-argument-newline': ['error', 'consistent'],
42
40
  '@stylistic/function-call-spacing': ['error', 'never'],
43
41
  '@stylistic/function-paren-newline': ['error', 'multiline'],
@@ -69,7 +67,6 @@ const rules = {
69
67
  '@stylistic/jsx-equals-spacing': 'error',
70
68
  '@stylistic/jsx-first-prop-new-line': 'error',
71
69
  '@stylistic/jsx-function-call-newline': 'error',
72
- '@stylistic/jsx-indent': ['error', 2],
73
70
  '@stylistic/jsx-indent-props': ['error', 2],
74
71
  '@stylistic/jsx-max-props-per-line': 'error',
75
72
  '@stylistic/jsx-newline': 'off',
@@ -173,7 +173,6 @@ declare const config: {
173
173
  readonly '@typescript-eslint/strict-boolean-expressions': "error";
174
174
  readonly '@typescript-eslint/switch-exhaustiveness-check': "error";
175
175
  readonly '@typescript-eslint/triple-slash-reference': "error";
176
- readonly '@typescript-eslint/typedef': "error";
177
176
  readonly '@typescript-eslint/unbound-method': "error";
178
177
  readonly '@typescript-eslint/unified-signatures': ["error", {
179
178
  readonly ignoreDifferentlyNamedParameters: true;
@@ -180,7 +180,6 @@ const config = {
180
180
  '@typescript-eslint/strict-boolean-expressions': 'error',
181
181
  '@typescript-eslint/switch-exhaustiveness-check': 'error',
182
182
  '@typescript-eslint/triple-slash-reference': 'error',
183
- '@typescript-eslint/typedef': 'error',
184
183
  '@typescript-eslint/unbound-method': 'error',
185
184
  '@typescript-eslint/unified-signatures': ['error', { ignoreDifferentlyNamedParameters: true }],
186
185
  '@typescript-eslint/use-unknown-in-catch-callback-variable': 'error',
package/dist/vitest.d.ts CHANGED
@@ -1,225 +1,8 @@
1
+ import type { ESLint } from 'eslint';
1
2
  declare const config: {
2
3
  readonly files: ["**/*.{spec,test}.{js,jsx,mjs,cjs}", "**/*.{spec,test}.{ts,tsx,mts,cts}"];
3
4
  readonly plugins: {
4
- readonly vitest: {
5
- meta: {
6
- name: string;
7
- version: string;
8
- };
9
- rules: {
10
- "prefer-lowercase-title": import("eslint").Rule.RuleModule;
11
- "max-nested-describe": import("eslint").Rule.RuleModule;
12
- "no-identical-title": import("eslint").Rule.RuleModule;
13
- "no-focused-tests": import("eslint").Rule.RuleModule;
14
- "no-conditional-tests": import("eslint").Rule.RuleModule;
15
- "expect-expect": import("eslint").Rule.RuleModule;
16
- "consistent-test-it": import("eslint").Rule.RuleModule;
17
- "prefer-to-be": import("eslint").Rule.RuleModule;
18
- "no-hooks": import("eslint").Rule.RuleModule;
19
- "no-restricted-vi-methods": import("eslint").Rule.RuleModule;
20
- "consistent-test-filename": import("eslint").Rule.RuleModule;
21
- "max-expects": import("eslint").Rule.RuleModule;
22
- "no-alias-methods": import("eslint").Rule.RuleModule;
23
- "no-commented-out-tests": import("eslint").Rule.RuleModule;
24
- "no-conditional-expect": import("eslint").Rule.RuleModule;
25
- "no-conditional-in-test": import("eslint").Rule.RuleModule;
26
- "no-disabled-tests": import("eslint").Rule.RuleModule;
27
- "no-done-callback": import("eslint").Rule.RuleModule;
28
- "no-duplicate-hooks": import("eslint").Rule.RuleModule;
29
- "no-large-snapshots": import("eslint").Rule.RuleModule;
30
- "no-interpolation-in-snapshots": import("eslint").Rule.RuleModule;
31
- "no-mocks-import": import("eslint").Rule.RuleModule;
32
- "no-restricted-matchers": import("eslint").Rule.RuleModule;
33
- "no-standalone-expect": import("eslint").Rule.RuleModule;
34
- "no-test-prefixes": import("eslint").Rule.RuleModule;
35
- "no-test-return-statement": import("eslint").Rule.RuleModule;
36
- "no-import-node-test": import("eslint").Rule.RuleModule;
37
- "prefer-called-with": import("eslint").Rule.RuleModule;
38
- "valid-title": import("eslint").Rule.RuleModule;
39
- "valid-expect": import("eslint").Rule.RuleModule;
40
- "prefer-to-be-falsy": import("eslint").Rule.RuleModule;
41
- "prefer-to-be-object": import("eslint").Rule.RuleModule;
42
- "prefer-to-be-truthy": import("eslint").Rule.RuleModule;
43
- "prefer-to-have-length": import("eslint").Rule.RuleModule;
44
- "prefer-equality-matcher": import("eslint").Rule.RuleModule;
45
- "prefer-strict-equal": import("eslint").Rule.RuleModule;
46
- "prefer-expect-resolves": import("eslint").Rule.RuleModule;
47
- "prefer-each": import("eslint").Rule.RuleModule;
48
- "prefer-hooks-on-top": import("eslint").Rule.RuleModule;
49
- "prefer-hooks-in-order": import("eslint").Rule.RuleModule;
50
- "require-local-test-context-for-concurrent-snapshots": import("eslint").Rule.RuleModule;
51
- "prefer-mock-promise-shorthand": import("eslint").Rule.RuleModule;
52
- "prefer-vi-mocked": import("eslint").Rule.RuleModule;
53
- "prefer-snapshot-hint": import("eslint").Rule.RuleModule;
54
- "valid-describe-callback": import("eslint").Rule.RuleModule;
55
- "require-top-level-describe": import("eslint").Rule.RuleModule;
56
- "require-to-throw-message": import("eslint").Rule.RuleModule;
57
- "require-hook": import("eslint").Rule.RuleModule;
58
- "prefer-todo": import("eslint").Rule.RuleModule;
59
- "prefer-spy-on": import("eslint").Rule.RuleModule;
60
- "prefer-comparison-matcher": import("eslint").Rule.RuleModule;
61
- "prefer-describe-function-title": import("eslint").Rule.RuleModule;
62
- "prefer-to-contain": import("eslint").Rule.RuleModule;
63
- "prefer-expect-assertions": import("eslint").Rule.RuleModule;
64
- "padding-around-after-all-blocks": import("eslint").Rule.RuleModule;
65
- "padding-around-after-each-blocks": import("eslint").Rule.RuleModule;
66
- "padding-around-all": import("eslint").Rule.RuleModule;
67
- "padding-around-before-all-blocks": import("eslint").Rule.RuleModule;
68
- "padding-around-before-each-blocks": import("eslint").Rule.RuleModule;
69
- "padding-around-describe-blocks": import("eslint").Rule.RuleModule;
70
- "padding-around-expect-groups": import("eslint").Rule.RuleModule;
71
- "padding-around-test-blocks": import("eslint").Rule.RuleModule;
72
- "valid-expect-in-promise": import("eslint").Rule.RuleModule;
73
- "prefer-strict-boolean-matchers": import("eslint").Rule.RuleModule;
74
- "require-mock-type-parameters": import("eslint").Rule.RuleModule;
75
- };
76
- environments: {
77
- env: {
78
- globals: {
79
- suite: true;
80
- test: true;
81
- describe: true;
82
- it: true;
83
- expectTypeOf: true;
84
- assertType: true;
85
- expect: true;
86
- assert: true;
87
- chai: true;
88
- vitest: true;
89
- vi: true;
90
- beforeAll: true;
91
- afterAll: true;
92
- beforeEach: true;
93
- afterEach: true;
94
- onTestFailed: true;
95
- onTestFinished: true;
96
- };
97
- };
98
- };
99
- configs: {
100
- "legacy-recommended": {
101
- plugins: string[];
102
- rules: {};
103
- };
104
- "legacy-all": {
105
- plugins: string[];
106
- rules: {};
107
- };
108
- recommended: {
109
- name: string;
110
- plugins: {
111
- readonly vitest: import("eslint").ESLint.Plugin;
112
- };
113
- rules: {
114
- readonly "vitest/expect-expect": "error";
115
- readonly "vitest/no-identical-title": "error";
116
- readonly "vitest/no-commented-out-tests": "error";
117
- readonly "vitest/valid-title": "error";
118
- readonly "vitest/valid-expect": "error";
119
- readonly "vitest/valid-describe-callback": "error";
120
- readonly "vitest/require-local-test-context-for-concurrent-snapshots": "error";
121
- readonly "vitest/no-import-node-test": "error";
122
- };
123
- };
124
- all: {
125
- name: string;
126
- plugins: {
127
- readonly vitest: import("eslint").ESLint.Plugin;
128
- };
129
- rules: {
130
- readonly "vitest/prefer-lowercase-title": "warn";
131
- readonly "vitest/max-nested-describe": "warn";
132
- readonly "vitest/no-focused-tests": "warn";
133
- readonly "vitest/no-conditional-tests": "warn";
134
- readonly "vitest/consistent-test-it": "warn";
135
- readonly "vitest/no-hooks": "warn";
136
- readonly "vitest/no-restricted-vi-methods": "warn";
137
- readonly "vitest/consistent-test-filename": "warn";
138
- readonly "vitest/max-expects": "warn";
139
- readonly "vitest/no-alias-methods": "warn";
140
- readonly "vitest/no-conditional-expect": "warn";
141
- readonly "vitest/no-conditional-in-test": "warn";
142
- readonly "vitest/no-disabled-tests": "warn";
143
- readonly "vitest/no-done-callback": "warn";
144
- readonly "vitest/no-duplicate-hooks": "warn";
145
- readonly "vitest/no-large-snapshots": "warn";
146
- readonly "vitest/no-interpolation-in-snapshots": "warn";
147
- readonly "vitest/no-mocks-import": "warn";
148
- readonly "vitest/no-restricted-matchers": "warn";
149
- readonly "vitest/no-standalone-expect": "warn";
150
- readonly "vitest/no-test-prefixes": "warn";
151
- readonly "vitest/no-test-return-statement": "warn";
152
- readonly "vitest/prefer-called-with": "warn";
153
- readonly "vitest/prefer-to-be-falsy": "off";
154
- readonly "vitest/prefer-to-be-object": "warn";
155
- readonly "vitest/prefer-to-be-truthy": "off";
156
- readonly "vitest/prefer-to-have-length": "warn";
157
- readonly "vitest/prefer-equality-matcher": "warn";
158
- readonly "vitest/prefer-strict-equal": "warn";
159
- readonly "vitest/prefer-expect-resolves": "warn";
160
- readonly "vitest/prefer-each": "warn";
161
- readonly "vitest/prefer-hooks-on-top": "warn";
162
- readonly "vitest/prefer-hooks-in-order": "warn";
163
- readonly "vitest/prefer-mock-promise-shorthand": "warn";
164
- readonly "vitest/prefer-vi-mocked": "warn";
165
- readonly "vitest/prefer-snapshot-hint": "warn";
166
- readonly "vitest/require-top-level-describe": "warn";
167
- readonly "vitest/require-to-throw-message": "warn";
168
- readonly "vitest/require-hook": "warn";
169
- readonly "vitest/prefer-todo": "warn";
170
- readonly "vitest/prefer-spy-on": "warn";
171
- readonly "vitest/prefer-comparison-matcher": "warn";
172
- readonly "vitest/prefer-describe-function-title": "warn";
173
- readonly "vitest/prefer-to-contain": "warn";
174
- readonly "vitest/prefer-expect-assertions": "warn";
175
- readonly "vitest/prefer-to-be": "warn";
176
- readonly "vitest/padding-around-after-all-blocks": "warn";
177
- readonly "vitest/padding-around-after-each-blocks": "warn";
178
- readonly "vitest/padding-around-all": "warn";
179
- readonly "vitest/padding-around-before-all-blocks": "warn";
180
- readonly "vitest/padding-around-before-each-blocks": "warn";
181
- readonly "vitest/padding-around-describe-blocks": "warn";
182
- readonly "vitest/padding-around-expect-groups": "warn";
183
- readonly "vitest/padding-around-test-blocks": "warn";
184
- readonly "vitest/valid-expect-in-promise": "warn";
185
- readonly "vitest/expect-expect": "warn";
186
- readonly "vitest/no-identical-title": "warn";
187
- readonly "vitest/no-commented-out-tests": "warn";
188
- readonly "vitest/valid-title": "warn";
189
- readonly "vitest/valid-expect": "warn";
190
- readonly "vitest/valid-describe-callback": "warn";
191
- readonly "vitest/require-local-test-context-for-concurrent-snapshots": "warn";
192
- readonly "vitest/no-import-node-test": "warn";
193
- readonly "vitest/prefer-strict-boolean-matchers": "warn";
194
- readonly "vitest/require-mock-type-parameters": "warn";
195
- };
196
- };
197
- env: {
198
- name: string;
199
- languageOptions: {
200
- globals: {
201
- suite: "writable";
202
- test: "writable";
203
- describe: "writable";
204
- it: "writable";
205
- expectTypeOf: "writable";
206
- assertType: "writable";
207
- expect: "writable";
208
- assert: "writable";
209
- chai: "writable";
210
- vitest: "writable";
211
- vi: "writable";
212
- beforeAll: "writable";
213
- afterAll: "writable";
214
- beforeEach: "writable";
215
- afterEach: "writable";
216
- onTestFailed: "writable";
217
- onTestFinished: "writable";
218
- };
219
- };
220
- };
221
- };
222
- };
5
+ readonly vitest: ESLint.Plugin;
223
6
  };
224
7
  readonly rules: {
225
8
  readonly 'max-lines-per-function': "off";
@@ -229,6 +12,7 @@ declare const config: {
229
12
  }];
230
13
  readonly 'vitest/consistent-test-filename': "error";
231
14
  readonly 'vitest/consistent-test-it': "error";
15
+ readonly 'vitest/consistent-vitest-vi': "error";
232
16
  readonly 'vitest/expect-expect': "error";
233
17
  readonly 'vitest/max-expects': "error";
234
18
  readonly 'vitest/max-nested-describe': "error";
@@ -243,6 +27,7 @@ declare const config: {
243
27
  readonly 'vitest/no-hooks': "off";
244
28
  readonly 'vitest/no-identical-title': "error";
245
29
  readonly 'vitest/no-import-node-test': "error";
30
+ readonly 'vitest/no-importing-vitest-globals': "off";
246
31
  readonly 'vitest/no-interpolation-in-snapshots': "error";
247
32
  readonly 'vitest/no-large-snapshots': "error";
248
33
  readonly 'vitest/no-mocks-import': "error";
@@ -259,6 +44,8 @@ declare const config: {
259
44
  readonly 'vitest/padding-around-describe-blocks': "error";
260
45
  readonly 'vitest/padding-around-expect-groups': "error";
261
46
  readonly 'vitest/padding-around-test-blocks': "error";
47
+ readonly 'vitest/prefer-called-once': "error";
48
+ readonly 'vitest/prefer-called-times': "off";
262
49
  readonly 'vitest/prefer-called-with': "error";
263
50
  readonly 'vitest/prefer-comparison-matcher': "error";
264
51
  readonly 'vitest/prefer-describe-function-title': "error";
@@ -270,6 +57,7 @@ declare const config: {
270
57
  readonly 'vitest/prefer-expect-resolves': "error";
271
58
  readonly 'vitest/prefer-hooks-in-order': "error";
272
59
  readonly 'vitest/prefer-hooks-on-top': "error";
60
+ readonly 'vitest/prefer-importing-vitest-globals': "error";
273
61
  readonly 'vitest/prefer-lowercase-title': "error";
274
62
  readonly 'vitest/prefer-mock-promise-shorthand': "error";
275
63
  readonly 'vitest/prefer-snapshot-hint': "error";
@@ -293,6 +81,7 @@ declare const config: {
293
81
  readonly 'vitest/valid-expect': "error";
294
82
  readonly 'vitest/valid-expect-in-promise': "error";
295
83
  readonly 'vitest/valid-title': "error";
84
+ readonly 'vitest/warn-todo': "error";
296
85
  };
297
86
  };
298
87
  export { config as vitest };
package/dist/vitest.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import vitest from '@vitest/eslint-plugin';
2
2
  const config = {
3
3
  files: ['**/*.{spec,test}.{js,jsx,mjs,cjs}', '**/*.{spec,test}.{ts,tsx,mts,cts}'],
4
- plugins: { vitest },
4
+ plugins: { vitest: vitest },
5
5
  rules: {
6
6
  'max-lines-per-function': 'off',
7
7
  'max-statements': 'off',
@@ -13,6 +13,7 @@ const config = {
13
13
  ],
14
14
  'vitest/consistent-test-filename': 'error',
15
15
  'vitest/consistent-test-it': 'error',
16
+ 'vitest/consistent-vitest-vi': 'error',
16
17
  'vitest/expect-expect': 'error',
17
18
  'vitest/max-expects': 'error',
18
19
  'vitest/max-nested-describe': 'error',
@@ -27,6 +28,7 @@ const config = {
27
28
  'vitest/no-hooks': 'off',
28
29
  'vitest/no-identical-title': 'error',
29
30
  'vitest/no-import-node-test': 'error',
31
+ 'vitest/no-importing-vitest-globals': 'off',
30
32
  'vitest/no-interpolation-in-snapshots': 'error',
31
33
  'vitest/no-large-snapshots': 'error',
32
34
  'vitest/no-mocks-import': 'error',
@@ -43,6 +45,8 @@ const config = {
43
45
  'vitest/padding-around-describe-blocks': 'error',
44
46
  'vitest/padding-around-expect-groups': 'error',
45
47
  'vitest/padding-around-test-blocks': 'error',
48
+ 'vitest/prefer-called-once': 'error',
49
+ 'vitest/prefer-called-times': 'off',
46
50
  'vitest/prefer-called-with': 'error',
47
51
  'vitest/prefer-comparison-matcher': 'error',
48
52
  'vitest/prefer-describe-function-title': 'error',
@@ -52,6 +56,7 @@ const config = {
52
56
  'vitest/prefer-expect-resolves': 'error',
53
57
  'vitest/prefer-hooks-in-order': 'error',
54
58
  'vitest/prefer-hooks-on-top': 'error',
59
+ 'vitest/prefer-importing-vitest-globals': 'error',
55
60
  'vitest/prefer-lowercase-title': 'error',
56
61
  'vitest/prefer-mock-promise-shorthand': 'error',
57
62
  'vitest/prefer-snapshot-hint': 'error',
@@ -74,7 +79,8 @@ const config = {
74
79
  'vitest/valid-describe-callback': 'error',
75
80
  'vitest/valid-expect': 'error',
76
81
  'vitest/valid-expect-in-promise': 'error',
77
- 'vitest/valid-title': 'error'
82
+ 'vitest/valid-title': 'error',
83
+ 'vitest/warn-todo': 'error'
78
84
  }
79
85
  };
80
86
  export { config as vitest };
package/package.json CHANGED
@@ -1,32 +1,31 @@
1
1
  {
2
2
  "name": "@egy186/eslint-config",
3
3
  "description": "Eslint shareable config",
4
- "version": "3.0.0",
4
+ "version": "3.2.0",
5
5
  "author": "egy186",
6
6
  "bugs": {
7
7
  "url": "https://github.com/egy186/eslint-config/issues"
8
8
  },
9
9
  "dependencies": {
10
- "@stylistic/eslint-plugin": "~4.2.0",
11
- "eslint-plugin-import": "~2.31.0",
12
- "eslint-plugin-jsdoc": "~50.6.17",
13
- "eslint-plugin-n": "~17.18.0",
14
- "globals": "^16.1.0"
10
+ "@stylistic/eslint-plugin": "~5.1.0",
11
+ "eslint-plugin-import": "~2.32.0",
12
+ "eslint-plugin-jsdoc": "~51.3.3",
13
+ "eslint-plugin-n": "~17.20.0",
14
+ "globals": "^16.3.0"
15
15
  },
16
16
  "devDependencies": {
17
- "@eslint-stylistic/metadata": "~4.2.0",
18
- "@eslint/js": "~9.27.0",
19
- "@types/node": "^22.15.18",
20
- "@vitest/eslint-plugin": "~1.2.0",
21
- "eslint": "~9.27.0",
22
- "eslint-import-resolver-typescript": "~4.3.4",
23
- "eslint-plugin-jest": "~28.11.0",
17
+ "@eslint/js": "~9.30.1",
18
+ "@types/node": "^24.0.10",
19
+ "@vitest/eslint-plugin": "~1.3.4",
20
+ "eslint": "~9.30.1",
21
+ "eslint-import-resolver-typescript": "~4.4.4",
22
+ "eslint-plugin-jest": "~29.0.1",
24
23
  "eslint-plugin-react": "~7.37.5",
25
24
  "eslint-plugin-react-hooks": "~5.2.0",
26
25
  "husky": "^9.1.7",
27
26
  "jiti": "^2.4.2",
28
27
  "typescript": "~5.8.3",
29
- "typescript-eslint": "~8.32.1"
28
+ "typescript-eslint": "~8.35.1"
30
29
  },
31
30
  "engines": {
32
31
  "node": ">=20.19.2"
@@ -64,10 +63,10 @@
64
63
  "license": "MIT",
65
64
  "main": "./dist/index.js",
66
65
  "peerDependencies": {
67
- "@vitest/eslint-plugin": "^1.1.42",
68
- "eslint": "^9.27.0",
66
+ "@vitest/eslint-plugin": "^1.3.3",
67
+ "eslint": "^9.30.1",
69
68
  "eslint-import-resolver-typescript": "^4.2.2",
70
- "eslint-plugin-jest": "^28.8.3",
69
+ "eslint-plugin-jest": "^29.0.1",
71
70
  "eslint-plugin-react": "^7.36.1",
72
71
  "eslint-plugin-react-hooks": "^5.0.0",
73
72
  "typescript": "^5.0.4",