diff --git a/.eslintrc.js b/.eslintrc.js index a18692a..b0bfe6c 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -45,6 +45,12 @@ module.exports = { "node/no-unsupported-features/es-syntax": "off", "node/no-extraneous-import": "off" } + }, + { + files: ["lib/index.ts"], + rules: { + "sort-keys": ["error", "asc", { caseSensitive: true, natural: false }] + } } ], rules: { @@ -53,3 +59,4 @@ module.exports = { }, ignorePatterns: ["node_modules", "dist/", "scripts"] }; + diff --git a/lib/index.ts b/lib/index.ts index 70b806a..b8b00ce 100644 --- a/lib/index.ts +++ b/lib/index.ts @@ -13,41 +13,6 @@ import * as rules from "./rules"; // import all rules in lib/rules module.exports = { - rules: { - "accordion-header-needs-labelling": rules.accordionHeaderNeedsLabelling, - "accordion-item-needs-header-and-panel": rules.accordionItemNeedsHeaderAndPanel, - "avatar-needs-name": rules.avatarNeedsName, - "avoid-using-aria-describedby-for-primary-labelling": rules.avoidUsingAriaDescribedByForPrimaryLabelling, - "badge-needs-accessible-name": rules.badgeNeedsAccessibleName, - "breadcrumb-needs-labelling": rules.breadcrumbNeedsLabelling, - "checkbox-needs-labelling": rules.checkboxNeedsLabelling, - "combobox-needs-labelling": rules.comboboxNeedsLabelling, - "compound-button-needs-labelling": rules.compoundButtonNeedsLabelling, - "counter-badge-needs-count": rules.counterBadgeNeedsCount, - "dialogbody-needs-title-content-and-actions": rules.dialogbodyNeedsTitleContentAndActions, - "dialogsurface-needs-aria": rules.dialogsurfaceNeedsAria, - "dropdown-needs-labelling": rules.dropdownNeedsLabelling, - "field-needs-labelling": rules.fieldNeedsLabelling, - "image-button-missing-aria": rules.imageButtonMissingAria, - "input-components-require-accessible-name": rules.inputComponentsRequireAccessibleName, - "link-missing-labelling": rules.linkMissingLabelling, - "menu-item-needs-labelling": rules.menuItemNeedsLabelling, - "no-empty-buttons": rules.noEmptyButtons, - "no-empty-components": rules.noEmptyComponents, - "prefer-aria-over-title-attribute": rules.preferAriaOverTitleAttribute, - "progressbar-needs-labelling": rules.progressbarNeedsLabelling, - "radio-button-missing-label": rules.radioButtonMissingLabel, - "radiogroup-missing-label": rules.radiogroupMissingLabel, - "rating-needs-name": rules.ratingNeedsName, - "spin-button-needs-labelling": rules.spinButtonNeedsLabelling, - "spin-button-unrecommended-labelling": rules.spinButtonUnrecommendedLabelling, - "spinner-needs-labelling": rules.spinnerNeedsLabelling, - "switch-needs-labelling": rules.switchNeedsLabelling, - "tablist-and-tabs-need-labelling": rules.tablistAndTabsNeedLabelling, - "toolbar-missing-aria": rules.toolbarMissingAria, - "tooltip-not-recommended": rules.tooltipNotRecommended, - "visual-label-better-than-aria-suggestion": rules.visualLabelBetterThanAriaSuggestion - }, configs: { recommended: { rules: { @@ -86,6 +51,41 @@ module.exports = { "@microsoft/fluentui-jsx-a11y/visual-label-better-than-aria-suggestion": "warn" } } + }, + rules: { + "accordion-header-needs-labelling": rules.accordionHeaderNeedsLabelling, + "accordion-item-needs-header-and-panel": rules.accordionItemNeedsHeaderAndPanel, + "avatar-needs-name": rules.avatarNeedsName, + "avoid-using-aria-describedby-for-primary-labelling": rules.avoidUsingAriaDescribedByForPrimaryLabelling, + "badge-needs-accessible-name": rules.badgeNeedsAccessibleName, + "breadcrumb-needs-labelling": rules.breadcrumbNeedsLabelling, + "checkbox-needs-labelling": rules.checkboxNeedsLabelling, + "combobox-needs-labelling": rules.comboboxNeedsLabelling, + "compound-button-needs-labelling": rules.compoundButtonNeedsLabelling, + "counter-badge-needs-count": rules.counterBadgeNeedsCount, + "dialogbody-needs-title-content-and-actions": rules.dialogbodyNeedsTitleContentAndActions, + "dialogsurface-needs-aria": rules.dialogsurfaceNeedsAria, + "dropdown-needs-labelling": rules.dropdownNeedsLabelling, + "field-needs-labelling": rules.fieldNeedsLabelling, + "image-button-missing-aria": rules.imageButtonMissingAria, + "input-components-require-accessible-name": rules.inputComponentsRequireAccessibleName, + "link-missing-labelling": rules.linkMissingLabelling, + "menu-item-needs-labelling": rules.menuItemNeedsLabelling, + "no-empty-buttons": rules.noEmptyButtons, + "no-empty-components": rules.noEmptyComponents, + "prefer-aria-over-title-attribute": rules.preferAriaOverTitleAttribute, + "progressbar-needs-labelling": rules.progressbarNeedsLabelling, + "radio-button-missing-label": rules.radioButtonMissingLabel, + "radiogroup-missing-label": rules.radiogroupMissingLabel, + "rating-needs-name": rules.ratingNeedsName, + "spin-button-needs-labelling": rules.spinButtonNeedsLabelling, + "spin-button-unrecommended-labelling": rules.spinButtonUnrecommendedLabelling, + "spinner-needs-labelling": rules.spinnerNeedsLabelling, + "switch-needs-labelling": rules.switchNeedsLabelling, + "tablist-and-tabs-need-labelling": rules.tablistAndTabsNeedLabelling, + "toolbar-missing-aria": rules.toolbarMissingAria, + "tooltip-not-recommended": rules.tooltipNotRecommended, + "visual-label-better-than-aria-suggestion": rules.visualLabelBetterThanAriaSuggestion } }; @@ -93,3 +93,4 @@ module.exports = { module.exports.processors = { // add your processors here }; +