@vinicunca/eslint-config 4.6.0 → 4.7.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.mts +850 -10
- package/dist/index.mjs +41 -16
- package/dist/{lib-AAJyPj3x.mjs → lib-ok3LDcYL.mjs} +222 -222
- package/package.json +30 -31
package/dist/index.d.mts
CHANGED
|
@@ -441,6 +441,11 @@ interface RuleOptions {
|
|
|
441
441
|
* @deprecated
|
|
442
442
|
*/
|
|
443
443
|
'comma-style'?: Linter.RuleEntry<CommaStyle>;
|
|
444
|
+
/**
|
|
445
|
+
* Comment-as-command for one-off codemod with ESLint
|
|
446
|
+
* @see https://github.com/antfu/eslint-plugin-command
|
|
447
|
+
*/
|
|
448
|
+
'command/command'?: Linter.RuleEntry<[]>;
|
|
444
449
|
/**
|
|
445
450
|
* Enforce a maximum cyclomatic complexity allowed in a program
|
|
446
451
|
* @see https://eslint.org/docs/latest/rules/complexity
|
|
@@ -509,6 +514,26 @@ interface RuleOptions {
|
|
|
509
514
|
* @see https://eslint.org/docs/latest/rules/eqeqeq
|
|
510
515
|
*/
|
|
511
516
|
'eqeqeq'?: Linter.RuleEntry<Eqeqeq>;
|
|
517
|
+
/**
|
|
518
|
+
* Avoid using TypeScript's enums.
|
|
519
|
+
* @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/enums.md
|
|
520
|
+
*/
|
|
521
|
+
'erasable-syntax-only/enums'?: Linter.RuleEntry<[]>;
|
|
522
|
+
/**
|
|
523
|
+
* Avoid using TypeScript's import aliases.
|
|
524
|
+
* @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/import-aliases.md
|
|
525
|
+
*/
|
|
526
|
+
'erasable-syntax-only/import-aliases'?: Linter.RuleEntry<[]>;
|
|
527
|
+
/**
|
|
528
|
+
* Avoid using TypeScript's namespaces.
|
|
529
|
+
* @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/namespaces.md
|
|
530
|
+
*/
|
|
531
|
+
'erasable-syntax-only/namespaces'?: Linter.RuleEntry<[]>;
|
|
532
|
+
/**
|
|
533
|
+
* Avoid using TypeScript's class parameter properties.
|
|
534
|
+
* @see https://github.com/JoshuaKGoldberg/eslint-plugin-erasable-syntax-only/blob/main/docs/rules/parameter-properties.md
|
|
535
|
+
*/
|
|
536
|
+
'erasable-syntax-only/parameter-properties'?: Linter.RuleEntry<[]>;
|
|
512
537
|
/**
|
|
513
538
|
* require a `eslint-enable` comment for every `eslint-disable` comment
|
|
514
539
|
* @see https://eslint-community.github.io/eslint-plugin-eslint-comments/rules/disable-enable-pair.html
|
|
@@ -563,6 +588,10 @@ interface RuleOptions {
|
|
|
563
588
|
* Use dprint to format code
|
|
564
589
|
*/
|
|
565
590
|
'format/dprint'?: Linter.RuleEntry<FormatDprint>;
|
|
591
|
+
/**
|
|
592
|
+
* Use oxfmt to format code
|
|
593
|
+
*/
|
|
594
|
+
'format/oxfmt'?: Linter.RuleEntry<FormatOxfmt>;
|
|
566
595
|
/**
|
|
567
596
|
* Use Prettier to format code
|
|
568
597
|
*/
|
|
@@ -1317,6 +1346,204 @@ interface RuleOptions {
|
|
|
1317
1346
|
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/vue-custom-block/no-parsing-error.html
|
|
1318
1347
|
*/
|
|
1319
1348
|
'jsonc/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>;
|
|
1349
|
+
/**
|
|
1350
|
+
* Enforce emojis are wrapped in `<span>` and provide screen reader access.
|
|
1351
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/accessible-emoji.md
|
|
1352
|
+
* @deprecated
|
|
1353
|
+
*/
|
|
1354
|
+
'jsx-a11y/accessible-emoji'?: Linter.RuleEntry<JsxA11YAccessibleEmoji>;
|
|
1355
|
+
/**
|
|
1356
|
+
* Enforce all elements that require alternative text have meaningful information to relay back to end user.
|
|
1357
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/alt-text.md
|
|
1358
|
+
*/
|
|
1359
|
+
'jsx-a11y/alt-text'?: Linter.RuleEntry<JsxA11YAltText>;
|
|
1360
|
+
/**
|
|
1361
|
+
* Enforce `<a>` text to not exactly match "click here", "here", "link", or "a link".
|
|
1362
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-ambiguous-text.md
|
|
1363
|
+
*/
|
|
1364
|
+
'jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<JsxA11YAnchorAmbiguousText>;
|
|
1365
|
+
/**
|
|
1366
|
+
* Enforce all anchors to contain accessible content.
|
|
1367
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-has-content.md
|
|
1368
|
+
*/
|
|
1369
|
+
'jsx-a11y/anchor-has-content'?: Linter.RuleEntry<JsxA11YAnchorHasContent>;
|
|
1370
|
+
/**
|
|
1371
|
+
* Enforce all anchors are valid, navigable elements.
|
|
1372
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-is-valid.md
|
|
1373
|
+
*/
|
|
1374
|
+
'jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<JsxA11YAnchorIsValid>;
|
|
1375
|
+
/**
|
|
1376
|
+
* Enforce elements with aria-activedescendant are tabbable.
|
|
1377
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-activedescendant-has-tabindex.md
|
|
1378
|
+
*/
|
|
1379
|
+
'jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<JsxA11YAriaActivedescendantHasTabindex>;
|
|
1380
|
+
/**
|
|
1381
|
+
* Enforce all `aria-*` props are valid.
|
|
1382
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-props.md
|
|
1383
|
+
*/
|
|
1384
|
+
'jsx-a11y/aria-props'?: Linter.RuleEntry<JsxA11YAriaProps>;
|
|
1385
|
+
/**
|
|
1386
|
+
* Enforce ARIA state and property values are valid.
|
|
1387
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-proptypes.md
|
|
1388
|
+
*/
|
|
1389
|
+
'jsx-a11y/aria-proptypes'?: Linter.RuleEntry<JsxA11YAriaProptypes>;
|
|
1390
|
+
/**
|
|
1391
|
+
* Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role.
|
|
1392
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-role.md
|
|
1393
|
+
*/
|
|
1394
|
+
'jsx-a11y/aria-role'?: Linter.RuleEntry<JsxA11YAriaRole>;
|
|
1395
|
+
/**
|
|
1396
|
+
* Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
|
|
1397
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-unsupported-elements.md
|
|
1398
|
+
*/
|
|
1399
|
+
'jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<JsxA11YAriaUnsupportedElements>;
|
|
1400
|
+
/**
|
|
1401
|
+
* Enforce that autocomplete attributes are used correctly.
|
|
1402
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/autocomplete-valid.md
|
|
1403
|
+
*/
|
|
1404
|
+
'jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<JsxA11YAutocompleteValid>;
|
|
1405
|
+
/**
|
|
1406
|
+
* Enforce a clickable non-interactive element has at least one keyboard event listener.
|
|
1407
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/click-events-have-key-events.md
|
|
1408
|
+
*/
|
|
1409
|
+
'jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<JsxA11YClickEventsHaveKeyEvents>;
|
|
1410
|
+
/**
|
|
1411
|
+
* Enforce that a control (an interactive element) has a text label.
|
|
1412
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label.md
|
|
1413
|
+
*/
|
|
1414
|
+
'jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<JsxA11YControlHasAssociatedLabel>;
|
|
1415
|
+
/**
|
|
1416
|
+
* Enforce heading (`h1`, `h2`, etc) elements contain accessible content.
|
|
1417
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/heading-has-content.md
|
|
1418
|
+
*/
|
|
1419
|
+
'jsx-a11y/heading-has-content'?: Linter.RuleEntry<JsxA11YHeadingHasContent>;
|
|
1420
|
+
/**
|
|
1421
|
+
* Enforce `<html>` element has `lang` prop.
|
|
1422
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/html-has-lang.md
|
|
1423
|
+
*/
|
|
1424
|
+
'jsx-a11y/html-has-lang'?: Linter.RuleEntry<JsxA11YHtmlHasLang>;
|
|
1425
|
+
/**
|
|
1426
|
+
* Enforce iframe elements have a title attribute.
|
|
1427
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/iframe-has-title.md
|
|
1428
|
+
*/
|
|
1429
|
+
'jsx-a11y/iframe-has-title'?: Linter.RuleEntry<JsxA11YIframeHasTitle>;
|
|
1430
|
+
/**
|
|
1431
|
+
* Enforce `<img>` alt prop does not contain the word "image", "picture", or "photo".
|
|
1432
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/img-redundant-alt.md
|
|
1433
|
+
*/
|
|
1434
|
+
'jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<JsxA11YImgRedundantAlt>;
|
|
1435
|
+
/**
|
|
1436
|
+
* Enforce that elements with interactive handlers like `onClick` must be focusable.
|
|
1437
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/interactive-supports-focus.md
|
|
1438
|
+
*/
|
|
1439
|
+
'jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<JsxA11YInteractiveSupportsFocus>;
|
|
1440
|
+
/**
|
|
1441
|
+
* Enforce that a `label` tag has a text label and an associated control.
|
|
1442
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md
|
|
1443
|
+
*/
|
|
1444
|
+
'jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<JsxA11YLabelHasAssociatedControl>;
|
|
1445
|
+
/**
|
|
1446
|
+
* Enforce that `<label>` elements have the `htmlFor` prop.
|
|
1447
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/label-has-for.md
|
|
1448
|
+
* @deprecated
|
|
1449
|
+
*/
|
|
1450
|
+
'jsx-a11y/label-has-for'?: Linter.RuleEntry<JsxA11YLabelHasFor>;
|
|
1451
|
+
/**
|
|
1452
|
+
* Enforce lang attribute has a valid value.
|
|
1453
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/lang.md
|
|
1454
|
+
*/
|
|
1455
|
+
'jsx-a11y/lang'?: Linter.RuleEntry<JsxA11YLang>;
|
|
1456
|
+
/**
|
|
1457
|
+
* Enforces that `<audio>` and `<video>` elements must have a `<track>` for captions.
|
|
1458
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/media-has-caption.md
|
|
1459
|
+
*/
|
|
1460
|
+
'jsx-a11y/media-has-caption'?: Linter.RuleEntry<JsxA11YMediaHasCaption>;
|
|
1461
|
+
/**
|
|
1462
|
+
* Enforce that `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur` for keyboard-only users.
|
|
1463
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/mouse-events-have-key-events.md
|
|
1464
|
+
*/
|
|
1465
|
+
'jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<JsxA11YMouseEventsHaveKeyEvents>;
|
|
1466
|
+
/**
|
|
1467
|
+
* Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screen reader.
|
|
1468
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-access-key.md
|
|
1469
|
+
*/
|
|
1470
|
+
'jsx-a11y/no-access-key'?: Linter.RuleEntry<JsxA11YNoAccessKey>;
|
|
1471
|
+
/**
|
|
1472
|
+
* Disallow `aria-hidden="true"` from being set on focusable elements.
|
|
1473
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-aria-hidden-on-focusable.md
|
|
1474
|
+
*/
|
|
1475
|
+
'jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<JsxA11YNoAriaHiddenOnFocusable>;
|
|
1476
|
+
/**
|
|
1477
|
+
* Enforce autoFocus prop is not used.
|
|
1478
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-autofocus.md
|
|
1479
|
+
*/
|
|
1480
|
+
'jsx-a11y/no-autofocus'?: Linter.RuleEntry<JsxA11YNoAutofocus>;
|
|
1481
|
+
/**
|
|
1482
|
+
* Enforce distracting elements are not used.
|
|
1483
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-distracting-elements.md
|
|
1484
|
+
*/
|
|
1485
|
+
'jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<JsxA11YNoDistractingElements>;
|
|
1486
|
+
/**
|
|
1487
|
+
* Interactive elements should not be assigned non-interactive roles.
|
|
1488
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-interactive-element-to-noninteractive-role.md
|
|
1489
|
+
*/
|
|
1490
|
+
'jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<JsxA11YNoInteractiveElementToNoninteractiveRole>;
|
|
1491
|
+
/**
|
|
1492
|
+
* Non-interactive elements should not be assigned mouse or keyboard event listeners.
|
|
1493
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-interactions.md
|
|
1494
|
+
*/
|
|
1495
|
+
'jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementInteractions>;
|
|
1496
|
+
/**
|
|
1497
|
+
* Non-interactive elements should not be assigned interactive roles.
|
|
1498
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-to-interactive-role.md
|
|
1499
|
+
*/
|
|
1500
|
+
'jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementToInteractiveRole>;
|
|
1501
|
+
/**
|
|
1502
|
+
* `tabIndex` should only be declared on interactive elements.
|
|
1503
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-tabindex.md
|
|
1504
|
+
*/
|
|
1505
|
+
'jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<JsxA11YNoNoninteractiveTabindex>;
|
|
1506
|
+
/**
|
|
1507
|
+
* Enforce usage of `onBlur` over `onChange` on select menus for accessibility.
|
|
1508
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-onchange.md
|
|
1509
|
+
* @deprecated
|
|
1510
|
+
*/
|
|
1511
|
+
'jsx-a11y/no-onchange'?: Linter.RuleEntry<JsxA11YNoOnchange>;
|
|
1512
|
+
/**
|
|
1513
|
+
* Enforce explicit role property is not the same as implicit/default role property on element.
|
|
1514
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-redundant-roles.md
|
|
1515
|
+
*/
|
|
1516
|
+
'jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<JsxA11YNoRedundantRoles>;
|
|
1517
|
+
/**
|
|
1518
|
+
* Enforce that non-interactive, visible elements (such as `<div>`) that have click handlers use the role attribute.
|
|
1519
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-static-element-interactions.md
|
|
1520
|
+
*/
|
|
1521
|
+
'jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<JsxA11YNoStaticElementInteractions>;
|
|
1522
|
+
/**
|
|
1523
|
+
* Enforces using semantic DOM elements over the ARIA `role` property.
|
|
1524
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/prefer-tag-over-role.md
|
|
1525
|
+
*/
|
|
1526
|
+
'jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<JsxA11YPreferTagOverRole>;
|
|
1527
|
+
/**
|
|
1528
|
+
* Enforce that elements with ARIA roles must have all required attributes for that role.
|
|
1529
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-has-required-aria-props.md
|
|
1530
|
+
*/
|
|
1531
|
+
'jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<JsxA11YRoleHasRequiredAriaProps>;
|
|
1532
|
+
/**
|
|
1533
|
+
* Enforce that elements with explicit or implicit roles defined contain only `aria-*` properties supported by that `role`.
|
|
1534
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-supports-aria-props.md
|
|
1535
|
+
*/
|
|
1536
|
+
'jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<JsxA11YRoleSupportsAriaProps>;
|
|
1537
|
+
/**
|
|
1538
|
+
* Enforce `scope` prop is only used on `<th>` elements.
|
|
1539
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/scope.md
|
|
1540
|
+
*/
|
|
1541
|
+
'jsx-a11y/scope'?: Linter.RuleEntry<JsxA11YScope>;
|
|
1542
|
+
/**
|
|
1543
|
+
* Enforce `tabIndex` value is not greater than zero.
|
|
1544
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/tabindex-no-positive.md
|
|
1545
|
+
*/
|
|
1546
|
+
'jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<JsxA11YTabindexNoPositive>;
|
|
1320
1547
|
/**
|
|
1321
1548
|
* Enforce the consistent use of either double or single quotes in JSX attributes
|
|
1322
1549
|
* @see https://eslint.org/docs/latest/rules/jsx-quotes
|
|
@@ -1558,6 +1785,110 @@ interface RuleOptions {
|
|
|
1558
1785
|
* @deprecated
|
|
1559
1786
|
*/
|
|
1560
1787
|
'newline-per-chained-call'?: Linter.RuleEntry<NewlinePerChainedCall>;
|
|
1788
|
+
/**
|
|
1789
|
+
* Enforce font-display behavior with Google Fonts.
|
|
1790
|
+
* @see https://nextjs.org/docs/messages/google-font-display
|
|
1791
|
+
*/
|
|
1792
|
+
'next/google-font-display'?: Linter.RuleEntry<[]>;
|
|
1793
|
+
/**
|
|
1794
|
+
* Ensure `preconnect` is used with Google Fonts.
|
|
1795
|
+
* @see https://nextjs.org/docs/messages/google-font-preconnect
|
|
1796
|
+
*/
|
|
1797
|
+
'next/google-font-preconnect'?: Linter.RuleEntry<[]>;
|
|
1798
|
+
/**
|
|
1799
|
+
* Enforce `id` attribute on `next/script` components with inline content.
|
|
1800
|
+
* @see https://nextjs.org/docs/messages/inline-script-id
|
|
1801
|
+
*/
|
|
1802
|
+
'next/inline-script-id'?: Linter.RuleEntry<[]>;
|
|
1803
|
+
/**
|
|
1804
|
+
* Prefer `@next/third-parties/google` when using the inline script for Google Analytics and Tag Manager.
|
|
1805
|
+
* @see https://nextjs.org/docs/messages/next-script-for-ga
|
|
1806
|
+
*/
|
|
1807
|
+
'next/next-script-for-ga'?: Linter.RuleEntry<[]>;
|
|
1808
|
+
/**
|
|
1809
|
+
* Prevent assignment to the `module` variable.
|
|
1810
|
+
* @see https://nextjs.org/docs/messages/no-assign-module-variable
|
|
1811
|
+
*/
|
|
1812
|
+
'next/no-assign-module-variable'?: Linter.RuleEntry<[]>;
|
|
1813
|
+
/**
|
|
1814
|
+
* Prevent Client Components from being async functions.
|
|
1815
|
+
* @see https://nextjs.org/docs/messages/no-async-client-component
|
|
1816
|
+
*/
|
|
1817
|
+
'next/no-async-client-component'?: Linter.RuleEntry<[]>;
|
|
1818
|
+
/**
|
|
1819
|
+
* Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`.
|
|
1820
|
+
* @see https://nextjs.org/docs/messages/no-before-interactive-script-outside-document
|
|
1821
|
+
*/
|
|
1822
|
+
'next/no-before-interactive-script-outside-document'?: Linter.RuleEntry<[]>;
|
|
1823
|
+
/**
|
|
1824
|
+
* Prevent manual stylesheet tags.
|
|
1825
|
+
* @see https://nextjs.org/docs/messages/no-css-tags
|
|
1826
|
+
*/
|
|
1827
|
+
'next/no-css-tags'?: Linter.RuleEntry<[]>;
|
|
1828
|
+
/**
|
|
1829
|
+
* Prevent importing `next/document` outside of `pages/_document.js`.
|
|
1830
|
+
* @see https://nextjs.org/docs/messages/no-document-import-in-page
|
|
1831
|
+
*/
|
|
1832
|
+
'next/no-document-import-in-page'?: Linter.RuleEntry<[]>;
|
|
1833
|
+
/**
|
|
1834
|
+
* Prevent duplicate usage of `<Head>` in `pages/_document.js`.
|
|
1835
|
+
* @see https://nextjs.org/docs/messages/no-duplicate-head
|
|
1836
|
+
*/
|
|
1837
|
+
'next/no-duplicate-head'?: Linter.RuleEntry<[]>;
|
|
1838
|
+
/**
|
|
1839
|
+
* Prevent usage of `<head>` element.
|
|
1840
|
+
* @see https://nextjs.org/docs/messages/no-head-element
|
|
1841
|
+
*/
|
|
1842
|
+
'next/no-head-element'?: Linter.RuleEntry<[]>;
|
|
1843
|
+
/**
|
|
1844
|
+
* Prevent usage of `next/head` in `pages/_document.js`.
|
|
1845
|
+
* @see https://nextjs.org/docs/messages/no-head-import-in-document
|
|
1846
|
+
*/
|
|
1847
|
+
'next/no-head-import-in-document'?: Linter.RuleEntry<[]>;
|
|
1848
|
+
/**
|
|
1849
|
+
* Prevent usage of `<a>` elements to navigate to internal Next.js pages.
|
|
1850
|
+
* @see https://nextjs.org/docs/messages/no-html-link-for-pages
|
|
1851
|
+
*/
|
|
1852
|
+
'next/no-html-link-for-pages'?: Linter.RuleEntry<NextNoHtmlLinkForPages>;
|
|
1853
|
+
/**
|
|
1854
|
+
* Prevent usage of `<img>` element due to slower LCP and higher bandwidth.
|
|
1855
|
+
* @see https://nextjs.org/docs/messages/no-img-element
|
|
1856
|
+
*/
|
|
1857
|
+
'next/no-img-element'?: Linter.RuleEntry<[]>;
|
|
1858
|
+
/**
|
|
1859
|
+
* Prevent page-only custom fonts.
|
|
1860
|
+
* @see https://nextjs.org/docs/messages/no-page-custom-font
|
|
1861
|
+
*/
|
|
1862
|
+
'next/no-page-custom-font'?: Linter.RuleEntry<[]>;
|
|
1863
|
+
/**
|
|
1864
|
+
* Prevent usage of `next/script` in `next/head` component.
|
|
1865
|
+
* @see https://nextjs.org/docs/messages/no-script-component-in-head
|
|
1866
|
+
*/
|
|
1867
|
+
'next/no-script-component-in-head'?: Linter.RuleEntry<[]>;
|
|
1868
|
+
/**
|
|
1869
|
+
* Prevent usage of `styled-jsx` in `pages/_document.js`.
|
|
1870
|
+
* @see https://nextjs.org/docs/messages/no-styled-jsx-in-document
|
|
1871
|
+
*/
|
|
1872
|
+
'next/no-styled-jsx-in-document'?: Linter.RuleEntry<[]>;
|
|
1873
|
+
/**
|
|
1874
|
+
* Prevent synchronous scripts.
|
|
1875
|
+
* @see https://nextjs.org/docs/messages/no-sync-scripts
|
|
1876
|
+
*/
|
|
1877
|
+
'next/no-sync-scripts'?: Linter.RuleEntry<[]>;
|
|
1878
|
+
/**
|
|
1879
|
+
* Prevent usage of `<title>` with `Head` component from `next/document`.
|
|
1880
|
+
* @see https://nextjs.org/docs/messages/no-title-in-document-head
|
|
1881
|
+
*/
|
|
1882
|
+
'next/no-title-in-document-head'?: Linter.RuleEntry<[]>;
|
|
1883
|
+
/**
|
|
1884
|
+
* Prevent common typos in Next.js data fetching functions.
|
|
1885
|
+
*/
|
|
1886
|
+
'next/no-typos'?: Linter.RuleEntry<[]>;
|
|
1887
|
+
/**
|
|
1888
|
+
* Prevent duplicate polyfills from Polyfill.io.
|
|
1889
|
+
* @see https://nextjs.org/docs/messages/no-unwanted-polyfillio
|
|
1890
|
+
*/
|
|
1891
|
+
'next/no-unwanted-polyfillio'?: Linter.RuleEntry<[]>;
|
|
1561
1892
|
/**
|
|
1562
1893
|
* Disallow the use of `alert`, `confirm`, and `prompt`
|
|
1563
1894
|
* @see https://eslint.org/docs/latest/rules/no-alert
|
|
@@ -2520,6 +2851,11 @@ interface RuleOptions {
|
|
|
2520
2851
|
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/console.md
|
|
2521
2852
|
*/
|
|
2522
2853
|
'node/prefer-global/console'?: Linter.RuleEntry<NodePreferGlobalConsole>;
|
|
2854
|
+
/**
|
|
2855
|
+
* enforce either `crypto` or `require("crypto").webcrypto`
|
|
2856
|
+
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/crypto.md
|
|
2857
|
+
*/
|
|
2858
|
+
'node/prefer-global/crypto'?: Linter.RuleEntry<NodePreferGlobalCrypto>;
|
|
2523
2859
|
/**
|
|
2524
2860
|
* enforce either `process` or `require("process")`
|
|
2525
2861
|
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/process.md
|
|
@@ -2535,6 +2871,11 @@ interface RuleOptions {
|
|
|
2535
2871
|
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/text-encoder.md
|
|
2536
2872
|
*/
|
|
2537
2873
|
'node/prefer-global/text-encoder'?: Linter.RuleEntry<NodePreferGlobalTextEncoder>;
|
|
2874
|
+
/**
|
|
2875
|
+
* enforce either global timer functions or `require("timers")`
|
|
2876
|
+
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/timers.md
|
|
2877
|
+
*/
|
|
2878
|
+
'node/prefer-global/timers'?: Linter.RuleEntry<NodePreferGlobalTimers>;
|
|
2538
2879
|
/**
|
|
2539
2880
|
* enforce either `URL` or `require("url").URL`
|
|
2540
2881
|
* @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/url.md
|
|
@@ -2744,6 +3085,41 @@ interface RuleOptions {
|
|
|
2744
3085
|
* @see https://perfectionist.dev/rules/sort-variable-declarations
|
|
2745
3086
|
*/
|
|
2746
3087
|
'perfectionist/sort-variable-declarations'?: Linter.RuleEntry<PerfectionistSortVariableDeclarations>;
|
|
3088
|
+
/**
|
|
3089
|
+
* Enforce using "catalog:" in `package.json`
|
|
3090
|
+
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-enforce-catalog.test.ts
|
|
3091
|
+
*/
|
|
3092
|
+
'pnpm/json-enforce-catalog'?: Linter.RuleEntry<PnpmJsonEnforceCatalog>;
|
|
3093
|
+
/**
|
|
3094
|
+
* Prefer having pnpm settings in `pnpm-workspace.yaml` instead of `package.json`. This requires pnpm v10.6+, see https://github.com/orgs/pnpm/discussions/9037.
|
|
3095
|
+
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-prefer-workspace-settings.test.ts
|
|
3096
|
+
*/
|
|
3097
|
+
'pnpm/json-prefer-workspace-settings'?: Linter.RuleEntry<PnpmJsonPreferWorkspaceSettings>;
|
|
3098
|
+
/**
|
|
3099
|
+
* Enforce using valid catalog in `package.json`
|
|
3100
|
+
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/json/json-valid-catalog.test.ts
|
|
3101
|
+
*/
|
|
3102
|
+
'pnpm/json-valid-catalog'?: Linter.RuleEntry<PnpmJsonValidCatalog>;
|
|
3103
|
+
/**
|
|
3104
|
+
* Enforce settings in `pnpm-workspace.yaml`
|
|
3105
|
+
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-enforce-settings.test.ts
|
|
3106
|
+
*/
|
|
3107
|
+
'pnpm/yaml-enforce-settings'?: Linter.RuleEntry<PnpmYamlEnforceSettings>;
|
|
3108
|
+
/**
|
|
3109
|
+
* Disallow duplicate catalog items in `pnpm-workspace.yaml`
|
|
3110
|
+
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-no-duplicate-catalog-item.test.ts
|
|
3111
|
+
*/
|
|
3112
|
+
'pnpm/yaml-no-duplicate-catalog-item'?: Linter.RuleEntry<PnpmYamlNoDuplicateCatalogItem>;
|
|
3113
|
+
/**
|
|
3114
|
+
* Disallow unused catalogs in `pnpm-workspace.yaml`
|
|
3115
|
+
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-no-unused-catalog-item.test.ts
|
|
3116
|
+
*/
|
|
3117
|
+
'pnpm/yaml-no-unused-catalog-item'?: Linter.RuleEntry<[]>;
|
|
3118
|
+
/**
|
|
3119
|
+
* Ensure all package patterns in `pnpm-workspace.yaml` match at least one directory
|
|
3120
|
+
* @see https://github.com/antfu/pnpm-workspace-utils/tree/main/packages/eslint-plugin-pnpm/src/rules/yaml/yaml-valid-packages.test.ts
|
|
3121
|
+
*/
|
|
3122
|
+
'pnpm/yaml-valid-packages'?: Linter.RuleEntry<[]>;
|
|
2747
3123
|
/**
|
|
2748
3124
|
* Require using arrow functions for callbacks
|
|
2749
3125
|
* @see https://eslint.org/docs/latest/rules/prefer-arrow-callback
|
|
@@ -2833,7 +3209,7 @@ interface RuleOptions {
|
|
|
2833
3209
|
*/
|
|
2834
3210
|
'quotes'?: Linter.RuleEntry<Quotes>;
|
|
2835
3211
|
/**
|
|
2836
|
-
* Enforce the
|
|
3212
|
+
* Enforce the use of the radix argument when using `parseInt()`
|
|
2837
3213
|
* @see https://eslint.org/docs/latest/rules/radix
|
|
2838
3214
|
*/
|
|
2839
3215
|
'radix'?: Linter.RuleEntry<Radix>;
|
|
@@ -3070,6 +3446,11 @@ interface RuleOptions {
|
|
|
3070
3446
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-filename-extension
|
|
3071
3447
|
*/
|
|
3072
3448
|
'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>;
|
|
3449
|
+
/**
|
|
3450
|
+
* Enforces identifier names assigned from 'useId' calls to be either 'id' or end with 'Id'.
|
|
3451
|
+
* @see https://eslint-react.xyz/docs/rules/naming-convention-id-name
|
|
3452
|
+
*/
|
|
3453
|
+
'react-naming-convention/id-name'?: Linter.RuleEntry<[]>;
|
|
3073
3454
|
/**
|
|
3074
3455
|
* Enforces identifier names assigned from 'useRef' calls to be either 'ref' or end with 'Ref'.
|
|
3075
3456
|
* @see https://eslint-react.xyz/docs/rules/naming-convention-ref-name
|
|
@@ -3107,7 +3488,7 @@ interface RuleOptions {
|
|
|
3107
3488
|
*/
|
|
3108
3489
|
'react-web-api/no-leaked-timeout'?: Linter.RuleEntry<[]>;
|
|
3109
3490
|
/**
|
|
3110
|
-
* Prevents
|
|
3491
|
+
* Prevents unintentional '$' sign before expression.
|
|
3111
3492
|
* @see https://eslint-react.xyz/docs/rules/jsx-dollar
|
|
3112
3493
|
*/
|
|
3113
3494
|
'react/jsx-dollar'?: Linter.RuleEntry<[]>;
|
|
@@ -6731,11 +7112,21 @@ interface RuleOptions {
|
|
|
6731
7112
|
* @see https://ota-meshi.github.io/eslint-plugin-toml/rules/indent.html
|
|
6732
7113
|
*/
|
|
6733
7114
|
'toml/indent'?: Linter.RuleEntry<TomlIndent>;
|
|
7115
|
+
/**
|
|
7116
|
+
* enforce linebreaks after opening and before closing braces
|
|
7117
|
+
* @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-curly-newline.html
|
|
7118
|
+
*/
|
|
7119
|
+
'toml/inline-table-curly-newline'?: Linter.RuleEntry<TomlInlineTableCurlyNewline>;
|
|
6734
7120
|
/**
|
|
6735
7121
|
* enforce consistent spacing inside braces
|
|
6736
7122
|
* @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-curly-spacing.html
|
|
6737
7123
|
*/
|
|
6738
7124
|
'toml/inline-table-curly-spacing'?: Linter.RuleEntry<TomlInlineTableCurlySpacing>;
|
|
7125
|
+
/**
|
|
7126
|
+
* enforce placing inline table key-value pairs on separate lines
|
|
7127
|
+
* @see https://ota-meshi.github.io/eslint-plugin-toml/rules/inline-table-key-value-newline.html
|
|
7128
|
+
*/
|
|
7129
|
+
'toml/inline-table-key-value-newline'?: Linter.RuleEntry<TomlInlineTableKeyValueNewline>;
|
|
6739
7130
|
/**
|
|
6740
7131
|
* enforce consistent spacing between keys and values in key/value pairs
|
|
6741
7132
|
* @see https://ota-meshi.github.io/eslint-plugin-toml/rules/key-spacing.html
|
|
@@ -8272,6 +8663,99 @@ interface RuleOptions {
|
|
|
8272
8663
|
* @see https://eslint.org/docs/latest/rules/vars-on-top
|
|
8273
8664
|
*/
|
|
8274
8665
|
'vars-on-top'?: Linter.RuleEntry<[]>;
|
|
8666
|
+
/**
|
|
8667
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/alt-text.html
|
|
8668
|
+
*/
|
|
8669
|
+
'vue-a11y/alt-text'?: Linter.RuleEntry<VueA11YAltText>;
|
|
8670
|
+
/**
|
|
8671
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/anchor-has-content.html
|
|
8672
|
+
*/
|
|
8673
|
+
'vue-a11y/anchor-has-content'?: Linter.RuleEntry<VueA11YAnchorHasContent>;
|
|
8674
|
+
/**
|
|
8675
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/aria-props.html
|
|
8676
|
+
*/
|
|
8677
|
+
'vue-a11y/aria-props'?: Linter.RuleEntry<[]>;
|
|
8678
|
+
/**
|
|
8679
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/aria-role.html
|
|
8680
|
+
*/
|
|
8681
|
+
'vue-a11y/aria-role'?: Linter.RuleEntry<VueA11YAriaRole>;
|
|
8682
|
+
/**
|
|
8683
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/aria-unsupported-elements.html
|
|
8684
|
+
*/
|
|
8685
|
+
'vue-a11y/aria-unsupported-elements'?: Linter.RuleEntry<[]>;
|
|
8686
|
+
/**
|
|
8687
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/click-events-have-key-events.html
|
|
8688
|
+
*/
|
|
8689
|
+
'vue-a11y/click-events-have-key-events'?: Linter.RuleEntry<[]>;
|
|
8690
|
+
/**
|
|
8691
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/form-control-has-label.html
|
|
8692
|
+
*/
|
|
8693
|
+
'vue-a11y/form-control-has-label'?: Linter.RuleEntry<VueA11YFormControlHasLabel>;
|
|
8694
|
+
/**
|
|
8695
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/heading-has-content.html
|
|
8696
|
+
*/
|
|
8697
|
+
'vue-a11y/heading-has-content'?: Linter.RuleEntry<VueA11YHeadingHasContent>;
|
|
8698
|
+
/**
|
|
8699
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/iframe-has-title.html
|
|
8700
|
+
*/
|
|
8701
|
+
'vue-a11y/iframe-has-title'?: Linter.RuleEntry<[]>;
|
|
8702
|
+
/**
|
|
8703
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/interactive-supports-focus.html
|
|
8704
|
+
*/
|
|
8705
|
+
'vue-a11y/interactive-supports-focus'?: Linter.RuleEntry<VueA11YInteractiveSupportsFocus>;
|
|
8706
|
+
/**
|
|
8707
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/label-has-for.html
|
|
8708
|
+
*/
|
|
8709
|
+
'vue-a11y/label-has-for'?: Linter.RuleEntry<VueA11YLabelHasFor>;
|
|
8710
|
+
/**
|
|
8711
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/media-has-caption.html
|
|
8712
|
+
*/
|
|
8713
|
+
'vue-a11y/media-has-caption'?: Linter.RuleEntry<VueA11YMediaHasCaption>;
|
|
8714
|
+
/**
|
|
8715
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/mouse-events-have-key-events.html
|
|
8716
|
+
*/
|
|
8717
|
+
'vue-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<[]>;
|
|
8718
|
+
/**
|
|
8719
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/no-access-key.html
|
|
8720
|
+
*/
|
|
8721
|
+
'vue-a11y/no-access-key'?: Linter.RuleEntry<[]>;
|
|
8722
|
+
/**
|
|
8723
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/no-aria-hidden-on-focusable.html
|
|
8724
|
+
*/
|
|
8725
|
+
'vue-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<[]>;
|
|
8726
|
+
/**
|
|
8727
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/no-autofocus.html
|
|
8728
|
+
*/
|
|
8729
|
+
'vue-a11y/no-autofocus'?: Linter.RuleEntry<VueA11YNoAutofocus>;
|
|
8730
|
+
/**
|
|
8731
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/no-distracting-elements.html
|
|
8732
|
+
*/
|
|
8733
|
+
'vue-a11y/no-distracting-elements'?: Linter.RuleEntry<VueA11YNoDistractingElements>;
|
|
8734
|
+
/**
|
|
8735
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/no-onchange.html
|
|
8736
|
+
* @deprecated
|
|
8737
|
+
*/
|
|
8738
|
+
'vue-a11y/no-onchange'?: Linter.RuleEntry<[]>;
|
|
8739
|
+
/**
|
|
8740
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/no-redundant-roles.html
|
|
8741
|
+
*/
|
|
8742
|
+
'vue-a11y/no-redundant-roles'?: Linter.RuleEntry<VueA11YNoRedundantRoles>;
|
|
8743
|
+
/**
|
|
8744
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/no-role-presentation-on-focusable.html
|
|
8745
|
+
*/
|
|
8746
|
+
'vue-a11y/no-role-presentation-on-focusable'?: Linter.RuleEntry<[]>;
|
|
8747
|
+
/**
|
|
8748
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/no-static-element-interactions.html
|
|
8749
|
+
*/
|
|
8750
|
+
'vue-a11y/no-static-element-interactions'?: Linter.RuleEntry<[]>;
|
|
8751
|
+
/**
|
|
8752
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/role-has-required-aria-props.html
|
|
8753
|
+
*/
|
|
8754
|
+
'vue-a11y/role-has-required-aria-props'?: Linter.RuleEntry<[]>;
|
|
8755
|
+
/**
|
|
8756
|
+
* @see https://vue-a11y.github.io/eslint-plugin-vuejs-accessibility/rules/tabindex-no-positive.html
|
|
8757
|
+
*/
|
|
8758
|
+
'vue-a11y/tabindex-no-positive'?: Linter.RuleEntry<[]>;
|
|
8275
8759
|
/**
|
|
8276
8760
|
* Enforce linebreaks after opening and before closing array brackets in `<template>`
|
|
8277
8761
|
* @see https://eslint.vuejs.org/rules/array-bracket-newline.html
|
|
@@ -9470,7 +9954,7 @@ interface RuleOptions {
|
|
|
9470
9954
|
* enforce valid `v-for` directives
|
|
9471
9955
|
* @see https://eslint.vuejs.org/rules/valid-v-for.html
|
|
9472
9956
|
*/
|
|
9473
|
-
'vue/valid-v-for'?: Linter.RuleEntry<
|
|
9957
|
+
'vue/valid-v-for'?: Linter.RuleEntry<VueValidVFor>;
|
|
9474
9958
|
/**
|
|
9475
9959
|
* enforce valid `v-html` directives
|
|
9476
9960
|
* @see https://eslint.vuejs.org/rules/valid-v-html.html
|
|
@@ -10095,6 +10579,10 @@ type FormatDprint = [] | [{
|
|
|
10095
10579
|
plugins?: unknown[];
|
|
10096
10580
|
[k: string]: unknown | undefined;
|
|
10097
10581
|
}];
|
|
10582
|
+
// ----- format/oxfmt -----
|
|
10583
|
+
type FormatOxfmt = [] | [{
|
|
10584
|
+
[k: string]: unknown | undefined;
|
|
10585
|
+
}];
|
|
10098
10586
|
// ----- format/prettier -----
|
|
10099
10587
|
type FormatPrettier = [] | [{
|
|
10100
10588
|
parser: string;
|
|
@@ -10749,6 +11237,7 @@ type JsdocTagLines = [] | [("always" | "any" | "never")] | [("always" | "any" |
|
|
|
10749
11237
|
endLines?: (number | null);
|
|
10750
11238
|
maxBlockLines?: (number | null);
|
|
10751
11239
|
startLines?: (number | null);
|
|
11240
|
+
startLinesWithNoTags?: number;
|
|
10752
11241
|
tags?: {
|
|
10753
11242
|
[k: string]: {
|
|
10754
11243
|
count?: number;
|
|
@@ -10977,6 +11466,7 @@ type JsoncObjectCurlyNewline = [] | [((("always" | "never") | {
|
|
|
10977
11466
|
type JsoncObjectCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
|
|
10978
11467
|
arraysInObjects?: boolean;
|
|
10979
11468
|
objectsInObjects?: boolean;
|
|
11469
|
+
emptyObjects?: ("ignore" | "always" | "never");
|
|
10980
11470
|
}];
|
|
10981
11471
|
// ----- jsonc/object-property-newline -----
|
|
10982
11472
|
type JsoncObjectPropertyNewline = [] | [{
|
|
@@ -11075,6 +11565,209 @@ type JsoncSpaceUnaryOps = [] | [{
|
|
|
11075
11565
|
[k: string]: boolean | undefined;
|
|
11076
11566
|
};
|
|
11077
11567
|
}];
|
|
11568
|
+
// ----- jsx-a11y/accessible-emoji -----
|
|
11569
|
+
type JsxA11YAccessibleEmoji = [] | [{
|
|
11570
|
+
[k: string]: unknown | undefined;
|
|
11571
|
+
}];
|
|
11572
|
+
// ----- jsx-a11y/alt-text -----
|
|
11573
|
+
type JsxA11YAltText = [] | [{
|
|
11574
|
+
elements?: string[];
|
|
11575
|
+
img?: string[];
|
|
11576
|
+
object?: string[];
|
|
11577
|
+
area?: string[];
|
|
11578
|
+
"input[type=\"image\"]"?: string[];
|
|
11579
|
+
[k: string]: unknown | undefined;
|
|
11580
|
+
}];
|
|
11581
|
+
// ----- jsx-a11y/anchor-ambiguous-text -----
|
|
11582
|
+
type JsxA11YAnchorAmbiguousText = [] | [{
|
|
11583
|
+
words?: string[];
|
|
11584
|
+
[k: string]: unknown | undefined;
|
|
11585
|
+
}];
|
|
11586
|
+
// ----- jsx-a11y/anchor-has-content -----
|
|
11587
|
+
type JsxA11YAnchorHasContent = [] | [{
|
|
11588
|
+
components?: string[];
|
|
11589
|
+
[k: string]: unknown | undefined;
|
|
11590
|
+
}];
|
|
11591
|
+
// ----- jsx-a11y/anchor-is-valid -----
|
|
11592
|
+
type JsxA11YAnchorIsValid = [] | [{
|
|
11593
|
+
components?: string[];
|
|
11594
|
+
specialLink?: string[];
|
|
11595
|
+
aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]];
|
|
11596
|
+
[k: string]: unknown | undefined;
|
|
11597
|
+
}];
|
|
11598
|
+
// ----- jsx-a11y/aria-activedescendant-has-tabindex -----
|
|
11599
|
+
type JsxA11YAriaActivedescendantHasTabindex = [] | [{
|
|
11600
|
+
[k: string]: unknown | undefined;
|
|
11601
|
+
}];
|
|
11602
|
+
// ----- jsx-a11y/aria-props -----
|
|
11603
|
+
type JsxA11YAriaProps = [] | [{
|
|
11604
|
+
[k: string]: unknown | undefined;
|
|
11605
|
+
}];
|
|
11606
|
+
// ----- jsx-a11y/aria-proptypes -----
|
|
11607
|
+
type JsxA11YAriaProptypes = [] | [{
|
|
11608
|
+
[k: string]: unknown | undefined;
|
|
11609
|
+
}];
|
|
11610
|
+
// ----- jsx-a11y/aria-role -----
|
|
11611
|
+
type JsxA11YAriaRole = [] | [{
|
|
11612
|
+
allowedInvalidRoles?: string[];
|
|
11613
|
+
ignoreNonDOM?: boolean;
|
|
11614
|
+
[k: string]: unknown | undefined;
|
|
11615
|
+
}];
|
|
11616
|
+
// ----- jsx-a11y/aria-unsupported-elements -----
|
|
11617
|
+
type JsxA11YAriaUnsupportedElements = [] | [{
|
|
11618
|
+
[k: string]: unknown | undefined;
|
|
11619
|
+
}];
|
|
11620
|
+
// ----- jsx-a11y/autocomplete-valid -----
|
|
11621
|
+
type JsxA11YAutocompleteValid = [] | [{
|
|
11622
|
+
inputComponents?: string[];
|
|
11623
|
+
[k: string]: unknown | undefined;
|
|
11624
|
+
}];
|
|
11625
|
+
// ----- jsx-a11y/click-events-have-key-events -----
|
|
11626
|
+
type JsxA11YClickEventsHaveKeyEvents = [] | [{
|
|
11627
|
+
[k: string]: unknown | undefined;
|
|
11628
|
+
}];
|
|
11629
|
+
// ----- jsx-a11y/control-has-associated-label -----
|
|
11630
|
+
type JsxA11YControlHasAssociatedLabel = [] | [{
|
|
11631
|
+
labelAttributes?: string[];
|
|
11632
|
+
controlComponents?: string[];
|
|
11633
|
+
ignoreElements?: string[];
|
|
11634
|
+
ignoreRoles?: string[];
|
|
11635
|
+
depth?: number;
|
|
11636
|
+
[k: string]: unknown | undefined;
|
|
11637
|
+
}];
|
|
11638
|
+
// ----- jsx-a11y/heading-has-content -----
|
|
11639
|
+
type JsxA11YHeadingHasContent = [] | [{
|
|
11640
|
+
components?: string[];
|
|
11641
|
+
[k: string]: unknown | undefined;
|
|
11642
|
+
}];
|
|
11643
|
+
// ----- jsx-a11y/html-has-lang -----
|
|
11644
|
+
type JsxA11YHtmlHasLang = [] | [{
|
|
11645
|
+
[k: string]: unknown | undefined;
|
|
11646
|
+
}];
|
|
11647
|
+
// ----- jsx-a11y/iframe-has-title -----
|
|
11648
|
+
type JsxA11YIframeHasTitle = [] | [{
|
|
11649
|
+
[k: string]: unknown | undefined;
|
|
11650
|
+
}];
|
|
11651
|
+
// ----- jsx-a11y/img-redundant-alt -----
|
|
11652
|
+
type JsxA11YImgRedundantAlt = [] | [{
|
|
11653
|
+
components?: string[];
|
|
11654
|
+
words?: string[];
|
|
11655
|
+
[k: string]: unknown | undefined;
|
|
11656
|
+
}];
|
|
11657
|
+
// ----- jsx-a11y/interactive-supports-focus -----
|
|
11658
|
+
type JsxA11YInteractiveSupportsFocus = [] | [{
|
|
11659
|
+
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")[];
|
|
11660
|
+
[k: string]: unknown | undefined;
|
|
11661
|
+
}];
|
|
11662
|
+
// ----- jsx-a11y/label-has-associated-control -----
|
|
11663
|
+
type JsxA11YLabelHasAssociatedControl = [] | [{
|
|
11664
|
+
labelComponents?: string[];
|
|
11665
|
+
labelAttributes?: string[];
|
|
11666
|
+
controlComponents?: string[];
|
|
11667
|
+
assert?: ("htmlFor" | "nesting" | "both" | "either");
|
|
11668
|
+
depth?: number;
|
|
11669
|
+
[k: string]: unknown | undefined;
|
|
11670
|
+
}];
|
|
11671
|
+
// ----- jsx-a11y/label-has-for -----
|
|
11672
|
+
type JsxA11YLabelHasFor = [] | [{
|
|
11673
|
+
components?: string[];
|
|
11674
|
+
required?: (("nesting" | "id") | {
|
|
11675
|
+
some: ("nesting" | "id")[];
|
|
11676
|
+
[k: string]: unknown | undefined;
|
|
11677
|
+
} | {
|
|
11678
|
+
every: ("nesting" | "id")[];
|
|
11679
|
+
[k: string]: unknown | undefined;
|
|
11680
|
+
});
|
|
11681
|
+
allowChildren?: boolean;
|
|
11682
|
+
[k: string]: unknown | undefined;
|
|
11683
|
+
}];
|
|
11684
|
+
// ----- jsx-a11y/lang -----
|
|
11685
|
+
type JsxA11YLang = [] | [{
|
|
11686
|
+
[k: string]: unknown | undefined;
|
|
11687
|
+
}];
|
|
11688
|
+
// ----- jsx-a11y/media-has-caption -----
|
|
11689
|
+
type JsxA11YMediaHasCaption = [] | [{
|
|
11690
|
+
audio?: string[];
|
|
11691
|
+
video?: string[];
|
|
11692
|
+
track?: string[];
|
|
11693
|
+
[k: string]: unknown | undefined;
|
|
11694
|
+
}];
|
|
11695
|
+
// ----- jsx-a11y/mouse-events-have-key-events -----
|
|
11696
|
+
type JsxA11YMouseEventsHaveKeyEvents = [] | [{
|
|
11697
|
+
hoverInHandlers?: string[];
|
|
11698
|
+
hoverOutHandlers?: string[];
|
|
11699
|
+
[k: string]: unknown | undefined;
|
|
11700
|
+
}];
|
|
11701
|
+
// ----- jsx-a11y/no-access-key -----
|
|
11702
|
+
type JsxA11YNoAccessKey = [] | [{
|
|
11703
|
+
[k: string]: unknown | undefined;
|
|
11704
|
+
}];
|
|
11705
|
+
// ----- jsx-a11y/no-aria-hidden-on-focusable -----
|
|
11706
|
+
type JsxA11YNoAriaHiddenOnFocusable = [] | [{
|
|
11707
|
+
[k: string]: unknown | undefined;
|
|
11708
|
+
}];
|
|
11709
|
+
// ----- jsx-a11y/no-autofocus -----
|
|
11710
|
+
type JsxA11YNoAutofocus = [] | [{
|
|
11711
|
+
ignoreNonDOM?: boolean;
|
|
11712
|
+
[k: string]: unknown | undefined;
|
|
11713
|
+
}];
|
|
11714
|
+
// ----- jsx-a11y/no-distracting-elements -----
|
|
11715
|
+
type JsxA11YNoDistractingElements = [] | [{
|
|
11716
|
+
elements?: ("marquee" | "blink")[];
|
|
11717
|
+
[k: string]: unknown | undefined;
|
|
11718
|
+
}];
|
|
11719
|
+
// ----- jsx-a11y/no-interactive-element-to-noninteractive-role -----
|
|
11720
|
+
type JsxA11YNoInteractiveElementToNoninteractiveRole = [] | [{
|
|
11721
|
+
[k: string]: string[] | undefined;
|
|
11722
|
+
}];
|
|
11723
|
+
// ----- jsx-a11y/no-noninteractive-element-interactions -----
|
|
11724
|
+
type JsxA11YNoNoninteractiveElementInteractions = [] | [{
|
|
11725
|
+
handlers?: string[];
|
|
11726
|
+
[k: string]: unknown | undefined;
|
|
11727
|
+
}];
|
|
11728
|
+
// ----- jsx-a11y/no-noninteractive-element-to-interactive-role -----
|
|
11729
|
+
type JsxA11YNoNoninteractiveElementToInteractiveRole = [] | [{
|
|
11730
|
+
[k: string]: string[] | undefined;
|
|
11731
|
+
}];
|
|
11732
|
+
// ----- jsx-a11y/no-noninteractive-tabindex -----
|
|
11733
|
+
type JsxA11YNoNoninteractiveTabindex = [] | [{
|
|
11734
|
+
roles?: string[];
|
|
11735
|
+
tags?: string[];
|
|
11736
|
+
[k: string]: unknown | undefined;
|
|
11737
|
+
}];
|
|
11738
|
+
// ----- jsx-a11y/no-onchange -----
|
|
11739
|
+
type JsxA11YNoOnchange = [] | [{
|
|
11740
|
+
[k: string]: unknown | undefined;
|
|
11741
|
+
}];
|
|
11742
|
+
// ----- jsx-a11y/no-redundant-roles -----
|
|
11743
|
+
type JsxA11YNoRedundantRoles = [] | [{
|
|
11744
|
+
[k: string]: string[] | undefined;
|
|
11745
|
+
}];
|
|
11746
|
+
// ----- jsx-a11y/no-static-element-interactions -----
|
|
11747
|
+
type JsxA11YNoStaticElementInteractions = [] | [{
|
|
11748
|
+
handlers?: string[];
|
|
11749
|
+
[k: string]: unknown | undefined;
|
|
11750
|
+
}];
|
|
11751
|
+
// ----- jsx-a11y/prefer-tag-over-role -----
|
|
11752
|
+
type JsxA11YPreferTagOverRole = [] | [{
|
|
11753
|
+
[k: string]: unknown | undefined;
|
|
11754
|
+
}];
|
|
11755
|
+
// ----- jsx-a11y/role-has-required-aria-props -----
|
|
11756
|
+
type JsxA11YRoleHasRequiredAriaProps = [] | [{
|
|
11757
|
+
[k: string]: unknown | undefined;
|
|
11758
|
+
}];
|
|
11759
|
+
// ----- jsx-a11y/role-supports-aria-props -----
|
|
11760
|
+
type JsxA11YRoleSupportsAriaProps = [] | [{
|
|
11761
|
+
[k: string]: unknown | undefined;
|
|
11762
|
+
}];
|
|
11763
|
+
// ----- jsx-a11y/scope -----
|
|
11764
|
+
type JsxA11YScope = [] | [{
|
|
11765
|
+
[k: string]: unknown | undefined;
|
|
11766
|
+
}];
|
|
11767
|
+
// ----- jsx-a11y/tabindex-no-positive -----
|
|
11768
|
+
type JsxA11YTabindexNoPositive = [] | [{
|
|
11769
|
+
[k: string]: unknown | undefined;
|
|
11770
|
+
}];
|
|
11078
11771
|
// ----- jsx-quotes -----
|
|
11079
11772
|
type JsxQuotes = [] | [("prefer-single" | "prefer-double")];
|
|
11080
11773
|
// ----- key-spacing -----
|
|
@@ -11621,6 +12314,7 @@ type MaxParams = [] | [(number | {
|
|
|
11621
12314
|
maximum?: number;
|
|
11622
12315
|
max?: number;
|
|
11623
12316
|
countVoidThis?: boolean;
|
|
12317
|
+
countThis?: ("never" | "except-void" | "always");
|
|
11624
12318
|
})];
|
|
11625
12319
|
// ----- max-statements -----
|
|
11626
12320
|
type MaxStatements = [] | [(number | {
|
|
@@ -11660,6 +12354,8 @@ type NewlineAfterVar = [] | [("never" | "always")];
|
|
|
11660
12354
|
type NewlinePerChainedCall = [] | [{
|
|
11661
12355
|
ignoreChainWithDepth?: number;
|
|
11662
12356
|
}];
|
|
12357
|
+
// ----- next/no-html-link-for-pages -----
|
|
12358
|
+
type NextNoHtmlLinkForPages = [] | [(string | string[])];
|
|
11663
12359
|
// ----- no-bitwise -----
|
|
11664
12360
|
type NoBitwise = [] | [{
|
|
11665
12361
|
allow?: ("^" | "|" | "&" | "<<" | ">>" | ">>>" | "^=" | "|=" | "&=" | "<<=" | ">>=" | ">>>=" | "~")[];
|
|
@@ -12277,12 +12973,16 @@ type NodeNoUnsupportedFeaturesNodeBuiltins = [] | [{
|
|
|
12277
12973
|
type NodePreferGlobalBuffer = [] | [("always" | "never")];
|
|
12278
12974
|
// ----- node/prefer-global/console -----
|
|
12279
12975
|
type NodePreferGlobalConsole = [] | [("always" | "never")];
|
|
12976
|
+
// ----- node/prefer-global/crypto -----
|
|
12977
|
+
type NodePreferGlobalCrypto = [] | [("always" | "never")];
|
|
12280
12978
|
// ----- node/prefer-global/process -----
|
|
12281
12979
|
type NodePreferGlobalProcess = [] | [("always" | "never")];
|
|
12282
12980
|
// ----- node/prefer-global/text-decoder -----
|
|
12283
12981
|
type NodePreferGlobalTextDecoder = [] | [("always" | "never")];
|
|
12284
12982
|
// ----- node/prefer-global/text-encoder -----
|
|
12285
12983
|
type NodePreferGlobalTextEncoder = [] | [("always" | "never")];
|
|
12984
|
+
// ----- node/prefer-global/timers -----
|
|
12985
|
+
type NodePreferGlobalTimers = [] | [("always" | "never")];
|
|
12286
12986
|
// ----- node/prefer-global/url -----
|
|
12287
12987
|
type NodePreferGlobalUrl = [] | [("always" | "never")];
|
|
12288
12988
|
// ----- node/prefer-global/url-search-params -----
|
|
@@ -14821,6 +15521,42 @@ type PerfectionistSortVariableDeclarations = [] | [{
|
|
|
14821
15521
|
});
|
|
14822
15522
|
partitionByNewLine?: boolean;
|
|
14823
15523
|
}];
|
|
15524
|
+
// ----- pnpm/json-enforce-catalog -----
|
|
15525
|
+
type PnpmJsonEnforceCatalog = [] | [{
|
|
15526
|
+
allowedProtocols?: string[];
|
|
15527
|
+
autofix?: boolean;
|
|
15528
|
+
defaultCatalog?: string;
|
|
15529
|
+
reuseExistingCatalog?: boolean;
|
|
15530
|
+
conflicts?: ("new-catalog" | "overrides" | "error");
|
|
15531
|
+
fields?: string[];
|
|
15532
|
+
ignores?: string[];
|
|
15533
|
+
}];
|
|
15534
|
+
// ----- pnpm/json-prefer-workspace-settings -----
|
|
15535
|
+
type PnpmJsonPreferWorkspaceSettings = [] | [{
|
|
15536
|
+
autofix?: boolean;
|
|
15537
|
+
}];
|
|
15538
|
+
// ----- pnpm/json-valid-catalog -----
|
|
15539
|
+
type PnpmJsonValidCatalog = [] | [{
|
|
15540
|
+
autoInsert?: boolean;
|
|
15541
|
+
autoInsertDefaultSpecifier?: string;
|
|
15542
|
+
autofix?: boolean;
|
|
15543
|
+
enforceNoConflict?: boolean;
|
|
15544
|
+
fields?: unknown[];
|
|
15545
|
+
}];
|
|
15546
|
+
// ----- pnpm/yaml-enforce-settings -----
|
|
15547
|
+
type PnpmYamlEnforceSettings = [] | [{
|
|
15548
|
+
autofix?: boolean;
|
|
15549
|
+
settings?: {
|
|
15550
|
+
[k: string]: unknown | undefined;
|
|
15551
|
+
};
|
|
15552
|
+
requiredFields?: string[];
|
|
15553
|
+
forbiddenFields?: string[];
|
|
15554
|
+
}];
|
|
15555
|
+
// ----- pnpm/yaml-no-duplicate-catalog-item -----
|
|
15556
|
+
type PnpmYamlNoDuplicateCatalogItem = [] | [{
|
|
15557
|
+
allow?: string[];
|
|
15558
|
+
checkDuplicates?: ("name-only" | "exact-version");
|
|
15559
|
+
}];
|
|
14824
15560
|
// ----- prefer-arrow-callback -----
|
|
14825
15561
|
type PreferArrowCallback = [] | [{
|
|
14826
15562
|
allowNamedFunctions?: boolean;
|
|
@@ -16561,13 +17297,17 @@ type StylePaddedBlocks = [] | [(("always" | "never" | "start" | "end") | {
|
|
|
16561
17297
|
}];
|
|
16562
17298
|
// ----- style/padding-line-between-statements -----
|
|
16563
17299
|
type _StylePaddingLineBetweenStatementsPaddingType = ("any" | "never" | "always");
|
|
16564
|
-
type _StylePaddingLineBetweenStatementsStatementOption = (
|
|
17300
|
+
type _StylePaddingLineBetweenStatementsStatementOption = (_StylePaddingLineBetweenStatementsStatementMatcher | [_StylePaddingLineBetweenStatementsStatementMatcher, ...(_StylePaddingLineBetweenStatementsStatementMatcher)[]]);
|
|
17301
|
+
type _StylePaddingLineBetweenStatementsStatementMatcher = (_StylePaddingLineBetweenStatementsStatementType | _StylePaddingLineBetweenStatements_SelectorOption);
|
|
16565
17302
|
type _StylePaddingLineBetweenStatementsStatementType = ("*" | "exports" | "require" | "directive" | "iife" | "block" | "empty" | "function" | "ts-method" | "break" | "case" | "class" | "continue" | "debugger" | "default" | "do" | "for" | "if" | "import" | "switch" | "throw" | "try" | "while" | "with" | "cjs-export" | "cjs-import" | "enum" | "interface" | "function-overload" | "block-like" | "singleline-block-like" | "multiline-block-like" | "expression" | "singleline-expression" | "multiline-expression" | "return" | "singleline-return" | "multiline-return" | "export" | "singleline-export" | "multiline-export" | "var" | "singleline-var" | "multiline-var" | "let" | "singleline-let" | "multiline-let" | "const" | "singleline-const" | "multiline-const" | "using" | "singleline-using" | "multiline-using" | "type" | "singleline-type" | "multiline-type");
|
|
16566
17303
|
type StylePaddingLineBetweenStatements = {
|
|
16567
17304
|
blankLine: _StylePaddingLineBetweenStatementsPaddingType;
|
|
16568
17305
|
prev: _StylePaddingLineBetweenStatementsStatementOption;
|
|
16569
17306
|
next: _StylePaddingLineBetweenStatementsStatementOption;
|
|
16570
17307
|
}[];
|
|
17308
|
+
interface _StylePaddingLineBetweenStatements_SelectorOption {
|
|
17309
|
+
selector: string;
|
|
17310
|
+
}
|
|
16571
17311
|
// ----- style/quote-props -----
|
|
16572
17312
|
type StyleQuoteProps = ([] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [] | [("always" | "as-needed" | "consistent" | "consistent-as-needed")] | [("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
|
|
16573
17313
|
keywords?: boolean;
|
|
@@ -17035,10 +17775,21 @@ type TomlIndent = [] | [("tab" | number)] | [("tab" | number), {
|
|
|
17035
17775
|
subTables?: number;
|
|
17036
17776
|
keyValuePairs?: number;
|
|
17037
17777
|
}];
|
|
17778
|
+
// ----- toml/inline-table-curly-newline -----
|
|
17779
|
+
type TomlInlineTableCurlyNewline = [] | [(("always" | "never") | {
|
|
17780
|
+
multiline?: boolean;
|
|
17781
|
+
minProperties?: number;
|
|
17782
|
+
consistent?: boolean;
|
|
17783
|
+
})];
|
|
17038
17784
|
// ----- toml/inline-table-curly-spacing -----
|
|
17039
17785
|
type TomlInlineTableCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
|
|
17040
17786
|
arraysInObjects?: boolean;
|
|
17041
17787
|
objectsInObjects?: boolean;
|
|
17788
|
+
emptyObjects?: ("ignore" | "always" | "never");
|
|
17789
|
+
}];
|
|
17790
|
+
// ----- toml/inline-table-key-value-newline -----
|
|
17791
|
+
type TomlInlineTableKeyValueNewline = [] | [{
|
|
17792
|
+
allowAllPropertiesOnSameLine?: boolean;
|
|
17042
17793
|
}];
|
|
17043
17794
|
// ----- toml/key-spacing -----
|
|
17044
17795
|
type TomlKeySpacing = [] | [({
|
|
@@ -18373,6 +19124,77 @@ type UseIsnan = [] | [{
|
|
|
18373
19124
|
type ValidTypeof = [] | [{
|
|
18374
19125
|
requireStringLiterals?: boolean;
|
|
18375
19126
|
}];
|
|
19127
|
+
// ----- vue-a11y/alt-text -----
|
|
19128
|
+
type VueA11YAltText = [] | [{
|
|
19129
|
+
elements?: string[];
|
|
19130
|
+
img?: string[];
|
|
19131
|
+
object?: string[];
|
|
19132
|
+
area?: string[];
|
|
19133
|
+
"input[type=\"image\"]"?: string[];
|
|
19134
|
+
[k: string]: unknown | undefined;
|
|
19135
|
+
}];
|
|
19136
|
+
// ----- vue-a11y/anchor-has-content -----
|
|
19137
|
+
type VueA11YAnchorHasContent = [] | [{
|
|
19138
|
+
components?: string[];
|
|
19139
|
+
accessibleChildren?: string[];
|
|
19140
|
+
accessibleDirectives?: string[];
|
|
19141
|
+
[k: string]: unknown | undefined;
|
|
19142
|
+
}];
|
|
19143
|
+
// ----- vue-a11y/aria-role -----
|
|
19144
|
+
type VueA11YAriaRole = [] | [{
|
|
19145
|
+
ignoreNonDOM?: boolean;
|
|
19146
|
+
}];
|
|
19147
|
+
// ----- vue-a11y/form-control-has-label -----
|
|
19148
|
+
type VueA11YFormControlHasLabel = [] | [{
|
|
19149
|
+
labelComponents?: string[];
|
|
19150
|
+
controlComponents?: string[];
|
|
19151
|
+
[k: string]: unknown | undefined;
|
|
19152
|
+
}];
|
|
19153
|
+
// ----- vue-a11y/heading-has-content -----
|
|
19154
|
+
type VueA11YHeadingHasContent = [] | [{
|
|
19155
|
+
components?: string[];
|
|
19156
|
+
accessibleChildren?: string[];
|
|
19157
|
+
accessibleDirectives?: string[];
|
|
19158
|
+
[k: string]: unknown | undefined;
|
|
19159
|
+
}];
|
|
19160
|
+
// ----- vue-a11y/interactive-supports-focus -----
|
|
19161
|
+
type VueA11YInteractiveSupportsFocus = [] | [{
|
|
19162
|
+
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")[];
|
|
19163
|
+
[k: string]: unknown | undefined;
|
|
19164
|
+
}];
|
|
19165
|
+
// ----- vue-a11y/label-has-for -----
|
|
19166
|
+
type VueA11YLabelHasFor = [] | [{
|
|
19167
|
+
components?: string[];
|
|
19168
|
+
controlComponents?: string[];
|
|
19169
|
+
required?: (("nesting" | "id") | {
|
|
19170
|
+
some: ("nesting" | "id")[];
|
|
19171
|
+
[k: string]: unknown | undefined;
|
|
19172
|
+
} | {
|
|
19173
|
+
every: ("nesting" | "id")[];
|
|
19174
|
+
[k: string]: unknown | undefined;
|
|
19175
|
+
});
|
|
19176
|
+
allowChildren?: boolean;
|
|
19177
|
+
[k: string]: unknown | undefined;
|
|
19178
|
+
}];
|
|
19179
|
+
// ----- vue-a11y/media-has-caption -----
|
|
19180
|
+
type VueA11YMediaHasCaption = [] | [{
|
|
19181
|
+
audio?: string[];
|
|
19182
|
+
track?: string[];
|
|
19183
|
+
video?: string[];
|
|
19184
|
+
[k: string]: unknown | undefined;
|
|
19185
|
+
}];
|
|
19186
|
+
// ----- vue-a11y/no-autofocus -----
|
|
19187
|
+
type VueA11YNoAutofocus = [] | [{
|
|
19188
|
+
ignoreNonDOM?: boolean;
|
|
19189
|
+
}];
|
|
19190
|
+
// ----- vue-a11y/no-distracting-elements -----
|
|
19191
|
+
type VueA11YNoDistractingElements = [] | [{
|
|
19192
|
+
[k: string]: unknown | undefined;
|
|
19193
|
+
}];
|
|
19194
|
+
// ----- vue-a11y/no-redundant-roles -----
|
|
19195
|
+
type VueA11YNoRedundantRoles = [] | [{
|
|
19196
|
+
[k: string]: string[] | undefined;
|
|
19197
|
+
}];
|
|
18376
19198
|
// ----- vue/array-bracket-newline -----
|
|
18377
19199
|
type VueArrayBracketNewline = [] | [(("always" | "never" | "consistent") | {
|
|
18378
19200
|
multiline?: boolean;
|
|
@@ -18412,6 +19234,7 @@ type VueAttributesOrder = [] | [{
|
|
|
18412
19234
|
order?: (("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT") | ("DEFINITION" | "LIST_RENDERING" | "CONDITIONALS" | "RENDER_MODIFIERS" | "GLOBAL" | "UNIQUE" | "SLOT" | "TWO_WAY_BINDING" | "OTHER_DIRECTIVES" | "OTHER_ATTR" | "ATTR_STATIC" | "ATTR_DYNAMIC" | "ATTR_SHORTHAND_BOOL" | "EVENTS" | "CONTENT")[])[];
|
|
18413
19235
|
alphabetical?: boolean;
|
|
18414
19236
|
sortLineLength?: boolean;
|
|
19237
|
+
ignoreVBindObject?: boolean;
|
|
18415
19238
|
}];
|
|
18416
19239
|
// ----- vue/block-lang -----
|
|
18417
19240
|
type VueBlockLang = [] | [{
|
|
@@ -18503,7 +19326,7 @@ type VueDefineMacrosOrder = [] | [{
|
|
|
18503
19326
|
type VueDefinePropsDeclaration = [] | [("type-based" | "runtime")];
|
|
18504
19327
|
// ----- vue/define-props-destructuring -----
|
|
18505
19328
|
type VueDefinePropsDestructuring = [] | [{
|
|
18506
|
-
destructure?: ("always" | "never");
|
|
19329
|
+
destructure?: ("only-when-assigned" | "always" | "never");
|
|
18507
19330
|
}];
|
|
18508
19331
|
// ----- vue/dot-location -----
|
|
18509
19332
|
type VueDotLocation = [] | [("object" | "property")];
|
|
@@ -19556,6 +20379,10 @@ type VueVSlotStyle = [] | [(("shorthand" | "longform") | {
|
|
|
19556
20379
|
default?: ("shorthand" | "longform" | "v-slot");
|
|
19557
20380
|
named?: ("shorthand" | "longform");
|
|
19558
20381
|
})];
|
|
20382
|
+
// ----- vue/valid-v-for -----
|
|
20383
|
+
type VueValidVFor = [] | [{
|
|
20384
|
+
allowEmptyAlias?: boolean;
|
|
20385
|
+
}];
|
|
19559
20386
|
// ----- vue/valid-v-on -----
|
|
19560
20387
|
type VueValidVOn = [] | [{
|
|
19561
20388
|
modifiers?: unknown[];
|
|
@@ -19602,6 +20429,7 @@ type YamlFlowMappingCurlyNewline = [] | [(("always" | "never") | {
|
|
|
19602
20429
|
type YamlFlowMappingCurlySpacing = [] | [("always" | "never")] | [("always" | "never"), {
|
|
19603
20430
|
arraysInObjects?: boolean;
|
|
19604
20431
|
objectsInObjects?: boolean;
|
|
20432
|
+
emptyObjects?: ("ignore" | "always" | "never");
|
|
19605
20433
|
}];
|
|
19606
20434
|
// ----- yaml/flow-sequence-bracket-newline -----
|
|
19607
20435
|
type YamlFlowSequenceBracketNewline = [] | [(("always" | "never" | "consistent") | {
|
|
@@ -19787,7 +20615,7 @@ type Yoda = [] | [("always" | "never")] | [("always" | "never"), {
|
|
|
19787
20615
|
onlyEquality?: boolean;
|
|
19788
20616
|
}];
|
|
19789
20617
|
// Names of all the configs
|
|
19790
|
-
type ConfigNames = 'vinicunca/
|
|
20618
|
+
type ConfigNames = 'vinicunca/gitignore' | 'vinicunca/ignores' | 'vinicunca/javascript/setup' | 'vinicunca/javascript/rules' | 'vinicunca/eslint-comments/rules' | 'vinicunca/imports/rules' | 'vinicunca/command/rules' | 'vinicunca/perfectionist/rules' | 'vinicunca/sonar/rules' | 'vinicunca/node/rules' | 'vinicunca/jsdoc/setup' | 'vinicunca/jsdoc/rules' | 'vinicunca/imports/rules' | 'vinicunca/unicorn/rules' | 'antfu/jsx/setup' | 'vinicunca/typescript/setup' | 'vinicunca/typescript/parser' | 'vinicunca/typescript/type-aware-parser' | 'vinicunca/typescript/rules' | 'vinicunca/typescript/rules-type-aware' | 'antfu/typescript/erasable-syntax-only' | 'vinicunca/stylistic/rules' | 'vinicunca/regexp/rules' | 'vinicunca/test/setup' | 'vinicunca/test/rules' | 'vinicunca/vue/setup' | 'vinicunca/vue/rules' | 'vinicunca/react/setup' | 'vinicunca/react/rules' | 'vinicunca/react/typescript' | 'vinicunca/react/type-aware-rules' | 'vinicunca/nextjs/setup' | 'vinicunca/nextjs/rules' | 'vinicunca/solid/setup' | 'vinicunca/solid/rules' | 'vinicunca/svelte/setup' | 'vinicunca/svelte/rules' | 'vinicunca/unocss' | 'vinicunca/astro/setup' | 'vinicunca/astro/rules' | 'vinicunca/jsonc/setup' | 'vinicunca/jsonc/rules' | 'vinicunca/sort/package-json' | 'vinicunca/sort/tsconfig' | 'vinicunca/pnpm/package-json' | 'vinicunca/pnpm/pnpm-workspace-yaml' | 'vinicunca/pnpm/pnpm-workspace-yaml-sort' | 'vinicunca/yaml/setup' | 'vinicunca/yaml/rules' | 'vinicunca/toml/setup' | 'vinicunca/toml/rules' | 'vinicunca/markdown/setup' | 'vinicunca/markdown/processor' | 'vinicunca/markdown/parser' | 'vinicunca/markdown/rules' | 'vinicunca/markdown/disables/markdown' | 'vinicunca/markdown/disables' | 'vinicunca/formatter/setup' | 'vinicunca/formatter/css' | 'vinicunca/formatter/scss' | 'vinicunca/formatter/less' | 'vinicunca/formatter/html' | 'vinicunca/formatter/xml' | 'vinicunca/formatter/svg' | 'vinicunca/formatter/markdown' | 'vinicunca/formatter/astro' | 'vinicunca/formatter/astro/disables' | 'vinicunca/formatter/graphql' | 'vinicunca/disables/scripts' | 'vinicunca/disables/cli' | 'vinicunca/disables/bin' | 'vinicunca/disables/dts' | 'vinicunca/disables/cjs' | 'vinicunca/disables/config-files';
|
|
19791
20619
|
//#endregion
|
|
19792
20620
|
//#region src/vendor/prettier-types.d.ts
|
|
19793
20621
|
/**
|
|
@@ -20054,6 +20882,18 @@ interface OptionsUnicorn extends OptionsOverrides {
|
|
|
20054
20882
|
*/
|
|
20055
20883
|
allRecommended?: boolean;
|
|
20056
20884
|
}
|
|
20885
|
+
interface OptionsMarkdown extends OptionsOverrides {
|
|
20886
|
+
/**
|
|
20887
|
+
* Enable GFM (GitHub Flavored Markdown) support.
|
|
20888
|
+
*
|
|
20889
|
+
* @default true
|
|
20890
|
+
*/
|
|
20891
|
+
gfm?: boolean;
|
|
20892
|
+
/**
|
|
20893
|
+
* Override rules for markdown itself.
|
|
20894
|
+
*/
|
|
20895
|
+
overridesMarkdown?: TypedFlatConfigItem['rules'];
|
|
20896
|
+
}
|
|
20057
20897
|
interface OptionsTypeScriptParserOptions {
|
|
20058
20898
|
/**
|
|
20059
20899
|
* Additional parser options for TypeScript.
|
|
@@ -20272,13 +21112,13 @@ interface OptionsConfig extends OptionsComponentExts, OptionsProjectType {
|
|
|
20272
21112
|
*/
|
|
20273
21113
|
astro?: boolean | OptionsOverrides;
|
|
20274
21114
|
/**
|
|
20275
|
-
* Enable linting for **code snippets** in Markdown.
|
|
21115
|
+
* Enable linting for **code snippets** in Markdown and the markdown content itself.
|
|
20276
21116
|
*
|
|
20277
21117
|
* For formatting Markdown content, enable also `formatters.markdown`.
|
|
20278
21118
|
*
|
|
20279
21119
|
* @default true
|
|
20280
21120
|
*/
|
|
20281
|
-
markdown?: boolean |
|
|
21121
|
+
markdown?: boolean | OptionsMarkdown;
|
|
20282
21122
|
/**
|
|
20283
21123
|
* Enable stylistic rules.
|
|
20284
21124
|
*
|
|
@@ -20434,7 +21274,7 @@ declare function jsonc(options?: OptionsFiles & OptionsStylistic & OptionsOverri
|
|
|
20434
21274
|
declare function jsx(options?: OptionsJSX): Promise<Array<TypedFlatConfigItem>>;
|
|
20435
21275
|
//#endregion
|
|
20436
21276
|
//#region src/configs/markdown.d.ts
|
|
20437
|
-
declare function markdown(options?: OptionsFiles & OptionsComponentExts &
|
|
21277
|
+
declare function markdown(options?: OptionsFiles & OptionsComponentExts & OptionsMarkdown): Promise<Array<TypedFlatConfigItem>>;
|
|
20438
21278
|
//#endregion
|
|
20439
21279
|
//#region src/configs/nextjs.d.ts
|
|
20440
21280
|
declare function nextjs(options?: OptionsOverrides & OptionsFiles): Promise<Array<TypedFlatConfigItem>>;
|
|
@@ -20617,4 +21457,4 @@ declare function ensurePackages(packages: Array<string | undefined>): Promise<vo
|
|
|
20617
21457
|
declare function isInEditorEnv(): boolean;
|
|
20618
21458
|
declare function isInGitHooksOrLintStaged(): boolean;
|
|
20619
21459
|
//#endregion
|
|
20620
|
-
export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsJSX, OptionsJSXA11y, OptionsOverrides, OptionsPnpm, OptionsProjectType, OptionsReact, OptionsRegExp, OptionsStylistic, OptionsTypeScriptErasableOnly, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, type RuleOptions, Rules, STYLISTIC_CONFIG_DEFAULTS, StylisticConfig, StylisticOptions, TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, disables, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginImportLite, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
|
|
21460
|
+
export { Awaitable, type ConfigNames, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CSS, GLOB_EXCLUDE, GLOB_GRAPHQL, GLOB_HTML, GLOB_JS, GLOB_JSON, GLOB_JSON5, GLOB_JSONC, GLOB_JSX, GLOB_LESS, GLOB_MARKDOWN, GLOB_MARKDOWN_CODE, GLOB_MARKDOWN_IN_MARKDOWN, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_SVG, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_XML, GLOB_YAML, OptionsComponentExts, OptionsConfig, OptionsFiles, OptionsFormatters, OptionsHasTypeScript, OptionsIsInEditor, OptionsJSX, OptionsJSXA11y, OptionsMarkdown, OptionsOverrides, OptionsPnpm, OptionsProjectType, OptionsReact, OptionsRegExp, OptionsStylistic, OptionsTypeScriptErasableOnly, OptionsTypeScriptParserOptions, OptionsTypeScriptWithTypes, OptionsTypescript, OptionsUnicorn, OptionsUnoCSS, OptionsVue, ResolvedOptions, type RuleOptions, Rules, STYLISTIC_CONFIG_DEFAULTS, StylisticConfig, StylisticOptions, TypedFlatConfigItem, astro, combineConfigs, command, comments, defaultPluginRenaming, disables, ensurePackages, formatters, ignores, imports, interopDefault, isInEditorEnv, isInGitHooksOrLintStaged, isPackageInScope, javascript, jsdoc, jsonc, jsx, markdown, nextjs, node, parserPlain, perfectionist, pluginAntfu, pluginComments, pluginImportLite, pluginNode, pluginPerfectionist, pluginSonar, pluginUnicorn, pluginUnusedImports, pnpm, react, regexp, renamePluginInConfigs, renameRules, solid, sonar, sortPackageJson, sortTsconfig, stylistic, svelte, test, toArray, toml, typescript, unicorn, unocss, vinicuncaESLint, vue, yaml };
|