@luxass/eslint-config 4.3.7 → 4.4.1

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.ts 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/
@@ -404,6 +300,11 @@ interface RuleOptions {
404
300
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-deprecated-getentrybyslug/
405
301
  */
406
302
  'astro/no-deprecated-getentrybyslug'?: Linter.RuleEntry<[]>
303
+ /**
304
+ * disallow value export
305
+ * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-exports-from-components/
306
+ */
307
+ 'astro/no-exports-from-components'?: Linter.RuleEntry<[]>
407
308
  /**
408
309
  * disallow use of `set:html` to prevent XSS attack
409
310
  * @see https://ota-meshi.github.io/eslint-plugin-astro/rules/no-set-html-directive/
@@ -1589,6 +1490,110 @@ interface RuleOptions {
1589
1490
  * @deprecated
1590
1491
  */
1591
1492
  'newline-per-chained-call'?: Linter.RuleEntry<NewlinePerChainedCall>
1493
+ /**
1494
+ * Enforce font-display behavior with Google Fonts.
1495
+ * @see https://nextjs.org/docs/messages/google-font-display
1496
+ */
1497
+ 'nextjs/google-font-display'?: Linter.RuleEntry<[]>
1498
+ /**
1499
+ * Ensure `preconnect` is used with Google Fonts.
1500
+ * @see https://nextjs.org/docs/messages/google-font-preconnect
1501
+ */
1502
+ 'nextjs/google-font-preconnect'?: Linter.RuleEntry<[]>
1503
+ /**
1504
+ * Enforce `id` attribute on `next/script` components with inline content.
1505
+ * @see https://nextjs.org/docs/messages/inline-script-id
1506
+ */
1507
+ 'nextjs/inline-script-id'?: Linter.RuleEntry<[]>
1508
+ /**
1509
+ * Prefer `next/script` component when using the inline script for Google Analytics.
1510
+ * @see https://nextjs.org/docs/messages/next-script-for-ga
1511
+ */
1512
+ 'nextjs/next-script-for-ga'?: Linter.RuleEntry<[]>
1513
+ /**
1514
+ * Prevent assignment to the `module` variable.
1515
+ * @see https://nextjs.org/docs/messages/no-assign-module-variable
1516
+ */
1517
+ 'nextjs/no-assign-module-variable'?: Linter.RuleEntry<[]>
1518
+ /**
1519
+ * Prevent client components from being async functions.
1520
+ * @see https://nextjs.org/docs/messages/no-async-client-component
1521
+ */
1522
+ 'nextjs/no-async-client-component'?: Linter.RuleEntry<[]>
1523
+ /**
1524
+ * Prevent usage of `next/script`'s `beforeInteractive` strategy outside of `pages/_document.js`.
1525
+ * @see https://nextjs.org/docs/messages/no-before-interactive-script-outside-document
1526
+ */
1527
+ 'nextjs/no-before-interactive-script-outside-document'?: Linter.RuleEntry<[]>
1528
+ /**
1529
+ * Prevent manual stylesheet tags.
1530
+ * @see https://nextjs.org/docs/messages/no-css-tags
1531
+ */
1532
+ 'nextjs/no-css-tags'?: Linter.RuleEntry<[]>
1533
+ /**
1534
+ * Prevent importing `next/document` outside of `pages/_document.js`.
1535
+ * @see https://nextjs.org/docs/messages/no-document-import-in-page
1536
+ */
1537
+ 'nextjs/no-document-import-in-page'?: Linter.RuleEntry<[]>
1538
+ /**
1539
+ * Prevent duplicate usage of `<Head>` in `pages/_document.js`.
1540
+ * @see https://nextjs.org/docs/messages/no-duplicate-head
1541
+ */
1542
+ 'nextjs/no-duplicate-head'?: Linter.RuleEntry<[]>
1543
+ /**
1544
+ * Prevent usage of `<head>` element.
1545
+ * @see https://nextjs.org/docs/messages/no-head-element
1546
+ */
1547
+ 'nextjs/no-head-element'?: Linter.RuleEntry<[]>
1548
+ /**
1549
+ * Prevent usage of `next/head` in `pages/_document.js`.
1550
+ * @see https://nextjs.org/docs/messages/no-head-import-in-document
1551
+ */
1552
+ 'nextjs/no-head-import-in-document'?: Linter.RuleEntry<[]>
1553
+ /**
1554
+ * Prevent usage of `<a>` elements to navigate to internal Next.js pages.
1555
+ * @see https://nextjs.org/docs/messages/no-html-link-for-pages
1556
+ */
1557
+ 'nextjs/no-html-link-for-pages'?: Linter.RuleEntry<NextjsNoHtmlLinkForPages>
1558
+ /**
1559
+ * Prevent usage of `<img>` element due to slower LCP and higher bandwidth.
1560
+ * @see https://nextjs.org/docs/messages/no-img-element
1561
+ */
1562
+ 'nextjs/no-img-element'?: Linter.RuleEntry<[]>
1563
+ /**
1564
+ * Prevent page-only custom fonts.
1565
+ * @see https://nextjs.org/docs/messages/no-page-custom-font
1566
+ */
1567
+ 'nextjs/no-page-custom-font'?: Linter.RuleEntry<[]>
1568
+ /**
1569
+ * Prevent usage of `next/script` in `next/head` component.
1570
+ * @see https://nextjs.org/docs/messages/no-script-component-in-head
1571
+ */
1572
+ 'nextjs/no-script-component-in-head'?: Linter.RuleEntry<[]>
1573
+ /**
1574
+ * Prevent usage of `styled-jsx` in `pages/_document.js`.
1575
+ * @see https://nextjs.org/docs/messages/no-styled-jsx-in-document
1576
+ */
1577
+ 'nextjs/no-styled-jsx-in-document'?: Linter.RuleEntry<[]>
1578
+ /**
1579
+ * Prevent synchronous scripts.
1580
+ * @see https://nextjs.org/docs/messages/no-sync-scripts
1581
+ */
1582
+ 'nextjs/no-sync-scripts'?: Linter.RuleEntry<[]>
1583
+ /**
1584
+ * Prevent usage of `<title>` with `Head` component from `next/document`.
1585
+ * @see https://nextjs.org/docs/messages/no-title-in-document-head
1586
+ */
1587
+ 'nextjs/no-title-in-document-head'?: Linter.RuleEntry<[]>
1588
+ /**
1589
+ * Prevent common typos in Next.js data fetching functions.
1590
+ */
1591
+ 'nextjs/no-typos'?: Linter.RuleEntry<[]>
1592
+ /**
1593
+ * Prevent duplicate polyfills from Polyfill.io.
1594
+ * @see https://nextjs.org/docs/messages/no-unwanted-polyfillio
1595
+ */
1596
+ 'nextjs/no-unwanted-polyfillio'?: Linter.RuleEntry<[]>
1592
1597
  /**
1593
1598
  * Disallow the use of `alert`, `confirm`, and `prompt`
1594
1599
  * @see https://eslint.org/docs/latest/rules/no-alert
@@ -2415,6 +2420,11 @@ interface RuleOptions {
2415
2420
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/handle-callback-err.md
2416
2421
  */
2417
2422
  'node/handle-callback-err'?: Linter.RuleEntry<NodeHandleCallbackErr>
2423
+ /**
2424
+ * require correct usage of hashbang
2425
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
2426
+ */
2427
+ 'node/hashbang'?: Linter.RuleEntry<NodeHashbang>
2418
2428
  /**
2419
2429
  * enforce Node.js-style error-first callback pattern is followed
2420
2430
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-callback-literal.md
@@ -2511,12 +2521,6 @@ interface RuleOptions {
2511
2521
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unpublished-require.md
2512
2522
  */
2513
2523
  '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
2524
  /**
2521
2525
  * disallow unsupported ECMAScript built-ins on the specified version
2522
2526
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/no-unsupported-features/es-builtins.md
@@ -2567,6 +2571,11 @@ interface RuleOptions {
2567
2571
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-global/url-search-params.md
2568
2572
  */
2569
2573
  'node/prefer-global/url-search-params'?: Linter.RuleEntry<NodePreferGlobalUrlSearchParams>
2574
+ /**
2575
+ * enforce using the `node:` protocol when importing Node.js builtin modules.
2576
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-node-protocol.md
2577
+ */
2578
+ 'node/prefer-node-protocol'?: Linter.RuleEntry<NodePreferNodeProtocol>
2570
2579
  /**
2571
2580
  * enforce `require("dns").promises`
2572
2581
  * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/prefer-promises/dns.md
@@ -2583,8 +2592,9 @@ interface RuleOptions {
2583
2592
  */
2584
2593
  'node/process-exit-as-throw'?: Linter.RuleEntry<[]>
2585
2594
  /**
2586
- * require correct usage of shebang
2587
- * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/shebang.md
2595
+ * require correct usage of hashbang
2596
+ * @see https://github.com/eslint-community/eslint-plugin-n/blob/HEAD/docs/rules/hashbang.md
2597
+ * @deprecated
2588
2598
  */
2589
2599
  'node/shebang'?: Linter.RuleEntry<NodeShebang>
2590
2600
  /**
@@ -2739,582 +2749,370 @@ interface RuleOptions {
2739
2749
  */
2740
2750
  'radix'?: Linter.RuleEntry<Radix>
2741
2751
  /**
2742
- * verifies the list of dependencies for Hooks like useEffect and similar
2743
- * @see https://github.com/facebook/react/issues/14920
2752
+ * disallow passing 'children' to void DOM elements
2753
+ * @see https://eslint-react.xyz/rules/dom-no-children-in-void-dom-elements
2744
2754
  */
2745
- 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>
2755
+ 'react-dom/no-children-in-void-dom-elements'?: Linter.RuleEntry<[]>
2746
2756
  /**
2747
- * enforces the Rules of Hooks
2748
- * @see https://reactjs.org/docs/hooks-rules.html
2757
+ * disallow when a DOM component is using 'dangerouslySetInnerHTML'
2758
+ * @see https://eslint-react.xyz/rules/dom-no-dangerously-set-innerhtml
2749
2759
  */
2750
- 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
2751
- 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
2760
+ 'react-dom/no-dangerously-set-innerhtml'?: Linter.RuleEntry<[]>
2752
2761
  /**
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
2762
+ * disallow when a DOM component is using both 'children' and 'dangerouslySetInnerHTML'
2763
+ * @see https://eslint-react.xyz/rules/dom-no-dangerously-set-innerhtml-with-children
2755
2764
  */
2756
- 'react/boolean-prop-naming'?: Linter.RuleEntry<ReactBooleanPropNaming>
2765
+ 'react-dom/no-dangerously-set-innerhtml-with-children'?: Linter.RuleEntry<[]>
2757
2766
  /**
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
2767
+ * disallow 'findDOMNode'
2768
+ * @see https://eslint-react.xyz/rules/dom-no-find-dom-node
2760
2769
  */
2761
- 'react/button-has-type'?: Linter.RuleEntry<ReactButtonHasType>
2770
+ 'react-dom/no-find-dom-node'?: Linter.RuleEntry<[]>
2762
2771
  /**
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
2772
+ * enforce that button component have an explicit 'type' attribute
2773
+ * @see https://eslint-react.xyz/rules/dom-no-missing-button-type
2765
2774
  */
2766
- 'react/checked-requires-onchange-or-readonly'?: Linter.RuleEntry<ReactCheckedRequiresOnchangeOrReadonly>
2775
+ 'react-dom/no-missing-button-type'?: Linter.RuleEntry<[]>
2767
2776
  /**
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
2777
+ * enforce that 'iframe' component have an explicit 'sandbox' attribute
2778
+ * @see https://eslint-react.xyz/rules/dom-no-missing-iframe-sandbox
2770
2779
  */
2771
- 'react/default-props-match-prop-types'?: Linter.RuleEntry<ReactDefaultPropsMatchPropTypes>
2780
+ 'react-dom/no-missing-iframe-sandbox'?: Linter.RuleEntry<[]>
2772
2781
  /**
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
2782
+ * enforce that namespaces are not used in React elements
2783
+ * @see https://eslint-react.xyz/rules/dom-no-namespace
2775
2784
  */
2776
- 'react/destructuring-assignment'?: Linter.RuleEntry<ReactDestructuringAssignment>
2785
+ 'react-dom/no-namespace'?: Linter.RuleEntry<[]>
2777
2786
  /**
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
2787
+ * disallow usage of the return value of 'ReactDOM.render'
2788
+ * @see https://eslint-react.xyz/rules/dom-no-render-return-value
2780
2789
  */
2781
- 'react/display-name'?: Linter.RuleEntry<ReactDisplayName>
2790
+ 'react-dom/no-render-return-value'?: Linter.RuleEntry<[]>
2782
2791
  /**
2783
- * Disallow certain props on components
2784
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-component-props.md
2792
+ * disallow 'javascript:' URLs as JSX event handler prop's value
2793
+ * @see https://eslint-react.xyz/rules/dom-no-script-url
2785
2794
  */
2786
- 'react/forbid-component-props'?: Linter.RuleEntry<ReactForbidComponentProps>
2795
+ 'react-dom/no-script-url'?: Linter.RuleEntry<[]>
2787
2796
  /**
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
2797
+ * disallow unsafe iframe 'sandbox' attribute combinations
2798
+ * @see https://eslint-react.xyz/rules/dom-no-unsafe-iframe-sandbox
2790
2799
  */
2791
- 'react/forbid-dom-props'?: Linter.RuleEntry<ReactForbidDomProps>
2800
+ 'react-dom/no-unsafe-iframe-sandbox'?: Linter.RuleEntry<[]>
2792
2801
  /**
2793
- * Disallow certain elements
2794
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-elements.md
2802
+ * disallow 'target="_blank"' on an external link without 'rel="noreferrer noopener"'.
2803
+ * @see https://eslint-react.xyz/rules/dom-no-unsafe-target-blank
2795
2804
  */
2796
- 'react/forbid-elements'?: Linter.RuleEntry<ReactForbidElements>
2805
+ 'react-dom/no-unsafe-target-blank'?: Linter.RuleEntry<[]>
2797
2806
  /**
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
2807
+ * enforce custom hooks using other hooks
2808
+ * @see https://eslint-react.xyz/rules/hooks-extra-ensure-custom-hooks-using-other-hooks
2800
2809
  */
2801
- 'react/forbid-foreign-prop-types'?: Linter.RuleEntry<ReactForbidForeignPropTypes>
2810
+ 'react-hooks-extra/ensure-custom-hooks-using-other-hooks'?: Linter.RuleEntry<[]>
2802
2811
  /**
2803
- * Disallow certain propTypes
2804
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/forbid-prop-types.md
2812
+ * enforce 'useCallback' has non-empty dependencies array
2813
+ * @see https://eslint-react.xyz/rules/hooks-extra-ensure-use-callback-has-non-empty-deps
2805
2814
  */
2806
- 'react/forbid-prop-types'?: Linter.RuleEntry<ReactForbidPropTypes>
2815
+ 'react-hooks-extra/ensure-use-callback-has-non-empty-deps'?: Linter.RuleEntry<[]>
2807
2816
  /**
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
2817
+ * enforce 'useMemo' has non-empty dependencies array
2818
+ * @see https://eslint-react.xyz/rules/hooks-extra-ensure-use-memo-has-non-empty-deps
2810
2819
  */
2811
- 'react/function-component-definition'?: Linter.RuleEntry<ReactFunctionComponentDefinition>
2820
+ 'react-hooks-extra/ensure-use-memo-has-non-empty-deps'?: Linter.RuleEntry<[]>
2812
2821
  /**
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
2822
+ * disallow function calls in 'useState' that aren't wrapped in an initializer function
2823
+ * @see https://eslint-react.xyz/rules/hooks-extra-prefer-use-state-lazy-initialization
2815
2824
  */
2816
- 'react/hook-use-state'?: Linter.RuleEntry<ReactHookUseState>
2825
+ 'react-hooks-extra/prefer-use-state-lazy-initialization'?: Linter.RuleEntry<[]>
2817
2826
  /**
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
2827
+ * verifies the list of dependencies for Hooks like useEffect and similar
2828
+ * @see https://github.com/facebook/react/issues/14920
2820
2829
  */
2821
- 'react/iframe-missing-sandbox'?: Linter.RuleEntry<[]>
2830
+ 'react-hooks/exhaustive-deps'?: Linter.RuleEntry<ReactHooksExhaustiveDeps>
2822
2831
  /**
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
2832
+ * enforces the Rules of Hooks
2833
+ * @see https://reactjs.org/docs/hooks-rules.html
2825
2834
  */
2826
- 'react/jsx-boolean-value'?: Linter.RuleEntry<ReactJsxBooleanValue>
2835
+ 'react-hooks/rules-of-hooks'?: Linter.RuleEntry<[]>
2827
2836
  /**
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
2837
+ * enforce component naming convention to 'PascalCase' or 'CONSTANT_CASE'
2838
+ * @see https://eslint-react.xyz/rules/naming-convention-component-name
2830
2839
  */
2831
- 'react/jsx-child-element-spacing'?: Linter.RuleEntry<[]>
2840
+ 'react-naming-convention/component-name'?: Linter.RuleEntry<ReactNamingConventionComponentName>
2832
2841
  /**
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
2842
+ * enforce naming convention for JSX filenames
2843
+ * @see https://eslint-react.xyz/rules/naming-convention-filename
2835
2844
  */
2836
- 'react/jsx-closing-bracket-location'?: Linter.RuleEntry<ReactJsxClosingBracketLocation>
2845
+ 'react-naming-convention/filename'?: Linter.RuleEntry<ReactNamingConventionFilename>
2837
2846
  /**
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
2847
+ * enforce naming convention for JSX file extensions
2848
+ * @see https://eslint-react.xyz/rules/naming-convention-filename-extension
2840
2849
  */
2841
- 'react/jsx-closing-tag-location'?: Linter.RuleEntry<[]>
2850
+ 'react-naming-convention/filename-extension'?: Linter.RuleEntry<ReactNamingConventionFilenameExtension>
2842
2851
  /**
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
2852
+ * enforce destructuring and symmetric naming of 'useState' hook value and setter variables
2853
+ * @see https://eslint-react.xyz/rules/naming-convention-use-state
2845
2854
  */
2846
- 'react/jsx-curly-brace-presence'?: Linter.RuleEntry<ReactJsxCurlyBracePresence>
2855
+ 'react-naming-convention/use-state'?: Linter.RuleEntry<[]>
2856
+ 'react-refresh/only-export-components'?: Linter.RuleEntry<ReactRefreshOnlyExportComponents>
2847
2857
  /**
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
2858
+ * require all 'forwardRef' components include a 'ref' parameter
2859
+ * @see https://eslint-react.xyz/rules/ensure-forward-ref-using-ref
2850
2860
  */
2851
- 'react/jsx-curly-newline'?: Linter.RuleEntry<ReactJsxCurlyNewline>
2861
+ 'react/ensure-forward-ref-using-ref'?: Linter.RuleEntry<[]>
2852
2862
  /**
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
2863
+ * disallow accessing 'this.state' within 'setState'
2864
+ * @see https://eslint-react.xyz/rules/no-access-state-in-setstate
2855
2865
  */
2856
- 'react/jsx-curly-spacing'?: Linter.RuleEntry<ReactJsxCurlySpacing>
2866
+ 'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
2857
2867
  /**
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
2868
+ * disallow using Array index as key
2869
+ * @see https://eslint-react.xyz/rules/no-array-index-key
2860
2870
  */
2861
- 'react/jsx-equals-spacing'?: Linter.RuleEntry<ReactJsxEqualsSpacing>
2871
+ 'react/no-array-index-key'?: Linter.RuleEntry<[]>
2862
2872
  /**
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
2873
+ * disallow 'Children.count'
2874
+ * @see https://eslint-react.xyz/rules/no-children-count
2865
2875
  */
2866
- 'react/jsx-filename-extension'?: Linter.RuleEntry<ReactJsxFilenameExtension>
2876
+ 'react/no-children-count'?: Linter.RuleEntry<[]>
2867
2877
  /**
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
2878
+ * disallow 'Children.forEach'
2879
+ * @see https://eslint-react.xyz/rules/no-children-for-each
2870
2880
  */
2871
- 'react/jsx-first-prop-new-line'?: Linter.RuleEntry<ReactJsxFirstPropNewLine>
2881
+ 'react/no-children-for-each'?: Linter.RuleEntry<[]>
2872
2882
  /**
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
2883
+ * disallow 'Children.map'
2884
+ * @see https://eslint-react.xyz/rules/no-children-map
2875
2885
  */
2876
- 'react/jsx-fragments'?: Linter.RuleEntry<ReactJsxFragments>
2886
+ 'react/no-children-map'?: Linter.RuleEntry<[]>
2877
2887
  /**
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
2888
+ * disallow 'Children.only'
2889
+ * @see https://eslint-react.xyz/rules/no-children-only
2880
2890
  */
2881
- 'react/jsx-handler-names'?: Linter.RuleEntry<ReactJsxHandlerNames>
2891
+ 'react/no-children-only'?: Linter.RuleEntry<[]>
2882
2892
  /**
2883
- * Enforce JSX indentation
2884
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent.md
2893
+ * disallow passing of 'children' as props
2894
+ * @see https://eslint-react.xyz/rules/no-children-prop
2885
2895
  */
2886
- 'react/jsx-indent'?: Linter.RuleEntry<ReactJsxIndent>
2896
+ 'react/no-children-prop'?: Linter.RuleEntry<[]>
2887
2897
  /**
2888
- * Enforce props indentation in JSX
2889
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-indent-props.md
2898
+ * disallow 'Children.toArray'
2899
+ * @see https://eslint-react.xyz/rules/no-children-to-array
2890
2900
  */
2891
- 'react/jsx-indent-props'?: Linter.RuleEntry<ReactJsxIndentProps>
2901
+ 'react/no-children-to-array'?: Linter.RuleEntry<[]>
2892
2902
  /**
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
2903
+ * disallow class component
2904
+ * @see https://eslint-react.xyz/rules/no-class-component
2895
2905
  */
2896
- 'react/jsx-key'?: Linter.RuleEntry<ReactJsxKey>
2906
+ 'react/no-class-component'?: Linter.RuleEntry<[]>
2897
2907
  /**
2898
- * Enforce JSX maximum depth
2899
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-max-depth.md
2908
+ * disallow 'cloneElement'
2909
+ * @see https://eslint-react.xyz/rules/no-clone-element
2900
2910
  */
2901
- 'react/jsx-max-depth'?: Linter.RuleEntry<ReactJsxMaxDepth>
2911
+ 'react/no-clone-element'?: Linter.RuleEntry<[]>
2902
2912
  /**
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
2913
+ * disallow comments from being inserted as text nodes
2914
+ * @see https://eslint-react.xyz/rules/no-comment-textnodes
2905
2915
  */
2906
- 'react/jsx-max-props-per-line'?: Linter.RuleEntry<ReactJsxMaxPropsPerLine>
2916
+ 'react/no-comment-textnodes'?: Linter.RuleEntry<[]>
2907
2917
  /**
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
2918
+ * disallow complicated conditional rendering
2919
+ * @see https://eslint-react.xyz/rules/no-complicated-conditional-rendering
2910
2920
  */
2911
- 'react/jsx-newline'?: Linter.RuleEntry<ReactJsxNewline>
2921
+ 'react/no-complicated-conditional-rendering'?: Linter.RuleEntry<[]>
2912
2922
  /**
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
2923
+ * disallow usage of 'componentWillMount'
2924
+ * @see https://eslint-react.xyz/rules/no-component-will-mount
2915
2925
  */
2916
- 'react/jsx-no-bind'?: Linter.RuleEntry<ReactJsxNoBind>
2926
+ 'react/no-component-will-mount'?: Linter.RuleEntry<[]>
2917
2927
  /**
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
2928
+ * disallow usage of 'componentWillReceiveProps'
2929
+ * @see https://eslint-react.xyz/rules/no-component-will-receive-props
2920
2930
  */
2921
- 'react/jsx-no-comment-textnodes'?: Linter.RuleEntry<[]>
2931
+ 'react/no-component-will-receive-props'?: Linter.RuleEntry<[]>
2922
2932
  /**
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
2933
+ * disallow usage of 'componentWillUpdate'
2934
+ * @see https://eslint-react.xyz/rules/no-component-will-update
2925
2935
  */
2926
- 'react/jsx-no-constructed-context-values'?: Linter.RuleEntry<ReactJsxNoConstructedContextValues>
2936
+ 'react/no-component-will-update'?: Linter.RuleEntry<[]>
2927
2937
  /**
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
2938
+ * disallow 'createRef' in function components
2939
+ * @see https://eslint-react.xyz/rules/no-create-ref
2930
2940
  */
2931
- 'react/jsx-no-duplicate-props'?: Linter.RuleEntry<ReactJsxNoDuplicateProps>
2941
+ 'react/no-create-ref'?: Linter.RuleEntry<[]>
2932
2942
  /**
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
2943
+ * disallow direct mutation of state
2944
+ * @see https://eslint-react.xyz/rules/no-direct-mutation-state
2935
2945
  */
2936
- 'react/jsx-no-leaked-render'?: Linter.RuleEntry<ReactJsxNoLeakedRender>
2946
+ 'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
2937
2947
  /**
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
2948
+ * disallow duplicate keys in 'key' prop when rendering list
2949
+ * @see https://eslint-react.xyz/rules/no-duplicate-key
2940
2950
  */
2941
- 'react/jsx-no-literals'?: Linter.RuleEntry<ReactJsxNoLiterals>
2951
+ 'react/no-duplicate-key'?: Linter.RuleEntry<[]>
2942
2952
  /**
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
2953
+ * disallow spreading 'key' from objects.
2954
+ * @see https://eslint-react.xyz/rules/no-implicit-key
2945
2955
  */
2946
- 'react/jsx-no-script-url'?: Linter.RuleEntry<ReactJsxNoScriptUrl>
2956
+ 'react/no-implicit-key'?: Linter.RuleEntry<[]>
2947
2957
  /**
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
2958
+ * disallow problematic leaked values from being rendered
2959
+ * @see https://eslint-react.xyz/rules/no-leaked-conditional-rendering
2950
2960
  */
2951
- 'react/jsx-no-target-blank'?: Linter.RuleEntry<ReactJsxNoTargetBlank>
2961
+ 'react/no-leaked-conditional-rendering'?: Linter.RuleEntry<[]>
2952
2962
  /**
2953
- * Disallow undeclared variables in JSX
2954
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-undef.md
2963
+ * require 'displayName' for memo and forwardRef components
2964
+ * @see https://eslint-react.xyz/rules/no-missing-component-display-name
2955
2965
  */
2956
- 'react/jsx-no-undef'?: Linter.RuleEntry<ReactJsxNoUndef>
2966
+ 'react/no-missing-component-display-name'?: Linter.RuleEntry<[]>
2957
2967
  /**
2958
- * Disallow unnecessary fragments
2959
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-no-useless-fragment.md
2968
+ * require 'key' prop when rendering list
2969
+ * @see https://eslint-react.xyz/rules/no-missing-key
2960
2970
  */
2961
- 'react/jsx-no-useless-fragment'?: Linter.RuleEntry<ReactJsxNoUselessFragment>
2971
+ 'react/no-missing-key'?: Linter.RuleEntry<[]>
2962
2972
  /**
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
2973
+ * disallow usage of unstable nested components
2974
+ * @see https://eslint-react.xyz/rules/no-nested-components
2965
2975
  */
2966
- 'react/jsx-one-expression-per-line'?: Linter.RuleEntry<ReactJsxOneExpressionPerLine>
2976
+ 'react/no-nested-components'?: Linter.RuleEntry<[]>
2967
2977
  /**
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
2978
+ * disallow usage of 'shouldComponentUpdate' in class component extends 'React.PureComponent'
2979
+ * @see https://eslint-react.xyz/rules/no-redundant-should-component-update
2970
2980
  */
2971
- 'react/jsx-pascal-case'?: Linter.RuleEntry<ReactJsxPascalCase>
2981
+ 'react/no-redundant-should-component-update'?: Linter.RuleEntry<[]>
2972
2982
  /**
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
2983
+ * disallow 'setState' in 'componentDidMount'
2984
+ * @see https://eslint-react.xyz/rules/no-set-state-in-component-did-mount
2975
2985
  */
2976
- 'react/jsx-props-no-multi-spaces'?: Linter.RuleEntry<[]>
2986
+ 'react/no-set-state-in-component-did-mount'?: Linter.RuleEntry<[]>
2977
2987
  /**
2978
- * Disallow JSX prop spreading
2979
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-props-no-spreading.md
2988
+ * disallow 'setState' in 'componentDidUpdate'
2989
+ * @see https://eslint-react.xyz/rules/no-set-state-in-component-did-update
2980
2990
  */
2981
- 'react/jsx-props-no-spreading'?: Linter.RuleEntry<ReactJsxPropsNoSpreading>
2991
+ 'react/no-set-state-in-component-did-update'?: Linter.RuleEntry<[]>
2982
2992
  /**
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
2993
+ * disallow 'setState' in 'componentWillUpdate'
2994
+ * @see https://eslint-react.xyz/rules/no-set-state-in-component-will-update
2986
2995
  */
2987
- 'react/jsx-sort-default-props'?: Linter.RuleEntry<ReactJsxSortDefaultProps>
2996
+ 'react/no-set-state-in-component-will-update'?: Linter.RuleEntry<[]>
2988
2997
  /**
2989
- * Enforce props alphabetical sorting
2990
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/jsx-sort-props.md
2998
+ * disallow using deprecated string refs
2999
+ * @see https://eslint-react.xyz/rules/no-string-refs
2991
3000
  */
2992
- 'react/jsx-sort-props'?: Linter.RuleEntry<ReactJsxSortProps>
3001
+ 'react/no-string-refs'?: Linter.RuleEntry<[]>
2993
3002
  /**
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
3003
+ * disallow usage of 'UNSAFE_componentWillMount'
3004
+ * @see https://eslint-react.xyz/rules/no-unsafe-component-will-mount
2997
3005
  */
2998
- 'react/jsx-space-before-closing'?: Linter.RuleEntry<ReactJsxSpaceBeforeClosing>
3006
+ 'react/no-unsafe-component-will-mount'?: Linter.RuleEntry<[]>
2999
3007
  /**
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
3008
+ * disallow usage of 'UNSAFE_componentWillReceiveProps'
3009
+ * @see https://eslint-react.xyz/rules/no-unsafe-component-will-receive-props
3002
3010
  */
3003
- 'react/jsx-tag-spacing'?: Linter.RuleEntry<ReactJsxTagSpacing>
3011
+ 'react/no-unsafe-component-will-receive-props'?: Linter.RuleEntry<[]>
3004
3012
  /**
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
3013
+ * disallow usage of 'UNSAFE_componentWillUpdate'
3014
+ * @see https://eslint-react.xyz/rules/no-unsafe-component-will-update
3007
3015
  */
3008
- 'react/jsx-uses-react'?: Linter.RuleEntry<[]>
3016
+ 'react/no-unsafe-component-will-update'?: Linter.RuleEntry<[]>
3009
3017
  /**
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
3018
+ * disallow passing constructed values to context providers
3019
+ * @see https://eslint-react.xyz/rules/no-unstable-context-value
3012
3020
  */
3013
- 'react/jsx-uses-vars'?: Linter.RuleEntry<[]>
3021
+ 'react/no-unstable-context-value'?: Linter.RuleEntry<[]>
3014
3022
  /**
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
3023
+ * disallow usage of unstable value as default param in function component
3024
+ * @see https://eslint-react.xyz/rules/no-unstable-default-props
3017
3025
  */
3018
- 'react/jsx-wrap-multilines'?: Linter.RuleEntry<ReactJsxWrapMultilines>
3026
+ 'react/no-unstable-default-props'?: Linter.RuleEntry<[]>
3019
3027
  /**
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
3028
+ * disallow unused class component members
3029
+ * @see https://eslint-react.xyz/rules/no-unused-class-component-members
3022
3030
  */
3023
- 'react/no-access-state-in-setstate'?: Linter.RuleEntry<[]>
3031
+ 'react/no-unused-class-component-members'?: Linter.RuleEntry<[]>
3024
3032
  /**
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
3033
+ * Prevents unused state of class component.
3034
+ * @see https://eslint-react.xyz/rules/no-unused-state
3027
3035
  */
3028
- 'react/no-adjacent-inline-elements'?: Linter.RuleEntry<[]>
3036
+ 'react/no-unused-state'?: Linter.RuleEntry<[]>
3029
3037
  /**
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
3038
+ * disallow unnecessary fragments
3039
+ * @see https://eslint-react.xyz/rules/no-useless-fragment
3032
3040
  */
3033
- 'react/no-array-index-key'?: Linter.RuleEntry<[]>
3041
+ 'react/no-useless-fragment'?: Linter.RuleEntry<[]>
3034
3042
  /**
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
3043
+ * enforce using destructuring assignment in component props and context
3044
+ * @see https://eslint-react.xyz/rules/prefer-destructuring-assignment
3037
3045
  */
3038
- 'react/no-arrow-function-lifecycle'?: Linter.RuleEntry<[]>
3046
+ 'react/prefer-destructuring-assignment'?: Linter.RuleEntry<[]>
3039
3047
  /**
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
3048
+ * enforce boolean attributes notation in JSX
3049
+ * @see https://eslint-react.xyz/rules/prefer-shorthand-boolean
3042
3050
  */
3043
- 'react/no-children-prop'?: Linter.RuleEntry<ReactNoChildrenProp>
3051
+ 'react/prefer-shorthand-boolean'?: Linter.RuleEntry<[]>
3044
3052
  /**
3045
- * Disallow usage of dangerous JSX properties
3046
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-danger.md
3053
+ * enforce using fragment syntax instead of Fragment component
3054
+ * @see https://eslint-react.xyz/rules/prefer-shorthand-fragment
3047
3055
  */
3048
- 'react/no-danger'?: Linter.RuleEntry<[]>
3056
+ 'react/prefer-shorthand-fragment'?: Linter.RuleEntry<[]>
3049
3057
  /**
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
3058
+ * Disallow assignments that can lead to race conditions due to usage of `await` or `yield`
3059
+ * @see https://eslint.org/docs/latest/rules/require-atomic-updates
3052
3060
  */
3053
- 'react/no-danger-with-children'?: Linter.RuleEntry<[]>
3061
+ 'require-atomic-updates'?: Linter.RuleEntry<RequireAtomicUpdates>
3054
3062
  /**
3055
- * Disallow usage of deprecated methods
3056
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-deprecated.md
3063
+ * Disallow async functions which have no `await` expression
3064
+ * @see https://eslint.org/docs/latest/rules/require-await
3057
3065
  */
3058
- 'react/no-deprecated'?: Linter.RuleEntry<[]>
3066
+ 'require-await'?: Linter.RuleEntry<[]>
3059
3067
  /**
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
3068
+ * Enforce the use of `u` or `v` flag on RegExp
3069
+ * @see https://eslint.org/docs/latest/rules/require-unicode-regexp
3062
3070
  */
3063
- 'react/no-did-mount-set-state'?: Linter.RuleEntry<ReactNoDidMountSetState>
3071
+ 'require-unicode-regexp'?: Linter.RuleEntry<[]>
3064
3072
  /**
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
3073
+ * Require generator functions to contain `yield`
3074
+ * @see https://eslint.org/docs/latest/rules/require-yield
3067
3075
  */
3068
- 'react/no-did-update-set-state'?: Linter.RuleEntry<ReactNoDidUpdateSetState>
3076
+ 'require-yield'?: Linter.RuleEntry<[]>
3069
3077
  /**
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
3078
+ * Enforce spacing between rest and spread operators and their expressions
3079
+ * @see https://eslint.org/docs/latest/rules/rest-spread-spacing
3080
+ * @deprecated
3072
3081
  */
3073
- 'react/no-direct-mutation-state'?: Linter.RuleEntry<[]>
3082
+ 'rest-spread-spacing'?: Linter.RuleEntry<RestSpreadSpacing>
3074
3083
  /**
3075
- * Disallow usage of findDOMNode
3076
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-find-dom-node.md
3084
+ * Require or disallow semicolons instead of ASI
3085
+ * @see https://eslint.org/docs/latest/rules/semi
3086
+ * @deprecated
3077
3087
  */
3078
- 'react/no-find-dom-node'?: Linter.RuleEntry<[]>
3088
+ 'semi'?: Linter.RuleEntry<Semi>
3079
3089
  /**
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
3090
+ * Enforce consistent spacing before and after semicolons
3091
+ * @see https://eslint.org/docs/latest/rules/semi-spacing
3092
+ * @deprecated
3082
3093
  */
3083
- 'react/no-invalid-html-attribute'?: Linter.RuleEntry<ReactNoInvalidHtmlAttribute>
3094
+ 'semi-spacing'?: Linter.RuleEntry<SemiSpacing>
3084
3095
  /**
3085
- * Disallow usage of isMounted
3086
- * @see https://github.com/jsx-eslint/eslint-plugin-react/tree/master/docs/rules/no-is-mounted.md
3096
+ * Enforce location of semicolons
3097
+ * @see https://eslint.org/docs/latest/rules/semi-style
3098
+ * @deprecated
3087
3099
  */
3088
- 'react/no-is-mounted'?: Linter.RuleEntry<[]>
3100
+ 'semi-style'?: Linter.RuleEntry<SemiStyle>
3089
3101
  /**
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
3102
+ * Disallow early returns in components. Solid components only run once, and so conditionals should be inside JSX.
3103
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/components-return-once.md
3092
3104
  */
3093
- 'react/no-multi-comp'?: Linter.RuleEntry<ReactNoMultiComp>
3105
+ 'solid/components-return-once'?: Linter.RuleEntry<[]>
3094
3106
  /**
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
3107
+ * Enforce naming DOM element event handlers consistently and prevent Solid's analysis from misunderstanding whether a prop should be an event handler.
3108
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/event-handlers.md
3097
3109
  */
3098
- 'react/no-namespace'?: Linter.RuleEntry<[]>
3110
+ 'solid/event-handlers'?: Linter.RuleEntry<SolidEventHandlers>
3099
3111
  /**
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
3112
+ * Enforce consistent imports from "solid-js", "solid-js/web", and "solid-js/store".
3113
+ * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/imports.md
3102
3114
  */
3103
- 'react/no-object-type-as-default-prop'?: Linter.RuleEntry<[]>
3104
- /**
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<[]>
3115
+ 'solid/imports'?: Linter.RuleEntry<[]>
3318
3116
  /**
3319
3117
  * Disallow passing the same prop twice in JSX.
3320
3118
  * @see https://github.com/solidjs-community/eslint-plugin-solid/blob/main/docs/jsx-no-duplicate-props.md
@@ -3602,6 +3400,11 @@ interface RuleOptions {
3602
3400
  * @see https://eslint.style/rules/jsx/jsx-first-prop-new-line
3603
3401
  */
3604
3402
  'style/jsx-first-prop-new-line'?: Linter.RuleEntry<StyleJsxFirstPropNewLine>
3403
+ /**
3404
+ * Enforce line breaks before and after JSX elements when they are used as arguments to a function.
3405
+ * @see https://eslint.style/rules/jsx/jsx-function-call-newline
3406
+ */
3407
+ 'style/jsx-function-call-newline'?: Linter.RuleEntry<StyleJsxFunctionCallNewline>
3605
3408
  /**
3606
3409
  * Enforce JSX indentation
3607
3410
  * @see https://eslint.style/rules/jsx/jsx-indent
@@ -3766,157 +3569,468 @@ interface RuleOptions {
3766
3569
  * Disallow trailing whitespace at the end of lines
3767
3570
  * @see https://eslint.style/rules/js/no-trailing-spaces
3768
3571
  */
3769
- 'style/no-trailing-spaces'?: Linter.RuleEntry<StyleNoTrailingSpaces>
3572
+ 'style/no-trailing-spaces'?: Linter.RuleEntry<StyleNoTrailingSpaces>
3573
+ /**
3574
+ * Disallow whitespace before properties
3575
+ * @see https://eslint.style/rules/js/no-whitespace-before-property
3576
+ */
3577
+ 'style/no-whitespace-before-property'?: Linter.RuleEntry<[]>
3578
+ /**
3579
+ * Enforce the location of single-line statements
3580
+ * @see https://eslint.style/rules/js/nonblock-statement-body-position
3581
+ */
3582
+ 'style/nonblock-statement-body-position'?: Linter.RuleEntry<StyleNonblockStatementBodyPosition>
3583
+ /**
3584
+ * Enforce consistent line breaks after opening and before closing braces
3585
+ * @see https://eslint.style/rules/js/object-curly-newline
3586
+ */
3587
+ 'style/object-curly-newline'?: Linter.RuleEntry<StyleObjectCurlyNewline>
3588
+ /**
3589
+ * Enforce consistent spacing inside braces
3590
+ * @see https://eslint.style/rules/ts/object-curly-spacing
3591
+ */
3592
+ 'style/object-curly-spacing'?: Linter.RuleEntry<StyleObjectCurlySpacing>
3593
+ /**
3594
+ * Enforce placing object properties on separate lines
3595
+ * @see https://eslint.style/rules/js/object-property-newline
3596
+ */
3597
+ 'style/object-property-newline'?: Linter.RuleEntry<StyleObjectPropertyNewline>
3598
+ /**
3599
+ * Require or disallow newlines around variable declarations
3600
+ * @see https://eslint.style/rules/js/one-var-declaration-per-line
3601
+ */
3602
+ 'style/one-var-declaration-per-line'?: Linter.RuleEntry<StyleOneVarDeclarationPerLine>
3603
+ /**
3604
+ * Enforce consistent linebreak style for operators
3605
+ * @see https://eslint.style/rules/js/operator-linebreak
3606
+ */
3607
+ 'style/operator-linebreak'?: Linter.RuleEntry<StyleOperatorLinebreak>
3608
+ /**
3609
+ * Require or disallow padding within blocks
3610
+ * @see https://eslint.style/rules/js/padded-blocks
3611
+ */
3612
+ 'style/padded-blocks'?: Linter.RuleEntry<StylePaddedBlocks>
3613
+ /**
3614
+ * Require or disallow padding lines between statements
3615
+ * @see https://eslint.style/rules/ts/padding-line-between-statements
3616
+ */
3617
+ 'style/padding-line-between-statements'?: Linter.RuleEntry<StylePaddingLineBetweenStatements>
3618
+ /**
3619
+ * Require quotes around object literal, type literal, interfaces and enums property names
3620
+ * @see https://eslint.style/rules/ts/quote-props
3621
+ */
3622
+ 'style/quote-props'?: Linter.RuleEntry<StyleQuoteProps>
3623
+ /**
3624
+ * Enforce the consistent use of either backticks, double, or single quotes
3625
+ * @see https://eslint.style/rules/ts/quotes
3626
+ */
3627
+ 'style/quotes'?: Linter.RuleEntry<StyleQuotes>
3628
+ /**
3629
+ * Enforce spacing between rest and spread operators and their expressions
3630
+ * @see https://eslint.style/rules/js/rest-spread-spacing
3631
+ */
3632
+ 'style/rest-spread-spacing'?: Linter.RuleEntry<StyleRestSpreadSpacing>
3633
+ /**
3634
+ * Require or disallow semicolons instead of ASI
3635
+ * @see https://eslint.style/rules/ts/semi
3636
+ */
3637
+ 'style/semi'?: Linter.RuleEntry<StyleSemi>
3638
+ /**
3639
+ * Enforce consistent spacing before and after semicolons
3640
+ * @see https://eslint.style/rules/js/semi-spacing
3641
+ */
3642
+ 'style/semi-spacing'?: Linter.RuleEntry<StyleSemiSpacing>
3643
+ /**
3644
+ * Enforce location of semicolons
3645
+ * @see https://eslint.style/rules/js/semi-style
3646
+ */
3647
+ 'style/semi-style'?: Linter.RuleEntry<StyleSemiStyle>
3648
+ /**
3649
+ * Enforce consistent spacing before blocks
3650
+ * @see https://eslint.style/rules/ts/space-before-blocks
3651
+ */
3652
+ 'style/space-before-blocks'?: Linter.RuleEntry<StyleSpaceBeforeBlocks>
3653
+ /**
3654
+ * Enforce consistent spacing before function parenthesis
3655
+ * @see https://eslint.style/rules/ts/space-before-function-paren
3656
+ */
3657
+ 'style/space-before-function-paren'?: Linter.RuleEntry<StyleSpaceBeforeFunctionParen>
3658
+ /**
3659
+ * Enforce consistent spacing inside parentheses
3660
+ * @see https://eslint.style/rules/js/space-in-parens
3661
+ */
3662
+ 'style/space-in-parens'?: Linter.RuleEntry<StyleSpaceInParens>
3663
+ /**
3664
+ * Require spacing around infix operators
3665
+ * @see https://eslint.style/rules/ts/space-infix-ops
3666
+ */
3667
+ 'style/space-infix-ops'?: Linter.RuleEntry<StyleSpaceInfixOps>
3668
+ /**
3669
+ * Enforce consistent spacing before or after unary operators
3670
+ * @see https://eslint.style/rules/js/space-unary-ops
3671
+ */
3672
+ 'style/space-unary-ops'?: Linter.RuleEntry<StyleSpaceUnaryOps>
3673
+ /**
3674
+ * Enforce consistent spacing after the `//` or `/*` in a comment
3675
+ * @see https://eslint.style/rules/js/spaced-comment
3676
+ */
3677
+ 'style/spaced-comment'?: Linter.RuleEntry<StyleSpacedComment>
3678
+ /**
3679
+ * Enforce spacing around colons of switch statements
3680
+ * @see https://eslint.style/rules/js/switch-colon-spacing
3681
+ */
3682
+ 'style/switch-colon-spacing'?: Linter.RuleEntry<StyleSwitchColonSpacing>
3683
+ /**
3684
+ * Require or disallow spacing around embedded expressions of template strings
3685
+ * @see https://eslint.style/rules/js/template-curly-spacing
3686
+ */
3687
+ 'style/template-curly-spacing'?: Linter.RuleEntry<StyleTemplateCurlySpacing>
3688
+ /**
3689
+ * Require or disallow spacing between template tags and their literals
3690
+ * @see https://eslint.style/rules/js/template-tag-spacing
3691
+ */
3692
+ 'style/template-tag-spacing'?: Linter.RuleEntry<StyleTemplateTagSpacing>
3693
+ /**
3694
+ * Require consistent spacing around type annotations
3695
+ * @see https://eslint.style/rules/ts/type-annotation-spacing
3696
+ */
3697
+ 'style/type-annotation-spacing'?: Linter.RuleEntry<StyleTypeAnnotationSpacing>
3698
+ /**
3699
+ * Enforces consistent spacing inside TypeScript type generics
3700
+ * @see https://eslint.style/rules/plus/type-generic-spacing
3701
+ */
3702
+ 'style/type-generic-spacing'?: Linter.RuleEntry<[]>
3703
+ /**
3704
+ * Expect space before the type declaration in the named tuple
3705
+ * @see https://eslint.style/rules/plus/type-named-tuple-spacing
3706
+ */
3707
+ 'style/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
3708
+ /**
3709
+ * Require parentheses around immediate `function` invocations
3710
+ * @see https://eslint.style/rules/js/wrap-iife
3711
+ */
3712
+ 'style/wrap-iife'?: Linter.RuleEntry<StyleWrapIife>
3713
+ /**
3714
+ * Require parenthesis around regex literals
3715
+ * @see https://eslint.style/rules/js/wrap-regex
3716
+ */
3717
+ 'style/wrap-regex'?: Linter.RuleEntry<[]>
3718
+ /**
3719
+ * Require or disallow spacing around the `*` in `yield*` expressions
3720
+ * @see https://eslint.style/rules/js/yield-star-spacing
3721
+ */
3722
+ 'style/yield-star-spacing'?: Linter.RuleEntry<StyleYieldStarSpacing>
3723
+ /**
3724
+ * disallow conditionals where the type is always truthy or always falsy
3725
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/@typescript-eslint/no-unnecessary-condition/
3726
+ * @deprecated
3727
+ */
3728
+ 'svelte/@typescript-eslint/no-unnecessary-condition'?: Linter.RuleEntry<SvelteTypescriptEslintNoUnnecessaryCondition>
3729
+ /**
3730
+ * disallows the use of languages other than those specified in the configuration for the lang attribute of `<script>` and `<style>` blocks.
3731
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/block-lang/
3732
+ */
3733
+ 'svelte/block-lang'?: Linter.RuleEntry<SvelteBlockLang>
3734
+ /**
3735
+ * disallow usage of button without an explicit type attribute
3736
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/button-has-type/
3737
+ */
3738
+ 'svelte/button-has-type'?: Linter.RuleEntry<SvelteButtonHasType>
3739
+ /**
3740
+ * support comment-directives in HTML template
3741
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/comment-directive/
3742
+ */
3743
+ 'svelte/comment-directive'?: Linter.RuleEntry<SvelteCommentDirective>
3744
+ /**
3745
+ * derived store should use same variable names between values and callback
3746
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/derived-has-same-inputs-outputs/
3747
+ */
3748
+ 'svelte/derived-has-same-inputs-outputs'?: Linter.RuleEntry<[]>
3749
+ /**
3750
+ * require slot type declaration using the `$$Slots` interface
3751
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/experimental-require-slot-types/
3752
+ */
3753
+ 'svelte/experimental-require-slot-types'?: Linter.RuleEntry<[]>
3754
+ /**
3755
+ * require the strictEvents attribute on `<script>` tags
3756
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/experimental-require-strict-events/
3757
+ */
3758
+ 'svelte/experimental-require-strict-events'?: Linter.RuleEntry<[]>
3759
+ /**
3760
+ * enforce the location of first attribute
3761
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/first-attribute-linebreak/
3762
+ */
3763
+ 'svelte/first-attribute-linebreak'?: Linter.RuleEntry<SvelteFirstAttributeLinebreak>
3764
+ /**
3765
+ * require or disallow a space before tag's closing brackets
3766
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/html-closing-bracket-spacing/
3767
+ */
3768
+ 'svelte/html-closing-bracket-spacing'?: Linter.RuleEntry<SvelteHtmlClosingBracketSpacing>
3769
+ /**
3770
+ * enforce quotes style of HTML attributes
3771
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/html-quotes/
3772
+ */
3773
+ 'svelte/html-quotes'?: Linter.RuleEntry<SvelteHtmlQuotes>
3774
+ /**
3775
+ * enforce self-closing style
3776
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/html-self-closing/
3777
+ */
3778
+ 'svelte/html-self-closing'?: Linter.RuleEntry<SvelteHtmlSelfClosing>
3779
+ /**
3780
+ * enforce consistent indentation
3781
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/indent/
3782
+ */
3783
+ 'svelte/indent'?: Linter.RuleEntry<SvelteIndent>
3784
+ /**
3785
+ * Svelte runtime prevents calling the same reactive statement twice in a microtask. But between different microtask, it doesn't prevent.
3786
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/infinite-reactive-loop/
3787
+ */
3788
+ 'svelte/infinite-reactive-loop'?: Linter.RuleEntry<[]>
3789
+ /**
3790
+ * enforce the maximum number of attributes per line
3791
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/max-attributes-per-line/
3792
+ */
3793
+ 'svelte/max-attributes-per-line'?: Linter.RuleEntry<SvelteMaxAttributesPerLine>
3794
+ /**
3795
+ * enforce unified spacing in mustache
3796
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/mustache-spacing/
3797
+ */
3798
+ 'svelte/mustache-spacing'?: Linter.RuleEntry<SvelteMustacheSpacing>
3799
+ /**
3800
+ * disallow the use of `{@debug}`
3801
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-at-debug-tags/
3802
+ */
3803
+ 'svelte/no-at-debug-tags'?: Linter.RuleEntry<[]>
3804
+ /**
3805
+ * disallow use of `{@html}` to prevent XSS attack
3806
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-at-html-tags/
3807
+ */
3808
+ 'svelte/no-at-html-tags'?: Linter.RuleEntry<[]>
3809
+ /**
3810
+ * disallow DOM manipulating
3811
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dom-manipulating/
3812
+ */
3813
+ 'svelte/no-dom-manipulating'?: Linter.RuleEntry<[]>
3814
+ /**
3815
+ * disallow duplicate conditions in `{#if}` / `{:else if}` chains
3816
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dupe-else-if-blocks/
3817
+ */
3818
+ 'svelte/no-dupe-else-if-blocks'?: Linter.RuleEntry<[]>
3819
+ /**
3820
+ * disallow duplicate `on:` directives
3821
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dupe-on-directives/
3822
+ */
3823
+ 'svelte/no-dupe-on-directives'?: Linter.RuleEntry<[]>
3824
+ /**
3825
+ * disallow duplicate style properties
3826
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dupe-style-properties/
3827
+ */
3828
+ 'svelte/no-dupe-style-properties'?: Linter.RuleEntry<[]>
3829
+ /**
3830
+ * disallow duplicate `use:` directives
3831
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dupe-use-directives/
3832
+ */
3833
+ 'svelte/no-dupe-use-directives'?: Linter.RuleEntry<[]>
3834
+ /**
3835
+ * disallow dynamic slot name
3836
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-dynamic-slot-name/
3837
+ */
3838
+ 'svelte/no-dynamic-slot-name'?: Linter.RuleEntry<[]>
3839
+ /**
3840
+ * disallow exporting load functions in `*.svelte` module in SvelteKit page components.
3841
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-export-load-in-svelte-module-in-kit-pages/
3842
+ */
3843
+ 'svelte/no-export-load-in-svelte-module-in-kit-pages'?: Linter.RuleEntry<[]>
3844
+ /**
3845
+ * disallow wrapping single reactive statements in curly braces
3846
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-extra-reactive-curlies/
3847
+ */
3848
+ 'svelte/no-extra-reactive-curlies'?: Linter.RuleEntry<[]>
3849
+ /**
3850
+ * disallow using goto() without the base path
3851
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-goto-without-base/
3852
+ */
3853
+ 'svelte/no-goto-without-base'?: Linter.RuleEntry<[]>
3854
+ /**
3855
+ * disallow ignoring the unsubscribe method returned by the `subscribe()` on Svelte stores.
3856
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-ignored-unsubscribe/
3857
+ */
3858
+ 'svelte/no-ignored-unsubscribe'?: Linter.RuleEntry<[]>
3859
+ /**
3860
+ * disallow reactive statements that don't reference reactive values.
3861
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-immutable-reactive-statements/
3862
+ */
3863
+ 'svelte/no-immutable-reactive-statements'?: Linter.RuleEntry<[]>
3864
+ /**
3865
+ * disallow attributes and directives that produce inline styles
3866
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-inline-styles/
3867
+ */
3868
+ 'svelte/no-inline-styles'?: Linter.RuleEntry<SvelteNoInlineStyles>
3869
+ /**
3870
+ * disallow variable or `function` declarations in nested blocks
3871
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-inner-declarations/
3872
+ */
3873
+ 'svelte/no-inner-declarations'?: Linter.RuleEntry<SvelteNoInnerDeclarations>
3874
+ /**
3875
+ * disallow use of not function in event handler
3876
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-not-function-handler/
3877
+ */
3878
+ 'svelte/no-not-function-handler'?: Linter.RuleEntry<[]>
3879
+ /**
3880
+ * disallow objects in text mustache interpolation
3881
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-object-in-text-mustaches/
3882
+ */
3883
+ 'svelte/no-object-in-text-mustaches'?: Linter.RuleEntry<[]>
3770
3884
  /**
3771
- * Disallow whitespace before properties
3772
- * @see https://eslint.style/rules/js/no-whitespace-before-property
3885
+ * it's not necessary to define functions in reactive statements
3886
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-reactive-functions/
3773
3887
  */
3774
- 'style/no-whitespace-before-property'?: Linter.RuleEntry<[]>
3888
+ 'svelte/no-reactive-functions'?: Linter.RuleEntry<[]>
3775
3889
  /**
3776
- * Enforce the location of single-line statements
3777
- * @see https://eslint.style/rules/js/nonblock-statement-body-position
3890
+ * don't assign literal values in reactive statements
3891
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-reactive-literals/
3778
3892
  */
3779
- 'style/nonblock-statement-body-position'?: Linter.RuleEntry<StyleNonblockStatementBodyPosition>
3893
+ 'svelte/no-reactive-literals'?: Linter.RuleEntry<[]>
3780
3894
  /**
3781
- * Enforce consistent line breaks after opening and before closing braces
3782
- * @see https://eslint.style/rules/js/object-curly-newline
3895
+ * disallow reassigning reactive values
3896
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-reactive-reassign/
3783
3897
  */
3784
- 'style/object-curly-newline'?: Linter.RuleEntry<StyleObjectCurlyNewline>
3898
+ 'svelte/no-reactive-reassign'?: Linter.RuleEntry<SvelteNoReactiveReassign>
3785
3899
  /**
3786
- * Enforce consistent spacing inside braces
3787
- * @see https://eslint.style/rules/ts/object-curly-spacing
3900
+ * disallow specific HTML elements
3901
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-restricted-html-elements/
3788
3902
  */
3789
- 'style/object-curly-spacing'?: Linter.RuleEntry<StyleObjectCurlySpacing>
3903
+ 'svelte/no-restricted-html-elements'?: Linter.RuleEntry<SvelteNoRestrictedHtmlElements>
3790
3904
  /**
3791
- * Enforce placing object properties on separate lines
3792
- * @see https://eslint.style/rules/js/object-property-newline
3905
+ * disallow shorthand style properties that override related longhand properties
3906
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-shorthand-style-property-overrides/
3793
3907
  */
3794
- 'style/object-property-newline'?: Linter.RuleEntry<StyleObjectPropertyNewline>
3908
+ 'svelte/no-shorthand-style-property-overrides'?: Linter.RuleEntry<[]>
3795
3909
  /**
3796
- * Require or disallow newlines around variable declarations
3797
- * @see https://eslint.style/rules/js/one-var-declaration-per-line
3910
+ * disallow spaces around equal signs in attribute
3911
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-spaces-around-equal-signs-in-attribute/
3798
3912
  */
3799
- 'style/one-var-declaration-per-line'?: Linter.RuleEntry<StyleOneVarDeclarationPerLine>
3913
+ 'svelte/no-spaces-around-equal-signs-in-attribute'?: Linter.RuleEntry<[]>
3800
3914
  /**
3801
- * Enforce consistent linebreak style for operators
3802
- * @see https://eslint.style/rules/js/operator-linebreak
3915
+ * disallow using async/await inside svelte stores because it causes issues with the auto-unsubscribing features
3916
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-store-async/
3803
3917
  */
3804
- 'style/operator-linebreak'?: Linter.RuleEntry<StyleOperatorLinebreak>
3918
+ 'svelte/no-store-async'?: Linter.RuleEntry<[]>
3805
3919
  /**
3806
- * Require or disallow padding within blocks
3807
- * @see https://eslint.style/rules/js/padded-blocks
3920
+ * disallow `target="_blank"` attribute without `rel="noopener noreferrer"`
3921
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-target-blank/
3808
3922
  */
3809
- 'style/padded-blocks'?: Linter.RuleEntry<StylePaddedBlocks>
3923
+ 'svelte/no-target-blank'?: Linter.RuleEntry<SvelteNoTargetBlank>
3810
3924
  /**
3811
- * Require or disallow padding lines between statements
3812
- * @see https://eslint.style/rules/ts/padding-line-between-statements
3925
+ * disallow trailing whitespace at the end of lines
3926
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-trailing-spaces/
3813
3927
  */
3814
- 'style/padding-line-between-statements'?: Linter.RuleEntry<StylePaddingLineBetweenStatements>
3928
+ 'svelte/no-trailing-spaces'?: Linter.RuleEntry<SvelteNoTrailingSpaces>
3815
3929
  /**
3816
- * Require quotes around object literal, type literal, interfaces and enums property names
3817
- * @see https://eslint.style/rules/ts/quote-props
3930
+ * disallow unknown `style:property`
3931
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unknown-style-directive-property/
3818
3932
  */
3819
- 'style/quote-props'?: Linter.RuleEntry<StyleQuoteProps>
3933
+ 'svelte/no-unknown-style-directive-property'?: Linter.RuleEntry<SvelteNoUnknownStyleDirectiveProperty>
3820
3934
  /**
3821
- * Enforce the consistent use of either backticks, double, or single quotes
3822
- * @see https://eslint.style/rules/ts/quotes
3935
+ * disallow the use of a class in the template without a corresponding style
3936
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unused-class-name/
3823
3937
  */
3824
- 'style/quotes'?: Linter.RuleEntry<StyleQuotes>
3938
+ 'svelte/no-unused-class-name'?: Linter.RuleEntry<SvelteNoUnusedClassName>
3825
3939
  /**
3826
- * Enforce spacing between rest and spread operators and their expressions
3827
- * @see https://eslint.style/rules/js/rest-spread-spacing
3940
+ * disallow unused svelte-ignore comments
3941
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-unused-svelte-ignore/
3828
3942
  */
3829
- 'style/rest-spread-spacing'?: Linter.RuleEntry<StyleRestSpreadSpacing>
3943
+ 'svelte/no-unused-svelte-ignore'?: Linter.RuleEntry<[]>
3830
3944
  /**
3831
- * Require or disallow semicolons instead of ASI
3832
- * @see https://eslint.style/rules/ts/semi
3945
+ * disallow unnecessary mustache interpolations
3946
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/no-useless-mustaches/
3833
3947
  */
3834
- 'style/semi'?: Linter.RuleEntry<StyleSemi>
3948
+ 'svelte/no-useless-mustaches'?: Linter.RuleEntry<SvelteNoUselessMustaches>
3835
3949
  /**
3836
- * Enforce consistent spacing before and after semicolons
3837
- * @see https://eslint.style/rules/js/semi-spacing
3950
+ * require class directives instead of ternary expressions
3951
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-class-directive/
3838
3952
  */
3839
- 'style/semi-spacing'?: Linter.RuleEntry<StyleSemiSpacing>
3953
+ 'svelte/prefer-class-directive'?: Linter.RuleEntry<SveltePreferClassDirective>
3840
3954
  /**
3841
- * Enforce location of semicolons
3842
- * @see https://eslint.style/rules/js/semi-style
3955
+ * destructure values from object stores for better change tracking & fewer redraws
3956
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-destructured-store-props/
3843
3957
  */
3844
- 'style/semi-style'?: Linter.RuleEntry<StyleSemiStyle>
3958
+ 'svelte/prefer-destructured-store-props'?: Linter.RuleEntry<[]>
3845
3959
  /**
3846
- * Enforce consistent spacing before blocks
3847
- * @see https://eslint.style/rules/ts/space-before-blocks
3960
+ * require style directives instead of style attribute
3961
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/prefer-style-directive/
3848
3962
  */
3849
- 'style/space-before-blocks'?: Linter.RuleEntry<StyleSpaceBeforeBlocks>
3963
+ 'svelte/prefer-style-directive'?: Linter.RuleEntry<[]>
3850
3964
  /**
3851
- * Enforce consistent spacing before function parenthesis
3852
- * @see https://eslint.style/rules/ts/space-before-function-paren
3965
+ * require keyed `{#each}` block
3966
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-each-key/
3853
3967
  */
3854
- 'style/space-before-function-paren'?: Linter.RuleEntry<StyleSpaceBeforeFunctionParen>
3968
+ 'svelte/require-each-key'?: Linter.RuleEntry<[]>
3855
3969
  /**
3856
- * Enforce consistent spacing inside parentheses
3857
- * @see https://eslint.style/rules/js/space-in-parens
3970
+ * require type parameters for `createEventDispatcher`
3971
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-event-dispatcher-types/
3858
3972
  */
3859
- 'style/space-in-parens'?: Linter.RuleEntry<StyleSpaceInParens>
3973
+ 'svelte/require-event-dispatcher-types'?: Linter.RuleEntry<[]>
3860
3974
  /**
3861
- * Require spacing around infix operators
3862
- * @see https://eslint.style/rules/ts/space-infix-ops
3975
+ * require style attributes that can be optimized
3976
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-optimized-style-attribute/
3863
3977
  */
3864
- 'style/space-infix-ops'?: Linter.RuleEntry<StyleSpaceInfixOps>
3978
+ 'svelte/require-optimized-style-attribute'?: Linter.RuleEntry<[]>
3865
3979
  /**
3866
- * Enforce consistent spacing before or after unary operators
3867
- * @see https://eslint.style/rules/js/space-unary-ops
3980
+ * store callbacks must use `set` param
3981
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-store-callbacks-use-set-param/
3868
3982
  */
3869
- 'style/space-unary-ops'?: Linter.RuleEntry<StyleSpaceUnaryOps>
3983
+ 'svelte/require-store-callbacks-use-set-param'?: Linter.RuleEntry<[]>
3870
3984
  /**
3871
- * Enforce consistent spacing after the `//` or `/*` in a comment
3872
- * @see https://eslint.style/rules/js/spaced-comment
3985
+ * disallow to use of the store itself as an operand. Need to use $ prefix or get function.
3986
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-store-reactive-access/
3873
3987
  */
3874
- 'style/spaced-comment'?: Linter.RuleEntry<StyleSpacedComment>
3988
+ 'svelte/require-store-reactive-access'?: Linter.RuleEntry<[]>
3875
3989
  /**
3876
- * Enforce spacing around colons of switch statements
3877
- * @see https://eslint.style/rules/js/switch-colon-spacing
3990
+ * require initial value in store
3991
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/require-stores-init/
3878
3992
  */
3879
- 'style/switch-colon-spacing'?: Linter.RuleEntry<StyleSwitchColonSpacing>
3993
+ 'svelte/require-stores-init'?: Linter.RuleEntry<[]>
3880
3994
  /**
3881
- * Require or disallow spacing around embedded expressions of template strings
3882
- * @see https://eslint.style/rules/js/template-curly-spacing
3995
+ * enforce use of shorthand syntax in attribute
3996
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/shorthand-attribute/
3883
3997
  */
3884
- 'style/template-curly-spacing'?: Linter.RuleEntry<StyleTemplateCurlySpacing>
3998
+ 'svelte/shorthand-attribute'?: Linter.RuleEntry<SvelteShorthandAttribute>
3885
3999
  /**
3886
- * Require or disallow spacing between template tags and their literals
3887
- * @see https://eslint.style/rules/js/template-tag-spacing
4000
+ * enforce use of shorthand syntax in directives
4001
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/shorthand-directive/
3888
4002
  */
3889
- 'style/template-tag-spacing'?: Linter.RuleEntry<StyleTemplateTagSpacing>
4003
+ 'svelte/shorthand-directive'?: Linter.RuleEntry<SvelteShorthandDirective>
3890
4004
  /**
3891
- * Require consistent spacing around type annotations
3892
- * @see https://eslint.style/rules/ts/type-annotation-spacing
4005
+ * enforce order of attributes
4006
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/sort-attributes/
3893
4007
  */
3894
- 'style/type-annotation-spacing'?: Linter.RuleEntry<StyleTypeAnnotationSpacing>
4008
+ 'svelte/sort-attributes'?: Linter.RuleEntry<SvelteSortAttributes>
3895
4009
  /**
3896
- * Enforces consistent spacing inside TypeScript type generics
3897
- * @see https://eslint.style/rules/plus/type-generic-spacing
4010
+ * enforce consistent spacing after the `<!--` and before the `-->` in a HTML comment
4011
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/spaced-html-comment/
3898
4012
  */
3899
- 'style/type-generic-spacing'?: Linter.RuleEntry<[]>
4013
+ 'svelte/spaced-html-comment'?: Linter.RuleEntry<SvelteSpacedHtmlComment>
3900
4014
  /**
3901
- * Expect space before the type declaration in the named tuple
3902
- * @see https://eslint.style/rules/plus/type-named-tuple-spacing
4015
+ * system rule for working this plugin
4016
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/system/
3903
4017
  */
3904
- 'style/type-named-tuple-spacing'?: Linter.RuleEntry<[]>
4018
+ 'svelte/system'?: Linter.RuleEntry<[]>
3905
4019
  /**
3906
- * Require parentheses around immediate `function` invocations
3907
- * @see https://eslint.style/rules/js/wrap-iife
4020
+ * disallow warnings when compiling.
4021
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-compile/
3908
4022
  */
3909
- 'style/wrap-iife'?: Linter.RuleEntry<StyleWrapIife>
4023
+ 'svelte/valid-compile'?: Linter.RuleEntry<SvelteValidCompile>
3910
4024
  /**
3911
- * Require parenthesis around regex literals
3912
- * @see https://eslint.style/rules/js/wrap-regex
4025
+ * enforce keys to use variables defined in the `{#each}` block
4026
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-each-key/
3913
4027
  */
3914
- 'style/wrap-regex'?: Linter.RuleEntry<[]>
4028
+ 'svelte/valid-each-key'?: Linter.RuleEntry<[]>
3915
4029
  /**
3916
- * Require or disallow spacing around the `*` in `yield*` expressions
3917
- * @see https://eslint.style/rules/js/yield-star-spacing
4030
+ * disallow props other than data or errors in SvelteKit page components.
4031
+ * @see https://sveltejs.github.io/eslint-plugin-svelte/rules/valid-prop-names-in-kit-pages/
3918
4032
  */
3919
- 'style/yield-star-spacing'?: Linter.RuleEntry<StyleYieldStarSpacing>
4033
+ 'svelte/valid-prop-names-in-kit-pages'?: Linter.RuleEntry<[]>
3920
4034
  /**
3921
4035
  * Enforce spacing around colons of switch statements
3922
4036
  * @see https://eslint.org/docs/latest/rules/switch-colon-spacing
@@ -3981,263 +4095,263 @@ interface RuleOptions {
3981
4095
  */
3982
4096
  'template-tag-spacing'?: Linter.RuleEntry<TemplateTagSpacing>
3983
4097
  /**
3984
- * forbidden .spec test file pattern
4098
+ * require .spec test file pattern
3985
4099
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-filename.md
3986
4100
  */
3987
4101
  'test/consistent-test-filename'?: Linter.RuleEntry<TestConsistentTestFilename>
3988
4102
  /**
3989
- * Prefer test or it but not both
4103
+ * enforce using test or it but not both
3990
4104
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/consistent-test-it.md
3991
4105
  */
3992
4106
  'test/consistent-test-it'?: Linter.RuleEntry<TestConsistentTestIt>
3993
4107
  /**
3994
- * Enforce having expectation in test body
4108
+ * enforce having expectation in test body
3995
4109
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/expect-expect.md
3996
4110
  */
3997
4111
  'test/expect-expect'?: Linter.RuleEntry<TestExpectExpect>
3998
4112
  /**
3999
- * Enforce a maximum number of expect per test
4113
+ * enforce a maximum number of expect per test
4000
4114
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-expects.md
4001
4115
  */
4002
4116
  'test/max-expects'?: Linter.RuleEntry<TestMaxExpects>
4003
4117
  /**
4004
- * Nested describe block should be less than set max value or default value
4118
+ * require describe block to be less than set max value or default value
4005
4119
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/max-nested-describe.md
4006
4120
  */
4007
4121
  'test/max-nested-describe'?: Linter.RuleEntry<TestMaxNestedDescribe>
4008
4122
  /**
4009
- * Disallow alias methods
4123
+ * disallow alias methods
4010
4124
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-alias-methods.md
4011
4125
  */
4012
4126
  'test/no-alias-methods'?: Linter.RuleEntry<[]>
4013
4127
  /**
4014
- * Disallow commented out tests
4128
+ * disallow commented out tests
4015
4129
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-commented-out-tests.md
4016
4130
  */
4017
4131
  'test/no-commented-out-tests'?: Linter.RuleEntry<[]>
4018
4132
  /**
4019
- * Disallow conditional expects
4133
+ * disallow conditional expects
4020
4134
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-expect.md
4021
4135
  */
4022
4136
  'test/no-conditional-expect'?: Linter.RuleEntry<[]>
4023
4137
  /**
4024
- * Disallow conditional tests
4138
+ * disallow conditional tests
4025
4139
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-in-test.md
4026
4140
  */
4027
4141
  'test/no-conditional-in-test'?: Linter.RuleEntry<[]>
4028
4142
  /**
4029
- * Disallow conditional tests
4143
+ * disallow conditional tests
4030
4144
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-conditional-tests.md
4031
4145
  */
4032
4146
  'test/no-conditional-tests'?: Linter.RuleEntry<[]>
4033
4147
  /**
4034
- * Disallow disabled tests
4148
+ * disallow disabled tests
4035
4149
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-disabled-tests.md
4036
4150
  */
4037
4151
  'test/no-disabled-tests'?: Linter.RuleEntry<[]>
4038
4152
  /**
4039
- * Disallow using a callback in asynchronous tests and hooks
4153
+ * disallow using a callback in asynchronous tests and hooks
4040
4154
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-done-callback.md
4041
4155
  * @deprecated
4042
4156
  */
4043
4157
  'test/no-done-callback'?: Linter.RuleEntry<[]>
4044
4158
  /**
4045
- * Disallow duplicate hooks and teardown hooks
4159
+ * disallow duplicate hooks and teardown hooks
4046
4160
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-duplicate-hooks.md
4047
4161
  */
4048
4162
  'test/no-duplicate-hooks'?: Linter.RuleEntry<[]>
4049
4163
  /**
4050
- * Disallow focused tests
4164
+ * disallow focused tests
4051
4165
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-focused-tests.md
4052
4166
  */
4053
- 'test/no-focused-tests'?: Linter.RuleEntry<[]>
4167
+ 'test/no-focused-tests'?: Linter.RuleEntry<TestNoFocusedTests>
4054
4168
  /**
4055
- * Disallow setup and teardown hooks
4169
+ * disallow setup and teardown hooks
4056
4170
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-hooks.md
4057
4171
  */
4058
4172
  'test/no-hooks'?: Linter.RuleEntry<TestNoHooks>
4059
4173
  /**
4060
- * Disallow identical titles
4174
+ * disallow identical titles
4061
4175
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-identical-title.md
4062
4176
  */
4063
4177
  'test/no-identical-title'?: Linter.RuleEntry<[]>
4064
4178
  /**
4065
- * Disallow importing `node:test`
4179
+ * disallow importing `node:test`
4066
4180
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-import-node-test.md
4067
4181
  */
4068
4182
  'test/no-import-node-test'?: Linter.RuleEntry<[]>
4069
4183
  /**
4070
- * Disallow string interpolation in snapshots
4184
+ * disallow string interpolation in snapshots
4071
4185
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-interpolation-in-snapshots.md
4072
4186
  */
4073
4187
  'test/no-interpolation-in-snapshots'?: Linter.RuleEntry<[]>
4074
4188
  /**
4075
- * Disallow large snapshots
4189
+ * disallow large snapshots
4076
4190
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-large-snapshots.md
4077
4191
  */
4078
4192
  'test/no-large-snapshots'?: Linter.RuleEntry<TestNoLargeSnapshots>
4079
4193
  /**
4080
- * Disallow importing from __mocks__ directory
4194
+ * disallow importing from __mocks__ directory
4081
4195
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-mocks-import.md
4082
4196
  */
4083
4197
  'test/no-mocks-import'?: Linter.RuleEntry<[]>
4084
4198
  /**
4085
- * Disallow the use of certain matchers
4199
+ * disallow the use of certain matchers
4086
4200
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-matchers.md
4087
4201
  */
4088
4202
  'test/no-restricted-matchers'?: Linter.RuleEntry<TestNoRestrictedMatchers>
4089
4203
  /**
4090
- * Disallow specific `vi.` methods
4204
+ * disallow specific `vi.` methods
4091
4205
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-restricted-vi-methods.md
4092
4206
  */
4093
4207
  'test/no-restricted-vi-methods'?: Linter.RuleEntry<TestNoRestrictedViMethods>
4094
4208
  /**
4095
- * Disallow using `expect` outside of `it` or `test` blocks
4209
+ * disallow using `expect` outside of `it` or `test` blocks
4096
4210
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-standalone-expect.md
4097
4211
  */
4098
4212
  'test/no-standalone-expect'?: Linter.RuleEntry<TestNoStandaloneExpect>
4099
4213
  /**
4100
- * Disallow using `test` as a prefix
4214
+ * disallow using `test` as a prefix
4101
4215
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-test-prefixes.md
4102
4216
  */
4103
4217
  'test/no-test-prefixes'?: Linter.RuleEntry<[]>
4104
4218
  /**
4105
- * Disallow return statements in tests
4219
+ * disallow return statements in tests
4106
4220
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/no-test-return-statement.md
4107
4221
  */
4108
4222
  'test/no-test-return-statement'?: Linter.RuleEntry<[]>
4109
4223
  /**
4110
- * Suggest using `toBeCalledWith()` or `toHaveBeenCalledWith()`
4224
+ * enforce using `toBeCalledWith()` or `toHaveBeenCalledWith()`
4111
4225
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-called-with.md
4112
4226
  */
4113
4227
  'test/prefer-called-with'?: Linter.RuleEntry<[]>
4114
4228
  /**
4115
- * Suggest using the built-in comparison matchers
4229
+ * enforce using the built-in comparison matchers
4116
4230
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-comparison-matcher.md
4117
4231
  */
4118
4232
  'test/prefer-comparison-matcher'?: Linter.RuleEntry<[]>
4119
4233
  /**
4120
- * Prefer `each` rather than manual loops
4234
+ * enforce using `each` rather than manual loops
4121
4235
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-each.md
4122
4236
  */
4123
4237
  'test/prefer-each'?: Linter.RuleEntry<[]>
4124
4238
  /**
4125
- * Suggest using the built-in quality matchers
4239
+ * enforce using the built-in quality matchers
4126
4240
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-equality-matcher.md
4127
4241
  */
4128
4242
  'test/prefer-equality-matcher'?: Linter.RuleEntry<[]>
4129
4243
  /**
4130
- * Suggest using expect assertions instead of callbacks
4244
+ * enforce using expect assertions instead of callbacks
4131
4245
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-assertions.md
4132
4246
  */
4133
4247
  'test/prefer-expect-assertions'?: Linter.RuleEntry<TestPreferExpectAssertions>
4134
4248
  /**
4135
- * Suggest using `expect().resolves` over `expect(await ...)` syntax
4249
+ * enforce using `expect().resolves` over `expect(await ...)` syntax
4136
4250
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-expect-resolves.md
4137
4251
  */
4138
4252
  'test/prefer-expect-resolves'?: Linter.RuleEntry<[]>
4139
4253
  /**
4140
- * Prefer having hooks in consistent order
4254
+ * enforce having hooks in consistent order
4141
4255
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-in-order.md
4142
4256
  */
4143
4257
  'test/prefer-hooks-in-order'?: Linter.RuleEntry<[]>
4144
4258
  /**
4145
- * Suggest having hooks before any test cases
4259
+ * enforce having hooks before any test cases
4146
4260
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-hooks-on-top.md
4147
4261
  */
4148
4262
  'test/prefer-hooks-on-top'?: Linter.RuleEntry<[]>
4149
4263
  /**
4150
- * Enforce lowercase titles
4264
+ * enforce lowercase titles
4151
4265
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-lowercase-title.md
4152
4266
  */
4153
4267
  'test/prefer-lowercase-title'?: Linter.RuleEntry<TestPreferLowercaseTitle>
4154
4268
  /**
4155
- * Prefer mock resolved/rejected shorthands for promises
4269
+ * enforce mock resolved/rejected shorthands for promises
4156
4270
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-mock-promise-shorthand.md
4157
4271
  */
4158
4272
  'test/prefer-mock-promise-shorthand'?: Linter.RuleEntry<[]>
4159
4273
  /**
4160
- * Prefer including a hint with external snapshots
4274
+ * enforce including a hint with external snapshots
4161
4275
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-snapshot-hint.md
4162
4276
  */
4163
4277
  'test/prefer-snapshot-hint'?: Linter.RuleEntry<TestPreferSnapshotHint>
4164
4278
  /**
4165
- * Suggest using `vi.spyOn`
4279
+ * enforce using `vi.spyOn`
4166
4280
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-spy-on.md
4167
4281
  */
4168
4282
  'test/prefer-spy-on'?: Linter.RuleEntry<[]>
4169
4283
  /**
4170
- * Prefer strict equal over equal
4284
+ * enforce strict equal over equal
4171
4285
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-strict-equal.md
4172
4286
  */
4173
4287
  'test/prefer-strict-equal'?: Linter.RuleEntry<[]>
4174
4288
  /**
4175
- * Suggest using toBe()
4289
+ * enforce using toBe()
4176
4290
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be.md
4177
4291
  */
4178
4292
  'test/prefer-to-be'?: Linter.RuleEntry<[]>
4179
4293
  /**
4180
- * Suggest using toBeFalsy()
4294
+ * enforce using toBeFalsy()
4181
4295
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-falsy.md
4182
4296
  */
4183
4297
  'test/prefer-to-be-falsy'?: Linter.RuleEntry<[]>
4184
4298
  /**
4185
- * Prefer toBeObject()
4299
+ * enforce using toBeObject()
4186
4300
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-object.md
4187
4301
  */
4188
4302
  'test/prefer-to-be-object'?: Linter.RuleEntry<[]>
4189
4303
  /**
4190
- * Suggest using `toBeTruthy`
4304
+ * enforce using `toBeTruthy`
4191
4305
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-be-truthy.md
4192
4306
  */
4193
4307
  'test/prefer-to-be-truthy'?: Linter.RuleEntry<[]>
4194
4308
  /**
4195
- * Prefer using toContain()
4309
+ * enforce using toContain()
4196
4310
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-contain.md
4197
4311
  */
4198
4312
  'test/prefer-to-contain'?: Linter.RuleEntry<[]>
4199
4313
  /**
4200
- * Suggest using toHaveLength()
4314
+ * enforce using toHaveLength()
4201
4315
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-to-have-length.md
4202
4316
  */
4203
4317
  'test/prefer-to-have-length'?: Linter.RuleEntry<[]>
4204
4318
  /**
4205
- * Suggest using `test.todo`
4319
+ * enforce using `test.todo`
4206
4320
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/prefer-todo.md
4207
4321
  */
4208
4322
  'test/prefer-todo'?: Linter.RuleEntry<[]>
4209
4323
  /**
4210
- * Require setup and teardown to be within a hook
4324
+ * require setup and teardown to be within a hook
4211
4325
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-hook.md
4212
4326
  */
4213
4327
  'test/require-hook'?: Linter.RuleEntry<TestRequireHook>
4214
4328
  /**
4215
- * Require local Test Context for concurrent snapshot tests
4329
+ * require local Test Context for concurrent snapshot tests
4216
4330
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-local-test-context-for-concurrent-snapshots.md
4217
4331
  */
4218
4332
  'test/require-local-test-context-for-concurrent-snapshots'?: Linter.RuleEntry<[]>
4219
4333
  /**
4220
- * Require toThrow() to be called with an error message
4334
+ * require toThrow() to be called with an error message
4221
4335
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-to-throw-message.md
4222
4336
  */
4223
4337
  'test/require-to-throw-message'?: Linter.RuleEntry<[]>
4224
4338
  /**
4225
- * Enforce that all tests are in a top-level describe
4339
+ * enforce that all tests are in a top-level describe
4226
4340
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/require-top-level-describe.md
4227
4341
  */
4228
4342
  'test/require-top-level-describe'?: Linter.RuleEntry<TestRequireTopLevelDescribe>
4229
4343
  /**
4230
- * Enforce valid describe callback
4344
+ * enforce valid describe callback
4231
4345
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-describe-callback.md
4232
4346
  */
4233
4347
  'test/valid-describe-callback'?: Linter.RuleEntry<[]>
4234
4348
  /**
4235
- * Enforce valid `expect()` usage
4349
+ * enforce valid `expect()` usage
4236
4350
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-expect.md
4237
4351
  */
4238
4352
  'test/valid-expect'?: Linter.RuleEntry<TestValidExpect>
4239
4353
  /**
4240
- * Enforce valid titles
4354
+ * enforce valid titles
4241
4355
  * @see https://github.com/veritem/eslint-plugin-vitest/blob/main/docs/rules/valid-title.md
4242
4356
  */
4243
4357
  'test/valid-title'?: Linter.RuleEntry<TestValidTitle>
@@ -7177,8 +7291,6 @@ interface RuleOptions {
7177
7291
  }
7178
7292
 
7179
7293
  /* ======= Declarations ======= */
7180
- // ----- @next/next/no-html-link-for-pages -----
7181
- type NextNextNoHtmlLinkForPages = []|[(string | string[])]
7182
7294
  // ----- accessor-pairs -----
7183
7295
  type AccessorPairs = []|[{
7184
7296
  getWithoutSet?: boolean
@@ -8954,6 +9066,8 @@ type NewlineAfterVar = []|[("never" | "always")]
8954
9066
  type NewlinePerChainedCall = []|[{
8955
9067
  ignoreChainWithDepth?: number
8956
9068
  }]
9069
+ // ----- nextjs/no-html-link-for-pages -----
9070
+ type NextjsNoHtmlLinkForPages = []|[(string | string[])]
8957
9071
  // ----- no-bitwise -----
8958
9072
  type NoBitwise = []|[{
8959
9073
  allow?: ("^" | "|" | "&" | "<<" | ">>" | ">>>" | "^=" | "|=" | "&=" | "<<=" | ">>=" | ">>>=" | "~")[]
@@ -8973,7 +9087,7 @@ type NoConsole = []|[{
8973
9087
  }]
8974
9088
  // ----- no-constant-condition -----
8975
9089
  type NoConstantCondition = []|[{
8976
- checkLoops?: boolean
9090
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
8977
9091
  }]
8978
9092
  // ----- no-duplicate-imports -----
8979
9093
  type NoDuplicateImports = []|[{
@@ -9325,6 +9439,27 @@ type NodeFileExtensionInImport = []|[("always" | "never")]|[("always" | "never")
9325
9439
  }]
9326
9440
  // ----- node/handle-callback-err -----
9327
9441
  type NodeHandleCallbackErr = []|[string]
9442
+ // ----- node/hashbang -----
9443
+ type NodeHashbang = []|[{
9444
+ convertPath?: ({
9445
+
9446
+ [k: string]: [string, string]
9447
+ } | [{
9448
+
9449
+ include: [string, ...(string)[]]
9450
+ exclude?: string[]
9451
+
9452
+ replace: [string, string]
9453
+ }, ...({
9454
+
9455
+ include: [string, ...(string)[]]
9456
+ exclude?: string[]
9457
+
9458
+ replace: [string, string]
9459
+ })[]])
9460
+ ignoreUnpublished?: boolean
9461
+ additionalExecutables?: string[]
9462
+ }]
9328
9463
  // ----- node/no-deprecated-api -----
9329
9464
  type NodeNoDeprecatedApi = []|[{
9330
9465
  version?: string
@@ -9385,8 +9520,9 @@ type NodeNoHideCoreModules = []|[{
9385
9520
  type NodeNoMissingImport = []|[{
9386
9521
  allowModules?: string[]
9387
9522
  resolvePaths?: string[]
9388
- typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"))
9523
+ tryExtensions?: string[]
9389
9524
  tsconfigPath?: string
9525
+ typescriptExtensionMap?: (unknown[][] | ("react" | "react-jsx" | "react-jsxdev" | "react-native" | "preserve"))
9390
9526
  }]
9391
9527
  // ----- node/no-missing-require -----
9392
9528
  type NodeNoMissingRequire = []|[{
@@ -9479,25 +9615,20 @@ type NodeNoUnpublishedRequire = []|[{
9479
9615
  resolvePaths?: string[]
9480
9616
  tryExtensions?: string[]
9481
9617
  }]
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
9618
  // ----- node/no-unsupported-features/es-builtins -----
9488
9619
  type NodeNoUnsupportedFeaturesEsBuiltins = []|[{
9489
9620
  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")[]
9621
+ 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
9622
  }]
9492
9623
  // ----- node/no-unsupported-features/es-syntax -----
9493
9624
  type NodeNoUnsupportedFeaturesEsSyntax = []|[{
9494
9625
  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")[]
9626
+ 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
9627
  }]
9497
9628
  // ----- node/no-unsupported-features/node-builtins -----
9498
9629
  type NodeNoUnsupportedFeaturesNodeBuiltins = []|[{
9499
9630
  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")[]
9631
+ 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
9632
  }]
9502
9633
  // ----- node/prefer-global/buffer -----
9503
9634
  type NodePreferGlobalBuffer = []|[("always" | "never")]
@@ -9513,6 +9644,10 @@ type NodePreferGlobalTextEncoder = []|[("always" | "never")]
9513
9644
  type NodePreferGlobalUrl = []|[("always" | "never")]
9514
9645
  // ----- node/prefer-global/url-search-params -----
9515
9646
  type NodePreferGlobalUrlSearchParams = []|[("always" | "never")]
9647
+ // ----- node/prefer-node-protocol -----
9648
+ type NodePreferNodeProtocol = []|[{
9649
+ version?: string
9650
+ }]
9516
9651
  // ----- node/shebang -----
9517
9652
  type NodeShebang = []|[{
9518
9653
  convertPath?: ({
@@ -9531,6 +9666,8 @@ type NodeShebang = []|[{
9531
9666
 
9532
9667
  replace: [string, string]
9533
9668
  })[]])
9669
+ ignoreUnpublished?: boolean
9670
+ additionalExecutables?: string[]
9534
9671
  }]
9535
9672
  // ----- nonblock-statement-body-position -----
9536
9673
  type NonblockStatementBodyPosition = []|[("beside" | "below" | "any")]|[("beside" | "below" | "any"), {
@@ -9629,509 +9766,94 @@ type PaddingLineBetweenStatements = {
9629
9766
  next: _PaddingLineBetweenStatementsStatementType
9630
9767
  }[]
9631
9768
  // ----- prefer-arrow-callback -----
9632
- type PreferArrowCallback = []|[{
9633
- allowNamedFunctions?: boolean
9634
- allowUnboundThis?: boolean
9635
- }]
9636
- // ----- prefer-const -----
9637
- type PreferConst = []|[{
9638
- destructuring?: ("any" | "all")
9639
- ignoreReadBeforeAssign?: boolean
9640
- }]
9641
- // ----- prefer-destructuring -----
9642
- type PreferDestructuring = []|[({
9643
- 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
9829
- }
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
9838
- }
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
- } | {
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
9769
+ type PreferArrowCallback = []|[{
9770
+ allowNamedFunctions?: boolean
9771
+ allowUnboundThis?: boolean
9878
9772
  }]
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
9773
+ // ----- prefer-const -----
9774
+ type PreferConst = []|[{
9775
+ destructuring?: ("any" | "all")
9776
+ ignoreReadBeforeAssign?: boolean
9894
9777
  }]
9895
- // ----- react/jsx-max-props-per-line -----
9896
- type ReactJsxMaxPropsPerLine = []|[({
9897
- maximum?: {
9898
- single?: number
9899
- multi?: number
9900
- [k: string]: unknown | undefined
9778
+ // ----- prefer-destructuring -----
9779
+ type PreferDestructuring = []|[({
9780
+ VariableDeclarator?: {
9781
+ array?: boolean
9782
+ object?: boolean
9783
+ }
9784
+ AssignmentExpression?: {
9785
+ array?: boolean
9786
+ object?: boolean
9901
9787
  }
9902
9788
  } | {
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
9789
+ array?: boolean
9790
+ object?: boolean
9791
+ })]|[({
9792
+ VariableDeclarator?: {
9793
+ array?: boolean
9794
+ object?: boolean
9795
+ }
9796
+ AssignmentExpression?: {
9797
+ array?: boolean
9798
+ object?: boolean
9799
+ }
9800
+ } | {
9801
+ array?: boolean
9802
+ object?: boolean
9803
+ }), {
9804
+ enforceForRenamedProperties?: boolean
9918
9805
  }]
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
9806
+ // ----- prefer-promise-reject-errors -----
9807
+ type PreferPromiseRejectErrors = []|[{
9808
+ allowEmptyReject?: boolean
9926
9809
  }]
9927
- // ----- react/jsx-no-leaked-render -----
9928
- type ReactJsxNoLeakedRender = []|[{
9929
- validStrategies?: ("ternary" | "coerce")[]
9810
+ // ----- prefer-reflect -----
9811
+ type PreferReflect = []|[{
9812
+ exceptions?: ("apply" | "call" | "delete" | "defineProperty" | "getOwnPropertyDescriptor" | "getPrototypeOf" | "setPrototypeOf" | "isExtensible" | "getOwnPropertyNames" | "preventExtensions")[]
9930
9813
  }]
9931
- // ----- react/jsx-no-literals -----
9932
- type ReactJsxNoLiterals = []|[{
9933
- noStrings?: boolean
9934
- allowedStrings?: string[]
9935
- ignoreProps?: boolean
9936
- noAttributeStrings?: boolean
9814
+ // ----- prefer-regex-literals -----
9815
+ type PreferRegexLiterals = []|[{
9816
+ disallowRedundantWrapping?: boolean
9937
9817
  }]
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
9818
+ // ----- quote-props -----
9819
+ type QuoteProps = ([]|[("always" | "as-needed" | "consistent" | "consistent-as-needed")] | []|[("always" | "as-needed" | "consistent" | "consistent-as-needed")]|[("always" | "as-needed" | "consistent" | "consistent-as-needed"), {
9820
+ keywords?: boolean
9821
+ unnecessary?: boolean
9822
+ numbers?: boolean
9951
9823
  }])
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
9824
+ // ----- quotes -----
9825
+ type Quotes = []|[("single" | "double" | "backtick")]|[("single" | "double" | "backtick"), ("avoid-escape" | {
9826
+ avoidEscape?: boolean
9827
+ allowTemplateLiterals?: boolean
9989
9828
  })]
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
9829
+ // ----- radix -----
9830
+ type Radix = []|[("always" | "as-needed")]
9831
+ // ----- react-hooks/exhaustive-deps -----
9832
+ type ReactHooksExhaustiveDeps = []|[{
9833
+ additionalHooks?: string
9834
+ enableDangerousAutofixThisMayCauseInfiniteLoops?: boolean
10110
9835
  }]
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
9836
+ // ----- react-naming-convention/component-name -----
9837
+ type ReactNamingConventionComponentName = []|[(("PascalCase" | "CONSTANT_CASE") | {
9838
+ excepts?: string[]
9839
+ rule?: ("PascalCase" | "CONSTANT_CASE")
9840
+ })]
9841
+ // ----- react-naming-convention/filename -----
9842
+ type ReactNamingConventionFilename = []|[(("PascalCase" | "camelCase" | "kebab-case" | "snake_case") | {
9843
+ excepts?: string[]
9844
+ extensions?: string[]
9845
+ rule?: ("PascalCase" | "camelCase" | "kebab-case" | "snake_case")
9846
+ })]
9847
+ // ----- react-naming-convention/filename-extension -----
9848
+ type ReactNamingConventionFilenameExtension = []|[(("always" | "as-needed") | {
9849
+ allow?: ("always" | "as-needed")
9850
+ extensions?: string[]
9851
+ })]
9852
+ // ----- react-refresh/only-export-components -----
9853
+ type ReactRefreshOnlyExportComponents = []|[{
9854
+ allowConstantExport?: boolean
9855
+ checkJS?: boolean
9856
+ allowExportNames?: string[]
10135
9857
  }]
10136
9858
  // ----- require-atomic-updates -----
10137
9859
  type RequireAtomicUpdates = []|[{
@@ -10455,6 +10177,8 @@ interface _StyleJsxCurlySpacing_BasicConfig {
10455
10177
  type StyleJsxEqualsSpacing = []|[("always" | "never")]
10456
10178
  // ----- style/jsx-first-prop-new-line -----
10457
10179
  type StyleJsxFirstPropNewLine = []|[("always" | "never" | "multiline" | "multiline-multiprop" | "multiprop")]
10180
+ // ----- style/jsx-function-call-newline -----
10181
+ type StyleJsxFunctionCallNewline = []|[("always" | "multiline")]
10458
10182
  // ----- style/jsx-indent -----
10459
10183
  type StyleJsxIndent = []|[("tab" | number)]|[("tab" | number), {
10460
10184
  checkAttributes?: boolean
@@ -10484,7 +10208,7 @@ type StyleJsxNewline = []|[{
10484
10208
  }]
10485
10209
  // ----- style/jsx-one-expression-per-line -----
10486
10210
  type StyleJsxOneExpressionPerLine = []|[{
10487
- allow?: ("none" | "literal" | "single-child")
10211
+ allow?: ("none" | "literal" | "single-child" | "single-line")
10488
10212
  }]
10489
10213
  // ----- style/jsx-pascal-case -----
10490
10214
  type StyleJsxPascalCase = []|[{
@@ -10527,6 +10251,7 @@ type StyleJsxWrapMultilines = []|[{
10527
10251
  condition?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10528
10252
  logical?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10529
10253
  prop?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10254
+ propertyValue?: ((true | false | "ignore" | "parens" | "parens-new-line") | (true | false | "ignore" | "parens" | "parens-new-line"))
10530
10255
  }]
10531
10256
  // ----- style/key-spacing -----
10532
10257
  type StyleKeySpacing = []|[({
@@ -11248,6 +10973,156 @@ type StyleYieldStarSpacing = []|[(("before" | "after" | "both" | "neither") | {
11248
10973
  before?: boolean
11249
10974
  after?: boolean
11250
10975
  })]
10976
+ // ----- svelte/@typescript-eslint/no-unnecessary-condition -----
10977
+ type SvelteTypescriptEslintNoUnnecessaryCondition = []|[{
10978
+
10979
+ allowConstantLoopConditions?: boolean
10980
+
10981
+ allowRuleToRunWithoutStrictNullChecksIKnowWhatIAmDoing?: boolean
10982
+ }]
10983
+ // ----- svelte/block-lang -----
10984
+ type SvelteBlockLang = []|[{
10985
+ enforceScriptPresent?: boolean
10986
+ enforceStylePresent?: boolean
10987
+ script?: ((string | null) | [(string | null), ...((string | null))[]])
10988
+ style?: ((string | null) | [(string | null), ...((string | null))[]])
10989
+ }]
10990
+ // ----- svelte/button-has-type -----
10991
+ type SvelteButtonHasType = []|[{
10992
+ button?: boolean
10993
+ submit?: boolean
10994
+ reset?: boolean
10995
+ }]
10996
+ // ----- svelte/comment-directive -----
10997
+ type SvelteCommentDirective = []|[{
10998
+ reportUnusedDisableDirectives?: boolean
10999
+ }]
11000
+ // ----- svelte/first-attribute-linebreak -----
11001
+ type SvelteFirstAttributeLinebreak = []|[{
11002
+ multiline?: ("below" | "beside")
11003
+ singleline?: ("below" | "beside")
11004
+ }]
11005
+ // ----- svelte/html-closing-bracket-spacing -----
11006
+ type SvelteHtmlClosingBracketSpacing = []|[{
11007
+ startTag?: ("always" | "never" | "ignore")
11008
+ endTag?: ("always" | "never" | "ignore")
11009
+ selfClosingTag?: ("always" | "never" | "ignore")
11010
+ }]
11011
+ // ----- svelte/html-quotes -----
11012
+ type SvelteHtmlQuotes = []|[{
11013
+ prefer?: ("double" | "single")
11014
+ dynamic?: {
11015
+ quoted?: boolean
11016
+ avoidInvalidUnquotedInHTML?: boolean
11017
+ }
11018
+ }]
11019
+ // ----- svelte/html-self-closing -----
11020
+ type SvelteHtmlSelfClosing = []|[({
11021
+ void?: ("never" | "always" | "ignore")
11022
+ normal?: ("never" | "always" | "ignore")
11023
+ component?: ("never" | "always" | "ignore")
11024
+ svelte?: ("never" | "always" | "ignore")
11025
+ } | ("all" | "html" | "none"))]
11026
+ // ----- svelte/indent -----
11027
+ type SvelteIndent = []|[{
11028
+ indent?: (number | "tab")
11029
+ indentScript?: boolean
11030
+ switchCase?: number
11031
+ alignAttributesVertically?: boolean
11032
+ ignoredNodes?: (string & {
11033
+ [k: string]: unknown | undefined
11034
+ } & {
11035
+ [k: string]: unknown | undefined
11036
+ })[]
11037
+ }]
11038
+ // ----- svelte/max-attributes-per-line -----
11039
+ type SvelteMaxAttributesPerLine = []|[{
11040
+ multiline?: number
11041
+ singleline?: number
11042
+ }]
11043
+ // ----- svelte/mustache-spacing -----
11044
+ type SvelteMustacheSpacing = []|[{
11045
+ textExpressions?: ("never" | "always")
11046
+ attributesAndProps?: ("never" | "always")
11047
+ directiveExpressions?: ("never" | "always")
11048
+ tags?: {
11049
+ openingBrace?: ("never" | "always")
11050
+ closingBrace?: ("never" | "always" | "always-after-expression")
11051
+ }
11052
+ }]
11053
+ // ----- svelte/no-inline-styles -----
11054
+ type SvelteNoInlineStyles = []|[{
11055
+ allowTransitions?: boolean
11056
+ }]
11057
+ // ----- svelte/no-inner-declarations -----
11058
+ type SvelteNoInnerDeclarations = []|[("functions" | "both")]|[("functions" | "both"), {
11059
+ blockScopedFunctions?: ("allow" | "disallow")
11060
+ }]
11061
+ // ----- svelte/no-reactive-reassign -----
11062
+ type SvelteNoReactiveReassign = []|[{
11063
+ props?: boolean
11064
+ }]
11065
+ // ----- svelte/no-restricted-html-elements -----
11066
+ type SvelteNoRestrictedHtmlElements = [(string | {
11067
+
11068
+ elements?: [string, ...(string)[]]
11069
+ message?: string
11070
+ }), ...((string | {
11071
+
11072
+ elements?: [string, ...(string)[]]
11073
+ message?: string
11074
+ }))[]]
11075
+ // ----- svelte/no-target-blank -----
11076
+ type SvelteNoTargetBlank = []|[{
11077
+ allowReferrer?: boolean
11078
+ enforceDynamicLinks?: ("always" | "never")
11079
+ }]
11080
+ // ----- svelte/no-trailing-spaces -----
11081
+ type SvelteNoTrailingSpaces = []|[{
11082
+ skipBlankLines?: boolean
11083
+ ignoreComments?: boolean
11084
+ }]
11085
+ // ----- svelte/no-unknown-style-directive-property -----
11086
+ type SvelteNoUnknownStyleDirectiveProperty = []|[{
11087
+
11088
+ ignoreProperties?: [string, ...(string)[]]
11089
+ ignorePrefixed?: boolean
11090
+ }]
11091
+ // ----- svelte/no-unused-class-name -----
11092
+ type SvelteNoUnusedClassName = []|[{
11093
+ allowedClassNames?: string[]
11094
+ }]
11095
+ // ----- svelte/no-useless-mustaches -----
11096
+ type SvelteNoUselessMustaches = []|[{
11097
+ ignoreIncludesComment?: boolean
11098
+ ignoreStringEscape?: boolean
11099
+ }]
11100
+ // ----- svelte/prefer-class-directive -----
11101
+ type SveltePreferClassDirective = []|[{
11102
+ prefer?: ("always" | "empty")
11103
+ }]
11104
+ // ----- svelte/shorthand-attribute -----
11105
+ type SvelteShorthandAttribute = []|[{
11106
+ prefer?: ("always" | "never")
11107
+ }]
11108
+ // ----- svelte/shorthand-directive -----
11109
+ type SvelteShorthandDirective = []|[{
11110
+ prefer?: ("always" | "never")
11111
+ }]
11112
+ // ----- svelte/sort-attributes -----
11113
+ type SvelteSortAttributes = []|[{
11114
+ order?: (string | [string, ...(string)[]] | {
11115
+ match: (string | [string, ...(string)[]])
11116
+ sort: ("alphabetical" | "ignore")
11117
+ })[]
11118
+ alphabetical?: boolean
11119
+ }]
11120
+ // ----- svelte/spaced-html-comment -----
11121
+ type SvelteSpacedHtmlComment = []|[("always" | "never")]
11122
+ // ----- svelte/valid-compile -----
11123
+ type SvelteValidCompile = []|[{
11124
+ ignoreWarnings?: boolean
11125
+ }]
11251
11126
  // ----- switch-colon-spacing -----
11252
11127
  type SwitchColonSpacing = []|[{
11253
11128
  before?: boolean
@@ -11364,6 +11239,10 @@ type TestMaxExpects = []|[{
11364
11239
  type TestMaxNestedDescribe = []|[{
11365
11240
  max?: number
11366
11241
  }]
11242
+ // ----- test/no-focused-tests -----
11243
+ type TestNoFocusedTests = []|[{
11244
+ fixable?: boolean
11245
+ }]
11367
11246
  // ----- test/no-hooks -----
11368
11247
  type TestNoHooks = []|[{
11369
11248
  allow?: unknown[]
@@ -13985,7 +13864,7 @@ type VueNoConsole = []|[{
13985
13864
  }]
13986
13865
  // ----- vue/no-constant-condition -----
13987
13866
  type VueNoConstantCondition = []|[{
13988
- checkLoops?: boolean
13867
+ checkLoops?: ("all" | "allExceptWhileTrue" | "none" | true | false)
13989
13868
  }]
13990
13869
  // ----- vue/no-deprecated-model-definition -----
13991
13870
  type VueNoDeprecatedModelDefinition = []|[{
@@ -14651,6 +14530,8 @@ type Yoda = []|[("always" | "never")]|[("always" | "never"), {
14651
14530
  exceptRange?: boolean
14652
14531
  onlyEquality?: boolean
14653
14532
  }]
14533
+ // Names of all the configs
14534
+ 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
14535
 
14655
14536
  declare function comments(): Promise<TypedFlatConfigItem[]>;
14656
14537
 
@@ -14688,6 +14569,32 @@ interface StylisticOptions {
14688
14569
  }
14689
14570
  declare function stylistic(options?: StylisticOptions): Promise<TypedFlatConfigItem[]>;
14690
14571
 
14572
+ interface SvelteOptions {
14573
+ /**
14574
+ * Override rules.
14575
+ */
14576
+ overrides?: TypedFlatConfigItem['rules'];
14577
+ /**
14578
+ * Enable TypeScript support.
14579
+ *
14580
+ * @default true
14581
+ */
14582
+ typescript?: boolean;
14583
+ /**
14584
+ * Enable stylistic rules.
14585
+ *
14586
+ * @default true
14587
+ */
14588
+ stylistic?: boolean | StylisticConfig;
14589
+ /**
14590
+ * Glob patterns for Svelte files.
14591
+ *
14592
+ * @default
14593
+ */
14594
+ files?: string[];
14595
+ }
14596
+ declare function svelte(options?: SvelteOptions): Promise<TypedFlatConfigItem[]>;
14597
+
14691
14598
  interface ImportsOptions {
14692
14599
  /**
14693
14600
  * Enable stylistic rules.
@@ -14739,7 +14646,7 @@ interface JSONOptions {
14739
14646
  /**
14740
14647
  * Glob patterns for JSON files.
14741
14648
  *
14742
- * @default [GLOB_JSON, GLOB_JSON5, GLOB_JSONC]
14649
+ * @default [GLOB_JSON,GLOB_JSON5,GLOB_JSONC]
14743
14650
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14744
14651
  */
14745
14652
  files?: string[];
@@ -14788,13 +14695,13 @@ interface TypeScriptOptions {
14788
14695
  /**
14789
14696
  * Glob patterns for TypeScript files.
14790
14697
  *
14791
- * @default GLOB_SRC
14698
+ * @default [GLOB_SRC]
14792
14699
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14793
14700
  */
14794
14701
  files?: string[];
14795
14702
  /**
14796
14703
  * Glob patterns for files that should be type aware.
14797
- * @default ['**\/*.{ts,tsx}']
14704
+ * @default [GLOB_SRC]
14798
14705
  */
14799
14706
  typeAwareFileS?: string[];
14800
14707
  /**
@@ -14831,7 +14738,7 @@ interface VueOptions {
14831
14738
  /**
14832
14739
  * Glob patterns for Vue files.
14833
14740
  *
14834
- * @default GLOB_VUE
14741
+ * @default [GLOB_VUE]
14835
14742
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14836
14743
  */
14837
14744
  files?: string[];
@@ -14852,7 +14759,7 @@ interface YAMLOptions {
14852
14759
  /**
14853
14760
  * Glob patterns for YAML files.
14854
14761
  *
14855
- * @default GLOB_YAML
14762
+ * @default [GLOB_YAML]
14856
14763
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14857
14764
  */
14858
14765
  files?: string[];
@@ -14869,7 +14776,7 @@ interface TestOptions {
14869
14776
  /**
14870
14777
  * Glob patterns for test files.
14871
14778
  *
14872
- * @default GLOB_TESTS
14779
+ * @default [GLOB_TESTS]
14873
14780
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14874
14781
  */
14875
14782
  files?: string[];
@@ -14896,7 +14803,7 @@ interface UnoCSSOptions {
14896
14803
  /**
14897
14804
  * Glob patterns for files that includes unocss classes.
14898
14805
  *
14899
- * @default GLOB_SRC
14806
+ * @default [GLOB_SRC]
14900
14807
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14901
14808
  */
14902
14809
  files?: string[];
@@ -14935,30 +14842,14 @@ interface ReactOptions {
14935
14842
  */
14936
14843
  overrides?: TypedFlatConfigItem['rules'];
14937
14844
  /**
14938
- * Enable TypeScript support.
14939
- *
14940
- * @default true
14941
- */
14942
- typescript?: boolean;
14943
- /**
14944
- * Enable JSX A11y support.
14945
- *
14946
- * @default false
14947
- */
14948
- a11y?: boolean;
14949
- /**
14950
- * Enable React Refresh support.
14951
- *
14952
- * NOTE:
14953
- * If you are using NextJS, you should disable this option.
14954
- *
14955
- * @default true
14845
+ * When this options is provided, type aware rules will be enabled.
14846
+ * @see https://typescript-eslint.io/linting/typed-linting/
14956
14847
  */
14957
- refresh?: boolean;
14848
+ tsconfigPath?: string | string[];
14958
14849
  /**
14959
14850
  * Glob patterns for JSX & TSX files.
14960
14851
  *
14961
- * @default [GLOB_JSX, GLOB_TSX]
14852
+ * @default [GLOB_JSX,GLOB_TSX]
14962
14853
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
14963
14854
  */
14964
14855
  files?: string[];
@@ -15184,10 +15075,15 @@ interface SolidOptions {
15184
15075
  * @default true
15185
15076
  */
15186
15077
  typescript?: boolean;
15078
+ /**
15079
+ * When this options is provided, type aware rules will be enabled.
15080
+ * @see https://typescript-eslint.io/linting/typed-linting/
15081
+ */
15082
+ tsconfigPath?: string | string[];
15187
15083
  /**
15188
15084
  * Glob patterns for JSX & TSX files.
15189
15085
  *
15190
- * @default [GLOB_JSX, GLOB_TSX]
15086
+ * @default [GLOB_JSX,GLOB_TSX]
15191
15087
  * @see https://github.com/luxass/eslint-config/blob/main/src/globs.ts
15192
15088
  */
15193
15089
  files?: string[];
@@ -15196,21 +15092,14 @@ declare function solid(options?: SolidOptions): Promise<TypedFlatConfigItem[]>;
15196
15092
 
15197
15093
  type Awaitable<T> = T | Promise<T>;
15198
15094
  type Rules = RuleOptions;
15199
- type TypedFlatConfigItem = Omit<Linter.FlatConfig, 'plugins'> & {
15200
- /**
15201
- * Custom name of each config item
15202
- */
15203
- name?: string;
15095
+
15096
+ type TypedFlatConfigItem = Omit<Linter.FlatConfig<Linter.RulesRecord & Rules>, 'plugins'> & {
15204
15097
  /**
15205
15098
  * 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.
15206
15099
  *
15207
15100
  * @see [Using plugins in your configuration](https://eslint.org/docs/latest/user-guide/configuring/configuration-files-new#using-plugins-in-your-configuration)
15208
15101
  */
15209
15102
  plugins?: Record<string, any>;
15210
- /**
15211
- * An object containing a name-value mapping of rules to use.
15212
- */
15213
- rules?: Linter.RulesRecord & Rules;
15214
15103
  };
15215
15104
  type UserConfigItem = TypedFlatConfigItem | Linter.FlatConfig;
15216
15105
  interface ConfigOptions {
@@ -15271,7 +15160,7 @@ interface ConfigOptions {
15271
15160
  * Enable react rules.
15272
15161
  *
15273
15162
  * Requires installing:
15274
- * - `eslint-plugin-react`
15163
+ * - `@eslint-react/eslint-plugin`
15275
15164
  * - `eslint-plugin-react-hooks`
15276
15165
  * - `eslint-plugin-react-refresh`
15277
15166
  *
@@ -15373,6 +15262,15 @@ interface ConfigOptions {
15373
15262
  * @default false
15374
15263
  */
15375
15264
  solid?: boolean | SolidOptions;
15265
+ /**
15266
+ * Enable Svelte support.
15267
+ *
15268
+ * Requires installing:
15269
+ * - `eslint-plugin-svelte`
15270
+ *
15271
+ * @default false
15272
+ */
15273
+ svelte?: boolean | SvelteOptions;
15376
15274
  /**
15377
15275
  * Automatically rename plugins in the config.
15378
15276
  *
@@ -15391,7 +15289,7 @@ interface ConfigOptions {
15391
15289
  * @returns {Promise<TypedFlatConfigItem[]>}
15392
15290
  * The merged ESLint configurations.
15393
15291
  */
15394
- declare function luxass(options?: ConfigOptions & TypedFlatConfigItem, ...userConfigs: Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[] | FlatConfigComposer<any> | Linter.FlatConfig[]>[]): FlatConfigComposer<TypedFlatConfigItem>;
15292
+ declare function luxass(options?: ConfigOptions & TypedFlatConfigItem, ...userConfigs: Awaitable<TypedFlatConfigItem | TypedFlatConfigItem[] | FlatConfigComposer<any, ConfigNames> | Linter.FlatConfig[]>[]): FlatConfigComposer<TypedFlatConfigItem, ConfigNames>;
15395
15293
 
15396
15294
  declare const GLOB_SRC_EXT = "?([cm])[jt]s?(x)";
15397
15295
  declare const GLOB_SRC = "**/*.?([cm])[jt]s?(x)";
@@ -15409,6 +15307,7 @@ declare const GLOB_JSON5 = "**/*.json5";
15409
15307
  declare const GLOB_JSONC = "**/*.jsonc";
15410
15308
  declare const GLOB_MARKDOWN = "**/*.md";
15411
15309
  declare const GLOB_MARKDOWN_IN_MARKDOWN = "**/*.md/*.md";
15310
+ declare const GLOB_SVELTE = "**/*.svelte";
15412
15311
  declare const GLOB_VUE = "**/*.vue";
15413
15312
  declare const GLOB_YAML = "**/*.y?(a)ml";
15414
15313
  declare const GLOB_TOML = "**/*.toml";
@@ -15462,4 +15361,4 @@ type ResolvedOptions<T> = T extends boolean ? never : NonNullable<T>;
15462
15361
  declare function resolveSubOptions<K extends keyof ConfigOptions>(options: ConfigOptions, key: K): ResolvedOptions<ConfigOptions[K]>;
15463
15362
  declare function getOverrides<K extends keyof ConfigOptions>(options: ConfigOptions, key: K): any;
15464
15363
 
15465
- 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 };
15364
+ 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 };