@storm-software/eslint 0.124.0 → 0.124.2
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/{chunk-K6KBWFPU.js → chunk-J2PN7K74.js} +1 -1
- package/dist/{chunk-W6QEP5VE.js → chunk-LFZMLUCG.js} +3 -3
- package/dist/preset.d.ts +1 -1
- package/dist/preset.js +222 -11
- package/dist/{types-CHy285SF.d.ts → types-Cnmfgj1g.d.ts} +414 -1
- package/dist/utils/banner-plugin.js +2 -2
- package/dist/utils/combine.d.ts +1 -1
- package/dist/utils/get-file-banner.js +1 -1
- package/package.json +1 -1
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
// src/utils/get-file-banner.ts
|
|
9
9
|
var getFileBanner = /* @__PURE__ */ __name((name = "") => {
|
|
10
10
|
if (!name) {
|
|
11
|
-
name = process.env.
|
|
11
|
+
name = process.env.STORM_NAME || "";
|
|
12
12
|
}
|
|
13
13
|
let padding = " ";
|
|
14
14
|
for (let i = 0; i < name.length + 2 && padding.length > 4; i++) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
getFileBanner
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-J2PN7K74.js";
|
|
4
4
|
import {
|
|
5
5
|
GLOB_SRC
|
|
6
6
|
} from "./chunk-X3L37QNE.js";
|
|
@@ -45,9 +45,9 @@ __name(getLeadingComments, "getLeadingComments");
|
|
|
45
45
|
function genCommentBody(commentType, textArray, eol, numNewlines) {
|
|
46
46
|
const eols = eol.repeat(numNewlines);
|
|
47
47
|
if (commentType === "block") {
|
|
48
|
-
return "/*" + textArray.join(eol) + "*/" + eols;
|
|
48
|
+
return "/* " + textArray.join(eol) + " */" + eols;
|
|
49
49
|
} else {
|
|
50
|
-
return "//" + textArray.join(eol + "//") + eols;
|
|
50
|
+
return "// " + textArray.join(eol + " //") + eols;
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
__name(genCommentBody, "genCommentBody");
|
package/dist/preset.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Linter } from 'eslint';
|
|
2
2
|
import { FlatConfigComposer } from 'eslint-flat-config-utils';
|
|
3
|
-
import { O as OptionsConfig, R as RuleOptions, T as TypedFlatConfigItem, A as Awaitable, C as ConfigNames } from './types-
|
|
3
|
+
import { O as OptionsConfig, R as RuleOptions, T as TypedFlatConfigItem, A as Awaitable, C as ConfigNames } from './types-Cnmfgj1g.js';
|
|
4
4
|
import '@nx/eslint-plugin/src/utils/runtime-lint-utils';
|
|
5
5
|
import '@stylistic/eslint-plugin';
|
|
6
6
|
import '@typescript-eslint/parser';
|
package/dist/preset.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
banner_plugin_default
|
|
3
|
-
} from "./chunk-
|
|
4
|
-
import "./chunk-
|
|
3
|
+
} from "./chunk-LFZMLUCG.js";
|
|
4
|
+
import "./chunk-J2PN7K74.js";
|
|
5
5
|
import {
|
|
6
6
|
GLOB_ASTRO,
|
|
7
7
|
GLOB_ASTRO_TS,
|
|
@@ -190,7 +190,16 @@ async function stylistic(options = {}) {
|
|
|
190
190
|
},
|
|
191
191
|
rules: {
|
|
192
192
|
...config.rules,
|
|
193
|
-
"lines-around-comment": "off",
|
|
193
|
+
"style/lines-around-comment": "off",
|
|
194
|
+
// "style/padding-line-between-statements": [
|
|
195
|
+
// "error",
|
|
196
|
+
// { blankLine: "always", prev: ["const", "let", "var"], next: "*" },
|
|
197
|
+
// {
|
|
198
|
+
// blankLine: "any",
|
|
199
|
+
// prev: ["const", "let", "var"],
|
|
200
|
+
// next: ["const", "let", "var"]
|
|
201
|
+
// }
|
|
202
|
+
// ],
|
|
194
203
|
...overrides
|
|
195
204
|
}
|
|
196
205
|
}
|
|
@@ -474,7 +483,7 @@ var compat = new FlatCompat({
|
|
|
474
483
|
baseDirectory: import.meta.dirname
|
|
475
484
|
});
|
|
476
485
|
async function graphql(options = {}) {
|
|
477
|
-
const { relay = true, operations = true, schema = true } = options;
|
|
486
|
+
const { relay = true, operations = true, schema = true, overrides = {} } = options;
|
|
478
487
|
await ensurePackages([
|
|
479
488
|
"@graphql-eslint/eslint-plugin",
|
|
480
489
|
"eslint-plugin-relay"
|
|
@@ -664,7 +673,8 @@ async function graphql(options = {}) {
|
|
|
664
673
|
"@graphql-eslint/value-literals-of-correct-type": "error",
|
|
665
674
|
"@graphql-eslint/variables-are-input-types": "error",
|
|
666
675
|
"@graphql-eslint/variables-in-allowed-position": "error"
|
|
667
|
-
} : {}
|
|
676
|
+
} : {},
|
|
677
|
+
...overrides
|
|
668
678
|
}
|
|
669
679
|
},
|
|
670
680
|
...relay ? compat.config({
|
|
@@ -735,7 +745,7 @@ async function imports(options = {}) {
|
|
|
735
745
|
"error",
|
|
736
746
|
"prefer-top-level"
|
|
737
747
|
],
|
|
738
|
-
"import/first": "
|
|
748
|
+
"import/first": "off",
|
|
739
749
|
"import/no-duplicates": "error",
|
|
740
750
|
"import/no-mutable-exports": "error",
|
|
741
751
|
"import/no-named-default": "error",
|
|
@@ -2062,8 +2072,15 @@ __name(jsonc, "jsonc");
|
|
|
2062
2072
|
|
|
2063
2073
|
// src/configs/jsx.ts
|
|
2064
2074
|
async function jsx() {
|
|
2075
|
+
await ensurePackages([
|
|
2076
|
+
"eslint-plugin-jsx-a11y"
|
|
2077
|
+
]);
|
|
2078
|
+
const [pluginJsxA11y] = await Promise.all([
|
|
2079
|
+
interopDefault(import("eslint-plugin-jsx-a11y"))
|
|
2080
|
+
]);
|
|
2065
2081
|
return [
|
|
2066
2082
|
{
|
|
2083
|
+
name: "storm/jsx/setup",
|
|
2067
2084
|
files: [
|
|
2068
2085
|
GLOB_JSX,
|
|
2069
2086
|
GLOB_TSX
|
|
@@ -2075,7 +2092,200 @@ async function jsx() {
|
|
|
2075
2092
|
}
|
|
2076
2093
|
}
|
|
2077
2094
|
},
|
|
2078
|
-
|
|
2095
|
+
plugins: {
|
|
2096
|
+
"jsx-a11y": pluginJsxA11y
|
|
2097
|
+
}
|
|
2098
|
+
},
|
|
2099
|
+
{
|
|
2100
|
+
name: "storm/jsx/rules",
|
|
2101
|
+
rules: {
|
|
2102
|
+
"jsx-a11y/alt-text": "error",
|
|
2103
|
+
"jsx-a11y/anchor-ambiguous-text": "off",
|
|
2104
|
+
"jsx-a11y/anchor-has-content": "error",
|
|
2105
|
+
"jsx-a11y/anchor-is-valid": "error",
|
|
2106
|
+
"jsx-a11y/aria-activedescendant-has-tabindex": "error",
|
|
2107
|
+
"jsx-a11y/aria-props": "error",
|
|
2108
|
+
"jsx-a11y/aria-proptypes": "error",
|
|
2109
|
+
"jsx-a11y/aria-role": "error",
|
|
2110
|
+
"jsx-a11y/aria-unsupported-elements": "error",
|
|
2111
|
+
"jsx-a11y/autocomplete-valid": "error",
|
|
2112
|
+
"jsx-a11y/click-events-have-key-events": "error",
|
|
2113
|
+
"jsx-a11y/control-has-associated-label": [
|
|
2114
|
+
"off",
|
|
2115
|
+
{
|
|
2116
|
+
ignoreElements: [
|
|
2117
|
+
"audio",
|
|
2118
|
+
"canvas",
|
|
2119
|
+
"embed",
|
|
2120
|
+
"input",
|
|
2121
|
+
"textarea",
|
|
2122
|
+
"tr",
|
|
2123
|
+
"video"
|
|
2124
|
+
],
|
|
2125
|
+
ignoreRoles: [
|
|
2126
|
+
"grid",
|
|
2127
|
+
"listbox",
|
|
2128
|
+
"menu",
|
|
2129
|
+
"menubar",
|
|
2130
|
+
"radiogroup",
|
|
2131
|
+
"row",
|
|
2132
|
+
"tablist",
|
|
2133
|
+
"toolbar",
|
|
2134
|
+
"tree",
|
|
2135
|
+
"treegrid"
|
|
2136
|
+
],
|
|
2137
|
+
includeRoles: [
|
|
2138
|
+
"alert",
|
|
2139
|
+
"dialog"
|
|
2140
|
+
]
|
|
2141
|
+
}
|
|
2142
|
+
],
|
|
2143
|
+
"jsx-a11y/heading-has-content": "error",
|
|
2144
|
+
"jsx-a11y/html-has-lang": "error",
|
|
2145
|
+
"jsx-a11y/iframe-has-title": "error",
|
|
2146
|
+
"jsx-a11y/img-redundant-alt": "error",
|
|
2147
|
+
"jsx-a11y/interactive-supports-focus": [
|
|
2148
|
+
"error",
|
|
2149
|
+
{
|
|
2150
|
+
tabbable: [
|
|
2151
|
+
"button",
|
|
2152
|
+
"checkbox",
|
|
2153
|
+
"link",
|
|
2154
|
+
"searchbox",
|
|
2155
|
+
"spinbutton",
|
|
2156
|
+
"switch",
|
|
2157
|
+
"textbox"
|
|
2158
|
+
]
|
|
2159
|
+
}
|
|
2160
|
+
],
|
|
2161
|
+
"jsx-a11y/label-has-associated-control": "error",
|
|
2162
|
+
"jsx-a11y/label-has-for": "off",
|
|
2163
|
+
"jsx-a11y/media-has-caption": "error",
|
|
2164
|
+
"jsx-a11y/mouse-events-have-key-events": "error",
|
|
2165
|
+
"jsx-a11y/no-access-key": "error",
|
|
2166
|
+
"jsx-a11y/no-autofocus": "error",
|
|
2167
|
+
"jsx-a11y/no-distracting-elements": "error",
|
|
2168
|
+
"jsx-a11y/no-interactive-element-to-noninteractive-role": [
|
|
2169
|
+
"error",
|
|
2170
|
+
{
|
|
2171
|
+
tr: [
|
|
2172
|
+
"none",
|
|
2173
|
+
"presentation"
|
|
2174
|
+
],
|
|
2175
|
+
canvas: [
|
|
2176
|
+
"img"
|
|
2177
|
+
]
|
|
2178
|
+
}
|
|
2179
|
+
],
|
|
2180
|
+
"jsx-a11y/no-noninteractive-element-interactions": [
|
|
2181
|
+
"error",
|
|
2182
|
+
{
|
|
2183
|
+
handlers: [
|
|
2184
|
+
"onClick",
|
|
2185
|
+
"onError",
|
|
2186
|
+
"onLoad",
|
|
2187
|
+
"onMouseDown",
|
|
2188
|
+
"onMouseUp",
|
|
2189
|
+
"onKeyPress",
|
|
2190
|
+
"onKeyDown",
|
|
2191
|
+
"onKeyUp"
|
|
2192
|
+
],
|
|
2193
|
+
alert: [
|
|
2194
|
+
"onKeyUp",
|
|
2195
|
+
"onKeyDown",
|
|
2196
|
+
"onKeyPress"
|
|
2197
|
+
],
|
|
2198
|
+
body: [
|
|
2199
|
+
"onError",
|
|
2200
|
+
"onLoad"
|
|
2201
|
+
],
|
|
2202
|
+
dialog: [
|
|
2203
|
+
"onKeyUp",
|
|
2204
|
+
"onKeyDown",
|
|
2205
|
+
"onKeyPress"
|
|
2206
|
+
],
|
|
2207
|
+
iframe: [
|
|
2208
|
+
"onError",
|
|
2209
|
+
"onLoad"
|
|
2210
|
+
],
|
|
2211
|
+
img: [
|
|
2212
|
+
"onError",
|
|
2213
|
+
"onLoad"
|
|
2214
|
+
]
|
|
2215
|
+
}
|
|
2216
|
+
],
|
|
2217
|
+
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
|
|
2218
|
+
"error",
|
|
2219
|
+
{
|
|
2220
|
+
ul: [
|
|
2221
|
+
"listbox",
|
|
2222
|
+
"menu",
|
|
2223
|
+
"menubar",
|
|
2224
|
+
"radiogroup",
|
|
2225
|
+
"tablist",
|
|
2226
|
+
"tree",
|
|
2227
|
+
"treegrid"
|
|
2228
|
+
],
|
|
2229
|
+
ol: [
|
|
2230
|
+
"listbox",
|
|
2231
|
+
"menu",
|
|
2232
|
+
"menubar",
|
|
2233
|
+
"radiogroup",
|
|
2234
|
+
"tablist",
|
|
2235
|
+
"tree",
|
|
2236
|
+
"treegrid"
|
|
2237
|
+
],
|
|
2238
|
+
li: [
|
|
2239
|
+
"menuitem",
|
|
2240
|
+
"menuitemradio",
|
|
2241
|
+
"menuitemcheckbox",
|
|
2242
|
+
"option",
|
|
2243
|
+
"row",
|
|
2244
|
+
"tab",
|
|
2245
|
+
"treeitem"
|
|
2246
|
+
],
|
|
2247
|
+
table: [
|
|
2248
|
+
"grid"
|
|
2249
|
+
],
|
|
2250
|
+
td: [
|
|
2251
|
+
"gridcell"
|
|
2252
|
+
],
|
|
2253
|
+
fieldset: [
|
|
2254
|
+
"radiogroup",
|
|
2255
|
+
"presentation"
|
|
2256
|
+
]
|
|
2257
|
+
}
|
|
2258
|
+
],
|
|
2259
|
+
"jsx-a11y/no-noninteractive-tabindex": [
|
|
2260
|
+
"error",
|
|
2261
|
+
{
|
|
2262
|
+
tags: [],
|
|
2263
|
+
roles: [
|
|
2264
|
+
"tabpanel"
|
|
2265
|
+
],
|
|
2266
|
+
allowExpressionValues: true
|
|
2267
|
+
}
|
|
2268
|
+
],
|
|
2269
|
+
"jsx-a11y/no-redundant-roles": "error",
|
|
2270
|
+
"jsx-a11y/no-static-element-interactions": [
|
|
2271
|
+
"error",
|
|
2272
|
+
{
|
|
2273
|
+
allowExpressionValues: true,
|
|
2274
|
+
handlers: [
|
|
2275
|
+
"onClick",
|
|
2276
|
+
"onMouseDown",
|
|
2277
|
+
"onMouseUp",
|
|
2278
|
+
"onKeyPress",
|
|
2279
|
+
"onKeyDown",
|
|
2280
|
+
"onKeyUp"
|
|
2281
|
+
]
|
|
2282
|
+
}
|
|
2283
|
+
],
|
|
2284
|
+
"jsx-a11y/role-has-required-aria-props": "error",
|
|
2285
|
+
"jsx-a11y/role-supports-aria-props": "error",
|
|
2286
|
+
"jsx-a11y/scope": "error",
|
|
2287
|
+
"jsx-a11y/tabindex-no-positive": "error"
|
|
2288
|
+
}
|
|
2079
2289
|
}
|
|
2080
2290
|
];
|
|
2081
2291
|
}
|
|
@@ -2105,7 +2315,7 @@ async function markdown(options = {}) {
|
|
|
2105
2315
|
// but not the markdown file itself. We use `eslint-merge-processors` to
|
|
2106
2316
|
// add a pass-through processor for the markdown file itself.
|
|
2107
2317
|
processor: mergeProcessors([
|
|
2108
|
-
markdown1.processors
|
|
2318
|
+
markdown1.processors?.markdown,
|
|
2109
2319
|
processorPassThrough
|
|
2110
2320
|
])
|
|
2111
2321
|
},
|
|
@@ -2174,7 +2384,7 @@ async function next(options = {}) {
|
|
|
2174
2384
|
]);
|
|
2175
2385
|
return [
|
|
2176
2386
|
...compat2.config({
|
|
2177
|
-
name: "storm/next",
|
|
2387
|
+
name: "storm/next/rules",
|
|
2178
2388
|
extends: [
|
|
2179
2389
|
"next"
|
|
2180
2390
|
],
|
|
@@ -3434,7 +3644,7 @@ __name(yaml, "yaml");
|
|
|
3434
3644
|
import cspellConfig from "@cspell/eslint-plugin/recommended";
|
|
3435
3645
|
import { findWorkspaceRoot, joinPaths } from "@storm-software/config-tools";
|
|
3436
3646
|
async function cspell(options = {}) {
|
|
3437
|
-
const { configFile = "./.vscode/cspell.json" } = options;
|
|
3647
|
+
const { configFile = "./.vscode/cspell.json", overrides = {} } = options;
|
|
3438
3648
|
return [
|
|
3439
3649
|
{
|
|
3440
3650
|
name: "storm/cspell/rules",
|
|
@@ -3447,7 +3657,8 @@ async function cspell(options = {}) {
|
|
|
3447
3657
|
configFile: joinPaths(findWorkspaceRoot(), configFile),
|
|
3448
3658
|
autoFix: true
|
|
3449
3659
|
}
|
|
3450
|
-
]
|
|
3660
|
+
],
|
|
3661
|
+
...overrides
|
|
3451
3662
|
}
|
|
3452
3663
|
}
|
|
3453
3664
|
];
|
|
@@ -1307,6 +1307,204 @@ interface RuleOptions {
|
|
|
1307
1307
|
* @see https://ota-meshi.github.io/eslint-plugin-jsonc/rules/vue-custom-block/no-parsing-error.html
|
|
1308
1308
|
*/
|
|
1309
1309
|
'jsonc/vue-custom-block/no-parsing-error'?: Linter.RuleEntry<[]>
|
|
1310
|
+
/**
|
|
1311
|
+
* Enforce emojis are wrapped in `<span>` and provide screen reader access.
|
|
1312
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/accessible-emoji.md
|
|
1313
|
+
* @deprecated
|
|
1314
|
+
*/
|
|
1315
|
+
'jsx-a11y/accessible-emoji'?: Linter.RuleEntry<JsxA11YAccessibleEmoji>
|
|
1316
|
+
/**
|
|
1317
|
+
* Enforce all elements that require alternative text have meaningful information to relay back to end user.
|
|
1318
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/alt-text.md
|
|
1319
|
+
*/
|
|
1320
|
+
'jsx-a11y/alt-text'?: Linter.RuleEntry<JsxA11YAltText>
|
|
1321
|
+
/**
|
|
1322
|
+
* Enforce `<a>` text to not exactly match "click here", "here", "link", or "a link".
|
|
1323
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-ambiguous-text.md
|
|
1324
|
+
*/
|
|
1325
|
+
'jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<JsxA11YAnchorAmbiguousText>
|
|
1326
|
+
/**
|
|
1327
|
+
* Enforce all anchors to contain accessible content.
|
|
1328
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-has-content.md
|
|
1329
|
+
*/
|
|
1330
|
+
'jsx-a11y/anchor-has-content'?: Linter.RuleEntry<JsxA11YAnchorHasContent>
|
|
1331
|
+
/**
|
|
1332
|
+
* Enforce all anchors are valid, navigable elements.
|
|
1333
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/anchor-is-valid.md
|
|
1334
|
+
*/
|
|
1335
|
+
'jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<JsxA11YAnchorIsValid>
|
|
1336
|
+
/**
|
|
1337
|
+
* Enforce elements with aria-activedescendant are tabbable.
|
|
1338
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-activedescendant-has-tabindex.md
|
|
1339
|
+
*/
|
|
1340
|
+
'jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<JsxA11YAriaActivedescendantHasTabindex>
|
|
1341
|
+
/**
|
|
1342
|
+
* Enforce all `aria-*` props are valid.
|
|
1343
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-props.md
|
|
1344
|
+
*/
|
|
1345
|
+
'jsx-a11y/aria-props'?: Linter.RuleEntry<JsxA11YAriaProps>
|
|
1346
|
+
/**
|
|
1347
|
+
* Enforce ARIA state and property values are valid.
|
|
1348
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-proptypes.md
|
|
1349
|
+
*/
|
|
1350
|
+
'jsx-a11y/aria-proptypes'?: Linter.RuleEntry<JsxA11YAriaProptypes>
|
|
1351
|
+
/**
|
|
1352
|
+
* Enforce that elements with ARIA roles must use a valid, non-abstract ARIA role.
|
|
1353
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-role.md
|
|
1354
|
+
*/
|
|
1355
|
+
'jsx-a11y/aria-role'?: Linter.RuleEntry<JsxA11YAriaRole>
|
|
1356
|
+
/**
|
|
1357
|
+
* Enforce that elements that do not support ARIA roles, states, and properties do not have those attributes.
|
|
1358
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/aria-unsupported-elements.md
|
|
1359
|
+
*/
|
|
1360
|
+
'jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<JsxA11YAriaUnsupportedElements>
|
|
1361
|
+
/**
|
|
1362
|
+
* Enforce that autocomplete attributes are used correctly.
|
|
1363
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/autocomplete-valid.md
|
|
1364
|
+
*/
|
|
1365
|
+
'jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<JsxA11YAutocompleteValid>
|
|
1366
|
+
/**
|
|
1367
|
+
* Enforce a clickable non-interactive element has at least one keyboard event listener.
|
|
1368
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/click-events-have-key-events.md
|
|
1369
|
+
*/
|
|
1370
|
+
'jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<JsxA11YClickEventsHaveKeyEvents>
|
|
1371
|
+
/**
|
|
1372
|
+
* Enforce that a control (an interactive element) has a text label.
|
|
1373
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label.md
|
|
1374
|
+
*/
|
|
1375
|
+
'jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<JsxA11YControlHasAssociatedLabel>
|
|
1376
|
+
/**
|
|
1377
|
+
* Enforce heading (`h1`, `h2`, etc) elements contain accessible content.
|
|
1378
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/heading-has-content.md
|
|
1379
|
+
*/
|
|
1380
|
+
'jsx-a11y/heading-has-content'?: Linter.RuleEntry<JsxA11YHeadingHasContent>
|
|
1381
|
+
/**
|
|
1382
|
+
* Enforce `<html>` element has `lang` prop.
|
|
1383
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/html-has-lang.md
|
|
1384
|
+
*/
|
|
1385
|
+
'jsx-a11y/html-has-lang'?: Linter.RuleEntry<JsxA11YHtmlHasLang>
|
|
1386
|
+
/**
|
|
1387
|
+
* Enforce iframe elements have a title attribute.
|
|
1388
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/iframe-has-title.md
|
|
1389
|
+
*/
|
|
1390
|
+
'jsx-a11y/iframe-has-title'?: Linter.RuleEntry<JsxA11YIframeHasTitle>
|
|
1391
|
+
/**
|
|
1392
|
+
* Enforce `<img>` alt prop does not contain the word "image", "picture", or "photo".
|
|
1393
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/img-redundant-alt.md
|
|
1394
|
+
*/
|
|
1395
|
+
'jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<JsxA11YImgRedundantAlt>
|
|
1396
|
+
/**
|
|
1397
|
+
* Enforce that elements with interactive handlers like `onClick` must be focusable.
|
|
1398
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/interactive-supports-focus.md
|
|
1399
|
+
*/
|
|
1400
|
+
'jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<JsxA11YInteractiveSupportsFocus>
|
|
1401
|
+
/**
|
|
1402
|
+
* Enforce that a `label` tag has a text label and an associated control.
|
|
1403
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/label-has-associated-control.md
|
|
1404
|
+
*/
|
|
1405
|
+
'jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<JsxA11YLabelHasAssociatedControl>
|
|
1406
|
+
/**
|
|
1407
|
+
* Enforce that `<label>` elements have the `htmlFor` prop.
|
|
1408
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/label-has-for.md
|
|
1409
|
+
* @deprecated
|
|
1410
|
+
*/
|
|
1411
|
+
'jsx-a11y/label-has-for'?: Linter.RuleEntry<JsxA11YLabelHasFor>
|
|
1412
|
+
/**
|
|
1413
|
+
* Enforce lang attribute has a valid value.
|
|
1414
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/lang.md
|
|
1415
|
+
*/
|
|
1416
|
+
'jsx-a11y/lang'?: Linter.RuleEntry<JsxA11YLang>
|
|
1417
|
+
/**
|
|
1418
|
+
* Enforces that `<audio>` and `<video>` elements must have a `<track>` for captions.
|
|
1419
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/media-has-caption.md
|
|
1420
|
+
*/
|
|
1421
|
+
'jsx-a11y/media-has-caption'?: Linter.RuleEntry<JsxA11YMediaHasCaption>
|
|
1422
|
+
/**
|
|
1423
|
+
* Enforce that `onMouseOver`/`onMouseOut` are accompanied by `onFocus`/`onBlur` for keyboard-only users.
|
|
1424
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/mouse-events-have-key-events.md
|
|
1425
|
+
*/
|
|
1426
|
+
'jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<JsxA11YMouseEventsHaveKeyEvents>
|
|
1427
|
+
/**
|
|
1428
|
+
* Enforce that the `accessKey` prop is not used on any element to avoid complications with keyboard commands used by a screen reader.
|
|
1429
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-access-key.md
|
|
1430
|
+
*/
|
|
1431
|
+
'jsx-a11y/no-access-key'?: Linter.RuleEntry<JsxA11YNoAccessKey>
|
|
1432
|
+
/**
|
|
1433
|
+
* Disallow `aria-hidden="true"` from being set on focusable elements.
|
|
1434
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-aria-hidden-on-focusable.md
|
|
1435
|
+
*/
|
|
1436
|
+
'jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<JsxA11YNoAriaHiddenOnFocusable>
|
|
1437
|
+
/**
|
|
1438
|
+
* Enforce autoFocus prop is not used.
|
|
1439
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-autofocus.md
|
|
1440
|
+
*/
|
|
1441
|
+
'jsx-a11y/no-autofocus'?: Linter.RuleEntry<JsxA11YNoAutofocus>
|
|
1442
|
+
/**
|
|
1443
|
+
* Enforce distracting elements are not used.
|
|
1444
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-distracting-elements.md
|
|
1445
|
+
*/
|
|
1446
|
+
'jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<JsxA11YNoDistractingElements>
|
|
1447
|
+
/**
|
|
1448
|
+
* Interactive elements should not be assigned non-interactive roles.
|
|
1449
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-interactive-element-to-noninteractive-role.md
|
|
1450
|
+
*/
|
|
1451
|
+
'jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<JsxA11YNoInteractiveElementToNoninteractiveRole>
|
|
1452
|
+
/**
|
|
1453
|
+
* Non-interactive elements should not be assigned mouse or keyboard event listeners.
|
|
1454
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-interactions.md
|
|
1455
|
+
*/
|
|
1456
|
+
'jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementInteractions>
|
|
1457
|
+
/**
|
|
1458
|
+
* Non-interactive elements should not be assigned interactive roles.
|
|
1459
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-element-to-interactive-role.md
|
|
1460
|
+
*/
|
|
1461
|
+
'jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<JsxA11YNoNoninteractiveElementToInteractiveRole>
|
|
1462
|
+
/**
|
|
1463
|
+
* `tabIndex` should only be declared on interactive elements.
|
|
1464
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-noninteractive-tabindex.md
|
|
1465
|
+
*/
|
|
1466
|
+
'jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<JsxA11YNoNoninteractiveTabindex>
|
|
1467
|
+
/**
|
|
1468
|
+
* Enforce usage of `onBlur` over `onChange` on select menus for accessibility.
|
|
1469
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-onchange.md
|
|
1470
|
+
* @deprecated
|
|
1471
|
+
*/
|
|
1472
|
+
'jsx-a11y/no-onchange'?: Linter.RuleEntry<JsxA11YNoOnchange>
|
|
1473
|
+
/**
|
|
1474
|
+
* Enforce explicit role property is not the same as implicit/default role property on element.
|
|
1475
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-redundant-roles.md
|
|
1476
|
+
*/
|
|
1477
|
+
'jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<JsxA11YNoRedundantRoles>
|
|
1478
|
+
/**
|
|
1479
|
+
* Enforce that non-interactive, visible elements (such as `<div>`) that have click handlers use the role attribute.
|
|
1480
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/no-static-element-interactions.md
|
|
1481
|
+
*/
|
|
1482
|
+
'jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<JsxA11YNoStaticElementInteractions>
|
|
1483
|
+
/**
|
|
1484
|
+
* Enforces using semantic DOM elements over the ARIA `role` property.
|
|
1485
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/prefer-tag-over-role.md
|
|
1486
|
+
*/
|
|
1487
|
+
'jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<JsxA11YPreferTagOverRole>
|
|
1488
|
+
/**
|
|
1489
|
+
* Enforce that elements with ARIA roles must have all required attributes for that role.
|
|
1490
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-has-required-aria-props.md
|
|
1491
|
+
*/
|
|
1492
|
+
'jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<JsxA11YRoleHasRequiredAriaProps>
|
|
1493
|
+
/**
|
|
1494
|
+
* Enforce that elements with explicit or implicit roles defined contain only `aria-*` properties supported by that `role`.
|
|
1495
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/role-supports-aria-props.md
|
|
1496
|
+
*/
|
|
1497
|
+
'jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<JsxA11YRoleSupportsAriaProps>
|
|
1498
|
+
/**
|
|
1499
|
+
* Enforce `scope` prop is only used on `<th>` elements.
|
|
1500
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/scope.md
|
|
1501
|
+
*/
|
|
1502
|
+
'jsx-a11y/scope'?: Linter.RuleEntry<JsxA11YScope>
|
|
1503
|
+
/**
|
|
1504
|
+
* Enforce `tabIndex` value is not greater than zero.
|
|
1505
|
+
* @see https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/tree/HEAD/docs/rules/tabindex-no-positive.md
|
|
1506
|
+
*/
|
|
1507
|
+
'jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<JsxA11YTabindexNoPositive>
|
|
1310
1508
|
/**
|
|
1311
1509
|
* Enforce the consistent use of either double or single quotes in JSX attributes
|
|
1312
1510
|
* @see https://eslint.org/docs/latest/rules/jsx-quotes
|
|
@@ -7744,6 +7942,221 @@ type JsoncSpaceUnaryOps = []|[{
|
|
|
7744
7942
|
[k: string]: boolean | undefined
|
|
7745
7943
|
}
|
|
7746
7944
|
}]
|
|
7945
|
+
// ----- jsx-a11y/accessible-emoji -----
|
|
7946
|
+
type JsxA11YAccessibleEmoji = []|[{
|
|
7947
|
+
[k: string]: unknown | undefined
|
|
7948
|
+
}]
|
|
7949
|
+
// ----- jsx-a11y/alt-text -----
|
|
7950
|
+
type JsxA11YAltText = []|[{
|
|
7951
|
+
elements?: string[]
|
|
7952
|
+
img?: string[]
|
|
7953
|
+
object?: string[]
|
|
7954
|
+
area?: string[]
|
|
7955
|
+
"input[type=\"image\"]"?: string[]
|
|
7956
|
+
[k: string]: unknown | undefined
|
|
7957
|
+
}]
|
|
7958
|
+
// ----- jsx-a11y/anchor-ambiguous-text -----
|
|
7959
|
+
type JsxA11YAnchorAmbiguousText = []|[{
|
|
7960
|
+
words?: string[]
|
|
7961
|
+
[k: string]: unknown | undefined
|
|
7962
|
+
}]
|
|
7963
|
+
// ----- jsx-a11y/anchor-has-content -----
|
|
7964
|
+
type JsxA11YAnchorHasContent = []|[{
|
|
7965
|
+
components?: string[]
|
|
7966
|
+
[k: string]: unknown | undefined
|
|
7967
|
+
}]
|
|
7968
|
+
// ----- jsx-a11y/anchor-is-valid -----
|
|
7969
|
+
type JsxA11YAnchorIsValid = []|[{
|
|
7970
|
+
components?: string[]
|
|
7971
|
+
specialLink?: string[]
|
|
7972
|
+
|
|
7973
|
+
aspects?: [("noHref" | "invalidHref" | "preferButton"), ...(("noHref" | "invalidHref" | "preferButton"))[]]
|
|
7974
|
+
[k: string]: unknown | undefined
|
|
7975
|
+
}]
|
|
7976
|
+
// ----- jsx-a11y/aria-activedescendant-has-tabindex -----
|
|
7977
|
+
type JsxA11YAriaActivedescendantHasTabindex = []|[{
|
|
7978
|
+
[k: string]: unknown | undefined
|
|
7979
|
+
}]
|
|
7980
|
+
// ----- jsx-a11y/aria-props -----
|
|
7981
|
+
type JsxA11YAriaProps = []|[{
|
|
7982
|
+
[k: string]: unknown | undefined
|
|
7983
|
+
}]
|
|
7984
|
+
// ----- jsx-a11y/aria-proptypes -----
|
|
7985
|
+
type JsxA11YAriaProptypes = []|[{
|
|
7986
|
+
[k: string]: unknown | undefined
|
|
7987
|
+
}]
|
|
7988
|
+
// ----- jsx-a11y/aria-role -----
|
|
7989
|
+
type JsxA11YAriaRole = []|[{
|
|
7990
|
+
allowedInvalidRoles?: string[]
|
|
7991
|
+
ignoreNonDOM?: boolean
|
|
7992
|
+
[k: string]: unknown | undefined
|
|
7993
|
+
}]
|
|
7994
|
+
// ----- jsx-a11y/aria-unsupported-elements -----
|
|
7995
|
+
type JsxA11YAriaUnsupportedElements = []|[{
|
|
7996
|
+
[k: string]: unknown | undefined
|
|
7997
|
+
}]
|
|
7998
|
+
// ----- jsx-a11y/autocomplete-valid -----
|
|
7999
|
+
type JsxA11YAutocompleteValid = []|[{
|
|
8000
|
+
inputComponents?: string[]
|
|
8001
|
+
[k: string]: unknown | undefined
|
|
8002
|
+
}]
|
|
8003
|
+
// ----- jsx-a11y/click-events-have-key-events -----
|
|
8004
|
+
type JsxA11YClickEventsHaveKeyEvents = []|[{
|
|
8005
|
+
[k: string]: unknown | undefined
|
|
8006
|
+
}]
|
|
8007
|
+
// ----- jsx-a11y/control-has-associated-label -----
|
|
8008
|
+
type JsxA11YControlHasAssociatedLabel = []|[{
|
|
8009
|
+
labelAttributes?: string[]
|
|
8010
|
+
controlComponents?: string[]
|
|
8011
|
+
ignoreElements?: string[]
|
|
8012
|
+
ignoreRoles?: string[]
|
|
8013
|
+
|
|
8014
|
+
depth?: number
|
|
8015
|
+
[k: string]: unknown | undefined
|
|
8016
|
+
}]
|
|
8017
|
+
// ----- jsx-a11y/heading-has-content -----
|
|
8018
|
+
type JsxA11YHeadingHasContent = []|[{
|
|
8019
|
+
components?: string[]
|
|
8020
|
+
[k: string]: unknown | undefined
|
|
8021
|
+
}]
|
|
8022
|
+
// ----- jsx-a11y/html-has-lang -----
|
|
8023
|
+
type JsxA11YHtmlHasLang = []|[{
|
|
8024
|
+
[k: string]: unknown | undefined
|
|
8025
|
+
}]
|
|
8026
|
+
// ----- jsx-a11y/iframe-has-title -----
|
|
8027
|
+
type JsxA11YIframeHasTitle = []|[{
|
|
8028
|
+
[k: string]: unknown | undefined
|
|
8029
|
+
}]
|
|
8030
|
+
// ----- jsx-a11y/img-redundant-alt -----
|
|
8031
|
+
type JsxA11YImgRedundantAlt = []|[{
|
|
8032
|
+
components?: string[]
|
|
8033
|
+
words?: string[]
|
|
8034
|
+
[k: string]: unknown | undefined
|
|
8035
|
+
}]
|
|
8036
|
+
// ----- jsx-a11y/interactive-supports-focus -----
|
|
8037
|
+
type JsxA11YInteractiveSupportsFocus = []|[{
|
|
8038
|
+
|
|
8039
|
+
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")[]
|
|
8040
|
+
[k: string]: unknown | undefined
|
|
8041
|
+
}]
|
|
8042
|
+
// ----- jsx-a11y/label-has-associated-control -----
|
|
8043
|
+
type JsxA11YLabelHasAssociatedControl = []|[{
|
|
8044
|
+
labelComponents?: string[]
|
|
8045
|
+
labelAttributes?: string[]
|
|
8046
|
+
controlComponents?: string[]
|
|
8047
|
+
|
|
8048
|
+
assert?: ("htmlFor" | "nesting" | "both" | "either")
|
|
8049
|
+
|
|
8050
|
+
depth?: number
|
|
8051
|
+
[k: string]: unknown | undefined
|
|
8052
|
+
}]
|
|
8053
|
+
// ----- jsx-a11y/label-has-for -----
|
|
8054
|
+
type JsxA11YLabelHasFor = []|[{
|
|
8055
|
+
components?: string[]
|
|
8056
|
+
required?: (("nesting" | "id") | {
|
|
8057
|
+
|
|
8058
|
+
some: ("nesting" | "id")[]
|
|
8059
|
+
[k: string]: unknown | undefined
|
|
8060
|
+
} | {
|
|
8061
|
+
|
|
8062
|
+
every: ("nesting" | "id")[]
|
|
8063
|
+
[k: string]: unknown | undefined
|
|
8064
|
+
})
|
|
8065
|
+
allowChildren?: boolean
|
|
8066
|
+
[k: string]: unknown | undefined
|
|
8067
|
+
}]
|
|
8068
|
+
// ----- jsx-a11y/lang -----
|
|
8069
|
+
type JsxA11YLang = []|[{
|
|
8070
|
+
[k: string]: unknown | undefined
|
|
8071
|
+
}]
|
|
8072
|
+
// ----- jsx-a11y/media-has-caption -----
|
|
8073
|
+
type JsxA11YMediaHasCaption = []|[{
|
|
8074
|
+
audio?: string[]
|
|
8075
|
+
video?: string[]
|
|
8076
|
+
track?: string[]
|
|
8077
|
+
[k: string]: unknown | undefined
|
|
8078
|
+
}]
|
|
8079
|
+
// ----- jsx-a11y/mouse-events-have-key-events -----
|
|
8080
|
+
type JsxA11YMouseEventsHaveKeyEvents = []|[{
|
|
8081
|
+
|
|
8082
|
+
hoverInHandlers?: string[]
|
|
8083
|
+
|
|
8084
|
+
hoverOutHandlers?: string[]
|
|
8085
|
+
[k: string]: unknown | undefined
|
|
8086
|
+
}]
|
|
8087
|
+
// ----- jsx-a11y/no-access-key -----
|
|
8088
|
+
type JsxA11YNoAccessKey = []|[{
|
|
8089
|
+
[k: string]: unknown | undefined
|
|
8090
|
+
}]
|
|
8091
|
+
// ----- jsx-a11y/no-aria-hidden-on-focusable -----
|
|
8092
|
+
type JsxA11YNoAriaHiddenOnFocusable = []|[{
|
|
8093
|
+
[k: string]: unknown | undefined
|
|
8094
|
+
}]
|
|
8095
|
+
// ----- jsx-a11y/no-autofocus -----
|
|
8096
|
+
type JsxA11YNoAutofocus = []|[{
|
|
8097
|
+
ignoreNonDOM?: boolean
|
|
8098
|
+
[k: string]: unknown | undefined
|
|
8099
|
+
}]
|
|
8100
|
+
// ----- jsx-a11y/no-distracting-elements -----
|
|
8101
|
+
type JsxA11YNoDistractingElements = []|[{
|
|
8102
|
+
|
|
8103
|
+
elements?: ("marquee" | "blink")[]
|
|
8104
|
+
[k: string]: unknown | undefined
|
|
8105
|
+
}]
|
|
8106
|
+
// ----- jsx-a11y/no-interactive-element-to-noninteractive-role -----
|
|
8107
|
+
type JsxA11YNoInteractiveElementToNoninteractiveRole = []|[{
|
|
8108
|
+
[k: string]: string[] | undefined
|
|
8109
|
+
}]
|
|
8110
|
+
// ----- jsx-a11y/no-noninteractive-element-interactions -----
|
|
8111
|
+
type JsxA11YNoNoninteractiveElementInteractions = []|[{
|
|
8112
|
+
handlers?: string[]
|
|
8113
|
+
[k: string]: unknown | undefined
|
|
8114
|
+
}]
|
|
8115
|
+
// ----- jsx-a11y/no-noninteractive-element-to-interactive-role -----
|
|
8116
|
+
type JsxA11YNoNoninteractiveElementToInteractiveRole = []|[{
|
|
8117
|
+
[k: string]: string[] | undefined
|
|
8118
|
+
}]
|
|
8119
|
+
// ----- jsx-a11y/no-noninteractive-tabindex -----
|
|
8120
|
+
type JsxA11YNoNoninteractiveTabindex = []|[{
|
|
8121
|
+
|
|
8122
|
+
roles?: string[]
|
|
8123
|
+
|
|
8124
|
+
tags?: string[]
|
|
8125
|
+
[k: string]: unknown | undefined
|
|
8126
|
+
}]
|
|
8127
|
+
// ----- jsx-a11y/no-onchange -----
|
|
8128
|
+
type JsxA11YNoOnchange = []|[{
|
|
8129
|
+
[k: string]: unknown | undefined
|
|
8130
|
+
}]
|
|
8131
|
+
// ----- jsx-a11y/no-redundant-roles -----
|
|
8132
|
+
type JsxA11YNoRedundantRoles = []|[{
|
|
8133
|
+
[k: string]: string[] | undefined
|
|
8134
|
+
}]
|
|
8135
|
+
// ----- jsx-a11y/no-static-element-interactions -----
|
|
8136
|
+
type JsxA11YNoStaticElementInteractions = []|[{
|
|
8137
|
+
handlers?: string[]
|
|
8138
|
+
[k: string]: unknown | undefined
|
|
8139
|
+
}]
|
|
8140
|
+
// ----- jsx-a11y/prefer-tag-over-role -----
|
|
8141
|
+
type JsxA11YPreferTagOverRole = []|[{
|
|
8142
|
+
[k: string]: unknown | undefined
|
|
8143
|
+
}]
|
|
8144
|
+
// ----- jsx-a11y/role-has-required-aria-props -----
|
|
8145
|
+
type JsxA11YRoleHasRequiredAriaProps = []|[{
|
|
8146
|
+
[k: string]: unknown | undefined
|
|
8147
|
+
}]
|
|
8148
|
+
// ----- jsx-a11y/role-supports-aria-props -----
|
|
8149
|
+
type JsxA11YRoleSupportsAriaProps = []|[{
|
|
8150
|
+
[k: string]: unknown | undefined
|
|
8151
|
+
}]
|
|
8152
|
+
// ----- jsx-a11y/scope -----
|
|
8153
|
+
type JsxA11YScope = []|[{
|
|
8154
|
+
[k: string]: unknown | undefined
|
|
8155
|
+
}]
|
|
8156
|
+
// ----- jsx-a11y/tabindex-no-positive -----
|
|
8157
|
+
type JsxA11YTabindexNoPositive = []|[{
|
|
8158
|
+
[k: string]: unknown | undefined
|
|
8159
|
+
}]
|
|
7747
8160
|
// ----- jsx-quotes -----
|
|
7748
8161
|
type JsxQuotes = []|[("prefer-single" | "prefer-double")]
|
|
7749
8162
|
// ----- key-spacing -----
|
|
@@ -14224,7 +14637,7 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
|
|
|
14224
14637
|
onlyEquality?: boolean
|
|
14225
14638
|
}]
|
|
14226
14639
|
// Names of all the configs
|
|
14227
|
-
type ConfigNames = 'storm/astro/setup' | 'storm/astro/rules' | 'storm/formatter/setup' | 'storm/imports/rules' | 'storm/javascript/setup' | 'storm/javascript/banner' | 'storm/javascript/rules' | '
|
|
14640
|
+
type ConfigNames = 'storm/astro/setup' | 'storm/astro/rules' | 'storm/formatter/setup' | 'storm/imports/rules' | 'storm/javascript/setup' | 'storm/javascript/banner' | 'storm/javascript/rules' | 'storm/jsx/setup' | 'storm/jsx/rules' | 'storm/jsdoc/rules' | 'storm/jsonc/setup' | 'storm/jsonc/rules' | 'storm/markdown/setup' | 'storm/markdown/processor' | 'storm/markdown/parser' | 'storm/markdown/disables' | 'storm/node/rules' | 'storm/perfectionist/setup' | 'storm/react/setup' | 'storm/react/rules' | 'storm/sort/package-json' | 'storm/stylistic/rules' | 'storm/test/setup' | 'storm/test/rules' | 'storm/toml/setup' | 'storm/toml/rules' | 'storm/regexp/rules' | 'storm/typescript/setup' | 'storm/typescript/parser' | 'storm/typescript/type-aware-parser' | 'storm/typescript/rules' | 'storm/typescript/rules-type-aware' | 'storm/unicorn/rules' | 'storm/unocss' | 'storm/yaml/setup' | 'storm/yaml/rules'
|
|
14228
14641
|
|
|
14229
14642
|
/**
|
|
14230
14643
|
* Vendor types from Prettier so we don't rely on the dependency.
|
package/dist/utils/combine.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Awaitable } from 'eslint-flat-config-utils';
|
|
2
|
-
import { T as TypedFlatConfigItem } from '../types-
|
|
2
|
+
import { T as TypedFlatConfigItem } from '../types-Cnmfgj1g.js';
|
|
3
3
|
import '@nx/eslint-plugin/src/utils/runtime-lint-utils';
|
|
4
4
|
import '@stylistic/eslint-plugin';
|
|
5
5
|
import '@typescript-eslint/parser';
|
package/package.json
CHANGED