@storm-software/eslint 0.124.1 → 0.124.3
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-X3L37QNE.js → chunk-AIKLBIPC.js} +3 -0
- package/dist/{chunk-J2PN7K74.js → chunk-EEGFPU3P.js} +1 -1
- package/dist/{chunk-LFZMLUCG.js → chunk-JOZDGLKT.js} +2 -2
- package/dist/preset.d.ts +1 -1
- package/dist/preset.js +258 -12
- package/dist/{types-CHy285SF.d.ts → types-Bz2mGFHi.d.ts} +420 -1
- package/dist/utils/banner-plugin.js +3 -3
- package/dist/utils/combine.d.ts +1 -1
- package/dist/utils/constants.d.ts +2 -1
- package/dist/utils/constants.js +3 -1
- package/dist/utils/get-file-banner.js +2 -2
- package/dist/utils/index.d.ts +1 -1
- package/dist/utils/index.js +3 -1
- package/package.json +1 -1
|
@@ -57,6 +57,7 @@ var GLOB_JSON = "**/*.json";
|
|
|
57
57
|
var GLOB_JSON5 = "**/*.json5";
|
|
58
58
|
var GLOB_JSONC = "**/*.jsonc";
|
|
59
59
|
var GLOB_MARKDOWN = "**/*.md";
|
|
60
|
+
var GLOB_MDX = "**/*.mdx";
|
|
60
61
|
var GLOB_MARKDOWN_IN_MARKDOWN = "**/*.md/*.md";
|
|
61
62
|
var GLOB_SVELTE = "**/*.svelte";
|
|
62
63
|
var GLOB_VUE = "**/*.vue";
|
|
@@ -82,6 +83,7 @@ var GLOB_ALL_SRC = [
|
|
|
82
83
|
GLOB_JSON,
|
|
83
84
|
GLOB_JSON5,
|
|
84
85
|
GLOB_MARKDOWN,
|
|
86
|
+
GLOB_MDX,
|
|
85
87
|
GLOB_SVELTE,
|
|
86
88
|
GLOB_VUE,
|
|
87
89
|
GLOB_YAML,
|
|
@@ -143,6 +145,7 @@ export {
|
|
|
143
145
|
GLOB_JSON5,
|
|
144
146
|
GLOB_JSONC,
|
|
145
147
|
GLOB_MARKDOWN,
|
|
148
|
+
GLOB_MDX,
|
|
146
149
|
GLOB_MARKDOWN_IN_MARKDOWN,
|
|
147
150
|
GLOB_SVELTE,
|
|
148
151
|
GLOB_VUE,
|
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-Bz2mGFHi.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-JOZDGLKT.js";
|
|
4
|
+
import "./chunk-EEGFPU3P.js";
|
|
5
5
|
import {
|
|
6
6
|
GLOB_ASTRO,
|
|
7
7
|
GLOB_ASTRO_TS,
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
GLOB_MARKDOWN,
|
|
18
18
|
GLOB_MARKDOWN_CODE,
|
|
19
19
|
GLOB_MARKDOWN_IN_MARKDOWN,
|
|
20
|
+
GLOB_MDX,
|
|
20
21
|
GLOB_POSTCSS,
|
|
21
22
|
GLOB_SCSS,
|
|
22
23
|
GLOB_SRC,
|
|
@@ -28,7 +29,7 @@ import {
|
|
|
28
29
|
GLOB_TSX,
|
|
29
30
|
GLOB_XML,
|
|
30
31
|
GLOB_YAML
|
|
31
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-AIKLBIPC.js";
|
|
32
33
|
import {
|
|
33
34
|
ensurePackages,
|
|
34
35
|
interopDefault,
|
|
@@ -190,7 +191,16 @@ async function stylistic(options = {}) {
|
|
|
190
191
|
},
|
|
191
192
|
rules: {
|
|
192
193
|
...config.rules,
|
|
193
|
-
"lines-around-comment": "off",
|
|
194
|
+
"style/lines-around-comment": "off",
|
|
195
|
+
// "style/padding-line-between-statements": [
|
|
196
|
+
// "error",
|
|
197
|
+
// { blankLine: "always", prev: ["const", "let", "var"], next: "*" },
|
|
198
|
+
// {
|
|
199
|
+
// blankLine: "any",
|
|
200
|
+
// prev: ["const", "let", "var"],
|
|
201
|
+
// next: ["const", "let", "var"]
|
|
202
|
+
// }
|
|
203
|
+
// ],
|
|
194
204
|
...overrides
|
|
195
205
|
}
|
|
196
206
|
}
|
|
@@ -474,7 +484,7 @@ var compat = new FlatCompat({
|
|
|
474
484
|
baseDirectory: import.meta.dirname
|
|
475
485
|
});
|
|
476
486
|
async function graphql(options = {}) {
|
|
477
|
-
const { relay = true, operations = true, schema = true } = options;
|
|
487
|
+
const { relay = true, operations = true, schema = true, overrides = {} } = options;
|
|
478
488
|
await ensurePackages([
|
|
479
489
|
"@graphql-eslint/eslint-plugin",
|
|
480
490
|
"eslint-plugin-relay"
|
|
@@ -664,7 +674,8 @@ async function graphql(options = {}) {
|
|
|
664
674
|
"@graphql-eslint/value-literals-of-correct-type": "error",
|
|
665
675
|
"@graphql-eslint/variables-are-input-types": "error",
|
|
666
676
|
"@graphql-eslint/variables-in-allowed-position": "error"
|
|
667
|
-
} : {}
|
|
677
|
+
} : {},
|
|
678
|
+
...overrides
|
|
668
679
|
}
|
|
669
680
|
},
|
|
670
681
|
...relay ? compat.config({
|
|
@@ -735,7 +746,7 @@ async function imports(options = {}) {
|
|
|
735
746
|
"error",
|
|
736
747
|
"prefer-top-level"
|
|
737
748
|
],
|
|
738
|
-
"import/first": "
|
|
749
|
+
"import/first": "off",
|
|
739
750
|
"import/no-duplicates": "error",
|
|
740
751
|
"import/no-mutable-exports": "error",
|
|
741
752
|
"import/no-named-default": "error",
|
|
@@ -2062,8 +2073,15 @@ __name(jsonc, "jsonc");
|
|
|
2062
2073
|
|
|
2063
2074
|
// src/configs/jsx.ts
|
|
2064
2075
|
async function jsx() {
|
|
2076
|
+
await ensurePackages([
|
|
2077
|
+
"eslint-plugin-jsx-a11y"
|
|
2078
|
+
]);
|
|
2079
|
+
const [pluginJsxA11y] = await Promise.all([
|
|
2080
|
+
interopDefault(import("eslint-plugin-jsx-a11y"))
|
|
2081
|
+
]);
|
|
2065
2082
|
return [
|
|
2066
2083
|
{
|
|
2084
|
+
name: "storm/jsx/rules",
|
|
2067
2085
|
files: [
|
|
2068
2086
|
GLOB_JSX,
|
|
2069
2087
|
GLOB_TSX
|
|
@@ -2075,7 +2093,197 @@ async function jsx() {
|
|
|
2075
2093
|
}
|
|
2076
2094
|
}
|
|
2077
2095
|
},
|
|
2078
|
-
|
|
2096
|
+
plugins: {
|
|
2097
|
+
"jsx-a11y": pluginJsxA11y
|
|
2098
|
+
},
|
|
2099
|
+
rules: {
|
|
2100
|
+
"jsx-a11y/alt-text": "error",
|
|
2101
|
+
"jsx-a11y/anchor-ambiguous-text": "off",
|
|
2102
|
+
"jsx-a11y/anchor-has-content": "error",
|
|
2103
|
+
"jsx-a11y/anchor-is-valid": "error",
|
|
2104
|
+
"jsx-a11y/aria-activedescendant-has-tabindex": "error",
|
|
2105
|
+
"jsx-a11y/aria-props": "error",
|
|
2106
|
+
"jsx-a11y/aria-proptypes": "error",
|
|
2107
|
+
"jsx-a11y/aria-role": "error",
|
|
2108
|
+
"jsx-a11y/aria-unsupported-elements": "error",
|
|
2109
|
+
"jsx-a11y/autocomplete-valid": "error",
|
|
2110
|
+
"jsx-a11y/click-events-have-key-events": "error",
|
|
2111
|
+
"jsx-a11y/control-has-associated-label": [
|
|
2112
|
+
"off",
|
|
2113
|
+
{
|
|
2114
|
+
ignoreElements: [
|
|
2115
|
+
"audio",
|
|
2116
|
+
"canvas",
|
|
2117
|
+
"embed",
|
|
2118
|
+
"input",
|
|
2119
|
+
"textarea",
|
|
2120
|
+
"tr",
|
|
2121
|
+
"video"
|
|
2122
|
+
],
|
|
2123
|
+
ignoreRoles: [
|
|
2124
|
+
"grid",
|
|
2125
|
+
"listbox",
|
|
2126
|
+
"menu",
|
|
2127
|
+
"menubar",
|
|
2128
|
+
"radiogroup",
|
|
2129
|
+
"row",
|
|
2130
|
+
"tablist",
|
|
2131
|
+
"toolbar",
|
|
2132
|
+
"tree",
|
|
2133
|
+
"treegrid"
|
|
2134
|
+
],
|
|
2135
|
+
includeRoles: [
|
|
2136
|
+
"alert",
|
|
2137
|
+
"dialog"
|
|
2138
|
+
]
|
|
2139
|
+
}
|
|
2140
|
+
],
|
|
2141
|
+
"jsx-a11y/heading-has-content": "error",
|
|
2142
|
+
"jsx-a11y/html-has-lang": "error",
|
|
2143
|
+
"jsx-a11y/iframe-has-title": "error",
|
|
2144
|
+
"jsx-a11y/img-redundant-alt": "error",
|
|
2145
|
+
"jsx-a11y/interactive-supports-focus": [
|
|
2146
|
+
"error",
|
|
2147
|
+
{
|
|
2148
|
+
tabbable: [
|
|
2149
|
+
"button",
|
|
2150
|
+
"checkbox",
|
|
2151
|
+
"link",
|
|
2152
|
+
"searchbox",
|
|
2153
|
+
"spinbutton",
|
|
2154
|
+
"switch",
|
|
2155
|
+
"textbox"
|
|
2156
|
+
]
|
|
2157
|
+
}
|
|
2158
|
+
],
|
|
2159
|
+
"jsx-a11y/label-has-associated-control": "error",
|
|
2160
|
+
"jsx-a11y/label-has-for": "off",
|
|
2161
|
+
"jsx-a11y/media-has-caption": "error",
|
|
2162
|
+
"jsx-a11y/mouse-events-have-key-events": "error",
|
|
2163
|
+
"jsx-a11y/no-access-key": "error",
|
|
2164
|
+
"jsx-a11y/no-autofocus": "error",
|
|
2165
|
+
"jsx-a11y/no-distracting-elements": "error",
|
|
2166
|
+
"jsx-a11y/no-interactive-element-to-noninteractive-role": [
|
|
2167
|
+
"error",
|
|
2168
|
+
{
|
|
2169
|
+
tr: [
|
|
2170
|
+
"none",
|
|
2171
|
+
"presentation"
|
|
2172
|
+
],
|
|
2173
|
+
canvas: [
|
|
2174
|
+
"img"
|
|
2175
|
+
]
|
|
2176
|
+
}
|
|
2177
|
+
],
|
|
2178
|
+
"jsx-a11y/no-noninteractive-element-interactions": [
|
|
2179
|
+
"error",
|
|
2180
|
+
{
|
|
2181
|
+
handlers: [
|
|
2182
|
+
"onClick",
|
|
2183
|
+
"onError",
|
|
2184
|
+
"onLoad",
|
|
2185
|
+
"onMouseDown",
|
|
2186
|
+
"onMouseUp",
|
|
2187
|
+
"onKeyPress",
|
|
2188
|
+
"onKeyDown",
|
|
2189
|
+
"onKeyUp"
|
|
2190
|
+
],
|
|
2191
|
+
alert: [
|
|
2192
|
+
"onKeyUp",
|
|
2193
|
+
"onKeyDown",
|
|
2194
|
+
"onKeyPress"
|
|
2195
|
+
],
|
|
2196
|
+
body: [
|
|
2197
|
+
"onError",
|
|
2198
|
+
"onLoad"
|
|
2199
|
+
],
|
|
2200
|
+
dialog: [
|
|
2201
|
+
"onKeyUp",
|
|
2202
|
+
"onKeyDown",
|
|
2203
|
+
"onKeyPress"
|
|
2204
|
+
],
|
|
2205
|
+
iframe: [
|
|
2206
|
+
"onError",
|
|
2207
|
+
"onLoad"
|
|
2208
|
+
],
|
|
2209
|
+
img: [
|
|
2210
|
+
"onError",
|
|
2211
|
+
"onLoad"
|
|
2212
|
+
]
|
|
2213
|
+
}
|
|
2214
|
+
],
|
|
2215
|
+
"jsx-a11y/no-noninteractive-element-to-interactive-role": [
|
|
2216
|
+
"error",
|
|
2217
|
+
{
|
|
2218
|
+
ul: [
|
|
2219
|
+
"listbox",
|
|
2220
|
+
"menu",
|
|
2221
|
+
"menubar",
|
|
2222
|
+
"radiogroup",
|
|
2223
|
+
"tablist",
|
|
2224
|
+
"tree",
|
|
2225
|
+
"treegrid"
|
|
2226
|
+
],
|
|
2227
|
+
ol: [
|
|
2228
|
+
"listbox",
|
|
2229
|
+
"menu",
|
|
2230
|
+
"menubar",
|
|
2231
|
+
"radiogroup",
|
|
2232
|
+
"tablist",
|
|
2233
|
+
"tree",
|
|
2234
|
+
"treegrid"
|
|
2235
|
+
],
|
|
2236
|
+
li: [
|
|
2237
|
+
"menuitem",
|
|
2238
|
+
"menuitemradio",
|
|
2239
|
+
"menuitemcheckbox",
|
|
2240
|
+
"option",
|
|
2241
|
+
"row",
|
|
2242
|
+
"tab",
|
|
2243
|
+
"treeitem"
|
|
2244
|
+
],
|
|
2245
|
+
table: [
|
|
2246
|
+
"grid"
|
|
2247
|
+
],
|
|
2248
|
+
td: [
|
|
2249
|
+
"gridcell"
|
|
2250
|
+
],
|
|
2251
|
+
fieldset: [
|
|
2252
|
+
"radiogroup",
|
|
2253
|
+
"presentation"
|
|
2254
|
+
]
|
|
2255
|
+
}
|
|
2256
|
+
],
|
|
2257
|
+
"jsx-a11y/no-noninteractive-tabindex": [
|
|
2258
|
+
"error",
|
|
2259
|
+
{
|
|
2260
|
+
tags: [],
|
|
2261
|
+
roles: [
|
|
2262
|
+
"tabpanel"
|
|
2263
|
+
],
|
|
2264
|
+
allowExpressionValues: true
|
|
2265
|
+
}
|
|
2266
|
+
],
|
|
2267
|
+
"jsx-a11y/no-redundant-roles": "error",
|
|
2268
|
+
"jsx-a11y/no-static-element-interactions": [
|
|
2269
|
+
"error",
|
|
2270
|
+
{
|
|
2271
|
+
allowExpressionValues: true,
|
|
2272
|
+
handlers: [
|
|
2273
|
+
"onClick",
|
|
2274
|
+
"onMouseDown",
|
|
2275
|
+
"onMouseUp",
|
|
2276
|
+
"onKeyPress",
|
|
2277
|
+
"onKeyDown",
|
|
2278
|
+
"onKeyUp"
|
|
2279
|
+
]
|
|
2280
|
+
}
|
|
2281
|
+
],
|
|
2282
|
+
"jsx-a11y/role-has-required-aria-props": "error",
|
|
2283
|
+
"jsx-a11y/role-supports-aria-props": "error",
|
|
2284
|
+
"jsx-a11y/scope": "error",
|
|
2285
|
+
"jsx-a11y/tabindex-no-positive": "error"
|
|
2286
|
+
}
|
|
2079
2287
|
}
|
|
2080
2288
|
];
|
|
2081
2289
|
}
|
|
@@ -2105,7 +2313,7 @@ async function markdown(options = {}) {
|
|
|
2105
2313
|
// but not the markdown file itself. We use `eslint-merge-processors` to
|
|
2106
2314
|
// add a pass-through processor for the markdown file itself.
|
|
2107
2315
|
processor: mergeProcessors([
|
|
2108
|
-
markdown1.processors
|
|
2316
|
+
markdown1.processors?.markdown,
|
|
2109
2317
|
processorPassThrough
|
|
2110
2318
|
])
|
|
2111
2319
|
},
|
|
@@ -2174,7 +2382,7 @@ async function next(options = {}) {
|
|
|
2174
2382
|
]);
|
|
2175
2383
|
return [
|
|
2176
2384
|
...compat2.config({
|
|
2177
|
-
name: "storm/next",
|
|
2385
|
+
name: "storm/next/rules",
|
|
2178
2386
|
extends: [
|
|
2179
2387
|
"next"
|
|
2180
2388
|
],
|
|
@@ -3434,7 +3642,7 @@ __name(yaml, "yaml");
|
|
|
3434
3642
|
import cspellConfig from "@cspell/eslint-plugin/recommended";
|
|
3435
3643
|
import { findWorkspaceRoot, joinPaths } from "@storm-software/config-tools";
|
|
3436
3644
|
async function cspell(options = {}) {
|
|
3437
|
-
const { configFile = "./.vscode/cspell.json" } = options;
|
|
3645
|
+
const { configFile = "./.vscode/cspell.json", overrides = {} } = options;
|
|
3438
3646
|
return [
|
|
3439
3647
|
{
|
|
3440
3648
|
name: "storm/cspell/rules",
|
|
@@ -3447,13 +3655,46 @@ async function cspell(options = {}) {
|
|
|
3447
3655
|
configFile: joinPaths(findWorkspaceRoot(), configFile),
|
|
3448
3656
|
autoFix: true
|
|
3449
3657
|
}
|
|
3450
|
-
]
|
|
3658
|
+
],
|
|
3659
|
+
...overrides
|
|
3451
3660
|
}
|
|
3452
3661
|
}
|
|
3453
3662
|
];
|
|
3454
3663
|
}
|
|
3455
3664
|
__name(cspell, "cspell");
|
|
3456
3665
|
|
|
3666
|
+
// src/configs/mdx.ts
|
|
3667
|
+
async function mdx(options = {}) {
|
|
3668
|
+
const { files = [
|
|
3669
|
+
GLOB_MDX
|
|
3670
|
+
], overrides = {} } = options;
|
|
3671
|
+
await ensurePackages([
|
|
3672
|
+
"eslint-plugin-mdx"
|
|
3673
|
+
]);
|
|
3674
|
+
const mdx1 = await interopDefault(import("eslint-plugin-mdx"));
|
|
3675
|
+
return [
|
|
3676
|
+
{
|
|
3677
|
+
name: "storm/mdx/setup",
|
|
3678
|
+
plugins: {
|
|
3679
|
+
mdx: mdx1
|
|
3680
|
+
},
|
|
3681
|
+
...mdx1.flat,
|
|
3682
|
+
files,
|
|
3683
|
+
processor: mdx1.createRemarkProcessor({
|
|
3684
|
+
lintCodeBlocks: true,
|
|
3685
|
+
// optional, if you want to disable language mapper, set it to `false`
|
|
3686
|
+
// if you want to override the default language mapper inside, you can provide your own
|
|
3687
|
+
languageMapper: {}
|
|
3688
|
+
}),
|
|
3689
|
+
rules: {
|
|
3690
|
+
...mdx1.flat.rules,
|
|
3691
|
+
...overrides
|
|
3692
|
+
}
|
|
3693
|
+
}
|
|
3694
|
+
];
|
|
3695
|
+
}
|
|
3696
|
+
__name(mdx, "mdx");
|
|
3697
|
+
|
|
3457
3698
|
// src/preset.ts
|
|
3458
3699
|
var flatConfigProps = [
|
|
3459
3700
|
"name",
|
|
@@ -3610,6 +3851,11 @@ function getStormConfig(options, ...userConfigs) {
|
|
|
3610
3851
|
overrides: getOverrides(options, "markdown")
|
|
3611
3852
|
}));
|
|
3612
3853
|
}
|
|
3854
|
+
if (options.mdx ?? true) {
|
|
3855
|
+
configs2.push(mdx({
|
|
3856
|
+
overrides: getOverrides(options, "mdx")
|
|
3857
|
+
}));
|
|
3858
|
+
}
|
|
3613
3859
|
if (options.formatters) {
|
|
3614
3860
|
configs2.push(formatters(options.formatters, typeof stylisticOptions === "boolean" ? {} : stylisticOptions));
|
|
3615
3861
|
}
|
|
@@ -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/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.
|
|
@@ -14776,6 +15189,12 @@ interface OptionsConfig extends OptionsComponentExts, OptionsJavascript, Options
|
|
|
14776
15189
|
* @default true
|
|
14777
15190
|
*/
|
|
14778
15191
|
markdown?: boolean | OptionsOverrides;
|
|
15192
|
+
/**
|
|
15193
|
+
* Enable linting for mdx files.
|
|
15194
|
+
*
|
|
15195
|
+
* @default true
|
|
15196
|
+
*/
|
|
15197
|
+
mdx?: boolean | OptionsOverrides;
|
|
14779
15198
|
/**
|
|
14780
15199
|
* Enable stylistic rules.
|
|
14781
15200
|
*
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
banner_plugin_default
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-JOZDGLKT.js";
|
|
4
|
+
import "../chunk-EEGFPU3P.js";
|
|
5
|
+
import "../chunk-AIKLBIPC.js";
|
|
6
6
|
import "../chunk-SHUYVCID.js";
|
|
7
7
|
export {
|
|
8
8
|
banner_plugin_default as default
|
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-Bz2mGFHi.js';
|
|
3
3
|
import '@nx/eslint-plugin/src/utils/runtime-lint-utils';
|
|
4
4
|
import '@stylistic/eslint-plugin';
|
|
5
5
|
import '@typescript-eslint/parser';
|
|
@@ -16,6 +16,7 @@ declare const GLOB_JSON = "**/*.json";
|
|
|
16
16
|
declare const GLOB_JSON5 = "**/*.json5";
|
|
17
17
|
declare const GLOB_JSONC = "**/*.jsonc";
|
|
18
18
|
declare const GLOB_MARKDOWN = "**/*.md";
|
|
19
|
+
declare const GLOB_MDX = "**/*.mdx";
|
|
19
20
|
declare const GLOB_MARKDOWN_IN_MARKDOWN = "**/*.md/*.md";
|
|
20
21
|
declare const GLOB_SVELTE = "**/*.svelte";
|
|
21
22
|
declare const GLOB_VUE = "**/*.vue";
|
|
@@ -32,4 +33,4 @@ declare const GLOB_TESTS: string[];
|
|
|
32
33
|
declare const GLOB_ALL_SRC: string[];
|
|
33
34
|
declare const GLOB_EXCLUDE: string[];
|
|
34
35
|
|
|
35
|
-
export { ACRONYMS_LIST, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CODE_BLOCK, GLOB_CODE_FILE, 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 };
|
|
36
|
+
export { ACRONYMS_LIST, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CODE_BLOCK, GLOB_CODE_FILE, 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_MDX, 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 };
|
package/dist/utils/constants.js
CHANGED
|
@@ -18,6 +18,7 @@ import {
|
|
|
18
18
|
GLOB_MARKDOWN,
|
|
19
19
|
GLOB_MARKDOWN_CODE,
|
|
20
20
|
GLOB_MARKDOWN_IN_MARKDOWN,
|
|
21
|
+
GLOB_MDX,
|
|
21
22
|
GLOB_POSTCSS,
|
|
22
23
|
GLOB_SCSS,
|
|
23
24
|
GLOB_SRC,
|
|
@@ -32,7 +33,7 @@ import {
|
|
|
32
33
|
GLOB_VUE,
|
|
33
34
|
GLOB_XML,
|
|
34
35
|
GLOB_YAML
|
|
35
|
-
} from "../chunk-
|
|
36
|
+
} from "../chunk-AIKLBIPC.js";
|
|
36
37
|
import "../chunk-SHUYVCID.js";
|
|
37
38
|
export {
|
|
38
39
|
ACRONYMS_LIST,
|
|
@@ -54,6 +55,7 @@ export {
|
|
|
54
55
|
GLOB_MARKDOWN,
|
|
55
56
|
GLOB_MARKDOWN_CODE,
|
|
56
57
|
GLOB_MARKDOWN_IN_MARKDOWN,
|
|
58
|
+
GLOB_MDX,
|
|
57
59
|
GLOB_POSTCSS,
|
|
58
60
|
GLOB_SCSS,
|
|
59
61
|
GLOB_SRC,
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { formatConfig } from './format-config.js';
|
|
2
2
|
export { DEFAULT_IGNORES } from './ignores.js';
|
|
3
|
-
export { ACRONYMS_LIST, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CODE_BLOCK, GLOB_CODE_FILE, 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 } from './constants.js';
|
|
3
|
+
export { ACRONYMS_LIST, GLOB_ALL_SRC, GLOB_ASTRO, GLOB_ASTRO_TS, GLOB_CODE_BLOCK, GLOB_CODE_FILE, 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_MDX, 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 } from './constants.js';
|
|
4
4
|
import 'eslint';
|
package/dist/utils/index.js
CHANGED
|
@@ -21,6 +21,7 @@ import {
|
|
|
21
21
|
GLOB_MARKDOWN,
|
|
22
22
|
GLOB_MARKDOWN_CODE,
|
|
23
23
|
GLOB_MARKDOWN_IN_MARKDOWN,
|
|
24
|
+
GLOB_MDX,
|
|
24
25
|
GLOB_POSTCSS,
|
|
25
26
|
GLOB_SCSS,
|
|
26
27
|
GLOB_SRC,
|
|
@@ -35,7 +36,7 @@ import {
|
|
|
35
36
|
GLOB_VUE,
|
|
36
37
|
GLOB_XML,
|
|
37
38
|
GLOB_YAML
|
|
38
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-AIKLBIPC.js";
|
|
39
40
|
import {
|
|
40
41
|
DEFAULT_IGNORES
|
|
41
42
|
} from "../chunk-UAGSKXUP.js";
|
|
@@ -61,6 +62,7 @@ export {
|
|
|
61
62
|
GLOB_MARKDOWN,
|
|
62
63
|
GLOB_MARKDOWN_CODE,
|
|
63
64
|
GLOB_MARKDOWN_IN_MARKDOWN,
|
|
65
|
+
GLOB_MDX,
|
|
64
66
|
GLOB_POSTCSS,
|
|
65
67
|
GLOB_SCSS,
|
|
66
68
|
GLOB_SRC,
|
package/package.json
CHANGED