@shayanthenerd/eslint-config 0.4.6 → 0.6.0

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.
@@ -15,10 +15,8 @@ declare module 'eslint-flat-config-utils' {
15
15
  'shayanthenerd/ignores'?: true;
16
16
  'shayanthenerd/base'?: true;
17
17
  'shayanthenerd/base'?: true;
18
- 'shayanthenerd/commons'?: true;
19
- 'shayanthenerd/import-x__import/recommended'?: true;
18
+ 'shayanthenerd/restricted-exports'?: true;
20
19
  'shayanthenerd/import-x__import-x/recommended'?: true;
21
- 'shayanthenerd/import-x__import/typescript'?: true;
22
20
  'shayanthenerd/import-x__import-x/typescript'?: true;
23
21
  'shayanthenerd/import-x'?: true;
24
22
  'shayanthenerd/stylistic'?: true;
@@ -45,7 +43,7 @@ declare module 'eslint-flat-config-utils' {
45
43
  'shayanthenerd/vue__vuejs-accessibility:setup:with-files-rules-and-parser'?: true;
46
44
  'shayanthenerd/vue'?: true;
47
45
  'shayanthenerd/vue/multi-word-component-names'?: true;
48
- 'shayanthenerd/nuxt/allow-multiple-template-root'?: true;
46
+ 'shayanthenerd/vue/server-components'?: true;
49
47
  'shayanthenerd/storybook__storybook:recommended:setup'?: true;
50
48
  'shayanthenerd/storybook__storybook:recommended:stories-rules'?: true;
51
49
  'shayanthenerd/storybook__storybook:recommended:main-rules'?: true;
@@ -59,7 +57,6 @@ declare module 'eslint-flat-config-utils' {
59
57
  'oxlint/from-oxlint-config'?: true;
60
58
  'oxlint/vue-svelte-exceptions'?: true;
61
59
  'oxlint/from-oxlint-config-override-0'?: true;
62
- 'oxlint/from-oxlint-config-override-1'?: true;
63
60
  'shayanthenerd/oxlint/overrides'?: true;
64
61
  }
65
62
  }
@@ -75,7 +72,7 @@ interface ESLintSchema {
75
72
  */
76
73
  '@html-eslint/element-newline'?: Linter.RuleEntry<HtmlEslintElementNewline>;
77
74
  /**
78
- * Enforce consistent naming id attributes
75
+ * Enforce consistent naming of id attributes
79
76
  * @see https://html-eslint.org/docs/rules/id-naming-convention
80
77
  */
81
78
  '@html-eslint/id-naming-convention'?: Linter.RuleEntry<HtmlEslintIdNamingConvention>;
@@ -84,27 +81,27 @@ interface ESLintSchema {
84
81
  */
85
82
  '@html-eslint/indent'?: Linter.RuleEntry<HtmlEslintIndent>;
86
83
  /**
87
- * Enforce to use lowercase for tag and attribute names.
84
+ * Enforce use of lowercase for tag and attribute names.
88
85
  * @see https://html-eslint.org/docs/rules/lowercase
89
86
  */
90
87
  '@html-eslint/lowercase'?: Linter.RuleEntry<[]>;
91
88
  /**
92
- * Enforce element maximum depth
89
+ * Enforce maximum element depth
93
90
  * @see https://html-eslint.org/docs/rules/max-element-depth
94
91
  */
95
92
  '@html-eslint/max-element-depth'?: Linter.RuleEntry<HtmlEslintMaxElementDepth>;
96
93
  /**
97
- * Disallow to use of abstract roles
94
+ * Disallow use of abstract roles
98
95
  * @see https://html-eslint.org/docs/rules/no-abstract-roles
99
96
  */
100
97
  '@html-eslint/no-abstract-roles'?: Linter.RuleEntry<[]>;
101
98
  /**
102
- * Disallow to use of accesskey attribute
99
+ * Disallow use of accesskey attribute
103
100
  * @see https://html-eslint.org/docs/rules/no-accesskey-attrs
104
101
  */
105
102
  '@html-eslint/no-accesskey-attrs'?: Linter.RuleEntry<[]>;
106
103
  /**
107
- * Disallow to use aria-hidden attributes on the `body` element.
104
+ * Disallow use of aria-hidden attributes on the `body` element.
108
105
  * @see https://html-eslint.org/docs/rules/no-aria-hidden-body
109
106
  */
110
107
  '@html-eslint/no-aria-hidden-body'?: Linter.RuleEntry<[]>;
@@ -114,17 +111,17 @@ interface ESLintSchema {
114
111
  */
115
112
  '@html-eslint/no-aria-hidden-on-focusable'?: Linter.RuleEntry<[]>;
116
113
  /**
117
- * Disallow to use duplicate attributes
114
+ * Disallow duplicate attributes
118
115
  * @see https://html-eslint.org/docs/rules/no-duplicate-attrs
119
116
  */
120
117
  '@html-eslint/no-duplicate-attrs'?: Linter.RuleEntry<[]>;
121
118
  /**
122
- * Disallow to use duplicate class
119
+ * Disallow duplicate class names
123
120
  * @see https://html-eslint.org/docs/rules/no-duplicate-class
124
121
  */
125
122
  '@html-eslint/no-duplicate-class'?: Linter.RuleEntry<[]>;
126
123
  /**
127
- * Disallow to use duplicate id
124
+ * Disallow duplicate id attributes
128
125
  * @see https://html-eslint.org/docs/rules/no-duplicate-id
129
126
  */
130
127
  '@html-eslint/no-duplicate-id'?: Linter.RuleEntry<[]>;
@@ -139,7 +136,7 @@ interface ESLintSchema {
139
136
  */
140
137
  '@html-eslint/no-empty-headings'?: Linter.RuleEntry<[]>;
141
138
  /**
142
- * Disallow an extra spacing around attributes
139
+ * Disallow extra spacing around attributes
143
140
  * @see https://html-eslint.org/docs/rules/no-extra-spacing-attrs
144
141
  */
145
142
  '@html-eslint/no-extra-spacing-attrs'?: Linter.RuleEntry<HtmlEslintNoExtraSpacingAttrs>;
@@ -153,6 +150,10 @@ interface ESLintSchema {
153
150
  * @see https://html-eslint.org/docs/rules/no-heading-inside-button
154
151
  */
155
152
  '@html-eslint/no-heading-inside-button'?: Linter.RuleEntry<[]>;
153
+ /**
154
+ * Disallow HTML attributes that have no effect in their context
155
+ */
156
+ '@html-eslint/no-ineffective-attrs'?: Linter.RuleEntry<[]>;
156
157
  /**
157
158
  * Disallow using inline style
158
159
  * @see https://html-eslint.org/docs/rules/no-inline-styles
@@ -189,7 +190,7 @@ interface ESLintSchema {
189
190
  */
190
191
  '@html-eslint/no-non-scalable-viewport'?: Linter.RuleEntry<[]>;
191
192
  /**
192
- * Disallow to use obsolete elements in HTML5
193
+ * Disallow use of obsolete elements in HTML5
193
194
  * @see https://html-eslint.org/docs/rules/no-obsolete-tags
194
195
  */
195
196
  '@html-eslint/no-obsolete-tags'?: Linter.RuleEntry<[]>;
@@ -244,7 +245,7 @@ interface ESLintSchema {
244
245
  */
245
246
  '@html-eslint/require-attrs'?: Linter.RuleEntry<HtmlEslintRequireAttrs>;
246
247
  /**
247
- * Require use of button element with a valid type attribute.
248
+ * Require use of the button element with a valid type attribute.
248
249
  * @see https://html-eslint.org/docs/rules/require-button-type
249
250
  */
250
251
  '@html-eslint/require-button-type'?: Linter.RuleEntry<[]>;
@@ -254,7 +255,7 @@ interface ESLintSchema {
254
255
  */
255
256
  '@html-eslint/require-closing-tags'?: Linter.RuleEntry<HtmlEslintRequireClosingTags>;
256
257
  /**
257
- * Require `<!DOCTYPE HTML>` in html,
258
+ * Require `<!DOCTYPE HTML>` in HTML
258
259
  * @see https://html-eslint.org/docs/rules/require-doctype
259
260
  */
260
261
  '@html-eslint/require-doctype'?: Linter.RuleEntry<[]>;
@@ -274,7 +275,7 @@ interface ESLintSchema {
274
275
  */
275
276
  '@html-eslint/require-frame-title'?: Linter.RuleEntry<[]>;
276
277
  /**
277
- * Require `alt` attribute at `<img>` tag
278
+ * Require `alt` attribute on `<img>` tag
278
279
  * @see https://html-eslint.org/docs/rules/require-img-alt
279
280
  */
280
281
  '@html-eslint/require-img-alt'?: Linter.RuleEntry<HtmlEslintRequireImgAlt>;
@@ -284,17 +285,17 @@ interface ESLintSchema {
284
285
  */
285
286
  '@html-eslint/require-input-label'?: Linter.RuleEntry<[]>;
286
287
  /**
287
- * Require `lang` attribute at `<html>` tag
288
+ * Require `lang` attribute on `<html>` tag
288
289
  * @see https://html-eslint.org/docs/rules/require-lang
289
290
  */
290
291
  '@html-eslint/require-lang'?: Linter.RuleEntry<[]>;
291
292
  /**
292
- * Enforce `<li>` to be in `<ul>`, `<ol>` or `<menu>`.
293
+ * Enforce `<li>` to be in `<ul>`, `<ol>` or `<menu>`.
293
294
  * @see https://html-eslint.org/docs/rules/require-li-container
294
295
  */
295
296
  '@html-eslint/require-li-container'?: Linter.RuleEntry<[]>;
296
297
  /**
297
- * Enforce to use `<meta charset="...">` in `<head>`
298
+ * Enforce use of `<meta charset="...">` in `<head>`
298
299
  * @see https://html-eslint.org/docs/rules/require-meta-charset
299
300
  */
300
301
  '@html-eslint/require-meta-charset'?: Linter.RuleEntry<[]>;
@@ -304,22 +305,22 @@ interface ESLintSchema {
304
305
  */
305
306
  '@html-eslint/require-meta-description'?: Linter.RuleEntry<[]>;
306
307
  /**
307
- * Enforce to use `<meta name="viewport">` in `<head>`
308
+ * Enforce use of `<meta name="viewport">` in `<head>`
308
309
  * @see https://html-eslint.org/docs/rules/require-meta-viewport
309
310
  */
310
311
  '@html-eslint/require-meta-viewport'?: Linter.RuleEntry<[]>;
311
312
  /**
312
- * Enforce to use specified meta tags for open graph protocol.
313
+ * Enforce use of specified meta tags for open graph protocol.
313
314
  * @see https://html-eslint.org/docs/rules/require-open-graph-protocol
314
315
  */
315
316
  '@html-eslint/require-open-graph-protocol'?: Linter.RuleEntry<HtmlEslintRequireOpenGraphProtocol>;
316
317
  /**
317
- * Require `<title><title/>` in the `<head><head/>`
318
+ * Require `<title>` in the `<head>`
318
319
  * @see https://html-eslint.org/docs/rules/require-title
319
320
  */
320
321
  '@html-eslint/require-title'?: Linter.RuleEntry<[]>;
321
322
  /**
322
- * Enforce attributes alphabetical sorting
323
+ * Enforce priority and alphabetical sorting of attributes
323
324
  * @see https://html-eslint.org/docs/rules/sort-attrs
324
325
  */
325
326
  '@html-eslint/sort-attrs'?: Linter.RuleEntry<HtmlEslintSortAttrs>;
@@ -2151,236 +2152,6 @@ interface ESLintSchema {
2151
2152
  * @see https://github.com/un-ts/eslint-plugin-import-x/blob/v4.16.1/docs/rules/unambiguous.md
2152
2153
  */
2153
2154
  'import-x/unambiguous'?: Linter.RuleEntry<[]>;
2154
- /**
2155
- * Enforce or ban the use of inline type-only markers for named imports.
2156
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/consistent-type-specifier-style.md
2157
- */
2158
- 'import/consistent-type-specifier-style'?: Linter.RuleEntry<ImportConsistentTypeSpecifierStyle>;
2159
- /**
2160
- * Ensure a default export is present, given a default import.
2161
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/default.md
2162
- */
2163
- 'import/default'?: Linter.RuleEntry<[]>;
2164
- /**
2165
- * Enforce a leading comment with the webpackChunkName for dynamic imports.
2166
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/dynamic-import-chunkname.md
2167
- */
2168
- 'import/dynamic-import-chunkname'?: Linter.RuleEntry<ImportDynamicImportChunkname>;
2169
- /**
2170
- * Enforce either using, or omitting, the `node:` protocol when importing Node.js builtin modules.
2171
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/enforce-node-protocol-usage.md
2172
- */
2173
- 'import/enforce-node-protocol-usage'?: Linter.RuleEntry<ImportEnforceNodeProtocolUsage>;
2174
- /**
2175
- * Forbid any invalid exports, i.e. re-export of the same name.
2176
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/export.md
2177
- */
2178
- 'import/export'?: Linter.RuleEntry<[]>;
2179
- /**
2180
- * Ensure all exports appear after other statements.
2181
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/exports-last.md
2182
- */
2183
- 'import/exports-last'?: Linter.RuleEntry<[]>;
2184
- /**
2185
- * Ensure consistent use of file extension within the import path.
2186
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/extensions.md
2187
- */
2188
- 'import/extensions'?: Linter.RuleEntry<ImportExtensions>;
2189
- /**
2190
- * Ensure all imports appear before other statements.
2191
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/first.md
2192
- */
2193
- 'import/first'?: Linter.RuleEntry<ImportFirst>;
2194
- /**
2195
- * Prefer named exports to be grouped together in a single export declaration
2196
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/group-exports.md
2197
- */
2198
- 'import/group-exports'?: Linter.RuleEntry<[]>;
2199
- /**
2200
- * Replaced by `import/first`.
2201
- * @see https://github.com/import-js/eslint-plugin-import/blob/7b25c1cb95ee18acc1531002fd343e1e6031f9ed/docs/rules/imports-first.md
2202
- * @deprecated
2203
- */
2204
- 'import/imports-first'?: Linter.RuleEntry<ImportImportsFirst>;
2205
- /**
2206
- * Enforce the maximum number of dependencies a module can have.
2207
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/max-dependencies.md
2208
- */
2209
- 'import/max-dependencies'?: Linter.RuleEntry<ImportMaxDependencies>;
2210
- /**
2211
- * Ensure named imports correspond to a named export in the remote file.
2212
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/named.md
2213
- */
2214
- 'import/named'?: Linter.RuleEntry<ImportNamed>;
2215
- /**
2216
- * Ensure imported namespaces contain dereferenced properties as they are dereferenced.
2217
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/namespace.md
2218
- */
2219
- 'import/namespace'?: Linter.RuleEntry<ImportNamespace>;
2220
- /**
2221
- * Enforce a newline after import statements.
2222
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/newline-after-import.md
2223
- */
2224
- 'import/newline-after-import'?: Linter.RuleEntry<ImportNewlineAfterImport>;
2225
- /**
2226
- * Forbid import of modules using absolute paths.
2227
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-absolute-path.md
2228
- */
2229
- 'import/no-absolute-path'?: Linter.RuleEntry<ImportNoAbsolutePath>;
2230
- /**
2231
- * Forbid AMD `require` and `define` calls.
2232
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-amd.md
2233
- */
2234
- 'import/no-amd'?: Linter.RuleEntry<[]>;
2235
- /**
2236
- * Forbid anonymous values as default exports.
2237
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-anonymous-default-export.md
2238
- */
2239
- 'import/no-anonymous-default-export'?: Linter.RuleEntry<ImportNoAnonymousDefaultExport>;
2240
- /**
2241
- * Forbid CommonJS `require` calls and `module.exports` or `exports.*`.
2242
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-commonjs.md
2243
- */
2244
- 'import/no-commonjs'?: Linter.RuleEntry<ImportNoCommonjs>;
2245
- /**
2246
- * Forbid a module from importing a module with a dependency path back to itself.
2247
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-cycle.md
2248
- */
2249
- 'import/no-cycle'?: Linter.RuleEntry<ImportNoCycle>;
2250
- /**
2251
- * Forbid default exports.
2252
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-default-export.md
2253
- */
2254
- 'import/no-default-export'?: Linter.RuleEntry<[]>;
2255
- /**
2256
- * Forbid imported names marked with `@deprecated` documentation tag.
2257
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-deprecated.md
2258
- */
2259
- 'import/no-deprecated'?: Linter.RuleEntry<[]>;
2260
- /**
2261
- * Forbid repeated import of the same module in multiple places.
2262
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-duplicates.md
2263
- */
2264
- 'import/no-duplicates'?: Linter.RuleEntry<ImportNoDuplicates>;
2265
- /**
2266
- * Forbid `require()` calls with expressions.
2267
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-dynamic-require.md
2268
- */
2269
- 'import/no-dynamic-require'?: Linter.RuleEntry<ImportNoDynamicRequire>;
2270
- /**
2271
- * Forbid empty named import blocks.
2272
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-empty-named-blocks.md
2273
- */
2274
- 'import/no-empty-named-blocks'?: Linter.RuleEntry<[]>;
2275
- /**
2276
- * Forbid the use of extraneous packages.
2277
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-extraneous-dependencies.md
2278
- */
2279
- 'import/no-extraneous-dependencies'?: Linter.RuleEntry<ImportNoExtraneousDependencies>;
2280
- /**
2281
- * Forbid import statements with CommonJS module.exports.
2282
- */
2283
- 'import/no-import-module-exports'?: Linter.RuleEntry<ImportNoImportModuleExports>;
2284
- /**
2285
- * Forbid importing the submodules of other modules.
2286
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-internal-modules.md
2287
- */
2288
- 'import/no-internal-modules'?: Linter.RuleEntry<ImportNoInternalModules>;
2289
- /**
2290
- * Forbid the use of mutable exports with `var` or `let`.
2291
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-mutable-exports.md
2292
- */
2293
- 'import/no-mutable-exports'?: Linter.RuleEntry<[]>;
2294
- /**
2295
- * Forbid use of exported name as identifier of default export.
2296
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default.md
2297
- */
2298
- 'import/no-named-as-default'?: Linter.RuleEntry<[]>;
2299
- /**
2300
- * Forbid use of exported name as property of default export.
2301
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-as-default-member.md
2302
- */
2303
- 'import/no-named-as-default-member'?: Linter.RuleEntry<[]>;
2304
- /**
2305
- * Forbid named default exports.
2306
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-default.md
2307
- */
2308
- 'import/no-named-default'?: Linter.RuleEntry<[]>;
2309
- /**
2310
- * Forbid named exports.
2311
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-named-export.md
2312
- */
2313
- 'import/no-named-export'?: Linter.RuleEntry<[]>;
2314
- /**
2315
- * Forbid namespace (a.k.a. "wildcard" `*`) imports.
2316
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-namespace.md
2317
- */
2318
- 'import/no-namespace'?: Linter.RuleEntry<ImportNoNamespace>;
2319
- /**
2320
- * Forbid Node.js builtin modules.
2321
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-nodejs-modules.md
2322
- */
2323
- 'import/no-nodejs-modules'?: Linter.RuleEntry<ImportNoNodejsModules>;
2324
- /**
2325
- * Forbid importing packages through relative paths.
2326
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-packages.md
2327
- */
2328
- 'import/no-relative-packages'?: Linter.RuleEntry<ImportNoRelativePackages>;
2329
- /**
2330
- * Forbid importing modules from parent directories.
2331
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-relative-parent-imports.md
2332
- */
2333
- 'import/no-relative-parent-imports'?: Linter.RuleEntry<ImportNoRelativeParentImports>;
2334
- /**
2335
- * Enforce which files can be imported in a given folder.
2336
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-restricted-paths.md
2337
- */
2338
- 'import/no-restricted-paths'?: Linter.RuleEntry<ImportNoRestrictedPaths>;
2339
- /**
2340
- * Forbid a module from importing itself.
2341
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-self-import.md
2342
- */
2343
- 'import/no-self-import'?: Linter.RuleEntry<[]>;
2344
- /**
2345
- * Forbid unassigned imports
2346
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unassigned-import.md
2347
- */
2348
- 'import/no-unassigned-import'?: Linter.RuleEntry<ImportNoUnassignedImport>;
2349
- /**
2350
- * Ensure imports point to a file/module that can be resolved.
2351
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unresolved.md
2352
- */
2353
- 'import/no-unresolved'?: Linter.RuleEntry<ImportNoUnresolved>;
2354
- /**
2355
- * Forbid modules without exports, or exports without matching import in another module.
2356
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-unused-modules.md
2357
- */
2358
- 'import/no-unused-modules'?: Linter.RuleEntry<ImportNoUnusedModules>;
2359
- /**
2360
- * Forbid unnecessary path segments in import and require statements.
2361
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-useless-path-segments.md
2362
- */
2363
- 'import/no-useless-path-segments'?: Linter.RuleEntry<ImportNoUselessPathSegments>;
2364
- /**
2365
- * Forbid webpack loader syntax in imports.
2366
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/no-webpack-loader-syntax.md
2367
- */
2368
- 'import/no-webpack-loader-syntax'?: Linter.RuleEntry<[]>;
2369
- /**
2370
- * Enforce a convention in module import order.
2371
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/order.md
2372
- */
2373
- 'import/order'?: Linter.RuleEntry<ImportOrder>;
2374
- /**
2375
- * Prefer a default export if module exports a single name or multiple names.
2376
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/prefer-default-export.md
2377
- */
2378
- 'import/prefer-default-export'?: Linter.RuleEntry<ImportPreferDefaultExport>;
2379
- /**
2380
- * Forbid potentially ambiguous parse goal (`script` vs. `module`).
2381
- * @see https://github.com/import-js/eslint-plugin-import/blob/v2.32.0/docs/rules/unambiguous.md
2382
- */
2383
- 'import/unambiguous'?: Linter.RuleEntry<[]>;
2384
2155
  /**
2385
2156
  * Enforce consistent indentation
2386
2157
  * @see https://eslint.org/docs/latest/rules/indent
@@ -3624,7 +3395,7 @@ interface ESLintSchema {
3624
3395
  */
3625
3396
  'playwright/no-standalone-expect'?: Linter.RuleEntry<[]>;
3626
3397
  /**
3627
- * Prevent unsafe variable references in page.evaluate()
3398
+ * Prevent unsafe variable references in page.evaluate() and page.addInitScript()
3628
3399
  * @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-unsafe-references.md
3629
3400
  */
3630
3401
  'playwright/no-unsafe-references'?: Linter.RuleEntry<[]>;
@@ -3638,6 +3409,11 @@ interface ESLintSchema {
3638
3409
  * @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-useless-not.md
3639
3410
  */
3640
3411
  'playwright/no-useless-not'?: Linter.RuleEntry<[]>;
3412
+ /**
3413
+ * Prevent usage of page.waitForNavigation()
3414
+ * @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-wait-for-navigation.md
3415
+ */
3416
+ 'playwright/no-wait-for-navigation'?: Linter.RuleEntry<[]>;
3641
3417
  /**
3642
3418
  * Prevent usage of page.waitForSelector()
3643
3419
  * @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/no-wait-for-selector.md
@@ -3748,6 +3524,10 @@ interface ESLintSchema {
3748
3524
  * @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/valid-expect-in-promise.md
3749
3525
  */
3750
3526
  'playwright/valid-expect-in-promise'?: Linter.RuleEntry<[]>;
3527
+ /**
3528
+ * Enforce valid tag format in Playwright test blocks
3529
+ */
3530
+ 'playwright/valid-test-tags'?: Linter.RuleEntry<PlaywrightValidTestTags>;
3751
3531
  /**
3752
3532
  * Enforce valid titles
3753
3533
  * @see https://github.com/playwright-community/eslint-plugin-playwright/tree/main/docs/rules/valid-title.md
@@ -4965,6 +4745,16 @@ interface ESLintSchema {
4965
4745
  * @see https://eslint.vuejs.org/rules/no-mutating-props.html
4966
4746
  */
4967
4747
  'vue/no-mutating-props'?: Linter.RuleEntry<VueNoMutatingProps>;
4748
+ /**
4749
+ * Disallow negated conditions in `<template>`
4750
+ * @see https://eslint.vuejs.org/rules/no-negated-condition.html
4751
+ */
4752
+ 'vue/no-negated-condition'?: Linter.RuleEntry<[]>;
4753
+ /**
4754
+ * disallow negated conditions in v-if/v-else
4755
+ * @see https://eslint.vuejs.org/rules/no-negated-v-if-condition.html
4756
+ */
4757
+ 'vue/no-negated-v-if-condition'?: Linter.RuleEntry<[]>;
4968
4758
  /**
4969
4759
  * disallow parsing errors in `<template>`
4970
4760
  * @see https://eslint.vuejs.org/rules/no-parsing-error.html
@@ -5840,6 +5630,7 @@ type HtmlEslintRequireAttrs = {
5840
5630
  tag: string;
5841
5631
  attr: string;
5842
5632
  value?: string;
5633
+ message?: string;
5843
5634
  }[];
5844
5635
  // ----- @html-eslint/require-closing-tags -----
5845
5636
  type HtmlEslintRequireClosingTags = [] | [{
@@ -5859,7 +5650,9 @@ type HtmlEslintRequireImgAlt = [] | [{
5859
5650
  type HtmlEslintRequireOpenGraphProtocol = [] | [string[]];
5860
5651
  // ----- @html-eslint/sort-attrs -----
5861
5652
  type HtmlEslintSortAttrs = [] | [{
5862
- priority?: string[];
5653
+ priority?: (string | {
5654
+ pattern: string;
5655
+ })[];
5863
5656
  }];
5864
5657
  // ----- @html-eslint/use-baseline -----
5865
5658
  type HtmlEslintUseBaseline = [] | [{
@@ -9030,244 +8823,6 @@ type ImportXPreferDefaultExport = [] | [{
9030
8823
  type ImportXPreferNamespaceImport = [] | [{
9031
8824
  patterns?: string[];
9032
8825
  }];
9033
- // ----- import/consistent-type-specifier-style -----
9034
- type ImportConsistentTypeSpecifierStyle = [] | [("prefer-inline" | "prefer-top-level")];
9035
- // ----- import/dynamic-import-chunkname -----
9036
- type ImportDynamicImportChunkname = [] | [{
9037
- importFunctions?: string[];
9038
- allowEmpty?: boolean;
9039
- webpackChunknameFormat?: string;
9040
- [k: string]: unknown | undefined;
9041
- }];
9042
- // ----- import/enforce-node-protocol-usage -----
9043
- type ImportEnforceNodeProtocolUsage = [("always" | "never")];
9044
- // ----- import/extensions -----
9045
- type ImportExtensions = ([] | [("always" | "ignorePackages" | "never")] | [] | [("always" | "ignorePackages" | "never")] | [("always" | "ignorePackages" | "never"), {
9046
- pattern?: {
9047
- [k: string]: ("always" | "ignorePackages" | "never");
9048
- };
9049
- checkTypeImports?: boolean;
9050
- ignorePackages?: boolean;
9051
- pathGroupOverrides?: {
9052
- pattern: string;
9053
- patternOptions?: {
9054
- [k: string]: unknown | undefined;
9055
- };
9056
- action: ("enforce" | "ignore");
9057
- }[];
9058
- [k: string]: unknown | undefined;
9059
- }] | [] | [{
9060
- pattern?: {
9061
- [k: string]: ("always" | "ignorePackages" | "never");
9062
- };
9063
- checkTypeImports?: boolean;
9064
- ignorePackages?: boolean;
9065
- pathGroupOverrides?: {
9066
- pattern: string;
9067
- patternOptions?: {
9068
- [k: string]: unknown | undefined;
9069
- };
9070
- action: ("enforce" | "ignore");
9071
- }[];
9072
- [k: string]: unknown | undefined;
9073
- }] | [] | [{
9074
- [k: string]: ("always" | "ignorePackages" | "never");
9075
- }] | [] | [("always" | "ignorePackages" | "never")] | [("always" | "ignorePackages" | "never"), {
9076
- [k: string]: ("always" | "ignorePackages" | "never");
9077
- }]);
9078
- // ----- import/first -----
9079
- type ImportFirst = [] | [("absolute-first" | "disable-absolute-first")];
9080
- // ----- import/imports-first -----
9081
- type ImportImportsFirst = [] | [("absolute-first" | "disable-absolute-first")];
9082
- // ----- import/max-dependencies -----
9083
- type ImportMaxDependencies = [] | [{
9084
- max?: number;
9085
- ignoreTypeImports?: boolean;
9086
- }];
9087
- // ----- import/named -----
9088
- type ImportNamed = [] | [{
9089
- commonjs?: boolean;
9090
- }];
9091
- // ----- import/namespace -----
9092
- type ImportNamespace = [] | [{
9093
- allowComputed?: boolean;
9094
- }];
9095
- // ----- import/newline-after-import -----
9096
- type ImportNewlineAfterImport = [] | [{
9097
- count?: number;
9098
- exactCount?: boolean;
9099
- considerComments?: boolean;
9100
- }];
9101
- // ----- import/no-absolute-path -----
9102
- type ImportNoAbsolutePath = [] | [{
9103
- commonjs?: boolean;
9104
- amd?: boolean;
9105
- esmodule?: boolean;
9106
- ignore?: [string, ...(string)[]];
9107
- }];
9108
- // ----- import/no-anonymous-default-export -----
9109
- type ImportNoAnonymousDefaultExport = [] | [{
9110
- allowArray?: boolean;
9111
- allowArrowFunction?: boolean;
9112
- allowCallExpression?: boolean;
9113
- allowAnonymousClass?: boolean;
9114
- allowAnonymousFunction?: boolean;
9115
- allowLiteral?: boolean;
9116
- allowObject?: boolean;
9117
- allowNew?: boolean;
9118
- }];
9119
- // ----- import/no-commonjs -----
9120
- type ImportNoCommonjs = ([] | ["allow-primitive-modules"] | [] | [{
9121
- allowPrimitiveModules?: boolean;
9122
- allowRequire?: boolean;
9123
- allowConditionalRequire?: boolean;
9124
- }]);
9125
- // ----- import/no-cycle -----
9126
- type ImportNoCycle = [] | [{
9127
- commonjs?: boolean;
9128
- amd?: boolean;
9129
- esmodule?: boolean;
9130
- ignore?: [string, ...(string)[]];
9131
- maxDepth?: (number | "∞");
9132
- ignoreExternal?: boolean;
9133
- allowUnsafeDynamicCyclicDependency?: boolean;
9134
- disableScc?: boolean;
9135
- }];
9136
- // ----- import/no-duplicates -----
9137
- type ImportNoDuplicates = [] | [{
9138
- considerQueryString?: boolean;
9139
- "prefer-inline"?: boolean;
9140
- }];
9141
- // ----- import/no-dynamic-require -----
9142
- type ImportNoDynamicRequire = [] | [{
9143
- esmodule?: boolean;
9144
- }];
9145
- // ----- import/no-extraneous-dependencies -----
9146
- type ImportNoExtraneousDependencies = [] | [{
9147
- devDependencies?: (boolean | unknown[]);
9148
- optionalDependencies?: (boolean | unknown[]);
9149
- peerDependencies?: (boolean | unknown[]);
9150
- bundledDependencies?: (boolean | unknown[]);
9151
- packageDir?: (string | unknown[]);
9152
- includeInternal?: boolean;
9153
- includeTypes?: boolean;
9154
- }];
9155
- // ----- import/no-import-module-exports -----
9156
- type ImportNoImportModuleExports = [] | [{
9157
- exceptions?: unknown[];
9158
- }];
9159
- // ----- import/no-internal-modules -----
9160
- type ImportNoInternalModules = [] | [({
9161
- allow?: string[];
9162
- } | {
9163
- forbid?: string[];
9164
- })];
9165
- // ----- import/no-namespace -----
9166
- type ImportNoNamespace = [] | [{
9167
- ignore?: string[];
9168
- [k: string]: unknown | undefined;
9169
- }];
9170
- // ----- import/no-nodejs-modules -----
9171
- type ImportNoNodejsModules = [] | [{
9172
- allow?: string[];
9173
- }];
9174
- // ----- import/no-relative-packages -----
9175
- type ImportNoRelativePackages = [] | [{
9176
- commonjs?: boolean;
9177
- amd?: boolean;
9178
- esmodule?: boolean;
9179
- ignore?: [string, ...(string)[]];
9180
- }];
9181
- // ----- import/no-relative-parent-imports -----
9182
- type ImportNoRelativeParentImports = [] | [{
9183
- commonjs?: boolean;
9184
- amd?: boolean;
9185
- esmodule?: boolean;
9186
- ignore?: [string, ...(string)[]];
9187
- }];
9188
- // ----- import/no-restricted-paths -----
9189
- type ImportNoRestrictedPaths = [] | [{
9190
- zones?: [{
9191
- target?: (string | string[]);
9192
- from?: (string | string[]);
9193
- except?: string[];
9194
- message?: string;
9195
- }, ...({
9196
- target?: (string | string[]);
9197
- from?: (string | string[]);
9198
- except?: string[];
9199
- message?: string;
9200
- })[]];
9201
- basePath?: string;
9202
- }];
9203
- // ----- import/no-unassigned-import -----
9204
- type ImportNoUnassignedImport = [] | [{
9205
- devDependencies?: (boolean | unknown[]);
9206
- optionalDependencies?: (boolean | unknown[]);
9207
- peerDependencies?: (boolean | unknown[]);
9208
- allow?: string[];
9209
- }];
9210
- // ----- import/no-unresolved -----
9211
- type ImportNoUnresolved = [] | [{
9212
- commonjs?: boolean;
9213
- amd?: boolean;
9214
- esmodule?: boolean;
9215
- ignore?: [string, ...(string)[]];
9216
- caseSensitive?: boolean;
9217
- caseSensitiveStrict?: boolean;
9218
- }];
9219
- // ----- import/no-unused-modules -----
9220
- type ImportNoUnusedModules = [] | [({
9221
- unusedExports: true;
9222
- src?: {
9223
- [k: string]: unknown | undefined;
9224
- };
9225
- [k: string]: unknown | undefined;
9226
- } | {
9227
- missingExports: true;
9228
- [k: string]: unknown | undefined;
9229
- })];
9230
- // ----- import/no-useless-path-segments -----
9231
- type ImportNoUselessPathSegments = [] | [{
9232
- commonjs?: boolean;
9233
- noUselessIndex?: boolean;
9234
- }];
9235
- // ----- import/order -----
9236
- type ImportOrder = [] | [{
9237
- groups?: (("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type") | ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type")[])[];
9238
- pathGroupsExcludedImportTypes?: unknown[];
9239
- distinctGroup?: boolean;
9240
- pathGroups?: {
9241
- pattern: string;
9242
- patternOptions?: {
9243
- [k: string]: unknown | undefined;
9244
- };
9245
- group: ("builtin" | "external" | "internal" | "unknown" | "parent" | "sibling" | "index" | "object" | "type");
9246
- position?: ("after" | "before");
9247
- }[];
9248
- "newlines-between"?: ("ignore" | "always" | "always-and-inside-groups" | "never");
9249
- "newlines-between-types"?: ("ignore" | "always" | "always-and-inside-groups" | "never");
9250
- consolidateIslands?: ("inside-groups" | "never");
9251
- sortTypesGroup?: boolean;
9252
- named?: (boolean | {
9253
- enabled?: boolean;
9254
- import?: boolean;
9255
- export?: boolean;
9256
- require?: boolean;
9257
- cjsExports?: boolean;
9258
- types?: ("mixed" | "types-first" | "types-last");
9259
- });
9260
- alphabetize?: {
9261
- caseInsensitive?: boolean;
9262
- order?: ("ignore" | "asc" | "desc");
9263
- orderImportKind?: ("ignore" | "asc" | "desc");
9264
- };
9265
- warnOnUnassignedImports?: boolean;
9266
- }];
9267
- // ----- import/prefer-default-export -----
9268
- type ImportPreferDefaultExport = [] | [{
9269
- target?: ("single" | "any");
9270
- }];
9271
8826
  // ----- indent -----
9272
8827
  type Indent = [] | [("tab" | number)] | [("tab" | number), {
9273
8828
  SwitchCase?: number;
@@ -10064,10 +9619,17 @@ type NoRestrictedExports = [] | [({
10064
9619
  };
10065
9620
  })];
10066
9621
  // ----- no-restricted-globals -----
10067
- type NoRestrictedGlobals = (string | {
9622
+ type NoRestrictedGlobals = ((string | {
10068
9623
  name: string;
10069
9624
  message?: string;
10070
- })[];
9625
+ })[] | [] | [{
9626
+ globals: (string | {
9627
+ name: string;
9628
+ message?: string;
9629
+ })[];
9630
+ checkGlobalObject?: boolean;
9631
+ globalObjects?: string[];
9632
+ }]);
10071
9633
  // ----- no-restricted-imports -----
10072
9634
  type NoRestrictedImports = ((string | {
10073
9635
  name: string;
@@ -10295,6 +9857,8 @@ type OneVar = [] | [(("always" | "never" | "consecutive") | {
10295
9857
  var?: ("always" | "never" | "consecutive");
10296
9858
  let?: ("always" | "never" | "consecutive");
10297
9859
  const?: ("always" | "never" | "consecutive");
9860
+ using?: ("always" | "never" | "consecutive");
9861
+ awaitUsing?: ("always" | "never" | "consecutive");
10298
9862
  } | {
10299
9863
  initialized?: ("always" | "never" | "consecutive");
10300
9864
  uninitialized?: ("always" | "never" | "consecutive");
@@ -12101,6 +11665,15 @@ type PlaywrightValidExpect = [] | [{
12101
11665
  maxArgs?: number;
12102
11666
  minArgs?: number;
12103
11667
  }];
11668
+ // ----- playwright/valid-test-tags -----
11669
+ type PlaywrightValidTestTags = [] | [{
11670
+ allowedTags?: (string | {
11671
+ source?: string;
11672
+ })[];
11673
+ disallowedTags?: (string | {
11674
+ source?: string;
11675
+ })[];
11676
+ }];
12104
11677
  // ----- playwright/valid-title -----
12105
11678
  type PlaywrightValidTitle = [] | [{
12106
11679
  disallowedWords?: string[];
@@ -13163,6 +12736,7 @@ type VueNoDeprecatedRouterLinkTagProp = [] | [{
13163
12736
  // ----- vue/no-deprecated-slot-attribute -----
13164
12737
  type VueNoDeprecatedSlotAttribute = [] | [{
13165
12738
  ignore?: string[];
12739
+ ignoreParents?: string[];
13166
12740
  }];
13167
12741
  // ----- vue/no-dupe-keys -----
13168
12742
  type VueNoDupeKeys = [] | [{