@bfra.me/eslint-config 0.44.3 → 0.45.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/lib/index.d.ts CHANGED
@@ -1320,182 +1320,182 @@ interface Rules {
1320
1320
  * apply `jsx-a11y/alt-text` rule to Astro components
1321
1321
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/alt-text/
1322
1322
  */
1323
- 'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<[]>
1323
+ 'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<AstroJsxA11YAltText>
1324
1324
  /**
1325
1325
  * apply `jsx-a11y/anchor-ambiguous-text` rule to Astro components
1326
1326
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-ambiguous-text/
1327
1327
  */
1328
- 'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<[]>
1328
+ 'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<AstroJsxA11YAnchorAmbiguousText>
1329
1329
  /**
1330
1330
  * apply `jsx-a11y/anchor-has-content` rule to Astro components
1331
1331
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-has-content/
1332
1332
  */
1333
- 'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<[]>
1333
+ 'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<AstroJsxA11YAnchorHasContent>
1334
1334
  /**
1335
1335
  * apply `jsx-a11y/anchor-is-valid` rule to Astro components
1336
1336
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-is-valid/
1337
1337
  */
1338
- 'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<[]>
1338
+ 'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<AstroJsxA11YAnchorIsValid>
1339
1339
  /**
1340
1340
  * apply `jsx-a11y/aria-activedescendant-has-tabindex` rule to Astro components
1341
1341
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-activedescendant-has-tabindex/
1342
1342
  */
1343
- 'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<[]>
1343
+ 'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<AstroJsxA11YAriaActivedescendantHasTabindex>
1344
1344
  /**
1345
1345
  * apply `jsx-a11y/aria-props` rule to Astro components
1346
1346
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-props/
1347
1347
  */
1348
- 'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<[]>
1348
+ 'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<AstroJsxA11YAriaProps>
1349
1349
  /**
1350
1350
  * apply `jsx-a11y/aria-proptypes` rule to Astro components
1351
1351
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-proptypes/
1352
1352
  */
1353
- 'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<[]>
1353
+ 'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<AstroJsxA11YAriaProptypes>
1354
1354
  /**
1355
1355
  * apply `jsx-a11y/aria-role` rule to Astro components
1356
1356
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-role/
1357
1357
  */
1358
- 'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<[]>
1358
+ 'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<AstroJsxA11YAriaRole>
1359
1359
  /**
1360
1360
  * apply `jsx-a11y/aria-unsupported-elements` rule to Astro components
1361
1361
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-unsupported-elements/
1362
1362
  */
1363
- 'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<[]>
1363
+ 'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<AstroJsxA11YAriaUnsupportedElements>
1364
1364
  /**
1365
1365
  * apply `jsx-a11y/autocomplete-valid` rule to Astro components
1366
1366
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/autocomplete-valid/
1367
1367
  */
1368
- 'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<[]>
1368
+ 'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<AstroJsxA11YAutocompleteValid>
1369
1369
  /**
1370
1370
  * apply `jsx-a11y/click-events-have-key-events` rule to Astro components
1371
1371
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/click-events-have-key-events/
1372
1372
  */
1373
- 'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<[]>
1373
+ 'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YClickEventsHaveKeyEvents>
1374
1374
  /**
1375
1375
  * apply `jsx-a11y/control-has-associated-label` rule to Astro components
1376
1376
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/control-has-associated-label/
1377
1377
  */
1378
- 'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<[]>
1378
+ 'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<AstroJsxA11YControlHasAssociatedLabel>
1379
1379
  /**
1380
1380
  * apply `jsx-a11y/heading-has-content` rule to Astro components
1381
1381
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/heading-has-content/
1382
1382
  */
1383
- 'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<[]>
1383
+ 'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<AstroJsxA11YHeadingHasContent>
1384
1384
  /**
1385
1385
  * apply `jsx-a11y/html-has-lang` rule to Astro components
1386
1386
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/html-has-lang/
1387
1387
  */
1388
- 'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<[]>
1388
+ 'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<AstroJsxA11YHtmlHasLang>
1389
1389
  /**
1390
1390
  * apply `jsx-a11y/iframe-has-title` rule to Astro components
1391
1391
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/iframe-has-title/
1392
1392
  */
1393
- 'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<[]>
1393
+ 'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<AstroJsxA11YIframeHasTitle>
1394
1394
  /**
1395
1395
  * apply `jsx-a11y/img-redundant-alt` rule to Astro components
1396
1396
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/img-redundant-alt/
1397
1397
  */
1398
- 'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<[]>
1398
+ 'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<AstroJsxA11YImgRedundantAlt>
1399
1399
  /**
1400
1400
  * apply `jsx-a11y/interactive-supports-focus` rule to Astro components
1401
1401
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/interactive-supports-focus/
1402
1402
  */
1403
- 'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<[]>
1403
+ 'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<AstroJsxA11YInteractiveSupportsFocus>
1404
1404
  /**
1405
1405
  * apply `jsx-a11y/label-has-associated-control` rule to Astro components
1406
1406
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/label-has-associated-control/
1407
1407
  */
1408
- 'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<[]>
1408
+ 'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<AstroJsxA11YLabelHasAssociatedControl>
1409
1409
  /**
1410
1410
  * apply `jsx-a11y/lang` rule to Astro components
1411
1411
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/lang/
1412
1412
  */
1413
- 'astro/jsx-a11y/lang'?: Linter.RuleEntry<[]>
1413
+ 'astro/jsx-a11y/lang'?: Linter.RuleEntry<AstroJsxA11YLang>
1414
1414
  /**
1415
1415
  * apply `jsx-a11y/media-has-caption` rule to Astro components
1416
1416
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/media-has-caption/
1417
1417
  */
1418
- 'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<[]>
1418
+ 'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<AstroJsxA11YMediaHasCaption>
1419
1419
  /**
1420
1420
  * apply `jsx-a11y/mouse-events-have-key-events` rule to Astro components
1421
1421
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/mouse-events-have-key-events/
1422
1422
  */
1423
- 'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<[]>
1423
+ 'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11YMouseEventsHaveKeyEvents>
1424
1424
  /**
1425
1425
  * apply `jsx-a11y/no-access-key` rule to Astro components
1426
1426
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-access-key/
1427
1427
  */
1428
- 'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<[]>
1428
+ 'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<AstroJsxA11YNoAccessKey>
1429
1429
  /**
1430
1430
  * apply `jsx-a11y/no-aria-hidden-on-focusable` rule to Astro components
1431
1431
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-aria-hidden-on-focusable/
1432
1432
  */
1433
- 'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<[]>
1433
+ 'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<AstroJsxA11YNoAriaHiddenOnFocusable>
1434
1434
  /**
1435
1435
  * apply `jsx-a11y/no-autofocus` rule to Astro components
1436
1436
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-autofocus/
1437
1437
  */
1438
- 'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<[]>
1438
+ 'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<AstroJsxA11YNoAutofocus>
1439
1439
  /**
1440
1440
  * apply `jsx-a11y/no-distracting-elements` rule to Astro components
1441
1441
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-distracting-elements/
1442
1442
  */
1443
- 'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<[]>
1443
+ 'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<AstroJsxA11YNoDistractingElements>
1444
1444
  /**
1445
1445
  * apply `jsx-a11y/no-interactive-element-to-noninteractive-role` rule to Astro components
1446
1446
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-interactive-element-to-noninteractive-role/
1447
1447
  */
1448
- 'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<[]>
1448
+ 'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<AstroJsxA11YNoInteractiveElementToNoninteractiveRole>
1449
1449
  /**
1450
1450
  * apply `jsx-a11y/no-noninteractive-element-interactions` rule to Astro components
1451
1451
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-interactions/
1452
1452
  */
1453
- 'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<[]>
1453
+ 'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementInteractions>
1454
1454
  /**
1455
1455
  * apply `jsx-a11y/no-noninteractive-element-to-interactive-role` rule to Astro components
1456
1456
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-to-interactive-role/
1457
1457
  */
1458
- 'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<[]>
1458
+ 'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveElementToInteractiveRole>
1459
1459
  /**
1460
1460
  * apply `jsx-a11y/no-noninteractive-tabindex` rule to Astro components
1461
1461
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-tabindex/
1462
1462
  */
1463
- 'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<[]>
1463
+ 'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<AstroJsxA11YNoNoninteractiveTabindex>
1464
1464
  /**
1465
1465
  * apply `jsx-a11y/no-redundant-roles` rule to Astro components
1466
1466
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-redundant-roles/
1467
1467
  */
1468
- 'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<[]>
1468
+ 'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<AstroJsxA11YNoRedundantRoles>
1469
1469
  /**
1470
1470
  * apply `jsx-a11y/no-static-element-interactions` rule to Astro components
1471
1471
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-static-element-interactions/
1472
1472
  */
1473
- 'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<[]>
1473
+ 'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<AstroJsxA11YNoStaticElementInteractions>
1474
1474
  /**
1475
1475
  * apply `jsx-a11y/prefer-tag-over-role` rule to Astro components
1476
1476
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/prefer-tag-over-role/
1477
1477
  */
1478
- 'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<[]>
1478
+ 'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<AstroJsxA11YPreferTagOverRole>
1479
1479
  /**
1480
1480
  * apply `jsx-a11y/role-has-required-aria-props` rule to Astro components
1481
1481
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-has-required-aria-props/
1482
1482
  */
1483
- 'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<[]>
1483
+ 'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleHasRequiredAriaProps>
1484
1484
  /**
1485
1485
  * apply `jsx-a11y/role-supports-aria-props` rule to Astro components
1486
1486
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-supports-aria-props/
1487
1487
  */
1488
- 'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<[]>
1488
+ 'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<AstroJsxA11YRoleSupportsAriaProps>
1489
1489
  /**
1490
1490
  * apply `jsx-a11y/scope` rule to Astro components
1491
1491
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/scope/
1492
1492
  */
1493
- 'astro/jsx-a11y/scope'?: Linter.RuleEntry<[]>
1493
+ 'astro/jsx-a11y/scope'?: Linter.RuleEntry<AstroJsxA11YScope>
1494
1494
  /**
1495
1495
  * apply `jsx-a11y/tabindex-no-positive` rule to Astro components
1496
1496
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/tabindex-no-positive/
1497
1497
  */
1498
- 'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<[]>
1498
+ 'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<AstroJsxA11YTabindexNoPositive>
1499
1499
  /**
1500
1500
  * the client:only directive is missing the correct component's framework value
1501
1501
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/missing-client-only-directive-value/
@@ -9344,6 +9344,198 @@ type ArrowSpacing = []|[{
9344
9344
  before?: boolean
9345
9345
  after?: boolean
9346
9346
  }]
9347
+ // ----- astro/jsx-a11y/alt-text -----
9348
+ type AstroJsxA11YAltText = []|[{
9349
+ elements?: string[]
9350
+ img?: string[]
9351
+ object?: string[]
9352
+ area?: string[]
9353
+ "input[type=\"image\"]"?: string[]
9354
+ [k: string]: unknown | undefined
9355
+ }]
9356
+ // ----- astro/jsx-a11y/anchor-ambiguous-text -----
9357
+ type AstroJsxA11YAnchorAmbiguousText = []|[{
9358
+ words?: string[]
9359
+ [k: string]: unknown | undefined
9360
+ }]
9361
+ // ----- astro/jsx-a11y/anchor-has-content -----
9362
+ type AstroJsxA11YAnchorHasContent = []|[{
9363
+ components?: string[]
9364
+ [k: string]: unknown | undefined
9365
+ }]
9366
+ // ----- astro/jsx-a11y/anchor-is-valid -----
9367
+ type AstroJsxA11YAnchorIsValid = []|[{
9368
+ components?: string[]
9369
+ specialLink?: string[]
9370
+
9371
+ aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]]
9372
+ [k: string]: unknown | undefined
9373
+ }]
9374
+ // ----- astro/jsx-a11y/aria-activedescendant-has-tabindex -----
9375
+ type AstroJsxA11YAriaActivedescendantHasTabindex = []|[{
9376
+ [k: string]: unknown | undefined
9377
+ }]
9378
+ // ----- astro/jsx-a11y/aria-props -----
9379
+ type AstroJsxA11YAriaProps = []|[{
9380
+ [k: string]: unknown | undefined
9381
+ }]
9382
+ // ----- astro/jsx-a11y/aria-proptypes -----
9383
+ type AstroJsxA11YAriaProptypes = []|[{
9384
+ [k: string]: unknown | undefined
9385
+ }]
9386
+ // ----- astro/jsx-a11y/aria-role -----
9387
+ type AstroJsxA11YAriaRole = []|[{
9388
+ allowedInvalidRoles?: string[]
9389
+ ignoreNonDOM?: boolean
9390
+ [k: string]: unknown | undefined
9391
+ }]
9392
+ // ----- astro/jsx-a11y/aria-unsupported-elements -----
9393
+ type AstroJsxA11YAriaUnsupportedElements = []|[{
9394
+ [k: string]: unknown | undefined
9395
+ }]
9396
+ // ----- astro/jsx-a11y/autocomplete-valid -----
9397
+ type AstroJsxA11YAutocompleteValid = []|[{
9398
+ inputComponents?: string[]
9399
+ [k: string]: unknown | undefined
9400
+ }]
9401
+ // ----- astro/jsx-a11y/click-events-have-key-events -----
9402
+ type AstroJsxA11YClickEventsHaveKeyEvents = []|[{
9403
+ [k: string]: unknown | undefined
9404
+ }]
9405
+ // ----- astro/jsx-a11y/control-has-associated-label -----
9406
+ type AstroJsxA11YControlHasAssociatedLabel = []|[{
9407
+ labelAttributes?: string[]
9408
+ controlComponents?: string[]
9409
+ ignoreElements?: string[]
9410
+ ignoreRoles?: string[]
9411
+
9412
+ depth?: number
9413
+ [k: string]: unknown | undefined
9414
+ }]
9415
+ // ----- astro/jsx-a11y/heading-has-content -----
9416
+ type AstroJsxA11YHeadingHasContent = []|[{
9417
+ components?: string[]
9418
+ [k: string]: unknown | undefined
9419
+ }]
9420
+ // ----- astro/jsx-a11y/html-has-lang -----
9421
+ type AstroJsxA11YHtmlHasLang = []|[{
9422
+ [k: string]: unknown | undefined
9423
+ }]
9424
+ // ----- astro/jsx-a11y/iframe-has-title -----
9425
+ type AstroJsxA11YIframeHasTitle = []|[{
9426
+ [k: string]: unknown | undefined
9427
+ }]
9428
+ // ----- astro/jsx-a11y/img-redundant-alt -----
9429
+ type AstroJsxA11YImgRedundantAlt = []|[{
9430
+ components?: string[]
9431
+ words?: string[]
9432
+ [k: string]: unknown | undefined
9433
+ }]
9434
+ // ----- astro/jsx-a11y/interactive-supports-focus -----
9435
+ type AstroJsxA11YInteractiveSupportsFocus = []|[{
9436
+
9437
+ tabbable?: ("button" | "checkbox" | "columnheader" | "combobox" | "grid" | "gridcell" | "link" | "listbox" | "menu" | "menubar" | "menuitem" | "menuitemcheckbox" | "menuitemradio" | "option" | "progressbar" | "radio" | "radiogroup" | "row" | "rowheader" | "scrollbar" | "searchbox" | "slider" | "spinbutton" | "switch" | "tab" | "tablist" | "textbox" | "tree" | "treegrid" | "treeitem" | "doc-backlink" | "doc-biblioref" | "doc-glossref" | "doc-noteref")[]
9438
+ [k: string]: unknown | undefined
9439
+ }]
9440
+ // ----- astro/jsx-a11y/label-has-associated-control -----
9441
+ type AstroJsxA11YLabelHasAssociatedControl = []|[{
9442
+ labelComponents?: string[]
9443
+ labelAttributes?: string[]
9444
+ controlComponents?: string[]
9445
+
9446
+ assert?: ("htmlFor" | "nesting" | "both" | "either")
9447
+
9448
+ depth?: number
9449
+ [k: string]: unknown | undefined
9450
+ }]
9451
+ // ----- astro/jsx-a11y/lang -----
9452
+ type AstroJsxA11YLang = []|[{
9453
+ [k: string]: unknown | undefined
9454
+ }]
9455
+ // ----- astro/jsx-a11y/media-has-caption -----
9456
+ type AstroJsxA11YMediaHasCaption = []|[{
9457
+ audio?: string[]
9458
+ video?: string[]
9459
+ track?: string[]
9460
+ [k: string]: unknown | undefined
9461
+ }]
9462
+ // ----- astro/jsx-a11y/mouse-events-have-key-events -----
9463
+ type AstroJsxA11YMouseEventsHaveKeyEvents = []|[{
9464
+
9465
+ hoverInHandlers?: string[]
9466
+
9467
+ hoverOutHandlers?: string[]
9468
+ [k: string]: unknown | undefined
9469
+ }]
9470
+ // ----- astro/jsx-a11y/no-access-key -----
9471
+ type AstroJsxA11YNoAccessKey = []|[{
9472
+ [k: string]: unknown | undefined
9473
+ }]
9474
+ // ----- astro/jsx-a11y/no-aria-hidden-on-focusable -----
9475
+ type AstroJsxA11YNoAriaHiddenOnFocusable = []|[{
9476
+ [k: string]: unknown | undefined
9477
+ }]
9478
+ // ----- astro/jsx-a11y/no-autofocus -----
9479
+ type AstroJsxA11YNoAutofocus = []|[{
9480
+ ignoreNonDOM?: boolean
9481
+ [k: string]: unknown | undefined
9482
+ }]
9483
+ // ----- astro/jsx-a11y/no-distracting-elements -----
9484
+ type AstroJsxA11YNoDistractingElements = []|[{
9485
+
9486
+ elements?: ("marquee" | "blink")[]
9487
+ [k: string]: unknown | undefined
9488
+ }]
9489
+ // ----- astro/jsx-a11y/no-interactive-element-to-noninteractive-role -----
9490
+ type AstroJsxA11YNoInteractiveElementToNoninteractiveRole = []|[{
9491
+ [k: string]: string[] | undefined
9492
+ }]
9493
+ // ----- astro/jsx-a11y/no-noninteractive-element-interactions -----
9494
+ type AstroJsxA11YNoNoninteractiveElementInteractions = []|[{
9495
+ handlers?: string[]
9496
+ [k: string]: unknown | undefined
9497
+ }]
9498
+ // ----- astro/jsx-a11y/no-noninteractive-element-to-interactive-role -----
9499
+ type AstroJsxA11YNoNoninteractiveElementToInteractiveRole = []|[{
9500
+ [k: string]: string[] | undefined
9501
+ }]
9502
+ // ----- astro/jsx-a11y/no-noninteractive-tabindex -----
9503
+ type AstroJsxA11YNoNoninteractiveTabindex = []|[{
9504
+
9505
+ roles?: string[]
9506
+
9507
+ tags?: string[]
9508
+ [k: string]: unknown | undefined
9509
+ }]
9510
+ // ----- astro/jsx-a11y/no-redundant-roles -----
9511
+ type AstroJsxA11YNoRedundantRoles = []|[{
9512
+ [k: string]: string[] | undefined
9513
+ }]
9514
+ // ----- astro/jsx-a11y/no-static-element-interactions -----
9515
+ type AstroJsxA11YNoStaticElementInteractions = []|[{
9516
+ handlers?: string[]
9517
+ [k: string]: unknown | undefined
9518
+ }]
9519
+ // ----- astro/jsx-a11y/prefer-tag-over-role -----
9520
+ type AstroJsxA11YPreferTagOverRole = []|[{
9521
+ [k: string]: unknown | undefined
9522
+ }]
9523
+ // ----- astro/jsx-a11y/role-has-required-aria-props -----
9524
+ type AstroJsxA11YRoleHasRequiredAriaProps = []|[{
9525
+ [k: string]: unknown | undefined
9526
+ }]
9527
+ // ----- astro/jsx-a11y/role-supports-aria-props -----
9528
+ type AstroJsxA11YRoleSupportsAriaProps = []|[{
9529
+ [k: string]: unknown | undefined
9530
+ }]
9531
+ // ----- astro/jsx-a11y/scope -----
9532
+ type AstroJsxA11YScope = []|[{
9533
+ [k: string]: unknown | undefined
9534
+ }]
9535
+ // ----- astro/jsx-a11y/tabindex-no-positive -----
9536
+ type AstroJsxA11YTabindexNoPositive = []|[{
9537
+ [k: string]: unknown | undefined
9538
+ }]
9347
9539
  // ----- astro/no-unsafe-inline-scripts -----
9348
9540
  type AstroNoUnsafeInlineScripts = []|[{
9349
9541
  allowDefineVars?: boolean
@@ -16506,7 +16698,6 @@ type ConfigNames =
16506
16698
  | '@bfra.me/imports'
16507
16699
  | '@bfra.me/javascript/options'
16508
16700
  | '@bfra.me/javascript/rules'
16509
- | '@bfra.me/jsx'
16510
16701
  | '@bfra.me/jsdoc'
16511
16702
  | '@bfra.me/jsonc/plugins'
16512
16703
  | '@bfra.me/jsonc/unnamed1'
@@ -16514,6 +16705,7 @@ type ConfigNames =
16514
16705
  | '@bfra.me/jsonc/json-schema/unnamed1'
16515
16706
  | '@bfra.me/jsonc/json-schema'
16516
16707
  | '@bfra.me/jsonc'
16708
+ | '@bfra.me/jsx'
16517
16709
  | '@bfra.me/markdown/plugin'
16518
16710
  | '@bfra.me/markdown/processor'
16519
16711
  | '@bfra.me/markdown/parser'
@@ -16635,9 +16827,7 @@ declare function imports(options?: ImportsOptions): Config[];
16635
16827
  /**
16636
16828
  * Represents the options for configuring the JavaScript ESLint configuration.
16637
16829
  */
16638
- type JavaScriptOptions = Flatten<OptionsIsInEditor & OptionsOverrides & {
16639
- jsx?: boolean;
16640
- }>;
16830
+ type JavaScriptOptions = Flatten<OptionsIsInEditor & OptionsOverrides>;
16641
16831
  /**
16642
16832
  * Configures the JavaScript ESLint configuration with the specified options.
16643
16833
  *
@@ -16698,6 +16888,37 @@ type JsoncOptions = Flatten<OptionsFiles & OptionsOverrides & OptionsStylistic>;
16698
16888
  */
16699
16889
  declare function jsonc(options?: JsoncOptions): Promise<Config[]>;
16700
16890
 
16891
+ /**
16892
+ * Create ESLint configuration(s) for JSX/TSX files.
16893
+ *
16894
+ * @param options - Configuration options for generating the JSX config.
16895
+ * @param options.a11y - Controls inclusion of accessibility rules:
16896
+ * - `false` or `undefined` (default): do not include `jsx-a11y` rules,
16897
+ * return only the base config.
16898
+ * - `true`: attempt to load `eslint-plugin-jsx-a11y` and merge its recommended
16899
+ * config into the base config.
16900
+ * - object: treated like `{ overrides?: Record<string, any> }`. The
16901
+ * `overrides` object (if provided) will be merged on top of the plugin's
16902
+ * recommended rules.
16903
+ *
16904
+ * @returns A Promise that resolves to an array of Config objects. Either a
16905
+ * single base config or a base config augmented with `eslint-plugin-jsx-a11y`
16906
+ * and merged rules (when `a11y` is enabled and available).
16907
+ *
16908
+ * @example
16909
+ * // Basic usage (no accessibility rules)
16910
+ * await jsx()
16911
+ *
16912
+ * @example
16913
+ * // Enable accessibility rules (plugin must be installed)
16914
+ * await jsx({ a11y: true })
16915
+ *
16916
+ * @example
16917
+ * // Enable accessibility rules and apply custom rule overrides
16918
+ * await jsx({ a11y: { overrides: { 'jsx-a11y/no-static-element-interactions': 'off' } } })
16919
+ */
16920
+ declare function jsx(options?: JsxOptions): Promise<Config[]>;
16921
+
16701
16922
  /**
16702
16923
  * Markdown language mode for parsing.
16703
16924
  *
@@ -17098,6 +17319,20 @@ declare function yaml(options?: YamlOptions): Promise<Config[]>;
17098
17319
  type Flatten<T> = T extends Function ? T : {
17099
17320
  [K in keyof T]: T[K];
17100
17321
  } & {};
17322
+ interface JsxA11yOptions extends OptionsOverrides {
17323
+ }
17324
+ interface JsxOptions {
17325
+ /**
17326
+ * Enable JSX accessibility rules.
17327
+ *
17328
+ * Requires installing:
17329
+ * - `eslint-plugin-jsx-a11y`
17330
+ *
17331
+ * Can be a boolean or an object for custom options and overrides.
17332
+ * @default false
17333
+ */
17334
+ a11y?: boolean | JsxA11yOptions;
17335
+ }
17101
17336
  /**
17102
17337
  * Provides an option to override the `files` option in the ESLint configuration.
17103
17338
  * This allows customizing the glob patterns used to include files in the linting process.
@@ -17282,7 +17517,7 @@ type Options = Flatten<{
17282
17517
  *
17283
17518
  * @default true
17284
17519
  */
