@luxass/eslint-config 4.3.6 → 4.4.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.
package/dist/index.d.cts CHANGED
@@ -10,110 +10,6 @@ import { Options } from 'eslint-processor-vue-blocks';
10
10
 
11
11
 
12
12
  interface RuleOptions {
13
- /**
14
- * Enforce font-display behavior with Google Fonts.
15
- * @see https://nextjs.org/docs/messages/google-font-display
16
- */
17
- '@next/next/google-font-display'?: Linter.RuleEntry<[]>
18
- /**
19
- * Ensure `preconnect` is used with Google Fonts.
20
- * @see https://nextjs.org/docs/messages/google-font-preconnect
21
- */
22
- '@next/next/google-font-preconnect'?: Linter.RuleEntry<[]>
23
- /**
24
- * Enforce `id` attribute on `next/script` components with inline content.
25
- * @see https://nextjs.org/docs/messages/inline-script-id
26
- */
27
- '@next/next/inline-script-id'?: Linter.RuleEntry<[]>
28
- /**
29
- * Prefer `next/script` component when using the inline script for Google Analytics.
30
- * @see https://nextjs.org/docs/messages/next-script-for-ga
31
- */
32
- '@next/next/next-script-for-ga'?: Linter.RuleEntry<[]>
33
- /**
34
- * Prevent assignment to the `module` variable.
35
- * @see https://nextjs.org/docs/messages/no-assign-module-variable
36
- */
37
- '@next/next/no-assign-module-variable'?: Linter.RuleEntry<[]>
38
- /**
39
- * Prevent client components from being async functions.
40
- * @see https://nextjs.org/docs/messages/no-async-client-component
41
- */
42
- '@next/next/no-async-client-component'?: Linter.RuleEntry<[]>
43
- /**
44
- * Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`.
45
- * @see https://nextjs.org/docs/messages/no-before-interactive-script-outside-document
46
- */
47
- '@next/next/no-before-interactive-script-outside-document'?: Linter.RuleEntry<[]>
48
- /**
49
- * Prevent manual stylesheet tags.
50
- * @see https://nextjs.org/docs/messages/no-css-tags
51
- */
52
- '@next/next/no-css-tags'?: Linter.RuleEntry<[]>
53
- /**
54
- * Prevent importing `next/document` outside of `pages/_document.js`.
55
- * @see https://nextjs.org/docs/messages/no-document-import-in-page
56
- */
57
- '@next/next/no-document-import-in-page'?: Linter.RuleEntry<[]>
58
- /**
59
- * Prevent duplicate usage of `<Head>` in `pages/_document.js`.
60
- * @see https://nextjs.org/docs/messages/no-duplicate-head
61
- */
62
- '@next/next/no-duplicate-head'?: Linter.RuleEntry<[]>
63
- /**
64
- * Prevent usage of `<head>` element.
65
- * @see https://nextjs.org/docs/messages/no-head-element
66
- */
67
- '@next/next/no-head-element'?: Linter.RuleEntry<[]>
68
- /**
69
- * Prevent usage of `next/head` in `pages/_document.js`.
70
- * @see https://nextjs.org/docs/messages/no-head-import-in-document
71
- */
72
- '@next/next/no-head-import-in-document'?: Linter.RuleEntry<[]>
73
- /**
74
- * Prevent usage of `<a>` elements to navigate to internal Next.js pages.
75
- * @see https://nextjs.org/docs/messages/no-html-link-for-pages
76
- */
77
- '@next/next/no-html-link-for-pages'?: Linter.RuleEntry<NextNextNoHtmlLinkForPages>
78
- /**
79
- * Prevent usage of `<img>` element due to slower LCP and higher bandwidth.
80
- * @see https://nextjs.org/docs/messages/no-img-element
81
- */
82
- '@next/next/no-img-element'?: Linter.RuleEntry<[]>
83
- /**
84
- * Prevent page-only custom fonts.
85
- * @see https://nextjs.org/docs/messages/no-page-custom-font
86
- */
87
- '@next/next/no-page-custom-font'?: Linter.RuleEntry<[]>
88
- /**
89
- * Prevent usage of `next/script` in `next/head` component.
90
- * @see https://nextjs.org/docs/messages/no-script-component-in-head
91
- */
92
- '@next/next/no-script-component-in-head'?: Linter.RuleEntry<[]>
93
- /**
94
- * Prevent usage of `styled-jsx` in `pages/_document.js`.
95
- * @see https://nextjs.org/docs/messages/no-styled-jsx-in-document
96
- */
97
- '@next/next/no-styled-jsx-in-document'?: Linter.RuleEntry<[]>
98
- /**
99
- * Prevent synchronous scripts.
100
- * @see https://nextjs.org/docs/messages/no-sync-scripts
101
- */
102
- '@next/next/no-sync-scripts'?: Linter.RuleEntry<[]>
103
- /**
104
- * Prevent usage of `<title>` with `Head` component from `next/document`.
105
- * @see https://nextjs.org/docs/messages/no-title-in-document-head
106
- */
107
- '@next/next/no-title-in-document-head'?: Linter.RuleEntry<[]>
108
- /**
109
- * Prevent common typos in Next.js data fetching functions.
110
- */
111
- '@next/next/no-typos'?: Linter.RuleEntry<[]>
112
- /**
113
- * Prevent duplicate polyfills from Polyfill.io.
114
- * @see https://nextjs.org/docs/messages/no-unwanted-polyfillio
115
- */
116
- '@next/next/no-unwanted-polyfillio'?: Linter.RuleEntry<[]>
117
13
  /**
118
14
  * Enforce getter and setter pairs in objects and classes
119
15
  * @see https://eslint.org/docs/latest/rules/accessor-pairs
@@ -198,182 +94,182 @@ interface RuleOptions {
198
94
  * apply `jsx-a11y/alt-text` rule to Astro components
199
95
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/alt-text/
200
96
  */
201
- 'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<AstroJsxA11yAltText>
97
+ 'astro/jsx-a11y/alt-text'?: Linter.RuleEntry<[]>
202
98
  /**
203
99
  * apply `jsx-a11y/anchor-ambiguous-text` rule to Astro components
204
100
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-ambiguous-text/
205
101
  */
206
- 'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<AstroJsxA11yAnchorAmbiguousText>
102
+ 'astro/jsx-a11y/anchor-ambiguous-text'?: Linter.RuleEntry<[]>
207
103
  /**
208
104
  * apply `jsx-a11y/anchor-has-content` rule to Astro components
209
105
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-has-content/
210
106
  */
211
- 'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<AstroJsxA11yAnchorHasContent>
107
+ 'astro/jsx-a11y/anchor-has-content'?: Linter.RuleEntry<[]>
212
108
  /**
213
109
  * apply `jsx-a11y/anchor-is-valid` rule to Astro components
214
110
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/anchor-is-valid/
215
111
  */
216
- 'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<AstroJsxA11yAnchorIsValid>
112
+ 'astro/jsx-a11y/anchor-is-valid'?: Linter.RuleEntry<[]>
217
113
  /**
218
114
  * apply `jsx-a11y/aria-activedescendant-has-tabindex` rule to Astro components
219
115
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-activedescendant-has-tabindex/
220
116
  */
221
- 'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<AstroJsxA11yAriaActivedescendantHasTabindex>
117
+ 'astro/jsx-a11y/aria-activedescendant-has-tabindex'?: Linter.RuleEntry<[]>
222
118
  /**
223
119
  * apply `jsx-a11y/aria-props` rule to Astro components
224
120
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-props/
225
121
  */
226
- 'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<AstroJsxA11yAriaProps>
122
+ 'astro/jsx-a11y/aria-props'?: Linter.RuleEntry<[]>
227
123
  /**
228
124
  * apply `jsx-a11y/aria-proptypes` rule to Astro components
229
125
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-proptypes/
230
126
  */
231
- 'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<AstroJsxA11yAriaProptypes>
127
+ 'astro/jsx-a11y/aria-proptypes'?: Linter.RuleEntry<[]>
232
128
  /**
233
129
  * apply `jsx-a11y/aria-role` rule to Astro components
234
130
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-role/
235
131
  */
236
- 'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<AstroJsxA11yAriaRole>
132
+ 'astro/jsx-a11y/aria-role'?: Linter.RuleEntry<[]>
237
133
  /**
238
134
  * apply `jsx-a11y/aria-unsupported-elements` rule to Astro components
239
135
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/aria-unsupported-elements/
240
136
  */
241
- 'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<AstroJsxA11yAriaUnsupportedElements>
137
+ 'astro/jsx-a11y/aria-unsupported-elements'?: Linter.RuleEntry<[]>
242
138
  /**
243
139
  * apply `jsx-a11y/autocomplete-valid` rule to Astro components
244
140
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/autocomplete-valid/
245
141
  */
246
- 'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<AstroJsxA11yAutocompleteValid>
142
+ 'astro/jsx-a11y/autocomplete-valid'?: Linter.RuleEntry<[]>
247
143
  /**
248
144
  * apply `jsx-a11y/click-events-have-key-events` rule to Astro components
249
145
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/click-events-have-key-events/
250
146
  */
251
- 'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11yClickEventsHaveKeyEvents>
147
+ 'astro/jsx-a11y/click-events-have-key-events'?: Linter.RuleEntry<[]>
252
148
  /**
253
149
  * apply `jsx-a11y/control-has-associated-label` rule to Astro components
254
150
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/control-has-associated-label/
255
151
  */
256
- 'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<AstroJsxA11yControlHasAssociatedLabel>
152
+ 'astro/jsx-a11y/control-has-associated-label'?: Linter.RuleEntry<[]>
257
153
  /**
258
154
  * apply `jsx-a11y/heading-has-content` rule to Astro components
259
155
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/heading-has-content/
260
156
  */
261
- 'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<AstroJsxA11yHeadingHasContent>
157
+ 'astro/jsx-a11y/heading-has-content'?: Linter.RuleEntry<[]>
262
158
  /**
263
159
  * apply `jsx-a11y/html-has-lang` rule to Astro components
264
160
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/html-has-lang/
265
161
  */
266
- 'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<AstroJsxA11yHtmlHasLang>
162
+ 'astro/jsx-a11y/html-has-lang'?: Linter.RuleEntry<[]>
267
163
  /**
268
164
  * apply `jsx-a11y/iframe-has-title` rule to Astro components
269
165
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/iframe-has-title/
270
166
  */
271
- 'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<AstroJsxA11yIframeHasTitle>
167
+ 'astro/jsx-a11y/iframe-has-title'?: Linter.RuleEntry<[]>
272
168
  /**
273
169
  * apply `jsx-a11y/img-redundant-alt` rule to Astro components
274
170
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/img-redundant-alt/
275
171
  */
276
- 'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<AstroJsxA11yImgRedundantAlt>
172
+ 'astro/jsx-a11y/img-redundant-alt'?: Linter.RuleEntry<[]>
277
173
  /**
278
174
  * apply `jsx-a11y/interactive-supports-focus` rule to Astro components
279
175
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/interactive-supports-focus/
280
176
  */
281
- 'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<AstroJsxA11yInteractiveSupportsFocus>
177
+ 'astro/jsx-a11y/interactive-supports-focus'?: Linter.RuleEntry<[]>
282
178
  /**
283
179
  * apply `jsx-a11y/label-has-associated-control` rule to Astro components
284
180
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/label-has-associated-control/
285
181
  */
286
- 'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<AstroJsxA11yLabelHasAssociatedControl>
182
+ 'astro/jsx-a11y/label-has-associated-control'?: Linter.RuleEntry<[]>
287
183
  /**
288
184
  * apply `jsx-a11y/lang` rule to Astro components
289
185
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/lang/
290
186
  */
291
- 'astro/jsx-a11y/lang'?: Linter.RuleEntry<AstroJsxA11yLang>
187
+ 'astro/jsx-a11y/lang'?: Linter.RuleEntry<[]>
292
188
  /**
293
189
  * apply `jsx-a11y/media-has-caption` rule to Astro components
294
190
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/media-has-caption/
295
191
  */
296
- 'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<AstroJsxA11yMediaHasCaption>
192
+ 'astro/jsx-a11y/media-has-caption'?: Linter.RuleEntry<[]>
297
193
  /**
298
194
  * apply `jsx-a11y/mouse-events-have-key-events` rule to Astro components
299
195
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/mouse-events-have-key-events/
300
196
  */
301
- 'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<AstroJsxA11yMouseEventsHaveKeyEvents>
197
+ 'astro/jsx-a11y/mouse-events-have-key-events'?: Linter.RuleEntry<[]>
302
198
  /**
303
199
  * apply `jsx-a11y/no-access-key` rule to Astro components
304
200
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-access-key/
305
201
  */
306
- 'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<AstroJsxA11yNoAccessKey>
202
+ 'astro/jsx-a11y/no-access-key'?: Linter.RuleEntry<[]>
307
203
  /**
308
204
  * apply `jsx-a11y/no-aria-hidden-on-focusable` rule to Astro components
309
205
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-aria-hidden-on-focusable/
310
206
  */
311
- 'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<AstroJsxA11yNoAriaHiddenOnFocusable>
207
+ 'astro/jsx-a11y/no-aria-hidden-on-focusable'?: Linter.RuleEntry<[]>
312
208
  /**
313
209
  * apply `jsx-a11y/no-autofocus` rule to Astro components
314
210
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-autofocus/
315
211
  */
316
- 'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<AstroJsxA11yNoAutofocus>
212
+ 'astro/jsx-a11y/no-autofocus'?: Linter.RuleEntry<[]>
317
213
  /**
318
214
  * apply `jsx-a11y/no-distracting-elements` rule to Astro components
319
215
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-distracting-elements/
320
216
  */
321
- 'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<AstroJsxA11yNoDistractingElements>
217
+ 'astro/jsx-a11y/no-distracting-elements'?: Linter.RuleEntry<[]>
322
218
  /**
323
219
  * apply `jsx-a11y/no-interactive-element-to-noninteractive-role` rule to Astro components
324
220
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-interactive-element-to-noninteractive-role/
325
221
  */
326
- 'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<AstroJsxA11yNoInteractiveElementToNoninteractiveRole>
222
+ 'astro/jsx-a11y/no-interactive-element-to-noninteractive-role'?: Linter.RuleEntry<[]>
327
223
  /**
328
224
  * apply `jsx-a11y/no-noninteractive-element-interactions` rule to Astro components
329
225
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-interactions/
330
226
  */
331
- 'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<AstroJsxA11yNoNoninteractiveElementInteractions>
227
+ 'astro/jsx-a11y/no-noninteractive-element-interactions'?: Linter.RuleEntry<[]>
332
228
  /**
333
229
  * apply `jsx-a11y/no-noninteractive-element-to-interactive-role` rule to Astro components
334
230
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-element-to-interactive-role/
335
231
  */
336
- 'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<AstroJsxA11yNoNoninteractiveElementToInteractiveRole>
232
+ 'astro/jsx-a11y/no-noninteractive-element-to-interactive-role'?: Linter.RuleEntry<[]>
337
233
  /**
338
234
  * apply `jsx-a11y/no-noninteractive-tabindex` rule to Astro components
339
235
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-noninteractive-tabindex/
340
236
  */
341
- 'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<AstroJsxA11yNoNoninteractiveTabindex>
237
+ 'astro/jsx-a11y/no-noninteractive-tabindex'?: Linter.RuleEntry<[]>
342
238
  /**
343
239
  * apply `jsx-a11y/no-redundant-roles` rule to Astro components
344
240
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-redundant-roles/
345
241
  */
346
- 'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<AstroJsxA11yNoRedundantRoles>
242
+ 'astro/jsx-a11y/no-redundant-roles'?: Linter.RuleEntry<[]>
347
243
  /**
348
244
  * apply `jsx-a11y/no-static-element-interactions` rule to Astro components
349
245
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/no-static-element-interactions/
350
246
  */
351
- 'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<AstroJsxA11yNoStaticElementInteractions>
247
+ 'astro/jsx-a11y/no-static-element-interactions'?: Linter.RuleEntry<[]>
352
248
  /**
353
249
  * apply `jsx-a11y/prefer-tag-over-role` rule to Astro components
354
250
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/prefer-tag-over-role/
355
251
  */
356
- 'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<AstroJsxA11yPreferTagOverRole>
252
+ 'astro/jsx-a11y/prefer-tag-over-role'?: Linter.RuleEntry<[]>
357
253
  /**
358
254
  * apply `jsx-a11y/role-has-required-aria-props` rule to Astro components
359
255
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-has-required-aria-props/
360
256
  */
361
- 'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<AstroJsxA11yRoleHasRequiredAriaProps>
257
+ 'astro/jsx-a11y/role-has-required-aria-props'?: Linter.RuleEntry<[]>
362
258
  /**
363
259
  * apply `jsx-a11y/role-supports-aria-props` rule to Astro components
364
260
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/role-supports-aria-props/
365
261
  */
366
- 'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<AstroJsxA11yRoleSupportsAriaProps>
262
+ 'astro/jsx-a11y/role-supports-aria-props'?: Linter.RuleEntry<[]>
367
263
  /**
368
264
  * apply `jsx-a11y/scope` rule to Astro components
369
265
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/scope/
370
266
  */
371
- 'astro/jsx-a11y/scope'?: Linter.RuleEntry<AstroJsxA11yScope>
267
+ 'astro/jsx-a11y/scope'?: Linter.RuleEntry<[]>
372
268
  /**
373
269
  * apply `jsx-a11y/tabindex-no-positive` rule to Astro components
374
270
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/jsx-a11y/tabindex-no-positive/
375
271
  */
376
- 'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<AstroJsxA11yTabindexNoPositive>
272
+ 'astro/jsx-a11y/tabindex-no-positive'?: Linter.RuleEntry<[]>
377
273
  /**
378
274
  * the client:only directive is missing the correct component's framework value
379
275
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/missing-client-only-directive-value/
@@ -1589,6 +1485,110 @@ interface RuleOptions {
1589
1485
  * @deprecated
1590
1486
  */
1591
1487
  'newline-per-chained-call'?: Linter.RuleEntry<NewlinePerChainedCall>
1488
+ /**
1489
+ * Enforce font-display behavior with Google Fonts.
1490
+ * @see https://nextjs.org/docs/messages/google-font-display
1491
+ */
1492
+ 'nextjs/google-font-display'?: Linter.RuleEntry<[]>
1493
+ /**
1494
+ * Ensure `preconnect` is used with Google Fonts.
1495
+ * @see https://nextjs.org/docs/messages/google-font-preconnect
1496
+ */
1497
+ 'nextjs/google-font-preconnect'?: Linter.RuleEntry<[]>
1498
+ /**
1499
+ * Enforce `id` attribute on `next/script` components with inline content.
1500
+ * @see https://nextjs.org/docs/messages/inline-script-id
1501
+ */
1502
+ 'nextjs/inline-script-id'?: Linter.RuleEntry<[]>
1503
+ /**
1504
+ * Prefer `next/script` component when using the inline script for Google Analytics.
1505
+ * @see https://nextjs.org/docs/messages/next-script-for-ga
1506
+ */
1507
+ 'nextjs/next-script-for-ga'?: Linter.RuleEntry<[]>
1508
+ /**
1509
+ * Prevent assignment to the `module` variable.
1510
+ * @see https://nextjs.org/docs/messages/no-assign-module-variable
1511
+ */
1512
+ 'nextjs/no-assign-module-variable'?: Linter.RuleEntry<[]>
1513
+ /**
1514
+ * Prevent client components from being async functions.
1515
+ * @see https://nextjs.org/docs/messages/no-async-client-component
1516
+ */
1517
+ 'nextjs/no-async-client-component'?: Linter.RuleEntry<[]>
1518
+ /**
1519
+ * Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`.
1520
+ * @see https://nextjs.org/docs/messages/no-before-interactive-script-outside-document
1521
+ */
1522
+ 'nextjs/no-before-interactive-script-outside-document'?: Linter.RuleEntry<[]>
1523
+ /**
1524
+ * Prevent manual stylesheet tags.
1525
+ * @see https://nextjs.org/docs/messages/no-css-tags
1526
+ */
1527
+ 'nextjs/no-css-tags'?: Linter.RuleEntry<[]>
1528
+ /**
1529
+ * Prevent importing `next/document` outside of `pages/_document.js`.
1530
+ * @see https://nextjs.org/docs/messages/no-document-import-in-page
1531
+ */
1532
+ 'nextjs/no-document-import-in-page'?: Linter.RuleEntry<[]>
1533
+ /**
1534
+ * Prevent duplicate usage of `<Head>` in `pages/_document.js`.
1535
+ * @see https://nextjs.org/docs/messages/no-duplicate-head
1536
+ */
1537
+ 'nextjs/no-duplicate-head'?: Linter.RuleEntry<[]>
1538
+ /**
1539
+ * Prevent usage of `<head>` element.
1540
+ * @see https://nextjs.org/docs/messages/no-head-element
1541
+ */
1542
+ 'nextjs/no-head-element'?: Linter.RuleEntry<[]>
1543
+ /**
1544
+ * Prevent usage of `next/head` in `pages/_document.js`.
1545
+ * @see https://nextjs.org/docs/messages/no-head-import-in-document
1546
+ */
1547
+ 'nextjs/no-head-import-in-document'?: Linter.RuleEntry<[]>
1548
+ /**
1549
+ * Prevent usage of `<a>` elements to navigate to internal Next.js pages.
1550
+ * @see https://nextjs.org/docs/messages/no-html-link-for-pages
1551
+ */
1552
+ 'nextjs/no-html-link-for-pages'?: Linter.RuleEntry<NextjsNoHtmlLinkForPages>
1553
+ /**
1554
+ * Prevent usage of `<img>` element due to slower LCP and higher bandwidth.
1555
+ * @see https://nextjs.org/docs/messages/no-img-element
1556
+ */
1557
+ 'nextjs/no-img-element'?: Linter.RuleEntry<[]>
1558
+ /**
1559
+ * Prevent page-only custom fonts.
1560
+ * @see https://nextjs.org/docs/messages/no-page-custom-font
1561
+ */
1562
+ 'nextjs/no-page-custom-font'?: Linter.RuleEntry<[]>
1563
+ /**
1564
+ * Prevent usage of `next/script` in `next/head` component.
1565
+ * @see https://nextjs.org/docs/messages/no-script-component-in-head
1566
+ */
1567
+ 'nextjs/no-script-component-in-head'?: Linter.RuleEntry<[]>
1568
+ /**
1569
+ * Prevent usage of `styled-jsx` in `pages/_document.js`.
1570
+ * @see https://nextjs.org/docs/messages/no-styled-jsx-in-document
1571
+ */
1572
+ 'nextjs/no-styled-jsx-in-document'?: Linter.RuleEntry<[]>
1573
+ /**
1574
+ * Prevent synchronous scripts.
1575
+ * @see https://nextjs.org/docs/messages/no-sync-scripts
1576
+ */
1577
+ 'nextjs/no-sync-scripts'?: Linter.RuleEntry<[]>
1578
+ /**
1579
+ * Prevent usage of `<title>` with `Head` component from `next/document`.
1580
+ * @see https://nextjs.org/docs/messages/no-title-in-document-head
1581
+ */
1582
+ 'nextjs/no-title-in-document-head'?: Linter.RuleEntry<[]>
1583
+ /**
1584
+ * Prevent common typos in Next.js data fetching functions.
1585
+ */
1586
+ 'nextjs/no-typos'?: Linter.RuleEntry<[]>
1587
+ /**
1588
+ * Prevent duplicate polyfills from Polyfill.io.
1589
+ * @see https://nextjs.org/docs/messages/no-unwanted-polyfillio
1590
+ */
1591
+ 'nextjs/no-unwanted-polyfillio'?: Linter.RuleEntry<[]>
1592
1592
  /**
1593
1593
  * Disallow the use of `alert`, `confirm`, and `prompt`
1594
1594
  * @see https://eslint.org/docs/latest/rules/no-alert
@@ -2415,6 +2415,11 @@ interface RuleOptions {
2415
2415
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/handle-callback-err.md
2416
2416
  */
2417
2417
  'node/handle-callback-err'?: Linter.RuleEntry<NodeHandleCallbackErr>
2418
+ /**
2419
+ * require correct usage of hashbang
2420
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
2421
+ */
2422
+ 'node/hashbang'?: Linter.RuleEntry<NodeHashbang>
2418
2423
  /**
2419
2424
  * enforce Node.js-style error-first callback pattern is followed
2420
2425
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-callback-literal.md
@@ -2511,12 +2516,6 @@ interface RuleOptions {
2511
2516
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-require.md
2512
2517
  */
2513
2518
  'node/no-unpublished-require'?: Linter.RuleEntry<NodeNoUnpublishedRequire>
2514
- /**
2515
- * disallow unsupported ECMAScript features on the specified version
2516
- * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features.md
2517
- * @deprecated
2518
- */
2519
- 'node/no-unsupported-features'?: Linter.RuleEntry<NodeNoUnsupportedFeatures>
2520
2519
  /**
2521
2520
  * disallow unsupported ECMAScript built-ins on the specified version
2522
2521
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features/es-builtins.md
@@ -2567,6 +2566,11 @@ interface RuleOptions {
2567
2566
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/url-search-params.md
2568
2567
  */
2569
2568
  'node/prefer-global/url-search-params'?: Linter.RuleEntry<NodePreferGlobalUrlSearchParams>
2569
+ /**
2570
+ * enforce using the `node:` protocol when importing Node.js builtin modules.
2571
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-node-protocol.md
2572
+ */
2573
+ 'node/prefer-node-protocol'?: Linter.RuleEntry<NodePreferNodeProtocol>
2570
2574
  /**
2571
2575
  * enforce `require("dns").promises`
2572
2576
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-promises/dns.md
@@ -2583,8 +2587,9 @@ interface RuleOptions {
2583
2587
  */
2584
2588
  'node/process-exit-as-throw'?: Linter.RuleEntry<[]>
2585
2589
  /**
2586
- * require correct usage of shebang
2587
- * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/shebang.md
2590
+ * require correct usage of hashbang
2591
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
2592
+ * @deprecated
2588
2593
  */
2589
2594
  'node/shebang'?: Linter.RuleEntry<NodeShebang>
2590
2595
  /**
@@ -2739,585 +2744,373 @@ interface RuleOptions {
2739
2744
  */
2740
2745
  'radix'?: Linter.RuleEntry<Radix>
2741
2746
  /**
2742
- * verifies the list of dependencies for Hooks like useEffect and similar
2743
- * @see https://github.com/facebook/react/issues/14920
2747
+ * disallow passing 'children' to void DOM elements
2748
+ * @see https://eslint-react.xyz/rules/dom-no-children-in-void-dom-elements
2744
2749
  */
2745
- 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>
2750
+ 'react-dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
2746
2751
  /**
2747
- * enforces the Rules of Hooks
2748
- * @see https://reactjs.org/docs/hooks-rules.html
2752
+ * disallow when a DOM component is using 'dangerouslySetInnerHTML'
2753
+ * @see https://eslint-react.xyz/rules/dom-no-dangerously-set-innerhtml
2749
2754
  */
2750
- 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
2751
- 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
2755
+ 'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
2752
2756
  /**
2753
- * Enforces consistent naming for boolean props
2754
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/boolean-prop-naming.md
2757
+ * disallow when a DOM component is using both 'children' and 'dangerouslySetInnerHTML'
2758
+ * @see https://eslint-react.xyz/rules/dom-no-dangerously-set-innerhtml-with-children
2755
2759
  */
2756
- 'react/boolean-prop-naming'?: Linter.RuleEntry<ReactBooleanPropNaming>
2760
+ 'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
2757
2761
  /**
2758
- * Disallow usage of `button` elements without an explicit `type` attribute
2759
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/button-has-type.md
2762
+ * disallow 'findDOMNode'
2763
+ * @see https://eslint-react.xyz/rules/dom-no-find-dom-node
2760
2764
  */
2761
- 'react/button-has-type'?: Linter.RuleEntry<ReactButtonHasType>
2765
+ 'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
2762
2766
  /**
2763
- * Enforce using `onChange` or `readonly` attribute when `checked` is used
2764
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/checked-requires-onchange-or-readonly.md
2767
+ * enforce that button component have an explicit 'type' attribute
2768
+ * @see https://eslint-react.xyz/rules/dom-no-missing-button-type
2765
2769
  */
2766
- 'react/checked-requires-onchange-or-readonly'?: Linter.RuleEntry<ReactCheckedRequiresOnchangeOrReadonly>
2770
+ 'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
2767
2771
  /**
2768
- * Enforce all defaultProps have a corresponding non-required PropType
2769
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/default-props-match-prop-types.md
2772
+ * enforce that 'iframe' component have an explicit 'sandbox' attribute
2773
+ * @see https://eslint-react.xyz/rules/dom-no-missing-iframe-sandbox
2770
2774
  */
2771
- 'react/default-props-match-prop-types'?: Linter.RuleEntry<ReactDefaultPropsMatchPropTypes>
2775
+ 'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
2772
2776
  /**
2773
- * Enforce consistent usage of destructuring assignment of props, state, and context
2774
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/destructuring-assignment.md
2777
+ * enforce that namespaces are not used in React elements
2778
+ * @see https://eslint-react.xyz/rules/dom-no-namespace
2775
2779
  */
2776
- 'react/destructuring-assignment'?: Linter.RuleEntry<ReactDestructuringAssignment>
2780
+ 'react-dom/no-namespace'?: Linter.RuleEntry<[]>
2777
2781
  /**
2778
- * Disallow missing displayName in a React component definition
2779
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/display-name.md
2782
+ * disallow usage of the return value of 'ReactDOM.render'
2783
+ * @see https://eslint-react.xyz/rules/dom-no-render-return-value
2780
2784
  */
2781
- 'react/display-name'?: Linter.RuleEntry<ReactDisplayName>
2785
+ 'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>
2782
2786
  /**
2783
- * Disallow certain props on components
2784
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-component-props.md
2787
+ * disallow 'javascript:' URLs as JSX event handler prop's value
2788
+ * @see https://eslint-react.xyz/rules/dom-no-script-url
2785
2789
  */
2786
- 'react/forbid-component-props'?: Linter.RuleEntry<ReactForbidComponentProps>
2790
+ 'react-dom/no-script-url'?: Linter.RuleEntry<[]>
2787
2791
  /**
2788
- * Disallow certain props on DOM Nodes
2789
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-dom-props.md
2792
+ * disallow unsafe iframe 'sandbox' attribute combinations
2793
+ * @see https://eslint-react.xyz/rules/dom-no-unsafe-iframe-sandbox
2790
2794
  */
2791
- 'react/forbid-dom-props'?: Linter.RuleEntry<ReactForbidDomProps>
2795
+ 'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
2792
2796
  /**
2793
- * Disallow certain elements
2794
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-elements.md
2797
+ * disallow 'target="_blank"' on an external link without 'rel="noreferrer noopener"'.
2798
+ * @see https://eslint-react.xyz/rules/dom-no-unsafe-target-blank
2795
2799
  */
2796
- 'react/forbid-elements'?: Linter.RuleEntry<ReactForbidElements>
2800
+ 'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
2797
2801
  /**
2798
- * Disallow using another component's propTypes
2799
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-foreign-prop-types.md
2802
+ * enforce custom hooks using other hooks
2803
+ * @see https://eslint-react.xyz/rules/hooks-extra-ensure-custom-hooks-using-other-hooks
2800
2804
  */
2801
- 'react/forbid-foreign-prop-types'?: Linter.RuleEntry<ReactForbidForeignPropTypes>
2805
+ 'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
2802
2806
  /**
2803
- * Disallow certain propTypes
2804
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-prop-types.md
2807
+ * enforce 'useCallback' has non-empty dependencies array
2808
+ * @see https://eslint-react.xyz/rules/hooks-extra-ensure-use-callback-has-non-empty-deps
2805
2809
  */
2806
- 'react/forbid-prop-types'?: Linter.RuleEntry<ReactForbidPropTypes>
2810
+ 'react-hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
2807
2811
  /**
2808
- * Enforce a specific function type for function components
2809
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/function-component-definition.md
2812
+ * enforce 'useMemo' has non-empty dependencies array
2813
+ * @see https://eslint-react.xyz/rules/hooks-extra-ensure-use-memo-has-non-empty-deps
2810
2814
  */
2811
- 'react/function-component-definition'?: Linter.RuleEntry<ReactFunctionComponentDefinition>
2815
+ 'react-hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>
2812
2816
  /**
2813
- * Ensure destructuring and symmetric naming of useState hook value and setter variables
2814
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/hook-use-state.md
2817
+ * disallow function calls in 'useState' that aren't wrapped in an initializer function
2818
+ * @see https://eslint-react.xyz/rules/hooks-extra-prefer-use-state-lazy-initialization
2815
2819
  */
2816
- 'react/hook-use-state'?: Linter.RuleEntry<ReactHookUseState>
2820
+ 'react-hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
2817
2821
  /**
2818
- * Enforce sandbox attribute on iframe elements
2819
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/iframe-missing-sandbox.md
2822
+ * verifies the list of dependencies for Hooks like useEffect and similar
2823
+ * @see https://github.com/facebook/react/issues/14920
2820
2824
  */
2821
- 'react/iframe-missing-sandbox'?: Linter.RuleEntry<[]>
2825
+ 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>
2822
2826
  /**
2823
- * Enforce boolean attributes notation in JSX
2824
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-boolean-value.md
2827
+ * enforces the Rules of Hooks
2828
+ * @see https://reactjs.org/docs/hooks-rules.html
2825
2829
  */
2826
- 'react/jsx-boolean-value'?: Linter.RuleEntry<ReactJsxBooleanValue>
2830
+ 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
2827
2831
  /**
2828
- * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
2829
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-child-element-spacing.md
2832
+ * enforce component naming convention to 'PascalCase' or 'CONSTANT_CASE'
2833
+ * @see https://eslint-react.xyz/rules/naming-convention-component-name
2830
2834
  */
2831
- 'react/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
2835
+ 'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>
2832
2836
  /**
2833
- * Enforce closing bracket location in JSX
2834
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-closing-bracket-location.md
2837
+ * enforce naming convention for JSX filenames
2838
+ * @see https://eslint-react.xyz/rules/naming-convention-filename
2835
2839
  */
2836
- 'react/jsx-closing-bracket-location'?: Linter.RuleEntry<ReactJsxClosingBracketLocation>
2840
+ 'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
2837
2841
  /**
2838
- * Enforce closing tag location for multiline JSX
2839
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-closing-tag-location.md
2842
+ * enforce naming convention for JSX file extensions
2843
+ * @see https://eslint-react.xyz/rules/naming-convention-filename-extension
2840
2844
  */
2841
- 'react/jsx-closing-tag-location'?: Linter.RuleEntry<[]>
2845
+ 'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
2842
2846
  /**
2843
- * Disallow unnecessary JSX expressions when literals alone are sufficient or enforce JSX expressions on literals in JSX children or attributes
2844
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-brace-presence.md
2847
+ * enforce destructuring and symmetric naming of 'useState' hook value and setter variables
2848
+ * @see https://eslint-react.xyz/rules/naming-convention-use-state
2845
2849
  */
2846
- 'react/jsx-curly-brace-presence'?: Linter.RuleEntry<ReactJsxCurlyBracePresence>
2850
+ 'react-naming-convention/use-state'?: Linter.RuleEntry<[]>
2851
+ 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
2847
2852
  /**
2848
- * Enforce consistent linebreaks in curly braces in JSX attributes and expressions
2849
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-newline.md
2853
+ * require all 'forwardRef' components include a 'ref' parameter
2854
+ * @see https://eslint-react.xyz/rules/ensure-forward-ref-using-ref
2850
2855
  */
2851
- 'react/jsx-curly-newline'?: Linter.RuleEntry<ReactJsxCurlyNewline>
2856
+ 'react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
2852
2857
  /**
2853
- * Enforce or disallow spaces inside of curly braces in JSX attributes and expressions
2854
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-curly-spacing.md
2858
+ * disallow accessing 'this.state' within 'setState'
2859
+ * @see https://eslint-react.xyz/rules/no-access-state-in-setstate
2855
2860
  */
2856
- 'react/jsx-curly-spacing'?: Linter.RuleEntry<ReactJsxCurlySpacing>
2861
+ 'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
2857
2862
  /**
2858
- * Enforce or disallow spaces around equal signs in JSX attributes
2859
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-equals-spacing.md
2863
+ * disallow using Array index as key
2864
+ * @see https://eslint-react.xyz/rules/no-array-index-key
2860
2865
  */
2861
- 'react/jsx-equals-spacing'?: Linter.RuleEntry<ReactJsxEqualsSpacing>
2866
+ 'react/no-array-index-key'?: Linter.RuleEntry<[]>
2862
2867
  /**
2863
- * Disallow file extensions that may contain JSX
2864
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-filename-extension.md
2868
+ * disallow 'Children.count'
2869
+ * @see https://eslint-react.xyz/rules/no-children-count
2865
2870
  */
2866
- 'react/jsx-filename-extension'?: Linter.RuleEntry<ReactJsxFilenameExtension>
2871
+ 'react/no-children-count'?: Linter.RuleEntry<[]>
2867
2872
  /**
2868
- * Enforce proper position of the first property in JSX
2869
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-first-prop-new-line.md
2873
+ * disallow 'Children.forEach'
2874
+ * @see https://eslint-react.xyz/rules/no-children-for-each
2870
2875
  */
2871
- 'react/jsx-first-prop-new-line'?: Linter.RuleEntry<ReactJsxFirstPropNewLine>
2876
+ 'react/no-children-for-each'?: Linter.RuleEntry<[]>
2872
2877
  /**
2873
- * Enforce shorthand or standard form for React fragments
2874
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-fragments.md
2878
+ * disallow 'Children.map'
2879
+ * @see https://eslint-react.xyz/rules/no-children-map
2875
2880
  */
2876
- 'react/jsx-fragments'?: Linter.RuleEntry<ReactJsxFragments>
2881
+ 'react/no-children-map'?: Linter.RuleEntry<[]>
2877
2882
  /**
2878
- * Enforce event handler naming conventions in JSX
2879
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-handler-names.md
2883
+ * disallow 'Children.only'
2884
+ * @see https://eslint-react.xyz/rules/no-children-only
2880
2885
  */
2881
- 'react/jsx-handler-names'?: Linter.RuleEntry<ReactJsxHandlerNames>
2886
+ 'react/no-children-only'?: Linter.RuleEntry<[]>
2882
2887
  /**
2883
- * Enforce JSX indentation
2884
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent.md
2888
+ * disallow passing of 'children' as props
2889
+ * @see https://eslint-react.xyz/rules/no-children-prop
2885
2890
  */
2886
- 'react/jsx-indent'?: Linter.RuleEntry<ReactJsxIndent>
2891
+ 'react/no-children-prop'?: Linter.RuleEntry<[]>
2887
2892
  /**
2888
- * Enforce props indentation in JSX
2889
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent-props.md
2893
+ * disallow 'Children.toArray'
2894
+ * @see https://eslint-react.xyz/rules/no-children-to-array
2890
2895
  */
2891
- 'react/jsx-indent-props'?: Linter.RuleEntry<ReactJsxIndentProps>
2896
+ 'react/no-children-to-array'?: Linter.RuleEntry<[]>
2892
2897
  /**
2893
- * Disallow missing `key` props in iterators/collection literals
2894
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-key.md
2898
+ * disallow class component
2899
+ * @see https://eslint-react.xyz/rules/no-class-component
2895
2900
  */
2896
- 'react/jsx-key'?: Linter.RuleEntry<ReactJsxKey>
2901
+ 'react/no-class-component'?: Linter.RuleEntry<[]>
2897
2902
  /**
2898
- * Enforce JSX maximum depth
2899
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-max-depth.md
2903
+ * disallow 'cloneElement'
2904
+ * @see https://eslint-react.xyz/rules/no-clone-element
2900
2905
  */
2901
- 'react/jsx-max-depth'?: Linter.RuleEntry<ReactJsxMaxDepth>
2906
+ 'react/no-clone-element'?: Linter.RuleEntry<[]>
2902
2907
  /**
2903
- * Enforce maximum of props on a single line in JSX
2904
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-max-props-per-line.md
2908
+ * disallow comments from being inserted as text nodes
2909
+ * @see https://eslint-react.xyz/rules/no-comment-textnodes
2905
2910
  */
2906
- 'react/jsx-max-props-per-line'?: Linter.RuleEntry<ReactJsxMaxPropsPerLine>
2911
+ 'react/no-comment-textnodes'?: Linter.RuleEntry<[]>
2907
2912
  /**
2908
- * Require or prevent a new line after jsx elements and expressions.
2909
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-newline.md
2913
+ * disallow complicated conditional rendering
2914
+ * @see https://eslint-react.xyz/rules/no-complicated-conditional-rendering
2910
2915
  */
2911
- 'react/jsx-newline'?: Linter.RuleEntry<ReactJsxNewline>
2916
+ 'react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
2912
2917
  /**
2913
- * Disallow `.bind()` or arrow functions in JSX props
2914
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-bind.md
2918
+ * disallow usage of 'componentWillMount'
2919
+ * @see https://eslint-react.xyz/rules/no-component-will-mount
2915
2920
  */
2916
- 'react/jsx-no-bind'?: Linter.RuleEntry<ReactJsxNoBind>
2921
+ 'react/no-component-will-mount'?: Linter.RuleEntry<[]>
2917
2922
  /**
2918
- * Disallow comments from being inserted as text nodes
2919
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-comment-textnodes.md
2923
+ * disallow usage of 'componentWillReceiveProps'
2924
+ * @see https://eslint-react.xyz/rules/no-component-will-receive-props
2920
2925
  */
2921
- 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
2926
+ 'react/no-component-will-receive-props'?: Linter.RuleEntry<[]>
2922
2927
  /**
2923
- * Disallows JSX context provider values from taking values that will cause needless rerenders
2924
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-constructed-context-values.md
2928
+ * disallow usage of 'componentWillUpdate'
2929
+ * @see https://eslint-react.xyz/rules/no-component-will-update
2925
2930
  */
2926
- 'react/jsx-no-constructed-context-values'?: Linter.RuleEntry<ReactJsxNoConstructedContextValues>
2931
+ 'react/no-component-will-update'?: Linter.RuleEntry<[]>
2927
2932
  /**
2928
- * Disallow duplicate properties in JSX
2929
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-duplicate-props.md
2933
+ * disallow 'createRef' in function components
2934
+ * @see https://eslint-react.xyz/rules/no-create-ref
2930
2935
  */
2931
- 'react/jsx-no-duplicate-props'?: Linter.RuleEntry<ReactJsxNoDuplicateProps>
2936
+ 'react/no-create-ref'?: Linter.RuleEntry<[]>
2932
2937
  /**
2933
- * Disallow problematic leaked values from being rendered
2934
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-leaked-render.md
2938
+ * disallow direct mutation of state
2939
+ * @see https://eslint-react.xyz/rules/no-direct-mutation-state
2935
2940
  */
2936
- 'react/jsx-no-leaked-render'?: Linter.RuleEntry<ReactJsxNoLeakedRender>
2941
+ 'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
2937
2942
  /**
2938
- * Disallow usage of string literals in JSX
2939
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-literals.md
2943
+ * disallow duplicate keys in 'key' prop when rendering list
2944
+ * @see https://eslint-react.xyz/rules/no-duplicate-key
2940
2945
  */
2941
- 'react/jsx-no-literals'?: Linter.RuleEntry<ReactJsxNoLiterals>
2946
+ 'react/no-duplicate-key'?: Linter.RuleEntry<[]>
2942
2947
  /**
2943
- * Disallow usage of `javascript:` URLs
2944
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-script-url.md
2948
+ * disallow spreading 'key' from objects.
2949
+ * @see https://eslint-react.xyz/rules/no-implicit-key
2945
2950
  */
2946
- 'react/jsx-no-script-url'?: Linter.RuleEntry<ReactJsxNoScriptUrl>
2951
+ 'react/no-implicit-key'?: Linter.RuleEntry<[]>
2947
2952
  /**
2948
- * Disallow `target="_blank"` attribute without `rel="noreferrer"`
2949
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-target-blank.md
2953
+ * disallow problematic leaked values from being rendered
2954
+ * @see https://eslint-react.xyz/rules/no-leaked-conditional-rendering
2950
2955
  */
2951
- 'react/jsx-no-target-blank'?: Linter.RuleEntry<ReactJsxNoTargetBlank>
2956
+ 'react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
2952
2957
  /**
2953
- * Disallow undeclared variables in JSX
2954
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-undef.md
2958
+ * require 'displayName' for memo and forwardRef components
2959
+ * @see https://eslint-react.xyz/rules/no-missing-component-display-name
2955
2960
  */
2956
- 'react/jsx-no-undef'?: Linter.RuleEntry<ReactJsxNoUndef>
2961
+ 'react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
2957
2962
  /**
2958
- * Disallow unnecessary fragments
2959
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-useless-fragment.md
2963
+ * require 'key' prop when rendering list
2964
+ * @see https://eslint-react.xyz/rules/no-missing-key
2960
2965
  */
2961
- 'react/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactJsxNoUselessFragment>
2966
+ 'react/no-missing-key'?: Linter.RuleEntry<[]>
2962
2967
  /**
2963
- * Require one JSX element per line
2964
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-one-expression-per-line.md
2968
+ * disallow usage of unstable nested components
2969
+ * @see https://eslint-react.xyz/rules/no-nested-components
2965
2970
  */
2966
- 'react/jsx-one-expression-per-line'?: Linter.RuleEntry<ReactJsxOneExpressionPerLine>
2971
+ 'react/no-nested-components'?: Linter.RuleEntry<[]>
2967
2972
  /**
2968
- * Enforce PascalCase for user-defined JSX components
2969
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-pascal-case.md
2973
+ * disallow usage of 'shouldComponentUpdate' in class component extends 'React.PureComponent'
2974
+ * @see https://eslint-react.xyz/rules/no-redundant-should-component-update
2970
2975
  */
2971
- 'react/jsx-pascal-case'?: Linter.RuleEntry<ReactJsxPascalCase>
2976
+ 'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
2972
2977
  /**
2973
- * Disallow multiple spaces between inline JSX props
2974
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-multi-spaces.md
2978
+ * disallow 'setState' in 'componentDidMount'
2979
+ * @see https://eslint-react.xyz/rules/no-set-state-in-component-did-mount
2975
2980
  */
2976
- 'react/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
2981
+ 'react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
2977
2982
  /**
2978
- * Disallow JSX prop spreading
2979
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-spreading.md
2983
+ * disallow 'setState' in 'componentDidUpdate'
2984
+ * @see https://eslint-react.xyz/rules/no-set-state-in-component-did-update
2980
2985
  */
2981
- 'react/jsx-props-no-spreading'?: Linter.RuleEntry<ReactJsxPropsNoSpreading>
2986
+ 'react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
2982
2987
  /**
2983
- * Enforce defaultProps declarations alphabetical sorting
2984
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-sort-default-props.md
2985
- * @deprecated
2988
+ * disallow 'setState' in 'componentWillUpdate'
2989
+ * @see https://eslint-react.xyz/rules/no-set-state-in-component-will-update
2986
2990
  */
2987
- 'react/jsx-sort-default-props'?: Linter.RuleEntry<ReactJsxSortDefaultProps>
2991
+ 'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
2988
2992
  /**
2989
- * Enforce props alphabetical sorting
2990
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-sort-props.md
2993
+ * disallow using deprecated string refs
2994
+ * @see https://eslint-react.xyz/rules/no-string-refs
2991
2995
  */
2992
- 'react/jsx-sort-props'?: Linter.RuleEntry<ReactJsxSortProps>
2996
+ 'react/no-string-refs'?: Linter.RuleEntry<[]>
2993
2997
  /**
2994
- * Enforce spacing before closing bracket in JSX
2995
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-space-before-closing.md
2996
- * @deprecated
2998
+ * disallow usage of 'UNSAFE_componentWillMount'
2999
+ * @see https://eslint-react.xyz/rules/no-unsafe-component-will-mount
2997
3000
  */
2998
- 'react/jsx-space-before-closing'?: Linter.RuleEntry<ReactJsxSpaceBeforeClosing>
3001
+ 'react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
2999
3002
  /**
3000
- * Enforce whitespace in and around the JSX opening and closing brackets
3001
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-tag-spacing.md
3003
+ * disallow usage of 'UNSAFE_componentWillReceiveProps'
3004
+ * @see https://eslint-react.xyz/rules/no-unsafe-component-will-receive-props
3002
3005
  */
3003
- 'react/jsx-tag-spacing'?: Linter.RuleEntry<ReactJsxTagSpacing>
3006
+ 'react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
3004
3007
  /**
3005
- * Disallow React to be incorrectly marked as unused
3006
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-uses-react.md
3008
+ * disallow usage of 'UNSAFE_componentWillUpdate'
3009
+ * @see https://eslint-react.xyz/rules/no-unsafe-component-will-update
3007
3010
  */
3008
- 'react/jsx-uses-react'?: Linter.RuleEntry<[]>
3011
+ 'react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
3009
3012
  /**
3010
- * Disallow variables used in JSX to be incorrectly marked as unused
3011
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-uses-vars.md
3013
+ * disallow passing constructed values to context providers
3014
+ * @see https://eslint-react.xyz/rules/no-unstable-context-value
3012
3015
  */
3013
- 'react/jsx-uses-vars'?: Linter.RuleEntry<[]>
3016
+ 'react/no-unstable-context-value'?: Linter.RuleEntry<[]>
3014
3017
  /**
3015
- * Disallow missing parentheses around multiline JSX
3016
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-wrap-multilines.md
3018
+ * disallow usage of unstable value as default param in function component
3019
+ * @see https://eslint-react.xyz/rules/no-unstable-default-props
3017
3020
  */
3018
- 'react/jsx-wrap-multilines'?: Linter.RuleEntry<ReactJsxWrapMultilines>
3021
+ 'react/no-unstable-default-props'?: Linter.RuleEntry<[]>
3019
3022
  /**
3020
- * Disallow when this.state is accessed within setState
3021
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-access-state-in-setstate.md
3023
+ * disallow unused class component members
3024
+ * @see https://eslint-react.xyz/rules/no-unused-class-component-members
3022
3025
  */
3023
- 'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
3026
+ 'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
3024
3027
  /**
3025
- * Disallow adjacent inline elements not separated by whitespace.
3026
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-adjacent-inline-elements.md
3028
+ * Prevents unused state of class component.
3029
+ * @see https://eslint-react.xyz/rules/no-unused-state
3027
3030
  */
3028
- 'react/no-adjacent-inline-elements'?: Linter.RuleEntry<[]>
3031
+ 'react/no-unused-state'?: Linter.RuleEntry<[]>
3029
3032
  /**
3030
- * Disallow usage of Array index in keys
3031
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-array-index-key.md
3033
+ * disallow unnecessary fragments
3034
+ * @see https://eslint-react.xyz/rules/no-useless-fragment
3032
3035
  */
3033
- 'react/no-array-index-key'?: Linter.RuleEntry<[]>
3036
+ 'react/no-useless-fragment'?: Linter.RuleEntry<[]>
3034
3037
  /**
3035
- * Lifecycle methods should be methods on the prototype, not class fields
3036
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-arrow-function-lifecycle.md
3038
+ * enforce using destructuring assignment in component props and context
3039
+ * @see https://eslint-react.xyz/rules/prefer-destructuring-assignment
3037
3040
  */
3038
- 'react/no-arrow-function-lifecycle'?: Linter.RuleEntry<[]>
3041
+ 'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
3039
3042
  /**
3040
- * Disallow passing of children as props
3041
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-children-prop.md
3043
+ * enforce boolean attributes notation in JSX
3044
+ * @see https://eslint-react.xyz/rules/prefer-shorthand-boolean
3042
3045
  */
3043
- 'react/no-children-prop'?: Linter.RuleEntry<ReactNoChildrenProp>
3046
+ 'react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>
3044
3047
  /**
3045
- * Disallow usage of dangerous JSX properties
3046
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger.md
3048
+ * enforce using fragment syntax instead of Fragment component
3049
+ * @see https://eslint-react.xyz/rules/prefer-shorthand-fragment
3047
3050
  */
3048
- 'react/no-danger'?: Linter.RuleEntry<[]>
3051
+ 'react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
3049
3052
  /**
3050
- * Disallow when a DOM element is using both children and dangerouslySetInnerHTML
3051
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger-with-children.md
3053
+ * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
3054
+ * @see https://eslint.org/docs/latest/rules/require-atomic-updates
3052
3055
  */
3053
- 'react/no-danger-with-children'?: Linter.RuleEntry<[]>
3056
+ 'require-atomic-updates'?: Linter.RuleEntry<RequireAtomicUpdates>
3054
3057
  /**
3055
- * Disallow usage of deprecated methods
3056
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-deprecated.md
3058
+ * Disallow async functions which have no `await` expression
3059
+ * @see https://eslint.org/docs/latest/rules/require-await
3057
3060
  */
3058
- 'react/no-deprecated'?: Linter.RuleEntry<[]>
3061
+ 'require-await'?: Linter.RuleEntry<[]>
3059
3062
  /**
3060
- * Disallow usage of setState in componentDidMount
3061
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-did-mount-set-state.md
3063
+ * Enforce the use of `u` or `v` flag on RegExp
3064
+ * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
3062
3065
  */
3063
- 'react/no-did-mount-set-state'?: Linter.RuleEntry<ReactNoDidMountSetState>
3066
+ 'require-unicode-regexp'?: Linter.RuleEntry<[]>
3064
3067
  /**
3065
- * Disallow usage of setState in componentDidUpdate
3066
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-did-update-set-state.md
3068
+ * Require generator functions to contain `yield`
3069
+ * @see https://eslint.org/docs/latest/rules/require-yield
3067
3070
  */
3068
- 'react/no-did-update-set-state'?: Linter.RuleEntry<ReactNoDidUpdateSetState>
3071
+ 'require-yield'?: Linter.RuleEntry<[]>
3069
3072
  /**
3070
- * Disallow direct mutation of this.state
3071
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-direct-mutation-state.md
3073
+ * Enforce spacing between rest and spread operators and their expressions
3074
+ * @see https://eslint.org/docs/latest/rules/rest-spread-spacing
3075
+ * @deprecated
3072
3076
  */
3073
- 'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
3077
+ 'rest-spread-spacing'?: Linter.RuleEntry<RestSpreadSpacing>
3074
3078
  /**
3075
- * Disallow usage of findDOMNode
3076
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-find-dom-node.md
3079
+ * Require or disallow semicolons instead of ASI
3080
+ * @see https://eslint.org/docs/latest/rules/semi
3081
+ * @deprecated
3077
3082
  */
3078
- 'react/no-find-dom-node'?: Linter.RuleEntry<[]>
3083
+ 'semi'?: Linter.RuleEntry<Semi>
3079
3084
  /**
3080
- * Disallow usage of invalid attributes
3081
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-invalid-html-attribute.md
3085
+ * Enforce consistent spacing before and after semicolons
3086
+ * @see https://eslint.org/docs/latest/rules/semi-spacing
3087
+ * @deprecated
3082
3088
  */
3083
- 'react/no-invalid-html-attribute'?: Linter.RuleEntry<ReactNoInvalidHtmlAttribute>
3089
+ 'semi-spacing'?: Linter.RuleEntry<SemiSpacing>
3084
3090
  /**
3085
- * Disallow usage of isMounted
3086
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-is-mounted.md
3091
+ * Enforce location of semicolons
3092
+ * @see https://eslint.org/docs/latest/rules/semi-style
3093
+ * @deprecated
3087
3094
  */
3088
- 'react/no-is-mounted'?: Linter.RuleEntry<[]>
3095
+ 'semi-style'?: Linter.RuleEntry<SemiStyle>
3089
3096
  /**
3090
- * Disallow multiple component definition per file
3091
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-multi-comp.md
3097
+ * Disallow early returns in components. Solid components only run once, and so conditionals should be inside JSX.
3098
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/components-return-once.md
3092
3099
  */
3093
- 'react/no-multi-comp'?: Linter.RuleEntry<ReactNoMultiComp>
3100
+ 'solid/components-return-once'?: Linter.RuleEntry<[]>
3094
3101
  /**
3095
- * Enforce that namespaces are not used in React elements
3096
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-namespace.md
3102
+ * Enforce naming DOM element event handlers consistently and prevent Solid's analysis from misunderstanding whether a prop should be an event handler.
3103
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/event-handlers.md
3097
3104
  */
3098
- 'react/no-namespace'?: Linter.RuleEntry<[]>
3105
+ 'solid/event-handlers'?: Linter.RuleEntry<SolidEventHandlers>
3099
3106
  /**
3100
- * Disallow usage of referential-type variables as default param in functional component
3101
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-object-type-as-default-prop.md
3107
+ * Enforce consistent imports from "solid-js", "solid-js/web", and "solid-js/store".
3108
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/imports.md
3102
3109
  */
3103
- 'react/no-object-type-as-default-prop'?: Linter.RuleEntry<[]>
3110
+ 'solid/imports'?: Linter.RuleEntry<[]>
3104
3111
  /**
3105
- * Disallow usage of shouldComponentUpdate when extending React.PureComponent
3106
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-redundant-should-component-update.md
3107
- */
3108
- 'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
3109
- /**
3110
- * Disallow usage of the return value of ReactDOM.render
3111
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-render-return-value.md
3112
- */
3113
- 'react/no-render-return-value'?: Linter.RuleEntry<[]>
3114
- /**
3115
- * Disallow usage of setState
3116
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-set-state.md
3117
- */
3118
- 'react/no-set-state'?: Linter.RuleEntry<[]>
3119
- /**
3120
- * Disallow using string references
3121
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-string-refs.md
3122
- */
3123
- 'react/no-string-refs'?: Linter.RuleEntry<ReactNoStringRefs>
3124
- /**
3125
- * Disallow `this` from being used in stateless functional components
3126
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-this-in-sfc.md
3127
- */
3128
- 'react/no-this-in-sfc'?: Linter.RuleEntry<[]>
3129
- /**
3130
- * Disallow common typos
3131
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-typos.md
3132
- */
3133
- 'react/no-typos'?: Linter.RuleEntry<[]>
3134
- /**
3135
- * Disallow unescaped HTML entities from appearing in markup
3136
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unescaped-entities.md
3137
- */
3138
- 'react/no-unescaped-entities'?: Linter.RuleEntry<ReactNoUnescapedEntities>
3139
- /**
3140
- * Disallow usage of unknown DOM property
3141
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unknown-property.md
3142
- */
3143
- 'react/no-unknown-property'?: Linter.RuleEntry<ReactNoUnknownProperty>
3144
- /**
3145
- * Disallow usage of unsafe lifecycle methods
3146
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unsafe.md
3147
- */
3148
- 'react/no-unsafe'?: Linter.RuleEntry<ReactNoUnsafe>
3149
- /**
3150
- * Disallow creating unstable components inside components
3151
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unstable-nested-components.md
3152
- */
3153
- 'react/no-unstable-nested-components'?: Linter.RuleEntry<ReactNoUnstableNestedComponents>
3154
- /**
3155
- * Disallow declaring unused methods of component class
3156
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-class-component-methods.md
3157
- */
3158
- 'react/no-unused-class-component-methods'?: Linter.RuleEntry<[]>
3159
- /**
3160
- * Disallow definitions of unused propTypes
3161
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-prop-types.md
3162
- */
3163
- 'react/no-unused-prop-types'?: Linter.RuleEntry<ReactNoUnusedPropTypes>
3164
- /**
3165
- * Disallow definitions of unused state
3166
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-unused-state.md
3167
- */
3168
- 'react/no-unused-state'?: Linter.RuleEntry<[]>
3169
- /**
3170
- * Disallow usage of setState in componentWillUpdate
3171
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-will-update-set-state.md
3172
- */
3173
- 'react/no-will-update-set-state'?: Linter.RuleEntry<ReactNoWillUpdateSetState>
3174
- /**
3175
- * Enforce ES5 or ES6 class for React Components
3176
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-es6-class.md
3177
- */
3178
- 'react/prefer-es6-class'?: Linter.RuleEntry<ReactPreferEs6Class>
3179
- /**
3180
- * Prefer exact proptype definitions
3181
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-exact-props.md
3182
- */
3183
- 'react/prefer-exact-props'?: Linter.RuleEntry<[]>
3184
- /**
3185
- * Enforce that props are read-only
3186
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-read-only-props.md
3187
- */
3188
- 'react/prefer-read-only-props'?: Linter.RuleEntry<[]>
3189
- /**
3190
- * Enforce stateless components to be written as a pure function
3191
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prefer-stateless-function.md
3192
- */
3193
- 'react/prefer-stateless-function'?: Linter.RuleEntry<ReactPreferStatelessFunction>
3194
- /**
3195
- * Disallow missing props validation in a React component definition
3196
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/prop-types.md
3197
- */
3198
- 'react/prop-types'?: Linter.RuleEntry<ReactPropTypes>
3199
- /**
3200
- * Disallow missing React when using JSX
3201
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/react-in-jsx-scope.md
3202
- */
3203
- 'react/react-in-jsx-scope'?: Linter.RuleEntry<[]>
3204
- /**
3205
- * Enforce a defaultProps definition for every prop that is not a required prop
3206
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-default-props.md
3207
- */
3208
- 'react/require-default-props'?: Linter.RuleEntry<ReactRequireDefaultProps>
3209
- /**
3210
- * Enforce React components to have a shouldComponentUpdate method
3211
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-optimization.md
3212
- */
3213
- 'react/require-optimization'?: Linter.RuleEntry<ReactRequireOptimization>
3214
- /**
3215
- * Enforce ES5 or ES6 class for returning value in render function
3216
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/require-render-return.md
3217
- */
3218
- 'react/require-render-return'?: Linter.RuleEntry<[]>
3219
- /**
3220
- * Disallow extra closing tags for components without children
3221
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/self-closing-comp.md
3222
- */
3223
- 'react/self-closing-comp'?: Linter.RuleEntry<ReactSelfClosingComp>
3224
- /**
3225
- * Enforce component methods order
3226
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-comp.md
3227
- */
3228
- 'react/sort-comp'?: Linter.RuleEntry<ReactSortComp>
3229
- /**
3230
- * Enforce defaultProps declarations alphabetical sorting
3231
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-default-props.md
3232
- */
3233
- 'react/sort-default-props'?: Linter.RuleEntry<ReactSortDefaultProps>
3234
- /**
3235
- * Enforce propTypes declarations alphabetical sorting
3236
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/sort-prop-types.md
3237
- */
3238
- 'react/sort-prop-types'?: Linter.RuleEntry<ReactSortPropTypes>
3239
- /**
3240
- * Enforce class component state initialization style
3241
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/state-in-constructor.md
3242
- */
3243
- 'react/state-in-constructor'?: Linter.RuleEntry<ReactStateInConstructor>
3244
- /**
3245
- * Enforces where React component static properties should be positioned.
3246
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/static-property-placement.md
3247
- */
3248
- 'react/static-property-placement'?: Linter.RuleEntry<ReactStaticPropertyPlacement>
3249
- /**
3250
- * Enforce style prop value is an object
3251
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/style-prop-object.md
3252
- */
3253
- 'react/style-prop-object'?: Linter.RuleEntry<ReactStylePropObject>
3254
- /**
3255
- * Disallow void DOM elements (e.g. `<img />`, `<br />`) from receiving children
3256
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/void-dom-elements-no-children.md
3257
- */
3258
- 'react/void-dom-elements-no-children'?: Linter.RuleEntry<[]>
3259
- /**
3260
- * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
3261
- * @see https://eslint.org/docs/latest/rules/require-atomic-updates
3262
- */
3263
- 'require-atomic-updates'?: Linter.RuleEntry<RequireAtomicUpdates>
3264
- /**
3265
- * Disallow async functions which have no `await` expression
3266
- * @see https://eslint.org/docs/latest/rules/require-await
3267
- */
3268
- 'require-await'?: Linter.RuleEntry<[]>
3269
- /**
3270
- * Enforce the use of `u` or `v` flag on RegExp
3271
- * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
3272
- */
3273
- 'require-unicode-regexp'?: Linter.RuleEntry<[]>
3274
- /**
3275
- * Require generator functions to contain `yield`
3276
- * @see https://eslint.org/docs/latest/rules/require-yield
3277
- */
3278
- 'require-yield'?: Linter.RuleEntry<[]>
3279
- /**
3280
- * Enforce spacing between rest and spread operators and their expressions
3281
- * @see https://eslint.org/docs/latest/rules/rest-spread-spacing
3282
- * @deprecated
3283
- */
3284
- 'rest-spread-spacing'?: Linter.RuleEntry<RestSpreadSpacing>
3285
- /**
3286
- * Require or disallow semicolons instead of ASI
3287
- * @see https://eslint.org/docs/latest/rules/semi
3288
- * @deprecated
3289
- */
3290
- 'semi'?: Linter.RuleEntry<Semi>
3291
- /**
3292
- * Enforce consistent spacing before and after semicolons
3293
- * @see https://eslint.org/docs/latest/rules/semi-spacing
3294
- * @deprecated
3295
- */
3296
- 'semi-spacing'?: Linter.RuleEntry<SemiSpacing>
3297
- /**
3298
- * Enforce location of semicolons
3299
- * @see https://eslint.org/docs/latest/rules/semi-style
3300
- * @deprecated
3301
- */
3302
- 'semi-style'?: Linter.RuleEntry<SemiStyle>
3303
- /**
3304
- * Disallow early returns in components. Solid components only run once, and so conditionals should be inside JSX.
3305
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/components-return-once.md
3306
- */
3307
- 'solid/components-return-once'?: Linter.RuleEntry<[]>
3308
- /**
3309
- * Enforce naming DOM element event handlers consistently and prevent Solid's analysis from misunderstanding whether a prop should be an event handler.
3310
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/event-handlers.md
3311
- */
3312
- 'solid/event-handlers'?: Linter.RuleEntry<SolidEventHandlers>
3313
- /**
3314
- * Enforce consistent imports from "solid-js", "solid-js/web", and "solid-js/store".
3315
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/imports.md
3316
- */
3317
- 'solid/imports'?: Linter.RuleEntry<[]>
3318
- /**
3319
- * Disallow passing the same prop twice in JSX.
3320
- * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/jsx-no-duplicate-props.md
3112
+ * Disallow passing the same prop twice in JSX.
3113
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/jsx-no-duplicate-props.md
3321
3114
  */
3322
3115
  'solid/jsx-no-duplicate-props'?: Linter.RuleEntry<SolidJsxNoDuplicateProps>
3323
3116
  /**
@@ -3716,207 +3509,518 @@ interface RuleOptions {
3716
3509
  * Require a newline after each call in a method chain
3717
3510
  * @see https://eslint.style/rules/js/newline-per-chained-call
3718
3511
  */
3719
- 'style/newline-per-chained-call'?: Linter.RuleEntry<StyleNewlinePerChainedCall>
3512
+ 'style/newline-per-chained-call'?: Linter.RuleEntry<StyleNewlinePerChainedCall>
3513
+ /**
3514
+ * Disallow arrow functions where they could be confused with comparisons
3515
+ * @see https://eslint.style/rules/js/no-confusing-arrow
3516
+ */
3517
+ 'style/no-confusing-arrow'?: Linter.RuleEntry<StyleNoConfusingArrow>
3518
+ /**
3519
+ * Disallow unnecessary parentheses
3520
+ * @see https://eslint.style/rules/ts/no-extra-parens
3521
+ */
3522
+ 'style/no-extra-parens'?: Linter.RuleEntry<StyleNoExtraParens>
3523
+ /**
3524
+ * Disallow unnecessary semicolons
3525
+ * @see https://eslint.style/rules/ts/no-extra-semi
3526
+ */
3527
+ 'style/no-extra-semi'?: Linter.RuleEntry<[]>
3528
+ /**
3529
+ * Disallow leading or trailing decimal points in numeric literals
3530
+ * @see https://eslint.style/rules/js/no-floating-decimal
3531
+ */
3532
+ 'style/no-floating-decimal'?: Linter.RuleEntry<[]>
3533
+ /**
3534
+ * Disallow mixed binary operators
3535
+ * @see https://eslint.style/rules/js/no-mixed-operators
3536
+ */
3537
+ 'style/no-mixed-operators'?: Linter.RuleEntry<StyleNoMixedOperators>
3538
+ /**
3539
+ * Disallow mixed spaces and tabs for indentation
3540
+ * @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
3541
+ */
3542
+ 'style/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StyleNoMixedSpacesAndTabs>
3543
+ /**
3544
+ * Disallow multiple spaces
3545
+ * @see https://eslint.style/rules/js/no-multi-spaces
3546
+ */
3547
+ 'style/no-multi-spaces'?: Linter.RuleEntry<StyleNoMultiSpaces>
3548
+ /**
3549
+ * Disallow multiple empty lines
3550
+ * @see https://eslint.style/rules/js/no-multiple-empty-lines
3551
+ */
3552
+ 'style/no-multiple-empty-lines'?: Linter.RuleEntry<StyleNoMultipleEmptyLines>
3553
+ /**
3554
+ * Disallow all tabs
3555
+ * @see https://eslint.style/rules/js/no-tabs
3556
+ */
3557
+ 'style/no-tabs'?: Linter.RuleEntry<StyleNoTabs>
3558
+ /**
3559
+ * Disallow trailing whitespace at the end of lines
3560
+ * @see https://eslint.style/rules/js/no-trailing-spaces
3561
+ */
3562
+ 'style/no-trailing-spaces'?: Linter.RuleEntry<StyleNoTrailingSpaces>
3563
+ /**
3564
+ * Disallow whitespace before properties
3565
+ * @see https://eslint.style/rules/js/no-whitespace-before-property
3566
+ */
3567
+ 'style/no-whitespace-before-property'?: Linter.RuleEntry<[]>
3568
+ /**
3569
+ * Enforce the location of single-line statements
3570
+ * @see https://eslint.style/rules/js/nonblock-statement-body-position
3571
+ */
3572
+ 'style/nonblock-statement-body-position'?: Linter.RuleEntry<StyleNonblockStatementBodyPosition>
3573
+ /**
3574
+ * Enforce consistent line breaks after opening and before closing braces
3575
+ * @see https://eslint.style/rules/js/object-curly-newline
3576
+ */
3577
+ 'style/object-curly-newline'?: Linter.RuleEntry<StyleObjectCurlyNewline>
3578
+ /**
3579
+ * Enforce consistent spacing inside braces
3580
+ * @see https://eslint.style/rules/ts/object-curly-spacing
3581
+ */
3582
+ 'style/object-curly-spacing'?: Linter.RuleEntry<StyleObjectCurlySpacing>
3583
+ /**
3584
+ * Enforce placing object properties on separate lines
3585
+ * @see https://eslint.style/rules/js/object-property-newline
3586
+ */
3587
+ 'style/object-property-newline'?: Linter.RuleEntry<StyleObjectPropertyNewline>
3588
+ /**
3589
+ * Require or disallow newlines around variable declarations
3590
+ * @see https://eslint.style/rules/js/one-var-declaration-per-line
3591
+ */
3592
+ 'style/one-var-declaration-per-line'?: Linter.RuleEntry<StyleOneVarDeclarationPerLine>
3593
+ /**
3594
+ * Enforce consistent linebreak style for operators
3595
+ * @see https://eslint.style/rules/js/operator-linebreak
3596
+ */
3597
+ 'style/operator-linebreak'?: Linter.RuleEntry<StyleOperatorLinebreak>
3598
+ /**
3599
+ * Require or disallow padding within blocks
3600
+ * @see https://eslint.style/rules/js/padded-blocks
3601
+ */
3602
+ 'style/padded-blocks'?: Linter.RuleEntry<StylePaddedBlocks>
3603
+ /**
3604
+ * Require or disallow padding lines between statements
3605
+ * @see https://eslint.style/rules/ts/padding-line-between-statements
3606
+ */
3607
+ 'style/padding-line-between-statements'?: Linter.RuleEntry<StylePaddingLineBetweenStatements>
3608
+ /**
3609
+ * Require quotes around object literal, type literal, interfaces and enums property names
3610
+ * @see https://eslint.style/rules/ts/quote-props
3611
+ */
3612
+ 'style/quote-props'?: Linter.RuleEntry<StyleQuoteProps>
3613
+ /**
3614
+ * Enforce the consistent use of either backticks, double, or single quotes
3615
+ * @see https://eslint.style/rules/ts/quotes
3616
+ */
3617
+ 'style/quotes'?: Linter.RuleEntry<StyleQuotes>
3618
+ /**
3619
+ * Enforce spacing between rest and spread operators and their expressions
3620
+ * @see https://eslint.style/rules/js/rest-spread-spacing
3621
+ */
3622
+ 'style/rest-spread-spacing'?: Linter.RuleEntry<StyleRestSpreadSpacing>
3623
+ /**
3624
+ * Require or disallow semicolons instead of ASI
3625
+ * @see https://eslint.style/rules/ts/semi
3626
+ */
3627
+ 'style/semi'?: Linter.RuleEntry<StyleSemi>
3628
+ /**
3629
+ * Enforce consistent spacing before and after semicolons
3630
+ * @see https://eslint.style/rules/js/semi-spacing
3631
+ */
3632
+ 'style/semi-spacing'?: Linter.RuleEntry<StyleSemiSpacing>
3633
+ /**
3634
+ * Enforce location of semicolons
3635
+ * @see https://eslint.style/rules/js/semi-style
3636
+ */
3637
+ 'style/semi-style'?: Linter.RuleEntry<StyleSemiStyle>
3638
+ /**
3639
+ * Enforce consistent spacing before blocks
3640
+ * @see https://eslint.style/rules/ts/space-before-blocks
3641
+ */
3642
+ 'style/space-before-blocks'?: Linter.RuleEntry<StyleSpaceBeforeBlocks>
3643
+ /**
3644
+ * Enforce consistent spacing before function parenthesis
3645
+ * @see https://eslint.style/rules/ts/space-before-function-paren
3646
+ */
3647
+ 'style/space-before-function-paren'?: Linter.RuleEntry<StyleSpaceBeforeFunctionParen>
3648
+ /**
3649
+ * Enforce consistent spacing inside parentheses
3650
+ * @see https://eslint.style/rules/js/space-in-parens
3651
+ */
3652
+ 'style/space-in-parens'?: Linter.RuleEntry<StyleSpaceInParens>
3653
+ /**
3654
+ * Require spacing around infix operators
3655
+ * @see https://eslint.style/rules/ts/space-infix-ops
3656
+ */
3657
+ 'style/space-infix-ops'?: Linter.RuleEntry<StyleSpaceInfixOps>
3658
+ /**
3659
+ * Enforce consistent spacing before or after unary operators
3660
+ * @see https://eslint.style/rules/js/space-unary-ops
3661
+ */
3662
+ 'style/space-unary-ops'?: Linter.RuleEntry<StyleSpaceUnaryOps>
3663
+ /**
3664
+ * Enforce consistent spacing after the `//` or `/*` in a comment
3665
+ * @see https://eslint.style/rules/js/spaced-comment
3666
+ */
3667
+ 'style/spaced-comment'?: Linter.RuleEntry<StyleSpacedComment>
3668
+ /**
3669
+ * Enforce spacing around colons of switch statements
3670
+ * @see https://eslint.style/rules/js/switch-colon-spacing
3671
+ */
3672
+ 'style/switch-colon-spacing'?: Linter.RuleEntry<StyleSwitchColonSpacing>
3673
+ /**
3674
+ * Require or disallow spacing around embedded expressions of template strings
3675
+ * @see https://eslint.style/rules/js/template-curly-spacing
3676
+ */
3677
+ 'style/template-curly-spacing'?: Linter.RuleEntry<StyleTemplateCurlySpacing>
3678
+ /**
3679
+ * Require or disallow spacing between template tags and their literals
3680
+ * @see https://eslint.style/rules/js/template-tag-spacing
3681
+ */
3682
+ 'style/template-tag-spacing'?: Linter.RuleEntry<StyleTemplateTagSpacing>
3683
+ /**
3684
+ * Require consistent spacing around type annotations
3685
+ * @see https://eslint.style/rules/ts/type-annotation-spacing
3686
+ */
3687
+ 'style/type-annotation-spacing'?: Linter.RuleEntry<StyleTypeAnnotationSpacing>
3688
+ /**
3689
+ * Enforces consistent spacing inside TypeScript type generics
3690
+ * @see https://eslint.style/rules/plus/type-generic-spacing
3691
+ */
3692
+ 'style/type-generic-spacing'?: Linter.RuleEntry<[]>
3693
+ /**
3694
+ * Expect space before the type declaration in the named tuple
3695
+ * @see https://eslint.style/rules/plus/type-named-tuple-spacing
3696
+ */
3697
+ 'style/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
3698
+ /**
3699
+ * Require parentheses around immediate `function` invocations
3700
+ * @see https://eslint.style/rules/js/wrap-iife
3701
+ */
3702
+ 'style/wrap-iife'?: Linter.RuleEntry<StyleWrapIife>
3703
+ /**
3704
+ * Require parenthesis around regex literals
3705
+ * @see https://eslint.style/rules/js/wrap-regex
3706
+ */
3707
+ 'style/wrap-regex'?: Linter.RuleEntry<[]>
3708
+ /**
3709
+ * Require or disallow spacing around the `*` in `yield*` expressions
3710
+ * @see https://eslint.style/rules/js/yield-star-spacing
3711
+ */
3712
+ 'style/yield-star-spacing'?: Linter.RuleEntry<StyleYieldStarSpacing>
3713
+ /**
3714
+ * disallow conditionals where the type is always truthy or always falsy
3715
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/@typescript-eslint/no-unnecessary-condition/
3716
+ * @deprecated
3717
+ */
3718
+ 'svelte/@typescript-eslint/no-unnecessary-condition'?: Linter.RuleEntry<SvelteTypescriptEslintNoUnnecessaryCondition>
3719
+ /**
3720
+ * disallows the use of languages other than those specified in the configuration for the lang attribute of `<script>` and `<style>` blocks.
3721
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/block-lang/
3722
+ */
3723
+ 'svelte/block-lang'?: Linter.RuleEntry<SvelteBlockLang>
3724
+ /**
3725
+ * disallow usage of button without an explicit type attribute
3726
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/button-has-type/
3727
+ */
3728
+ 'svelte/button-has-type'?: Linter.RuleEntry<SvelteButtonHasType>
3729
+ /**
3730
+ * support comment-directives in HTML template
3731
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/comment-directive/
3732
+ */
3733
+ 'svelte/comment-directive'?: Linter.RuleEntry<SvelteCommentDirective>
3734
+ /**
3735
+ * derived store should use same variable names between values and callback
3736
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/derived-has-same-inputs-outputs/
3737
+ */
3738
+ 'svelte/derived-has-same-inputs-outputs'?: Linter.RuleEntry<[]>
3739
+ /**
3740
+ * require slot type declaration using the `$$Slots` interface
3741
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/experimental-require-slot-types/
3742
+ */
3743
+ 'svelte/experimental-require-slot-types'?: Linter.RuleEntry<[]>
3744
+ /**
3745
+ * require the strictEvents attribute on `<script>` tags
3746
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/experimental-require-strict-events/
3747
+ */
3748
+ 'svelte/experimental-require-strict-events'?: Linter.RuleEntry<[]>
3749
+ /**
3750
+ * enforce the location of first attribute
3751
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/first-attribute-linebreak/
3752
+ */
3753
+ 'svelte/first-attribute-linebreak'?: Linter.RuleEntry<SvelteFirstAttributeLinebreak>
3754
+ /**
3755
+ * require or disallow a space before tag's closing brackets
3756
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/html-closing-bracket-spacing/
3757
+ */
3758
+ 'svelte/html-closing-bracket-spacing'?: Linter.RuleEntry<SvelteHtmlClosingBracketSpacing>
3759
+ /**
3760
+ * enforce quotes style of HTML attributes
3761
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/html-quotes/
3762
+ */
3763
+ 'svelte/html-quotes'?: Linter.RuleEntry<SvelteHtmlQuotes>
3764
+ /**
3765
+ * enforce self-closing style
3766
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/html-self-closing/
3767
+ */
3768
+ 'svelte/html-self-closing'?: Linter.RuleEntry<SvelteHtmlSelfClosing>
3769
+ /**
3770
+ * enforce consistent indentation
3771
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/indent/
3772
+ */
3773
+ 'svelte/indent'?: Linter.RuleEntry<SvelteIndent>
3774
+ /**
3775
+ * Svelte runtime prevents calling the same reactive statement twice in a microtask. But between different microtask, it doesn't prevent.
3776
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/infinite-reactive-loop/
3777
+ */
3778
+ 'svelte/infinite-reactive-loop'?: Linter.RuleEntry<[]>
3779
+ /**
3780
+ * enforce the maximum number of attributes per line
3781
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/max-attributes-per-line/
3782
+ */
3783
+ 'svelte/max-attributes-per-line'?: Linter.RuleEntry<SvelteMaxAttributesPerLine>
3784
+ /**
3785
+ * enforce unified spacing in mustache
3786
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/mustache-spacing/
3787
+ */
3788
+ 'svelte/mustache-spacing'?: Linter.RuleEntry<SvelteMustacheSpacing>
3789
+ /**
3790
+ * disallow the use of `{@debug}`
3791
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-at-debug-tags/
3792
+ */
3793
+ 'svelte/no-at-debug-tags'?: Linter.RuleEntry<[]>
3794
+ /**
3795
+ * disallow use of `{@html}` to prevent XSS attack
3796
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-at-html-tags/
3797
+ */
3798
+ 'svelte/no-at-html-tags'?: Linter.RuleEntry<[]>
3799
+ /**
3800
+ * disallow DOM manipulating
3801
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dom-manipulating/
3802
+ */
3803
+ 'svelte/no-dom-manipulating'?: Linter.RuleEntry<[]>
3804
+ /**
3805
+ * disallow duplicate conditions in `{#if}` / `{:else if}` chains
3806
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dupe-else-if-blocks/
3807
+ */
3808
+ 'svelte/no-dupe-else-if-blocks'?: Linter.RuleEntry<[]>
3809
+ /**
3810
+ * disallow duplicate `on:` directives
3811
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dupe-on-directives/
3812
+ */
3813
+ 'svelte/no-dupe-on-directives'?: Linter.RuleEntry<[]>
3814
+ /**
3815
+ * disallow duplicate style properties
3816
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dupe-style-properties/
3817
+ */
3818
+ 'svelte/no-dupe-style-properties'?: Linter.RuleEntry<[]>
3819
+ /**
3820
+ * disallow duplicate `use:` directives
3821
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dupe-use-directives/
3822
+ */
3823
+ 'svelte/no-dupe-use-directives'?: Linter.RuleEntry<[]>
3720
3824
  /**
3721
- * Disallow arrow functions where they could be confused with comparisons
3722
- * @see https://eslint.style/rules/js/no-confusing-arrow
3825
+ * disallow dynamic slot name
3826
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dynamic-slot-name/
3723
3827
  */
3724
- 'style/no-confusing-arrow'?: Linter.RuleEntry<StyleNoConfusingArrow>
3828
+ 'svelte/no-dynamic-slot-name'?: Linter.RuleEntry<[]>
3725
3829
  /**
3726
- * Disallow unnecessary parentheses
3727
- * @see https://eslint.style/rules/ts/no-extra-parens
3830
+ * disallow exporting load functions in `*.svelte` module in SvelteKit page components.
3831
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-export-load-in-svelte-module-in-kit-pages/
3728
3832
  */
3729
- 'style/no-extra-parens'?: Linter.RuleEntry<StyleNoExtraParens>
3833
+ 'svelte/no-export-load-in-svelte-module-in-kit-pages'?: Linter.RuleEntry<[]>
3730
3834
  /**
3731
- * Disallow unnecessary semicolons
3732
- * @see https://eslint.style/rules/ts/no-extra-semi
3835
+ * disallow wrapping single reactive statements in curly braces
3836
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-extra-reactive-curlies/
3733
3837
  */
3734
- 'style/no-extra-semi'?: Linter.RuleEntry<[]>
3838
+ 'svelte/no-extra-reactive-curlies'?: Linter.RuleEntry<[]>
3735
3839
  /**
3736
- * Disallow leading or trailing decimal points in numeric literals
3737
- * @see https://eslint.style/rules/js/no-floating-decimal
3840
+ * disallow using goto() without the base path
3841
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-goto-without-base/
3738
3842
  */
3739
- 'style/no-floating-decimal'?: Linter.RuleEntry<[]>
3843
+ 'svelte/no-goto-without-base'?: Linter.RuleEntry<[]>
3740
3844
  /**
3741
- * Disallow mixed binary operators
3742
- * @see https://eslint.style/rules/js/no-mixed-operators
3845
+ * disallow ignoring the unsubscribe method returned by the `subscribe()` on Svelte stores.
3846
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-ignored-unsubscribe/
3743
3847
  */
3744
- 'style/no-mixed-operators'?: Linter.RuleEntry<StyleNoMixedOperators>
3848
+ 'svelte/no-ignored-unsubscribe'?: Linter.RuleEntry<[]>
3745
3849
  /**
3746
- * Disallow mixed spaces and tabs for indentation
3747
- * @see https://eslint.style/rules/js/no-mixed-spaces-and-tabs
3850
+ * disallow reactive statements that don't reference reactive values.
3851
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-immutable-reactive-statements/
3748
3852
  */
3749
- 'style/no-mixed-spaces-and-tabs'?: Linter.RuleEntry<StyleNoMixedSpacesAndTabs>
3853
+ 'svelte/no-immutable-reactive-statements'?: Linter.RuleEntry<[]>
3750
3854
  /**
3751
- * Disallow multiple spaces
3752
- * @see https://eslint.style/rules/js/no-multi-spaces
3855
+ * disallow attributes and directives that produce inline styles
3856
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-inline-styles/
3753
3857
  */
3754
- 'style/no-multi-spaces'?: Linter.RuleEntry<StyleNoMultiSpaces>
3858
+ 'svelte/no-inline-styles'?: Linter.RuleEntry<SvelteNoInlineStyles>
3755
3859
  /**
3756
- * Disallow multiple empty lines
3757
- * @see https://eslint.style/rules/js/no-multiple-empty-lines
3860
+ * disallow variable or `function` declarations in nested blocks
3861
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-inner-declarations/
3758
3862
  */
3759
- 'style/no-multiple-empty-lines'?: Linter.RuleEntry<StyleNoMultipleEmptyLines>
3863
+ 'svelte/no-inner-declarations'?: Linter.RuleEntry<SvelteNoInnerDeclarations>
3760
3864
  /**
3761
- * Disallow all tabs
3762
- * @see https://eslint.style/rules/js/no-tabs
3865
+ * disallow use of not function in event handler
3866
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-not-function-handler/
3763
3867
  */
3764
- 'style/no-tabs'?: Linter.RuleEntry<StyleNoTabs>
3868
+ 'svelte/no-not-function-handler'?: Linter.RuleEntry<[]>
3765
3869
  /**
3766
- * Disallow trailing whitespace at the end of lines
3767
- * @see https://eslint.style/rules/js/no-trailing-spaces
3870
+ * disallow objects in text mustache interpolation
3871
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-object-in-text-mustaches/
3768
3872
  */
3769
- 'style/no-trailing-spaces'?: Linter.RuleEntry<StyleNoTrailingSpaces>
3873
+ 'svelte/no-object-in-text-mustaches'?: Linter.RuleEntry<[]>
3770
3874
  /**
3771
- * Disallow whitespace before properties
3772
- * @see https://eslint.style/rules/js/no-whitespace-before-property
3875
+ * it's not necessary to define functions in reactive statements
3876
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-reactive-functions/
3773
3877
  */
3774
- 'style/no-whitespace-before-property'?: Linter.RuleEntry<[]>
3878
+ 'svelte/no-reactive-functions'?: Linter.RuleEntry<[]>
3775
3879
  /**
3776
- * Enforce the location of single-line statements
3777
- * @see https://eslint.style/rules/js/nonblock-statement-body-position
3880
+ * don't assign literal values in reactive statements
3881
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-reactive-literals/
3778
3882
  */
3779
- 'style/nonblock-statement-body-position'?: Linter.RuleEntry<StyleNonblockStatementBodyPosition>
3883
+ 'svelte/no-reactive-literals'?: Linter.RuleEntry<[]>
3780
3884
  /**
3781
- * Enforce consistent line breaks after opening and before closing braces
3782
- * @see https://eslint.style/rules/js/object-curly-newline
3885
+ * disallow reassigning reactive values
3886
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-reactive-reassign/
3783
3887
  */
3784
- 'style/object-curly-newline'?: Linter.RuleEntry<StyleObjectCurlyNewline>
3888
+ 'svelte/no-reactive-reassign'?: Linter.RuleEntry<SvelteNoReactiveReassign>
3785
3889
  /**
3786
- * Enforce consistent spacing inside braces
3787
- * @see https://eslint.style/rules/ts/object-curly-spacing
3890
+ * disallow specific HTML elements
3891
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-restricted-html-elements/
3788
3892
  */
3789
- 'style/object-curly-spacing'?: Linter.RuleEntry<StyleObjectCurlySpacing>
3893
+ 'svelte/no-restricted-html-elements'?: Linter.RuleEntry<SvelteNoRestrictedHtmlElements>
3790
3894
  /**
3791
- * Enforce placing object properties on separate lines
3792
- * @see https://eslint.style/rules/js/object-property-newline
3895
+ * disallow shorthand style properties that override related longhand properties
3896
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-shorthand-style-property-overrides/
3793
3897
  */
3794
- 'style/object-property-newline'?: Linter.RuleEntry<StyleObjectPropertyNewline>
3898
+ 'svelte/no-shorthand-style-property-overrides'?: Linter.RuleEntry<[]>
3795
3899
  /**
3796
- * Require or disallow newlines around variable declarations
3797
- * @see https://eslint.style/rules/js/one-var-declaration-per-line
3900
+ * disallow spaces around equal signs in attribute
3901
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-spaces-around-equal-signs-in-attribute/
3798
3902
  */
3799
- 'style/one-var-declaration-per-line'?: Linter.RuleEntry<StyleOneVarDeclarationPerLine>
3903
+ 'svelte/no-spaces-around-equal-signs-in-attribute'?: Linter.RuleEntry<[]>
3800
3904
  /**
3801
- * Enforce consistent linebreak style for operators
3802
- * @see https://eslint.style/rules/js/operator-linebreak
3905
+ * disallow using async/await inside svelte stores because it causes issues with the auto-unsubscribing features
3906
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-store-async/
3803
3907
  */
3804
- 'style/operator-linebreak'?: Linter.RuleEntry<StyleOperatorLinebreak>
3908
+ 'svelte/no-store-async'?: Linter.RuleEntry<[]>
3805
3909
  /**
3806
- * Require or disallow padding within blocks
3807
- * @see https://eslint.style/rules/js/padded-blocks
3910
+ * disallow `target="_blank"` attribute without `rel="noopener noreferrer"`
3911
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-target-blank/
3808
3912
  */
3809
- 'style/padded-blocks'?: Linter.RuleEntry<StylePaddedBlocks>
3913
+ 'svelte/no-target-blank'?: Linter.RuleEntry<SvelteNoTargetBlank>
3810
3914
  /**
3811
- * Require or disallow padding lines between statements
3812
- * @see https://eslint.style/rules/ts/padding-line-between-statements
3915
+ * disallow trailing whitespace at the end of lines
3916
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-trailing-spaces/
3813
3917
  */
3814
- 'style/padding-line-between-statements'?: Linter.RuleEntry<StylePaddingLineBetweenStatements>
3918
+ 'svelte/no-trailing-spaces'?: Linter.RuleEntry<SvelteNoTrailingSpaces>
3815
3919
  /**
3816
- * Require quotes around object literal, type literal, interfaces and enums property names
3817
- * @see https://eslint.style/rules/ts/quote-props
3920
+ * disallow unknown `style:property`
3921
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unknown-style-directive-property/
3818
3922
  */
3819
- 'style/quote-props'?: Linter.RuleEntry<StyleQuoteProps>
3923
+ 'svelte/no-unknown-style-directive-property'?: Linter.RuleEntry<SvelteNoUnknownStyleDirectiveProperty>
3820
3924
  /**
3821
- * Enforce the consistent use of either backticks, double, or single quotes
3822
- * @see https://eslint.style/rules/ts/quotes
3925
+ * disallow the use of a class in the template without a corresponding style
3926
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unused-class-name/
3823
3927
  */
3824
- 'style/quotes'?: Linter.RuleEntry<StyleQuotes>
3928
+ 'svelte/no-unused-class-name'?: Linter.RuleEntry<SvelteNoUnusedClassName>
3825
3929
  /**
3826
- * Enforce spacing between rest and spread operators and their expressions
3827
- * @see https://eslint.style/rules/js/rest-spread-spacing
3930
+ * disallow unused svelte-ignore comments
3931
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unused-svelte-ignore/
3828
3932
  */
3829
- 'style/rest-spread-spacing'?: Linter.RuleEntry<StyleRestSpreadSpacing>
3933
+ 'svelte/no-unused-svelte-ignore'?: Linter.RuleEntry<[]>
3830
3934
  /**
3831
- * Require or disallow semicolons instead of ASI
3832
- * @see https://eslint.style/rules/ts/semi
3935
+ * disallow unnecessary mustache interpolations
3936
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-useless-mustaches/
3833
3937
  */
3834
- 'style/semi'?: Linter.RuleEntry<StyleSemi>
3938
+ 'svelte/no-useless-mustaches'?: Linter.RuleEntry<SvelteNoUselessMustaches>
3835
3939
  /**
3836
- * Enforce consistent spacing before and after semicolons
3837
- * @see https://eslint.style/rules/js/semi-spacing
3940
+ * require class directives instead of ternary expressions
3941
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-class-directive/
3838
3942
  */
3839
- 'style/semi-spacing'?: Linter.RuleEntry<StyleSemiSpacing>
3943
+ 'svelte/prefer-class-directive'?: Linter.RuleEntry<SveltePreferClassDirective>
3840
3944
  /**
3841
- * Enforce location of semicolons
3842
- * @see https://eslint.style/rules/js/semi-style
3945
+ * destructure values from object stores for better change tracking & fewer redraws
3946
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-destructured-store-props/
3843
3947
  */
3844
- 'style/semi-style'?: Linter.RuleEntry<StyleSemiStyle>
3948
+ 'svelte/prefer-destructured-store-props'?: Linter.RuleEntry<[]>
3845
3949
  /**
3846
- * Enforce consistent spacing before blocks
3847
- * @see https://eslint.style/rules/ts/space-before-blocks
3950
+ * require style directives instead of style attribute
3951
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-style-directive/
3848
3952
  */
3849
- 'style/space-before-blocks'?: Linter.RuleEntry<StyleSpaceBeforeBlocks>
3953
+ 'svelte/prefer-style-directive'?: Linter.RuleEntry<[]>
3850
3954
  /**
3851
- * Enforce consistent spacing before function parenthesis
3852
- * @see https://eslint.style/rules/ts/space-before-function-paren
3955
+ * require keyed `{#each}` block
3956
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-each-key/
3853
3957
  */
3854
- 'style/space-before-function-paren'?: Linter.RuleEntry<StyleSpaceBeforeFunctionParen>
3958
+ 'svelte/require-each-key'?: Linter.RuleEntry<[]>
3855
3959
  /**
3856
- * Enforce consistent spacing inside parentheses
3857
- * @see https://eslint.style/rules/js/space-in-parens
3960
+ * require type parameters for `createEventDispatcher`
3961
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-event-dispatcher-types/
3858
3962
  */
3859
- 'style/space-in-parens'?: Linter.RuleEntry<StyleSpaceInParens>
3963
+ 'svelte/require-event-dispatcher-types'?: Linter.RuleEntry<[]>
3860
3964
  /**
3861
- * Require spacing around infix operators
3862
- * @see https://eslint.style/rules/ts/space-infix-ops
3965
+ * require style attributes that can be optimized
3966
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-optimized-style-attribute/
3863
3967
  */
3864
- 'style/space-infix-ops'?: Linter.RuleEntry<StyleSpaceInfixOps>
3968
+ 'svelte/require-optimized-style-attribute'?: Linter.RuleEntry<[]>
3865
3969
  /**
3866
- * Enforce consistent spacing before or after unary operators
3867
- * @see https://eslint.style/rules/js/space-unary-ops
3970
+ * store callbacks must use `set` param
3971
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-store-callbacks-use-set-param/
3868
3972
  */
3869
- 'style/space-unary-ops'?: Linter.RuleEntry<StyleSpaceUnaryOps>
3973
+ 'svelte/require-store-callbacks-use-set-param'?: Linter.RuleEntry<[]>
3870
3974
  /**
3871
- * Enforce consistent spacing after the `//` or `/*` in a comment
3872
- * @see https://eslint.style/rules/js/spaced-comment
3975
+ * disallow to use of the store itself as an operand. Need to use $ prefix or get function.
3976
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-store-reactive-access/
3873
3977
  */
3874
- 'style/spaced-comment'?: Linter.RuleEntry<StyleSpacedComment>
3978
+ 'svelte/require-store-reactive-access'?: Linter.RuleEntry<[]>
3875
3979
  /**
3876
- * Enforce spacing around colons of switch statements
3877
- * @see https://eslint.style/rules/js/switch-colon-spacing
3980
+ * require initial value in store
3981
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-stores-init/
3878
3982
  */
3879
- 'style/switch-colon-spacing'?: Linter.RuleEntry<StyleSwitchColonSpacing>
3983
+ 'svelte/require-stores-init'?: Linter.RuleEntry<[]>
3880
3984
  /**
3881
- * Require or disallow spacing around embedded expressions of template strings
3882
- * @see https://eslint.style/rules/js/template-curly-spacing
3985
+ * enforce use of shorthand syntax in attribute
3986
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/shorthand-attribute/
3883
3987
  */
3884
- 'style/template-curly-spacing'?: Linter.RuleEntry<StyleTemplateCurlySpacing>
3988
+ 'svelte/shorthand-attribute'?: Linter.RuleEntry<SvelteShorthandAttribute>
3885
3989
  /**
3886
- * Require or disallow spacing between template tags and their literals
3887
- * @see https://eslint.style/rules/js/template-tag-spacing
3990
+ * enforce use of shorthand syntax in directives
3991
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/shorthand-directive/
3888
3992
  */
3889
- 'style/template-tag-spacing'?: Linter.RuleEntry<StyleTemplateTagSpacing>
3993
+ 'svelte/shorthand-directive'?: Linter.RuleEntry<SvelteShorthandDirective>
3890
3994
  /**
3891
- * Require consistent spacing around type annotations
3892
- * @see https://eslint.style/rules/ts/type-annotation-spacing
3995
+ * enforce order of attributes
3996
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/sort-attributes/
3893
3997
  */
3894
- 'style/type-annotation-spacing'?: Linter.RuleEntry<StyleTypeAnnotationSpacing>
3998
+ 'svelte/sort-attributes'?: Linter.RuleEntry<SvelteSortAttributes>
3895
3999
  /**
3896
- * Enforces consistent spacing inside TypeScript type generics
3897
- * @see https://eslint.style/rules/plus/type-generic-spacing
4000
+ * enforce consistent spacing after the `<!--` and before the `-->` in a HTML comment
4001
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/spaced-html-comment/
3898
4002
  */
3899
- 'style/type-generic-spacing'?: Linter.RuleEntry<[]>
4003
+ 'svelte/spaced-html-comment'?: Linter.RuleEntry<SvelteSpacedHtmlComment>
3900
4004
  /**
3901
- * Expect space before the type declaration in the named tuple
3902
- * @see https://eslint.style/rules/plus/type-named-tuple-spacing
4005
+ * system rule for working this plugin
4006
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/system/
3903
4007
  */
3904
- 'style/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
4008
+ 'svelte/system'?: Linter.RuleEntry<[]>
3905
4009
  /**
3906
- * Require parentheses around immediate `function` invocations
3907
- * @see https://eslint.style/rules/js/wrap-iife
4010
+ * disallow warnings when compiling.
4011
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-compile/
3908
4012
  */
3909
- 'style/wrap-iife'?: Linter.RuleEntry<StyleWrapIife>
4013
+ 'svelte/valid-compile'?: Linter.RuleEntry<SvelteValidCompile>
3910
4014
  /**
3911
- * Require parenthesis around regex literals
3912
- * @see https://eslint.style/rules/js/wrap-regex
4015
+ * enforce keys to use variables defined in the `{#each}` block
4016
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-each-key/
3913
4017
  */
3914
- 'style/wrap-regex'?: Linter.RuleEntry<[]>
4018
+ 'svelte/valid-each-key'?: Linter.RuleEntry<[]>
3915
4019
  /**
3916
- * Require or disallow spacing around the `*` in `yield*` expressions
3917
- * @see https://eslint.style/rules/js/yield-star-spacing
4020
+ * disallow props other than data or errors in SvelteKit page components.
4021
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-prop-names-in-kit-pages/
3918
4022
  */
3919
- 'style/yield-star-spacing'?: Linter.RuleEntry<StyleYieldStarSpacing>
4023
+ 'svelte/valid-prop-names-in-kit-pages'?: Linter.RuleEntry<[]>
3920
4024
  /**
3921
4025
  * Enforce spacing around colons of switch statements
3922
4026
  * @see https://eslint.org/docs/latest/rules/switch-colon-spacing
@@ -3932,42 +4036,42 @@ interface RuleOptions {
3932
4036
  * Enforce a consistent and logical order of the Tailwind CSS classnames
3933
4037
  * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/classnames-order.md
3934
4038
  */
3935
- 'tailwind/classnames-order'?: Linter.RuleEntry<TailwindClassnamesOrder>
4039
+ 'tailwindcss/classnames-order'?: Linter.RuleEntry<TailwindcssClassnamesOrder>
3936
4040
  /**
3937
4041
  * Warns about dash prefixed classnames using arbitrary values
3938
4042
  * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/enforces-negative-arbitrary-values.md
3939
4043
  */
3940
- 'tailwind/enforces-negative-arbitrary-values'?: Linter.RuleEntry<TailwindEnforcesNegativeArbitraryValues>
4044
+ 'tailwindcss/enforces-negative-arbitrary-values'?: Linter.RuleEntry<TailwindcssEnforcesNegativeArbitraryValues>
3941
4045
  /**
3942
4046
  * Enforces the usage of shorthand Tailwind CSS classnames
3943
4047
  * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/enforces-shorthand.md
3944
4048
  */
3945
- 'tailwind/enforces-shorthand'?: Linter.RuleEntry<TailwindEnforcesShorthand>
4049
+ 'tailwindcss/enforces-shorthand'?: Linter.RuleEntry<TailwindcssEnforcesShorthand>
3946
4050
  /**
3947
4051
  * Detect obsolete classnames when upgrading to Tailwind CSS v3
3948
4052
  * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/migration-from-tailwind-2.md
3949
4053
  */
3950
- 'tailwind/migration-from-tailwind-2'?: Linter.RuleEntry<TailwindMigrationFromTailwind2>
4054
+ 'tailwindcss/migration-from-tailwind-2'?: Linter.RuleEntry<TailwindcssMigrationFromTailwind2>
3951
4055
  /**
3952
4056
  * Forbid using arbitrary values in classnames
3953
4057
  * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/no-arbitrary-value.md
3954
4058
  */
3955
- 'tailwind/no-arbitrary-value'?: Linter.RuleEntry<TailwindNoArbitraryValue>
4059
+ 'tailwindcss/no-arbitrary-value'?: Linter.RuleEntry<TailwindcssNoArbitraryValue>
3956
4060
  /**
3957
4061
  * Avoid contradicting Tailwind CSS classnames (e.g. "w-3 w-5")
3958
4062
  * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/no-contradicting-classname.md
3959
4063
  */
3960
- 'tailwind/no-contradicting-classname'?: Linter.RuleEntry<TailwindNoContradictingClassname>
4064
+ 'tailwindcss/no-contradicting-classname'?: Linter.RuleEntry<TailwindcssNoContradictingClassname>
3961
4065
  /**
3962
4066
  * Detect classnames which do not belong to Tailwind CSS
3963
4067
  * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/no-custom-classname.md
3964
4068
  */
3965
- 'tailwind/no-custom-classname'?: Linter.RuleEntry<TailwindNoCustomClassname>
4069
+ 'tailwindcss/no-custom-classname'?: Linter.RuleEntry<TailwindcssNoCustomClassname>
3966
4070
  /**
3967
4071
  * Forbid using arbitrary values in classnames when an equivalent preset exists
3968
4072
  * @see https://github.com/francoismassart/eslint-plugin-tailwindcss/tree/master/docs/rules/no-unnecessary-arbitrary-value.md
3969
4073
  */
3970
- 'tailwind/no-unnecessary-arbitrary-value'?: Linter.RuleEntry<TailwindNoUnnecessaryArbitraryValue>
4074
+ 'tailwindcss/no-unnecessary-arbitrary-value'?: Linter.RuleEntry<TailwindcssNoUnnecessaryArbitraryValue>
3971
4075
  /**
3972
4076
  * Require or disallow spacing around embedded expressions of template strings
3973
4077
  * @see https://eslint.org/docs/latest/rules/template-curly-spacing
@@ -3981,263 +4085,263 @@ interface RuleOptions {
3981
4085
  */
3982
4086
  'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>
3983
4087
  /**
3984
- * forbidden .spec test file pattern
4088
+ * require .spec test file pattern
3985
4089
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
3986
4090
  */
3987
4091
  'test/consistent-test-filename'?: Linter.RuleEntry<TestConsistentTestFilename>
3988
4092
  /**
3989
- * Prefer test or it but not both
4093
+ * enforce using test or it but not both
3990
4094
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
3991
4095
  */
3992
4096
  'test/consistent-test-it'?: Linter.RuleEntry<TestConsistentTestIt>
3993
4097
  /**
3994
- * Enforce having expectation in test body
4098
+ * enforce having expectation in test body
3995
4099
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
3996
4100
  */
3997
4101
  'test/expect-expect'?: Linter.RuleEntry<TestExpectExpect>
3998
4102
  /**
3999
- * Enforce a maximum number of expect per test
4103
+ * enforce a maximum number of expect per test
4000
4104
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
4001
4105
  */
4002
4106
  'test/max-expects'?: Linter.RuleEntry<TestMaxExpects>
4003
4107
  /**
4004
- * Nested describe block should be less than set max value or default value
4108
+ * require describe block to be less than set max value or default value
4005
4109
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
4006
4110
  */
4007
4111
  'test/max-nested-describe'?: Linter.RuleEntry<TestMaxNestedDescribe>
4008
4112
  /**
4009
- * Disallow alias methods
4113
+ * disallow alias methods
4010
4114
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
4011
4115
  */
4012
4116
  'test/no-alias-methods'?: Linter.RuleEntry<[]>
4013
4117
  /**
4014
- * Disallow commented out tests
4118
+ * disallow commented out tests
4015
4119
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
4016
4120
  */
4017
4121
  'test/no-commented-out-tests'?: Linter.RuleEntry<[]>
4018
4122
  /**
4019
- * Disallow conditional expects
4123
+ * disallow conditional expects
4020
4124
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
4021
4125
  */
4022
4126
  'test/no-conditional-expect'?: Linter.RuleEntry<[]>
4023
4127
  /**
4024
- * Disallow conditional tests
4128
+ * disallow conditional tests
4025
4129
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
4026
4130
  */
4027
4131
  'test/no-conditional-in-test'?: Linter.RuleEntry<[]>
4028
4132
  /**
4029
- * Disallow conditional tests
4133
+ * disallow conditional tests
4030
4134
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
4031
4135
  */
4032
4136
  'test/no-conditional-tests'?: Linter.RuleEntry<[]>
4033
4137
  /**
4034
- * Disallow disabled tests
4138
+ * disallow disabled tests
4035
4139
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
4036
4140
  */
4037
4141
  'test/no-disabled-tests'?: Linter.RuleEntry<[]>
4038
4142
  /**
4039
- * Disallow using a callback in asynchronous tests and hooks
4143
+ * disallow using a callback in asynchronous tests and hooks
4040
4144
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
4041
4145
  * @deprecated
4042
4146
  */
4043
4147
  'test/no-done-callback'?: Linter.RuleEntry<[]>
4044
4148
  /**
4045
- * Disallow duplicate hooks and teardown hooks
4149
+ * disallow duplicate hooks and teardown hooks
4046
4150
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
4047
4151
  */
4048
4152
  'test/no-duplicate-hooks'?: Linter.RuleEntry<[]>
4049
4153
  /**
4050
- * Disallow focused tests
4154
+ * disallow focused tests
4051
4155
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
4052
4156
  */
4053
- 'test/no-focused-tests'?: Linter.RuleEntry<[]>
4157
+ 'test/no-focused-tests'?: Linter.RuleEntry<TestNoFocusedTests>
4054
4158
  /**
4055
- * Disallow setup and teardown hooks
4159
+ * disallow setup and teardown hooks
4056
4160
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
4057
4161
  */
4058
4162
  'test/no-hooks'?: Linter.RuleEntry<TestNoHooks>
4059
4163
  /**
4060
- * Disallow identical titles
4164
+ * disallow identical titles
4061
4165
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
4062
4166
  */
4063
4167
  'test/no-identical-title'?: Linter.RuleEntry<[]>
4064
4168
  /**
4065
- * Disallow importing `node:test`
4169
+ * disallow importing `node:test`
4066
4170
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
4067
4171
  */
4068
4172
  'test/no-import-node-test'?: Linter.RuleEntry<[]>
4069
4173
  /**
4070
- * Disallow string interpolation in snapshots
4174
+ * disallow string interpolation in snapshots
4071
4175
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
4072
4176
  */
4073
4177
  'test/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>
4074
4178
  /**
4075
- * Disallow large snapshots
4179
+ * disallow large snapshots
4076
4180
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
4077
4181
  */
4078
4182
  'test/no-large-snapshots'?: Linter.RuleEntry<TestNoLargeSnapshots>
4079
4183
  /**
4080
- * Disallow importing from __mocks__ directory
4184
+ * disallow importing from __mocks__ directory
4081
4185
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
4082
4186
  */
4083
4187
  'test/no-mocks-import'?: Linter.RuleEntry<[]>
4084
4188
  /**
4085
- * Disallow the use of certain matchers
4189
+ * disallow the use of certain matchers
4086
4190
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
4087
4191
  */
4088
4192
  'test/no-restricted-matchers'?: Linter.RuleEntry<TestNoRestrictedMatchers>
4089
4193
  /**
4090
- * Disallow specific `vi.` methods
4194
+ * disallow specific `vi.` methods
4091
4195
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
4092
4196
  */
4093
4197
  'test/no-restricted-vi-methods'?: Linter.RuleEntry<TestNoRestrictedViMethods>
4094
4198
  /**
4095
- * Disallow using `expect` outside of `it` or `test` blocks
4199
+ * disallow using `expect` outside of `it` or `test` blocks
4096
4200
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
4097
4201
  */
4098
4202
  'test/no-standalone-expect'?: Linter.RuleEntry<TestNoStandaloneExpect>
4099
4203
  /**
4100
- * Disallow using `test` as a prefix
4204
+ * disallow using `test` as a prefix
4101
4205
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
4102
4206
  */
4103
4207
  'test/no-test-prefixes'?: Linter.RuleEntry<[]>
4104
4208
  /**
4105
- * Disallow return statements in tests
4209
+ * disallow return statements in tests
4106
4210
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
4107
4211
  */
4108
4212
  'test/no-test-return-statement'?: Linter.RuleEntry<[]>
4109
4213
  /**
4110
- * Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()`
4214
+ * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
4111
4215
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
4112
4216
  */
4113
4217
  'test/prefer-called-with'?: Linter.RuleEntry<[]>
4114
4218
  /**
4115
- * Suggest using the built-in comparison matchers
4219
+ * enforce using the built-in comparison matchers
4116
4220
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
4117
4221
  */
4118
4222
  'test/prefer-comparison-matcher'?: Linter.RuleEntry<[]>
4119
4223
  /**
4120
- * Prefer `each` rather than manual loops
4224
+ * enforce using `each` rather than manual loops
4121
4225
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
4122
4226
  */
4123
4227
  'test/prefer-each'?: Linter.RuleEntry<[]>
4124
4228
  /**
4125
- * Suggest using the built-in quality matchers
4229
+ * enforce using the built-in quality matchers
4126
4230
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
4127
4231
  */
4128
4232
  'test/prefer-equality-matcher'?: Linter.RuleEntry<[]>
4129
4233
  /**
4130
- * Suggest using expect assertions instead of callbacks
4234
+ * enforce using expect assertions instead of callbacks
4131
4235
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
4132
4236
  */
4133
4237
  'test/prefer-expect-assertions'?: Linter.RuleEntry<TestPreferExpectAssertions>
4134
4238
  /**
4135
- * Suggest using `expect().resolves` over `expect(await ...)` syntax
4239
+ * enforce using `expect().resolves` over `expect(await ...)` syntax
4136
4240
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
4137
4241
  */
4138
4242
  'test/prefer-expect-resolves'?: Linter.RuleEntry<[]>
4139
4243
  /**
4140
- * Prefer having hooks in consistent order
4244
+ * enforce having hooks in consistent order
4141
4245
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
4142
4246
  */
4143
4247
  'test/prefer-hooks-in-order'?: Linter.RuleEntry<[]>
4144
4248
  /**
4145
- * Suggest having hooks before any test cases
4249
+ * enforce having hooks before any test cases
4146
4250
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
4147
4251
  */
4148
4252
  'test/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
4149
4253
  /**
4150
- * Enforce lowercase titles
4254
+ * enforce lowercase titles
4151
4255
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
4152
4256
  */
4153
4257
  'test/prefer-lowercase-title'?: Linter.RuleEntry<TestPreferLowercaseTitle>
4154
4258
  /**
4155
- * Prefer mock resolved/rejected shorthands for promises
4259
+ * enforce mock resolved/rejected shorthands for promises
4156
4260
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
4157
4261
  */
4158
4262
  'test/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>
4159
4263
  /**
4160
- * Prefer including a hint with external snapshots
4264
+ * enforce including a hint with external snapshots
4161
4265
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
4162
4266
  */
4163
4267
  'test/prefer-snapshot-hint'?: Linter.RuleEntry<TestPreferSnapshotHint>
4164
4268
  /**
4165
- * Suggest using `vi.spyOn`
4269
+ * enforce using `vi.spyOn`
4166
4270
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
4167
4271
  */
4168
4272
  'test/prefer-spy-on'?: Linter.RuleEntry<[]>
4169
4273
  /**
4170
- * Prefer strict equal over equal
4274
+ * enforce strict equal over equal
4171
4275
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
4172
4276
  */
4173
4277
  'test/prefer-strict-equal'?: Linter.RuleEntry<[]>
4174
4278
  /**
4175
- * Suggest using toBe()
4279
+ * enforce using toBe()
4176
4280
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
4177
4281
  */
4178
4282
  'test/prefer-to-be'?: Linter.RuleEntry<[]>
4179
4283
  /**
4180
- * Suggest using toBeFalsy()
4284
+ * enforce using toBeFalsy()
4181
4285
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
4182
4286
  */
4183
4287
  'test/prefer-to-be-falsy'?: Linter.RuleEntry<[]>
4184
4288
  /**
4185
- * Prefer toBeObject()
4289
+ * enforce using toBeObject()
4186
4290
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
4187
4291
  */
4188
4292
  'test/prefer-to-be-object'?: Linter.RuleEntry<[]>
4189
4293
  /**
4190
- * Suggest using `toBeTruthy`
4294
+ * enforce using `toBeTruthy`
4191
4295
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
4192
4296
  */
4193
4297
  'test/prefer-to-be-truthy'?: Linter.RuleEntry<[]>
4194
4298
  /**
4195
- * Prefer using toContain()
4299
+ * enforce using toContain()
4196
4300
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
4197
4301
  */
4198
4302
  'test/prefer-to-contain'?: Linter.RuleEntry<[]>
4199
4303
  /**
4200
- * Suggest using toHaveLength()
4304
+ * enforce using toHaveLength()
4201
4305
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
4202
4306
  */
4203
4307
  'test/prefer-to-have-length'?: Linter.RuleEntry<[]>
4204
4308
  /**
4205
- * Suggest using `test.todo`
4309
+ * enforce using `test.todo`
4206
4310
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
4207
4311
  */
4208
4312
  'test/prefer-todo'?: Linter.RuleEntry<[]>
4209
4313
  /**
4210
- * Require setup and teardown to be within a hook
4314
+ * require setup and teardown to be within a hook
4211
4315
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
4212
4316
  */
4213
4317
  'test/require-hook'?: Linter.RuleEntry<TestRequireHook>
4214
4318
  /**
4215
- * Require local Test Context for concurrent snapshot tests
4319
+ * require local Test Context for concurrent snapshot tests
4216
4320
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
4217
4321
  */
4218
4322
  'test/require-local-test-context-for-concurrent-snapshots'?: Linter.RuleEntry<[]>
4219
4323
  /**
4220
- * Require toThrow() to be called with an error message
4324
+ * require toThrow() to be called with an error message
4221
4325
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
4222
4326
  */
4223
4327
  'test/require-to-throw-message'?: Linter.RuleEntry<[]>
4224
4328
  /**
4225
- * Enforce that all tests are in a top-level describe
4329
+ * enforce that all tests are in a top-level describe
4226
4330
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
4227
4331
  */
4228
4332
  'test/require-top-level-describe'?: Linter.RuleEntry<TestRequireTopLevelDescribe>
4229
4333
  /**
4230
- * Enforce valid describe callback
4334
+ * enforce valid describe callback
4231
4335
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
4232
4336
  */
4233
4337
  'test/valid-describe-callback'?: Linter.RuleEntry<[]>
4234
4338
  /**
4235
- * Enforce valid `expect()` usage
4339
+ * enforce valid `expect()` usage
4236
4340
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
4237
4341
  */
4238
4342
  'test/valid-expect'?: Linter.RuleEntry<TestValidExpect>
4239
4343
  /**
4240
- * Enforce valid titles
4344
+ * enforce valid titles
4241
4345
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
4242
4346
  */
4243
4347
  'test/valid-title'?: Linter.RuleEntry<TestValidTitle>
@@ -7177,8 +7281,6 @@ interface RuleOptions {
7177
7281
  }
7178
7282
 
7179
7283
  /* ======= Declarations ======= */
7180
- // ----- @next/next/no-html-link-for-pages -----
7181
- type NextNextNoHtmlLinkForPages = []|[(string | string[])]
7182
7284
  // ----- accessor-pairs -----
7183
7285
  type AccessorPairs = []|[{
7184
7286
  getWithoutSet?: boolean
@@ -8954,6 +9056,8 @@ type NewlineAfterVar = []|[("never" | "always")]
8954
9056
  type NewlinePerChainedCall = []|[{
8955
9057
  ignoreChainWithDepth?: number
8956
9058
  }]
9059
+ // ----- nextjs/no-html-link-for-pages -----
9060
+ type NextjsNoHtmlLinkForPages = []|[(string | string[])]
8957
9061
  // ----- no-bitwise -----
8958
9062
  type NoBitwise = []|[{
8959
9063
  allow?: ("^" | "|" | "&" | "<<" | ">>" | ">>>" | "^=" | "|=" | "&=" | "<<=" | ">>=" | ">>>=" | "~")[]
@@ -9325,6 +9429,27 @@ type NodeFileExtensionInImport = []|[("always" | "never")]|[("always" | "never")
9325
9429
  }]
9326
9430
  // ----- node/handle-callback-err -----
9327
9431
  type NodeHandleCallbackErr = []|[string]
9432
+ // ----- node/hashbang -----
9433
+ type NodeHashbang = []|[{
9434
+ convertPath?: ({
9435
+
9436
+ [k: string]: [string, string]
9437
+ } | [{
9438
+
9439
+ include: [string, ...(string)[]]
9440
+ exclude?: string[]
9441
+
9442
+ replace: [string, string]
9443
+ }, ...({
9444
+
9445
+ include: [string, ...(string)[]]
9446
+ exclude?: string[]
9447
+
9448
+ replace: [string, string]
9449
+ })[]])
9450
+ ignoreUnpublished?: boolean
9451
+ additionalExecutables?: string[]
9452
+ }]
9328
9453
  // ----- node/no-deprecated-api -----
9329
9454
  type NodeNoDeprecatedApi = []|[{
9330
9455
  version?: string
@@ -9385,8 +9510,9 @@ type NodeNoHideCoreModules = []|[{
9385
9510
  type NodeNoMissingImport = []|[{
9386
9511
  allowModules?: string[]
9387
9512
  resolvePaths?: string[]
9388
- typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"))
9513
+ tryExtensions?: string[]
9389
9514
  tsconfigPath?: string
9515
+ typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"))
9390
9516
  }]
9391
9517
  // ----- node/no-missing-require -----
9392
9518
  type NodeNoMissingRequire = []|[{
@@ -9479,25 +9605,20 @@ type NodeNoUnpublishedRequire = []|[{
9479
9605
  resolvePaths?: string[]
9480
9606
  tryExtensions?: string[]
9481
9607
  }]
9482
- // ----- node/no-unsupported-features -----
9483
- type NodeNoUnsupportedFeatures = []|[((0.1 | 0.12 | 4 | 5 | 6 | 6.5 | 7 | 7.6 | 8 | 8.3 | 9 | 10) | string | {
9484
- version?: ((0.1 | 0.12 | 4 | 5 | 6 | 6.5 | 7 | 7.6 | 8 | 8.3 | 9 | 10) | string)
9485
- ignores?: ("syntax" | "defaultParameters" | "restParameters" | "spreadOperators" | "objectLiteralExtensions" | "objectPropertyShorthandOfGetSet" | "forOf" | "binaryNumberLiterals" | "octalNumberLiterals" | "templateStrings" | "regexpY" | "regexpU" | "destructuring" | "unicodeCodePointEscapes" | "new.target" | "const" | "let" | "blockScopedFunctions" | "arrowFunctions" | "generatorFunctions" | "classes" | "modules" | "exponentialOperators" | "asyncAwait" | "trailingCommasInFunctions" | "templateLiteralRevision" | "regexpS" | "regexpNamedCaptureGroups" | "regexpLookbehind" | "regexpUnicodeProperties" | "restProperties" | "spreadProperties" | "asyncGenerators" | "forAwaitOf" | "runtime" | "globalObjects" | "typedArrays" | "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "Float32Array" | "Float64Array" | "DataView" | "Map" | "Set" | "WeakMap" | "WeakSet" | "Proxy" | "Reflect" | "Promise" | "Symbol" | "SharedArrayBuffer" | "Atomics" | "staticMethods" | "Object.*" | "Object.assign" | "Object.is" | "Object.getOwnPropertySymbols" | "Object.setPrototypeOf" | "Object.values" | "Object.entries" | "Object.getOwnPropertyDescriptors" | "String.*" | "String.raw" | "String.fromCodePoint" | "Array.*" | "Array.from" | "Array.of" | "Number.*" | "Number.isFinite" | "Number.isInteger" | "Number.isSafeInteger" | "Number.isNaN" | "Number.EPSILON" | "Number.MIN_SAFE_INTEGER" | "Number.MAX_SAFE_INTEGER" | "Math.*" | "Math.clz32" | "Math.imul" | "Math.sign" | "Math.log10" | "Math.log2" | "Math.log1p" | "Math.expm1" | "Math.cosh" | "Math.sinh" | "Math.tanh" | "Math.acosh" | "Math.asinh" | "Math.atanh" | "Math.trunc" | "Math.fround" | "Math.cbrt" | "Math.hypot" | "Symbol.*" | "Symbol.hasInstance" | "Symbol.isConcatSpreadablec" | "Symbol.iterator" | "Symbol.species" | "Symbol.replace" | "Symbol.search" | "Symbol.split" | "Symbol.match" | "Symbol.toPrimitive" | "Symbol.toStringTag" | "Symbol.unscopables" | "Atomics.*" | "Atomics.add" | "Atomics.and" | "Atomics.compareExchange" | "Atomics.exchange" | "Atomics.wait" | "Atomics.wake" | "Atomics.isLockFree" | "Atomics.load" | "Atomics.or" | "Atomics.store" | "Atomics.sub" | "Atomics.xor" | "extends" | "extendsArray" | "extendsRegExp" | "extendsFunction" | "extendsPromise" | "extendsBoolean" | "extendsNumber" | "extendsString" | "extendsMap" | "extendsSet" | "extendsNull")[]
9486
- })]
9487
9608
  // ----- node/no-unsupported-features/es-builtins -----
9488
9609
  type NodeNoUnsupportedFeaturesEsBuiltins = []|[{
9489
9610
  version?: string
9490
- ignores?: ("AggregateError" | "Array.from" | "Array.of" | "BigInt" | "FinalizationRegistry" | "Map" | "Math.acosh" | "Math.asinh" | "Math.atanh" | "Math.cbrt" | "Math.clz32" | "Math.cosh" | "Math.expm1" | "Math.fround" | "Math.hypot" | "Math.imul" | "Math.log10" | "Math.log1p" | "Math.log2" | "Math.sign" | "Math.sinh" | "Math.tanh" | "Math.trunc" | "Number.EPSILON" | "Number.isFinite" | "Number.isInteger" | "Number.isNaN" | "Number.isSafeInteger" | "Number.MAX_SAFE_INTEGER" | "Number.MIN_SAFE_INTEGER" | "Number.parseFloat" | "Number.parseInt" | "Object.assign" | "Object.fromEntries" | "Object.getOwnPropertySymbols" | "Object.is" | "Object.setPrototypeOf" | "Object.values" | "Object.entries" | "Object.getOwnPropertyDescriptors" | "Promise" | "Promise.allSettled" | "Promise.any" | "Proxy" | "Reflect" | "Set" | "String.fromCodePoint" | "String.raw" | "Symbol" | "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "BigInt64Array" | "BigUint64Array" | "Float32Array" | "Float64Array" | "DataView" | "WeakMap" | "WeakRef" | "WeakSet" | "Atomics" | "SharedArrayBuffer" | "globalThis")[]
9611
+ ignores?: ("AggregateError" | "Array" | "Array.from" | "Array.isArray" | "Array.length" | "Array.of" | "Array.toLocaleString" | "ArrayBuffer" | "ArrayBuffer.isView" | "Atomics" | "Atomics.add" | "Atomics.and" | "Atomics.compareExchange" | "Atomics.exchange" | "Atomics.isLockFree" | "Atomics.load" | "Atomics.notify" | "Atomics.or" | "Atomics.store" | "Atomics.sub" | "Atomics.wait" | "Atomics.waitAsync" | "Atomics.xor" | "BigInt" | "BigInt.asIntN" | "BigInt.asUintN" | "BigInt64Array" | "BigInt64Array.BYTES_PER_ELEMENT" | "BigInt64Array.from" | "BigInt64Array.name" | "BigInt64Array.of" | "BigUint64Array" | "BigUint64Array.BYTES_PER_ELEMENT" | "BigUint64Array.from" | "BigUint64Array.name" | "BigUint64Array.of" | "Boolean" | "DataView" | "Date" | "Date.UTC" | "Date.now" | "Date.parse" | "Date.toLocaleDateString" | "Date.toLocaleString" | "Date.toLocaleTimeString" | "Error" | "Error.cause" | "EvalError" | "FinalizationRegistry" | "Float32Array" | "Float32Array.BYTES_PER_ELEMENT" | "Float32Array.from" | "Float32Array.name" | "Float32Array.of" | "Float64Array" | "Float64Array.BYTES_PER_ELEMENT" | "Float64Array.from" | "Float64Array.name" | "Float64Array.of" | "Function" | "Function.length" | "Function.name" | "Infinity" | "Int16Array" | "Int16Array.BYTES_PER_ELEMENT" | "Int16Array.from" | "Int16Array.name" | "Int16Array.of" | "Int32Array" | "Int32Array.BYTES_PER_ELEMENT" | "Int32Array.from" | "Int32Array.name" | "Int32Array.of" | "Int8Array" | "Int8Array.BYTES_PER_ELEMENT" | "Int8Array.from" | "Int8Array.name" | "Int8Array.of" | "Intl" | "Intl.Collator" | "Intl.DateTimeFormat" | "Intl.DisplayNames" | "Intl.ListFormat" | "Intl.Locale" | "Intl.NumberFormat" | "Intl.PluralRules" | "Intl.RelativeTimeFormat" | "Intl.Segmenter" | "Intl.Segments" | "Intl.getCanonicalLocales" | "Intl.supportedValuesOf" | "JSON" | "JSON.parse" | "JSON.stringify" | "Map" | "Map.groupBy" | "Math" | "Math.E" | "Math.LN10" | "Math.LN2" | "Math.LOG10E" | "Math.LOG2E" | "Math.PI" | "Math.SQRT1_2" | "Math.SQRT2" | "Math.abs" | "Math.acos" | "Math.acosh" | "Math.asin" | "Math.asinh" | "Math.atan" | "Math.atan2" | "Math.atanh" | "Math.cbrt" | "Math.ceil" | "Math.clz32" | "Math.cos" | "Math.cosh" | "Math.exp" | "Math.expm1" | "Math.floor" | "Math.fround" | "Math.hypot" | "Math.imul" | "Math.log" | "Math.log10" | "Math.log1p" | "Math.log2" | "Math.max" | "Math.min" | "Math.pow" | "Math.random" | "Math.round" | "Math.sign" | "Math.sin" | "Math.sinh" | "Math.sqrt" | "Math.tan" | "Math.tanh" | "Math.trunc" | "NaN" | "Number.EPSILON" | "Number.MAX_SAFE_INTEGER" | "Number.MAX_VALUE" | "Number.MIN_SAFE_INTEGER" | "Number.MIN_VALUE" | "Number.NEGATIVE_INFINITY" | "Number.NaN" | "Number.POSITIVE_INFINITY" | "Number.isFinite" | "Number.isInteger" | "Number.isNaN" | "Number.isSafeInteger" | "Number.parseFloat" | "Number.parseInt" | "Number.toLocaleString" | "Object.assign" | "Object.create" | "Object.defineGetter" | "Object.defineProperties" | "Object.defineProperty" | "Object.defineSetter" | "Object.entries" | "Object.freeze" | "Object.fromEntries" | "Object.getOwnPropertyDescriptor" | "Object.getOwnPropertyDescriptors" | "Object.getOwnPropertyNames" | "Object.getOwnPropertySymbols" | "Object.getPrototypeOf" | "Object.groupBy" | "Object.hasOwn" | "Object.is" | "Object.isExtensible" | "Object.isFrozen" | "Object.isSealed" | "Object.keys" | "Object.lookupGetter" | "Object.lookupSetter" | "Object.preventExtensions" | "Object.proto" | "Object.seal" | "Object.setPrototypeOf" | "Object.values" | "Promise" | "Promise.all" | "Promise.allSettled" | "Promise.any" | "Promise.race" | "Promise.reject" | "Promise.resolve" | "Proxy" | "Proxy.revocable" | "RangeError" | "ReferenceError" | "Reflect" | "Reflect.apply" | "Reflect.construct" | "Reflect.defineProperty" | "Reflect.deleteProperty" | "Reflect.get" | "Reflect.getOwnPropertyDescriptor" | "Reflect.getPrototypeOf" | "Reflect.has" | "Reflect.isExtensible" | "Reflect.ownKeys" | "Reflect.preventExtensions" | "Reflect.set" | "Reflect.setPrototypeOf" | "RegExp" | "RegExp.dotAll" | "RegExp.hasIndices" | "RegExp.input" | "RegExp.lastIndex" | "RegExp.lastMatch" | "RegExp.lastParen" | "RegExp.leftContext" | "RegExp.n" | "RegExp.rightContext" | "Set" | "SharedArrayBuffer" | "String" | "String.fromCharCode" | "String.fromCodePoint" | "String.length" | "String.localeCompare" | "String.raw" | "String.toLocaleLowerCase" | "String.toLocaleUpperCase" | "Symbol" | "Symbol.asyncIterator" | "Symbol.for" | "Symbol.hasInstance" | "Symbol.isConcatSpreadable" | "Symbol.iterator" | "Symbol.keyFor" | "Symbol.match" | "Symbol.matchAll" | "Symbol.replace" | "Symbol.search" | "Symbol.species" | "Symbol.split" | "Symbol.toPrimitive" | "Symbol.toStringTag" | "Symbol.unscopables" | "SyntaxError" | "TypeError" | "URIError" | "Uint16Array" | "Uint16Array.BYTES_PER_ELEMENT" | "Uint16Array.from" | "Uint16Array.name" | "Uint16Array.of" | "Uint32Array" | "Uint32Array.BYTES_PER_ELEMENT" | "Uint32Array.from" | "Uint32Array.name" | "Uint32Array.of" | "Uint8Array" | "Uint8Array.BYTES_PER_ELEMENT" | "Uint8Array.from" | "Uint8Array.name" | "Uint8Array.of" | "Uint8ClampedArray" | "Uint8ClampedArray.BYTES_PER_ELEMENT" | "Uint8ClampedArray.from" | "Uint8ClampedArray.name" | "Uint8ClampedArray.of" | "WeakMap" | "WeakRef" | "WeakSet" | "decodeURI" | "decodeURIComponent" | "encodeURI" | "encodeURIComponent" | "escape" | "eval" | "globalThis" | "isFinite" | "isNaN" | "parseFloat" | "parseInt" | "unescape" | "AbortController" | "AbortSignal" | "AbortSignal.abort" | "AbortSignal.any" | "AbortSignal.timeout" | "Blob" | "BroadcastChannel" | "ByteLengthQueuingStrategy" | "CompressionStream" | "CountQueuingStrategy" | "Crypto" | "CryptoKey" | "CustomEvent" | "DOMException" | "DecompressionStream" | "Event" | "EventTarget" | "FormData" | "Headers" | "MessageChannel" | "MessageEvent" | "MessagePort" | "Performance" | "PerformanceEntry" | "PerformanceMark" | "PerformanceMeasure" | "PerformanceObserver" | "PerformanceObserver.supportedEntryTypes" | "PerformanceObserverEntryList" | "ReadableByteStreamController" | "ReadableStream" | "ReadableStream.from" | "ReadableStreamBYOBReader" | "ReadableStreamBYOBRequest" | "ReadableStreamDefaultController" | "ReadableStreamDefaultReader" | "Request" | "Response" | "SubtleCrypto" | "TextDecoder" | "TextDecoderStream" | "TextEncoder" | "TextEncoderStream" | "TransformStream" | "TransformStreamDefaultController" | "URL" | "URL.canParse" | "URL.createObjectURL" | "URL.revokeObjectURL" | "URLSearchParams" | "Worker" | "WritableStream" | "WritableStreamDefaultController" | "WritableStreamDefaultWriter" | "atob" | "btoa" | "clearInterval" | "clearTimeout" | "console" | "console.assert" | "console.clear" | "console.countReset" | "console.count" | "console.debug" | "console.dir" | "console.dirxml" | "console.error" | "console.groupCollapsed" | "console.groupEnd" | "console.group" | "console.info" | "console.log" | "console.table" | "console.timeEnd" | "console.timeLog" | "console.time" | "console.trace" | "console.warn" | "fetch" | "queueMicrotask" | "setInterval" | "setTimeout" | "structuredClone")[]
9491
9612
  }]
9492
9613
  // ----- node/no-unsupported-features/es-syntax -----
9493
9614
  type NodeNoUnsupportedFeaturesEsSyntax = []|[{
9494
9615
  version?: string
9495
- ignores?: ("arrowFunctions" | "binaryNumericLiterals" | "blockScopedFunctions" | "blockScopedVariables" | "classes" | "computedProperties" | "defaultParameters" | "destructuring" | "forOfLoops" | "generators" | "modules" | "new.target" | "objectSuperProperties" | "octalNumericLiterals" | "propertyShorthands" | "regexpU" | "regexpY" | "restParameters" | "spreadElements" | "templateLiterals" | "unicodeCodePointEscapes" | "exponentialOperators" | "asyncFunctions" | "trailingCommasInFunctions" | "asyncIteration" | "malformedTemplateLiterals" | "regexpLookbehind" | "regexpNamedCaptureGroups" | "regexpS" | "regexpUnicodeProperties" | "restSpreadProperties" | "jsonSuperset" | "optionalCatchBinding" | "bigint" | "dynamicImport" | "optionalChaining" | "nullishCoalescingOperators" | "logicalAssignmentOperators" | "numericSeparators")[]
9616
+ ignores?: ("no-accessor-properties" | "accessor-properties" | "accessorProperties" | "no-arbitrary-module-namespace-names" | "arbitrary-module-namespace-names" | "arbitraryModuleNamespaceNames" | "no-array-from" | "array-from" | "arrayFrom" | "no-array-isarray" | "array-isarray" | "arrayIsarray" | "no-array-of" | "array-of" | "arrayOf" | "no-array-prototype-copywithin" | "array-prototype-copywithin" | "arrayPrototypeCopywithin" | "no-array-prototype-entries" | "array-prototype-entries" | "arrayPrototypeEntries" | "no-array-prototype-every" | "array-prototype-every" | "arrayPrototypeEvery" | "no-array-prototype-fill" | "array-prototype-fill" | "arrayPrototypeFill" | "no-array-prototype-filter" | "array-prototype-filter" | "arrayPrototypeFilter" | "no-array-prototype-find" | "array-prototype-find" | "arrayPrototypeFind" | "no-array-prototype-findindex" | "array-prototype-findindex" | "arrayPrototypeFindindex" | "no-array-prototype-findlast-findlastindex" | "array-prototype-findlast-findlastindex" | "arrayPrototypeFindlastFindlastindex" | "no-array-prototype-flat" | "array-prototype-flat" | "arrayPrototypeFlat" | "no-array-prototype-foreach" | "array-prototype-foreach" | "arrayPrototypeForeach" | "no-array-prototype-includes" | "array-prototype-includes" | "arrayPrototypeIncludes" | "no-array-prototype-indexof" | "array-prototype-indexof" | "arrayPrototypeIndexof" | "no-array-prototype-keys" | "array-prototype-keys" | "arrayPrototypeKeys" | "no-array-prototype-lastindexof" | "array-prototype-lastindexof" | "arrayPrototypeLastindexof" | "no-array-prototype-map" | "array-prototype-map" | "arrayPrototypeMap" | "no-array-prototype-reduce" | "array-prototype-reduce" | "arrayPrototypeReduce" | "no-array-prototype-reduceright" | "array-prototype-reduceright" | "arrayPrototypeReduceright" | "no-array-prototype-some" | "array-prototype-some" | "arrayPrototypeSome" | "no-array-prototype-toreversed" | "array-prototype-toreversed" | "arrayPrototypeToreversed" | "no-array-prototype-tosorted" | "array-prototype-tosorted" | "arrayPrototypeTosorted" | "no-array-prototype-tospliced" | "array-prototype-tospliced" | "arrayPrototypeTospliced" | "no-array-prototype-values" | "array-prototype-values" | "arrayPrototypeValues" | "no-array-prototype-with" | "array-prototype-with" | "arrayPrototypeWith" | "no-array-string-prototype-at" | "array-string-prototype-at" | "arrayStringPrototypeAt" | "no-arrow-functions" | "arrow-functions" | "arrowFunctions" | "no-async-functions" | "async-functions" | "asyncFunctions" | "no-async-iteration" | "async-iteration" | "asyncIteration" | "no-atomics-waitasync" | "atomics-waitasync" | "atomicsWaitasync" | "no-atomics" | "atomics" | "no-bigint" | "bigint" | "no-binary-numeric-literals" | "binary-numeric-literals" | "binaryNumericLiterals" | "no-block-scoped-functions" | "block-scoped-functions" | "blockScopedFunctions" | "no-block-scoped-variables" | "block-scoped-variables" | "blockScopedVariables" | "no-class-fields" | "class-fields" | "classFields" | "no-class-static-block" | "class-static-block" | "classStaticBlock" | "no-classes" | "classes" | "no-computed-properties" | "computed-properties" | "computedProperties" | "no-date-now" | "date-now" | "dateNow" | "no-date-prototype-getyear-setyear" | "date-prototype-getyear-setyear" | "datePrototypeGetyearSetyear" | "no-date-prototype-togmtstring" | "date-prototype-togmtstring" | "datePrototypeTogmtstring" | "no-default-parameters" | "default-parameters" | "defaultParameters" | "no-destructuring" | "destructuring" | "no-dynamic-import" | "dynamic-import" | "dynamicImport" | "no-error-cause" | "error-cause" | "errorCause" | "no-escape-unescape" | "escape-unescape" | "escapeUnescape" | "no-exponential-operators" | "exponential-operators" | "exponentialOperators" | "no-export-ns-from" | "export-ns-from" | "exportNsFrom" | "no-for-of-loops" | "for-of-loops" | "forOfLoops" | "no-function-declarations-in-if-statement-clauses-without-block" | "function-declarations-in-if-statement-clauses-without-block" | "functionDeclarationsInIfStatementClausesWithoutBlock" | "no-function-prototype-bind" | "function-prototype-bind" | "functionPrototypeBind" | "no-generators" | "generators" | "no-global-this" | "global-this" | "globalThis" | "no-hashbang" | "hashbang" | "no-import-meta" | "import-meta" | "importMeta" | "no-initializers-in-for-in" | "initializers-in-for-in" | "initializersInForIn" | "no-intl-datetimeformat-prototype-formatrange" | "intl-datetimeformat-prototype-formatrange" | "intlDatetimeformatPrototypeFormatrange" | "no-intl-datetimeformat-prototype-formattoparts" | "intl-datetimeformat-prototype-formattoparts" | "intlDatetimeformatPrototypeFormattoparts" | "no-intl-displaynames" | "intl-displaynames" | "intlDisplaynames" | "no-intl-getcanonicallocales" | "intl-getcanonicallocales" | "intlGetcanonicallocales" | "no-intl-listformat" | "intl-listformat" | "intlListformat" | "no-intl-locale" | "intl-locale" | "intlLocale" | "no-intl-numberformat-prototype-formatrange" | "intl-numberformat-prototype-formatrange" | "intlNumberformatPrototypeFormatrange" | "no-intl-numberformat-prototype-formatrangetoparts" | "intl-numberformat-prototype-formatrangetoparts" | "intlNumberformatPrototypeFormatrangetoparts" | "no-intl-numberformat-prototype-formattoparts" | "intl-numberformat-prototype-formattoparts" | "intlNumberformatPrototypeFormattoparts" | "no-intl-pluralrules-prototype-selectrange" | "intl-pluralrules-prototype-selectrange" | "intlPluralrulesPrototypeSelectrange" | "no-intl-pluralrules" | "intl-pluralrules" | "intlPluralrules" | "no-intl-relativetimeformat" | "intl-relativetimeformat" | "intlRelativetimeformat" | "no-intl-segmenter" | "intl-segmenter" | "intlSegmenter" | "no-intl-supportedvaluesof" | "intl-supportedvaluesof" | "intlSupportedvaluesof" | "no-json-superset" | "json-superset" | "jsonSuperset" | "no-json" | "json" | "no-keyword-properties" | "keyword-properties" | "keywordProperties" | "no-labelled-function-declarations" | "labelled-function-declarations" | "labelledFunctionDeclarations" | "no-legacy-object-prototype-accessor-methods" | "legacy-object-prototype-accessor-methods" | "legacyObjectPrototypeAccessorMethods" | "no-logical-assignment-operators" | "logical-assignment-operators" | "logicalAssignmentOperators" | "no-malformed-template-literals" | "malformed-template-literals" | "malformedTemplateLiterals" | "no-map" | "map" | "no-math-acosh" | "math-acosh" | "mathAcosh" | "no-math-asinh" | "math-asinh" | "mathAsinh" | "no-math-atanh" | "math-atanh" | "mathAtanh" | "no-math-cbrt" | "math-cbrt" | "mathCbrt" | "no-math-clz32" | "math-clz32" | "mathClz32" | "no-math-cosh" | "math-cosh" | "mathCosh" | "no-math-expm1" | "math-expm1" | "mathExpm1" | "no-math-fround" | "math-fround" | "mathFround" | "no-math-hypot" | "math-hypot" | "mathHypot" | "no-math-imul" | "math-imul" | "mathImul" | "no-math-log10" | "math-log10" | "mathLog10" | "no-math-log1p" | "math-log1p" | "mathLog1p" | "no-math-log2" | "math-log2" | "mathLog2" | "no-math-sign" | "math-sign" | "mathSign" | "no-math-sinh" | "math-sinh" | "mathSinh" | "no-math-tanh" | "math-tanh" | "mathTanh" | "no-math-trunc" | "math-trunc" | "mathTrunc" | "no-modules" | "modules" | "no-new-target" | "new-target" | "newTarget" | "new.target" | "no-nullish-coalescing-operators" | "nullish-coalescing-operators" | "nullishCoalescingOperators" | "no-number-epsilon" | "number-epsilon" | "numberEpsilon" | "no-number-isfinite" | "number-isfinite" | "numberIsfinite" | "no-number-isinteger" | "number-isinteger" | "numberIsinteger" | "no-number-isnan" | "number-isnan" | "numberIsnan" | "no-number-issafeinteger" | "number-issafeinteger" | "numberIssafeinteger" | "no-number-maxsafeinteger" | "number-maxsafeinteger" | "numberMaxsafeinteger" | "no-number-minsafeinteger" | "number-minsafeinteger" | "numberMinsafeinteger" | "no-number-parsefloat" | "number-parsefloat" | "numberParsefloat" | "no-number-parseint" | "number-parseint" | "numberParseint" | "no-numeric-separators" | "numeric-separators" | "numericSeparators" | "no-object-assign" | "object-assign" | "objectAssign" | "no-object-create" | "object-create" | "objectCreate" | "no-object-defineproperties" | "object-defineproperties" | "objectDefineproperties" | "no-object-defineproperty" | "object-defineproperty" | "objectDefineproperty" | "no-object-entries" | "object-entries" | "objectEntries" | "no-object-freeze" | "object-freeze" | "objectFreeze" | "no-object-fromentries" | "object-fromentries" | "objectFromentries" | "no-object-getownpropertydescriptor" | "object-getownpropertydescriptor" | "objectGetownpropertydescriptor" | "no-object-getownpropertydescriptors" | "object-getownpropertydescriptors" | "objectGetownpropertydescriptors" | "no-object-getownpropertynames" | "object-getownpropertynames" | "objectGetownpropertynames" | "no-object-getownpropertysymbols" | "object-getownpropertysymbols" | "objectGetownpropertysymbols" | "no-object-getprototypeof" | "object-getprototypeof" | "objectGetprototypeof" | "no-object-hasown" | "object-hasown" | "objectHasown" | "no-object-is" | "object-is" | "objectIs" | "no-object-isextensible" | "object-isextensible" | "objectIsextensible" | "no-object-isfrozen" | "object-isfrozen" | "objectIsfrozen" | "no-object-issealed" | "object-issealed" | "objectIssealed" | "no-object-keys" | "object-keys" | "objectKeys" | "no-object-map-groupby" | "object-map-groupby" | "objectMapGroupby" | "no-object-preventextensions" | "object-preventextensions" | "objectPreventextensions" | "no-object-seal" | "object-seal" | "objectSeal" | "no-object-setprototypeof" | "object-setprototypeof" | "objectSetprototypeof" | "no-object-super-properties" | "object-super-properties" | "objectSuperProperties" | "no-object-values" | "object-values" | "objectValues" | "no-octal-numeric-literals" | "octal-numeric-literals" | "octalNumericLiterals" | "no-optional-catch-binding" | "optional-catch-binding" | "optionalCatchBinding" | "no-optional-chaining" | "optional-chaining" | "optionalChaining" | "no-private-in" | "private-in" | "privateIn" | "no-promise-all-settled" | "promise-all-settled" | "promiseAllSettled" | "no-promise-any" | "promise-any" | "promiseAny" | "no-promise-prototype-finally" | "promise-prototype-finally" | "promisePrototypeFinally" | "no-promise-withresolvers" | "promise-withresolvers" | "promiseWithresolvers" | "no-promise" | "promise" | "no-property-shorthands" | "property-shorthands" | "propertyShorthands" | "no-proxy" | "proxy" | "no-reflect" | "reflect" | "no-regexp-d-flag" | "regexp-d-flag" | "regexpDFlag" | "no-regexp-lookbehind-assertions" | "regexp-lookbehind-assertions" | "regexpLookbehindAssertions" | "regexpLookbehind" | "no-regexp-named-capture-groups" | "regexp-named-capture-groups" | "regexpNamedCaptureGroups" | "no-regexp-prototype-compile" | "regexp-prototype-compile" | "regexpPrototypeCompile" | "no-regexp-prototype-flags" | "regexp-prototype-flags" | "regexpPrototypeFlags" | "no-regexp-s-flag" | "regexp-s-flag" | "regexpSFlag" | "regexpS" | "no-regexp-u-flag" | "regexp-u-flag" | "regexpUFlag" | "regexpU" | "no-regexp-unicode-property-escapes-2019" | "regexp-unicode-property-escapes-2019" | "regexpUnicodePropertyEscapes2019" | "no-regexp-unicode-property-escapes-2020" | "regexp-unicode-property-escapes-2020" | "regexpUnicodePropertyEscapes2020" | "no-regexp-unicode-property-escapes-2021" | "regexp-unicode-property-escapes-2021" | "regexpUnicodePropertyEscapes2021" | "no-regexp-unicode-property-escapes-2022" | "regexp-unicode-property-escapes-2022" | "regexpUnicodePropertyEscapes2022" | "no-regexp-unicode-property-escapes-2023" | "regexp-unicode-property-escapes-2023" | "regexpUnicodePropertyEscapes2023" | "no-regexp-unicode-property-escapes" | "regexp-unicode-property-escapes" | "regexpUnicodePropertyEscapes" | "regexpUnicodeProperties" | "no-regexp-v-flag" | "regexp-v-flag" | "regexpVFlag" | "no-regexp-y-flag" | "regexp-y-flag" | "regexpYFlag" | "regexpY" | "no-resizable-and-growable-arraybuffers" | "resizable-and-growable-arraybuffers" | "resizableAndGrowableArraybuffers" | "no-rest-parameters" | "rest-parameters" | "restParameters" | "no-rest-spread-properties" | "rest-spread-properties" | "restSpreadProperties" | "no-set" | "set" | "no-shadow-catch-param" | "shadow-catch-param" | "shadowCatchParam" | "no-shared-array-buffer" | "shared-array-buffer" | "sharedArrayBuffer" | "no-spread-elements" | "spread-elements" | "spreadElements" | "no-string-create-html-methods" | "string-create-html-methods" | "stringCreateHtmlMethods" | "no-string-fromcodepoint" | "string-fromcodepoint" | "stringFromcodepoint" | "no-string-prototype-codepointat" | "string-prototype-codepointat" | "stringPrototypeCodepointat" | "no-string-prototype-endswith" | "string-prototype-endswith" | "stringPrototypeEndswith" | "no-string-prototype-includes" | "string-prototype-includes" | "stringPrototypeIncludes" | "no-string-prototype-iswellformed-towellformed" | "string-prototype-iswellformed-towellformed" | "stringPrototypeIswellformedTowellformed" | "no-string-prototype-matchall" | "string-prototype-matchall" | "stringPrototypeMatchall" | "no-string-prototype-normalize" | "string-prototype-normalize" | "stringPrototypeNormalize" | "no-string-prototype-padstart-padend" | "string-prototype-padstart-padend" | "stringPrototypePadstartPadend" | "no-string-prototype-repeat" | "string-prototype-repeat" | "stringPrototypeRepeat" | "no-string-prototype-replaceall" | "string-prototype-replaceall" | "stringPrototypeReplaceall" | "no-string-prototype-startswith" | "string-prototype-startswith" | "stringPrototypeStartswith" | "no-string-prototype-substr" | "string-prototype-substr" | "stringPrototypeSubstr" | "no-string-prototype-trim" | "string-prototype-trim" | "stringPrototypeTrim" | "no-string-prototype-trimleft-trimright" | "string-prototype-trimleft-trimright" | "stringPrototypeTrimleftTrimright" | "no-string-prototype-trimstart-trimend" | "string-prototype-trimstart-trimend" | "stringPrototypeTrimstartTrimend" | "no-string-raw" | "string-raw" | "stringRaw" | "no-subclassing-builtins" | "subclassing-builtins" | "subclassingBuiltins" | "no-symbol-prototype-description" | "symbol-prototype-description" | "symbolPrototypeDescription" | "no-symbol" | "symbol" | "no-template-literals" | "template-literals" | "templateLiterals" | "no-top-level-await" | "top-level-await" | "topLevelAwait" | "no-trailing-commas" | "trailing-commas" | "trailingCommas" | "no-trailing-function-commas" | "trailing-function-commas" | "trailingFunctionCommas" | "trailingCommasInFunctions" | "no-typed-arrays" | "typed-arrays" | "typedArrays" | "no-unicode-codepoint-escapes" | "unicode-codepoint-escapes" | "unicodeCodepointEscapes" | "unicodeCodePointEscapes" | "no-weak-map" | "weak-map" | "weakMap" | "no-weak-set" | "weak-set" | "weakSet" | "no-weakrefs" | "weakrefs")[]
9496
9617
  }]
9497
9618
  // ----- node/no-unsupported-features/node-builtins -----
9498
9619
  type NodeNoUnsupportedFeaturesNodeBuiltins = []|[{
9499
9620
  version?: string
9500
- ignores?: ("queueMicrotask" | "require.resolve.paths" | "Buffer.alloc" | "Buffer.allocUnsafe" | "Buffer.allocUnsafeSlow" | "Buffer.from" | "TextDecoder" | "TextEncoder" | "URL" | "URLSearchParams" | "console.clear" | "console.count" | "console.countReset" | "console.debug" | "console.dirxml" | "console.group" | "console.groupCollapsed" | "console.groupEnd" | "console.table" | "console.markTimeline" | "console.profile" | "console.profileEnd" | "console.timeLog" | "console.timeStamp" | "console.timeline" | "console.timelineEnd" | "process.allowedNodeEnvironmentFlags" | "process.argv0" | "process.channel" | "process.cpuUsage" | "process.emitWarning" | "process.getegid" | "process.geteuid" | "process.hasUncaughtExceptionCaptureCallback" | "process.hrtime.bigint" | "process.ppid" | "process.release" | "process.report" | "process.resourceUsage" | "process.setegid" | "process.seteuid" | "process.setUncaughtExceptionCaptureCallback" | "process.stdout.getColorDepth" | "process.stdout.hasColor" | "process.stderr.getColorDepth" | "process.stderr.hasColor" | "assert.strict" | "assert.strict.doesNotReject" | "assert.strict.rejects" | "assert.deepStrictEqual" | "assert.doesNotReject" | "assert.notDeepStrictEqual" | "assert.rejects" | "assert.CallTracker" | "async_hooks" | "async_hooks.createHook" | "async_hooks.AsyncLocalStorage" | "buffer.Buffer.alloc" | "buffer.Buffer.allocUnsafe" | "buffer.Buffer.allocUnsafeSlow" | "buffer.Buffer.from" | "buffer.kMaxLength" | "buffer.transcode" | "buffer.constants" | "buffer.Blob" | "child_process.ChildProcess" | "crypto.Certificate.exportChallenge" | "crypto.Certificate.exportPublicKey" | "crypto.Certificate.verifySpkac" | "crypto.ECDH" | "crypto.KeyObject" | "crypto.createPrivateKey" | "crypto.createPublicKey" | "crypto.createSecretKey" | "crypto.constants" | "crypto.fips" | "crypto.generateKeyPair" | "crypto.generateKeyPairSync" | "crypto.getCurves" | "crypto.getFips" | "crypto.privateEncrypt" | "crypto.publicDecrypt" | "crypto.randomFillSync" | "crypto.randomFill" | "crypto.scrypt" | "crypto.scryptSync" | "crypto.setFips" | "crypto.sign" | "crypto.timingSafeEqual" | "crypto.verify" | "dns.Resolver" | "dns.resolvePtr" | "dns.promises" | "events.EventEmitter.once" | "events.once" | "fs.Dirent" | "fs.copyFile" | "fs.copyFileSync" | "fs.mkdtemp" | "fs.mkdtempSync" | "fs.realpath.native" | "fs.realpathSync.native" | "fs.promises" | "fs.writev" | "fs.writevSync" | "fs.readv" | "fs.readvSync" | "fs.lutimes" | "fs.lutimesSync" | "fs.opendir" | "fs.opendirSync" | "fs.rm" | "fs.rmSync" | "fs.read" | "fs.readSync" | "fs.Dir" | "fs.StatWatcher" | "fs/promises" | "http2" | "inspector" | "module.Module.builtinModules" | "module.Module.createRequireFromPath" | "module.Module.createRequire" | "module.Module.syncBuiltinESMExports" | "module.builtinModules" | "module.createRequireFromPath" | "module.createRequire" | "module.syncBuiltinESMExports" | "os.constants" | "os.constants.priority" | "os.getPriority" | "os.homedir" | "os.setPriority" | "os.userInfo" | "path.toNamespacedPath" | "perf_hooks" | "perf_hooks.monitorEventLoopDelay" | "stream.Readable.from" | "stream.finished" | "stream.pipeline" | "trace_events" | "url.URL" | "url.URLSearchParams" | "url.domainToASCII" | "url.domainToUnicode" | "util.callbackify" | "util.formatWithOptions" | "util.getSystemErrorName" | "util.inspect.custom" | "util.inspect.defaultOptions" | "util.inspect.replDefaults" | "util.isDeepStrictEqual" | "util.promisify" | "util.TextDecoder" | "util.TextEncoder" | "util.types" | "util.types.isBoxedPrimitive" | "v8" | "v8.DefaultDeserializer" | "v8.DefaultSerializer" | "v8.Deserializer" | "v8.Serializer" | "v8.cachedDataVersionTag" | "v8.deserialize" | "v8.getHeapCodeStatistics" | "v8.getHeapSnapshot" | "v8.getHeapSpaceStatistics" | "v8.serialize" | "v8.writeHeapSnapshot" | "vm.Module" | "vm.compileFunction" | "worker_threads")[]
9621
+ ignores?: ("queueMicrotask" | "require.resolve.paths" | "Buffer" | "Buffer.alloc" | "Buffer.allocUnsafe" | "Buffer.allocUnsafeSlow" | "Buffer.byteLength" | "Buffer.compare" | "Buffer.concat" | "Buffer.copyBytesFrom" | "Buffer.from" | "Buffer.isBuffer" | "Buffer.isEncoding" | "TextDecoder" | "TextEncoder" | "URL" | "URL.canParse" | "URL.createObjectURL" | "URL.revokeObjectURL" | "URLSearchParams" | "console" | "console.profile" | "console.profileEnd" | "console.timeStamp" | "console.Console" | "console.assert" | "console.clear" | "console.count" | "console.countReset" | "console.debug" | "console.dir" | "console.dirxml" | "console.error" | "console.group" | "console.groupCollapsed" | "console.groupEnd" | "console.info" | "console.log" | "console.table" | "console.time" | "console.timeEnd" | "console.timeLog" | "console.trace" | "console.warn" | "process" | "process.allowedNodeEnvironmentFlags" | "process.arch" | "process.argv" | "process.argv0" | "process.channel" | "process.config" | "process.connected" | "process.debugPort" | "process.env" | "process.execArgv" | "process.execPath" | "process.exitCode" | "process.mainModule" | "process.noDeprecation" | "process.permission" | "process.pid" | "process.platform" | "process.ppid" | "process.release" | "process.report" | "process.sourceMapsEnabled" | "process.stdin" | "process.stdin.isRaw" | "process.stdin.isTTY" | "process.stdin.setRawMode" | "process.stdout" | "process.stdout.clearLine" | "process.stdout.clearScreenDown" | "process.stdout.columns" | "process.stdout.cursorTo" | "process.stdout.getColorDepth" | "process.stdout.getWindowSize" | "process.stdout.hasColors" | "process.stdout.isTTY" | "process.stdout.moveCursor" | "process.stdout.rows" | "process.stderr" | "process.stderr.clearLine" | "process.stderr.clearScreenDown" | "process.stderr.columns" | "process.stderr.cursorTo" | "process.stderr.getColorDepth" | "process.stderr.getWindowSize" | "process.stderr.hasColors" | "process.stderr.isTTY" | "process.stderr.moveCursor" | "process.stderr.rows" | "process.throwDeprecation" | "process.title" | "process.traceDeprecation" | "process.version" | "process.versions" | "process.abort" | "process.chdir" | "process.constrainedMemory" | "process.cpuUsage" | "process.cwd" | "process.disconnect" | "process.dlopen" | "process.emitWarning" | "process.exit" | "process.getActiveResourcesInfo" | "process.getegid" | "process.geteuid" | "process.getgid" | "process.getgroups" | "process.getuid" | "process.hasUncaughtExceptionCaptureCallback" | "process.hrtime" | "process.hrtime.bigint" | "process.initgroups" | "process.kill" | "process.loadEnvFile" | "process.memoryUsage" | "process.rss" | "process.nextTick" | "process.resourceUsage" | "process.send" | "process.setegid" | "process.seteuid" | "process.setgid" | "process.setgroups" | "process.setuid" | "process.setSourceMapsEnabled" | "process.setUncaughtExceptionCaptureCallback" | "process.umask" | "process.uptime" | "assert" | "assert.assert" | "assert.deepEqual" | "assert.deepStrictEqual" | "assert.doesNotMatch" | "assert.doesNotReject" | "assert.doesNotThrow" | "assert.equal" | "assert.fail" | "assert.ifError" | "assert.match" | "assert.notDeepEqual" | "assert.notDeepStrictEqual" | "assert.notEqual" | "assert.notStrictEqual" | "assert.ok" | "assert.rejects" | "assert.strictEqual" | "assert.throws" | "assert.CallTracker" | "assert.strict" | "assert.strict.assert" | "assert.strict.deepEqual" | "assert.strict.deepStrictEqual" | "assert.strict.doesNotMatch" | "assert.strict.doesNotReject" | "assert.strict.doesNotThrow" | "assert.strict.equal" | "assert.strict.fail" | "assert.strict.ifError" | "assert.strict.match" | "assert.strict.notDeepEqual" | "assert.strict.notDeepStrictEqual" | "assert.strict.notEqual" | "assert.strict.notStrictEqual" | "assert.strict.ok" | "assert.strict.rejects" | "assert.strict.strictEqual" | "assert.strict.throws" | "assert.strict.CallTracker" | "assert/strict" | "assert/strict.assert" | "assert/strict.deepEqual" | "assert/strict.deepStrictEqual" | "assert/strict.doesNotMatch" | "assert/strict.doesNotReject" | "assert/strict.doesNotThrow" | "assert/strict.equal" | "assert/strict.fail" | "assert/strict.ifError" | "assert/strict.match" | "assert/strict.notDeepEqual" | "assert/strict.notDeepStrictEqual" | "assert/strict.notEqual" | "assert/strict.notStrictEqual" | "assert/strict.ok" | "assert/strict.rejects" | "assert/strict.strictEqual" | "assert/strict.throws" | "assert/strict.CallTracker" | "async_hooks" | "async_hooks.createHook" | "async_hooks.executionAsyncResource" | "async_hooks.executionAsyncId" | "async_hooks.triggerAsyncId" | "async_hooks.AsyncLocalStorage" | "async_hooks.AsyncLocalStorage.bind" | "async_hooks.AsyncLocalStorage.snapshot" | "async_hooks.AsyncResource" | "async_hooks.AsyncResource.bind" | "buffer" | "buffer.constants" | "buffer.INSPECT_MAX_BYTES" | "buffer.kMaxLength" | "buffer.kStringMaxLength" | "buffer.atob" | "buffer.btoa" | "buffer.isAscii" | "buffer.isUtf8" | "buffer.resolveObjectURL" | "buffer.transcode" | "buffer.SlowBuffer" | "buffer.Blob" | "buffer.Buffer" | "buffer.Buffer.alloc" | "buffer.Buffer.allocUnsafe" | "buffer.Buffer.allocUnsafeSlow" | "buffer.Buffer.byteLength" | "buffer.Buffer.compare" | "buffer.Buffer.concat" | "buffer.Buffer.copyBytesFrom" | "buffer.Buffer.from" | "buffer.Buffer.isBuffer" | "buffer.Buffer.isEncoding" | "buffer.File" | "child_process" | "child_process.exec" | "child_process.execFile" | "child_process.fork" | "child_process.spawn" | "child_process.execFileSync" | "child_process.execSync" | "child_process.spawnSync" | "child_process.ChildProcess" | "cluster" | "cluster.isMaster" | "cluster.isPrimary" | "cluster.isWorker" | "cluster.schedulingPolicy" | "cluster.settings" | "cluster.worker" | "cluster.workers" | "cluster.disconnect" | "cluster.fork" | "cluster.setupMaster" | "cluster.setupPrimary" | "cluster.Worker" | "crypto" | "crypto.constants" | "crypto.fips" | "crypto.webcrypto" | "crypto.webcrypto.subtle" | "crypto.webcrypto.subtle.decrypt" | "crypto.webcrypto.subtle.deriveBits" | "crypto.webcrypto.subtle.deriveKey" | "crypto.webcrypto.subtle.digest" | "crypto.webcrypto.subtle.encrypt" | "crypto.webcrypto.subtle.exportKey" | "crypto.webcrypto.subtle.generateKey" | "crypto.webcrypto.subtle.importKey" | "crypto.webcrypto.subtle.sign" | "crypto.webcrypto.subtle.unwrapKey" | "crypto.webcrypto.subtle.verify" | "crypto.webcrypto.subtle.wrapKey" | "crypto.webcrypto.getRandomValues" | "crypto.webcrypto.randomUUID" | "crypto.subtle" | "crypto.subtle.decrypt" | "crypto.subtle.deriveBits" | "crypto.subtle.deriveKey" | "crypto.subtle.digest" | "crypto.subtle.encrypt" | "crypto.subtle.exportKey" | "crypto.subtle.generateKey" | "crypto.subtle.importKey" | "crypto.subtle.sign" | "crypto.subtle.unwrapKey" | "crypto.subtle.verify" | "crypto.subtle.wrapKey" | "crypto.checkPrime" | "crypto.checkPrimeSync" | "crypto.createCipher" | "crypto.createCipheriv" | "crypto.createDecipher" | "crypto.createDecipheriv" | "crypto.createDiffieHellman" | "crypto.createDiffieHellmanGroup" | "crypto.createECDH" | "crypto.createHash" | "crypto.createHmac" | "crypto.createPrivateKey" | "crypto.createPublicKey" | "crypto.createSecretKey" | "crypto.createSign" | "crypto.createVerify" | "crypto.diffieHellman" | "crypto.generateKey" | "crypto.generateKeyPair" | "crypto.generateKeyPairSync" | "crypto.generateKeySync" | "crypto.generatePrime" | "crypto.generatePrimeSync" | "crypto.getCipherInfo" | "crypto.getCiphers" | "crypto.getCurves" | "crypto.getDiffieHellman" | "crypto.getFips" | "crypto.getHashes" | "crypto.getRandomValues" | "crypto.hash" | "crypto.hkdf" | "crypto.hkdfSync" | "crypto.pbkdf2" | "crypto.pbkdf2Sync" | "crypto.privateDecrypt" | "crypto.privateEncrypt" | "crypto.publicDecrypt" | "crypto.publicEncrypt" | "crypto.randomBytes" | "crypto.randomFillSync" | "crypto.randomFill" | "crypto.randomInt" | "crypto.randomUUID" | "crypto.scrypt" | "crypto.scryptSync" | "crypto.secureHeapUsed" | "crypto.setEngine" | "crypto.setFips" | "crypto.sign" | "crypto.timingSafeEqual" | "crypto.verify" | "crypto.Certificate" | "crypto.Certificate.exportChallenge" | "crypto.Certificate.exportPublicKey" | "crypto.Certificate.verifySpkac" | "crypto.Cipher" | "crypto.Decipher" | "crypto.DiffieHellman" | "crypto.DiffieHellmanGroup" | "crypto.ECDH" | "crypto.ECDH.convertKey" | "crypto.Hash" | "crypto.Hmac" | "crypto.KeyObject" | "crypto.KeyObject.from" | "crypto.Sign" | "crypto.Verify" | "crypto.X509Certificate" | "dgram" | "dgram.createSocket" | "dgram.Socket" | "diagnostics_channel" | "diagnostics_channel.hasSubscribers" | "diagnostics_channel.channel" | "diagnostics_channel.subscribe" | "diagnostics_channel.unsubscribe" | "diagnostics_channel.tracingChannel" | "diagnostics_channel.Channel" | "diagnostics_channel.TracingChannel" | "dns" | "dns.Resolver" | "dns.getServers" | "dns.lookup" | "dns.lookupService" | "dns.resolve" | "dns.resolve4" | "dns.resolve6" | "dns.resolveAny" | "dns.resolveCname" | "dns.resolveCaa" | "dns.resolveMx" | "dns.resolveNaptr" | "dns.resolveNs" | "dns.resolvePtr" | "dns.resolveSoa" | "dns.resolveSrv" | "dns.resolveTxt" | "dns.reverse" | "dns.setDefaultResultOrder" | "dns.getDefaultResultOrder" | "dns.setServers" | "dns.promises" | "dns.promises.Resolver" | "dns.promises.cancel" | "dns.promises.getServers" | "dns.promises.lookup" | "dns.promises.lookupService" | "dns.promises.resolve" | "dns.promises.resolve4" | "dns.promises.resolve6" | "dns.promises.resolveAny" | "dns.promises.resolveCaa" | "dns.promises.resolveCname" | "dns.promises.resolveMx" | "dns.promises.resolveNaptr" | "dns.promises.resolveNs" | "dns.promises.resolvePtr" | "dns.promises.resolveSoa" | "dns.promises.resolveSrv" | "dns.promises.resolveTxt" | "dns.promises.reverse" | "dns.promises.setDefaultResultOrder" | "dns.promises.getDefaultResultOrder" | "dns.promises.setServers" | "dns/promises" | "dns/promises.Resolver" | "dns/promises.cancel" | "dns/promises.getServers" | "dns/promises.lookup" | "dns/promises.lookupService" | "dns/promises.resolve" | "dns/promises.resolve4" | "dns/promises.resolve6" | "dns/promises.resolveAny" | "dns/promises.resolveCaa" | "dns/promises.resolveCname" | "dns/promises.resolveMx" | "dns/promises.resolveNaptr" | "dns/promises.resolveNs" | "dns/promises.resolvePtr" | "dns/promises.resolveSoa" | "dns/promises.resolveSrv" | "dns/promises.resolveTxt" | "dns/promises.reverse" | "dns/promises.setDefaultResultOrder" | "dns/promises.getDefaultResultOrder" | "dns/promises.setServers" | "domain" | "domain.create" | "domain.Domain" | "events" | "events.Event" | "events.EventTarget" | "events.CustomEvent" | "events.NodeEventTarget" | "events.EventEmitter" | "events.EventEmitter.defaultMaxListeners" | "events.EventEmitter.errorMonitor" | "events.EventEmitter.captureRejections" | "events.EventEmitter.captureRejectionSymbol" | "events.EventEmitter.getEventListeners" | "events.EventEmitter.getMaxListeners" | "events.EventEmitter.once" | "events.EventEmitter.listenerCount" | "events.EventEmitter.on" | "events.EventEmitter.setMaxListeners" | "events.EventEmitter.addAbortListener" | "events.EventEmitterAsyncResource" | "events.EventEmitterAsyncResource.defaultMaxListeners" | "events.EventEmitterAsyncResource.errorMonitor" | "events.EventEmitterAsyncResource.captureRejections" | "events.EventEmitterAsyncResource.captureRejectionSymbol" | "events.EventEmitterAsyncResource.getEventListeners" | "events.EventEmitterAsyncResource.getMaxListeners" | "events.EventEmitterAsyncResource.once" | "events.EventEmitterAsyncResource.listenerCount" | "events.EventEmitterAsyncResource.on" | "events.EventEmitterAsyncResource.setMaxListeners" | "events.EventEmitterAsyncResource.addAbortListener" | "events.defaultMaxListeners" | "events.errorMonitor" | "events.captureRejections" | "events.captureRejectionSymbol" | "events.getEventListeners" | "events.getMaxListeners" | "events.once" | "events.listenerCount" | "events.on" | "events.setMaxListeners" | "events.addAbortListener" | "fs" | "fs.promises" | "fs.promises.constants" | "fs.promises.access" | "fs.promises.appendFile" | "fs.promises.chmod" | "fs.promises.chown" | "fs.promises.copyFile" | "fs.promises.cp" | "fs.promises.lchmod" | "fs.promises.lchown" | "fs.promises.lutimes" | "fs.promises.link" | "fs.promises.lstat" | "fs.promises.mkdir" | "fs.promises.mkdtemp" | "fs.promises.open" | "fs.promises.opendir" | "fs.promises.readdir" | "fs.promises.readFile" | "fs.promises.readlink" | "fs.promises.realpath" | "fs.promises.rename" | "fs.promises.rmdir" | "fs.promises.rm" | "fs.promises.stat" | "fs.promises.statfs" | "fs.promises.symlink" | "fs.promises.truncate" | "fs.promises.unlink" | "fs.promises.utimes" | "fs.promises.watch" | "fs.promises.writeFile" | "fs.promises.FileHandle" | "fs.access" | "fs.appendFile" | "fs.chmod" | "fs.chown" | "fs.close" | "fs.copyFile" | "fs.cp" | "fs.createReadStream" | "fs.createWriteStream" | "fs.exists" | "fs.fchmod" | "fs.fchown" | "fs.fdatasync" | "fs.fstat" | "fs.fsync" | "fs.ftruncate" | "fs.futimes" | "fs.lchmod" | "fs.lchown" | "fs.lutimes" | "fs.link" | "fs.lstat" | "fs.mkdir" | "fs.mkdtemp" | "fs.open" | "fs.openAsBlob" | "fs.opendir" | "fs.read" | "fs.readdir" | "fs.readFile" | "fs.readlink" | "fs.readv" | "fs.realpath" | "fs.realpath.native" | "fs.native" | "fs.rename" | "fs.rmdir" | "fs.rm" | "fs.stat" | "fs.statfs" | "fs.symlink" | "fs.truncate" | "fs.unlink" | "fs.unwatchFile" | "fs.utimes" | "fs.watch" | "fs.watchFile" | "fs.write" | "fs.writeFile" | "fs.writev" | "fs.accessSync" | "fs.appendFileSync" | "fs.chmodSync" | "fs.chownSync" | "fs.closeSync" | "fs.copyFileSync" | "fs.cpSync" | "fs.existsSync" | "fs.fchmodSync" | "fs.fchownSync" | "fs.fdatasyncSync" | "fs.fstatSync" | "fs.fsyncSync" | "fs.ftruncateSync" | "fs.futimesSync" | "fs.lchmodSync" | "fs.lchownSync" | "fs.lutimesSync" | "fs.linkSync" | "fs.lstatSync" | "fs.mkdirSync" | "fs.mkdtempSync" | "fs.opendirSync" | "fs.openSync" | "fs.readdirSync" | "fs.readFileSync" | "fs.readlinkSync" | "fs.readSync" | "fs.readvSync" | "fs.realpathSync" | "fs.realpathSync.native" | "fs.renameSync" | "fs.rmdirSync" | "fs.rmSync" | "fs.statSync" | "fs.statfsSync" | "fs.symlinkSync" | "fs.truncateSync" | "fs.unlinkSync" | "fs.utimesSync" | "fs.writeFileSync" | "fs.writeSync" | "fs.writevSync" | "fs.constants" | "fs.Dir" | "fs.Dirent" | "fs.FSWatcher" | "fs.StatWatcher" | "fs.ReadStream" | "fs.Stats" | "fs.StatFs" | "fs.WriteStream" | "fs.common_objects" | "fs/promises" | "fs/promises.constants" | "fs/promises.access" | "fs/promises.appendFile" | "fs/promises.chmod" | "fs/promises.chown" | "fs/promises.copyFile" | "fs/promises.cp" | "fs/promises.lchmod" | "fs/promises.lchown" | "fs/promises.lutimes" | "fs/promises.link" | "fs/promises.lstat" | "fs/promises.mkdir" | "fs/promises.mkdtemp" | "fs/promises.open" | "fs/promises.opendir" | "fs/promises.readdir" | "fs/promises.readFile" | "fs/promises.readlink" | "fs/promises.realpath" | "fs/promises.rename" | "fs/promises.rmdir" | "fs/promises.rm" | "fs/promises.stat" | "fs/promises.statfs" | "fs/promises.symlink" | "fs/promises.truncate" | "fs/promises.unlink" | "fs/promises.utimes" | "fs/promises.watch" | "fs/promises.writeFile" | "fs/promises.FileHandle" | "http2" | "http2.constants" | "http2.sensitiveHeaders" | "http2.createServer" | "http2.createSecureServer" | "http2.connect" | "http2.getDefaultSettings" | "http2.getPackedSettings" | "http2.getUnpackedSettings" | "http2.performServerHandshake" | "http2.Http2Session" | "http2.ServerHttp2Session" | "http2.ClientHttp2Session" | "http2.Http2Stream" | "http2.ClientHttp2Stream" | "http2.ServerHttp2Stream" | "http2.Http2Server" | "http2.Http2SecureServer" | "http2.Http2ServerRequest" | "http2.Http2ServerResponse" | "http" | "http.globalAgent" | "http.createServer" | "http.get" | "http.request" | "http.Agent" | "http.Server" | "inspector" | "inspector.Session" | "inspector.console" | "inspector.close" | "inspector.open" | "inspector.url" | "inspector.waitForDebugger" | "inspector/promises" | "inspector/promises.Session" | "inspector/promises.console" | "inspector/promises.close" | "inspector/promises.open" | "inspector/promises.url" | "inspector/promises.waitForDebugger" | "module" | "module.builtinModules" | "module.createRequire" | "module.createRequireFromPath" | "module.isBuiltin" | "module.register" | "module.syncBuiltinESMExports" | "module.findSourceMap" | "module.SourceMap" | "module.Module.builtinModules" | "module.Module.createRequire" | "module.Module.createRequireFromPath" | "module.Module.isBuiltin" | "module.Module.register" | "module.Module.syncBuiltinESMExports" | "module.Module.findSourceMap" | "module.Module.SourceMap" | "net" | "net.connect" | "net.createConnection" | "net.createServer" | "net.getDefaultAutoSelectFamily" | "net.setDefaultAutoSelectFamily" | "net.getDefaultAutoSelectFamilyAttemptTimeout" | "net.setDefaultAutoSelectFamilyAttemptTimeout" | "net.isIP" | "net.isIPv4" | "net.isIPv6" | "net.BlockList" | "net.SocketAddress" | "net.Server" | "net.Socket" | "os" | "os.EOL" | "os.constants" | "os.constants.priority" | "os.devNull" | "os.availableParallelism" | "os.arch" | "os.cpus" | "os.endianness" | "os.freemem" | "os.getPriority" | "os.homedir" | "os.hostname" | "os.loadavg" | "os.machine" | "os.networkInterfaces" | "os.platform" | "os.release" | "os.setPriority" | "os.tmpdir" | "os.totalmem" | "os.type" | "os.uptime" | "os.userInfo" | "os.version" | "path" | "path.posix" | "path.posix.delimiter" | "path.posix.sep" | "path.posix.basename" | "path.posix.dirname" | "path.posix.extname" | "path.posix.format" | "path.posix.isAbsolute" | "path.posix.join" | "path.posix.normalize" | "path.posix.parse" | "path.posix.relative" | "path.posix.resolve" | "path.posix.toNamespacedPath" | "path.win32" | "path.win32.delimiter" | "path.win32.sep" | "path.win32.basename" | "path.win32.dirname" | "path.win32.extname" | "path.win32.format" | "path.win32.isAbsolute" | "path.win32.join" | "path.win32.normalize" | "path.win32.parse" | "path.win32.relative" | "path.win32.resolve" | "path.win32.toNamespacedPath" | "path.delimiter" | "path.sep" | "path.basename" | "path.dirname" | "path.extname" | "path.format" | "path.isAbsolute" | "path.join" | "path.normalize" | "path.parse" | "path.relative" | "path.resolve" | "path.toNamespacedPath" | "path/posix" | "path/posix.delimiter" | "path/posix.sep" | "path/posix.basename" | "path/posix.dirname" | "path/posix.extname" | "path/posix.format" | "path/posix.isAbsolute" | "path/posix.join" | "path/posix.normalize" | "path/posix.parse" | "path/posix.relative" | "path/posix.resolve" | "path/posix.toNamespacedPath" | "path/win32" | "path/win32.delimiter" | "path/win32.sep" | "path/win32.basename" | "path/win32.dirname" | "path/win32.extname" | "path/win32.format" | "path/win32.isAbsolute" | "path/win32.join" | "path/win32.normalize" | "path/win32.parse" | "path/win32.relative" | "path/win32.resolve" | "path/win32.toNamespacedPath" | "perf_hooks" | "perf_hooks.performance" | "perf_hooks.createHistogram" | "perf_hooks.monitorEventLoopDelay" | "perf_hooks.PerformanceEntry" | "perf_hooks.PerformanceMark" | "perf_hooks.PerformanceMeasure" | "perf_hooks.PerformanceNodeEntry" | "perf_hooks.PerformanceNodeTiming" | "perf_hooks.PerformanceResourceTiming" | "perf_hooks.PerformanceObserver" | "perf_hooks.PerformanceObserverEntryList" | "perf_hooks.Histogram" | "perf_hooks.IntervalHistogram" | "perf_hooks.RecordableHistogram" | "punycode" | "punycode.ucs2" | "punycode.version" | "punycode.decode" | "punycode.encode" | "punycode.toASCII" | "punycode.toUnicode" | "querystring" | "querystring.decode" | "querystring.encode" | "querystring.escape" | "querystring.parse" | "querystring.stringify" | "querystring.unescape" | "readline" | "readline.promises" | "readline.promises.createInterface" | "readline.promises.Interface" | "readline.promises.Readline" | "readline.clearLine" | "readline.clearScreenDown" | "readline.createInterface" | "readline.cursorTo" | "readline.moveCursor" | "readline.Interface" | "readline.emitKeypressEvents" | "readline.InterfaceConstructor" | "readline/promises" | "readline/promises.createInterface" | "readline/promises.Interface" | "readline/promises.Readline" | "sea" | "sea.isSea" | "sea.getAsset" | "sea.getAssetAsBlob" | "sea.getRawAsset" | "sea.test.isSea" | "sea.test.getAsset" | "sea.test.getAssetAsBlob" | "sea.test.getRawAsset" | "stream" | "stream.promises" | "stream.promises.pipeline" | "stream.promises.finished" | "stream.finished" | "stream.pipeline" | "stream.compose" | "stream.Readable" | "stream.Readable.from" | "stream.Readable.isDisturbed" | "stream.Readable.fromWeb" | "stream.Readable.toWeb" | "stream.Writable" | "stream.Writable.fromWeb" | "stream.Writable.toWeb" | "stream.Duplex" | "stream.Duplex.from" | "stream.Duplex.fromWeb" | "stream.Duplex.toWeb" | "stream.Transform" | "stream.isErrored" | "stream.isReadable" | "stream.addAbortSignal" | "stream.getDefaultHighWaterMark" | "stream.setDefaultHighWaterMark" | "stream/promises.pipeline" | "stream/promises.finished" | "stream/web" | "stream/web.ReadableStream" | "stream/web.ReadableStream.from" | "stream/web.ReadableStreamDefaultReader" | "stream/web.ReadableStreamBYOBReader" | "stream/web.ReadableStreamDefaultController" | "stream/web.ReadableByteStreamController" | "stream/web.ReadableStreamBYOBRequest" | "stream/web.WritableStream" | "stream/web.WritableStreamDefaultWriter" | "stream/web.WritableStreamDefaultController" | "stream/web.TransformStream" | "stream/web.TransformStreamDefaultController" | "stream/web.ByteLengthQueuingStrategy" | "stream/web.CountQueuingStrategy" | "stream/web.TextEncoderStream" | "stream/web.TextDecoderStream" | "stream/web.CompressionStream" | "stream/web.DecompressionStream" | "stream/consumers" | "stream/consumers.arrayBuffer" | "stream/consumers.blob" | "stream/consumers.buffer" | "stream/consumers.json" | "stream/consumers.text" | "string_decoder" | "string_decoder.StringDecoder" | "test" | "test.run" | "test.skip" | "test.todo" | "test.only" | "test.describe" | "test.describe.skip" | "test.describe.todo" | "test.describe.only" | "test.it" | "test.it.skip" | "test.it.todo" | "test.it.only" | "test.before" | "test.after" | "test.beforeEach" | "test.afterEach" | "test.MockFunctionContext" | "test.MockTracker" | "test.MockTimers" | "test.TestsStream" | "test.TestContext" | "test.SuiteContext" | "test.test.run" | "test.test.skip" | "test.test.todo" | "test.test.only" | "test.test.describe" | "test.test.it" | "test.test.before" | "test.test.after" | "test.test.beforeEach" | "test.test.afterEach" | "test.test.MockFunctionContext" | "test.test.MockTracker" | "test.test.MockTimers" | "test.test.TestsStream" | "test.test.TestContext" | "test.test.SuiteContext" | "timers" | "timers.Immediate" | "timers.Timeout" | "timers.setImmediate" | "timers.clearImmediate" | "timers.setInterval" | "timers.clearInterval" | "timers.setTimeout" | "timers.clearTimeout" | "timers.promises" | "timers.promises.setTimeout" | "timers.promises.setImmediate" | "timers.promises.setInterval" | "timers.promises.scheduler.wait" | "timers.promises.scheduler.yield" | "timers/promises" | "timers/promises.setTimeout" | "timers/promises.setImmediate" | "timers/promises.setInterval" | "tls" | "tls.rootCertificates" | "tls.DEFAULT_ECDH_CURVE" | "tls.DEFAULT_MAX_VERSION" | "tls.DEFAULT_MIN_VERSION" | "tls.DEFAULT_CIPHERS" | "tls.checkServerIdentity" | "tls.connect" | "tls.createSecureContext" | "tls.createSecurePair" | "tls.createServer" | "tls.getCiphers" | "tls.SecureContext" | "tls.CryptoStream" | "tls.SecurePair" | "tls.Server" | "tls.TLSSocket" | "trace_events" | "trace_events.createTracing" | "trace_events.getEnabledCategories" | "tty" | "tty.isatty" | "tty.ReadStream" | "tty.WriteStream" | "url" | "url.domainToASCII" | "url.domainToUnicode" | "url.fileURLToPath" | "url.format" | "url.pathToFileURL" | "url.urlToHttpOptions" | "url.URL" | "url.URL.canParse" | "url.URL.createObjectURL" | "url.URL.revokeObjectURL" | "url.URLSearchParams" | "url.Url" | "util.promisify" | "util.promisify.custom" | "util.callbackify" | "util.debuglog" | "util.debug" | "util.deprecate" | "util.format" | "util.formatWithOptions" | "util.getSystemErrorName" | "util.getSystemErrorMap" | "util.inherits" | "util.inspect" | "util.inspect.custom" | "util.inspect.defaultOptions" | "util.inspect.replDefaults" | "util.isDeepStrictEqual" | "util.parseArgs" | "util.parseEnv" | "util.stripVTControlCharacters" | "util.styleText" | "util.toUSVString" | "util.transferableAbortController" | "util.transferableAbortSignal" | "util.aborted" | "util.MIMEType" | "util.MIMEParams" | "util.TextDecoder" | "util.TextEncoder" | "util.types" | "util.types.isExternal" | "util.types.isDate" | "util.types.isArgumentsObject" | "util.types.isBigIntObject" | "util.types.isBooleanObject" | "util.types.isNumberObject" | "util.types.isStringObject" | "util.types.isSymbolObject" | "util.types.isNativeError" | "util.types.isRegExp" | "util.types.isAsyncFunction" | "util.types.isGeneratorFunction" | "util.types.isGeneratorObject" | "util.types.isPromise" | "util.types.isMap" | "util.types.isSet" | "util.types.isMapIterator" | "util.types.isSetIterator" | "util.types.isWeakMap" | "util.types.isWeakSet" | "util.types.isArrayBuffer" | "util.types.isDataView" | "util.types.isSharedArrayBuffer" | "util.types.isProxy" | "util.types.isModuleNamespaceObject" | "util.types.isAnyArrayBuffer" | "util.types.isBoxedPrimitive" | "util.types.isArrayBufferView" | "util.types.isTypedArray" | "util.types.isUint8Array" | "util.types.isUint8ClampedArray" | "util.types.isUint16Array" | "util.types.isUint32Array" | "util.types.isInt8Array" | "util.types.isInt16Array" | "util.types.isInt32Array" | "util.types.isFloat32Array" | "util.types.isFloat64Array" | "util.types.isBigInt64Array" | "util.types.isBigUint64Array" | "util.types.isKeyObject" | "util.types.isCryptoKey" | "util.types.isWebAssemblyCompiledModule" | "util._extend" | "util.isArray" | "util.isBoolean" | "util.isBuffer" | "util.isDate" | "util.isError" | "util.isFunction" | "util.isNull" | "util.isNullOrUndefined" | "util.isNumber" | "util.isObject" | "util.isPrimitive" | "util.isRegExp" | "util.isString" | "util.isSymbol" | "util.isUndefined" | "util.log" | "util" | "util/types" | "util/types.isExternal" | "util/types.isDate" | "util/types.isArgumentsObject" | "util/types.isBigIntObject" | "util/types.isBooleanObject" | "util/types.isNumberObject" | "util/types.isStringObject" | "util/types.isSymbolObject" | "util/types.isNativeError" | "util/types.isRegExp" | "util/types.isAsyncFunction" | "util/types.isGeneratorFunction" | "util/types.isGeneratorObject" | "util/types.isPromise" | "util/types.isMap" | "util/types.isSet" | "util/types.isMapIterator" | "util/types.isSetIterator" | "util/types.isWeakMap" | "util/types.isWeakSet" | "util/types.isArrayBuffer" | "util/types.isDataView" | "util/types.isSharedArrayBuffer" | "util/types.isProxy" | "util/types.isModuleNamespaceObject" | "util/types.isAnyArrayBuffer" | "util/types.isBoxedPrimitive" | "util/types.isArrayBufferView" | "util/types.isTypedArray" | "util/types.isUint8Array" | "util/types.isUint8ClampedArray" | "util/types.isUint16Array" | "util/types.isUint32Array" | "util/types.isInt8Array" | "util/types.isInt16Array" | "util/types.isInt32Array" | "util/types.isFloat32Array" | "util/types.isFloat64Array" | "util/types.isBigInt64Array" | "util/types.isBigUint64Array" | "util/types.isKeyObject" | "util/types.isCryptoKey" | "util/types.isWebAssemblyCompiledModule" | "v8" | "v8.serialize" | "v8.deserialize" | "v8.Serializer" | "v8.Deserializer" | "v8.DefaultSerializer" | "v8.DefaultDeserializer" | "v8.promiseHooks" | "v8.promiseHooks.onInit" | "v8.promiseHooks.onSettled" | "v8.promiseHooks.onBefore" | "v8.promiseHooks.onAfter" | "v8.promiseHooks.createHook" | "v8.startupSnapshot" | "v8.startupSnapshot.addSerializeCallback" | "v8.startupSnapshot.addDeserializeCallback" | "v8.startupSnapshot.setDeserializeMainFunction" | "v8.startupSnapshot.isBuildingSnapshot" | "v8.cachedDataVersionTag" | "v8.getHeapCodeStatistics" | "v8.getHeapSnapshot" | "v8.getHeapSpaceStatistics" | "v8.getHeapStatistics" | "v8.setFlagsFromString" | "v8.stopCoverage" | "v8.takeCoverage" | "v8.writeHeapSnapshot" | "v8.setHeapSnapshotNearHeapLimit" | "v8.GCProfiler" | "vm.constants" | "vm.compileFunction" | "vm.createContext" | "vm.isContext" | "vm.measureMemory" | "vm.runInContext" | "vm.runInNewContext" | "vm.runInThisContext" | "vm.Script" | "vm.Module" | "vm.SourceTextModule" | "vm.SyntheticModule" | "vm" | "wasi.WASI" | "wasi" | "worker_threads" | "worker_threads.isMainThread" | "worker_threads.parentPort" | "worker_threads.resourceLimits" | "worker_threads.SHARE_ENV" | "worker_threads.threadId" | "worker_threads.workerData" | "worker_threads.getEnvironmentData" | "worker_threads.markAsUntransferable" | "worker_threads.isMarkedAsUntransferable" | "worker_threads.moveMessagePortToContext" | "worker_threads.receiveMessageOnPort" | "worker_threads.setEnvironmentData" | "worker_threads.BroadcastChannel" | "worker_threads.MessageChannel" | "worker_threads.MessagePort" | "worker_threads.Worker" | "zlib.constants" | "zlib.createBrotliCompress" | "zlib.createBrotliDecompress" | "zlib.createDeflate" | "zlib.createDeflateRaw" | "zlib.createGunzip" | "zlib.createGzip" | "zlib.createInflate" | "zlib.createInflateRaw" | "zlib.createUnzip" | "zlib.brotliCompress" | "zlib.brotliCompressSync" | "zlib.brotliDecompress" | "zlib.brotliDecompressSync" | "zlib.deflate" | "zlib.deflateSync" | "zlib.deflateRaw" | "zlib.deflateRawSync" | "zlib.gunzip" | "zlib.gunzipSync" | "zlib.gzip" | "zlib.gzipSync" | "zlib.inflate" | "zlib.inflateSync" | "zlib.inflateRaw" | "zlib.inflateRawSync" | "zlib.unzip" | "zlib.unzipSync" | "zlib.BrotliCompress" | "zlib.BrotliDecompress" | "zlib.Deflate" | "zlib.DeflateRaw" | "zlib.Gunzip" | "zlib.Gzip" | "zlib.Inflate" | "zlib.InflateRaw" | "zlib.Unzip" | "zlib")[]
9501
9622
  }]
9502
9623
  // ----- node/prefer-global/buffer -----
9503
9624
  type NodePreferGlobalBuffer = []|[("always" | "never")]
@@ -9513,6 +9634,10 @@ type NodePreferGlobalTextEncoder = []|[("always" | "never")]
9513
9634
  type NodePreferGlobalUrl = []|[("always" | "never")]
9514
9635
  // ----- node/prefer-global/url-search-params -----
9515
9636
  type NodePreferGlobalUrlSearchParams = []|[("always" | "never")]
9637
+ // ----- node/prefer-node-protocol -----
9638
+ type NodePreferNodeProtocol = []|[{
9639
+ version?: string
9640
+ }]
9516
9641
  // ----- node/shebang -----
9517
9642
  type NodeShebang = []|[{
9518
9643
  convertPath?: ({
@@ -9531,6 +9656,8 @@ type NodeShebang = []|[{
9531
9656
 
9532
9657
  replace: [string, string]
9533
9658
  })[]])
9659
+ ignoreUnpublished?: boolean
9660
+ additionalExecutables?: string[]
9534
9661
  }]
9535
9662
  // ----- nonblock-statement-body-position -----
9536
9663
  type NonblockStatementBodyPosition = []|[("beside" | "below" | "any")]|[("beside" | "below" | "any"), {
@@ -9641,497 +9768,82 @@ type PreferConst = []|[{
9641
9768
  // ----- prefer-destructuring -----
9642
9769
  type PreferDestructuring = []|[({
9643
9770
  VariableDeclarator?: {
9644
- array?: boolean
9645
- object?: boolean
9646
- }
9647
- AssignmentExpression?: {
9648
- array?: boolean
9649
- object?: boolean
9650
- }
9651
- } | {
9652
- array?: boolean
9653
- object?: boolean
9654
- })]|[({
9655
- VariableDeclarator?: {
9656
- array?: boolean
9657
- object?: boolean
9658
- }
9659
- AssignmentExpression?: {
9660
- array?: boolean
9661
- object?: boolean
9662
- }
9663
- } | {
9664
- array?: boolean
9665
- object?: boolean
9666
- }), {
9667
- enforceForRenamedProperties?: boolean
9668
- }]
9669
- // ----- prefer-promise-reject-errors -----
9670
- type PreferPromiseRejectErrors = []|[{
9671
- allowEmptyReject?: boolean
9672
- }]
9673
- // ----- prefer-reflect -----
9674
- type PreferReflect = []|[{
9675
- exceptions?: ("apply" | "call" | "delete" | "defineProperty" | "getOwnPropertyDescriptor" | "getPrototypeOf" | "setPrototypeOf" | "isExtensible" | "getOwnPropertyNames" | "preventExtensions")[]
9676
- }]
9677
- // ----- prefer-regex-literals -----
9678
- type PreferRegexLiterals = []|[{
9679
- disallowRedundantWrapping?: boolean
9680
- }]
9681
- // ----- quote-props -----
9682
- type QuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
9683
- keywords?: boolean
9684
- unnecessary?: boolean
9685
- numbers?: boolean
9686
- }])
9687
- // ----- quotes -----
9688
- type Quotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
9689
- avoidEscape?: boolean
9690
- allowTemplateLiterals?: boolean
9691
- })]
9692
- // ----- radix -----
9693
- type Radix = []|[("always" | "as-needed")]
9694
- // ----- react-hooks/exhaustive-deps -----
9695
- type ReactHooksExhaustiveDeps = []|[{
9696
- additionalHooks?: string
9697
- enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
9698
- }]
9699
- // ----- react-refresh/only-export-components -----
9700
- type ReactRefreshOnlyExportComponents = []|[{
9701
- allowConstantExport?: boolean
9702
- checkJS?: boolean
9703
- allowExportNames?: string[]
9704
- }]
9705
- // ----- react/boolean-prop-naming -----
9706
- type ReactBooleanPropNaming = []|[{
9707
-
9708
- propTypeNames?: [string, ...(string)[]]
9709
- rule?: string
9710
- message?: string
9711
- validateNested?: boolean
9712
- }]
9713
- // ----- react/button-has-type -----
9714
- type ReactButtonHasType = []|[{
9715
- button?: boolean
9716
- submit?: boolean
9717
- reset?: boolean
9718
- }]
9719
- // ----- react/checked-requires-onchange-or-readonly -----
9720
- type ReactCheckedRequiresOnchangeOrReadonly = []|[{
9721
- ignoreMissingProperties?: boolean
9722
- ignoreExclusiveCheckedAttribute?: boolean
9723
- }]
9724
- // ----- react/default-props-match-prop-types -----
9725
- type ReactDefaultPropsMatchPropTypes = []|[{
9726
- allowRequiredDefaults?: boolean
9727
- }]
9728
- // ----- react/destructuring-assignment -----
9729
- type ReactDestructuringAssignment = []|[("always" | "never")]|[("always" | "never"), {
9730
- ignoreClassFields?: boolean
9731
- destructureInSignature?: ("always" | "ignore")
9732
- }]
9733
- // ----- react/display-name -----
9734
- type ReactDisplayName = []|[{
9735
- ignoreTranspilerName?: boolean
9736
- checkContextObjects?: boolean
9737
- }]
9738
- // ----- react/forbid-component-props -----
9739
- type ReactForbidComponentProps = []|[{
9740
- forbid?: (string | {
9741
- propName?: string
9742
- allowedFor?: string[]
9743
- message?: string
9744
- } | {
9745
- propName?: string
9746
-
9747
- disallowedFor: [string, ...(string)[]]
9748
- message?: string
9749
- })[]
9750
- [k: string]: unknown | undefined
9751
- }]
9752
- // ----- react/forbid-dom-props -----
9753
- type ReactForbidDomProps = []|[{
9754
- forbid?: (string | {
9755
- propName?: string
9756
- disallowedFor?: string[]
9757
- message?: string
9758
- [k: string]: unknown | undefined
9759
- })[]
9760
- }]
9761
- // ----- react/forbid-elements -----
9762
- type ReactForbidElements = []|[{
9763
- forbid?: (string | {
9764
- element: string
9765
- message?: string
9766
- })[]
9767
- }]
9768
- // ----- react/forbid-foreign-prop-types -----
9769
- type ReactForbidForeignPropTypes = []|[{
9770
- allowInPropTypes?: boolean
9771
- }]
9772
- // ----- react/forbid-prop-types -----
9773
- type ReactForbidPropTypes = []|[{
9774
- forbid?: string[]
9775
- checkContextTypes?: boolean
9776
- checkChildContextTypes?: boolean
9777
- [k: string]: unknown | undefined
9778
- }]
9779
- // ----- react/function-component-definition -----
9780
- type ReactFunctionComponentDefinition = []|[{
9781
- namedComponents?: (("function-declaration" | "arrow-function" | "function-expression") | ("function-declaration" | "arrow-function" | "function-expression")[])
9782
- unnamedComponents?: (("arrow-function" | "function-expression") | ("arrow-function" | "function-expression")[])
9783
- [k: string]: unknown | undefined
9784
- }]
9785
- // ----- react/hook-use-state -----
9786
- type ReactHookUseState = []|[{
9787
- allowDestructuredState?: boolean
9788
- }]
9789
- // ----- react/jsx-boolean-value -----
9790
- type ReactJsxBooleanValue = ([]|[("always" | "never")] | []|["always"]|["always", {
9791
- never?: string[]
9792
- assumeUndefinedIsFalse?: boolean
9793
- }] | []|["never"]|["never", {
9794
- always?: string[]
9795
- assumeUndefinedIsFalse?: boolean
9796
- }])
9797
- // ----- react/jsx-closing-bracket-location -----
9798
- type ReactJsxClosingBracketLocation = []|[(("after-props" | "props-aligned" | "tag-aligned" | "line-aligned") | {
9799
- location?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned")
9800
- } | {
9801
- nonEmpty?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false)
9802
- selfClosing?: ("after-props" | "props-aligned" | "tag-aligned" | "line-aligned" | false)
9803
- })]
9804
- // ----- react/jsx-curly-brace-presence -----
9805
- type ReactJsxCurlyBracePresence = []|[({
9806
- props?: ("always" | "never" | "ignore")
9807
- children?: ("always" | "never" | "ignore")
9808
- propElementValues?: ("always" | "never" | "ignore")
9809
- } | ("always" | "never" | "ignore"))]
9810
- // ----- react/jsx-curly-newline -----
9811
- type ReactJsxCurlyNewline = []|[(("consistent" | "never") | {
9812
- singleline?: ("consistent" | "require" | "forbid")
9813
- multiline?: ("consistent" | "require" | "forbid")
9814
- })]
9815
- // ----- react/jsx-curly-spacing -----
9816
- type ReactJsxCurlySpacing = []|[((_ReactJsxCurlySpacing_BasicConfig & {
9817
- attributes?: _ReactJsxCurlySpacingBasicConfigOrBoolean
9818
- children?: _ReactJsxCurlySpacingBasicConfigOrBoolean
9819
- [k: string]: unknown | undefined
9820
- }) | ("always" | "never"))]|[((_ReactJsxCurlySpacing_BasicConfig & {
9821
- attributes?: _ReactJsxCurlySpacingBasicConfigOrBoolean
9822
- children?: _ReactJsxCurlySpacingBasicConfigOrBoolean
9823
- [k: string]: unknown | undefined
9824
- }) | ("always" | "never")), {
9825
- allowMultiline?: boolean
9826
- spacing?: {
9827
- objectLiterals?: ("always" | "never")
9828
- [k: string]: unknown | undefined
9771
+ array?: boolean
9772
+ object?: boolean
9829
9773
  }
9830
- }]
9831
- type _ReactJsxCurlySpacingBasicConfigOrBoolean = (_ReactJsxCurlySpacing_BasicConfig | boolean)
9832
- interface _ReactJsxCurlySpacing_BasicConfig {
9833
- when?: ("always" | "never")
9834
- allowMultiline?: boolean
9835
- spacing?: {
9836
- objectLiterals?: ("always" | "never")
9837
- [k: string]: unknown | undefined
9774
+ AssignmentExpression?: {
9775
+ array?: boolean
9776
+ object?: boolean
9838
9777
  }
9839
- [k: string]: unknown | undefined
9840
- }
9841
- // ----- react/jsx-equals-spacing -----
9842
- type ReactJsxEqualsSpacing = []|[("always" | "never")]
9843
- // ----- react/jsx-filename-extension -----
9844
- type ReactJsxFilenameExtension = []|[{
9845
- allow?: ("always" | "as-needed")
9846
- extensions?: string[]
9847
- ignoreFilesWithoutCode?: boolean
9848
- }]
9849
- // ----- react/jsx-first-prop-new-line -----
9850
- type ReactJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]
9851
- // ----- react/jsx-fragments -----
9852
- type ReactJsxFragments = []|[("syntax" | "element")]
9853
- // ----- react/jsx-handler-names -----
9854
- type ReactJsxHandlerNames = []|[({
9855
- eventHandlerPrefix?: string
9856
- eventHandlerPropPrefix?: string
9857
- checkLocalVariables?: boolean
9858
- checkInlineFunction?: boolean
9859
- } | {
9860
- eventHandlerPrefix?: string
9861
- eventHandlerPropPrefix?: false
9862
- checkLocalVariables?: boolean
9863
- checkInlineFunction?: boolean
9864
9778
  } | {
9865
- eventHandlerPrefix?: false
9866
- eventHandlerPropPrefix?: string
9867
- checkLocalVariables?: boolean
9868
- checkInlineFunction?: boolean
9869
- } | {
9870
- checkLocalVariables?: boolean
9871
- } | {
9872
- checkInlineFunction?: boolean
9873
- })]
9874
- // ----- react/jsx-indent -----
9875
- type ReactJsxIndent = []|[("tab" | number)]|[("tab" | number), {
9876
- checkAttributes?: boolean
9877
- indentLogicalExpressions?: boolean
9878
- }]
9879
- // ----- react/jsx-indent-props -----
9880
- type ReactJsxIndentProps = []|[(("tab" | "first") | number | {
9881
- indentMode?: (("tab" | "first") | number)
9882
- ignoreTernaryOperator?: boolean
9883
- [k: string]: unknown | undefined
9884
- })]
9885
- // ----- react/jsx-key -----
9886
- type ReactJsxKey = []|[{
9887
- checkFragmentShorthand?: boolean
9888
- checkKeyMustBeforeSpread?: boolean
9889
- warnOnDuplicates?: boolean
9890
- }]
9891
- // ----- react/jsx-max-depth -----
9892
- type ReactJsxMaxDepth = []|[{
9893
- max?: number
9894
- }]
9895
- // ----- react/jsx-max-props-per-line -----
9896
- type ReactJsxMaxPropsPerLine = []|[({
9897
- maximum?: {
9898
- single?: number
9899
- multi?: number
9900
- [k: string]: unknown | undefined
9779
+ array?: boolean
9780
+ object?: boolean
9781
+ })]|[({
9782
+ VariableDeclarator?: {
9783
+ array?: boolean
9784
+ object?: boolean
9785
+ }
9786
+ AssignmentExpression?: {
9787
+ array?: boolean
9788
+ object?: boolean
9901
9789
  }
9902
9790
  } | {
9903
- maximum?: number
9904
- when?: ("always" | "multiline")
9905
- })]
9906
- // ----- react/jsx-newline -----
9907
- type ReactJsxNewline = []|[{
9908
- prevent?: boolean
9909
- allowMultilines?: boolean
9910
- }]
9911
- // ----- react/jsx-no-bind -----
9912
- type ReactJsxNoBind = []|[{
9913
- allowArrowFunctions?: boolean
9914
- allowBind?: boolean
9915
- allowFunctions?: boolean
9916
- ignoreRefs?: boolean
9917
- ignoreDOMComponents?: boolean
9791
+ array?: boolean
9792
+ object?: boolean
9793
+ }), {
9794
+ enforceForRenamedProperties?: boolean
9918
9795
  }]
9919
- // ----- react/jsx-no-constructed-context-values -----
9920
- interface ReactJsxNoConstructedContextValues {
9921
- [k: string]: unknown | undefined
9922
- }
9923
- // ----- react/jsx-no-duplicate-props -----
9924
- type ReactJsxNoDuplicateProps = []|[{
9925
- ignoreCase?: boolean
9796
+ // ----- prefer-promise-reject-errors -----
9797
+ type PreferPromiseRejectErrors = []|[{
9798
+ allowEmptyReject?: boolean
9926
9799
  }]
9927
- // ----- react/jsx-no-leaked-render -----
9928
- type ReactJsxNoLeakedRender = []|[{
9929
- validStrategies?: ("ternary" | "coerce")[]
9800
+ // ----- prefer-reflect -----
9801
+ type PreferReflect = []|[{
9802
+ exceptions?: ("apply" | "call" | "delete" | "defineProperty" | "getOwnPropertyDescriptor" | "getPrototypeOf" | "setPrototypeOf" | "isExtensible" | "getOwnPropertyNames" | "preventExtensions")[]
9930
9803
  }]
9931
- // ----- react/jsx-no-literals -----
9932
- type ReactJsxNoLiterals = []|[{
9933
- noStrings?: boolean
9934
- allowedStrings?: string[]
9935
- ignoreProps?: boolean
9936
- noAttributeStrings?: boolean
9804
+ // ----- prefer-regex-literals -----
9805
+ type PreferRegexLiterals = []|[{
9806
+ disallowRedundantWrapping?: boolean
9937
9807
  }]
9938
- // ----- react/jsx-no-script-url -----
9939
- type ReactJsxNoScriptUrl = ([]|[{
9940
- name: string
9941
- props: string[]
9942
- }[]]|[{
9943
- name: string
9944
- props: string[]
9945
- }[], {
9946
- includeFromSettings?: boolean
9947
- [k: string]: unknown | undefined
9948
- }] | []|[{
9949
- includeFromSettings?: boolean
9950
- [k: string]: unknown | undefined
9808
+ // ----- quote-props -----
9809
+ type QuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
9810
+ keywords?: boolean
9811
+ unnecessary?: boolean
9812
+ numbers?: boolean
9951
9813
  }])
9952
- // ----- react/jsx-no-target-blank -----
9953
- type ReactJsxNoTargetBlank = []|[{
9954
- allowReferrer?: boolean
9955
- enforceDynamicLinks?: ("always" | "never")
9956
- warnOnSpreadAttributes?: boolean
9957
- links?: boolean
9958
- forms?: boolean
9959
- }]
9960
- // ----- react/jsx-no-undef -----
9961
- type ReactJsxNoUndef = []|[{
9962
- allowGlobals?: boolean
9963
- }]
9964
- // ----- react/jsx-no-useless-fragment -----
9965
- type ReactJsxNoUselessFragment = []|[{
9966
- allowExpressions?: boolean
9967
- [k: string]: unknown | undefined
9968
- }]
9969
- // ----- react/jsx-one-expression-per-line -----
9970
- type ReactJsxOneExpressionPerLine = []|[{
9971
- allow?: ("none" | "literal" | "single-child" | "non-jsx")
9972
- }]
9973
- // ----- react/jsx-pascal-case -----
9974
- type ReactJsxPascalCase = []|[{
9975
- allowAllCaps?: boolean
9976
- allowLeadingUnderscore?: boolean
9977
- allowNamespace?: boolean
9978
-
9979
- ignore?: []|[string]
9980
- }]
9981
- // ----- react/jsx-props-no-spreading -----
9982
- type ReactJsxPropsNoSpreading = []|[({
9983
- html?: ("enforce" | "ignore")
9984
- custom?: ("enforce" | "ignore")
9985
- exceptions?: string[]
9986
- [k: string]: unknown | undefined
9987
- } & {
9988
- [k: string]: unknown | undefined
9814
+ // ----- quotes -----
9815
+ type Quotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
9816
+ avoidEscape?: boolean
9817
+ allowTemplateLiterals?: boolean
9989
9818
  })]
9990
- // ----- react/jsx-sort-default-props -----
9991
- type ReactJsxSortDefaultProps = []|[{
9992
- ignoreCase?: boolean
9993
- }]
9994
- // ----- react/jsx-sort-props -----
9995
- type ReactJsxSortProps = []|[{
9996
- callbacksLast?: boolean
9997
- shorthandFirst?: boolean
9998
- shorthandLast?: boolean
9999
- multiline?: ("ignore" | "first" | "last")
10000
- ignoreCase?: boolean
10001
- noSortAlphabetically?: boolean
10002
- reservedFirst?: (unknown[] | boolean)
10003
- locale?: string
10004
- }]
10005
- // ----- react/jsx-space-before-closing -----
10006
- type ReactJsxSpaceBeforeClosing = []|[("always" | "never")]
10007
- // ----- react/jsx-tag-spacing -----
10008
- type ReactJsxTagSpacing = []|[{
10009
- closingSlash?: ("always" | "never" | "allow")
10010
- beforeSelfClosing?: ("always" | "proportional-always" | "never" | "allow")
10011
- afterOpening?: ("always" | "allow-multiline" | "never" | "allow")
10012
- beforeClosing?: ("always" | "proportional-always" | "never" | "allow")
10013
- }]
10014
- // ----- react/jsx-wrap-multilines -----
10015
- type ReactJsxWrapMultilines = []|[{
10016
- declaration?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
10017
- assignment?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
10018
- return?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
10019
- arrow?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
10020
- condition?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
10021
- logical?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
10022
- prop?: (true | false | "ignore" | "parens" | "parens-new-line" | "never")
10023
- }]
10024
- // ----- react/no-children-prop -----
10025
- type ReactNoChildrenProp = []|[{
10026
- allowFunctions?: boolean
10027
- }]
10028
- // ----- react/no-did-mount-set-state -----
10029
- type ReactNoDidMountSetState = []|["disallow-in-func"]
10030
- // ----- react/no-did-update-set-state -----
10031
- type ReactNoDidUpdateSetState = []|["disallow-in-func"]
10032
- // ----- react/no-invalid-html-attribute -----
10033
- type ReactNoInvalidHtmlAttribute = []|[("rel")[]]
10034
- // ----- react/no-multi-comp -----
10035
- type ReactNoMultiComp = []|[{
10036
- ignoreStateless?: boolean
10037
- }]
10038
- // ----- react/no-string-refs -----
10039
- type ReactNoStringRefs = []|[{
10040
- noTemplateLiterals?: boolean
10041
- }]
10042
- // ----- react/no-unescaped-entities -----
10043
- type ReactNoUnescapedEntities = []|[{
10044
- forbid?: (string | {
10045
- char?: string
10046
- alternatives?: string[]
10047
- [k: string]: unknown | undefined
10048
- })[]
10049
- }]
10050
- // ----- react/no-unknown-property -----
10051
- type ReactNoUnknownProperty = []|[{
10052
- ignore?: string[]
10053
- requireDataLowercase?: boolean
10054
- }]
10055
- // ----- react/no-unsafe -----
10056
- type ReactNoUnsafe = []|[{
10057
- checkAliases?: boolean
10058
- }]
10059
- // ----- react/no-unstable-nested-components -----
10060
- type ReactNoUnstableNestedComponents = []|[{
10061
- customValidators?: string[]
10062
- allowAsProps?: boolean
10063
- }]
10064
- // ----- react/no-unused-prop-types -----
10065
- type ReactNoUnusedPropTypes = []|[{
10066
- ignore?: string[]
10067
- customValidators?: string[]
10068
- skipShapeProps?: boolean
10069
- }]
10070
- // ----- react/no-will-update-set-state -----
10071
- type ReactNoWillUpdateSetState = []|["disallow-in-func"]
10072
- // ----- react/prefer-es6-class -----
10073
- type ReactPreferEs6Class = []|[("always" | "never")]
10074
- // ----- react/prefer-stateless-function -----
10075
- type ReactPreferStatelessFunction = []|[{
10076
- ignorePureComponents?: boolean
10077
- }]
10078
- // ----- react/prop-types -----
10079
- type ReactPropTypes = []|[{
10080
- ignore?: string[]
10081
- customValidators?: string[]
10082
- skipUndeclared?: boolean
10083
- }]
10084
- // ----- react/require-default-props -----
10085
- type ReactRequireDefaultProps = []|[{
10086
- forbidDefaultForRequired?: boolean
10087
- classes?: ("defaultProps" | "ignore")
10088
- functions?: ("defaultArguments" | "defaultProps" | "ignore")
10089
- ignoreFunctionalComponents?: boolean
10090
- }]
10091
- // ----- react/require-optimization -----
10092
- type ReactRequireOptimization = []|[{
10093
- allowDecorators?: string[]
10094
- }]
10095
- // ----- react/self-closing-comp -----
10096
- type ReactSelfClosingComp = []|[{
10097
- component?: boolean
10098
- html?: boolean
10099
- }]
10100
- // ----- react/sort-comp -----
10101
- type ReactSortComp = []|[{
10102
- order?: string[]
10103
- groups?: {
10104
- [k: string]: string[]
10105
- }
10106
- }]
10107
- // ----- react/sort-default-props -----
10108
- type ReactSortDefaultProps = []|[{
10109
- ignoreCase?: boolean
9819
+ // ----- radix -----
9820
+ type Radix = []|[("always" | "as-needed")]
9821
+ // ----- react-hooks/exhaustive-deps -----
9822
+ type ReactHooksExhaustiveDeps = []|[{
9823
+ additionalHooks?: string
9824
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
10110
9825
  }]
10111
- // ----- react/sort-prop-types -----
10112
- type ReactSortPropTypes = []|[{
10113
- requiredFirst?: boolean
10114
- callbacksLast?: boolean
10115
- ignoreCase?: boolean
10116
- noSortAlphabetically?: boolean
10117
- sortShapeProp?: boolean
10118
- checkTypes?: boolean
10119
- }]
10120
- // ----- react/state-in-constructor -----
10121
- type ReactStateInConstructor = []|[("always" | "never")]
10122
- // ----- react/static-property-placement -----
10123
- type ReactStaticPropertyPlacement = []|[("static public field" | "static getter" | "property assignment")]|[("static public field" | "static getter" | "property assignment"), {
10124
- propTypes?: ("static public field" | "static getter" | "property assignment")
10125
- defaultProps?: ("static public field" | "static getter" | "property assignment")
10126
- childContextTypes?: ("static public field" | "static getter" | "property assignment")
10127
- contextTypes?: ("static public field" | "static getter" | "property assignment")
10128
- contextType?: ("static public field" | "static getter" | "property assignment")
10129
- displayName?: ("static public field" | "static getter" | "property assignment")
10130
- }]
10131
- // ----- react/style-prop-object -----
10132
- type ReactStylePropObject = []|[{
10133
- allow?: string[]
10134
- [k: string]: unknown | undefined
9826
+ // ----- react-naming-convention/component-name -----
9827
+ type ReactNamingConventionComponentName = []|[(("PascalCase" | "CONSTANT_CASE") | {
9828
+ excepts?: string[]
9829
+ rule?: ("PascalCase" | "CONSTANT_CASE")
9830
+ })]
9831
+ // ----- react-naming-convention/filename -----
9832
+ type ReactNamingConventionFilename = []|[(("PascalCase" | "camelCase" | "kebab-case" | "snake_case") | {
9833
+ excepts?: string[]
9834
+ extensions?: string[]
9835
+ rule?: ("PascalCase" | "camelCase" | "kebab-case" | "snake_case")
9836
+ })]
9837
+ // ----- react-naming-convention/filename-extension -----
9838
+ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
9839
+ allow?: ("always" | "as-needed")
9840
+ extensions?: string[]
9841
+ })]
9842
+ // ----- react-refresh/only-export-components -----
9843
+ type ReactRefreshOnlyExportComponents = []|[{
9844
+ allowConstantExport?: boolean
9845
+ checkJS?: boolean
9846
+ allowExportNames?: string[]
10135
9847
  }]
10136
9848
  // ----- require-atomic-updates -----
10137
9849
  type RequireAtomicUpdates = []|[{
@@ -11248,13 +10960,163 @@ type StyleYieldStarSpacing = []|[(("before" | "after" | "both" | "neither") | {
11248
10960
  before?: boolean
11249
10961
  after?: boolean
11250
10962
  })]
10963
+ // ----- svelte/@typescript-eslint/no-unnecessary-condition -----
10964
+ type SvelteTypescriptEslintNoUnnecessaryCondition = []|[{
10965
+
10966
+ allowConstantLoopConditions?: boolean
10967
+
10968
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
10969
+ }]
10970
+ // ----- svelte/block-lang -----
10971
+ type SvelteBlockLang = []|[{
10972
+ enforceScriptPresent?: boolean
10973
+ enforceStylePresent?: boolean
10974
+ script?: ((string | null) | [(string | null), ...((string | null))[]])
10975
+ style?: ((string | null) | [(string | null), ...((string | null))[]])
10976
+ }]
10977
+ // ----- svelte/button-has-type -----
10978
+ type SvelteButtonHasType = []|[{
10979
+ button?: boolean
10980
+ submit?: boolean
10981
+ reset?: boolean
10982
+ }]
10983
+ // ----- svelte/comment-directive -----
10984
+ type SvelteCommentDirective = []|[{
10985
+ reportUnusedDisableDirectives?: boolean
10986
+ }]
10987
+ // ----- svelte/first-attribute-linebreak -----
10988
+ type SvelteFirstAttributeLinebreak = []|[{
10989
+ multiline?: ("below" | "beside")
10990
+ singleline?: ("below" | "beside")
10991
+ }]
10992
+ // ----- svelte/html-closing-bracket-spacing -----
10993
+ type SvelteHtmlClosingBracketSpacing = []|[{
10994
+ startTag?: ("always" | "never" | "ignore")
10995
+ endTag?: ("always" | "never" | "ignore")
10996
+ selfClosingTag?: ("always" | "never" | "ignore")
10997
+ }]
10998
+ // ----- svelte/html-quotes -----
10999
+ type SvelteHtmlQuotes = []|[{
11000
+ prefer?: ("double" | "single")
11001
+ dynamic?: {
11002
+ quoted?: boolean
11003
+ avoidInvalidUnquotedInHTML?: boolean
11004
+ }
11005
+ }]
11006
+ // ----- svelte/html-self-closing -----
11007
+ type SvelteHtmlSelfClosing = []|[({
11008
+ void?: ("never" | "always" | "ignore")
11009
+ normal?: ("never" | "always" | "ignore")
11010
+ component?: ("never" | "always" | "ignore")
11011
+ svelte?: ("never" | "always" | "ignore")
11012
+ } | ("all" | "html" | "none"))]
11013
+ // ----- svelte/indent -----
11014
+ type SvelteIndent = []|[{
11015
+ indent?: (number | "tab")
11016
+ indentScript?: boolean
11017
+ switchCase?: number
11018
+ alignAttributesVertically?: boolean
11019
+ ignoredNodes?: (string & {
11020
+ [k: string]: unknown | undefined
11021
+ } & {
11022
+ [k: string]: unknown | undefined
11023
+ })[]
11024
+ }]
11025
+ // ----- svelte/max-attributes-per-line -----
11026
+ type SvelteMaxAttributesPerLine = []|[{
11027
+ multiline?: number
11028
+ singleline?: number
11029
+ }]
11030
+ // ----- svelte/mustache-spacing -----
11031
+ type SvelteMustacheSpacing = []|[{
11032
+ textExpressions?: ("never" | "always")
11033
+ attributesAndProps?: ("never" | "always")
11034
+ directiveExpressions?: ("never" | "always")
11035
+ tags?: {
11036
+ openingBrace?: ("never" | "always")
11037
+ closingBrace?: ("never" | "always" | "always-after-expression")
11038
+ }
11039
+ }]
11040
+ // ----- svelte/no-inline-styles -----
11041
+ type SvelteNoInlineStyles = []|[{
11042
+ allowTransitions?: boolean
11043
+ }]
11044
+ // ----- svelte/no-inner-declarations -----
11045
+ type SvelteNoInnerDeclarations = []|[("functions" | "both")]|[("functions" | "both"), {
11046
+ blockScopedFunctions?: ("allow" | "disallow")
11047
+ }]
11048
+ // ----- svelte/no-reactive-reassign -----
11049
+ type SvelteNoReactiveReassign = []|[{
11050
+ props?: boolean
11051
+ }]
11052
+ // ----- svelte/no-restricted-html-elements -----
11053
+ type SvelteNoRestrictedHtmlElements = [(string | {
11054
+
11055
+ elements?: [string, ...(string)[]]
11056
+ message?: string
11057
+ }), ...((string | {
11058
+
11059
+ elements?: [string, ...(string)[]]
11060
+ message?: string
11061
+ }))[]]
11062
+ // ----- svelte/no-target-blank -----
11063
+ type SvelteNoTargetBlank = []|[{
11064
+ allowReferrer?: boolean
11065
+ enforceDynamicLinks?: ("always" | "never")
11066
+ }]
11067
+ // ----- svelte/no-trailing-spaces -----
11068
+ type SvelteNoTrailingSpaces = []|[{
11069
+ skipBlankLines?: boolean
11070
+ ignoreComments?: boolean
11071
+ }]
11072
+ // ----- svelte/no-unknown-style-directive-property -----
11073
+ type SvelteNoUnknownStyleDirectiveProperty = []|[{
11074
+
11075
+ ignoreProperties?: [string, ...(string)[]]
11076
+ ignorePrefixed?: boolean
11077
+ }]
11078
+ // ----- svelte/no-unused-class-name -----
11079
+ type SvelteNoUnusedClassName = []|[{
11080
+ allowedClassNames?: string[]
11081
+ }]
11082
+ // ----- svelte/no-useless-mustaches -----
11083
+ type SvelteNoUselessMustaches = []|[{
11084
+ ignoreIncludesComment?: boolean
11085
+ ignoreStringEscape?: boolean
11086
+ }]
11087
+ // ----- svelte/prefer-class-directive -----
11088
+ type SveltePreferClassDirective = []|[{
11089
+ prefer?: ("always" | "empty")
11090
+ }]
11091
+ // ----- svelte/shorthand-attribute -----
11092
+ type SvelteShorthandAttribute = []|[{
11093
+ prefer?: ("always" | "never")
11094
+ }]
11095
+ // ----- svelte/shorthand-directive -----
11096
+ type SvelteShorthandDirective = []|[{
11097
+ prefer?: ("always" | "never")
11098
+ }]
11099
+ // ----- svelte/sort-attributes -----
11100
+ type SvelteSortAttributes = []|[{
11101
+ order?: (string | [string, ...(string)[]] | {
11102
+ match: (string | [string, ...(string)[]])
11103
+ sort: ("alphabetical" | "ignore")
11104
+ })[]
11105
+ alphabetical?: boolean
11106
+ }]
11107
+ // ----- svelte/spaced-html-comment -----
11108
+ type SvelteSpacedHtmlComment = []|[("always" | "never")]
11109
+ // ----- svelte/valid-compile -----
11110
+ type SvelteValidCompile = []|[{
11111
+ ignoreWarnings?: boolean
11112
+ }]
11251
11113
  // ----- switch-colon-spacing -----
11252
11114
  type SwitchColonSpacing = []|[{
11253
11115
  before?: boolean
11254
11116
  after?: boolean
11255
11117
  }]
11256
- // ----- tailwind/classnames-order -----
11257
- type TailwindClassnamesOrder = []|[{
11118
+ // ----- tailwindcss/classnames-order -----
11119
+ type TailwindcssClassnamesOrder = []|[{
11258
11120
  callees?: string[]
11259
11121
  ignoredKeys?: string[]
11260
11122
  config?: (string | {
@@ -11264,8 +11126,8 @@ type TailwindClassnamesOrder = []|[{
11264
11126
  tags?: string[]
11265
11127
  [k: string]: unknown | undefined
11266
11128
  }]
11267
- // ----- tailwind/enforces-negative-arbitrary-values -----
11268
- type TailwindEnforcesNegativeArbitraryValues = []|[{
11129
+ // ----- tailwindcss/enforces-negative-arbitrary-values -----
11130
+ type TailwindcssEnforcesNegativeArbitraryValues = []|[{
11269
11131
  callees?: string[]
11270
11132
  ignoredKeys?: string[]
11271
11133
  config?: (string | {
@@ -11274,8 +11136,8 @@ type TailwindEnforcesNegativeArbitraryValues = []|[{
11274
11136
  tags?: string[]
11275
11137
  [k: string]: unknown | undefined
11276
11138
  }]
11277
- // ----- tailwind/enforces-shorthand -----
11278
- type TailwindEnforcesShorthand = []|[{
11139
+ // ----- tailwindcss/enforces-shorthand -----
11140
+ type TailwindcssEnforcesShorthand = []|[{
11279
11141
  callees?: string[]
11280
11142
  ignoredKeys?: string[]
11281
11143
  config?: (string | {
@@ -11284,8 +11146,8 @@ type TailwindEnforcesShorthand = []|[{
11284
11146
  tags?: string[]
11285
11147
  [k: string]: unknown | undefined
11286
11148
  }]
11287
- // ----- tailwind/migration-from-tailwind-2 -----
11288
- type TailwindMigrationFromTailwind2 = []|[{
11149
+ // ----- tailwindcss/migration-from-tailwind-2 -----
11150
+ type TailwindcssMigrationFromTailwind2 = []|[{
11289
11151
  callees?: string[]
11290
11152
  ignoredKeys?: string[]
11291
11153
  config?: (string | {
@@ -11294,8 +11156,8 @@ type TailwindMigrationFromTailwind2 = []|[{
11294
11156
  tags?: string[]
11295
11157
  [k: string]: unknown | undefined
11296
11158
  }]
11297
- // ----- tailwind/no-arbitrary-value -----
11298
- type TailwindNoArbitraryValue = []|[{
11159
+ // ----- tailwindcss/no-arbitrary-value -----
11160
+ type TailwindcssNoArbitraryValue = []|[{
11299
11161
  callees?: string[]
11300
11162
  ignoredKeys?: string[]
11301
11163
  config?: (string | {
@@ -11304,8 +11166,8 @@ type TailwindNoArbitraryValue = []|[{
11304
11166
  tags?: string[]
11305
11167
  [k: string]: unknown | undefined
11306
11168
  }]
11307
- // ----- tailwind/no-contradicting-classname -----
11308
- type TailwindNoContradictingClassname = []|[{
11169
+ // ----- tailwindcss/no-contradicting-classname -----
11170
+ type TailwindcssNoContradictingClassname = []|[{
11309
11171
  callees?: string[]
11310
11172
  ignoredKeys?: string[]
11311
11173
  config?: (string | {
@@ -11314,8 +11176,8 @@ type TailwindNoContradictingClassname = []|[{
11314
11176
  tags?: string[]
11315
11177
  [k: string]: unknown | undefined
11316
11178
  }]
11317
- // ----- tailwind/no-custom-classname -----
11318
- type TailwindNoCustomClassname = []|[{
11179
+ // ----- tailwindcss/no-custom-classname -----
11180
+ type TailwindcssNoCustomClassname = []|[{
11319
11181
  callees?: string[]
11320
11182
  ignoredKeys?: string[]
11321
11183
  config?: (string | {
@@ -11327,8 +11189,8 @@ type TailwindNoCustomClassname = []|[{
11327
11189
  whitelist?: string[]
11328
11190
  [k: string]: unknown | undefined
11329
11191
  }]
11330
- // ----- tailwind/no-unnecessary-arbitrary-value -----
11331
- type TailwindNoUnnecessaryArbitraryValue = []|[{
11192
+ // ----- tailwindcss/no-unnecessary-arbitrary-value -----
11193
+ type TailwindcssNoUnnecessaryArbitraryValue = []|[{
11332
11194
  callees?: string[]
11333
11195
  ignoredKeys?: string[]
11334
11196
  config?: (string | {
@@ -11364,6 +11226,10 @@ type TestMaxExpects = []|[{
11364
11226
  type TestMaxNestedDescribe = []|[{
11365
11227
  max?: number
11366
11228
  }]
11229
+ // ----- test/no-focused-tests -----
11230
+ type TestNoFocusedTests = []|[{
11231
+ fixable?: boolean
11232
+ }]
11367
11233
  // ----- test/no-hooks -----
11368
11234
  type TestNoHooks = []|[{
11369
11235
  allow?: unknown[]
@@ -14651,6 +14517,8 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
14651
14517
  exceptRange?: boolean
14652
14518
  onlyEquality?: boolean
14653
14519
  }]
14520
+ // Names of all the configs
14521
+ type ConfigNames = 'luxass/astro/setup' | 'luxass/astro/rules' | 'luxass/astro/scripts-js' | 'luxass/astro/scripts-ts' | 'luxass/eslint-comments' | 'luxass/formatter/setup' | 'luxass/imports' | 'luxass/disables/imports-bin' | 'luxass/javascript' | 'luxass/disables/cli' | 'luxass/jsdoc' | 'luxass/jsonc/setup' | 'luxass/jsonc/rules' | 'luxass/markdown/setup' | 'luxass/markdown/processor' | 'luxass/markdown/parser' | 'luxass/markdown/disables' | 'luxass/node' | 'luxass/react/setup' | 'luxass/react/rules' | 'luxass/sort/package-json' | 'luxass/stylistic' | 'luxass/tailwindcss/setup' | 'luxass/tailwindcss/rules' | 'luxass/sort/tsconfig' | 'luxass/nextjs/setup' | 'luxass/nextjs/rules' | 'luxass/nextjs/default-export-override' | 'luxass/nextjs/og-override' | 'luxass/solid/setup' | 'luxass/solid/rules' | 'luxass/test/setup' | 'luxass/test/rules' | 'luxass/toml/setup' | 'luxass/toml/rules' | 'luxass/typescript/setup' | 'luxass/typescript/parser' | 'luxass/typescript/rules' | 'luxass/typescript/rules-type-aware' | 'luxass/typescript/disables/dts' | 'luxass/typescript/disables/tests' | 'luxass/typescript/disables/playground' | 'luxass/typescript/disables/javascript' | 'luxass/unicorn' | 'luxass/unocss/setup' | 'luxass/unocss/rules' | 'luxass/vue/setup' | 'luxass/vue/rules' | 'luxass/yaml/setup' | 'luxass/yaml/rules' | 'luxass/yaml/github-actions' | 'antfu/svelte/setup' | 'antfu/svelte/rules'
14654
14522
 
14655
14523
  declare function comments(): Promise<TypedFlatConfigItem[]>;
14656
14524
 
@@ -14688,6 +14556,32 @@ interface StylisticOptions {
14688
14556
  }
14689
14557
  declare function stylistic(options?: StylisticOptions): Promise<TypedFlatConfigItem[]>;
14690
14558
 
14559
+ interface SvelteOptions {
14560
+ /**
14561
+ * Override rules.
14562
+ */
14563
+ overrides?: TypedFlatConfigItem['rules'];
14564
+ /**
14565
+ * Enable TypeScript support.
14566
+ *
14567
+ * @default true
14568
+ */
14569
+ typescript?: boolean;
14570
+ /**
14571
+ * Enable stylistic rules.
14572
+ *
14573
+ * @default true
14574
+ */
14575
+ stylistic?: boolean | StylisticConfig;
14576
+ /**
14577
+ * Glob patterns for Svelte files.
14578
+ *
14579
+ * @default
14580
+ */
14581
+ files?: string[];
14582
+ }
14583
+ declare function svelte(options?: SvelteOptions): Promise<TypedFlatConfigItem[]>;
14584
+
14691
14585
  interface ImportsOptions {
14692
14586
  /**
14693
14587
  * Enable stylistic rules.
@@ -14739,7 +14633,7 @@ interface JSONOptions {
14739
14633
  /**
14740
14634
  * Glob patterns for JSON files.
14741
14635
  *
14742
- * @default [GLOB_JSON, GLOB_JSON5, GLOB_JSONC]
14636
+ * @default [GLOB_JSON,GLOB_JSON5,GLOB_JSONC]
14743
14637
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14744
14638
  */
14745
14639
  files?: string[];
@@ -14788,13 +14682,13 @@ interface TypeScriptOptions {
14788
14682
  /**
14789
14683
  * Glob patterns for TypeScript files.
14790
14684
  *
14791
- * @default GLOB_SRC
14685
+ * @default [GLOB_SRC]
14792
14686
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14793
14687
  */
14794
14688
  files?: string[];
14795
14689
  /**
14796
14690
  * Glob patterns for files that should be type aware.
14797
- * @default ['**\/*.{ts,tsx}']
14691
+ * @default [GLOB_SRC]
14798
14692
  */
14799
14693
  typeAwareFileS?: string[];
14800
14694
  /**
@@ -14831,7 +14725,7 @@ interface VueOptions {
14831
14725
  /**
14832
14726
  * Glob patterns for Vue files.
14833
14727
  *
14834
- * @default GLOB_VUE
14728
+ * @default [GLOB_VUE]
14835
14729
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14836
14730
  */
14837
14731
  files?: string[];
@@ -14852,7 +14746,7 @@ interface YAMLOptions {
14852
14746
  /**
14853
14747
  * Glob patterns for YAML files.
14854
14748
  *
14855
- * @default GLOB_YAML
14749
+ * @default [GLOB_YAML]
14856
14750
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14857
14751
  */
14858
14752
  files?: string[];
@@ -14869,7 +14763,7 @@ interface TestOptions {
14869
14763
  /**
14870
14764
  * Glob patterns for test files.
14871
14765
  *
14872
- * @default GLOB_TESTS
14766
+ * @default [GLOB_TESTS]
14873
14767
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14874
14768
  */
14875
14769
  files?: string[];
@@ -14896,7 +14790,7 @@ interface UnoCSSOptions {
14896
14790
  /**
14897
14791
  * Glob patterns for files that includes unocss classes.
14898
14792
  *
14899
- * @default GLOB_SRC
14793
+ * @default [GLOB_SRC]
14900
14794
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14901
14795
  */
14902
14796
  files?: string[];
@@ -14935,21 +14829,14 @@ interface ReactOptions {
14935
14829
  */
14936
14830
  overrides?: TypedFlatConfigItem['rules'];
14937
14831
  /**
14938
- * Enable TypeScript support.
14939
- *
14940
- * @default true
14941
- */
14942
- typescript?: boolean;
14943
- /**
14944
- * Enable JSX A11y support.
14945
- *
14946
- * @default false
14832
+ * When this options is provided, type aware rules will be enabled.
14833
+ * @see https://typescript-eslint.io/linting/typed-linting/
14947
14834
  */
14948
- a11y?: boolean;
14835
+ tsconfigPath?: string | string[];
14949
14836
  /**
14950
14837
  * Glob patterns for JSX & TSX files.
14951
14838
  *
14952
- * @default [GLOB_JSX, GLOB_TSX]
14839
+ * @default [GLOB_JSX,GLOB_TSX]
14953
14840
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14954
14841
  */
14955
14842
  files?: string[];
@@ -15175,10 +15062,15 @@ interface SolidOptions {
15175
15062
  * @default true
15176
15063
  */
15177
15064
  typescript?: boolean;
15065
+ /**
15066
+ * When this options is provided, type aware rules will be enabled.
15067
+ * @see https://typescript-eslint.io/linting/typed-linting/
15068
+ */
15069
+ tsconfigPath?: string | string[];
15178
15070
  /**
15179
15071
  * Glob patterns for JSX & TSX files.
15180
15072
  *
15181
- * @default [GLOB_JSX, GLOB_TSX]
15073
+ * @default [GLOB_JSX,GLOB_TSX]
15182
15074
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
15183
15075
  */
15184
15076
  files?: string[];
@@ -15187,21 +15079,14 @@ declare function solid(options?: SolidOptions): Promise<TypedFlatConfigItem[]>;
15187
15079
 
15188
15080
  type Awaitable<T> = T | Promise<T>;
15189
15081
  type Rules = RuleOptions;
15190
- type TypedFlatConfigItem = Omit<Linter.FlatConfig, 'plugins'> & {
15191
- /**
15192
- * Custom name of each config item
15193
- */
15194
- name?: string;
15082
+
15083
+ type TypedFlatConfigItem = Omit<Linter.FlatConfig<Linter.RulesRecord & Rules>, 'plugins'> & {
15195
15084
  /**
15196
15085
  * An object containing a name-value mapping of plugin names to plugin objects. When `files` is specified, these plugins are only available to the matching files.
15197
15086
  *
15198
15087
  * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
15199
15088
  */
15200
15089
  plugins?: Record<string, any>;
15201
- /**
15202
- * An object containing a name-value mapping of rules to use.
15203
- */
15204
- rules?: Linter.RulesRecord & Rules;
15205
15090
  };
15206
15091
  type UserConfigItem = TypedFlatConfigItem | Linter.FlatConfig;
15207
15092
  interface ConfigOptions {
@@ -15262,7 +15147,7 @@ interface ConfigOptions {
15262
15147
  * Enable react rules.
15263
15148
  *
15264
15149
  * Requires installing:
15265
- * - `eslint-plugin-react`
15150
+ * - `@eslint-react/eslint-plugin`
15266
15151
  * - `eslint-plugin-react-hooks`
15267
15152
  * - `eslint-plugin-react-refresh`
15268
15153
  *
@@ -15364,6 +15249,15 @@ interface ConfigOptions {
15364
15249
  * @default false
15365
15250
  */
15366
15251
  solid?: boolean | SolidOptions;
15252
+ /**
15253
+ * Enable Svelte support.
15254
+ *
15255
+ * Requires installing:
15256
+ * - `eslint-plugin-svelte`
15257
+ *
15258
+ * @default false
15259
+ */
15260
+ svelte?: boolean | SvelteOptions;
15367
15261
  /**
15368
15262
  * Automatically rename plugins in the config.
15369
15263
  *
@@ -15382,7 +15276,7 @@ interface ConfigOptions {
15382
15276
  * @returns {Promise<TypedFlatConfigItem[]>}
15383
15277
  * The merged ESLint configurations.
15384
15278
  */
15385
- declare function luxass(options?: ConfigOptions & TypedFlatConfigItem, ...userConfigs: Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[] | FlatConfigComposer<any> | Linter.FlatConfig[]>[]): FlatConfigComposer<TypedFlatConfigItem>;
15279
+ declare function luxass(options?: ConfigOptions & TypedFlatConfigItem, ...userConfigs: Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[] | FlatConfigComposer<any, ConfigNames> | Linter.FlatConfig[]>[]): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
15386
15280
 
15387
15281
  declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
15388
15282
  declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
@@ -15400,6 +15294,7 @@ declare const GLOB_JSON5 = "**/*.json5";
15400
15294
  declare const GLOB_JSONC = "**/*.jsonc";
15401
15295
  declare const GLOB_MARKDOWN = "**/*.md";
15402
15296
  declare const GLOB_MARKDOWN_IN_MARKDOWN = "**/*.md/*.md";
15297
+ declare const GLOB_SVELTE = "**/*.svelte";
15403
15298
  declare const GLOB_VUE = "**/*.vue";
15404
15299
  declare const GLOB_YAML = "**/*.y?(a)ml";
15405
15300
  declare const GLOB_TOML = "**/*.toml";
@@ -15453,4 +15348,4 @@ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
15453
15348
  declare function resolveSubOptions<K extends keyof ConfigOptions>(options: ConfigOptions, key: K): ResolvedOptions<ConfigOptions[K]>;
15454
15349
  declare function getOverrides<K extends keyof ConfigOptions>(options: ConfigOptions, key: K): any;
15455
15350
 
15456
- export { type AstroOptions, type Awaitable, type ConfigOptions, type FormattersOptions, GLOB_ASTRO, 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_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type ImportsOptions, type JSDOCOptions, type JSONOptions, type JavaScriptOptions, type MarkdownOptions, type NextJSOptions, type ReactOptions, type ResolvedOptions, type Rules, type SolidOptions, type StylisticConfig, type StylisticOptions, type TOMLOptions, type TailwindCSSOptions, type TestOptions, type TypeScriptOptions, type TypedFlatConfigItem, type UnoCSSOptions, type UserConfigItem, type VueOptions, type YAMLOptions, astro, combine, comments, luxass as default, ensure, formatters, getOverrides, ignores, imports, interop, javascript, jsdoc, jsonc, markdown, nextjs, node, parserPlain, react, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };
15351
+ export { type AstroOptions, type Awaitable, type ConfigNames, type ConfigOptions, type FormattersOptions, GLOB_ASTRO, 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_NEXTJS_OG, GLOB_NEXTJS_ROUTES, GLOB_POSTCSS, GLOB_SCSS, GLOB_SRC, GLOB_SRC_EXT, GLOB_STYLE, GLOB_SVELTE, GLOB_TESTS, GLOB_TOML, GLOB_TS, GLOB_TSX, GLOB_VUE, GLOB_YAML, type ImportsOptions, type JSDOCOptions, type JSONOptions, type JavaScriptOptions, type MarkdownOptions, type NextJSOptions, type ReactOptions, type ResolvedOptions, type Rules, type SolidOptions, type StylisticConfig, type StylisticOptions, type SvelteOptions, type TOMLOptions, type TailwindCSSOptions, type TestOptions, type TypeScriptOptions, type TypedFlatConfigItem, type UnoCSSOptions, type UserConfigItem, type VueOptions, type YAMLOptions, astro, combine, comments, luxass as default, ensure, formatters, getOverrides, ignores, imports, interop, javascript, jsdoc, jsonc, luxass, markdown, nextjs, node, parserPlain, react, renameRules, resolveSubOptions, solid, sortPackageJson, sortTsconfig, stylistic, svelte, tailwindcss, test, toArray, toml, typescript, unicorn, unocss, vue, yaml };