From f4d2454304c4b95fe8847fb0a33b2a3114170d16 Mon Sep 17 00:00:00 2001 From: Kevin Deisz Date: Tue, 11 May 2021 15:36:58 -0400 Subject: [PATCH 1/8] Initial config --- .gitignore | 1 + package.json | 5 ++++- tsconfig.json | 10 ++++++++++ yarn.lock | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 tsconfig.json diff --git a/.gitignore b/.gitignore index 75877581..0c6b94b0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ /.eslintcache /.husky/ +/dist/ /node_modules/ diff --git a/package.json b/package.json index 29dc7296..2a725ad9 100644 --- a/package.json +++ b/package.json @@ -31,12 +31,15 @@ "vue-eslint-parser": "^7.0.0" }, "devDependencies": { + "@types/eslint-scope": "^3.7.0", + "@types/eslint-visitor-keys": "^1.0.0", "eslint": "^7.3.1", "eslint-plugin-eslint-plugin": "^3.0.0", "husky": "^6.0.0", "jest": "^27.0.1", "prettier": "^2.1.1", - "pretty-quick": "^3.0.0" + "pretty-quick": "^3.0.0", + "typescript": "^4.2.4" }, "eslintConfig": { "env": { diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 00000000..bb22c6bb --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + "allowJs": true, /* Allow javascript files to be compiled. */ + "outDir": "./dist", /* Redirect output structure to the directory. */ + "strict": true, /* Enable all strict type-checking options. */ + "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + } +} diff --git a/yarn.lock b/yarn.lock index 7385ff91..6e931447 100644 --- a/yarn.lock +++ b/yarn.lock @@ -568,6 +568,32 @@ dependencies: "@babel/types" "^7.3.0" +"@types/eslint-scope@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.0.tgz#4792816e31119ebd506902a482caec4951fabd86" + integrity sha512-O/ql2+rrCUe2W2rs7wMR+GqPRcgB6UiqN5RhrR5xruFlY7l9YLMn0ZkDzjoHLeiFkR8MCQZVudUuuvQ2BLC9Qw== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint-visitor-keys@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#1ee30d79544ca84d68d4b3cdb0af4f205663dd2d" + integrity sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag== + +"@types/eslint@*": + version "7.2.10" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.2.10.tgz#4b7a9368d46c0f8cd5408c23288a59aa2394d917" + integrity sha512-kUEPnMKrqbtpCq/KTaGFFKAcz6Ethm2EjCoKIDaCmfRBWLbFuTcOJfTlorwbnboXBzahqWLgUp1BQeKHiJzPUQ== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*": + version "0.0.47" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.47.tgz#d7a51db20f0650efec24cd04994f523d93172ed4" + integrity sha512-c5ciR06jK8u9BstrmJyO97m+klJrrhCf9u3rLu3DEAJBirxRqSCvDQoYKmxuYwQI5SZChAWu+tq9oVlGRuzPAg== + "@types/graceful-fs@^4.1.2": version "4.1.5" resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15" @@ -594,6 +620,11 @@ dependencies: "@types/istanbul-lib-report" "*" +"@types/json-schema@*": + version "7.0.7" + resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.7.tgz#98a993516c859eb0d5c4c8f098317a9ea68db9ad" + integrity sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA== + "@types/minimatch@^3.0.3": version "3.0.4" resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-3.0.4.tgz#f0ec25dbf2f0e4b18647313ac031134ca5b24b21" @@ -2892,6 +2923,11 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +typescript@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.2.4.tgz#8610b59747de028fda898a8aef0e103f156d0961" + integrity sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg== + universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" From aa70b7e38cf3ea74d367fadc187ba0b8d034b878 Mon Sep 17 00:00:00 2001 From: Kevin Deisz Date: Tue, 11 May 2021 16:51:44 -0400 Subject: [PATCH 2/8] Convert utils index --- src/utils.ts | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/utils.ts diff --git a/src/utils.ts b/src/utils.ts new file mode 100644 index 00000000..55bf2921 --- /dev/null +++ b/src/utils.ts @@ -0,0 +1,20 @@ +export { default as defineTemplateBodyVisitor } from "./utils/defineTemplateBodyVisitor"; +export { default as getAttributeName } from "./utils/getAttributeName"; +export { default as getAttributeValue } from "./utils/getAttributeValue"; +export { default as getElementAttribute } from "./utils/getElementAttribute"; +export { default as getElementAttributeValue } from "./utils/getElementAttributeValue"; +export { default as getElementType } from "./utils/getElementType"; +export { default as getLiteralAttributeValue } from "./utils/getLiteralAttributeValue"; +export { default as hasAccessibleChild } from "./utils/hasAccessibleChild"; +export { default as hasAriaLabel } from "./utils/hasAriaLabel"; +export { default as hasContent } from "./utils/hasContent"; +export { default as hasOnDirective } from "./utils/hasOnDirective"; +export { default as hasOnDirectives } from "./utils/hasOnDirectives"; +export { default as isAriaHidden } from "./utils/isAriaHidden"; +export { default as isAttribute } from "./utils/isAttribute"; +export { default as isHiddenFromScreenReader } from "./utils/isHiddenFromScreenReader"; +export { default as isInteractiveElement } from "./utils/isInteractiveElement"; +export { default as isPresentationRole } from "./utils/isPresentationRole"; +export { default as makeDocsURL } from "./utils/makeDocsURL"; +export { default as makeKebabCase } from "./utils/makeKebabCase"; +export { default as matchesElementRole } from "./utils/matchesElementRole"; From 5f79eb3de92e5c04069abd6efd79594cf2ff651f Mon Sep 17 00:00:00 2001 From: Kevin Deisz Date: Tue, 11 May 2021 16:53:27 -0400 Subject: [PATCH 3/8] Convert over a couple of utilities --- src/utils/makeDocsURL.js | 4 ---- src/utils/makeDocsURL.ts | 5 +++++ src/utils/makeKebabCase.js | 7 ------- src/utils/makeKebabCase.ts | 8 ++++++++ 4 files changed, 13 insertions(+), 11 deletions(-) delete mode 100644 src/utils/makeDocsURL.js create mode 100644 src/utils/makeDocsURL.ts delete mode 100644 src/utils/makeKebabCase.js create mode 100644 src/utils/makeKebabCase.ts diff --git a/src/utils/makeDocsURL.js b/src/utils/makeDocsURL.js deleted file mode 100644 index 01818817..00000000 --- a/src/utils/makeDocsURL.js +++ /dev/null @@ -1,4 +0,0 @@ -const makeDocsURL = (name) => - `https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility/blob/master/docs/${name}.md`; - -module.exports = makeDocsURL; diff --git a/src/utils/makeDocsURL.ts b/src/utils/makeDocsURL.ts new file mode 100644 index 00000000..3f041d8b --- /dev/null +++ b/src/utils/makeDocsURL.ts @@ -0,0 +1,5 @@ +function makeDocsURL(name: string) { + return `https://github.com/vue-a11y/eslint-plugin-vuejs-accessibility/blob/master/docs/${name}.md`; +} + +export default makeDocsURL; diff --git a/src/utils/makeKebabCase.js b/src/utils/makeKebabCase.js deleted file mode 100644 index 80e43a01..00000000 --- a/src/utils/makeKebabCase.js +++ /dev/null @@ -1,7 +0,0 @@ -const makeKebabCase = (value) => - value - .replace(/_/gu, "-") - .replace(/\B([A-Z])/gu, "-$1") - .toLowerCase(); - -module.exports = makeKebabCase; diff --git a/src/utils/makeKebabCase.ts b/src/utils/makeKebabCase.ts new file mode 100644 index 00000000..d83befee --- /dev/null +++ b/src/utils/makeKebabCase.ts @@ -0,0 +1,8 @@ +function makeKebabCase(value: string) { + return value + .replace(/_/gu, "-") + .replace(/\B([A-Z])/gu, "-$1") + .toLowerCase(); +} + +export default makeKebabCase; From 1fdd211dea669164fc260e0aaa8ef44e694d21e8 Mon Sep 17 00:00:00 2001 From: Kevin Deisz Date: Tue, 1 Jun 2021 10:07:56 -0400 Subject: [PATCH 4/8] Convert to TypeScript --- package.json | 6 +- src/{index.js => index.ts} | 2 +- ...emoji.test.js => accessible-emoji.test.ts} | 4 +- .../{alt-text.test.js => alt-text.test.ts} | 4 +- ...ent.test.js => anchor-has-content.test.ts} | 4 +- ...{aria-props.test.js => aria-props.test.ts} | 4 +- .../{aria-role.test.js => aria-role.test.ts} | 4 +- ...t.js => aria-unsupported-elements.test.ts} | 4 +- ...s => click-events-have-key-events.test.ts} | 4 +- ...test.js => form-control-has-label.test.ts} | 4 +- ...nt.test.js => heading-has-content.test.ts} | 4 +- ...title.test.js => iframe-has-title.test.ts} | 4 +- ....js => interactive-supports-focus.test.ts} | 4 +- ...-has-for.test.js => label-has-for.test.ts} | 4 +- src/rules/__tests__/makeRuleTester.js | 39 ---- src/rules/__tests__/makeRuleTester.ts | 46 ++++ ...tion.test.js => media-has-caption.test.ts} | 4 +- ...s => mouse-events-have-key-events.test.ts} | 4 +- ...cess-key.test.js => no-access-key.test.ts} | 4 +- ...autofocus.test.js => no-autofocus.test.ts} | 4 +- ...est.js => no-distracting-elements.test.ts} | 4 +- ...o-onchange.test.js => no-onchange.test.ts} | 4 +- ...les.test.js => no-redundant-roles.test.ts} | 4 +- ...s => role-has-required-aria-props.test.ts} | 4 +- ...e.test.js => tabindex-no-positive.test.ts} | 4 +- ...ccessible-emoji.js => accessible-emoji.ts} | 19 +- src/rules/{alt-text.js => alt-text.ts} | 35 +-- ...r-has-content.js => anchor-has-content.ts} | 12 +- src/rules/{aria-props.js => aria-props.ts} | 20 +- src/rules/{aria-role.js => aria-role.ts} | 26 ++- ...ements.js => aria-unsupported-elements.ts} | 16 +- ...nts.js => click-events-have-key-events.ts} | 38 +-- ...has-label.js => form-control-has-label.ts} | 22 +- ...-has-content.js => heading-has-content.ts} | 12 +- ...frame-has-title.js => iframe-has-title.ts} | 20 +- ...focus.js => interactive-supports-focus.ts} | 56 +++-- .../{label-has-for.js => label-has-for.ts} | 43 ++-- ...ia-has-caption.js => media-has-caption.ts} | 20 +- ...nts.js => mouse-events-have-key-events.ts} | 14 +- .../{no-access-key.js => no-access-key.ts} | 12 +- .../{no-autofocus.js => no-autofocus.ts} | 14 +- ...elements.js => no-distracting-elements.ts} | 12 +- src/rules/{no-onchange.js => no-onchange.ts} | 12 +- ...dundant-roles.js => no-redundant-roles.ts} | 25 +- ...ops.js => role-has-required-aria-props.ts} | 24 +- ...no-positive.js => tabindex-no-positive.ts} | 12 +- src/utils.js | 22 -- ...isitor.js => defineTemplateBodyVisitor.ts} | 15 +- src/utils/getAttributeName.js | 10 - src/utils/getAttributeName.ts | 16 ++ src/utils/getAttributeValue.js | 28 --- src/utils/getAttributeValue.ts | 28 +++ src/utils/getElementAttribute.js | 19 -- src/utils/getElementAttribute.ts | 20 ++ src/utils/getElementAttributeValue.js | 9 - src/utils/getElementAttributeValue.ts | 11 + .../{getElementType.js => getElementType.ts} | 12 +- src/utils/getLiteralAttributeValue.js | 25 -- src/utils/getLiteralAttributeValue.ts | 26 +++ ...cessibleChild.js => hasAccessibleChild.ts} | 13 +- src/utils/hasAriaLabel.js | 7 - src/utils/hasAriaLabel.ts | 12 + src/utils/hasContent.js | 31 --- src/utils/hasContent.ts | 38 +++ src/utils/hasOnDirective.js | 16 -- src/utils/hasOnDirective.ts | 21 ++ src/utils/hasOnDirectives.js | 6 - src/utils/hasOnDirectives.ts | 9 + src/utils/isAriaHidden.js | 11 - src/utils/isAriaHidden.ts | 13 ++ src/utils/isAttribute.js | 13 -- src/utils/isAttribute.ts | 15 ++ src/utils/isHiddenFromScreenReader.js | 14 -- src/utils/isHiddenFromScreenReader.ts | 16 ++ ...tiveElement.js => isInteractiveElement.ts} | 13 +- src/utils/isPresentationRole.js | 8 - src/utils/isPresentationRole.ts | 10 + src/utils/matchesElementRole.js | 32 --- src/utils/matchesElementRole.ts | 40 ++++ tsconfig.json | 5 +- yarn.lock | 220 +++++++++++++----- 81 files changed, 857 insertions(+), 588 deletions(-) rename src/{index.js => index.ts} (99%) rename src/rules/__tests__/{accessible-emoji.test.js => accessible-emoji.test.ts} (82%) rename src/rules/__tests__/{alt-text.test.js => alt-text.test.ts} (91%) rename src/rules/__tests__/{anchor-has-content.test.js => anchor-has-content.test.ts} (86%) rename src/rules/__tests__/{aria-props.test.js => aria-props.test.ts} (72%) rename src/rules/__tests__/{aria-role.test.js => aria-role.test.ts} (75%) rename src/rules/__tests__/{aria-unsupported-elements.test.js => aria-unsupported-elements.test.ts} (69%) rename src/rules/__tests__/{click-events-have-key-events.test.js => click-events-have-key-events.test.ts} (93%) rename src/rules/__tests__/{form-control-has-label.test.js => form-control-has-label.test.ts} (84%) rename src/rules/__tests__/{heading-has-content.test.js => heading-has-content.test.ts} (85%) rename src/rules/__tests__/{iframe-has-title.test.js => iframe-has-title.test.ts} (66%) rename src/rules/__tests__/{interactive-supports-focus.test.js => interactive-supports-focus.test.ts} (97%) rename src/rules/__tests__/{label-has-for.test.js => label-has-for.test.ts} (92%) delete mode 100644 src/rules/__tests__/makeRuleTester.js create mode 100644 src/rules/__tests__/makeRuleTester.ts rename src/rules/__tests__/{media-has-caption.test.js => media-has-caption.test.ts} (96%) rename src/rules/__tests__/{mouse-events-have-key-events.test.js => mouse-events-have-key-events.test.ts} (85%) rename src/rules/__tests__/{no-access-key.test.js => no-access-key.test.ts} (61%) rename src/rules/__tests__/{no-autofocus.test.js => no-autofocus.test.ts} (75%) rename src/rules/__tests__/{no-distracting-elements.test.js => no-distracting-elements.test.ts} (82%) rename src/rules/__tests__/{no-onchange.test.js => no-onchange.test.ts} (65%) rename src/rules/__tests__/{no-redundant-roles.test.js => no-redundant-roles.test.ts} (84%) rename src/rules/__tests__/{role-has-required-aria-props.test.js => role-has-required-aria-props.test.ts} (87%) rename src/rules/__tests__/{tabindex-no-positive.test.js => tabindex-no-positive.test.ts} (75%) rename src/rules/{accessible-emoji.js => accessible-emoji.ts} (69%) rename src/rules/{alt-text.js => alt-text.ts} (74%) rename src/rules/{anchor-has-content.js => anchor-has-content.ts} (86%) rename src/rules/{aria-props.js => aria-props.ts} (61%) rename src/rules/{aria-role.js => aria-role.ts} (69%) rename src/rules/{aria-unsupported-elements.js => aria-unsupported-elements.ts} (67%) rename src/rules/{click-events-have-key-events.js => click-events-have-key-events.ts} (57%) rename src/rules/{form-control-has-label.js => form-control-has-label.ts} (69%) rename src/rules/{heading-has-content.js => heading-has-content.ts} (86%) rename src/rules/{iframe-has-title.js => iframe-has-title.ts} (56%) rename src/rules/{interactive-supports-focus.js => interactive-supports-focus.ts} (65%) rename src/rules/{label-has-for.js => label-has-for.ts} (78%) rename src/rules/{media-has-caption.js => media-has-caption.ts} (81%) rename src/rules/{mouse-events-have-key-events.js => mouse-events-have-key-events.ts} (76%) rename src/rules/{no-access-key.js => no-access-key.ts} (74%) rename src/rules/{no-autofocus.js => no-autofocus.ts} (79%) rename src/rules/{no-distracting-elements.js => no-distracting-elements.ts} (80%) rename src/rules/{no-onchange.js => no-onchange.ts} (77%) rename src/rules/{no-redundant-roles.js => no-redundant-roles.ts} (74%) rename src/rules/{role-has-required-aria-props.js => role-has-required-aria-props.ts} (71%) rename src/rules/{tabindex-no-positive.js => tabindex-no-positive.ts} (71%) delete mode 100644 src/utils.js rename src/utils/{defineTemplateBodyVisitor.js => defineTemplateBodyVisitor.ts} (50%) delete mode 100644 src/utils/getAttributeName.js create mode 100644 src/utils/getAttributeName.ts delete mode 100644 src/utils/getAttributeValue.js create mode 100644 src/utils/getAttributeValue.ts delete mode 100644 src/utils/getElementAttribute.js create mode 100644 src/utils/getElementAttribute.ts delete mode 100644 src/utils/getElementAttributeValue.js create mode 100644 src/utils/getElementAttributeValue.ts rename src/utils/{getElementType.js => getElementType.ts} (57%) delete mode 100644 src/utils/getLiteralAttributeValue.js create mode 100644 src/utils/getLiteralAttributeValue.ts rename src/utils/{hasAccessibleChild.js => hasAccessibleChild.ts} (66%) delete mode 100644 src/utils/hasAriaLabel.js create mode 100644 src/utils/hasAriaLabel.ts delete mode 100644 src/utils/hasContent.js create mode 100644 src/utils/hasContent.ts delete mode 100644 src/utils/hasOnDirective.js create mode 100644 src/utils/hasOnDirective.ts delete mode 100644 src/utils/hasOnDirectives.js create mode 100644 src/utils/hasOnDirectives.ts delete mode 100644 src/utils/isAriaHidden.js create mode 100644 src/utils/isAriaHidden.ts delete mode 100644 src/utils/isAttribute.js create mode 100644 src/utils/isAttribute.ts delete mode 100644 src/utils/isHiddenFromScreenReader.js create mode 100644 src/utils/isHiddenFromScreenReader.ts rename src/utils/{isInteractiveElement.js => isInteractiveElement.ts} (75%) delete mode 100644 src/utils/isPresentationRole.js create mode 100644 src/utils/isPresentationRole.ts delete mode 100644 src/utils/matchesElementRole.js create mode 100644 src/utils/matchesElementRole.ts diff --git a/package.json b/package.json index 2a725ad9..72ba6a26 100644 --- a/package.json +++ b/package.json @@ -31,14 +31,17 @@ "vue-eslint-parser": "^7.0.0" }, "devDependencies": { + "@types/aria-query": "^4.2.1", "@types/eslint-scope": "^3.7.0", "@types/eslint-visitor-keys": "^1.0.0", + "@types/jest": "^26.0.23", "eslint": "^7.3.1", "eslint-plugin-eslint-plugin": "^3.0.0", "husky": "^6.0.0", "jest": "^27.0.1", "prettier": "^2.1.1", "pretty-quick": "^3.0.0", + "ts-jest": "^27.0.1", "typescript": "^4.2.4" }, "eslintConfig": { @@ -64,10 +67,11 @@ } }, "jest": { + "preset": "ts-jest", "setupFilesAfterEnv": [ "./jest.setup.js" ], - "testRegex": ".test.js$" + "testRegex": ".test.ts$" }, "prettier": { "trailingComma": "none" diff --git a/src/index.js b/src/index.ts similarity index 99% rename from src/index.js rename to src/index.ts index 61db9215..ee7939b1 100644 --- a/src/index.js +++ b/src/index.ts @@ -1,4 +1,4 @@ -module.exports = { +export default { rules: { "accessible-emoji": require("./rules/accessible-emoji"), "alt-text": require("./rules/alt-text"), diff --git a/src/rules/__tests__/accessible-emoji.test.js b/src/rules/__tests__/accessible-emoji.test.ts similarity index 82% rename from src/rules/__tests__/accessible-emoji.test.js rename to src/rules/__tests__/accessible-emoji.test.ts index 09f1755d..c1ba9589 100644 --- a/src/rules/__tests__/accessible-emoji.test.js +++ b/src/rules/__tests__/accessible-emoji.test.ts @@ -1,5 +1,5 @@ -const rule = require("../accessible-emoji"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../accessible-emoji"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("accessible-emoji", rule, { valid: [ diff --git a/src/rules/__tests__/alt-text.test.js b/src/rules/__tests__/alt-text.test.ts similarity index 91% rename from src/rules/__tests__/alt-text.test.js rename to src/rules/__tests__/alt-text.test.ts index c84fcb77..ba8b3674 100644 --- a/src/rules/__tests__/alt-text.test.js +++ b/src/rules/__tests__/alt-text.test.ts @@ -1,5 +1,5 @@ -const rule = require("../alt-text"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../alt-text"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("alt-text", rule, { valid: [ diff --git a/src/rules/__tests__/anchor-has-content.test.js b/src/rules/__tests__/anchor-has-content.test.ts similarity index 86% rename from src/rules/__tests__/anchor-has-content.test.js rename to src/rules/__tests__/anchor-has-content.test.ts index 180a0cb5..8a30897f 100644 --- a/src/rules/__tests__/anchor-has-content.test.js +++ b/src/rules/__tests__/anchor-has-content.test.ts @@ -1,5 +1,5 @@ -const rule = require("../anchor-has-content"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../anchor-has-content"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("anchor-has-content", rule, { valid: [ diff --git a/src/rules/__tests__/aria-props.test.js b/src/rules/__tests__/aria-props.test.ts similarity index 72% rename from src/rules/__tests__/aria-props.test.js rename to src/rules/__tests__/aria-props.test.ts index fd6bfb1d..07190679 100644 --- a/src/rules/__tests__/aria-props.test.js +++ b/src/rules/__tests__/aria-props.test.ts @@ -1,5 +1,5 @@ -const rule = require("../aria-props"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../aria-props"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("aria-props", rule, { valid: [""], diff --git a/src/rules/__tests__/aria-role.test.js b/src/rules/__tests__/aria-role.test.ts similarity index 75% rename from src/rules/__tests__/aria-role.test.js rename to src/rules/__tests__/aria-role.test.ts index 8ae7b5e3..41a4f660 100644 --- a/src/rules/__tests__/aria-role.test.js +++ b/src/rules/__tests__/aria-role.test.ts @@ -1,5 +1,5 @@ -const rule = require("../aria-role"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../aria-role"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("aria-role", rule, { valid: [ diff --git a/src/rules/__tests__/aria-unsupported-elements.test.js b/src/rules/__tests__/aria-unsupported-elements.test.ts similarity index 69% rename from src/rules/__tests__/aria-unsupported-elements.test.js rename to src/rules/__tests__/aria-unsupported-elements.test.ts index 97564619..831bdd83 100644 --- a/src/rules/__tests__/aria-unsupported-elements.test.js +++ b/src/rules/__tests__/aria-unsupported-elements.test.ts @@ -1,5 +1,5 @@ -const rule = require("../aria-unsupported-elements"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../aria-unsupported-elements"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("aria-unsupported-elements", rule, { valid: [""], diff --git a/src/rules/__tests__/click-events-have-key-events.test.js b/src/rules/__tests__/click-events-have-key-events.test.ts similarity index 93% rename from src/rules/__tests__/click-events-have-key-events.test.js rename to src/rules/__tests__/click-events-have-key-events.test.ts index 6b0c2095..a279194c 100644 --- a/src/rules/__tests__/click-events-have-key-events.test.js +++ b/src/rules/__tests__/click-events-have-key-events.test.ts @@ -1,5 +1,5 @@ -const rule = require("../click-events-have-key-events"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../click-events-have-key-events"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("click-events-have-key-events", rule, { valid: [ diff --git a/src/rules/__tests__/form-control-has-label.test.js b/src/rules/__tests__/form-control-has-label.test.ts similarity index 84% rename from src/rules/__tests__/form-control-has-label.test.js rename to src/rules/__tests__/form-control-has-label.test.ts index 3209b368..25c1d0f9 100644 --- a/src/rules/__tests__/form-control-has-label.test.js +++ b/src/rules/__tests__/form-control-has-label.test.ts @@ -1,5 +1,5 @@ -const rule = require("../form-control-has-label"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../form-control-has-label"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("form-control-has-label", rule, { valid: [ diff --git a/src/rules/__tests__/heading-has-content.test.js b/src/rules/__tests__/heading-has-content.test.ts similarity index 85% rename from src/rules/__tests__/heading-has-content.test.js rename to src/rules/__tests__/heading-has-content.test.ts index 4ef23f32..313ce841 100644 --- a/src/rules/__tests__/heading-has-content.test.js +++ b/src/rules/__tests__/heading-has-content.test.ts @@ -1,5 +1,5 @@ -const rule = require("../heading-has-content"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../heading-has-content"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("heading-has-content", rule, { valid: [ diff --git a/src/rules/__tests__/iframe-has-title.test.js b/src/rules/__tests__/iframe-has-title.test.ts similarity index 66% rename from src/rules/__tests__/iframe-has-title.test.js rename to src/rules/__tests__/iframe-has-title.test.ts index 9c9a3052..09efa768 100644 --- a/src/rules/__tests__/iframe-has-title.test.js +++ b/src/rules/__tests__/iframe-has-title.test.ts @@ -1,5 +1,5 @@ -const rule = require("../iframe-has-title"); -const makeRuleTester = require("./makeRuleTester"); +import rule from "../iframe-has-title"; +import makeRuleTester from "./makeRuleTester"; makeRuleTester("iframe-has-title", rule, { valid: ["