@jimmy.codes/eslint-config 5.12.0 → 5.14.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/index.d.ts CHANGED
@@ -8,6 +8,7 @@ import * as estree from 'estree';
8
8
  import * as eslint_plugin_react_hooks from 'eslint-plugin-react-hooks';
9
9
  import * as eslint_plugin_react_compiler from 'eslint-plugin-react-compiler';
10
10
  import * as _eslint_react_kit from '@eslint-react/kit';
11
+ import * as _stylistic_eslint_plugin_jsx from '@stylistic/eslint-plugin-jsx';
11
12
  import * as _stylistic_eslint_plugin from '@stylistic/eslint-plugin';
12
13
  import * as eslint_plugin_regexp from 'eslint-plugin-regexp';
13
14
  import * as eslint_plugin_n from 'eslint-plugin-n';
@@ -325,6 +326,7 @@ declare function astroConfig(): Promise<({
325
326
  __filename: false;
326
327
  AbortController: false;
327
328
  AbortSignal: false;
329
+ AsyncDisposableStack: false;
328
330
  atob: false;
329
331
  Blob: false;
330
332
  BroadcastChannel: false;
@@ -343,6 +345,7 @@ declare function astroConfig(): Promise<({
343
345
  CryptoKey: false;
344
346
  CustomEvent: false;
345
347
  DecompressionStream: false;
348
+ DisposableStack: false;
346
349
  DOMException: false;
347
350
  Event: false;
348
351
  EventTarget: false;
@@ -382,6 +385,7 @@ declare function astroConfig(): Promise<({
382
385
  setTimeout: false;
383
386
  structuredClone: false;
384
387
  SubtleCrypto: false;
388
+ SuppressedError: false;
385
389
  TextDecoder: false;
386
390
  TextDecoderStream: false;
387
391
  TextEncoder: false;
@@ -389,6 +393,7 @@ declare function astroConfig(): Promise<({
389
393
  TransformStream: false;
390
394
  TransformStreamDefaultController: false;
391
395
  URL: false;
396
+ URLPattern: false;
392
397
  URLSearchParams: false;
393
398
  WebAssembly: false;
394
399
  WebSocket: false;
@@ -495,6 +500,7 @@ declare function reactConfig(): Promise<{
495
500
  addEventListener: false;
496
501
  ai: false;
497
502
  AI: false;
503
+ AICreateMonitor: false;
498
504
  AITextSession: false;
499
505
  alert: false;
500
506
  AnalyserNode: false;
@@ -503,6 +509,7 @@ declare function reactConfig(): Promise<{
503
509
  AnimationEvent: false;
504
510
  AnimationPlaybackEvent: false;
505
511
  AnimationTimeline: false;
512
+ AsyncDisposableStack: false;
506
513
  atob: false;
507
514
  Attr: false;
508
515
  Audio: false;
@@ -579,6 +586,7 @@ declare function reactConfig(): Promise<{
579
586
  closed: false;
580
587
  CloseEvent: false;
581
588
  CloseWatcher: false;
589
+ CommandEvent: false;
582
590
  Comment: false;
583
591
  CompositionEvent: false;
584
592
  CompressionStream: false;
@@ -602,6 +610,7 @@ declare function reactConfig(): Promise<{
602
610
  crypto: false;
603
611
  Crypto: false;
604
612
  CryptoKey: false;
613
+ CSPViolationReportBody: false;
605
614
  CSS: false;
606
615
  CSSAnimation: false;
607
616
  CSSConditionRule: false;
@@ -679,7 +688,9 @@ declare function reactConfig(): Promise<{
679
688
  DeviceMotionEventRotationRate: false;
680
689
  DeviceOrientationEvent: false;
681
690
  devicePixelRatio: false;
691
+ DevicePosture: false;
682
692
  dispatchEvent: false;
693
+ DisposableStack: false;
683
694
  document: false;
684
695
  Document: false;
685
696
  DocumentFragment: false;
@@ -738,9 +749,9 @@ declare function reactConfig(): Promise<{
738
749
  FileSystemFileEntry: false;
739
750
  FileSystemFileHandle: false;
740
751
  FileSystemHandle: false;
752
+ FileSystemObserver: false;
741
753
  FileSystemWritableFileStream: false;
742
754
  find: false;
743
- Float16Array: false;
744
755
  focus: false;
745
756
  FocusEvent: false;
746
757
  FontData: false;
@@ -877,6 +888,7 @@ declare function reactConfig(): Promise<{
877
888
  HTMLProgressElement: false;
878
889
  HTMLQuoteElement: false;
879
890
  HTMLScriptElement: false;
891
+ HTMLSelectedContentElement: false;
880
892
  HTMLSelectElement: false;
881
893
  HTMLSlotElement: false;
882
894
  HTMLSourceElement: false;
@@ -935,6 +947,7 @@ declare function reactConfig(): Promise<{
935
947
  KeyboardEvent: false;
936
948
  KeyboardLayoutMap: false;
937
949
  KeyframeEffect: false;
950
+ LanguageDetector: false;
938
951
  LargestContentfulPaint: false;
939
952
  LaunchParams: false;
940
953
  launchQueue: false;
@@ -1032,6 +1045,7 @@ declare function reactConfig(): Promise<{
1032
1045
  NotifyPaintEvent: false;
1033
1046
  NotRestoredReasonDetails: false;
1034
1047
  NotRestoredReasons: false;
1048
+ Observable: false;
1035
1049
  OfflineAudioCompletionEvent: false;
1036
1050
  OfflineAudioContext: false;
1037
1051
  offscreenBuffering: false;
@@ -1059,6 +1073,7 @@ declare function reactConfig(): Promise<{
1059
1073
  onchange: true;
1060
1074
  onclick: true;
1061
1075
  onclose: true;
1076
+ oncommand: true;
1062
1077
  oncontentvisibilityautostatechange: true;
1063
1078
  oncontextlost: true;
1064
1079
  oncontextmenu: true;
@@ -1252,6 +1267,7 @@ declare function reactConfig(): Promise<{
1252
1267
  RelativeOrientationSensor: false;
1253
1268
  RemotePlayback: false;
1254
1269
  removeEventListener: false;
1270
+ ReportBody: false;
1255
1271
  reportError: false;
1256
1272
  ReportingObserver: false;
1257
1273
  Request: false;
@@ -1263,6 +1279,7 @@ declare function reactConfig(): Promise<{
1263
1279
  ResizeObserverSize: false;
1264
1280
  resizeTo: false;
1265
1281
  Response: false;
1282
+ RestrictionTarget: false;
1266
1283
  RTCCertificate: false;
1267
1284
  RTCDataChannel: false;
1268
1285
  RTCDataChannelEvent: false;
@@ -1323,6 +1340,11 @@ declare function reactConfig(): Promise<{
1323
1340
  ShadowRoot: false;
1324
1341
  sharedStorage: false;
1325
1342
  SharedStorage: false;
1343
+ SharedStorageAppendMethod: false;
1344
+ SharedStorageClearMethod: false;
1345
+ SharedStorageDeleteMethod: false;
1346
+ SharedStorageModifierMethod: false;
1347
+ SharedStorageSetMethod: false;
1326
1348
  SharedStorageWorklet: false;
1327
1349
  SharedWorker: false;
1328
1350
  showDirectoryPicker: false;
@@ -1354,7 +1376,9 @@ declare function reactConfig(): Promise<{
1354
1376
  StyleSheet: false;
1355
1377
  StyleSheetList: false;
1356
1378
  SubmitEvent: false;
1379
+ Subscriber: false;
1357
1380
  SubtleCrypto: false;
1381
+ SuppressedError: false;
1358
1382
  SVGAElement: false;
1359
1383
  SVGAngle: false;
1360
1384
  SVGAnimatedAngle: false;
@@ -1558,6 +1582,7 @@ declare function reactConfig(): Promise<{
1558
1582
  WebTransportSendStream: false;
1559
1583
  WGSLLanguageFeatures: false;
1560
1584
  WheelEvent: false;
1585
+ when: false;
1561
1586
  window: false;
1562
1587
  Window: false;
1563
1588
  WindowControlsOverlay: false;
@@ -1689,6 +1714,7 @@ declare function reactConfig(): Promise<{
1689
1714
  readonly "prefer-read-only-props": _typescript_eslint_utils_ts_eslint.RuleModule<"preferReadOnlyProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1690
1715
  readonly "prefer-shorthand-boolean": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandBoolean", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1691
1716
  readonly "prefer-shorthand-fragment": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandFragment", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1717
+ readonly "jsx-key-before-spread": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxKeyBeforeSpread", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1692
1718
  readonly "jsx-no-duplicate-props": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoDuplicateProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1693
1719
  readonly "jsx-no-undef": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoUndef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1694
1720
  readonly "jsx-uses-react": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxUsesReact", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
@@ -1770,6 +1796,7 @@ declare function reactConfig(): Promise<{
1770
1796
  readonly "prefer-read-only-props": _typescript_eslint_utils_ts_eslint.RuleModule<"preferReadOnlyProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1771
1797
  readonly "prefer-shorthand-boolean": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandBoolean", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1772
1798
  readonly "prefer-shorthand-fragment": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandFragment", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1799
+ readonly "jsx-key-before-spread": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxKeyBeforeSpread", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1773
1800
  readonly "jsx-no-duplicate-props": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoDuplicateProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1774
1801
  readonly "jsx-no-undef": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoUndef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1775
1802
  readonly "jsx-uses-react": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxUsesReact", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
@@ -1851,6 +1878,7 @@ declare function reactConfig(): Promise<{
1851
1878
  readonly "prefer-read-only-props": _typescript_eslint_utils_ts_eslint.RuleModule<"preferReadOnlyProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1852
1879
  readonly "prefer-shorthand-boolean": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandBoolean", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1853
1880
  readonly "prefer-shorthand-fragment": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandFragment", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1881
+ readonly "jsx-key-before-spread": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxKeyBeforeSpread", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1854
1882
  readonly "jsx-no-duplicate-props": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoDuplicateProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1855
1883
  readonly "jsx-no-undef": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoUndef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1856
1884
  readonly "jsx-uses-react": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxUsesReact", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
@@ -1930,6 +1958,7 @@ declare function reactConfig(): Promise<{
1930
1958
  readonly "prefer-read-only-props": _typescript_eslint_utils_ts_eslint.RuleModule<"preferReadOnlyProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1931
1959
  readonly "prefer-shorthand-boolean": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandBoolean", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1932
1960
  readonly "prefer-shorthand-fragment": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandFragment", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1961
+ readonly "jsx-key-before-spread": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxKeyBeforeSpread", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1933
1962
  readonly "jsx-no-duplicate-props": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoDuplicateProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1934
1963
  readonly "jsx-no-undef": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoUndef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
1935
1964
  readonly "jsx-uses-react": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxUsesReact", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
@@ -2341,6 +2370,7 @@ declare function typescriptConfig(): Promise<(_typescript_eslint_utils_ts_eslint
2341
2370
  attributes: false;
2342
2371
  };
2343
2372
  }];
2373
+ "@typescript-eslint/no-unnecessary-type-conversion": "error";
2344
2374
  "@typescript-eslint/no-unused-vars": ["error", {
2345
2375
  args: "all";
2346
2376
  argsIgnorePattern: string;
@@ -2581,6 +2611,11 @@ interface RuleOptions {
2581
2611
  * @see https://eslint-react.xyz/docs/rules/hooks-extra-prefer-use-state-lazy-initialization
2582
2612
  */
2583
2613
  '@eslint-react/hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
2614
+ /**
2615
+ * Enforces that the 'key' attribute is placed before the spread attribute in JSX elements.
2616
+ * @see https://eslint-react.xyz/docs/rules/jsx-key-before-spread
2617
+ */
2618
+ '@eslint-react/jsx-key-before-spread'?: Linter.RuleEntry<[]>
2584
2619
  /**
2585
2620
  * Disallow duplicate props in JSX elements.
2586
2621
  * @see https://eslint-react.xyz/docs/rules/jsx-no-duplicate-props
@@ -3236,6 +3271,107 @@ interface RuleOptions {
3236
3271
  * @see https://eslint.style/rules/jsx/jsx-wrap-multilines
3237
3272
  */
3238
3273
  '@stylistic/jsx-wrap-multilines'?: Linter.RuleEntry<StylisticJsxWrapMultilines>
3274
+ /**
3275
+ * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
3276
+ * @see https://eslint.style/rules/jsx/jsx-child-element-spacing
3277
+ */
3278
+ '@stylistic/jsx/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
3279
+ /**
3280
+ * Enforce closing bracket location in JSX
3281
+ * @see https://eslint.style/rules/jsx/jsx-closing-bracket-location
3282
+ */
3283
+ '@stylistic/jsx/jsx-closing-bracket-location'?: Linter.RuleEntry<StylisticJsxJsxClosingBracketLocation>
3284
+ /**
3285
+ * Enforce closing tag location for multiline JSX
3286
+ * @see https://eslint.style/rules/jsx/jsx-closing-tag-location
3287
+ */
3288
+ '@stylistic/jsx/jsx-closing-tag-location'?: Linter.RuleEntry<StylisticJsxJsxClosingTagLocation>
3289
+ /**
3290
+ * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
3291
+ * @see https://eslint.style/rules/jsx/jsx-curly-brace-presence
3292
+ */
3293
+ '@stylistic/jsx/jsx-curly-brace-presence'?: Linter.RuleEntry<StylisticJsxJsxCurlyBracePresence>
3294
+ /**
3295
+ * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
3296
+ * @see https://eslint.style/rules/jsx/jsx-curly-newline
3297
+ */
3298
+ '@stylistic/jsx/jsx-curly-newline'?: Linter.RuleEntry<StylisticJsxJsxCurlyNewline>
3299
+ /**
3300
+ * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
3301
+ * @see https://eslint.style/rules/jsx/jsx-curly-spacing
3302
+ */
3303
+ '@stylistic/jsx/jsx-curly-spacing'?: Linter.RuleEntry<StylisticJsxJsxCurlySpacing>
3304
+ /**
3305
+ * Enforce or disallow spaces around equal signs in JSX attributes
3306
+ * @see https://eslint.style/rules/jsx/jsx-equals-spacing
3307
+ */
3308
+ '@stylistic/jsx/jsx-equals-spacing'?: Linter.RuleEntry<StylisticJsxJsxEqualsSpacing>
3309
+ /**
3310
+ * Enforce proper position of the first property in JSX
3311
+ * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
3312
+ */
3313
+ '@stylistic/jsx/jsx-first-prop-new-line'?: Linter.RuleEntry<StylisticJsxJsxFirstPropNewLine>
3314
+ /**
3315
+ * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
3316
+ * @see https://eslint.style/rules/jsx/jsx-function-call-newline
3317
+ */
3318
+ '@stylistic/jsx/jsx-function-call-newline'?: Linter.RuleEntry<StylisticJsxJsxFunctionCallNewline>
3319
+ /**
3320
+ * Enforce JSX indentation. Deprecated, use `indent` rule instead.
3321
+ * @see https://eslint.style/rules/jsx/jsx-indent
3322
+ * @deprecated
3323
+ */
3324
+ '@stylistic/jsx/jsx-indent'?: Linter.RuleEntry<StylisticJsxJsxIndent>
3325
+ /**
3326
+ * Enforce props indentation in JSX
3327
+ * @see https://eslint.style/rules/jsx/jsx-indent-props
3328
+ */
3329
+ '@stylistic/jsx/jsx-indent-props'?: Linter.RuleEntry<StylisticJsxJsxIndentProps>
3330
+ /**
3331
+ * Enforce maximum of props on a single line in JSX
3332
+ * @see https://eslint.style/rules/jsx/jsx-max-props-per-line
3333
+ */
3334
+ '@stylistic/jsx/jsx-max-props-per-line'?: Linter.RuleEntry<StylisticJsxJsxMaxPropsPerLine>
3335
+ /**
3336
+ * Require or prevent a new line after jsx elements and expressions.
3337
+ * @see https://eslint.style/rules/jsx/jsx-newline
3338
+ */
3339
+ '@stylistic/jsx/jsx-newline'?: Linter.RuleEntry<StylisticJsxJsxNewline>
3340
+ /**
3341
+ * Require one JSX element per line
3342
+ * @see https://eslint.style/rules/jsx/jsx-one-expression-per-line
3343
+ */
3344
+ '@stylistic/jsx/jsx-one-expression-per-line'?: Linter.RuleEntry<StylisticJsxJsxOneExpressionPerLine>
3345
+ /**
3346
+ * Enforce PascalCase for user-defined JSX components
3347
+ * @see https://eslint.style/rules/jsx/jsx-pascal-case
3348
+ */
3349
+ '@stylistic/jsx/jsx-pascal-case'?: Linter.RuleEntry<StylisticJsxJsxPascalCase>
3350
+ /**
3351
+ * Disallow multiple spaces between inline JSX props
3352
+ * @see https://eslint.style/rules/jsx/jsx-props-no-multi-spaces
3353
+ */
3354
+ '@stylistic/jsx/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
3355
+ /**
3356
+ * Disallow extra closing tags for components without children
3357
+ * @see https://eslint.style/rules/jsx/jsx-self-closing-comp
3358
+ */
3359
+ '@stylistic/jsx/jsx-self-closing-comp'?: Linter.RuleEntry<StylisticJsxJsxSelfClosingComp>
3360
+ /**
3361
+ * Enforce props alphabetical sorting
3362
+ * @see https://eslint.style/rules/jsx/jsx-sort-props
3363
+ */
3364
+ '@stylistic/jsx/jsx-sort-props'?: Linter.RuleEntry<StylisticJsxJsxSortProps>
3365
+ /**
3366
+ * Enforce whitespace in and around the JSX opening and closing brackets
3367
+ * @see https://eslint.style/rules/jsx/jsx-tag-spacing
3368
+ */
3369
+ '@stylistic/jsx/jsx-tag-spacing'?: Linter.RuleEntry<StylisticJsxJsxTagSpacing>
3370
+ /**
3371
+ * Disallow missing parentheses around multiline JSX
3372
+ * @see https://eslint.style/rules/jsx/jsx-wrap-multilines
3373
+ */
3374
+ '@stylistic/jsx/jsx-wrap-multilines'?: Linter.RuleEntry<StylisticJsxJsxWrapMultilines>
3239
3375
  /**
3240
3376
  * Enforce consistent spacing between property names and type annotations in types and interfaces
3241
3377
  * @see https://eslint.style/rules/ts/key-spacing
@@ -3909,6 +4045,11 @@ interface RuleOptions {
3909
4045
  * @see https://typescript-eslint.io/rules/no-unnecessary-type-constraint
3910
4046
  */
3911
4047
  '@typescript-eslint/no-unnecessary-type-constraint'?: Linter.RuleEntry<[]>
4048
+ /**
4049
+ * Disallow conversion idioms when they do not change the type or value of the expression
4050
+ * @see https://typescript-eslint.io/rules/no-unnecessary-type-conversion
4051
+ */
4052
+ '@typescript-eslint/no-unnecessary-type-conversion'?: Linter.RuleEntry<[]>
3912
4053
  /**
3913
4054
  * Disallow type parameters that aren't used multiple times
3914
4055
  * @see https://typescript-eslint.io/rules/no-unnecessary-type-parameters
@@ -4721,233 +4862,233 @@ interface RuleOptions {
4721
4862
  'implicit-arrow-linebreak'?: Linter.RuleEntry<ImplicitArrowLinebreak>
4722
4863
  /**
4723
4864
  * Enforce or ban the use of inline type-only markers for named imports.
4724
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/consistent-type-specifier-style.md
4865
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/consistent-type-specifier-style.md
4725
4866
  */
4726
4867
  'import-x/consistent-type-specifier-style'?: Linter.RuleEntry<ImportXConsistentTypeSpecifierStyle>
4727
4868
  /**
4728
4869
  * Ensure a default export is present, given a default import.
4729
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/default.md
4870
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/default.md
4730
4871
  */
4731
4872
  'import-x/default'?: Linter.RuleEntry<[]>
4732
4873
  /**
4733
4874
  * Enforce a leading comment with the webpackChunkName for dynamic imports.
4734
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/dynamic-import-chunkname.md
4875
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/dynamic-import-chunkname.md
4735
4876
  */
4736
4877
  'import-x/dynamic-import-chunkname'?: Linter.RuleEntry<ImportXDynamicImportChunkname>
4737
4878
  /**
4738
4879
  * Forbid any invalid exports, i.e. re-export of the same name.
4739
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/export.md
4880
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/export.md
4740
4881
  */
4741
4882
  'import-x/export'?: Linter.RuleEntry<[]>
4742
4883
  /**
4743
4884
  * Ensure all exports appear after other statements.
4744
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/exports-last.md
4885
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/exports-last.md
4745
4886
  */
4746
4887
  'import-x/exports-last'?: Linter.RuleEntry<[]>
4747
4888
  /**
4748
4889
  * Ensure consistent use of file extension within the import path.
4749
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/extensions.md
4890
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/extensions.md
4750
4891
  */
4751
4892
  'import-x/extensions'?: Linter.RuleEntry<ImportXExtensions>
4752
4893
  /**
4753
4894
  * Ensure all imports appear before other statements.
4754
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/first.md
4895
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/first.md
4755
4896
  */
4756
4897
  'import-x/first'?: Linter.RuleEntry<ImportXFirst>
4757
4898
  /**
4758
4899
  * Prefer named exports to be grouped together in a single export declaration.
4759
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/group-exports.md
4900
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/group-exports.md
4760
4901
  */
4761
4902
  'import-x/group-exports'?: Linter.RuleEntry<[]>
4762
4903
  /**
4763
4904
  * Replaced by `import-x/first`.
4764
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/imports-first.md
4905
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/imports-first.md
4765
4906
  * @deprecated
4766
4907
  */
4767
4908
  'import-x/imports-first'?: Linter.RuleEntry<ImportXImportsFirst>
4768
4909
  /**
4769
4910
  * Enforce the maximum number of dependencies a module can have.
4770
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/max-dependencies.md
4911
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/max-dependencies.md
4771
4912
  */
4772
4913
  'import-x/max-dependencies'?: Linter.RuleEntry<ImportXMaxDependencies>
4773
4914
  /**
4774
4915
  * Ensure named imports correspond to a named export in the remote file.
4775
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/named.md
4916
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/named.md
4776
4917
  */
4777
4918
  'import-x/named'?: Linter.RuleEntry<ImportXNamed>
4778
4919
  /**
4779
4920
  * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
4780
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/namespace.md
4921
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/namespace.md
4781
4922
  */
4782
4923
  'import-x/namespace'?: Linter.RuleEntry<ImportXNamespace>
4783
4924
  /**
4784
4925
  * Enforce a newline after import statements.
4785
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/newline-after-import.md
4926
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/newline-after-import.md
4786
4927
  */
4787
4928
  'import-x/newline-after-import'?: Linter.RuleEntry<ImportXNewlineAfterImport>
4788
4929
  /**
4789
4930
  * Forbid import of modules using absolute paths.
4790
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-absolute-path.md
4931
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-absolute-path.md
4791
4932
  */
4792
4933
  'import-x/no-absolute-path'?: Linter.RuleEntry<ImportXNoAbsolutePath>
4793
4934
  /**
4794
4935
  * Forbid AMD `require` and `define` calls.
4795
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-amd.md
4936
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-amd.md
4796
4937
  */
4797
4938
  'import-x/no-amd'?: Linter.RuleEntry<[]>
4798
4939
  /**
4799
4940
  * Forbid anonymous values as default exports.
4800
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-anonymous-default-export.md
4941
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-anonymous-default-export.md
4801
4942
  */
4802
4943
  'import-x/no-anonymous-default-export'?: Linter.RuleEntry<ImportXNoAnonymousDefaultExport>
4803
4944
  /**
4804
4945
  * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
4805
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-commonjs.md
4946
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-commonjs.md
4806
4947
  */
4807
4948
  'import-x/no-commonjs'?: Linter.RuleEntry<ImportXNoCommonjs>
4808
4949
  /**
4809
4950
  * Forbid a module from importing a module with a dependency path back to itself.
4810
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-cycle.md
4951
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-cycle.md
4811
4952
  */
4812
4953
  'import-x/no-cycle'?: Linter.RuleEntry<ImportXNoCycle>
4813
4954
  /**
4814
4955
  * Forbid default exports.
4815
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-default-export.md
4956
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-default-export.md
4816
4957
  */
4817
4958
  'import-x/no-default-export'?: Linter.RuleEntry<[]>
4818
4959
  /**
4819
4960
  * Forbid imported names marked with `@deprecated` documentation tag.
4820
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-deprecated.md
4961
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-deprecated.md
4821
4962
  */
4822
4963
  'import-x/no-deprecated'?: Linter.RuleEntry<[]>
4823
4964
  /**
4824
4965
  * Forbid repeated import of the same module in multiple places.
4825
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-duplicates.md
4966
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-duplicates.md
4826
4967
  */
4827
4968
  'import-x/no-duplicates'?: Linter.RuleEntry<ImportXNoDuplicates>
4828
4969
  /**
4829
4970
  * Forbid `require()` calls with expressions.
4830
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-dynamic-require.md
4971
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-dynamic-require.md
4831
4972
  */
4832
4973
  'import-x/no-dynamic-require'?: Linter.RuleEntry<ImportXNoDynamicRequire>
4833
4974
  /**
4834
4975
  * Forbid empty named import blocks.
4835
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-empty-named-blocks.md
4976
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-empty-named-blocks.md
4836
4977
  */
4837
4978
  'import-x/no-empty-named-blocks'?: Linter.RuleEntry<[]>
4838
4979
  /**
4839
4980
  * Forbid the use of extraneous packages.
4840
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-extraneous-dependencies.md
4981
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-extraneous-dependencies.md
4841
4982
  */
4842
4983
  'import-x/no-extraneous-dependencies'?: Linter.RuleEntry<ImportXNoExtraneousDependencies>
4843
4984
  /**
4844
4985
  * Forbid import statements with CommonJS module.exports.
4845
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-import-module-exports.md
4986
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-import-module-exports.md
4846
4987
  */
4847
4988
  'import-x/no-import-module-exports'?: Linter.RuleEntry<ImportXNoImportModuleExports>
4848
4989
  /**
4849
4990
  * Forbid importing the submodules of other modules.
4850
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-internal-modules.md
4991
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-internal-modules.md
4851
4992
  */
4852
4993
  'import-x/no-internal-modules'?: Linter.RuleEntry<ImportXNoInternalModules>
4853
4994
  /**
4854
4995
  * Forbid the use of mutable exports with `var` or `let`.
4855
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-mutable-exports.md
4996
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-mutable-exports.md
4856
4997
  */
4857
4998
  'import-x/no-mutable-exports'?: Linter.RuleEntry<[]>
4858
4999
  /**
4859
5000
  * Forbid use of exported name as identifier of default export.
4860
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-named-as-default.md
5001
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-named-as-default.md
4861
5002
  */
4862
5003
  'import-x/no-named-as-default'?: Linter.RuleEntry<[]>
4863
5004
  /**
4864
5005
  * Forbid use of exported name as property of default export.
4865
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-named-as-default-member.md
5006
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-named-as-default-member.md
4866
5007
  */
4867
5008
  'import-x/no-named-as-default-member'?: Linter.RuleEntry<[]>
4868
5009
  /**
4869
5010
  * Forbid named default exports.
4870
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-named-default.md
5011
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-named-default.md
4871
5012
  */
4872
5013
  'import-x/no-named-default'?: Linter.RuleEntry<[]>
4873
5014
  /**
4874
5015
  * Forbid named exports.
4875
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-named-export.md
5016
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-named-export.md
4876
5017
  */
4877
5018
  'import-x/no-named-export'?: Linter.RuleEntry<[]>
4878
5019
  /**
4879
5020
  * Forbid namespace (a.k.a. "wildcard" `*`) imports.
4880
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-namespace.md
5021
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-namespace.md
4881
5022
  */
4882
5023
  'import-x/no-namespace'?: Linter.RuleEntry<ImportXNoNamespace>
4883
5024
  /**
4884
5025
  * Forbid Node.js builtin modules.
4885
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-nodejs-modules.md
5026
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-nodejs-modules.md
4886
5027
  */
4887
5028
  'import-x/no-nodejs-modules'?: Linter.RuleEntry<ImportXNoNodejsModules>
4888
5029
  /**
4889
5030
  * Forbid importing packages through relative paths.
4890
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-relative-packages.md
5031
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-relative-packages.md
4891
5032
  */
4892
5033
  'import-x/no-relative-packages'?: Linter.RuleEntry<ImportXNoRelativePackages>
4893
5034
  /**
4894
5035
  * Forbid importing modules from parent directories.
4895
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-relative-parent-imports.md
5036
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-relative-parent-imports.md
4896
5037
  */
4897
5038
  'import-x/no-relative-parent-imports'?: Linter.RuleEntry<ImportXNoRelativeParentImports>
4898
5039
  /**
4899
5040
  * Forbid importing a default export by a different name.
4900
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-rename-default.md
5041
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-rename-default.md
4901
5042
  */
4902
5043
  'import-x/no-rename-default'?: Linter.RuleEntry<ImportXNoRenameDefault>
4903
5044
  /**
4904
5045
  * Enforce which files can be imported in a given folder.
4905
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-restricted-paths.md
5046
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-restricted-paths.md
4906
5047
  */
4907
5048
  'import-x/no-restricted-paths'?: Linter.RuleEntry<ImportXNoRestrictedPaths>
4908
5049
  /**
4909
5050
  * Forbid a module from importing itself.
4910
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-self-import.md
5051
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-self-import.md
4911
5052
  */
4912
5053
  'import-x/no-self-import'?: Linter.RuleEntry<[]>
4913
5054
  /**
4914
5055
  * Forbid unassigned imports.
4915
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-unassigned-import.md
5056
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-unassigned-import.md
4916
5057
  */
4917
5058
  'import-x/no-unassigned-import'?: Linter.RuleEntry<ImportXNoUnassignedImport>
4918
5059
  /**
4919
5060
  * Ensure imports point to a file/module that can be resolved.
4920
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-unresolved.md
5061
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-unresolved.md
4921
5062
  */
4922
5063
  'import-x/no-unresolved'?: Linter.RuleEntry<ImportXNoUnresolved>
4923
5064
  /**
4924
5065
  * Forbid modules without exports, or exports without matching import in another module.
4925
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-unused-modules.md
5066
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-unused-modules.md
4926
5067
  */
4927
5068
  'import-x/no-unused-modules'?: Linter.RuleEntry<ImportXNoUnusedModules>
4928
5069
  /**
4929
5070
  * Forbid unnecessary path segments in import and require statements.
4930
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-useless-path-segments.md
5071
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-useless-path-segments.md
4931
5072
  */
4932
5073
  'import-x/no-useless-path-segments'?: Linter.RuleEntry<ImportXNoUselessPathSegments>
4933
5074
  /**
4934
5075
  * Forbid webpack loader syntax in imports.
4935
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/no-webpack-loader-syntax.md
5076
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/no-webpack-loader-syntax.md
4936
5077
  */
4937
5078
  'import-x/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>
4938
5079
  /**
4939
5080
  * Enforce a convention in module import order.
4940
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/order.md
5081
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/order.md
4941
5082
  */
4942
5083
  'import-x/order'?: Linter.RuleEntry<ImportXOrder>
4943
5084
  /**
4944
5085
  * Prefer a default export if module exports a single name or multiple names.
4945
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/prefer-default-export.md
5086
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/prefer-default-export.md
4946
5087
  */
4947
5088
  'import-x/prefer-default-export'?: Linter.RuleEntry<ImportXPreferDefaultExport>
4948
5089
  /**
4949
5090
  * Forbid potentially ambiguous parse goal (`script` vs. `module`).
4950
- * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.10.6/docs/rules/unambiguous.md
5091
+ * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.11.0/docs/rules/unambiguous.md
4951
5092
  */
4952
5093
  'import-x/unambiguous'?: Linter.RuleEntry<[]>
4953
5094
  /**
@@ -6748,7 +6889,7 @@ interface RuleOptions {
6748
6889
  * Disallow identifiers from shadowing restricted names
6749
6890
  * @see https://eslint.org/docs/latest/rules/no-shadow-restricted-names
6750
6891
  */
6751
- 'no-shadow-restricted-names'?: Linter.RuleEntry<[]>
6892
+ 'no-shadow-restricted-names'?: Linter.RuleEntry<NoShadowRestrictedNames>
6752
6893
  /**
6753
6894
  * Disallow spacing between function identifiers and their applications (deprecated)
6754
6895
  * @see https://eslint.org/docs/latest/rules/no-spaced-func
@@ -8991,7 +9132,7 @@ interface RuleOptions {
8991
9132
  */
8992
9133
  'vitest/no-standalone-expect'?: Linter.RuleEntry<VitestNoStandaloneExpect>
8993
9134
  /**
8994
- * disallow using `test` as a prefix
9135
+ * Disallow using the `f` and `x` prefixes in favour of `.only` and `.skip`
8995
9136
  * @see https://github.com/vitest-dev/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
8996
9137
  */
8997
9138
  'vitest/no-test-prefixes'?: Linter.RuleEntry<[]>
@@ -9666,6 +9807,130 @@ type StylisticJsxWrapMultilines = []|[{
9666
9807
  prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9667
9808
  propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9668
9809
  }]
9810
+ // ----- @stylistic/jsx/jsx-closing-bracket-location -----
9811
+ type StylisticJsxJsxClosingBracketLocation = []|[(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | {
9812
+ location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned")
9813
+ } | {
9814
+ nonEmpty?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false)
9815
+ selfClosing?: (("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | false)
9816
+ })]
9817
+ // ----- @stylistic/jsx/jsx-closing-tag-location -----
9818
+ type StylisticJsxJsxClosingTagLocation = []|[("tag-aligned" | "line-aligned")]
9819
+ // ----- @stylistic/jsx/jsx-curly-brace-presence -----
9820
+ type StylisticJsxJsxCurlyBracePresence = []|[({
9821
+ props?: ("always" | "never" | "ignore")
9822
+ children?: ("always" | "never" | "ignore")
9823
+ propElementValues?: ("always" | "never" | "ignore")
9824
+ } | ("always" | "never" | "ignore"))]
9825
+ // ----- @stylistic/jsx/jsx-curly-newline -----
9826
+ type StylisticJsxJsxCurlyNewline = []|[(("consistent" | "never") | {
9827
+ singleline?: ("consistent" | "require" | "forbid")
9828
+ multiline?: ("consistent" | "require" | "forbid")
9829
+ })]
9830
+ // ----- @stylistic/jsx/jsx-curly-spacing -----
9831
+ type StylisticJsxJsxCurlySpacing = []|[((_StylisticJsxJsxCurlySpacing_BasicConfig & {
9832
+ attributes?: _StylisticJsxJsxCurlySpacingBasicConfigOrBoolean
9833
+ children?: _StylisticJsxJsxCurlySpacingBasicConfigOrBoolean
9834
+ [k: string]: unknown | undefined
9835
+ }) | ("always" | "never"))]|[((_StylisticJsxJsxCurlySpacing_BasicConfig & {
9836
+ attributes?: _StylisticJsxJsxCurlySpacingBasicConfigOrBoolean
9837
+ children?: _StylisticJsxJsxCurlySpacingBasicConfigOrBoolean
9838
+ [k: string]: unknown | undefined
9839
+ }) | ("always" | "never")), {
9840
+ allowMultiline?: boolean
9841
+ spacing?: {
9842
+ objectLiterals?: ("always" | "never")
9843
+ [k: string]: unknown | undefined
9844
+ }
9845
+ }]
9846
+ type _StylisticJsxJsxCurlySpacingBasicConfigOrBoolean = (_StylisticJsxJsxCurlySpacing_BasicConfig | boolean)
9847
+ interface _StylisticJsxJsxCurlySpacing_BasicConfig {
9848
+ when?: ("always" | "never")
9849
+ allowMultiline?: boolean
9850
+ spacing?: {
9851
+ objectLiterals?: ("always" | "never")
9852
+ [k: string]: unknown | undefined
9853
+ }
9854
+ [k: string]: unknown | undefined
9855
+ }
9856
+ // ----- @stylistic/jsx/jsx-equals-spacing -----
9857
+ type StylisticJsxJsxEqualsSpacing = []|[("always" | "never")]
9858
+ // ----- @stylistic/jsx/jsx-first-prop-new-line -----
9859
+ type StylisticJsxJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]
9860
+ // ----- @stylistic/jsx/jsx-function-call-newline -----
9861
+ type StylisticJsxJsxFunctionCallNewline = []|[("always" | "multiline")]
9862
+ // ----- @stylistic/jsx/jsx-indent -----
9863
+ type StylisticJsxJsxIndent = []|[("tab" | number)]|[("tab" | number), {
9864
+ checkAttributes?: boolean
9865
+ indentLogicalExpressions?: boolean
9866
+ }]
9867
+ // ----- @stylistic/jsx/jsx-indent-props -----
9868
+ type StylisticJsxJsxIndentProps = []|[(("tab" | "first") | number | {
9869
+ indentMode?: (("tab" | "first") | number)
9870
+ ignoreTernaryOperator?: boolean
9871
+ [k: string]: unknown | undefined
9872
+ })]
9873
+ // ----- @stylistic/jsx/jsx-max-props-per-line -----
9874
+ type StylisticJsxJsxMaxPropsPerLine = []|[({
9875
+ maximum?: {
9876
+ single?: number
9877
+ multi?: number
9878
+ [k: string]: unknown | undefined
9879
+ }
9880
+ } | {
9881
+ maximum?: number
9882
+ when?: ("always" | "multiline")
9883
+ })]
9884
+ // ----- @stylistic/jsx/jsx-newline -----
9885
+ type StylisticJsxJsxNewline = []|[{
9886
+ prevent?: boolean
9887
+ allowMultilines?: boolean
9888
+ }]
9889
+ // ----- @stylistic/jsx/jsx-one-expression-per-line -----
9890
+ type StylisticJsxJsxOneExpressionPerLine = []|[{
9891
+ allow?: ("none" | "literal" | "single-child" | "single-line" | "non-jsx")
9892
+ }]
9893
+ // ----- @stylistic/jsx/jsx-pascal-case -----
9894
+ type StylisticJsxJsxPascalCase = []|[{
9895
+ allowAllCaps?: boolean
9896
+ allowLeadingUnderscore?: boolean
9897
+ allowNamespace?: boolean
9898
+ ignore?: string[]
9899
+ }]
9900
+ // ----- @stylistic/jsx/jsx-self-closing-comp -----
9901
+ type StylisticJsxJsxSelfClosingComp = []|[{
9902
+ component?: boolean
9903
+ html?: boolean
9904
+ }]
9905
+ // ----- @stylistic/jsx/jsx-sort-props -----
9906
+ type StylisticJsxJsxSortProps = []|[{
9907
+ callbacksLast?: boolean
9908
+ shorthandFirst?: boolean
9909
+ shorthandLast?: boolean
9910
+ multiline?: ("ignore" | "first" | "last")
9911
+ ignoreCase?: boolean
9912
+ noSortAlphabetically?: boolean
9913
+ reservedFirst?: (unknown[] | boolean)
9914
+ locale?: string
9915
+ }]
9916
+ // ----- @stylistic/jsx/jsx-tag-spacing -----
9917
+ type StylisticJsxJsxTagSpacing = []|[{
9918
+ closingSlash?: ("always" | "never" | "allow")
9919
+ beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow")
9920
+ afterOpening?: ("always" | "allow-multiline" | "never" | "allow")
9921
+ beforeClosing?: ("always" | "proportional-always" | "never" | "allow")
9922
+ }]
9923
+ // ----- @stylistic/jsx/jsx-wrap-multilines -----
9924
+ type StylisticJsxJsxWrapMultilines = []|[{
9925
+ declaration?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9926
+ assignment?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9927
+ return?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9928
+ arrow?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9929
+ condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9930
+ logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9931
+ prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9932
+ propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
9933
+ }]
9669
9934
  // ----- @stylistic/key-spacing -----
9670
9935
  type StylisticKeySpacing = []|[({
9671
9936
  align?: (("colon" | "value") | {
@@ -11240,6 +11505,7 @@ type TypescriptEslintNoUnusedExpressions = []|[{
11240
11505
  allowTernary?: boolean
11241
11506
  allowTaggedTemplates?: boolean
11242
11507
  enforceForJSX?: boolean
11508
+ ignoreDirectives?: boolean
11243
11509
  }]
11244
11510
  // ----- @typescript-eslint/no-unused-vars -----
11245
11511
  type TypescriptEslintNoUnusedVars = []|[(("all" | "local") | {
@@ -11302,6 +11568,8 @@ type TypescriptEslintOnlyThrowError = []|[{
11302
11568
  package: string
11303
11569
  })[]
11304
11570
 
11571
+ allowRethrowing?: boolean
11572
+
11305
11573
  allowThrowingAny?: boolean
11306
11574
 
11307
11575
  allowThrowingUnknown?: boolean
@@ -14152,6 +14420,10 @@ type NoShadow = []|[{
14152
14420
  allow?: string[]
14153
14421
  ignoreOnInitialization?: boolean
14154
14422
  }]
14423
+ // ----- no-shadow-restricted-names -----
14424
+ type NoShadowRestrictedNames = []|[{
14425
+ reportGlobalThis?: boolean
14426
+ }]
14155
14427
  // ----- no-sync -----
14156
14428
  type NoSync = []|[{
14157
14429
  allowAtRootLevel?: boolean
@@ -14203,6 +14475,7 @@ type NoUnusedExpressions = []|[{
14203
14475
  allowTernary?: boolean
14204
14476
  allowTaggedTemplates?: boolean
14205
14477
  enforceForJSX?: boolean
14478
+ ignoreDirectives?: boolean
14206
14479
  }]
14207
14480
  // ----- no-unused-vars -----
14208
14481
  type NoUnusedVars = []|[(("all" | "local") | {
@@ -17475,6 +17748,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
17475
17748
  "no-deprecated": _typescript_eslint_utils_ts_eslint.RuleModule<"deprecated" | "deprecatedDesc", [], eslint_plugin_import_x_utils.ImportXPluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener>;
17476
17749
  "imports-first": _typescript_eslint_utils_ts_eslint.RuleModule<eslint_plugin_import_x_rules_first.MessageId, [(eslint_plugin_import_x_rules_first.Options | undefined)?], eslint_plugin_import_x_utils.ImportXPluginDocs, _typescript_eslint_utils_ts_eslint.RuleListener>;
17477
17750
  };
17751
+ cjsRequire: eslint_plugin_import_x.CjsRequire;
17478
17752
  importXResolverCompat: typeof eslint_plugin_import_x.importXResolverCompat;
17479
17753
  createNodeResolver: typeof eslint_plugin_import_x.createNodeResolver;
17480
17754
  };
@@ -17657,8 +17931,17 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
17657
17931
  rules: _stylistic_eslint_plugin.Rules;
17658
17932
  configs: eslint.ESLint.Plugin["configs"] & _stylistic_eslint_plugin.Configs;
17659
17933
  };
17934
+ "@stylistic/jsx": {
17935
+ rules: _stylistic_eslint_plugin_jsx.Rules;
17936
+ configs: {
17937
+ "disable-legacy": Linter.Config;
17938
+ "all": Linter.Config;
17939
+ "all-flat": Linter.Config;
17940
+ };
17941
+ };
17660
17942
  };
17661
17943
  rules: {
17944
+ "@stylistic/jsx/jsx-curly-brace-presence": ["error", "never"];
17662
17945
  "@stylistic/object-curly-newline": ["error", {
17663
17946
  consistent: true;
17664
17947
  multiline: true;
@@ -17736,6 +18019,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
17736
18019
  attributes: false;
17737
18020
  };
17738
18021
  }];
18022
+ "@typescript-eslint/no-unnecessary-type-conversion": "error";
17739
18023
  "@typescript-eslint/no-unused-vars": ["error", {
17740
18024
  args: "all";
17741
18025
  argsIgnorePattern: string;
@@ -17777,6 +18061,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
17777
18061
  addEventListener: false;
17778
18062
  ai: false;
17779
18063
  AI: false;
18064
+ AICreateMonitor: false;
17780
18065
  AITextSession: false;
17781
18066
  alert: false;
17782
18067
  AnalyserNode: false;
@@ -17785,6 +18070,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
17785
18070
  AnimationEvent: false;
17786
18071
  AnimationPlaybackEvent: false;
17787
18072
  AnimationTimeline: false;
18073
+ AsyncDisposableStack: false;
17788
18074
  atob: false;
17789
18075
  Attr: false;
17790
18076
  Audio: false;
@@ -17861,6 +18147,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
17861
18147
  closed: false;
17862
18148
  CloseEvent: false;
17863
18149
  CloseWatcher: false;
18150
+ CommandEvent: false;
17864
18151
  Comment: false;
17865
18152
  CompositionEvent: false;
17866
18153
  CompressionStream: false;
@@ -17884,6 +18171,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
17884
18171
  crypto: false;
17885
18172
  Crypto: false;
17886
18173
  CryptoKey: false;
18174
+ CSPViolationReportBody: false;
17887
18175
  CSS: false;
17888
18176
  CSSAnimation: false;
17889
18177
  CSSConditionRule: false;
@@ -17961,7 +18249,9 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
17961
18249
  DeviceMotionEventRotationRate: false;
17962
18250
  DeviceOrientationEvent: false;
17963
18251
  devicePixelRatio: false;
18252
+ DevicePosture: false;
17964
18253
  dispatchEvent: false;
18254
+ DisposableStack: false;
17965
18255
  document: false;
17966
18256
  Document: false;
17967
18257
  DocumentFragment: false;
@@ -18020,9 +18310,9 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18020
18310
  FileSystemFileEntry: false;
18021
18311
  FileSystemFileHandle: false;
18022
18312
  FileSystemHandle: false;
18313
+ FileSystemObserver: false;
18023
18314
  FileSystemWritableFileStream: false;
18024
18315
  find: false;
18025
- Float16Array: false;
18026
18316
  focus: false;
18027
18317
  FocusEvent: false;
18028
18318
  FontData: false;
@@ -18159,6 +18449,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18159
18449
  HTMLProgressElement: false;
18160
18450
  HTMLQuoteElement: false;
18161
18451
  HTMLScriptElement: false;
18452
+ HTMLSelectedContentElement: false;
18162
18453
  HTMLSelectElement: false;
18163
18454
  HTMLSlotElement: false;
18164
18455
  HTMLSourceElement: false;
@@ -18217,6 +18508,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18217
18508
  KeyboardEvent: false;
18218
18509
  KeyboardLayoutMap: false;
18219
18510
  KeyframeEffect: false;
18511
+ LanguageDetector: false;
18220
18512
  LargestContentfulPaint: false;
18221
18513
  LaunchParams: false;
18222
18514
  launchQueue: false;
@@ -18314,6 +18606,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18314
18606
  NotifyPaintEvent: false;
18315
18607
  NotRestoredReasonDetails: false;
18316
18608
  NotRestoredReasons: false;
18609
+ Observable: false;
18317
18610
  OfflineAudioCompletionEvent: false;
18318
18611
  OfflineAudioContext: false;
18319
18612
  offscreenBuffering: false;
@@ -18341,6 +18634,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18341
18634
  onchange: true;
18342
18635
  onclick: true;
18343
18636
  onclose: true;
18637
+ oncommand: true;
18344
18638
  oncontentvisibilityautostatechange: true;
18345
18639
  oncontextlost: true;
18346
18640
  oncontextmenu: true;
@@ -18534,6 +18828,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18534
18828
  RelativeOrientationSensor: false;
18535
18829
  RemotePlayback: false;
18536
18830
  removeEventListener: false;
18831
+ ReportBody: false;
18537
18832
  reportError: false;
18538
18833
  ReportingObserver: false;
18539
18834
  Request: false;
@@ -18545,6 +18840,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18545
18840
  ResizeObserverSize: false;
18546
18841
  resizeTo: false;
18547
18842
  Response: false;
18843
+ RestrictionTarget: false;
18548
18844
  RTCCertificate: false;
18549
18845
  RTCDataChannel: false;
18550
18846
  RTCDataChannelEvent: false;
@@ -18605,6 +18901,11 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18605
18901
  ShadowRoot: false;
18606
18902
  sharedStorage: false;
18607
18903
  SharedStorage: false;
18904
+ SharedStorageAppendMethod: false;
18905
+ SharedStorageClearMethod: false;
18906
+ SharedStorageDeleteMethod: false;
18907
+ SharedStorageModifierMethod: false;
18908
+ SharedStorageSetMethod: false;
18608
18909
  SharedStorageWorklet: false;
18609
18910
  SharedWorker: false;
18610
18911
  showDirectoryPicker: false;
@@ -18636,7 +18937,9 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18636
18937
  StyleSheet: false;
18637
18938
  StyleSheetList: false;
18638
18939
  SubmitEvent: false;
18940
+ Subscriber: false;
18639
18941
  SubtleCrypto: false;
18942
+ SuppressedError: false;
18640
18943
  SVGAElement: false;
18641
18944
  SVGAngle: false;
18642
18945
  SVGAnimatedAngle: false;
@@ -18840,6 +19143,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18840
19143
  WebTransportSendStream: false;
18841
19144
  WGSLLanguageFeatures: false;
18842
19145
  WheelEvent: false;
19146
+ when: false;
18843
19147
  window: false;
18844
19148
  Window: false;
18845
19149
  WindowControlsOverlay: false;
@@ -18971,6 +19275,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
18971
19275
  readonly "prefer-read-only-props": _typescript_eslint_utils_ts_eslint.RuleModule<"preferReadOnlyProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
18972
19276
  readonly "prefer-shorthand-boolean": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandBoolean", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
18973
19277
  readonly "prefer-shorthand-fragment": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandFragment", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19278
+ readonly "jsx-key-before-spread": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxKeyBeforeSpread", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
18974
19279
  readonly "jsx-no-duplicate-props": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoDuplicateProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
18975
19280
  readonly "jsx-no-undef": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoUndef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
18976
19281
  readonly "jsx-uses-react": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxUsesReact", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
@@ -19052,6 +19357,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
19052
19357
  readonly "prefer-read-only-props": _typescript_eslint_utils_ts_eslint.RuleModule<"preferReadOnlyProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19053
19358
  readonly "prefer-shorthand-boolean": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandBoolean", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19054
19359
  readonly "prefer-shorthand-fragment": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandFragment", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19360
+ readonly "jsx-key-before-spread": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxKeyBeforeSpread", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19055
19361
  readonly "jsx-no-duplicate-props": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoDuplicateProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19056
19362
  readonly "jsx-no-undef": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoUndef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19057
19363
  readonly "jsx-uses-react": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxUsesReact", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
@@ -19133,6 +19439,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
19133
19439
  readonly "prefer-read-only-props": _typescript_eslint_utils_ts_eslint.RuleModule<"preferReadOnlyProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19134
19440
  readonly "prefer-shorthand-boolean": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandBoolean", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19135
19441
  readonly "prefer-shorthand-fragment": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandFragment", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19442
+ readonly "jsx-key-before-spread": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxKeyBeforeSpread", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19136
19443
  readonly "jsx-no-duplicate-props": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoDuplicateProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19137
19444
  readonly "jsx-no-undef": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoUndef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19138
19445
  readonly "jsx-uses-react": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxUsesReact", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
@@ -19212,6 +19519,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
19212
19519
  readonly "prefer-read-only-props": _typescript_eslint_utils_ts_eslint.RuleModule<"preferReadOnlyProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19213
19520
  readonly "prefer-shorthand-boolean": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandBoolean", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19214
19521
  readonly "prefer-shorthand-fragment": _typescript_eslint_utils_ts_eslint.RuleModule<"preferShorthandFragment", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19522
+ readonly "jsx-key-before-spread": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxKeyBeforeSpread", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19215
19523
  readonly "jsx-no-duplicate-props": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoDuplicateProps", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19216
19524
  readonly "jsx-no-undef": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxNoUndef", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
19217
19525
  readonly "jsx-uses-react": _typescript_eslint_utils_ts_eslint.RuleModule<"jsxUsesReact", [], unknown, _typescript_eslint_utils_ts_eslint.RuleListener>;
@@ -19620,6 +19928,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
19620
19928
  __filename: false;
19621
19929
  AbortController: false;
19622
19930
  AbortSignal: false;
19931
+ AsyncDisposableStack: false;
19623
19932
  atob: false;
19624
19933
  Blob: false;
19625
19934
  BroadcastChannel: false;
@@ -19638,6 +19947,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
19638
19947
  CryptoKey: false;
19639
19948
  CustomEvent: false;
19640
19949
  DecompressionStream: false;
19950
+ DisposableStack: false;
19641
19951
  DOMException: false;
19642
19952
  Event: false;
19643
19953
  EventTarget: false;
@@ -19677,6 +19987,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
19677
19987
  setTimeout: false;
19678
19988
  structuredClone: false;
19679
19989
  SubtleCrypto: false;
19990
+ SuppressedError: false;
19680
19991
  TextDecoder: false;
19681
19992
  TextDecoderStream: false;
19682
19993
  TextEncoder: false;
@@ -19684,6 +19995,7 @@ declare const defineConfig: ({ astro, autoDetect, ignores, jest, nextjs, overrid
19684
19995
  TransformStream: false;
19685
19996
  TransformStreamDefaultController: false;
19686
19997
  URL: false;
19998
+ URLPattern: false;
19687
19999
  URLSearchParams: false;
19688
20000
  WebAssembly: false;
19689
20001
  WebSocket: false;
package/dist/index.js CHANGED
@@ -434,9 +434,11 @@ var regexpConfig = () => {
434
434
 
435
435
  // src/configs/stylistic.ts
436
436
  import stylisticPlugin from "@stylistic/eslint-plugin";
437
+ import stylisticJsx from "@stylistic/eslint-plugin-jsx";
437
438
 
438
439
  // src/rules/stylistic.ts
439
440
  var stylisticRules = {
441
+ "@stylistic/jsx/jsx-curly-brace-presence": ["error", "never"],
440
442
  "@stylistic/object-curly-newline": [
441
443
  "error",
442
444
  {
@@ -489,7 +491,8 @@ function stylisticConfig() {
489
491
  {
490
492
  name: "jimmy.codes/stylistic",
491
493
  plugins: {
492
- "@stylistic": stylisticPlugin
494
+ "@stylistic": stylisticPlugin,
495
+ "@stylistic/jsx": stylisticJsx
493
496
  },
494
497
  rules: stylisticRules
495
498
  }
@@ -578,7 +581,7 @@ var defineConfig = async ({
578
581
  stylisticConfig()
579
582
  ];
580
583
  const featureConfigs = await Promise.all([
581
- isTypescriptEnabled && unwrap(import("./typescript-IBCLQD7Q.js")),
584
+ isTypescriptEnabled && unwrap(import("./typescript-M6XXI2FU.js")),
582
585
  isReactEnabled && unwrap(import("./react-6ERTZG2I.js")),
583
586
  isTanstackQueryEnabled && unwrap(import("./tanstack-query-QBZ3MKQ7.js")),
584
587
  isAstroEnabled && unwrap(import("./astro-Z5RFF624.js")),
@@ -19,6 +19,7 @@ var typescriptRules = {
19
19
  "error",
20
20
  { checksVoidReturn: { attributes: false } }
21
21
  ],
22
+ "@typescript-eslint/no-unnecessary-type-conversion": "error",
22
23
  "@typescript-eslint/no-unused-vars": [
23
24
  "error",
24
25
  // https://typescript-eslint.io/rules/no-unused-vars/#benefits-over-typescript
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jimmy.codes/eslint-config",
3
- "version": "5.12.0",
3
+ "version": "5.14.0",
4
4
  "description": "A pragmatic and opinionated ESLint config for modern development.",
5
5
  "keywords": [
6
6
  "eslint",
@@ -24,25 +24,26 @@
24
24
  ],
25
25
  "dependencies": {
26
26
  "@eslint-community/eslint-plugin-eslint-comments": "^4.5.0",
27
- "@eslint-react/eslint-plugin": "^1.48.4",
28
- "@eslint-react/kit": "^1.48.4",
29
- "@eslint-react/shared": "^1.48.4",
30
- "@eslint/js": "^9.25.1",
31
- "@next/eslint-plugin-next": "^15.3.1",
27
+ "@eslint-react/eslint-plugin": "^1.49.0",
28
+ "@eslint-react/kit": "^1.49.0",
29
+ "@eslint-react/shared": "^1.49.0",
30
+ "@eslint/js": "^9.26.0",
31
+ "@next/eslint-plugin-next": "^15.3.2",
32
32
  "@stylistic/eslint-plugin": "^4.2.0",
33
- "@tanstack/eslint-plugin-query": "^5.73.3",
33
+ "@stylistic/eslint-plugin-jsx": "4.2.0",
34
+ "@tanstack/eslint-plugin-query": "^5.74.7",
34
35
  "@types/eslint": "9.6.1",
35
- "@typescript-eslint/parser": "^8.31.0",
36
- "@typescript-eslint/utils": "^8.31.0",
37
- "@vitest/eslint-plugin": "^1.1.43",
36
+ "@typescript-eslint/parser": "^8.32.0",
37
+ "@typescript-eslint/utils": "^8.32.0",
38
+ "@vitest/eslint-plugin": "^1.1.44",
38
39
  "astro-eslint-parser": "^1.2.2",
39
- "eslint-config-prettier": "^10.1.2",
40
+ "eslint-config-prettier": "^10.1.3",
40
41
  "eslint-import-resolver-typescript": "^4.3.4",
41
42
  "eslint-plugin-astro": "^1.3.1",
42
- "eslint-plugin-import-x": "^4.10.6",
43
+ "eslint-plugin-import-x": "^4.11.0",
43
44
  "eslint-plugin-jest": "^28.11.0",
44
45
  "eslint-plugin-jest-dom": "^5.5.0",
45
- "eslint-plugin-jsdoc": "^50.6.10",
46
+ "eslint-plugin-jsdoc": "^50.6.11",
46
47
  "eslint-plugin-jsx-a11y": "^6.10.2",
47
48
  "eslint-plugin-n": "^17.17.0",
48
49
  "eslint-plugin-perfectionist": "^4.12.3",
@@ -54,9 +55,9 @@
54
55
  "eslint-plugin-storybook": "0.12.0",
55
56
  "eslint-plugin-testing-library": "^7.1.1",
56
57
  "eslint-plugin-unicorn": "^58.0.0",
57
- "globals": "^16.0.0",
58
+ "globals": "^16.1.0",
58
59
  "local-pkg": "^1.1.1",
59
- "typescript-eslint": "^8.31.0"
60
+ "typescript-eslint": "^8.32.0"
60
61
  },
61
62
  "peerDependencies": {
62
63
  "eslint": "^9.10.0"