Upgrade to ESLint 9
This commit is contained in:
@ -1,10 +0,0 @@
|
||||
diff --git a/tsconfig.json b/tsconfig.json
|
||||
index 39c6900..6fd8822 100644
|
||||
--- a/tsconfig.json
|
||||
+++ b/tsconfig.json
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
- "extends": "@1stg/tsconfig/node16",
|
||||
"compilerOptions": {
|
||||
"module": "Node16",
|
||||
"outDir": "./lib",
|
@ -1,5 +1,5 @@
|
||||
diff --git a/src/index.js b/src/index.js
|
||||
index 2fa185f..29d65d0 100644
|
||||
index 2fa185f..3cf8018 100644
|
||||
--- a/src/index.js
|
||||
+++ b/src/index.js
|
||||
@@ -1,48 +1,90 @@
|
||||
@ -135,7 +135,13 @@ index 2fa185f..29d65d0 100644
|
||||
};
|
||||
|
||||
const recommendedRules = {
|
||||
@@ -299,10 +341,10 @@ const jsxA11y = {
|
||||
@@ -294,15 +336,15 @@ const jsxA11y = {
|
||||
* Given a ruleset and optionally a flat config name, generate a config.
|
||||
* @param {object} rules - ruleset for this config
|
||||
* @param {string} flatConfigName - name for the config if flat
|
||||
- * @returns Config for this set of rules.
|
||||
+ * @returns {import('eslint').Linter.Config} Config for this set of rules.
|
||||
*/
|
||||
const createConfig = (rules, flatConfigName) => ({
|
||||
...(flatConfigName
|
||||
? {
|
||||
@ -150,6 +156,55 @@ index 2fa185f..29d65d0 100644
|
||||
: { ...legacyConfigBase, plugins: ['jsx-a11y'] }),
|
||||
rules: { ...rules },
|
||||
});
|
||||
@@ -317,4 +359,4 @@ const flatConfigs = {
|
||||
strict: createConfig(strictRules, 'strict'),
|
||||
};
|
||||
|
||||
-module.exports = { ...jsxA11y, configs, flatConfigs };
|
||||
+export default { ...jsxA11y, configs, flatConfigs };
|
||||
diff --git a/src/rules/autocomplete-valid.js b/src/rules/autocomplete-valid.js
|
||||
index df7b6b8..c4d0da1 100644
|
||||
--- a/src/rules/autocomplete-valid.js
|
||||
+++ b/src/rules/autocomplete-valid.js
|
||||
@@ -6,7 +6,7 @@
|
||||
// ----------------------------------------------------------------------------
|
||||
// Rule Definition
|
||||
// ----------------------------------------------------------------------------
|
||||
-import { runVirtualRule } from 'axe-core';
|
||||
+import axe from 'axe-core';
|
||||
import { getLiteralPropValue, getProp } from 'jsx-ast-utils';
|
||||
import { generateObjSchema, arraySchema } from '../util/schemas';
|
||||
import getElementType from '../util/getElementType';
|
||||
@@ -24,23 +24,25 @@ export default {
|
||||
schema: [schema],
|
||||
},
|
||||
|
||||
- create: (context) => {
|
||||
+ create: context => {
|
||||
const elementType = getElementType(context);
|
||||
return {
|
||||
- JSXOpeningElement: (node) => {
|
||||
+ JSXOpeningElement: node => {
|
||||
const options = context.options[0] || {};
|
||||
const { inputComponents = [] } = options;
|
||||
const inputTypes = ['input'].concat(inputComponents);
|
||||
|
||||
const elType = elementType(node);
|
||||
- const autocomplete = getLiteralPropValue(getProp(node.attributes, 'autocomplete'));
|
||||
+ const autocomplete = getLiteralPropValue(
|
||||
+ getProp(node.attributes, 'autocomplete'),
|
||||
+ );
|
||||
|
||||
if (typeof autocomplete !== 'string' || !inputTypes.includes(elType)) {
|
||||
return;
|
||||
}
|
||||
|
||||
const type = getLiteralPropValue(getProp(node.attributes, 'type'));
|
||||
- const { violations } = runVirtualRule('autocomplete-valid', {
|
||||
+ const { violations } = axe.runVirtualRule('autocomplete-valid', {
|
||||
nodeName: 'input',
|
||||
attributes: {
|
||||
autocomplete,
|
||||
diff --git a/src/util/mayContainChildComponent.js b/src/util/mayContainChildComponent.js
|
||||
index 43a03ef..5e1035e 100644
|
||||
--- a/src/util/mayContainChildComponent.js
|
||||
@ -163,3 +218,16 @@ index 43a03ef..5e1035e 100644
|
||||
|
||||
export default function mayContainChildComponent(
|
||||
root: Node,
|
||||
diff --git a/src/util/mayHaveAccessibleLabel.js b/src/util/mayHaveAccessibleLabel.js
|
||||
index 186ef5e..3dd7d4d 100644
|
||||
--- a/src/util/mayHaveAccessibleLabel.js
|
||||
+++ b/src/util/mayHaveAccessibleLabel.js
|
||||
@@ -11,7 +11,7 @@
|
||||
import includes from 'array-includes';
|
||||
import { getPropValue, propName, elementType as rawElementType } from 'jsx-ast-utils';
|
||||
import type { JSXOpeningElement, Node } from 'ast-types-flow';
|
||||
-import minimatch from 'minimatch';
|
||||
+import { minimatch } from 'minimatch';
|
||||
|
||||
function tryTrim(value: any) {
|
||||
return typeof value === 'string' ? value.trim() : value;
|
||||
|
Reference in New Issue
Block a user