17285
- jsx?: boolean;
17520
+ jsx?: boolean | JsxOptions;
17286
17521
  /**
17287
17522
  * Options to override the behavior of linting Markdown files.
17288
17523
  *
@@ -17446,4 +17681,4 @@ declare const GLOB_EXCLUDE: string[];
17446
17681
 
17447
17682
  declare const config: eslint_flat_config_utils.FlatConfigComposer<Config, ConfigNames>;
17448
17683
 
17449
- export { type AstroOptions, type Config, type ConfigNames, type FallbackOptions, type Flatten, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CODE_IN_MARKDOWN_FILES, GLOB_EXCLUDE, GLOB_EXT_IN_MARKDOWN_FILES, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSON_FILES, GLOB_JSX, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_FILES, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_PACKAGE_JSON_FILES, GLOB_RENOVATE_CONFIG, GLOB_SRC, GLOB_SRC_EXT, GLOB_TESTS, GLOB_TOML, GLOB_TOML_FILES, GLOB_TS, GLOB_TSX, GLOB_TS_CONFIG, GLOB_YAML, GLOB_YAML_FILES, type ImportsOptions, type JSDocOptions, type JavaScriptOptions, type JsoncOptions, type MarkdownCodeBlockOptions, type MarkdownFrontmatterOptions, type MarkdownLanguage, type MarkdownOptions, type NextjsOptions, type Options, type OptionsFiles, type OptionsIsInEditor, type OptionsOverrides, type OptionsPerfectionist, type OptionsStylistic, type OptionsTypeScript, type OptionsTypeScriptErasableSyntaxOnly, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type PackageJsonOptions, type PerfectionistOptions, type PrettierOptions, type ReactOptions, type RegexpOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type StylisticOptions, type TomlOptions, type TypeScriptOptions, type UnicornOptions, type VitestOptions, type YamlOptions, astro, command, composeConfig, config, config as default, defineConfig, epilogue, eslintComments, fallback, gitignore, ignores, imports, javascript, jsdoc, jsonc, markdown, nextjs, node, packageJson, perfectionist, pnpm, prettier, react, regexp, sortPackageJson, sortRenovateConfig, sortTsconfig, stylistic, toml, typescript, unicorn, vitest, yaml };
17684
+ export { type AstroOptions, type Config, type ConfigNames, type FallbackOptions, type Flatten, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CODE_IN_MARKDOWN_FILES, GLOB_EXCLUDE, GLOB_EXT_IN_MARKDOWN_FILES, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSON_FILES, GLOB_JSX, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_FILES, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_PACKAGE_JSON_FILES, GLOB_RENOVATE_CONFIG, GLOB_SRC, GLOB_SRC_EXT, GLOB_TESTS, GLOB_TOML, GLOB_TOML_FILES, GLOB_TS, GLOB_TSX, GLOB_TS_CONFIG, GLOB_YAML, GLOB_YAML_FILES, type ImportsOptions, type JSDocOptions, type JavaScriptOptions, type JsoncOptions, type JsxA11yOptions, type JsxOptions, type MarkdownCodeBlockOptions, type MarkdownFrontmatterOptions, type MarkdownLanguage, type MarkdownOptions, type NextjsOptions, type Options, type OptionsFiles, type OptionsIsInEditor, type OptionsOverrides, type OptionsPerfectionist, type OptionsStylistic, type OptionsTypeScript, type OptionsTypeScriptErasableSyntaxOnly, type OptionsTypeScriptParserOptions, type OptionsTypeScriptWithTypes, type PackageJsonOptions, type PerfectionistOptions, type PrettierOptions, type ReactOptions, type RegexpOptions, type Rules, type StylisticConfig, StylisticConfigDefaults, type StylisticOptions, type TomlOptions, type TypeScriptOptions, type UnicornOptions, type VitestOptions, type YamlOptions, astro, command, composeConfig, config, config as default, defineConfig, epilogue, eslintComments, fallback, gitignore, ignores, imports, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, packageJson, perfectionist, pnpm, prettier, react, regexp, sortPackageJson, sortRenovateConfig, sortTsconfig, stylistic, toml, typescript, unicorn, vitest, yaml };